分享

Step-by-Step procedure for CREATE_DEEP_ENTITY in POST operation

 飞鸟的天空吧 2020-03-02

For beginners facing issues in creating deep entity for more than one item table for single header.

I will explain how to create SAP Netweaver gateway OData service which will implement  Create Deep Entity for POST operation.

This is for single header and multiple item table.

For example:Header Details:Order notification

                   Item     Details:Order component

                                         Order operation

                                         Order header

                                         Maintenance plan detail

                                                                                            

  • Create an custom RFC

/wp-content/uploads/2016/06/2_7_976063.jpg

  • Create project in T-code ‘SEGW’
  • Create 6 entity types and entity sets

        Entity Type 1 –  notif

        Entity Type 2 –  ord_hdr

        Entity Type 3 –  ord_comp

        Entity Type 4 –  ord_opr

        Entity Type 5 –  mpos

        Entity Type 6 –  return(created to hold multiple messages of type BAPIRET2)

        Entity Set 1 – notifSet

       Entity Set 2 – ord_hdrSet

        Entity Set 3 – ord_compSet

        Entity Set 4 – ord_oprSet

        Entity Set 5 – mposSet

        Entity Set 6 – returnSet

/wp-content/uploads/2016/06/1_1_975332.jpg

  • Create Association and Navigation

       Association 1  notif_comp   (entity notif to ord_comp with cardinality 1:N)

       Association 2  notif_hdr      (entity notif to ord_hdr     with cardinality 1:1)

       Association 3  notif_mpos   (entity notif to ord_mpos with cardinality 1:1)

       Association 4  notif_opr     (entity notif to ord_opr     with cardinality 1:N)

       Association 5  notif_return  (entity notif to ord_return with cardinality 1:N)

/wp-content/uploads/2016/06/2_5_976057.jpg

  • Navigation property

       Navigation  1     notif_return_nav

       Navigation  2     notif_mpos_nav

       Navigation  3     notif_comp_nav

       Navigation  4     notif_opr_nav

       Navigation  5     notif_hdr_nav

/wp-content/uploads/2016/06/1_3_975334.jpg

Now let’s generate runtime artifacts. Click on generate runtime object button. It will display

popup . Keep the default class names as-is and click on enter button.

Once generation is successful, you will get 4 classes. 2 for Data provider and 2 for Model provider.

/wp-content/uploads/2016/06/2_3_976055.jpg

Once registration done successfully .Goto Gateway Client ( call transaction /IWFND/GW_CLIENT to open SAP NW Gateway client)

Append $metadata to base service URL and press execute button. If everything is fine then you will get HTTP

Response as below. Metadata provides information such as Entity type, key property, properties and Entity Set

name and also check service document append ?$format=xml.

/wp-content/uploads/2016/06/1_5_975345.jpg

  • DATA CLASS PROVIDER

      Select ***_MPC_EXT class

      Go to “Types” tab and add new type which is similar to your deep entity structure

/wp-content/uploads/2016/06/2_4_976056.jpg

     Type decleration :

   

types:

    BEGIN OF ts_deep_entity ,

      qmnum               TYPE qmnum,

      code                   TYPE char4,

      fllogid                  TYPE diacl_logid,

      tllogid                  TYPE diacl_logid ,

      sectref                TYPE zsectref,

      func_location       TYPE tplnr,

      erdat                   TYPE char15,

      qmnam               TYPE qmnam,

      faultcode            TYPE  zfaultcode,

      asr_gfor              TYPE  boolean,

      nildef                  TYPE  boolean,

      defcode              TYPE  zdefcode,

      def_pos              TYPE  zdef_pos,

      techlog               TYPE ztechlog,

      dd_ltext              TYPE  char200,

      dd_ltext1            TYPE  char200,

      action_text         TYPE  char200,

      action_text1       TYPE  char200,

      structural           TYPE  boolean,

      comp_replacement    TYPE  boolean,

      material_request       TYPE  boolean,

      source                      TYPE  qmgrp,

      dd_order                    TYPE  aufnr,

      dd_notif                     TYPE  qmnum,

      due_date                  TYPE  char15,

      mech                       TYPE  char10,

      inspection                TYPE  char10,

      license                    TYPE  char10,

      add_auth                 TYPE  zadd_auth,

      cross_ref                 TYPE  char25,

        werks                    TYPE werks_d,

      msg_type                TYPE   char1,

      msg_text                 TYPE   char80,

      order_no                  TYPE   aufnr ,

      notif_comp_nav      TYPE STANDARD TABLE OF ts_ord_comp

                                   WITH DEFAULT KEY,

      notif_opr_nav       TYPE STANDARD TABLE OF ts_ord_opr

                                    WITH DEFAULT KEY,

      notif_hdr_nav       TYPE  ts_ord_hdr,

      notif_mpos_nav      TYPE  ts_mpos,

      notif_return_nav TYPE STANDARD TABLE OF  ts_return

                               WITH DEFAULT KEY,

      END OF ts_deep_entity .

      Redefine the method “DEFINE” in the class.

