Odata-service(Serviceimplementierung)

Getting started ... Alles für einen gelungenen Start.
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Odata-service(Serviceimplementierung)

Beitrag von CSZ_Berater (ForumUser / 13 / 5 / 1 ) »
Moin an Alle :)

Code: Alles auswählen.

 method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_ENTITY.
**TRY.
*CALL METHOD SUPER->/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_ENTITY
*  EXPORTING
**    iv_entity_name          =
**    iv_entity_set_name      =
**    iv_source_name          =
*    IO_DATA_PROVIDER        =
**    it_key_tab              =
**    it_navigation_path      =
**    io_tech_request_context =
**  IMPORTING
**    er_entity               =
*    .
** CATCH /iwbep/cx_mgw_busi_exception .
** CATCH /iwbep/cx_mgw_tech_exception .
**ENDTRY.
* Create a record
  DATA: ls_request_input_NK TYPE ZCL_Z_BOPFWELT2019_MPC=>TS_STROMAMMEER_NEUERKUNDE,
          ls_stromkunde TYPE ZDATBANKT_STROM9. "==>>> meine Transp.Tabelle

*Daten lesen
    io_data_provider->read_entry_data( IMPORTING es_data = ls_request_input_NK ).

*Arbeitsbereich füllen
    ls_stromkunde-vorname = ls_request_input_NK-vorname.
    ls_stromkunde-name = ls_request_input_NK-name.
    ls_stromkunde-ort = ls_request_input_NK-ort.
    ls_stromkunde-strasse = ls_request_input_NK-strasse.
    ls_stromkunde-auftrag = ls_request_input_NK-strasse.
    ls_stromkunde-alter_lieferant = ls_request_input_NK-alter_lieferant.
    ls_stromkunde-VERTEILNETZBETREIBER = ls_request_input_NK-VERTEILNETZBETREIBER.
    ls_stromkunde-ENERGIE = ls_request_input_NK-ENERGIE.
    ls_stromkunde-ENERGIEKATEGORIE = ls_request_input_NK-ENERGIEKATEGORIE.
    ls_stromkunde-BERATER = ls_request_input_NK-BERATER.
    ls_stromkunde-CREA_DATE_TIME = ls_request_input_NK-CREA_DATE_TIME.
    ls_stromkunde-CREA_UNAME = ls_request_input_NK-CREA_UNAME.
    ls_stromkunde-LCHG_DATE_TIME =   ls_request_input_NK-LCHG_DATE_TIME.
    ls_stromkunde-LCHG_UNAME = ls_request_input_NK-LCHG_UNAME.

*meine interne Tabelle füllen
    INSERT ZDATBANKT_STROM9 FROM ls_stromkunde.
    IF sy-subrc = 0.
      er_entity = ls_request_input_NK.
    ENDIF.
  endmethod.
>>>Als Fehlermeldung bekomme ich : Der Typ von "Ls_Request_input_nk" ist nicht in den Typ von "Er_entity" konvertierbar
echt keine ahnung wie ich es machen soll...
HAT EINER AHNUNG WIE ICH DEN FEHLER BESEITIGEN KANN ?
DANKE IM VORAUS:)

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Odata-service(Serviceimplementierung)

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin.
Wie ist denn ER_ENTITY definiert ? Als Referenz oder Struktur ?

Probier mal z.B.:

Code: Alles auswählen.

 er_entity-vorname = ls_request_input_NK-vorname.
 er_entity-name = ls_request_input_NK-name.
     :
     :
ob das akzeptiert wird.

Es gibt mehere Wege einen Odata Service zu implementiern.
Ist dieser Service mit der Transaktion SEGW angelegt worden , oder über Klassen manuell ?
Beide Methoden haben eine unterschiedliche der Parameterübergabe.

gruß Jens
https://mission-mobile.de/sap-fiori/oda ... n-teil-24/

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
CSZ_Berater

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Odata-service(Serviceimplementierung)

Beitrag von CSZ_Berater (ForumUser / 13 / 5 / 1 ) »
Tron hat geschrieben:Moin.
Wie ist denn ER_ENTITY definiert ? Als Referenz oder Struktur ?

Probier mal z.B.:

Code: Alles auswählen.

 er_entity-vorname = ls_request_input_NK-vorname.
 er_entity-name = ls_request_input_NK-name.
     :
     :
ob das akzeptiert wird.

Es gibt mehere Wege einen Odata Service zu implementiern.
Ist dieser Service mit der Transaktion SEGW angelegt worden , oder über Klassen manuell ?
Beide Methoden haben eine unterschiedliche der Parameterübergabe.

gruß Jens
https://mission-mobile.de/sap-fiori/oda ... n-teil-24/
>>>> Er_entity wird wie folgt deklariert : ER_ENTITY type ref to DATA

Re: Odata-service(Serviceimplementierung)

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
.. so denn.
Es geht nun darum, die Referenz er_entity einem Feldsymbol zuzuweisen.
Beispiel mit VBAK:

