on ‎2023 Jun 01 12:10 PM
Hello Experts,
We have an existing Odata Service(API) created through SEGW.
Data from Freestyle UI5 application comes as an deep structure to S4H system using this API and we use /IWBEP/IF_MGW_APPL_SRV_RUNTIME~CREATE_DEEP_ENTITY to read it and further post the data using BAPI.
Now we are migrating from SEGW to RAP OData services and using an unmanaged scenario to post the data.
So how do we read the data from deep structure using RAP?
My payload looks like as shown below,
{
"Field1": "Value1",
"Field2": "Value2",
"Field3": "Value3",
"Field4": "Value4",
"Field5": "Value5",
"Item" : [ {
"Field1": "Value1",
"Field6": "Value6",
"Field7": "Value7",
"Field8": "Value8",
"Field9": "Value9",
"Field10": "Value10",
}],
"Note" : [{
"Field1": "Value1",
"Field11": "Value11",
"Field12": "Value12"
},
{
"Field1": "Value1",
"Field11": "Value111",
"Field12": "Value112"
} ],
"Attach" : [ {
"Field1": "Value1",
"Field13": "Value13",
"Field14": "Value14",
"Field15": "Value15"
} ]
}
I have created CDS entity for the above structure and in the behavior implementation, the methods looks like below.
METHODS cba_Item FOR MODIFY
METHODS cba_Note FOR MODIFY
METHODS cba_Item FOR MODIFY
When these methods are triggered from Fiori Elements Application, it does not contain the complete payload but only either (Header + Item) or (Header + Note) or (Header + Attach).
So is it possible get the Complete payload as in the above structure using RAP?
Thanks,
Ahamed
Request clarification before answering.
Hi Bhaskar,
Thanks for your reply.
I achieved this using "Managed Implementation with unmanaged save". Below is the code for the same for anyone interested on this.
Behavior Definition:
managed implementation in class zbp_*_header unique;
strict;
define behavior for ZI_*_HEADER alias InvHeader
with unmanaged save
lock master
authorization master ( instance )
{
create;
update;
delete;
association _item { create; }
association _note { create; }
association _return { create; }
association _attach { create; }
}
Behaviour Implementation:
CLASS lsc_zi_*_header DEFINITION INHERITING FROM cl_abap_behavior_saver.
PROTECTED SECTION.
METHODS save_modified REDEFINITION.
ENDCLASS.
CLASS lsc_zi_*_header IMPLEMENTATION.
METHOD save_modified.
**This method has parameters like create, update and delete.
**from create parameter, i was able to read the data from header, item, note entities etc.
lt_header = CORRESPONDING #( create-invheader MAPPING FROM ENTITY ).
lt_item = CORRESPONDING #( create-invitem MAPPING FROM ENTITY ).
lt_note = CORRESPONDING #( create-invnote MAPPING FROM ENTITY ).
ENDMETHOD.
ENDCLASS.
Thanks,
Ahamed
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 9 | |
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.