From 4a41829fef6d802ec667b8be63aa81f60ebcd680 Mon Sep 17 00:00:00 2001 From: MYSAP Date: Tue, 18 Aug 2026 04:52:50 +0000 Subject: [PATCH] First Commit (2026.08.18) --- .abapgit.xml | 10 + src/0da471fec562ebd83f90d4698db1bbht.sush.xml | 35 + src/4add025a10a4b1303f6ff917bc96e2ht.sush.xml | 35 + src/f751b53d0221a79c4395a447b80644ht.sush.xml | 35 + src/package.devc.xml | 10 + src/zbp_br_i_salesorder.clas.abap | 5 + src/zbp_br_i_salesorder.clas.locals_imp.abap | 66 ++ src/zbp_br_i_salesorder.clas.xml | 18 + src/zbr_b_sales.g4ba.xml | 28 + src/zbr_b_sales.srvb.xml | 46 + ...sales_v2 0001.iwsv.xml | 31 + ..._b_sales_v2 0001.iwmo.xml | 21 + src/zbr_b_sales_v2.srvb.xml | 46 + ..._b_sales_v2_van 0001.iwvb.xml | 33 + src/zbr_d_sales.srvd.srvdsrv | 4 + src/zbr_d_sales.srvd.xml | 19 + src/zbr_i_salesorder.bdef.asbdef | 40 + src/zbr_i_salesorder.bdef.xml | 56 ++ src/zbr_i_salesorder.ddls.asddls | 41 + src/zbr_i_salesorder.ddls.baseinfo | 23 + src/zbr_i_salesorder.ddls.xml | 13 + src/zbr_p_salesorder.bdef.asbdef | 18 + src/zbr_p_salesorder.bdef.xml | 56 ++ src/zbr_p_salesorder.ddls.asddls | 83 ++ src/zbr_p_salesorder.ddls.baseinfo | 24 + src/zbr_p_salesorder.ddls.xml | 13 + src/zcl_zgw_po_dpc.clas.abap | 789 ++++++++++++++++ src/zcl_zgw_po_dpc.clas.xml | 442 +++++++++ src/zcl_zgw_po_dpc_ext.clas.abap | 45 + src/zcl_zgw_po_dpc_ext.clas.xml | 16 + src/zcl_zgw_po_mpc.clas.abap | 336 +++++++ src/zcl_zgw_po_mpc.clas.xml | 33 + src/zcl_zgw_po_mpc_ext.clas.abap | 14 + src/zcl_zgw_po_mpc_ext.clas.xml | 16 + src/zgw_po.iwpr.xml | 893 ++++++++++++++++++ ..._po_mdl 0001.iwmo.xml | 22 + src/zgw_po_mdl_0001_be.iwom.xml | 48 + ..._srv 0001.iwsv.xml | 32 + ...srv bcf3373b1a912242878a592dd.sicf.xml | 26 + src/zgw_po_srv_0001.iwsg.xml | 90 ++ src/zsnwd_so_d.tabl.xml | 186 ++++ 41 files changed, 3797 insertions(+) create mode 100644 .abapgit.xml create mode 100644 src/0da471fec562ebd83f90d4698db1bbht.sush.xml create mode 100644 src/4add025a10a4b1303f6ff917bc96e2ht.sush.xml create mode 100644 src/f751b53d0221a79c4395a447b80644ht.sush.xml create mode 100644 src/package.devc.xml create mode 100644 src/zbp_br_i_salesorder.clas.abap create mode 100644 src/zbp_br_i_salesorder.clas.locals_imp.abap create mode 100644 src/zbp_br_i_salesorder.clas.xml create mode 100644 src/zbr_b_sales.g4ba.xml create mode 100644 src/zbr_b_sales.srvb.xml create mode 100644 src/zbr_b_sales_v2 0001.iwsv.xml create mode 100644 src/zbr_b_sales_v2 0001.iwmo.xml create mode 100644 src/zbr_b_sales_v2.srvb.xml create mode 100644 src/zbr_b_sales_v2_van 0001.iwvb.xml create mode 100644 src/zbr_d_sales.srvd.srvdsrv create mode 100644 src/zbr_d_sales.srvd.xml create mode 100644 src/zbr_i_salesorder.bdef.asbdef create mode 100644 src/zbr_i_salesorder.bdef.xml create mode 100644 src/zbr_i_salesorder.ddls.asddls create mode 100644 src/zbr_i_salesorder.ddls.baseinfo create mode 100644 src/zbr_i_salesorder.ddls.xml create mode 100644 src/zbr_p_salesorder.bdef.asbdef create mode 100644 src/zbr_p_salesorder.bdef.xml create mode 100644 src/zbr_p_salesorder.ddls.asddls create mode 100644 src/zbr_p_salesorder.ddls.baseinfo create mode 100644 src/zbr_p_salesorder.ddls.xml create mode 100644 src/zcl_zgw_po_dpc.clas.abap create mode 100644 src/zcl_zgw_po_dpc.clas.xml create mode 100644 src/zcl_zgw_po_dpc_ext.clas.abap create mode 100644 src/zcl_zgw_po_dpc_ext.clas.xml create mode 100644 src/zcl_zgw_po_mpc.clas.abap create mode 100644 src/zcl_zgw_po_mpc.clas.xml create mode 100644 src/zcl_zgw_po_mpc_ext.clas.abap create mode 100644 src/zcl_zgw_po_mpc_ext.clas.xml create mode 100644 src/zgw_po.iwpr.xml create mode 100644 src/zgw_po_mdl 0001.iwmo.xml create mode 100644 src/zgw_po_mdl_0001_be.iwom.xml create mode 100644 src/zgw_po_srv 0001.iwsv.xml create mode 100644 src/zgw_po_srv bcf3373b1a912242878a592dd.sicf.xml create mode 100644 src/zgw_po_srv_0001.iwsg.xml create mode 100644 src/zsnwd_so_d.tabl.xml diff --git a/.abapgit.xml b/.abapgit.xml new file mode 100644 index 0000000..7c0506a --- /dev/null +++ b/.abapgit.xml @@ -0,0 +1,10 @@ + + + + + E + /src/ + PREFIX + + + diff --git a/src/0da471fec562ebd83f90d4698db1bbht.sush.xml b/src/0da471fec562ebd83f90d4698db1bbht.sush.xml new file mode 100644 index 0000000..47b0e2f --- /dev/null +++ b/src/0da471fec562ebd83f90d4698db1bbht.sush.xml @@ -0,0 +1,35 @@ + + + + + + 0DA471FEC562EBD83F90D4698DB1BB + HT + R3TR G4BA ZBR_B_SALES + + + + 0DA471FEC562EBD83F90D4698DB1BB + HT + S_START + X + + + + + S_START + Start Authorization Check for TADIR Objects + AAAB + X + BC-SEC-AUT-PFC + Check + Check + No + 3 + Okay + @08@ + + + + + diff --git a/src/4add025a10a4b1303f6ff917bc96e2ht.sush.xml b/src/4add025a10a4b1303f6ff917bc96e2ht.sush.xml new file mode 100644 index 0000000..bad9348 --- /dev/null +++ b/src/4add025a10a4b1303f6ff917bc96e2ht.sush.xml @@ -0,0 +1,35 @@ + + + + + + 4ADD025A10A4B1303F6FF917BC96E2 + HT + R3TR IWSV ZBR_B_SALES_V2 0001 + + + + 4ADD025A10A4B1303F6FF917BC96E2 + HT + S_SERVICE + X + + + + + S_SERVICE + Check at Start of External Services + AAAB + X + BC-SEC-AUT-PFC + Check + Check + No + 3 + Okay + @08@ + + + + + diff --git a/src/f751b53d0221a79c4395a447b80644ht.sush.xml b/src/f751b53d0221a79c4395a447b80644ht.sush.xml new file mode 100644 index 0000000..790c7a2 --- /dev/null +++ b/src/f751b53d0221a79c4395a447b80644ht.sush.xml @@ -0,0 +1,35 @@ + + + + + + F751B53D0221A79C4395A447B80644 + HT + R3TR IWSV ZGW_PO_SRV 0001 + + + + F751B53D0221A79C4395A447B80644 + HT + S_SERVICE + X + + + + + S_SERVICE + Check at Start of External Services + AAAB + X + BC-SEC-AUT-PFC + Check + Check + No + 3 + Okay + @08@ + + + + + diff --git a/src/package.devc.xml b/src/package.devc.xml new file mode 100644 index 0000000..d3dc4f0 --- /dev/null +++ b/src/package.devc.xml @@ -0,0 +1,10 @@ + + + + + + RAP Execise + + + + diff --git a/src/zbp_br_i_salesorder.clas.abap b/src/zbp_br_i_salesorder.clas.abap new file mode 100644 index 0000000..e8e6035 --- /dev/null +++ b/src/zbp_br_i_salesorder.clas.abap @@ -0,0 +1,5 @@ +CLASS zbp_br_i_salesorder DEFINITION PUBLIC ABSTRACT FINAL FOR BEHAVIOR OF zbr_i_salesorder. +ENDCLASS. + +CLASS zbp_br_i_salesorder IMPLEMENTATION. +ENDCLASS. diff --git a/src/zbp_br_i_salesorder.clas.locals_imp.abap b/src/zbp_br_i_salesorder.clas.locals_imp.abap new file mode 100644 index 0000000..367ceb4 --- /dev/null +++ b/src/zbp_br_i_salesorder.clas.locals_imp.abap @@ -0,0 +1,66 @@ +CLASS lhc_Zbr_I_SalesOrder DEFINITION INHERITING FROM cl_abap_behavior_handler. + PRIVATE SECTION. + + METHODS get_instance_authorizations FOR INSTANCE AUTHORIZATION + IMPORTING keys REQUEST requested_authorizations FOR Zbr_I_SalesOrder RESULT result. + METHODS get_instance_features FOR INSTANCE FEATURES + IMPORTING keys REQUEST requested_features FOR myorder RESULT result. + + METHODS set_status_progress FOR MODIFY + IMPORTING keys FOR ACTION myorder~set_status_progress RESULT result. + +* METHODS set_status_progress FOR MODIFY +* IMPORTING keys FOR ACTION zbr_i_salesorder~set_status_progress RESULT result. + +ENDCLASS. + +CLASS lhc_Zbr_I_SalesOrder IMPLEMENTATION. + + METHOD get_instance_authorizations. + ENDMETHOD. + + METHOD get_instance_features. + READ ENTITIES OF zbr_i_salesorder + ENTITY zbr_i_salesorder + FIELDS ( lifecycle_status ) + WITH CORRESPONDING #( keys ) + RESULT DATA(orders) + FAILED failed. + + result = VALUE #( FOR order IN orders + ( %tky = order-%tky + %features-%action-set_status_progress = COND #( WHEN order-lifecycle_status = 'P' + THEN if_abap_behv=>fc-o-disabled + ELSE if_abap_behv=>fc-o-enabled ) + ) ). + + ENDMETHOD. + + METHOD set_status_progress. +* LOOP at keys ASSIGNING FIELD-SYMBOL(). +* update zsnwd_so +* set lifecycle_status = 'P' +* where node_key = -sales_order_key. +* +* APPEND value #( %tky = -%tky ) to result. + + MODIFY ENTITIES OF zbr_i_salesorder IN LOCAL MODE + ENTITY zbr_i_salesorder + UPDATE FIELDS ( lifecycle_status ) + WITH VALUE #( FOR key IN keys ( %tky = key-%tky + lifecycle_status = 'P' ) ). + + READ ENTITIES OF zbr_i_salesorder IN LOCAL MODE +* ENTITY zbr_i_salesorder + ENTITY myorder + ALL FIELDS WITH + CORRESPONDING #( keys ) + RESULT DATA(orders). + + result = VALUE #( FOR order IN orders ( %tky = order-%tky + %param = order ) ). + +* endloop. + ENDMETHOD. + +ENDCLASS. diff --git a/src/zbp_br_i_salesorder.clas.xml b/src/zbp_br_i_salesorder.clas.xml new file mode 100644 index 0000000..d2f7c42 --- /dev/null +++ b/src/zbp_br_i_salesorder.clas.xml @@ -0,0 +1,18 @@ + + + + + + ZBP_BR_I_SALESORDER + E + Behavior Implementation for ZBR_I_SALESORDER + 06 + 1 + X + X + X + ZBR_I_SALESORDER + + + + diff --git a/src/zbr_b_sales.g4ba.xml b/src/zbr_b_sales.g4ba.xml new file mode 100644 index 0000000..42d5659 --- /dev/null +++ b/src/zbr_b_sales.g4ba.xml @@ -0,0 +1,28 @@ + + + + + <_-IWBEP_-I_V4_MSGA> + <_-IWBEP_-I_V4_MSGA> + ZBR_B_SALES + /IWBEP/COMMON + DEFAULT + + + <_-IWBEP_-I_V4_MSGR> + <_-IWBEP_-I_V4_MSGR> + ZBR_B_SALES + SADL + ZBR_B_SALES + + + <_-IWBEP_-I_V4_MSGT> + <_-IWBEP_-I_V4_MSGT> + ZBR_B_SALES + E + 0 + + + + + diff --git a/src/zbr_b_sales.srvb.xml b/src/zbr_b_sales.srvb.xml new file mode 100644 index 0000000..15dd01f --- /dev/null +++ b/src/zbr_b_sales.srvb.xml @@ -0,0 +1,46 @@ + + + + + + + ZBR_B_SALES + SRVB/SVB + Sales Order + MYSAP + EN + + + + ZBR_B_SALES + + ODATA + V4 + + + ZBR_D_SALES + + + 0001 + NOT_RELEASED + + /sap/bc/adt/ddic/srvd/sources/zbr_d_sales + SRVD/SRV + ZBR_D_SALES + + + + base64 + + + + + + + + true + true + + + + diff --git a/src/zbr_b_sales_v2 0001.iwsv.xml b/src/zbr_b_sales_v2 0001.iwsv.xml new file mode 100644 index 0000000..e5f87a8 --- /dev/null +++ b/src/zbr_b_sales_v2 0001.iwsv.xml @@ -0,0 +1,31 @@ + + + + + <_-IWBEP_-I_MGW_SRG> + <_-IWBEP_-I_MGW_SRG> + ZBR_B_SALES_V2 + 0001 + ZBR_B_SALES_V2 + 0001 + + + <_-IWBEP_-I_MGW_SRH> + <_-IWBEP_-I_MGW_SRH> + ZBR_B_SALES_V2 + 0001 + ZBR_B_SALES_V2 + CL_SADL_RAP_EXPOSURE_DPC + - + + + <_-IWBEP_-I_MGW_SRT> + <_-IWBEP_-I_MGW_SRT> + ZBR_B_SALES_V2 + 0001 + E + + + + + diff --git a/src/zbr_b_sales_v2 0001.iwmo.xml b/src/zbr_b_sales_v2 0001.iwmo.xml new file mode 100644 index 0000000..ec28019 --- /dev/null +++ b/src/zbr_b_sales_v2 0001.iwmo.xml @@ -0,0 +1,21 @@ + + + + + <_-IWBEP_-I_MGW_OHD> + <_-IWBEP_-I_MGW_OHD> + ZBR_B_SALES_V2 + 0001 + CL_SADL_GW_RAP_EXPOSURE_MPC + + + <_-IWBEP_-I_MGW_OHT> + <_-IWBEP_-I_MGW_OHT> + ZBR_B_SALES_V2 + 0001 + E + + + + + diff --git a/src/zbr_b_sales_v2.srvb.xml b/src/zbr_b_sales_v2.srvb.xml new file mode 100644 index 0000000..f2ab4e5 --- /dev/null +++ b/src/zbr_b_sales_v2.srvb.xml @@ -0,0 +1,46 @@ + + + + + + + ZBR_B_SALES_V2 + SRVB/SVB + Sales Order V2 + MYSAP + EN + + + + ZBR_B_SALES_V2 + + ODATA + V2 + + + ZBR_B_SALES_V2 + + + 0001 + NOT_RELEASED + + /sap/bc/adt/ddic/srvd/sources/zbr_d_sales + SRVD/SRV + ZBR_D_SALES + + + + base64 + + + + + + + + true + true + + + + diff --git a/src/zbr_b_sales_v2_van 0001.iwvb.xml b/src/zbr_b_sales_v2_van 0001.iwvb.xml new file mode 100644 index 0000000..c7760ec --- /dev/null +++ b/src/zbr_b_sales_v2_van 0001.iwvb.xml @@ -0,0 +1,33 @@ + + + + + <_-IWBEP_-I_MGW_VAA> + <_-IWBEP_-I_MGW_VAA> + ZBR_B_SALES_V2_VAN + 0001 + ZBR_B_SALES_V2 + 0001 + X + SAP + ZBR_B_SALES_V2 + + + <_-IWBEP_-I_MGW_VAH> + <_-IWBEP_-I_MGW_VAH> + ZBR_B_SALES_V2_VAN + 0001 + CL_SADL_GW_CDS_EXPOSURE_APC + + + <_-IWBEP_-I_MGW_VAT> + <_-IWBEP_-I_MGW_VAT> + ZBR_B_SALES_V2_VAN + 0001 + E + Generic Annotation Provider + + + + + diff --git a/src/zbr_d_sales.srvd.srvdsrv b/src/zbr_d_sales.srvd.srvdsrv new file mode 100644 index 0000000..aaa6455 --- /dev/null +++ b/src/zbr_d_sales.srvd.srvdsrv @@ -0,0 +1,4 @@ +@EndUserText.label: 'Sales' +define service Zbr_D_Sales { + expose Zbr_P_SalesOrder as Orders; +} \ No newline at end of file diff --git a/src/zbr_d_sales.srvd.xml b/src/zbr_d_sales.srvd.xml new file mode 100644 index 0000000..3a54f07 --- /dev/null +++ b/src/zbr_d_sales.srvd.xml @@ -0,0 +1,19 @@ + + + + + + ZBR_D_SALES + SRVD/SRV + Sales + EN + EN + ./zbr_d_sales/source/main + ABAP_SOURCE + ABAP Development Tools + S + Definition + + + + diff --git a/src/zbr_i_salesorder.bdef.asbdef b/src/zbr_i_salesorder.bdef.asbdef new file mode 100644 index 0000000..541c116 --- /dev/null +++ b/src/zbr_i_salesorder.bdef.asbdef @@ -0,0 +1,40 @@ +managed implementation in class zbp_br_i_salesorder unique; +strict ( 2 ); + +with draft; + +define behavior for Zbr_I_SalesOrder alias myorder + +persistent table zsnwd_so + +draft table zsnwd_so_d +etag master changed_at +lock master +total etag changed_at + +authorization master ( instance ) +{ + create; + update; + delete; + + mapping for zsnwd_so corresponding + { + sales_order_key = node_key; + sales_order_id = so_id; + + sales_opportunity_id = op_id; + } + + draft action Resume; + draft action Edit; + draft action Activate; + draft action Discard; + draft determine action Prepare; + + action ( features : instance ) set_status_progress + result [1] $self; +// field ( readonly : update ) sales_order_id; +// field ( features : instance ) +// gross_amount, net_amount, tax_amount; +} \ No newline at end of file diff --git a/src/zbr_i_salesorder.bdef.xml b/src/zbr_i_salesorder.bdef.xml new file mode 100644 index 0000000..525047f --- /dev/null +++ b/src/zbr_i_salesorder.bdef.xml @@ -0,0 +1,56 @@ + + + + + + ZBR_I_SALESORDER + BDEF/BDO + Sales Order + 60 + EN + + + ./zbr_i_salesorder/source/main/versions + http://www.sap.com/adt/relations/versions + Historic versions + + + /sap/bc/adt/repository/informationsystem/abaplanguageversions?uri=%2Fsap%2Fbc%2Fadt%2Fbo%2Fbehaviordefinitions%2Fzbr_i_salesorder + http://www.sap.com/adt/relations/informationsystem/abaplanguageversions + application/vnd.sap.adt.nameditems.v1+xml + Allowed ABAP language versions + + + ./zbr_i_salesorder/source/main + http://www.sap.com/adt/relations/source + text/plain + Source Content + + + ./zbr_i_salesorder/source/main + http://www.sap.com/adt/relations/source + text/html + Source Content (HTML) + + + ./zbr_i_salesorder/objectstructure + http://www.sap.com/adt/relations/objectstructure + Object Structure + + + /sap/bc/adt/vit/wb/object_type/bdefbdo/object_name/ZBR_I_SALESORDER + self + application/vnd.sap.sapgui + Representation in SAP GUI + + + EN + X + ./zbr_i_salesorder/source/main + ABAP_SOURCE + true + true + + + + diff --git a/src/zbr_i_salesorder.ddls.asddls b/src/zbr_i_salesorder.ddls.asddls new file mode 100644 index 0000000..3fb215e --- /dev/null +++ b/src/zbr_i_salesorder.ddls.asddls @@ -0,0 +1,41 @@ +@AccessControl.authorizationCheck: #NOT_REQUIRED +@EndUserText.label: 'Sales Order' +@Metadata.ignorePropagatedAnnotations:false +define root view entity Zbr_I_SalesOrder + as select from zsnwd_so + association [1..*] to sepm_sddl_salesorder_item as items + on $projection.sales_order_key = items.sales_order_key + association [0..1] to sepm_sddl_employees as created_by_employee + on $projection.created_by_key = created_by_employee.employee_key + association [0..1] to sepm_sddl_employees as changed_by_employee + on $projection.changed_by_key = changed_by_employee.employee_key + association [1..1] to tcurc as currency + on $projection.currency_code = currency.waers +{ + key node_key as sales_order_key, + so_id as sales_order_id, + created_by as created_by_key, + changed_by as changed_by_key, + created_at, + changed_at, + created_by_employee.employee_id as created_by_id, + changed_by_employee.employee_id as changed_by_id, + note_guid as note_key, + op_id as sales_opportunity_id, + currency_code, + gross_amount, + net_amount, + tax_amount, + lifecycle_status, + billing_status, + delivery_status, + buyer_guid as buyer_key, + created_by_employee.first_name, + created_by_employee.email_address, + created_by_employee.phone_number, + + // association + created_by_employee, + changed_by_employee, + items +} diff --git a/src/zbr_i_salesorder.ddls.baseinfo b/src/zbr_i_salesorder.ddls.baseinfo new file mode 100644 index 0000000..b83f3a0 --- /dev/null +++ b/src/zbr_i_salesorder.ddls.baseinfo @@ -0,0 +1,23 @@ +{ +"BASEINFO": +{ +"FROM": +[ +"SEPM_SDDL_EMPLOYEES", +"ZSNWD_SO" +], +"ASSOCIATED": +[ +"SEPM_SDDL_EMPLOYEES", +"SEPM_SDDL_SALESORDER_ITEM" +], +"BASE": +[], +"ANNO_REF": +[], +"SCALAR_FUNCTION": +[], +"VERSION":0, +"ANNOREF_EVALUATION_ERROR":"" +} +} \ No newline at end of file diff --git a/src/zbr_i_salesorder.ddls.xml b/src/zbr_i_salesorder.ddls.xml new file mode 100644 index 0000000..3b7c35e --- /dev/null +++ b/src/zbr_i_salesorder.ddls.xml @@ -0,0 +1,13 @@ + + + + + + ZBR_I_SALESORDER + E + Sales Order + W + + + + diff --git a/src/zbr_p_salesorder.bdef.asbdef b/src/zbr_p_salesorder.bdef.asbdef new file mode 100644 index 0000000..d34f4f6 --- /dev/null +++ b/src/zbr_p_salesorder.bdef.asbdef @@ -0,0 +1,18 @@ +projection; +strict ( 2 ); + +use draft; +define behavior for Zbr_P_SalesOrder //alias +{ + use create; + use update; + use delete; + + use action Resume; + use action Edit; + use action Activate; + use action Discard; + use action Prepare; + + use action set_status_progress; +} \ No newline at end of file diff --git a/src/zbr_p_salesorder.bdef.xml b/src/zbr_p_salesorder.bdef.xml new file mode 100644 index 0000000..aa0e70b --- /dev/null +++ b/src/zbr_p_salesorder.bdef.xml @@ -0,0 +1,56 @@ + + + + + + ZBR_P_SALESORDER + BDEF/BDO + Sales Order + 60 + EN + + + ./zbr_p_salesorder/source/main/versions + http://www.sap.com/adt/relations/versions + Historic versions + + + /sap/bc/adt/repository/informationsystem/abaplanguageversions?uri=%2Fsap%2Fbc%2Fadt%2Fbo%2Fbehaviordefinitions%2Fzbr_p_salesorder + http://www.sap.com/adt/relations/informationsystem/abaplanguageversions + application/vnd.sap.adt.nameditems.v1+xml + Allowed ABAP language versions + + + ./zbr_p_salesorder/source/main + http://www.sap.com/adt/relations/source + text/plain + Source Content + + + ./zbr_p_salesorder/source/main + http://www.sap.com/adt/relations/source + text/html + Source Content (HTML) + + + ./zbr_p_salesorder/objectstructure + http://www.sap.com/adt/relations/objectstructure + Object Structure + + + /sap/bc/adt/vit/wb/object_type/bdefbdo/object_name/ZBR_P_SALESORDER + self + application/vnd.sap.sapgui + Representation in SAP GUI + + + EN + X + ./zbr_p_salesorder/source/main + ABAP_SOURCE + true + true + + + + diff --git a/src/zbr_p_salesorder.ddls.asddls b/src/zbr_p_salesorder.ddls.asddls new file mode 100644 index 0000000..19310b7 --- /dev/null +++ b/src/zbr_p_salesorder.ddls.asddls @@ -0,0 +1,83 @@ +@AccessControl.authorizationCheck: #NOT_REQUIRED +@EndUserText.label: 'Sales Order' +@Metadata.ignorePropagatedAnnotations: false + +@UI:{ headerInfo: { + typeNamePlural : 'Sales Orders', //List 헤더 타이틀 + typeName : 'Sales Order', //App 타이틀 + title:{ value: 'sales_order_id' }, //Object page 타이틀 + description:{ value: 'first_name' }} //Object page 서브타이틀 + } + +define root view entity Zbr_P_SalesOrder + provider contract transactional_query + as projection on Zbr_I_SalesOrder +{ + @UI.facet: [{ id: 'idSalesGroup', + purpose: #STANDARD, + type: #FIELDGROUP_REFERENCE, + label: 'Sales Info', + targetQualifier: 'qfSalesInfo' + } + ] + + key sales_order_key, + @UI:{ lineItem: [ { position:10 } ], + selectionField: [{ position:10 }] } + @UI.fieldGroup: [{ qualifier: 'qfSalesInfo', + position: 10 }] + + sales_order_id, + created_by_key, + changed_by_key, + @UI.lineItem: [{position:20}] + created_at, + @UI.lineItem: [{position:30}] + changed_at, + created_by_id, + changed_by_id, + note_key, + @UI.lineItem: [{position:40}] + @UI.fieldGroup: [{ qualifier: 'qfSalesInfo', + position: 20 }] + sales_opportunity_id, + @UI.lineItem: [{position:50}] + currency_code, + @UI.lineItem: [{position:60}] + @UI.fieldGroup: [{ qualifier: 'qfSalesInfo', + position: 30 }] + gross_amount, + @UI.lineItem: [{position:70}] + @UI.fieldGroup: [{ qualifier: 'qfSalesInfo', + position: 40 }] + net_amount, + @UI.lineItem: [{position:80}] + @UI.fieldGroup: [{ qualifier: 'qfSalesInfo', + position: 50 }] + tax_amount, + @UI: { lineItem: [ { position:90 }, + { type: #FOR_ACTION, + dataAction: 'set_status_progress', + label: 'Set Progress' } ], + selectionField: [{ position:20 }] } + @UI.fieldGroup: [{ qualifier: 'qfSalesInfo', + position: 60 }] + lifecycle_status, + @UI.lineItem: [{position:100}] + billing_status, + @UI.lineItem: [{position:110}] + delivery_status, + buyer_key, + @UI: { lineItem: [ { position:120 } ], + selectionField: [{ position:40 }] } + first_name, + @UI.lineItem: [{position:130}] + email_address, + @UI.lineItem: [{position:140}] + phone_number, + + /* Associations */ + changed_by_employee, + created_by_employee, + items +} diff --git a/src/zbr_p_salesorder.ddls.baseinfo b/src/zbr_p_salesorder.ddls.baseinfo new file mode 100644 index 0000000..a97a098 --- /dev/null +++ b/src/zbr_p_salesorder.ddls.baseinfo @@ -0,0 +1,24 @@ +{ +"BASEINFO": +{ +"FROM": +[ +"ZBR_I_SALESORDER" +], +"ASSOCIATED": +[ +"SEPM_SDDL_EMPLOYEES", +"SEPM_SDDL_SALESORDER_ITEM" +], +"BASE": +[ +"ZBR_I_SALESORDER" +], +"ANNO_REF": +[], +"SCALAR_FUNCTION": +[], +"VERSION":0, +"ANNOREF_EVALUATION_ERROR":"" +} +} \ No newline at end of file diff --git a/src/zbr_p_salesorder.ddls.xml b/src/zbr_p_salesorder.ddls.xml new file mode 100644 index 0000000..f19504b --- /dev/null +++ b/src/zbr_p_salesorder.ddls.xml @@ -0,0 +1,13 @@ + + + + + + ZBR_P_SALESORDER + E + Sales Order + P + + + + diff --git a/src/zcl_zgw_po_dpc.clas.abap b/src/zcl_zgw_po_dpc.clas.abap new file mode 100644 index 0000000..5bc104e --- /dev/null +++ b/src/zcl_zgw_po_dpc.clas.abap @@ -0,0 +1,789 @@ +class ZCL_ZGW_PO_DPC definition + public + inheriting from /IWBEP/CL_MGW_PUSH_ABS_DATA + abstract + create public . + +public section. + + interfaces /IWBEP/IF_SB_DPC_COMM_SERVICES . + interfaces /IWBEP/IF_SB_GEN_DPC_INJECTION . + + methods /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_ENTITYSET + redefinition . + methods /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_ENTITY + redefinition . + methods /IWBEP/IF_MGW_APPL_SRV_RUNTIME~UPDATE_ENTITY + redefinition . + methods /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_ENTITY + redefinition . + methods /IWBEP/IF_MGW_APPL_SRV_RUNTIME~DELETE_ENTITY + redefinition . +protected section. + + data mo_injection type ref to /IWBEP/IF_SB_GEN_DPC_INJECTION . + + methods SOHEADERSET_CREATE_ENTITY + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITY_C optional + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + !IO_DATA_PROVIDER type ref to /IWBEP/IF_MGW_ENTRY_PROVIDER optional + exporting + !ER_ENTITY type ZCL_ZGW_PO_MPC=>TS_SOHEADER + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOHEADERSET_DELETE_ENTITY + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITY_D optional + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOHEADERSET_GET_ENTITY + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IO_REQUEST_OBJECT type ref to /IWBEP/IF_MGW_REQ_ENTITY optional + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITY optional + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + exporting + !ER_ENTITY type ZCL_ZGW_PO_MPC=>TS_SOHEADER + !ES_RESPONSE_CONTEXT type /IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_ENTITY_CNTXT + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOHEADERSET_GET_ENTITYSET + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_FILTER_SELECT_OPTIONS type /IWBEP/T_MGW_SELECT_OPTION + !IS_PAGING type /IWBEP/S_MGW_PAGING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + !IT_ORDER type /IWBEP/T_MGW_SORTING_ORDER + !IV_FILTER_STRING type STRING + !IV_SEARCH_STRING type STRING + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITYSET optional + exporting + !ET_ENTITYSET type ZCL_ZGW_PO_MPC=>TT_SOHEADER + !ES_RESPONSE_CONTEXT type /IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_CONTEXT + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOHEADERSET_UPDATE_ENTITY + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITY_U optional + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + !IO_DATA_PROVIDER type ref to /IWBEP/IF_MGW_ENTRY_PROVIDER optional + exporting + !ER_ENTITY type ZCL_ZGW_PO_MPC=>TS_SOHEADER + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOITEMSET_CREATE_ENTITY + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITY_C optional + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + !IO_DATA_PROVIDER type ref to /IWBEP/IF_MGW_ENTRY_PROVIDER optional + exporting + !ER_ENTITY type ZCL_ZGW_PO_MPC=>TS_SOITEM + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOITEMSET_DELETE_ENTITY + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITY_D optional + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOITEMSET_GET_ENTITY + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IO_REQUEST_OBJECT type ref to /IWBEP/IF_MGW_REQ_ENTITY optional + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITY optional + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + exporting + !ER_ENTITY type ZCL_ZGW_PO_MPC=>TS_SOITEM + !ES_RESPONSE_CONTEXT type /IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_ENTITY_CNTXT + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOITEMSET_GET_ENTITYSET + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_FILTER_SELECT_OPTIONS type /IWBEP/T_MGW_SELECT_OPTION + !IS_PAGING type /IWBEP/S_MGW_PAGING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + !IT_ORDER type /IWBEP/T_MGW_SORTING_ORDER + !IV_FILTER_STRING type STRING + !IV_SEARCH_STRING type STRING + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITYSET optional + exporting + !ET_ENTITYSET type ZCL_ZGW_PO_MPC=>TT_SOITEM + !ES_RESPONSE_CONTEXT type /IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_CONTEXT + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + methods SOITEMSET_UPDATE_ENTITY + importing + !IV_ENTITY_NAME type STRING + !IV_ENTITY_SET_NAME type STRING + !IV_SOURCE_NAME type STRING + !IT_KEY_TAB type /IWBEP/T_MGW_NAME_VALUE_PAIR + !IO_TECH_REQUEST_CONTEXT type ref to /IWBEP/IF_MGW_REQ_ENTITY_U optional + !IT_NAVIGATION_PATH type /IWBEP/T_MGW_NAVIGATION_PATH + !IO_DATA_PROVIDER type ref to /IWBEP/IF_MGW_ENTRY_PROVIDER optional + exporting + !ER_ENTITY type ZCL_ZGW_PO_MPC=>TS_SOITEM + raising + /IWBEP/CX_MGW_BUSI_EXCEPTION + /IWBEP/CX_MGW_TECH_EXCEPTION . + + methods CHECK_SUBSCRIPTION_AUTHORITY + redefinition . +private section. +ENDCLASS. + + + +CLASS ZCL_ZGW_PO_DPC IMPLEMENTATION. + + + method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_ENTITY. +*&----------------------------------------------------------------------------------------------* +*& Include /IWBEP/DPC_TEMP_CRT_ENTITY_BASE +*&* This class has been generated on 04.08.2025 07:56:00 in client 001 +*&* +*&* WARNING--> NEVER MODIFY THIS CLASS <--WARNING +*&* If you want to change the DPC implementation, use the +*&* generated methods inside the DPC provider subclass - ZCL_ZGW_PO_DPC_EXT +*&-----------------------------------------------------------------------------------------------* + + DATA soheaderset_create_entity TYPE zcl_zgw_po_mpc=>ts_soheader. + DATA soitemset_create_entity TYPE zcl_zgw_po_mpc=>ts_soitem. + DATA lv_entityset_name TYPE string. + +lv_entityset_name = io_tech_request_context->get_entity_set_name( ). + +CASE lv_entityset_name. +*-------------------------------------------------------------------------* +* EntitySet - SOHeaderSet +*-------------------------------------------------------------------------* + WHEN 'SOHeaderSet'. +* Call the entity set generated method + soheaderset_create_entity( + EXPORTING iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + io_data_provider = io_data_provider + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + io_tech_request_context = io_tech_request_context + IMPORTING er_entity = soheaderset_create_entity + ). +* Send specific entity data to the caller interfaces + copy_data_to_ref( + EXPORTING + is_data = soheaderset_create_entity + CHANGING + cr_data = er_entity + ). + +*-------------------------------------------------------------------------* +* EntitySet - SOItemSet +*-------------------------------------------------------------------------* + WHEN 'SOItemSet'. +* Call the entity set generated method + soitemset_create_entity( + EXPORTING iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + io_data_provider = io_data_provider + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + io_tech_request_context = io_tech_request_context + IMPORTING er_entity = soitemset_create_entity + ). +* Send specific entity data to the caller interfaces + copy_data_to_ref( + EXPORTING + is_data = soitemset_create_entity + CHANGING + cr_data = er_entity + ). + + when others. + super->/iwbep/if_mgw_appl_srv_runtime~create_entity( + EXPORTING + iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + io_data_provider = io_data_provider + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + IMPORTING + er_entity = er_entity + ). +ENDCASE. + endmethod. + + + method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~DELETE_ENTITY. +*&----------------------------------------------------------------------------------------------* +*& Include /IWBEP/DPC_TEMP_DEL_ENTITY_BASE +*&* This class has been generated on 04.08.2025 07:56:00 in client 001 +*&* +*&* WARNING--> NEVER MODIFY THIS CLASS <--WARNING +*&* If you want to change the DPC implementation, use the +*&* generated methods inside the DPC provider subclass - ZCL_ZGW_PO_DPC_EXT +*&-----------------------------------------------------------------------------------------------* + + DATA lv_entityset_name TYPE string. + +lv_entityset_name = io_tech_request_context->get_entity_set_name( ). + +CASE lv_entityset_name. +*-------------------------------------------------------------------------* +* EntitySet - SOHeaderSet +*-------------------------------------------------------------------------* + when 'SOHeaderSet'. +* Call the entity set generated method + soheaderset_delete_entity( + EXPORTING iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + io_tech_request_context = io_tech_request_context + ). + +*-------------------------------------------------------------------------* +* EntitySet - SOItemSet +*-------------------------------------------------------------------------* + when 'SOItemSet'. +* Call the entity set generated method + soitemset_delete_entity( + EXPORTING iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + io_tech_request_context = io_tech_request_context + ). + + when others. + super->/iwbep/if_mgw_appl_srv_runtime~delete_entity( + EXPORTING + iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + ). + ENDCASE. + endmethod. + + + method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_ENTITY. +*&-----------------------------------------------------------------------------------------------* +*& Include /IWBEP/DPC_TEMP_GETENTITY_BASE +*&* This class has been generated on 04.08.2025 07:56:00 in client 001 +*&* +*&* WARNING--> NEVER MODIFY THIS CLASS <--WARNING +*&* If you want to change the DPC implementation, use the +*&* generated methods inside the DPC provider subclass - ZCL_ZGW_PO_DPC_EXT +*&-----------------------------------------------------------------------------------------------* + + DATA soheaderset_get_entity TYPE zcl_zgw_po_mpc=>ts_soheader. + DATA soitemset_get_entity TYPE zcl_zgw_po_mpc=>ts_soitem. + DATA lv_entityset_name TYPE string. + DATA lr_entity TYPE REF TO data. "#EC NEEDED + +lv_entityset_name = io_tech_request_context->get_entity_set_name( ). + +CASE lv_entityset_name. +*-------------------------------------------------------------------------* +* EntitySet - SOHeaderSet +*-------------------------------------------------------------------------* + WHEN 'SOHeaderSet'. +* Call the entity set generated method + soheaderset_get_entity( + EXPORTING iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + io_tech_request_context = io_tech_request_context + IMPORTING er_entity = soheaderset_get_entity + es_response_context = es_response_context + ). + + IF soheaderset_get_entity IS NOT INITIAL. +* Send specific entity data to the caller interface + copy_data_to_ref( + EXPORTING + is_data = soheaderset_get_entity + CHANGING + cr_data = er_entity + ). + ELSE. +* In case of initial values - unbind the entity reference + er_entity = lr_entity. + ENDIF. +*-------------------------------------------------------------------------* +* EntitySet - SOItemSet +*-------------------------------------------------------------------------* + WHEN 'SOItemSet'. +* Call the entity set generated method + soitemset_get_entity( + EXPORTING iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + io_tech_request_context = io_tech_request_context + IMPORTING er_entity = soitemset_get_entity + es_response_context = es_response_context + ). + + IF soitemset_get_entity IS NOT INITIAL. +* Send specific entity data to the caller interface + copy_data_to_ref( + EXPORTING + is_data = soitemset_get_entity + CHANGING + cr_data = er_entity + ). + ELSE. +* In case of initial values - unbind the entity reference + er_entity = lr_entity. + ENDIF. + + WHEN OTHERS. + super->/iwbep/if_mgw_appl_srv_runtime~get_entity( + EXPORTING + iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + IMPORTING + er_entity = er_entity + ). + ENDCASE. + endmethod. + + + method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_ENTITYSET. +*&----------------------------------------------------------------------------------------------* +*& Include /IWBEP/DPC_TMP_ENTITYSET_BASE +*&* This class has been generated on 04.08.2025 07:56:00 in client 001 +*&* +*&* WARNING--> NEVER MODIFY THIS CLASS <--WARNING +*&* If you want to change the DPC implementation, use the +*&* generated methods inside the DPC provider subclass - ZCL_ZGW_PO_DPC_EXT +*&-----------------------------------------------------------------------------------------------* + DATA soheaderset_get_entityset TYPE zcl_zgw_po_mpc=>tt_soheader. + DATA soitemset_get_entityset TYPE zcl_zgw_po_mpc=>tt_soitem. + DATA lv_entityset_name TYPE string. + +lv_entityset_name = io_tech_request_context->get_entity_set_name( ). + +CASE lv_entityset_name. +*-------------------------------------------------------------------------* +* EntitySet - SOHeaderSet +*-------------------------------------------------------------------------* + WHEN 'SOHeaderSet'. +* Call the entity set generated method + soheaderset_get_entityset( + EXPORTING + iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_filter_select_options = it_filter_select_options + it_order = it_order + is_paging = is_paging + it_navigation_path = it_navigation_path + it_key_tab = it_key_tab + iv_filter_string = iv_filter_string + iv_search_string = iv_search_string + io_tech_request_context = io_tech_request_context + IMPORTING + et_entityset = soheaderset_get_entityset + es_response_context = es_response_context + ). +* Send specific entity data to the caller interface + copy_data_to_ref( + EXPORTING + is_data = soheaderset_get_entityset + CHANGING + cr_data = er_entityset + ). + +*-------------------------------------------------------------------------* +* EntitySet - SOItemSet +*-------------------------------------------------------------------------* + WHEN 'SOItemSet'. +* Call the entity set generated method + soitemset_get_entityset( + EXPORTING + iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_filter_select_options = it_filter_select_options + it_order = it_order + is_paging = is_paging + it_navigation_path = it_navigation_path + it_key_tab = it_key_tab + iv_filter_string = iv_filter_string + iv_search_string = iv_search_string + io_tech_request_context = io_tech_request_context + IMPORTING + et_entityset = soitemset_get_entityset + es_response_context = es_response_context + ). +* Send specific entity data to the caller interface + copy_data_to_ref( + EXPORTING + is_data = soitemset_get_entityset + CHANGING + cr_data = er_entityset + ). + + WHEN OTHERS. + super->/iwbep/if_mgw_appl_srv_runtime~get_entityset( + EXPORTING + iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + it_filter_select_options = it_filter_select_options + it_order = it_order + is_paging = is_paging + it_navigation_path = it_navigation_path + it_key_tab = it_key_tab + iv_filter_string = iv_filter_string + iv_search_string = iv_search_string + io_tech_request_context = io_tech_request_context + IMPORTING + er_entityset = er_entityset ). + ENDCASE. + endmethod. + + + method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~UPDATE_ENTITY. +*&----------------------------------------------------------------------------------------------* +*& Include /IWBEP/DPC_TEMP_UPD_ENTITY_BASE +*&* This class has been generated on 04.08.2025 07:56:00 in client 001 +*&* +*&* WARNING--> NEVER MODIFY THIS CLASS <--WARNING +*&* If you want to change the DPC implementation, use the +*&* generated methods inside the DPC provider subclass - ZCL_ZGW_PO_DPC_EXT +*&-----------------------------------------------------------------------------------------------* + + DATA soheaderset_update_entity TYPE zcl_zgw_po_mpc=>ts_soheader. + DATA soitemset_update_entity TYPE zcl_zgw_po_mpc=>ts_soitem. + DATA lv_entityset_name TYPE string. + DATA lr_entity TYPE REF TO data. "#EC NEEDED + +lv_entityset_name = io_tech_request_context->get_entity_set_name( ). + +CASE lv_entityset_name. +*-------------------------------------------------------------------------* +* EntitySet - SOHeaderSet +*-------------------------------------------------------------------------* + WHEN 'SOHeaderSet'. +* Call the entity set generated method + soheaderset_update_entity( + EXPORTING iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + io_data_provider = io_data_provider + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + io_tech_request_context = io_tech_request_context + IMPORTING er_entity = soheaderset_update_entity + ). + IF soheaderset_update_entity IS NOT INITIAL. +* Send specific entity data to the caller interface + copy_data_to_ref( + EXPORTING + is_data = soheaderset_update_entity + CHANGING + cr_data = er_entity + ). + ELSE. +* In case of initial values - unbind the entity reference + er_entity = lr_entity. + ENDIF. +*-------------------------------------------------------------------------* +* EntitySet - SOItemSet +*-------------------------------------------------------------------------* + WHEN 'SOItemSet'. +* Call the entity set generated method + soitemset_update_entity( + EXPORTING iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + io_data_provider = io_data_provider + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + io_tech_request_context = io_tech_request_context + IMPORTING er_entity = soitemset_update_entity + ). + IF soitemset_update_entity IS NOT INITIAL. +* Send specific entity data to the caller interface + copy_data_to_ref( + EXPORTING + is_data = soitemset_update_entity + CHANGING + cr_data = er_entity + ). + ELSE. +* In case of initial values - unbind the entity reference + er_entity = lr_entity. + ENDIF. + WHEN OTHERS. + super->/iwbep/if_mgw_appl_srv_runtime~update_entity( + EXPORTING + iv_entity_name = iv_entity_name + iv_entity_set_name = iv_entity_set_name + iv_source_name = iv_source_name + io_data_provider = io_data_provider + it_key_tab = it_key_tab + it_navigation_path = it_navigation_path + IMPORTING + er_entity = er_entity + ). + ENDCASE. + endmethod. + + + method /IWBEP/IF_SB_DPC_COMM_SERVICES~COMMIT_WORK. +* Call RFC commit work functionality +DATA lt_message TYPE bapiret2. "#EC NEEDED +DATA lv_message_text TYPE BAPI_MSG. +DATA lo_logger TYPE REF TO /iwbep/cl_cos_logger. +DATA lv_subrc TYPE syst-subrc. + +lo_logger = /iwbep/if_mgw_conv_srv_runtime~get_logger( ). + + IF iv_rfc_dest IS INITIAL OR iv_rfc_dest EQ 'NONE'. + CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' + EXPORTING + wait = abap_true + IMPORTING + return = lt_message. + ELSE. + CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' + DESTINATION iv_rfc_dest + EXPORTING + wait = abap_true + IMPORTING + return = lt_message + EXCEPTIONS + communication_failure = 1000 MESSAGE lv_message_text + system_failure = 1001 MESSAGE lv_message_text + OTHERS = 1002. + + IF sy-subrc <> 0. + lv_subrc = sy-subrc. + /iwbep/cl_sb_gen_dpc_rt_util=>rfc_exception_handling( + EXPORTING + iv_subrc = lv_subrc + iv_exp_message_text = lv_message_text + io_logger = lo_logger ). + ENDIF. + ENDIF. + endmethod. + + + method /IWBEP/IF_SB_DPC_COMM_SERVICES~GET_GENERATION_STRATEGY. +* Get generation strategy + rv_generation_strategy = '1'. + endmethod. + + + method /IWBEP/IF_SB_DPC_COMM_SERVICES~LOG_MESSAGE. +* Log message in the application log +DATA lo_logger TYPE REF TO /iwbep/cl_cos_logger. +DATA lv_text TYPE /iwbep/sup_msg_longtext. + + MESSAGE ID iv_msg_id TYPE iv_msg_type NUMBER iv_msg_number + WITH iv_msg_v1 iv_msg_v2 iv_msg_v3 iv_msg_v4 INTO lv_text. + + lo_logger = mo_context->get_logger( ). + lo_logger->log_message( + EXPORTING + iv_msg_type = iv_msg_type + iv_msg_id = iv_msg_id + iv_msg_number = iv_msg_number + iv_msg_text = lv_text + iv_msg_v1 = iv_msg_v1 + iv_msg_v2 = iv_msg_v2 + iv_msg_v3 = iv_msg_v3 + iv_msg_v4 = iv_msg_v4 + iv_agent = 'DPC' ). + endmethod. + + + method /IWBEP/IF_SB_DPC_COMM_SERVICES~RFC_EXCEPTION_HANDLING. +* RFC call exception handling +DATA lo_logger TYPE REF TO /iwbep/cl_cos_logger. + +lo_logger = /iwbep/if_mgw_conv_srv_runtime~get_logger( ). + +/iwbep/cl_sb_gen_dpc_rt_util=>rfc_exception_handling( + EXPORTING + iv_subrc = iv_subrc + iv_exp_message_text = iv_exp_message_text + io_logger = lo_logger ). + endmethod. + + + method /IWBEP/IF_SB_DPC_COMM_SERVICES~RFC_SAVE_LOG. + DATA lo_logger TYPE REF TO /iwbep/cl_cos_logger. + DATA lo_message_container TYPE REF TO /iwbep/if_message_container. + + lo_logger = /iwbep/if_mgw_conv_srv_runtime~get_logger( ). + lo_message_container = /iwbep/if_mgw_conv_srv_runtime~get_message_container( ). + + " Save the RFC call log in the application log + /iwbep/cl_sb_gen_dpc_rt_util=>rfc_save_log( + EXPORTING + is_return = is_return + iv_entity_type = iv_entity_type + it_return = it_return + it_key_tab = it_key_tab + io_logger = lo_logger + io_message_container = lo_message_container ). + endmethod. + + + method /IWBEP/IF_SB_DPC_COMM_SERVICES~SET_INJECTION. +* Unit test injection + IF io_unit IS BOUND. + mo_injection = io_unit. + ELSE. + mo_injection = me. + ENDIF. + endmethod. + + + method CHECK_SUBSCRIPTION_AUTHORITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'CHECK_SUBSCRIPTION_AUTHORITY'. + endmethod. + + + method SOHEADERSET_CREATE_ENTITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOHEADERSET_CREATE_ENTITY'. + endmethod. + + + method SOHEADERSET_DELETE_ENTITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOHEADERSET_DELETE_ENTITY'. + endmethod. + + + method SOHEADERSET_GET_ENTITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOHEADERSET_GET_ENTITY'. + endmethod. + + + method SOHEADERSET_GET_ENTITYSET. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOHEADERSET_GET_ENTITYSET'. + endmethod. + + + method SOHEADERSET_UPDATE_ENTITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOHEADERSET_UPDATE_ENTITY'. + endmethod. + + + method SOITEMSET_CREATE_ENTITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOITEMSET_CREATE_ENTITY'. + endmethod. + + + method SOITEMSET_DELETE_ENTITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOITEMSET_DELETE_ENTITY'. + endmethod. + + + method SOITEMSET_GET_ENTITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOITEMSET_GET_ENTITY'. + endmethod. + + + method SOITEMSET_GET_ENTITYSET. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOITEMSET_GET_ENTITYSET'. + endmethod. + + + method SOITEMSET_UPDATE_ENTITY. + RAISE EXCEPTION TYPE /iwbep/cx_mgw_not_impl_exc + EXPORTING + textid = /iwbep/cx_mgw_not_impl_exc=>method_not_implemented + method = 'SOITEMSET_UPDATE_ENTITY'. + endmethod. +ENDCLASS. diff --git a/src/zcl_zgw_po_dpc.clas.xml b/src/zcl_zgw_po_dpc.clas.xml new file mode 100644 index 0000000..a3f63e9 --- /dev/null +++ b/src/zcl_zgw_po_dpc.clas.xml @@ -0,0 +1,442 @@ + + + + + + ZCL_ZGW_PO_DPC + E + Data Provider Base Class + 1 + X + X + X + + + + SOHEADERSET_CREATE_ENTITY + E + Related EntitySet Name: SOHeaderSet + + + SOHEADERSET_DELETE_ENTITY + E + Related EntitySet Name: SOHeaderSet + + + SOHEADERSET_GET_ENTITY + E + Related EntitySet Name: SOHeaderSet + + + SOHEADERSET_GET_ENTITYSET + E + Related EntitySet Name: SOHeaderSet + + + SOHEADERSET_UPDATE_ENTITY + E + Related EntitySet Name: SOHeaderSet + + + SOITEMSET_CREATE_ENTITY + E + Related EntitySet Name: SOItemSet + + + SOITEMSET_DELETE_ENTITY + E + Related EntitySet Name: SOItemSet + + + SOITEMSET_GET_ENTITY + E + Related EntitySet Name: SOItemSet + + + SOITEMSET_GET_ENTITYSET + E + Related EntitySet Name: SOItemSet + + + SOITEMSET_UPDATE_ENTITY + E + Related EntitySet Name: SOItemSet + + + + + SOHEADERSET_CREATE_ENTITY + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOHEADERSET_CREATE_ENTITY + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOHEADERSET_CREATE_ENTITY + ER_ENTITY + E + Returning data + + + SOHEADERSET_CREATE_ENTITY + IO_DATA_PROVIDER + E + MGW Entry Data Provider + + + SOHEADERSET_CREATE_ENTITY + IT_KEY_TAB + E + table for name value pairs + + + SOHEADERSET_CREATE_ENTITY + IT_NAVIGATION_PATH + E + table of navigation paths + + + SOHEADERSET_DELETE_ENTITY + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOHEADERSET_DELETE_ENTITY + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOHEADERSET_DELETE_ENTITY + IT_KEY_TAB + E + table for name value pairs + + + SOHEADERSET_DELETE_ENTITY + IT_NAVIGATION_PATH + E + table of navigation paths + + + SOHEADERSET_GET_ENTITY + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOHEADERSET_GET_ENTITY + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOHEADERSET_GET_ENTITY + ER_ENTITY + E + Returning data + + + SOHEADERSET_GET_ENTITY + IO_REQUEST_OBJECT + E + table of navigation paths + + + SOHEADERSET_GET_ENTITY + IT_KEY_TAB + E + table for name value pairs + + + SOHEADERSET_GET_ENTITY + IT_NAVIGATION_PATH + E + table of navigation paths + + + SOHEADERSET_GET_ENTITYSET + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOHEADERSET_GET_ENTITYSET + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOHEADERSET_GET_ENTITYSET + ET_ENTITYSET + E + Returning data + + + SOHEADERSET_GET_ENTITYSET + IS_PAGING + E + Paging structure + + + SOHEADERSET_GET_ENTITYSET + IT_FILTER_SELECT_OPTIONS + E + Table of select options + + + SOHEADERSET_GET_ENTITYSET + IT_KEY_TAB + E + Table for name value pairs + + + SOHEADERSET_GET_ENTITYSET + IT_NAVIGATION_PATH + E + Table of navigation paths + + + SOHEADERSET_GET_ENTITYSET + IT_ORDER + E + The sorting order + + + SOHEADERSET_GET_ENTITYSET + IV_FILTER_STRING + E + Table for name value pairs + + + SOHEADERSET_UPDATE_ENTITY + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOHEADERSET_UPDATE_ENTITY + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOHEADERSET_UPDATE_ENTITY + ER_ENTITY + E + Returning data + + + SOHEADERSET_UPDATE_ENTITY + IO_DATA_PROVIDER + E + MGW Entry Data Provider + + + SOHEADERSET_UPDATE_ENTITY + IT_KEY_TAB + E + table for name value pairs + + + SOHEADERSET_UPDATE_ENTITY + IT_NAVIGATION_PATH + E + table of navigation paths + + + SOITEMSET_CREATE_ENTITY + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOITEMSET_CREATE_ENTITY + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOITEMSET_CREATE_ENTITY + ER_ENTITY + E + Returning data + + + SOITEMSET_CREATE_ENTITY + IO_DATA_PROVIDER + E + MGW Entry Data Provider + + + SOITEMSET_CREATE_ENTITY + IT_KEY_TAB + E + table for name value pairs + + + SOITEMSET_CREATE_ENTITY + IT_NAVIGATION_PATH + E + table of navigation paths + + + SOITEMSET_DELETE_ENTITY + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOITEMSET_DELETE_ENTITY + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOITEMSET_DELETE_ENTITY + IT_KEY_TAB + E + table for name value pairs + + + SOITEMSET_DELETE_ENTITY + IT_NAVIGATION_PATH + E + table of navigation paths + + + SOITEMSET_GET_ENTITY + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOITEMSET_GET_ENTITY + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOITEMSET_GET_ENTITY + ER_ENTITY + E + Returning data + + + SOITEMSET_GET_ENTITY + IO_REQUEST_OBJECT + E + table of navigation paths + + + SOITEMSET_GET_ENTITY + IT_KEY_TAB + E + table for name value pairs + + + SOITEMSET_GET_ENTITY + IT_NAVIGATION_PATH + E + table of navigation paths + + + SOITEMSET_GET_ENTITYSET + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOITEMSET_GET_ENTITYSET + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOITEMSET_GET_ENTITYSET + ET_ENTITYSET + E + Returning data + + + SOITEMSET_GET_ENTITYSET + IS_PAGING + E + Paging structure + + + SOITEMSET_GET_ENTITYSET + IT_FILTER_SELECT_OPTIONS + E + Table of select options + + + SOITEMSET_GET_ENTITYSET + IT_KEY_TAB + E + Table for name value pairs + + + SOITEMSET_GET_ENTITYSET + IT_NAVIGATION_PATH + E + Table of navigation paths + + + SOITEMSET_GET_ENTITYSET + IT_ORDER + E + The sorting order + + + SOITEMSET_GET_ENTITYSET + IV_FILTER_STRING + E + Table for name value pairs + + + SOITEMSET_UPDATE_ENTITY + /IWBEP/CX_MGW_BUSI_EXCEPTION + E + business exception in mgw + + + SOITEMSET_UPDATE_ENTITY + /IWBEP/CX_MGW_TECH_EXCEPTION + E + mgw technical exception + + + SOITEMSET_UPDATE_ENTITY + ER_ENTITY + E + Returning data + + + SOITEMSET_UPDATE_ENTITY + IO_DATA_PROVIDER + E + MGW Entry Data Provider + + + SOITEMSET_UPDATE_ENTITY + IT_KEY_TAB + E + table for name value pairs + + + SOITEMSET_UPDATE_ENTITY + IT_NAVIGATION_PATH + E + table of navigation paths + + + + + diff --git a/src/zcl_zgw_po_dpc_ext.clas.abap b/src/zcl_zgw_po_dpc_ext.clas.abap new file mode 100644 index 0000000..187f4e3 --- /dev/null +++ b/src/zcl_zgw_po_dpc_ext.clas.abap @@ -0,0 +1,45 @@ +class ZCL_ZGW_PO_DPC_EXT definition + public + inheriting from ZCL_ZGW_PO_DPC + create public . + +public section. +protected section. + + methods SOHEADERSET_GET_ENTITYSET + redefinition . +private section. +ENDCLASS. + + + +CLASS ZCL_ZGW_PO_DPC_EXT IMPLEMENTATION. + + + method SOHEADERSET_GET_ENTITYSET. +**TRY. +*CALL METHOD SUPER->SOHEADERSET_GET_ENTITYSET +* EXPORTING +* IV_ENTITY_NAME = +* IV_ENTITY_SET_NAME = +* IV_SOURCE_NAME = +* IT_FILTER_SELECT_OPTIONS = +* IS_PAGING = +* IT_KEY_TAB = +* IT_NAVIGATION_PATH = +* IT_ORDER = +* IV_FILTER_STRING = +* IV_SEARCH_STRING = +** io_tech_request_context = +** IMPORTING +** et_entityset = +** es_response_context = +* . +** CATCH /iwbep/cx_mgw_busi_exception. +** CATCH /iwbep/cx_mgw_tech_exception. +**ENDTRY. + SELECT * UP TO 10 ROWS + FROM zdemo_soh + INTO CORRESPONDING FIELDS OF TABLE et_entityset. + endmethod. +ENDCLASS. diff --git a/src/zcl_zgw_po_dpc_ext.clas.xml b/src/zcl_zgw_po_dpc_ext.clas.xml new file mode 100644 index 0000000..535618e --- /dev/null +++ b/src/zcl_zgw_po_dpc_ext.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_ZGW_PO_DPC_EXT + E + Data Provider Secondary Class + 1 + X + X + X + + + + diff --git a/src/zcl_zgw_po_mpc.clas.abap b/src/zcl_zgw_po_mpc.clas.abap new file mode 100644 index 0000000..d014b6e --- /dev/null +++ b/src/zcl_zgw_po_mpc.clas.abap @@ -0,0 +1,336 @@ +class ZCL_ZGW_PO_MPC definition + public + inheriting from /IWBEP/CL_MGW_PUSH_ABS_MODEL + create public . + +public section. + + types: + TS_SOHEADER type ZDEMO_SOH . + types: +TT_SOHEADER type standard table of TS_SOHEADER . + types: + begin of ts_text_element, + artifact_name type c length 40, " technical name + artifact_type type c length 4, + parent_artifact_name type c length 40, " technical name + parent_artifact_type type c length 4, + text_symbol type textpoolky, + end of ts_text_element . + types: + tt_text_elements type standard table of ts_text_element with key text_symbol . + types: + TS_SOITEM type ZDEMO_SOI . + types: +TT_SOITEM type standard table of TS_SOITEM . + + constants GC_SOHEADER type /IWBEP/IF_MGW_MED_ODATA_TYPES=>TY_E_MED_ENTITY_NAME value 'SOHeader' ##NO_TEXT. + constants GC_SOITEM type /IWBEP/IF_MGW_MED_ODATA_TYPES=>TY_E_MED_ENTITY_NAME value 'SOItem' ##NO_TEXT. + + methods LOAD_TEXT_ELEMENTS + final + returning + value(RT_TEXT_ELEMENTS) type TT_TEXT_ELEMENTS + raising + /IWBEP/CX_MGW_MED_EXCEPTION . + + methods DEFINE + redefinition . + methods GET_LAST_MODIFIED + redefinition . +protected section. +private section. + + methods DEFINE_SOHEADER + raising + /IWBEP/CX_MGW_MED_EXCEPTION . + methods DEFINE_SOITEM + raising + /IWBEP/CX_MGW_MED_EXCEPTION . +ENDCLASS. + + + +CLASS ZCL_ZGW_PO_MPC IMPLEMENTATION. + + + method DEFINE. +*&---------------------------------------------------------------------* +*& Generated code for the MODEL PROVIDER BASE CLASS &* +*& &* +*& !!!NEVER MODIFY THIS CLASS. IN CASE YOU WANT TO CHANGE THE MODEL &* +*& DO THIS IN THE MODEL PROVIDER SUBCLASS!!! &* +*& &* +*&---------------------------------------------------------------------* + +model->set_schema_namespace( 'ZGW_PO_SRV' ). + +define_soheader( ). +define_soitem( ). + endmethod. + + + method DEFINE_SOHEADER. +*&---------------------------------------------------------------------* +*& Generated code for the MODEL PROVIDER BASE CLASS &* +*& &* +*& !!!NEVER MODIFY THIS CLASS. IN CASE YOU WANT TO CHANGE THE MODEL &* +*& DO THIS IN THE MODEL PROVIDER SUBCLASS!!! &* +*& &* +*&---------------------------------------------------------------------* + + + data: + lo_annotation type ref to /iwbep/if_mgw_odata_annotation, "#EC NEEDED + lo_entity_type type ref to /iwbep/if_mgw_odata_entity_typ, "#EC NEEDED + lo_complex_type type ref to /iwbep/if_mgw_odata_cmplx_type, "#EC NEEDED + lo_property type ref to /iwbep/if_mgw_odata_property, "#EC NEEDED + lo_entity_set type ref to /iwbep/if_mgw_odata_entity_set. "#EC NEEDED + +*********************************************************************************************************************************** +* ENTITY - SOHeader +*********************************************************************************************************************************** + +lo_entity_type = model->create_entity_type( iv_entity_type_name = 'SOHeader' iv_def_entity_set = abap_false ). "#EC NOTEXT + +*********************************************************************************************************************************** +*Properties +*********************************************************************************************************************************** + +lo_property = lo_entity_type->create_property( iv_property_name = 'Salesorderuuid' iv_abap_fieldname = 'SALESORDERUUID' ). "#EC NOTEXT +lo_property->set_is_key( ). +lo_property->set_type_edm_guid( ). +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Salesorder' iv_abap_fieldname = 'SALESORDER' ). "#EC NOTEXT +lo_property->set_type_edm_string( ). +lo_property->set_maxlength( iv_max_length = 10 ). "#EC NOTEXT +lo_property->set_conversion_exit( 'ALPHA' ). "#EC NOTEXT +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Businesspartner' iv_abap_fieldname = 'BUSINESSPARTNER' ). "#EC NOTEXT +lo_property->set_type_edm_string( ). +lo_property->set_maxlength( iv_max_length = 10 ). "#EC NOTEXT +lo_property->set_conversion_exit( 'ALPHA' ). "#EC NOTEXT +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Overallstatus' iv_abap_fieldname = 'OVERALLSTATUS' ). "#EC NOTEXT +lo_property->set_type_edm_string( ). +lo_property->set_maxlength( iv_max_length = 1 ). "#EC NOTEXT +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). + +lo_entity_type->bind_structure( iv_structure_name = 'ZDEMO_SOH' + iv_bind_conversions = 'X' ). "#EC NOTEXT + + +*********************************************************************************************************************************** +* ENTITY SETS +*********************************************************************************************************************************** +lo_entity_set = lo_entity_type->create_entity_set( 'SOHeaderSet' ). "#EC NOTEXT + +lo_entity_set->set_creatable( abap_false ). +lo_entity_set->set_updatable( abap_false ). +lo_entity_set->set_deletable( abap_false ). + +lo_entity_set->set_pageable( abap_false ). +lo_entity_set->set_addressable( abap_true ). +lo_entity_set->set_has_ftxt_search( abap_false ). +lo_entity_set->set_subscribable( abap_false ). +lo_entity_set->set_filter_required( abap_false ). + endmethod. + + + method DEFINE_SOITEM. +*&---------------------------------------------------------------------* +*& Generated code for the MODEL PROVIDER BASE CLASS &* +*& &* +*& !!!NEVER MODIFY THIS CLASS. IN CASE YOU WANT TO CHANGE THE MODEL &* +*& DO THIS IN THE MODEL PROVIDER SUBCLASS!!! &* +*& &* +*&---------------------------------------------------------------------* + + + data: + lo_annotation type ref to /iwbep/if_mgw_odata_annotation, "#EC NEEDED + lo_entity_type type ref to /iwbep/if_mgw_odata_entity_typ, "#EC NEEDED + lo_complex_type type ref to /iwbep/if_mgw_odata_cmplx_type, "#EC NEEDED + lo_property type ref to /iwbep/if_mgw_odata_property, "#EC NEEDED + lo_entity_set type ref to /iwbep/if_mgw_odata_entity_set. "#EC NEEDED + +*********************************************************************************************************************************** +* ENTITY - SOItem +*********************************************************************************************************************************** + +lo_entity_type = model->create_entity_type( iv_entity_type_name = 'SOItem' iv_def_entity_set = abap_false ). "#EC NOTEXT + +*********************************************************************************************************************************** +*Properties +*********************************************************************************************************************************** + +lo_property = lo_entity_type->create_property( iv_property_name = 'Salesorderitemuuid' iv_abap_fieldname = 'SALESORDERITEMUUID' ). "#EC NOTEXT +lo_property->set_is_key( ). +lo_property->set_type_edm_guid( ). +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Salesorderuuid' iv_abap_fieldname = 'SALESORDERUUID' ). "#EC NOTEXT +lo_property->set_type_edm_guid( ). +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Salesorderitem' iv_abap_fieldname = 'SALESORDERITEM' ). "#EC NOTEXT +lo_property->set_type_edm_string( ). +lo_property->set_maxlength( iv_max_length = 10 ). "#EC NOTEXT +lo_property->set_conversion_exit( 'ALPHA' ). "#EC NOTEXT +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Product' iv_abap_fieldname = 'PRODUCT' ). "#EC NOTEXT +lo_property->set_type_edm_string( ). +lo_property->set_maxlength( iv_max_length = 10 ). "#EC NOTEXT +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Grossamount' iv_abap_fieldname = 'GROSSAMOUNT' ). "#EC NOTEXT +lo_property->set_type_edm_decimal( ). +lo_property->set_precison( iv_precision = 3 ). "#EC NOTEXT +lo_property->set_maxlength( iv_max_length = 16 ). "#EC NOTEXT +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Currencycode' iv_abap_fieldname = 'CURRENCYCODE' ). "#EC NOTEXT +lo_property->set_type_edm_string( ). +lo_property->set_maxlength( iv_max_length = 5 ). "#EC NOTEXT +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). +lo_property = lo_entity_type->create_property( iv_property_name = 'Quantity' iv_abap_fieldname = 'QUANTITY' ). "#EC NOTEXT +lo_property->set_type_edm_int32( ). +lo_property->set_creatable( abap_false ). +lo_property->set_updatable( abap_false ). +lo_property->set_sortable( abap_false ). +lo_property->set_nullable( abap_false ). +lo_property->set_filterable( abap_false ). +lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( 'sap' )->add( + EXPORTING + iv_key = 'unicode' + iv_value = 'false' ). + +lo_entity_type->bind_structure( iv_structure_name = 'ZDEMO_SOI' + iv_bind_conversions = 'X' ). "#EC NOTEXT + + +*********************************************************************************************************************************** +* ENTITY SETS +*********************************************************************************************************************************** +lo_entity_set = lo_entity_type->create_entity_set( 'SOItemSet' ). "#EC NOTEXT + +lo_entity_set->set_creatable( abap_false ). +lo_entity_set->set_updatable( abap_false ). +lo_entity_set->set_deletable( abap_false ). + +lo_entity_set->set_pageable( abap_false ). +lo_entity_set->set_addressable( abap_true ). +lo_entity_set->set_has_ftxt_search( abap_false ). +lo_entity_set->set_subscribable( abap_false ). +lo_entity_set->set_filter_required( abap_false ). + endmethod. + + + method GET_LAST_MODIFIED. +*&---------------------------------------------------------------------* +*& Generated code for the MODEL PROVIDER BASE CLASS &* +*& &* +*& !!!NEVER MODIFY THIS CLASS. IN CASE YOU WANT TO CHANGE THE MODEL &* +*& DO THIS IN THE MODEL PROVIDER SUBCLASS!!! &* +*& &* +*&---------------------------------------------------------------------* + + + CONSTANTS: lc_gen_date_time TYPE timestamp VALUE '20250804075554'. "#EC NOTEXT + rv_last_modified = super->get_last_modified( ). + IF rv_last_modified LT lc_gen_date_time. + rv_last_modified = lc_gen_date_time. + ENDIF. + endmethod. + + + method LOAD_TEXT_ELEMENTS. +*&---------------------------------------------------------------------* +*& Generated code for the MODEL PROVIDER BASE CLASS &* +*& &* +*& !!!NEVER MODIFY THIS CLASS. IN CASE YOU WANT TO CHANGE THE MODEL &* +*& DO THIS IN THE MODEL PROVIDER SUBCLASS!!! &* +*& &* +*&---------------------------------------------------------------------* + + +DATA: + ls_text_element TYPE ts_text_element. "#EC NEEDED + endmethod. +ENDCLASS. diff --git a/src/zcl_zgw_po_mpc.clas.xml b/src/zcl_zgw_po_mpc.clas.xml new file mode 100644 index 0000000..2578266 --- /dev/null +++ b/src/zcl_zgw_po_mpc.clas.xml @@ -0,0 +1,33 @@ + + + + + + ZCL_ZGW_PO_MPC + E + ZCL_ZGW_PO_MPC + 1 + X + X + X + + + + DEFINE_SOHEADER + E + DEFINE_SOHEADER + + + DEFINE_SOITEM + E + DEFINE_SOITEM + + + LOAD_TEXT_ELEMENTS + E + LOAD_TEXT_ELEMENTS + + + + + diff --git a/src/zcl_zgw_po_mpc_ext.clas.abap b/src/zcl_zgw_po_mpc_ext.clas.abap new file mode 100644 index 0000000..5007043 --- /dev/null +++ b/src/zcl_zgw_po_mpc_ext.clas.abap @@ -0,0 +1,14 @@ +class ZCL_ZGW_PO_MPC_EXT definition + public + inheriting from ZCL_ZGW_PO_MPC + create public . + +public section. +protected section. +private section. +ENDCLASS. + + + +CLASS ZCL_ZGW_PO_MPC_EXT IMPLEMENTATION. +ENDCLASS. diff --git a/src/zcl_zgw_po_mpc_ext.clas.xml b/src/zcl_zgw_po_mpc_ext.clas.xml new file mode 100644 index 0000000..9358627 --- /dev/null +++ b/src/zcl_zgw_po_mpc_ext.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_ZGW_PO_MPC_EXT + E + ZCL_ZGW_PO_MPC_EXT + 1 + X + X + X + + + + diff --git a/src/zgw_po.iwpr.xml b/src/zgw_po.iwpr.xml new file mode 100644 index 0000000..64c28c9 --- /dev/null +++ b/src/zgw_po.iwpr.xml @@ -0,0 +1,893 @@ + + + + + <_-IWBEP_-I_SBD_AT> + <_-IWBEP_-I_SBD_AT> + ZGW_PO + djzuY3CFH+CcoQ8cu92eFw== + djzuY3CFH+CcoIiRE8UeFw== + /IWBEP/CORE + PROJ + GENERATED_METHODS_RDS + V2_RDS + XML + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48YXN4OmFiYXAgdmVyc2lvbj0i +MS4wIiB4bWxuczphc3g9Imh0dHA6Ly93d3cuc2FwLmNvbS9hYmFweG1sIj48YXN4OnZhbHVlcz48 +R0VOLz48L2FzeDp2YWx1ZXM+PC9hc3g6YWJhcD4= + + + <_-IWBEP_-I_SBD_DS> + <_-IWBEP_-I_SBD_DS> + ZGW_PO + djzuY3CFH+CcoN2VUgoeFw== + djzuY3CFH+CcoIiRE8VeFw== + ZDEMO_SOH + 5 + + <_-IWBEP_-I_SBD_DS> + ZGW_PO + djzuY3CFH+CcoOh41tReFw== + djzuY3CFH+CcoIiRE8VeFw== + ZDEMO_SOI + 5 + + + <_-IWBEP_-I_SBD_DST> + <_-IWBEP_-I_SBD_DST> + E + ZGW_PO + djzuY3CFH+CcoN2VUgoeFw== + + <_-IWBEP_-I_SBD_DST> + E + ZGW_PO + djzuY3CFH+CcoOh41tReFw== + + + <_-IWBEP_-I_SBD_GA> + <_-IWBEP_-I_SBD_GA> + ZGW_PO + djzuY3CFH+CcoRAgWkQeFw== + ZCL_ZGW_PO_MPC + R3TR + CLAS + ZCL_ZGW_PO_MPC + MPCB + + <_-IWBEP_-I_SBD_GA> + ZGW_PO + djzuY3CFH+CcoRAgWkQ+Fw== + ZCL_ZGW_PO_MPC_EXT + R3TR + CLAS + ZCL_ZGW_PO_MPC_EXT + MPCS + + <_-IWBEP_-I_SBD_GA> + ZGW_PO + djzuY3CFH+CcoRAgWkReFw== + ZCL_ZGW_PO_DPC + R3TR + CLAS + ZCL_ZGW_PO_DPC + DPCB + + <_-IWBEP_-I_SBD_GA> + ZGW_PO + djzuY3CFH+CcoRAgWkR+Fw== + ZCL_ZGW_PO_DPC_EXT + R3TR + CLAS + ZCL_ZGW_PO_DPC_EXT + DPCS + + <_-IWBEP_-I_SBD_GA> + ZGW_PO + djzuY3CFH+CcoRAgWkSeFw== + ZGW_PO_MDL + R3TR + IWMO + ZGW_PO_MDL + MDL + + <_-IWBEP_-I_SBD_GA> + ZGW_PO + djzuY3CFH+CcoRAgWkS+Fw== + ZGW_PO_SRV + R3TR + IWSV + ZGW_PO_SRV + SRV + + + <_-IWBEP_-I_SBD_GAT> + <_-IWBEP_-I_SBD_GAT> + E + ZGW_PO + djzuY3CFH+CcoRAgWkQeFw== + + <_-IWBEP_-I_SBD_GAT> + E + ZGW_PO + djzuY3CFH+CcoRAgWkQ+Fw== + + <_-IWBEP_-I_SBD_GAT> + E + ZGW_PO + djzuY3CFH+CcoRAgWkReFw== + + <_-IWBEP_-I_SBD_GAT> + E + ZGW_PO + djzuY3CFH+CcoRAgWkR+Fw== + + <_-IWBEP_-I_SBD_GAT> + E + ZGW_PO + djzuY3CFH+CcoRAgWkSeFw== + + <_-IWBEP_-I_SBD_GAT> + E + ZGW_PO + djzuY3CFH+CcoRAgWkS+Fw== + + + <_-IWBEP_-I_SBD_MD> + <_-IWBEP_-I_SBD_MD> + ZGW_PO + djzuY3CFH+CcoIiRE8U+Fw== + djzuY3CFH+CcoIiRE8UeFw== + /IWBEP/CORE + PROJ + ZGW_PO_MDL + 0001 + ZCL_ZGW_PO_MPC_EXT + S + ZGW_PO_SRV + + + <_-IWBEP_-I_SBD_MDT> + <_-IWBEP_-I_SBD_MDT> + E + ZGW_PO + djzuY3CFH+CcoIiRE8U+Fw== + + + <_-IWBEP_-I_SBD_NOI> + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoIiRE8UeFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoIiRE8U+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoIiRE8VeFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoJjyllbeFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoN2VUgoeFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgieFw== + DASO + 763CEE6370851FE09CA0DD95520A1E17ZDEMO_SOH + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgi+Fw== + DASO + 763CEE6370851FE09CA0DD95520A1E17ZDEMO_SOH\SALESORDERUUID + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgjeFw== + DASO + 763CEE6370851FE09CA0DD95520A1E17ZDEMO_SOH\SALESORDER + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgj+Fw== + DASO + 763CEE6370851FE09CA0DD95520A1E17ZDEMO_SOH\BUSINESSPARTNER + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgkeFw== + DASO + 763CEE6370851FE09CA0DD95520A1E17ZDEMO_SOH\OVERALLSTATUS + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgk+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgleFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgl+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgmeFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgm+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgneFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOLHfgn+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoOh41tReFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpneFw== + DASO + 763CEE6370851FE09CA0E878D6D45E17ZDEMO_SOI + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpn+Fw== + DASO + 763CEE6370851FE09CA0E878D6D45E17ZDEMO_SOI\SALESORDERITEMUUID + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpoeFw== + DASO + 763CEE6370851FE09CA0E878D6D45E17ZDEMO_SOI\SALESORDERUUID + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpo+Fw== + DASO + 763CEE6370851FE09CA0E878D6D45E17ZDEMO_SOI\SALESORDERITEM + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzppeFw== + DASO + 763CEE6370851FE09CA0E878D6D45E17ZDEMO_SOI\PRODUCT + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpp+Fw== + DASO + 763CEE6370851FE09CA0E878D6D45E17ZDEMO_SOI\GROSSAMOUNT + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpqeFw== + DASO + 763CEE6370851FE09CA0E878D6D45E17ZDEMO_SOI\CURRENCYCODE + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpq+Fw== + DASO + 763CEE6370851FE09CA0E878D6D45E17ZDEMO_SOI\QUANTITY + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpreFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpr+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpseFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzps+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpteFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpt+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoO0xzpueFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoQ8cu92eFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoRAgWkQeFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoRAgWkQ+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoRAgWkReFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoRAgWkR+Fw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoRAgWkSeFw== + + <_-IWBEP_-I_SBD_NOI> + ZGW_PO + djzuY3CFH+CcoRAgWkS+Fw== + + + <_-IWBEP_-I_SBD_OP> + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoOLHfgl+Fw== + djzuY3CFH+CcoOLHfgleFw== + Create + C + SOHEADERSET_CREATE_ENTITY + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoOLHfgmeFw== + djzuY3CFH+CcoOLHfgleFw== + GetEntity (Read) + R + SOHEADERSET_GET_ENTITY + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoOLHfgm+Fw== + djzuY3CFH+CcoOLHfgleFw== + Update + U + SOHEADERSET_UPDATE_ENTITY + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoOLHfgneFw== + djzuY3CFH+CcoOLHfgleFw== + Delete + D + SOHEADERSET_DELETE_ENTITY + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoOLHfgn+Fw== + djzuY3CFH+CcoOLHfgleFw== + GetEntitySet (Query) + Q + SOHEADERSET_GET_ENTITYSET + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoO0xzpseFw== + djzuY3CFH+CcoO0xzpr+Fw== + Create + C + SOITEMSET_CREATE_ENTITY + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoO0xzps+Fw== + djzuY3CFH+CcoO0xzpr+Fw== + GetEntity (Read) + R + SOITEMSET_GET_ENTITY + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoO0xzpteFw== + djzuY3CFH+CcoO0xzpr+Fw== + Update + U + SOITEMSET_UPDATE_ENTITY + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoO0xzpt+Fw== + djzuY3CFH+CcoO0xzpr+Fw== + Delete + D + SOITEMSET_DELETE_ENTITY + + <_-IWBEP_-I_SBD_OP> + ZGW_PO + djzuY3CFH+CcoO0xzpueFw== + djzuY3CFH+CcoO0xzpr+Fw== + GetEntitySet (Query) + Q + SOITEMSET_GET_ENTITYSET + + + <_-IWBEP_-I_SBD_OPT> + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgl+Fw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgmeFw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgm+Fw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgneFw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgn+Fw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpseFw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoO0xzps+Fw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpteFw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpt+Fw== + + <_-IWBEP_-I_SBD_OPT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpueFw== + + + <_-IWBEP_-I_SBD_PR> + <_-IWBEP_-I_SBD_PR> + ZGW_PO + djzuY3CFH+CcoIiRE8UeFw== + MYSAP + 20250804072559.20994 + MYSAP + 20250804080721.124997 + djzuY3CFH+CcoUNPdTFeFw== + /IWBEP/GEN + 0001 + 0001 + 1 + + + <_-IWBEP_-I_SBD_PRT> + <_-IWBEP_-I_SBD_PRT> + ZGW_PO + E + Service for PO + + + <_-IWBEP_-I_SBD_SE> + <_-IWBEP_-I_SBD_SE> + ZGW_PO + djzuY3CFH+CcoOLHfgleFw== + djzuY3CFH+CcoIiRE8VeFw== + SOHeaderSet + djzuY3CFH+CcoOLHfgk+Fw== + + <_-IWBEP_-I_SBD_SE> + ZGW_PO + djzuY3CFH+CcoO0xzpr+Fw== + djzuY3CFH+CcoIiRE8VeFw== + SOItemSet + djzuY3CFH+CcoO0xzpreFw== + + + <_-IWBEP_-I_SBD_SET> + <_-IWBEP_-I_SBD_SET> + E + ZGW_PO + djzuY3CFH+CcoOLHfgleFw== + + <_-IWBEP_-I_SBD_SET> + E + ZGW_PO + djzuY3CFH+CcoO0xzpr+Fw== + + + <_-IWBEP_-I_SBD_SV> + <_-IWBEP_-I_SBD_SV> + ZGW_PO + djzuY3CFH+CcoIiRE8VeFw== + ZGW_PO_SRV + 0001 + ZCL_ZGW_PO_DPC_EXT + ZGW_PO_SRV + + + <_-IWBEP_-I_SBD_SVT> + <_-IWBEP_-I_SBD_SVT> + E + ZGW_PO + djzuY3CFH+CcoIiRE8VeFw== + + + <_-IWBEP_-I_SBO_ES> + <_-IWBEP_-I_SBO_ES> + ZGW_PO + djzuY3CFH+CcoOLHfgk+Fw== + djzuY3CFH+CcoIiRE8U+Fw== + SOHeaderSet + djzuY3CFH+CcoOLHfgieFw== + X + T + SOHEADERSET + X + X + X + X + X + X + X + X + X + X + X + X + + <_-IWBEP_-I_SBO_ES> + ZGW_PO + djzuY3CFH+CcoO0xzpreFw== + djzuY3CFH+CcoIiRE8U+Fw== + SOItemSet + djzuY3CFH+CcoO0xzpneFw== + X + T + SOITEMSET + X + X + X + X + X + X + X + X + X + X + X + X + + + <_-IWBEP_-I_SBO_EST> + <_-IWBEP_-I_SBO_EST> + E + ZGW_PO + djzuY3CFH+CcoOLHfgk+Fw== + + <_-IWBEP_-I_SBO_EST> + E + ZGW_PO + djzuY3CFH+CcoO0xzpreFw== + + + <_-IWBEP_-I_SBO_ET> + <_-IWBEP_-I_SBO_ET> + ZGW_PO + djzuY3CFH+CcoOLHfgieFw== + SOHeader + djzuY3CFH+CcoIiRE8U+Fw== + T + ZDEMO_SOH + SOHEADER + X + X + X + X + X + + <_-IWBEP_-I_SBO_ET> + ZGW_PO + djzuY3CFH+CcoO0xzpneFw== + SOItem + djzuY3CFH+CcoIiRE8U+Fw== + T + ZDEMO_SOI + SOITEM + X + X + X + X + X + + + <_-IWBEP_-I_SBO_ETT> + <_-IWBEP_-I_SBO_ETT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgieFw== + + <_-IWBEP_-I_SBO_ETT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpneFw== + + + <_-IWBEP_-I_SBO_PR> + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoOLHfgi+Fw== + djzuY3CFH+CcoOLHfgieFw== + Salesorderuuid + X + Edm.Guid + T + SALESORDERUUID + X + X + X + X + 1 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoOLHfgjeFw== + djzuY3CFH+CcoOLHfgieFw== + Salesorder + 10 + Edm.String + T + SALESORDER + X + X + X + X + 2 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoOLHfgj+Fw== + djzuY3CFH+CcoOLHfgieFw== + Businesspartner + 10 + Edm.String + T + BUSINESSPARTNER + X + X + X + X + 3 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoOLHfgkeFw== + djzuY3CFH+CcoOLHfgieFw== + Overallstatus + 1 + Edm.String + T + OVERALLSTATUS + X + X + X + X + 4 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoO0xzpn+Fw== + djzuY3CFH+CcoO0xzpneFw== + Salesorderitemuuid + X + Edm.Guid + T + SALESORDERITEMUUID + X + X + X + X + 1 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoO0xzpoeFw== + djzuY3CFH+CcoO0xzpneFw== + Salesorderuuid + Edm.Guid + T + SALESORDERUUID + X + X + X + X + 2 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoO0xzpo+Fw== + djzuY3CFH+CcoO0xzpneFw== + Salesorderitem + 10 + Edm.String + T + SALESORDERITEM + X + X + X + X + 3 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoO0xzppeFw== + djzuY3CFH+CcoO0xzpneFw== + Product + 10 + Edm.String + T + PRODUCT + X + X + X + X + 4 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoO0xzpp+Fw== + djzuY3CFH+CcoO0xzpneFw== + Grossamount + 16 + 3 + Edm.Decimal + T + GROSSAMOUNT + X + X + X + X + 5 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoO0xzpqeFw== + djzuY3CFH+CcoO0xzpneFw== + Currencycode + 5 + Edm.String + T + CURRENCYCODE + X + X + X + X + 6 + X + + <_-IWBEP_-I_SBO_PR> + ZGW_PO + djzuY3CFH+CcoO0xzpq+Fw== + djzuY3CFH+CcoO0xzpneFw== + Quantity + Edm.Int32 + T + QUANTITY + X + X + X + X + 7 + X + + + <_-IWBEP_-I_SBO_PRT> + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgi+Fw== + Node Key + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgjeFw== + Sales Order ID + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgj+Fw== + Business Partner ID + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoOLHfgkeFw== + Overall Status + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpn+Fw== + Node Key + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpoeFw== + Node Key + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpo+Fw== + Item Position + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoO0xzppeFw== + Product ID + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpp+Fw== + Gross Amount + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpqeFw== + Currency Code + + <_-IWBEP_-I_SBO_PRT> + E + ZGW_PO + djzuY3CFH+CcoO0xzpq+Fw== + INT4 + + + + + diff --git a/src/zgw_po_mdl 0001.iwmo.xml b/src/zgw_po_mdl 0001.iwmo.xml new file mode 100644 index 0000000..0c8c3b6 --- /dev/null +++ b/src/zgw_po_mdl 0001.iwmo.xml @@ -0,0 +1,22 @@ + + + + + <_-IWBEP_-I_MGW_OHD> + <_-IWBEP_-I_MGW_OHD> + ZGW_PO_MDL + 0001 + ZCL_ZGW_PO_MPC_EXT + + + <_-IWBEP_-I_MGW_OHT> + <_-IWBEP_-I_MGW_OHT> + ZGW_PO_MDL + 0001 + E + Service for PO + + + + + diff --git a/src/zgw_po_mdl_0001_be.iwom.xml b/src/zgw_po_mdl_0001_be.iwom.xml new file mode 100644 index 0000000..eaea170 --- /dev/null +++ b/src/zgw_po_mdl_0001_be.iwom.xml @@ -0,0 +1,48 @@ + + + + + <_-IWFND_-I_MED_EMM> + <_-IWFND_-I_MED_EMM> + ZGW_PO_MDL_0001_BE + A + C + ZGW_PO_SRV + ZGW_PO_MDL_0001 + + + <_-IWFND_-I_MED_INH> + <_-IWFND_-I_MED_INH> + ZGW_PO_MDL_0001_BE + A + + + <_-IWFND_-I_MED_OHD> + <_-IWFND_-I_MED_OHD> + ZGW_PO_MDL_0001_BE + A + ZGW_PO_MDL + 0001 + BE + + + <_-IWFND_-I_MED_OHT> + <_-IWFND_-I_MED_OHT> + ZGW_PO_MDL_0001_BE + A + E + Service for PO + + + <_-IWFND_-I_MGDPIM> + <_-IWFND_-I_MGDPIM> + ZGW_PO_MDL_0001_BE + 01 + DEFAULT + /IWFND/CL_MGW_RUNT_RCLNT_PRXY + Service for PO + + + + + diff --git a/src/zgw_po_srv 0001.iwsv.xml b/src/zgw_po_srv 0001.iwsv.xml new file mode 100644 index 0000000..7299697 --- /dev/null +++ b/src/zgw_po_srv 0001.iwsv.xml @@ -0,0 +1,32 @@ + + + + + <_-IWBEP_-I_MGW_SRG> + <_-IWBEP_-I_MGW_SRG> + ZGW_PO_SRV + 0001 + ZGW_PO_MDL + 0001 + + + <_-IWBEP_-I_MGW_SRH> + <_-IWBEP_-I_MGW_SRH> + ZGW_PO_SRV + 0001 + ZGW_PO_SRV + ZCL_ZGW_PO_DPC_EXT + - + + + <_-IWBEP_-I_MGW_SRT> + <_-IWBEP_-I_MGW_SRT> + ZGW_PO_SRV + 0001 + E + Service for PO + + + + + diff --git a/src/zgw_po_srv bcf3373b1a912242878a592dd.sicf.xml b/src/zgw_po_srv bcf3373b1a912242878a592dd.sicf.xml new file mode 100644 index 0000000..4c109b4 --- /dev/null +++ b/src/zgw_po_srv bcf3373b1a912242878a592dd.sicf.xml @@ -0,0 +1,26 @@ + + + + + /sap/opu/odata/sap/zgw_po_srv/ + + ZGW_PO_SRV + zgw_po_srv + ZGW_PO_SRV + + + ZGW_PO_SRV + E + ZGW_PO_SRV + + + + ZGW_PO_SRV + 01 + A + /IWFND/CL_SODATA_HTTP_HANDLER + + + + + diff --git a/src/zgw_po_srv_0001.iwsg.xml b/src/zgw_po_srv_0001.iwsg.xml new file mode 100644 index 0000000..92d01cb --- /dev/null +++ b/src/zgw_po_srv_0001.iwsg.xml @@ -0,0 +1,90 @@ + + + + + <_-IWFND_-I_MED_SIN> + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_EXT_DATA_SRC_TYPE + C + + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_EXT_SERVICE_NAME + ZGW_PO_SRV + + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_GENERATOR + /IWFND/MAINT_SERVICE + + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_SERVICE_IDENT + ZGW_PO_SRV_0001 + + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_SERVICE_NAME + ZGW_PO_SRV + + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_SERVICE_VERSION + 0001 + + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_SOURCE_SYSTEM + LOCAL + + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_TECHNICAL_NAME + ZGW_PO_SRV + + <_-IWFND_-I_MED_SIN> + ZGW_PO_SRV_0001 + A + BEP_SVC_VERSION + 0001 + + + <_-IWFND_-I_MED_SRG> + <_-IWFND_-I_MED_SRG> + ZGW_PO_SRV_0001 + A + ZGW_PO_MDL_0001_BE + 01 + + + <_-IWFND_-I_MED_SRH> + <_-IWFND_-I_MED_SRH> + ZGW_PO_SRV_0001 + A + ZGW_PO_SRV + ZGW_PO_SRV + 0001 + N + NOT_RELEASED + + + <_-IWFND_-I_MED_SRT> + <_-IWFND_-I_MED_SRT> + ZGW_PO_SRV_0001 + A + E + Service for PO + + + + + diff --git a/src/zsnwd_so_d.tabl.xml b/src/zsnwd_so_d.tabl.xml new file mode 100644 index 0000000..7b86c4e --- /dev/null +++ b/src/zsnwd_so_d.tabl.xml @@ -0,0 +1,186 @@ + + + + + + ZSNWD_SO_D + E + TRANSP + X + X + Draft table for entity ZBR_I_SALESORDER + A + 4 + + + ZSNWD_SO_D + A + 4 + APPL1 + N + + + + MANDT + X + MANDT + 0 + X + E + + + SALES_ORDER_KEY + X + SNWD_NODE_KEY + 0 + X + E + + + SALES_ORDER_ID + SNWD_SO_ID + 0 + E + + + CREATED_BY_KEY + SNWD_NODE_KEY + 0 + E + + + CHANGED_BY_KEY + SNWD_NODE_KEY + 0 + E + + + CREATED_AT + SNWD_CREATED_AT + 0 + E + + + CHANGED_AT + SNWD_CHANGED_AT + 0 + E + + + CREATED_BY_ID + SNWD_EMPLOYEE_ID + 0 + D + E + + + CHANGED_BY_ID + SNWD_EMPLOYEE_ID + 0 + D + E + + + NOTE_KEY + SNWD_NODE_KEY + 0 + E + + + SALES_OPPORTUNITY_ID + SNWD_OP_ID + 0 + E + + + CURRENCY_CODE + SNWD_CURR_CODE + 0 + D + E + + + GROSS_AMOUNT + SNWD_TTL_GROSS_AMOUNT + 0 + ZSNWD_SO_D + CURRENCY_CODE + E + + + NET_AMOUNT + SNWD_TTL_NET_AMOUNT + 0 + ZSNWD_SO_D + CURRENCY_CODE + E + + + TAX_AMOUNT + SNWD_TTL_TAX_AMOUNT + 0 + ZSNWD_SO_D + CURRENCY_CODE + E + + + LIFECYCLE_STATUS + SNWD_SO_LC_STATUS_CODE + 0 + X + F + E + + + BILLING_STATUS + SNWD_SO_CF_STATUS_CODE + 0 + X + F + E + + + DELIVERY_STATUS + SNWD_SO_OR_STATUS_CODE + 0 + X + F + E + + + BUYER_KEY + SNWD_NODE_KEY + 0 + E + + + FIRST_NAME + SNWD_FIRST_NAME + 0 + E + + + EMAIL_ADDRESS + SNWD_EMAIL_ADDRESS + 0 + E + + + PHONE_NUMBER + SNWD_PHONE_NUMBER + 0 + E + + + .INCLUDE + 0 + SYCH_BDL_DRAFT_ADMIN_INC + S + Standard Include for Draft Administration (BDL Syntax Check) + S + %ADMIN + + + + +