/wp-content/uploads/2016/06/2_2_976054.jpg

Include the following code in Define method.

super->define( ).

DATA:

lo_annotation     TYPE REF TO /iwbep/if_mgw_odata_annotation,

lo_entity_type    TYPE REF TO /iwbep/if_mgw_odata_entity_typ,

lo_complex_type   TYPE REF TO /iwbep/if_mgw_odata_cmplx_type,

lo_property       TYPE REF TO /iwbep/if_mgw_odata_property,

lo_entity_set     TYPE REF TO /iwbep/if_mgw_odata_entity_set.

********************************************************************

***********************************************************

*   ENTITY – Deep Entity

********************************************************************

***********************************************************

lo_entity_type = model->get_entity_type( iv_entity_name = ‘notif’ ).

“#EC NOTEXT

lo_entity_type->bind_structure( iv_structure_name  =

‘***CL_LI5_LBK__14_MPC_EXT=>TS_DEEP_ENTITY’ ).

  • Create a custom method ‘CUSTOM_CREATE_DEEP_ENTITY’ in class ‘***CL_LI5_LBK__14_DPC_EXT” whose parameters is similar to

       parameters of method ‘/IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_DEEP_ENTITY’.The only change we need to make is replace the type of                  ‘ER_DEEP_ENTITY’ to the type which we specified in class ‘***CL_LI5_LBK__14_MPC_EXT=>TS_DEEP_ENTITY’.

CODE SNIPPET

METHOD custom_create_deep_entity.

  CONSTANTS:c_crt        TYPE    char4         VALUE    ‘CRT’    ,

                      c_crad      TYPE    char4         VALUE    ‘CRAD’   ,

                      c_u          TYPE    char1         VALUE    ‘U’      ,

                      c_read      TYPE    char4         VALUE    ‘READ’   ,

                      c_clrd       TYPE    char4         VALUE    ‘CLRD’   ,

                      c_clsd      TYPE    char4         VALUE    ‘CLSD’   ,

                      c_upd       TYPE    char3         VALUE    ‘UPD’    ,

                      c_a          TYPE    char1         VALUE    ‘A’      .

  TYPES:BEGIN OF return_msg,

        type    TYPE bapi_mtype,

        message TYPE bapi_msg,

        END   OF return_msg.

  DATA:lt_ret_msg TYPE

                 ***cl_li5_lbk__14_mpc_ext=>tt_return,

       ls_ret_msg TYPE  /tcsmro/cl_li5_lbk__14_mpc_ext=>ts_return.

  DATA:

lr_deep_entity TYPE ***cl_li5_lbk__14_mpc_ext=>ts_deep_entity,

lt_ord_comp   TYPE ***cl_li5_lbk__14_mpc_ext=>tt_ord_comp,

ls_ord_comp  TYPE ***cl_li5_lbk__14_mpc_ext=>ts_ord_comp,

lt_ord_opr      TYPE ***cl_li5_lbk__14_mpc_ext=>tt_ord_opr,

ls_ord_opr     TYPE ***cl_li5_lbk__14_mpc_ext=>ts_ord_opr,

lt_mpos         TYPE ***cl_li5_lbk__14_mpc_ext=>tt_mpos,

ls_mpos        TYPE ***cl_li5_lbk__14_mpc_ext=>ts_mpos,

