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
+
+ X
+
+
+
+ -
+
+ 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
+
+ X
+
+
+
+ -
+
+ 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
+
+ X
+
+
+
+ -
+
+ 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
+
+
+
+
+