Code: Alles auswählen.

    field-symbols:  <fs_sohdr> type vbak.
* Create the output data structure and assign its fields to
* the field symbol
    create data er_entity type z_quotation_model_01=>s_so_hdr.
    assign er_entity->* to <fs_sohdr>.

    <fs_sohdr>-vbeln = ls_vbak-vbeln.
    <fs_sohdr>-auart = ls_vbak-auart.
    <fs_sohdr>-audat = ls_vbak-audat.
            :
            :
            :
kriegste das hin mit ZDATBANKT_STROM9 ?

gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
CSZ_Berater

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Odata-service(Serviceimplementierung)

Beitrag von CSZ_Berater (ForumUser / 13 / 5 / 1 ) »
Tron hat geschrieben:.. so denn.
Es geht nun darum, die Referenz er_entity einem Feldsymbol zuzuweisen.
Beispiel mit VBAK:

Code: Alles auswählen.

    field-symbols:  <fs_sohdr> type vbak.
* Create the output data structure and assign its fields to
* the field symbol
    create data er_entity type z_quotation_model_01=>s_so_hdr.
    assign er_entity->* to <fs_sohdr>.

    <fs_sohdr>-vbeln = ls_vbak-vbeln.
    <fs_sohdr>-auart = ls_vbak-auart.
    <fs_sohdr>-audat = ls_vbak-audat.
            :
            :
            :
kriegste das hin mit ZDATBANKT_STROM9 ?

gruß Jens
>>>> Ne leider nicht.
Ich versuche mal eben diesen Vorschlag.
sollte so aussehen meinst du ??? :

Code: Alles auswählen.

field-symbols:  <fs_sohdr> type ZDATBANKT_STROM9."wobei ZDATBANKT_STROM9 meine transp.tabelle ist 
 create data er_entity type ZCL_Z_BOPFWELT2019_MPC=>TS_STROMAMMEER_NEUERKUNDE.
  assign er_entity->* to <fs_sohdr>.
 <fs_sohdr>-vorname = ls_vbak-vorname "ls_vbak ist die Struktur von Vbak richtig ???
... 
Danke im Voraus ::)

Folgende Benutzer bedankten sich beim Autor CSZ_Berater für den Beitrag:
moo_jo


Re: Odata-service(Serviceimplementierung)

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
... ich dachte da an:

Code: Alles auswählen.

  DATA: ls_request_input_NK TYPE ZCL_Z_BOPFWELT2019_MPC=>TS_STROMAMMEER_NEUERKUNDE,
          ls_stromkunde TYPE ZDATBANKT_STROM9. "==>>> meine Transp.Tabelle
     :
     :     
    field-symbols:  <ls_stromkunde> type ZDATBANKT_STROM9.
* Create the output data structure and assign its fields to
* the field symbol
    create data er_entity type ZCL_Z_BOPFWELT2019_MPC=>TS_STROMAMMEER_NEUERKUNDE.
    assign er_entity->* to <ls_stromkunde>.

*Arbeitsbereich füllen
    <ls_stromkunde>-vorname = ls_request_input_NK-vorname.
    <ls_stromkunde>-name = ls_request_input_NK-name.
     :
     :    
    
gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
CSZ_Berater

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Odata-service(Serviceimplementierung)

Beitrag von CSZ_Berater (ForumUser / 13 / 5 / 1 ) »
Ich bekomme immernoch die Fehlermeldung : Der Typ von "LS_REQUEST_INPUT_NK" ist nicht in den Typ "Er_Entity" konvertierbar. :(
Trotzdem echt vielen Dank für deine Zeit und Hilfe.

Re: Odata-service(Serviceimplementierung)

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Ach herje.
Das Feldsymbold ist doch schon mit er_entity verknüpft und alle Werte werden
mit <ls_stromkunde>-vorname = ls_request_input_NK-vorname ... schon übergeben.
Daher ist Zeile 44 : er_entity = ls_request_input_nk überflüssig.
(in der Annahme das ls_request_input_nk auch wirklich eine Struktur ist und nicht eine Tabelle.)
Du solltest mal debuggen.

gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

6
Antw.
5006
Views
HANA Cloud Platform - XS App mit OData Service
von KaiP » 15.06.2015 15:48 • Verfasst in SAP HANA für Anfänger
0
Antw.
1221
Views
OData, ALE, RFC, BAPIs...
von Lord » 15.06.2016 11:12 • Verfasst in SAP - Allgemeines
0
Antw.
677
Views
OData mit ABAP anzeigen
von Unit605 » 05.02.2014 17:29 • Verfasst in ABAP® Core
4
Antw.
3190
Views
Hilfe: DatenModell ODATA
von HH_ABAP » 10.04.2018 08:35 • Verfasst in SAP HANA für Anfänger
1
Antw.
564
Views
Konsumieren eines oData Services
von Lukas R. » 24.02.2022 08:47 • Verfasst in Fiori, UI5, JavaScript

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.