lt_ord_hdr      TYPE ***cl_li5_lbk__14_mpc_ext=>tt_ord_hdr,

ls_ord_hdr      TYPE ***cl_li5_lbk__14_mpc_ext=>ts_ord_hdr,

e_msg_type   TYPE char1,

e_msg_text    TYPE char40,

lt_return         TYPE  ***cl_li5_lbk__14_mpc_ext=>tt_return,

ls_return         TYPE ***cl_li5_lbk__14_mpc_ext=>ts_return.

  DATA :

  ls_general_data TYPE ***li5_lbk_notification,

*ls_general_data TYPE ***LI5_LBK_NOTIF,

*ls_general_data TYPE ***LI5_LBK_NOTIFICATION,

  lt_ord_comp_data TYPE STANDARD TABLE OF ***li5_lbk_ord_comp,

  ls_ord_comp_data TYPE  ***li5_lbk_ord_comp,

********component to RFC structure

  lt_ord_comp_data1 TYPE STANDARD TABLE OF bapi_alm_order_component_e,

  ls_ord_comp_data1 TYPE  bapi_alm_order_component_e,

******

  lt_ord_opr_data TYPE STANDARD TABLE OF ***Li5_lbk_ord_opr,

  ls_ord_opr_data TYPE ***/li5_lbk_ord_opr,

********operation to RFC structure

*lt_ord_opr_data1 TYPE STANDARD TABLE OF BAPI_ALM_ORDER_OPERATION_E,

*ls_ord_opr_data1 TYPE  BAPI_ALM_ORDER_OPERATION_E,

  lt_ord_opr_data1 TYPE STANDARD TABLE OF bapi_alm_order_operation_e,

  ls_ord_opr_data1 TYPE  bapi_alm_order_operation_e,

******order header

  lt_ord_hdr_data TYPE STANDARD TABLE OF ***li5_lbk_ord_hdr,

  ls_ord_hdr_data TYPE ***li5_lbk_ord_hdr,

********order header to RFC structure

  lt_ord_hdr_data1 TYPE STANDARD TABLE OF bapi_alm_order_header_e,

  ls_ord_hdr_data1 TYPE bapi_alm_order_header_e,

********MPOS

  lt_mpos_data TYPE STANDARD TABLE OF ***li5_lbk_mpos,

  ls_mpos_data TYPE ***li5_lbk_mpos,

********MPOS to RFC structure

  lt_mpos_data1 TYPE STANDARD TABLE OF mpos,

  ls_mpos_data1 TYPE  mpos,

  ls_mposf    TYPE ***cl_li5_lbk__14_mpc_ext=>ts_mpos.

  FIELD-SYMBOLS:

  <ls_ord_compf> TYPE    ***cl_li5_lbk__14_mpc_ext=>ts_ord_comp,

  <ls_ord_oprf>     TYPE   ***cl_li5_lbk__14_mpc_ext=>ts_ord_opr,

  <ls_ord_hdrf>      TYPE ***cl_li5_lbk__14_mpc_ext=>ts_ord_hdr.

******message******

  DATA:

        lr_message_container  TYPE REF TO /iwbep/if_message_container,

        lv_message                 TYPE bapi_msg     ,

        lv_msgid                     TYPE symsgid      ,

        lv_msgno                    TYPE symsgno      .

*lr_message_container = me->mo_context

*  Transform data into the internal structure

  io_data_provider->read_entry_data(

  IMPORTING

  es_data = lr_deep_entity ).

***********Collect the header fields here

  ls_general_data-qmnum             = lr_deep_entity-qmnum.

  ls_general_data-code              =  lr_deep_entity-code.

  ls_general_data-aufnr             =  lr_deep_entity-order_no.

  ls_general_data-fllogid           = lr_deep_entity-fllogid .

  ls_general_data-func_location     =  lr_deep_entity-func_location.

  ls_general_data-strmn             = lr_deep_entity-erdat.

  ls_general_data-qmnam             = lr_deep_entity-qmnam.

  ls_general_data-/smr/faultcode    = lr_deep_entity-faultcode.

  ls_general_data-/smr/asr_gfor     = lr_deep_entity-asr_gfor.

  ls_general_data-/smr/nildef       = lr_deep_entity-nildef.

  ls_general_data-/smr/defcode      = lr_deep_entity-defcode.

  ls_general_data-/smr/def_pos      = lr_deep_entity-def_pos.

  ls_general_data-/smr/techlog      = lr_deep_entity-techlog.

  ls_general_data-dd_ltext          = lr_deep_entity-dd_ltext.

  ls_general_data-dd_ltext1         = lr_deep_entity-dd_ltext1.

  ls_general_data-action_ltext      = lr_deep_entity-action_text.

  ls_general_data-action_ltext1     = lr_deep_entity-action_text1.

  ls_general_data-/smr/structural   = lr_deep_entity-structural.

  ls_general_data-/smr/comp_replacement =

                               lr_deep_entity-comp_replacement.

  ls_general_data-/smr/material_request =

                                lr_deep_entity-material_request.

  ls_general_data-qmcod             = lr_deep_entity-source.

  ls_general_data-dd_order          = lr_deep_entity-dd_order.

  ls_general_data-dd_notif          = lr_deep_entity-dd_notif.

  ls_general_data-due_date          = lr_deep_entity-due_date.

  ls_general_data-/smr/mech         = lr_deep_entity-mech.

  ls_general_data-/smr/inspection   = lr_deep_entity-inspection.

  ls_general_data-/smr/license      = lr_deep_entity-license.

  ls_general_data-/smr/add_auth     = lr_deep_entity-add_auth.

  ls_general_data-/smr/sectref      = lr_deep_entity-sectref   .

  ls_general_data-plant             = lr_deep_entity-werks.

  ls_general_data-qmtxt             = lr_deep_entity-dd_ltext.

********Collect  comp fields

  LOOP AT lr_deep_entity-notif_comp_nav ASSIGNING <ls_ord_compf>.

    “WHERE  qmnum = lr_deep_entity-qmnum.

    CLEAR  ls_ord_comp_data.

    ls_ord_comp_data-qmnum          = <ls_ord_compf>-qmnum.

    ls_ord_comp_data-reserv_no      = <ls_ord_compf>-reserv_no.

    ls_ord_comp_data-res_item       = <ls_ord_compf>-res_item.

    ls_ord_comp_data-material       = <ls_ord_compf>-material.

    ls_ord_comp_data-material_desc  = <ls_ord_compf>-material_desc.

    ls_ord_comp_data-req_quan       = <ls_ord_compf>-req_quan.

    ls_ord_comp_data-unit           = <ls_ord_compf>-unit.

    ls_ord_comp_data-order_no       = <ls_ord_compf>-order_no.

    ls_ord_hdr_data1-orderid        = <ls_ord_compf>-order_no.

    APPEND  ls_ord_comp_data TO lt_ord_comp_data.

    ls_ord_comp_data1-reserv_no     = <ls_ord_compf>-reserv_no.

    ls_ord_comp_data1-res_item      = <ls_ord_compf>-res_item.

    IF NOT <ls_ord_compf>-material IS INITIAL.

      CALL FUNCTION ‘CONVERSION_EXIT_MATN1_INPUT’

        EXPORTING

          input        = <ls_ord_compf>-material

        IMPORTING

          output       = <ls_ord_compf>-material

        EXCEPTIONS

          length_error = 1

          OTHERS       = 2.

    ELSE.

      CONTINUE.

    ENDIF.

    IF sy-subrc <> 0.

* Implement suitable error handling here

    ENDIF.

    ls_ord_comp_data1-material          = <ls_ord_compf>-material.

    ls_ord_comp_data1-matl_desc         = <ls_ord_compf>-material_desc.

    ls_ord_comp_data1-requirement_quantity

                                        = <ls_ord_compf>-req_quan.

    ls_ord_comp_data1-requirement_quantity_unit

                                       = <ls_ord_compf>-unit.

    ls_ord_comp_data1-item_cat         = <ls_ord_compf>-flag.

    ls_ord_hdr_data1-orderid           = <ls_ord_compf>-order_no.

    APPEND  ls_ord_comp_data1 TO lt_ord_comp_data1.

  ENDLOOP.

********Collect  oper fields

  LOOP AT lr_deep_entity-notif_opr_nav  ASSIGNING <ls_ord_oprf>.

    CLEAR  ls_ord_opr_data.

    ls_ord_opr_data-qmnum          = <ls_ord_oprf>-qmnum.

    IF NOT <ls_ord_oprf>-skill IS INITIAL.

      ls_ord_opr_data-skill          = <ls_ord_oprf>-skill.

    ELSE.

      CONTINUE.

    ENDIF.

    ls_ord_opr_data-work_cntr       = <ls_ord_oprf>-work_cntr.

    ls_ord_opr_data-work_activity   = <ls_ord_oprf>-work_activity.

    TRANSLATE <ls_ord_oprf>-unit TO UPPER CASE.

    ls_ord_opr_data-unit            = <ls_ord_oprf>-unit.

    ls_ord_opr_data-order_no        = <ls_ord_oprf>-order_no.

    ls_ord_hdr_data1-orderid        = <ls_ord_oprf>-order_no.

    ls_ord_opr_data-activity        = <ls_ord_oprf>-activity.

    ls_ord_opr_data-sub_activity    = <ls_ord_oprf>-sub_activity.

    ls_ord_opr_data-control_key     = <ls_ord_oprf>-control_key.

    APPEND  ls_ord_opr_data TO lt_ord_opr_data.

    ls_ord_opr_data1-work_cntr      = <ls_ord_oprf>-work_cntr.

    ls_ord_opr_data1-work_activity  = <ls_ord_oprf>-work_activity.

    TRANSLATE <ls_ord_oprf>-unit TO UPPER CASE.

    ls_ord_opr_data1-un_work        = <ls_ord_oprf>-unit.

    ls_ord_hdr_data1-orderid        = <ls_ord_oprf>-order_no.

    ls_ord_opr_data1-activity       = <ls_ord_oprf>-activity.

    ls_ord_opr_data1-sub_activity   = <ls_ord_oprf>-sub_activity.

    ls_ord_opr_data1-control_key    = <ls_ord_oprf>-control_key.

    ls_ord_opr_data1-sub_activity   = <ls_ord_oprf>-flag.

    IF <ls_ord_oprf>-flag = space.

      ls_ord_opr_data1-sub_activity = c_u.

    ENDIF.

    APPEND  ls_ord_opr_data1 TO lt_ord_opr_data1.

  ENDLOOP.

********Collect  MPOS fields

*  LOOP AT lr_deep_entity-notif_mpos_nav  ASSIGNING <ls_mposf>

*   WHERE  qmnum = lr_deep_entity-qmnum.

  ls_mposf = lr_deep_entity-notif_mpos_nav .

  ls_mpos_data1-/smr/dd_type    = ls_mposf-def_cat.

  ls_mpos_data1-/smr/mel_ref    = ls_mposf-mel_ref.

  ls_mpos_data1-/smr/mel_part   = ls_mposf-mel_part.

  ls_mpos_data1-/smr/mel_cat    = ls_mposf-mel_cat.

  ls_mpos_data1-/smr/etops_rat  = ls_mposf-etops_rat.

  ls_mpos_data1-/smr/plan_reqs  = ls_mposf-plan_reqs.

  ls_mpos_data1-/smr/plan_reqb  = ls_mposf-plan_reqb.

  ls_mpos_data1-/smr/plan_reqns = ls_mposf-plan_reqns.

  ls_mpos_data1-/smr/plan_dai   = ls_mposf-plan_dai.

  ls_mpos_data1-/smr/plan_reqnm = ls_mposf-plan_reqnm.

  ls_mpos_data1-/smr/plan_reqni = ls_mposf-plan_reqni.

  ls_mpos_data1-/smr/plan_reqti = ls_mposf-plan_reqti.

  ls_mpos_data1-/smr/offset1 = ls_mposf-repair_within.

  CASE ls_mposf-dd_type.

    WHEN ‘P’.

      ls_mpos_data1-/smr/add_typep   = ‘X’.

    WHEN ‘NP’.

      ls_mpos_data1-/smr/add_typen   = ‘X’.

    WHEN ‘I’.

      ls_mpos_data1-/smr/add_typei   = ‘X’.

    WHEN ‘SC’.

      ls_mpos_data1-/smr/add_typecs  = ‘X’.

    WHEN ‘C’.

      ls_mpos_data1-/smr/add_typec   = ‘X’.

      WHEN ‘O’.

        ls_mpos_data1-/SMR/ADD_TYPEO = ‘X’.

  ENDCASE.

**need to check

  ls_mpos_data1-/smr/offset2 = ls_mposf-rapair_interval.

  ls_mpos_data1-/smr/uom1  = ls_mposf-unit.

  ls_mpos_data1-plnnr = ls_mposf-plnnr.

  ls_mpos_data1-plnal =  ls_mposf-plnal.

  IF NOT ls_mpos_data1-plnnr IS INITIAL.

    ls_mpos_data1-plnty = c_a.

  ELSE.

    ls_mpos_data1-plnty = ‘ ‘.

  ENDIF.

***need to check

  ls_mpos_data1-warpl  = ls_mposf-warpl.

  ls_mpos_data1-wapos = ls_mposf-wapos.

  APPEND ls_mpos_data1 TO lt_mpos_data1.

*  ENDLOOP.

**order header

  APPEND ls_ord_hdr_data1 TO lt_ord_hdr_data1.

  DATA lv_func_name TYPE string.

  CASE lr_deep_entity-code.

    WHEN c_clrd.

      lv_func_name = ‘/TCSMRO/LI5_LBK_CLEAR_DEFECT’.

    WHEN c_crad.

      lv_func_name = ‘/TCSMRO/LI5_LBK_DEFER_DEFECT’.

    WHEN c_read.

      lv_func_name = ‘/TCSMRO/LI5_LBK_REASS_DEFECT’.

    WHEN c_crt.

      lv_func_name = ‘/TCSMRO/LI5_LBK_RAISE_DEFECT’.

    WHEN c_upd.

      lv_func_name = ‘/TCSMRO/LI5_UPDATE_DEFECT’.

  ENDCASE.

  IF lv_func_name IS NOT INITIAL.

    CALL FUNCTION lv_func_name

      EXPORTING

        is_notification = ls_general_data

        it_ord_comp     = lt_ord_comp_data1

        it_ord_opr      = lt_ord_opr_data1

        is_aufnr_hdr    = ls_ord_hdr_data1

        is_mpos         = ls_mpos_data1

      IMPORTING

        e_msg_type      = e_msg_type

        e_msg_text      = e_msg_text

      TABLES

        et_return       = lt_return.

  ELSEIF lr_deep_entity-code = c_clsd.

    CALL FUNCTION ‘/TCSMRO/LI5_CLOSE_DEFECT’

      EXPORTING

        is_notification = ls_general_data

      IMPORTING

        e_msg_type      = e_msg_type

        e_msg_text      = e_msg_text

      TABLES

        et_return       = lt_return.

  ENDIF.

  er_deep_entity-msg_text = e_msg_text.

  er_deep_entity-msg_type = e_msg_type.

  LOOP AT lt_return INTO ls_return.

    ls_ret_msg-type    = ls_return-type.

    ls_ret_msg-message = ls_return-message.

    APPEND ls_ret_msg TO lt_ret_msg.

    CLEAR:ls_return,

          ls_ret_msg.

  ENDLOOP.

  er_deep_entity-notif_return_nav = lt_ret_msg.

ENDMETHOD.

  • REQUEST PAYLOAD

<?xml version=”1.0″ encoding=”UTF-8″?>

<atom:entry

xmlns:atom=”http://www./2005/Atom

xmlns:d=”http://schemas.microsoft.com/ado/2007/08/dataservices

xmlns:m=”http://schemas.microsoft.com/ado/2007/08/dataservices/metadata“>

<atom:content type=”application/xml”>

<m:properties>

<d:Qmnum></d:Qmnum>

<d:code>CRT</d:code>

<d:FLLOGID>N102131204</d:FLLOGID>

<d:TLLOGID>TLAA077303</d:TLLOGID>

<d:FUNCLOCATION>N-5679</d:FUNCLOCATION>

<d:SECTREF>GA047101LHR20131204</d:SECTREF>

<d:Erdat>20160425</d:Erdat>

<d:Qmnam>345153</d:Qmnam>

<d:Faultcode></d:Faultcode>

<d:AsrGfor>false</d:AsrGfor>

<d:Nildef>false</d:Nildef>

<d:Defcode>2340</d:Defcode>

<d:DefPos></d:DefPos>

<d:Techlog></d:Techlog>

<d:DdLtext>symptoms</d:DdLtext>

<d:ActionText>action</d:ActionText>

<d:Structural>false</d:Structural>

<d:CompReplacement>false</d:CompReplacement>

<d:MaterialRequest>false</d:MaterialRequest>

<d:Source>MM</d:Source>

<d:DueDate></d:DueDate>

<d:Mech></d:Mech>

<d:Inspection></d:Inspection>

<d:License></d:License>

<d:AddAuth></d:AddAuth>

</m:properties>

</atom:content>

<atom:link

rel=”http://schemas.microsoft.com/ado/2007/08/dataservices/related/notif_comp_nav

type=”application/atom+xml;type=feed”

title=”***LI5_LBK_DEFECT_DET_SRV/ord_compset”>

<m:inline>

<atom:feed>

<atom:entry>

<atom:content type=”application/xml”>

<m:properties>

<d:Qmnum></d:Qmnum>

<d:ReservNo></d:ReservNo>

<d:ResItem></d:ResItem>

<d:Material>622-9252-001:4V792</d:Material>

<d:MaterialDesc></d:MaterialDesc>

<d:ReqQuan>4</d:ReqQuan>

<d:Unit></d:Unit>

<d:OrderNo></d:OrderNo>

</m:properties>

</atom:content>

</atom:entry>

<atom:entry>

<atom:content type=”application/xml”>

<m:properties>

<d:Qmnum></d:Qmnum>

<d:ReservNo></d:ReservNo>

<d:ResItem></d:ResItem>

<d:Material>622-9252-001:4V792</d:Material>

<d:MaterialDesc></d:MaterialDesc>

<d:ReqQuan>8</d:ReqQuan>

<d:Unit></d:Unit>

<d:OrderNo></d:OrderNo>

</m:properties>

</atom:content>

</atom:entry>

</atom:feed>

</m:inline>

</atom:link>

<atom:link

rel=”http://schemas.microsoft.com/ado/2007/08/dataservices/related/notif_opr_nav

type=”application/atom+xml;type=feed”

title=”***LI5_LBK_DEFECT_DET_SRV/ord_oprset”>

<m:inline>

<atom:feed>

<atom:entry>

<atom:content type=”application/xml”>

<m:properties>

<d:Qmnum></d:Qmnum>

<d:Skill>B1</d:Skill>

<d:WorkCntr>GALY10B1</d:WorkCntr>

<d:WorkActivity>11.0</d:WorkActivity>

<d:Unit>MIN</d:Unit>

<d:OrderNo></d:OrderNo>

<d:Activity></d:Activity>

<d:SubActivity></d:SubActivity>

<d:ControlKey>AM01</d:ControlKey>

<d:FLAG>U</d:FLAG>

</m:properties>

</atom:content>

</atom:entry>

<atom:entry>

<atom:content type=”application/xml”>

<m:properties>

<d:Qmnum></d:Qmnum>

<d:Skill>B1</d:Skill>

<d:WorkCntr>GALY10M5</d:WorkCntr>

<d:WorkActivity>12.0</d:WorkActivity>

<d:Unit>MIN</d:Unit>

<d:OrderNo></d:OrderNo>

<d:Activity></d:Activity>

<d:SubActivity></d:SubActivity>

<d:ControlKey>AM01</d:ControlKey>

<d:FLAG>U</d:FLAG>

</m:properties>

</atom:content>

</atom:entry>

</atom:feed>

</m:inline>

</atom:link>

</atom:entry>

NOTE:

Please note that the names you use while creating the deep structure inside your DPC_EXT class of Create_Deep_Entity method should be same as the navigation properties defined in your SEGW Model.

/wp-content/uploads/2016/06/2_1_975953.jpg

This is how we need to construct our payload.

Then click on execute button and see the result on right side pane.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多