sap odata mpc_ext define. Go to Runtime Artifacts node, open the ZCL_ZGW_PRACTICE006_ MPC_EXT class in ABAP Workbench (Right-Click: Go to ABAP Workbench) & click on the Types tab. sap odata mpc_ext define

 
 Go to Runtime Artifacts node, open the ZCL_ZGW_PRACTICE006_ MPC_EXT class in ABAP Workbench (Right-Click: Go to ABAP Workbench) & click on the Types tabsap odata mpc_ext define  You cannot

In the Microsoft Power BI desktop app an OData-Feed must be added as a datasource. create a new complex type there. Go to Runtime Artifacts node, open the ZCL_ZGW_PRACTICE006_ MPC_EXT class in ABAP Workbench (Right-Click: Go to ABAP Workbench) & click on the Types tab. The URL should include the entityset-name and filter-options when necessary like in the screenshoot above. They also advertise capabilities that go beyond the base set defined by OData, e. A Custom CDS Entity enables you to expose data using ABAP classes in the Application Server ABAP. Generate Runtime Context Menu option on Project node. No luck. Any consumer or provider of SAP who can call REST. 4. No need to change/enhance the MPC/MPC_EXT class here as the structure HROVIS_S_NODE_GENERIC having your new fields would have already been bound to the MPC. 1] Re-define MPC. This report illustrates how to set chosen cells of an ALV Grid Control editable. Activate it. Data Provider Class. After all these, my metadata looks like below - I implemented some CDS views with associations on a SAP NETWEAVER 7. These annotations in the sap namespace are required for Fiori to render the hierarchies:You are using SAP Fiori elements list report and like to make a selection field mandatory and specify a default value. 1. 2) Link a property to another property in the entity, the "field-control". DateTime and by making a change to our local annotation file, we will now see it appear within the smart filter bar of our Fiori Elements application: Once complete, we. Rahul, I would suggest using a code based approach. I used in the SEGW transaction the reference by data source feature to automatically create the ODATA types and associations from the CDS views and add them to a existing SEGW ODATA project. In code first, make call to SUPER. Odata service . We would like to show you a description here but the site won’t allow us. A service can be called an API that SAP provides to their consumers. You redefining existing (SAP standard) SEGW project where code based annotations are used. Naveen on How to upload Excel to SAP (using ABAP) Upamanyu Sarmah on S4 HANA Output Management – Introduction, Master Form Layout Edit and Setup. Usually, you would copy email template by selecting pre-delivered template and using Copy button. ENDTRY. ABAP Unit Test meets Legacy Code. MPC_EXT) super->define ( ). Entity . Click on the Direct Type Entry button. In general, there are three types of query options in OData: system query options (define the amount and order of data returned, eg. List of demo programs in SAP which explains SAP Editable ALV Grid. case when _konp. Model for SAP Fiori OData V2 service development options –SAP BS 7 & SAP S/4HANA Classic DDIC tables OData V2 BOPF BO CDS views Query Engine Classic CDS views business logic Query Engine Code based implementation Brownfield Greenfield DDIC tables Service Builder (SEGW) Service Builder (SEGW) Referenced / Mapped Data Source. Fig 4Value List - Local Annotation on top of odata v2 exposed CDS. The CDS view created was used as a Data Source and transaction behavior were managed through Gateway methods overriding the MPC_EXT and making specific entity as sap:creatable. Then I have also tried adding custom property directly in CDS entity type 'C_MaintOrderComponentTPType' in Method define of MPC_EXT class using below code. Introduction. Create one header database table as root, and another database table as item. Go to transaction Activate and Maintain Services ( /IWFND/MAINT_SERVICE ). 1. DATA : lo_odata TYPE REF TO zcl_odata_v2_annotations. In this blog, we will learn how we can reduce 2 RFC calls to a single RFC call and expand both the Parent and Child Entities in a single Odata Service Call. Entity Type 4 – ord_opr. Select, filter,. Basically this is a mapping between business logic types and entity that will be shown for the outside world. The OData service in this example is created using ‘Reference Data Source’ option in SAP OData Service builder (SEGW). METHODS define REDEFINITION. To activate the SAP Gateway, go to Customizing for SAP NetWeaver under SAP Gateway OData Channel Configuration Activate or Deactivate SAP Gateway . 40 18 52,052. Go to STMS transaction in target system. 3275 Views. Any suggestions? Property type valdt - Edm. Name your association, provide the entities and cardinality, create a navigation property. You want to know how to redefine a method in _MPC_EXT or _DPC_EXT. Step 1. public section. Naveen on How to upload Excel to SAP(using ABAP) Upamanyu Sarmah on S4 HANA Output Management – Introduction, Master Form Layout Edit and Setup; Pankaj on SAPScript symbols and formatting options; Mary Roopini A on SEGW – OData MPC_EXT-DEFINE Code Collection; Mary Roopini A on SEGW – OData MPC_EXT. Annotation @UI. lo_complex_type type ref to. This is important because its DPC_EXT and MPC_EXT classes which we will be using to add actions. In step 2 the referential constraints are provided. PUBLIC SECTION. MultiComboBox) using the metadata extension sap:semantics='fixed-values' on the entity set level and the sap:value-list='fixed-values' on the. DATA(lo_entity_type) = model->get_entity_type( 'Product' ). The implementation of the logic to retrieve the data is implemented in an ABAP class. My CDS views are shown below at the code section. data: lt_keys type /iwbep/t_mgw_tech_pairs, ls_key type. The Wizard Step 1 of 2: Redefine Service appears. Keep the default class names as-is and click on enter button. storing XSTRING in SAP. You will learn. Click on ICF Node . . 0, SAP will be able to translate SAP-specific annotations into that of the new standard and be rid of these non-standard annotations. Go to the Model Provider extension class: MPC_EXT. Behaviour definition projection . Redefine DEFINE method in MPC_EXT to create annotations. Use then lo_property->SET_AS_CONTENT_TYPE. Entity Type 4 – ord_opr. Passing a guid to SAP OData service in UI5. Create the corresponding association set explicitly by calling /IWBEP/IF_MGW_ODATA_MODEL->CREATE_ASSOCIATION_SET. method define. 4. Go to Runtime Artifacts node, open the ZCL_ZGW_PRACTICE006_ MPC_EXT class in ABAP Workbench ( Right-Click: Go to ABAP Workbench) & click on the Types tab. SEGW is the transaction to build a service in SAP. 2. MessageBox. When we change the Model or implement the Service in GW Service builder, every time run time object gets generated, hence DPC and MPC existing code gets replaced with new sets of code. Go to the Types and declare a type: types: BEGIN OF ts_deep_entity. And after I redefine DPC_EXT and MPC_EXT i fanced troubles. Introduction. Example Scenario: The case at hand is to. Code to Process Action. ABAP Unit Test in Odata – Current One. The. Consume OData Deep Structure In ABAP. 1. After redefining and modifying the DEFINE method of the respective MPC_EXT class, of the relative gateway project (maybe not the best way to. OData. We can then fetch data using get_entityset method of DPC_EXT class. if i redefine entity set read list method also it is not working. class ZCL_ZFAR_CUSTOMER_LINE_MPC_EXT definition: public: inheriting from ZCL_ZFAR_CUSTOMER_LINE_MPC: create public . Annotation @Consumption. Implementation of SAP Odata V4. * CATCH / iwbep. e. Click on Icon Create. First model your entity is SEGW (manually creating entities, associations, navigation), then implement the deep_entity method. Log onto the SAP NetWeaver Gateway system. alert("Error!"); When the page hit my code, the metadata is retrieved succesfully but when i try to create the new entry (this is obviously a test code) i got a 202 as response for the batchPage Format. Now let’s generate runtime artifacts. 6. Redefine DEFINE method in MPC_EXT to create annotations. public section. DPC& DPC_EXT; MPC & MPC_EXT; The mentioned above are four classes generated by SAP. ( /iwbep/if_mgw_med_odata_types =>gc_sap_namespace ). 3. For information on how value help annotations are set in CDS, see the SAP NetWeaver documentation UI Annotations. Open the Define_ Entity Name Method in either the _MPC_EXT or _MPC from the Runtime Artifacts folder and check if the following code snippet is available. After re-generate the SEGW project and clear the metadata, you can implement the function. It is possible to create ABAP CDS view for it using SAP HANA Studio. This you can check if above structure binding is there inside MPC. dataCategory: #TEXT to signify this is text view. The OData service in this example is created using ‘Reference Data Source’ option in SAP OData Service builder (SEGW). Click on the project and select “Generate Runtime”. You can append new properties to a corresponding entity type in the data model redefinition. If the date property is part of a DDIC structure used for the entity definition, and that component is a DATS (elementary D type), then you can place a D type value in it directly, e. Double click on the system where you want to import your transport. As evident from the heading am not able to debug DPX_EXT methods because of External Breakpoints not triggering. In SAP terms, Odata a platform/framework that can be used to create SAP objects or services that can be consumed from outside of SAP box to read or write data. Probably (if SSO between SAC and BW has not been configured) your BW credentials will be requested at this moment. CLASS ZCL_ZMEDIA_MPC_EXT IMPLEMENTATION. Call the super->define method, which will create all the properties and the annotations already maintained. Also, we will process all requests together, hence set cv_defer_mode = abap_true. From my understanding there are 2 options: 1) Define a specific property as Mandatory --> Nullable="false". The content of Define() method depends on the OData artifacts which are created for a model in SEGW (such as entity types, complex types, and more). Click. 1. 52 as I couldn’t find any detailed. So we have to use the option to add additional metadata by implementing the DEFINE method in the model provider extension class. See rules 5, 6 & 7. sap:display-format =” Date “ sap:filter-restriction =” interval “ For setting these annotations you can write the below code in MPC_EXT class, DEFINE method. Go To Transaction SE11 and create structures as displayed in the below screenshots. Let’s start by showing you, on which Function Import I will based my post. See moreIn order to create these annoations we are going to implement the DEFINE method of the model provider extenstion class (MPC_EXT) of our OData service. Specify template id and name, which will then appear in Custom tab. The above mentioned annotations are generated if we add the following coding to our DEFINE method of the MPC_EXT class. On the Menu tab, open the menu of the pushbutton for adding objects (+ pushbutton) and choose the object type Authorization Default. Find “Runtime Artifacts” and select “…DPC_EXT” and “Go to ABAP Workbench”. This method will have two. When redefining a service, a new OData service generates a new Model Provider Class (MPC), and a new Data Provider Class (DPC). iv_uuid = CONV #( 'Z_SRC_RDS' ) (If you. In the Service Builder we expand the folder Runtime Artifacts, select the class with the extension MPC_EXT class and select Go to ABAP Workbench from the context menue. Click on generate runtime objects button. Now open DPC_EXT class. Now I was curious and wanted to know if I could try to implement the CREATE_STREAM method, which is actually the one to use to CREATE(UPLOAD) a new file. Click on the Change ( Ctrl+F1) button for editing. Can I define custom methods in *DPC_EXT class and it good approach. You can specify Email Template to used in Email Setting’s Determination Step. For. Created OData ‘ZTEST_SEARCHHElP’. DATA : lo_entity_type TYPE REF TO / iwbep / if_mgw_odata_entity_typ , lo_property TYPE REF TO / iwbep / if_mgw_odata_property . MPC is used to define model you can use the method Define create entity and properties. After you double click on a method in _MPC_EXT or _DPC_EXT, make some changes and regenerate the OData service,. It seems '/IWBEP/IF_MGW_ODATA_ANNOTATABL~create_annotation' can add annotations. We could implement a code block like so in the DEFINE method of the MPC_EXT class and add the desired term directly as an attribute of the produced oData property: The backend code would look something like: DATA(lo_entity_type) = model->get_entity_type( 'YourEntityType' ). In this example, we will use 2 entities Sales Order Header (SOHeader). super- > define ( ). Fig 4 Another Approach for MPC_EXT. and an association between them. Dec 19, 2021 at 13:41. Create Project in SEGW. Direction: drag from tree and drop in ALV control. I would like to do this as part of the MPC_EXT class to not have to keep writing code in the frontend to hide the columns. Start transaction SE63. It is recommended that only referenced data source (RDS) is used when creating an OData service with transaction SEGW. SAP Fiori, Beginner, SAP BTP, ABAP environment, Tutorial, SAP Business Technology Platform. So I am unable to know the structure and hence create a dynamic entity. Open the MPC extension class of the target service, ZCL_ZEXTEND_SALES_ORDE_MPC_EXT. 50, SP- 0011. Any consumer or provider of SAP who can call REST APIs can use it. To create a project, click on the create project button -> You will get once pop up, provide the project name and description as below. e. I have set up the update stream (DPC_EXT class) and the MPC_EXT (Define method). To exclude your original column from showing in the Column tab of Table setting dialog, there is an annotation sap:visible = false. Load i18n properties references in ‘Component. INCLUDE TYPE workorder_structure. OData Services based on OData queries can be extended. Now click ‘Save’ and ‘Generate Runtime Objects’. datetime alone is not enough to ensure proper conversion during OData parsing. Specify template id and name, which will then appear in Custom tab. Another way of adding sap:filter-restriction in metadata is by using code in DEFINE method of MPC_EXT. 11. Here are some samples on how we used it. 50, SP- 0011. Naveen on How to upload Excel to SAP(using ABAP) Upamanyu Sarmah on S4 HANA Output Management – Introduction, Master Form Layout Edit and Setup; Pankaj on SAPScript symbols and formatting options; Mary Roopini A on SEGW – OData MPC_EXT-DEFINE Code Collection; Mary Roopini A on SEGW – OData MPC_EXT. Tcode: SEGW. 1) Deleted service , cleaned cache and re-registered service . Do the same for the “GetEntity (Read)” operation but of course based on the download RFC. Model Provider Extension Class (suffix _MPC_EXT): This is the implementation class that inheritsWe are making use of importing parameter iv_slug to get some of the information. Below is the architecture of ABAP RESTful Application Programming Model to develop Odata services. publish: true define view Z_Products as select from Products { key Products. Head entity definition in MPC *HeRefine the List Report with Annotations. lo_entity_type->bind_structure( iv_structure_name = 'SFLIGHT' iv_bind_conversions = 'X' ). class ZCL_ZFAR_CUSTOMER_LINE_MPC_EXT definition: public: inheriting from ZCL_ZFAR_CUSTOMER_LINE_MPC: create public . String , length 10. Typically, developers don’t touch this class unless there is some feature that isn’t available in the SAP Gateway tool, and they want to build the service with that feature. DATA: lo_annotation TYPE REF TO /iwbep/if_mgw_odata_annotation, lo_entity_type TYPE REF TO /iwbep/if_mgw_odata_entity_typ, lo_complex_type TYPE REF TO /iwbep/if_mgw_odata_cmplx_type, lo_property TYPE REF TO. Redefine the DEFINE method from ZCL_Z_NOTIF_MPC_EXT to connect the 2 new entitysets as a search help in the Fiori UI by putting this coding: METHOD define. OData offers the ability to be extended to meet any special requirements for your RESTful APIs. Generating an OData service via Referenced Data Source. it wasnt good idea also. The selected implementation class opens in the Class Builder. The below pop-up window will appear. DEFINE() Method. INCLUDE TYPE workorder_structure. · Code the changes directly. Goto you MPC_EXT class. In our example, we will create model with two fields (CARRID and PLANETYPE) from SFLIGHT table: 2. DATA: lo_property TYPE REF TO /iwbep/if_mgw_odata_property, lo_entity_type TYPE. Till SEGW inherently provides that feature, here is how you can do it using code. Go to SEGW to create a project: ZEMP_MODEL_ODATA using create project button. Right click on ZCL_ZTEST_MPC_EXT and select on Workbench option. The Service Builder creates an extension class CL_<Project Name>_MPC_EXT for the MPC, which is the implementation class. Property element SAP Odata V2 annotation at property level that tells the property should be. super->define( ). It will display. Step 1: Create a basic OData service with an entity as mentioned above. SAP Gateway Technical Operations Guide: SAP Gateway Security Guide: SAP Gateway Developer Guide: OData Channel: SAP Gateway Service Builder: SAP Gateway Cookbooks: OData Channel Cookbooks: Getting Started with the Service Builder: Creating OData Channel Content: 1 SAP Business Suite Backend System: 2 SAP Gateway Hub. To explicitly define which field groups you want to display in the Adapt Filters dialog, use the UI. Naveen on How to upload Excel to SAP(using ABAP) Upamanyu Sarmah on S4 HANA Output Management – Introduction, Master Form Layout Edit and Setup; Pankaj on SAPScript symbols and formatting options; Mary Roopini A on SEGW – OData MPC_EXT-DEFINE Code Collection; Mary Roopini A on SEGW – OData MPC_EXT. T Fdo. Click on the Direct Type Entry button. Create Table Type. Annotations can be added in the MPC_EXT class using the following steps:Introduction. I used an annotation like this: (in the method define of the. super -> define ( ). DATA: lo_ann_target TYPE REF TO /iwbep/if_mgw_vocan_ann_target. Thank you for your detail information, I set external breakpoint in the method define of MPC_EXT class, and tried below according to your suggestion, but breakpoint is still not triggered. 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. super->define( ). Then I have also tried adding custom property directly in CDS entity type 'C_MaintOrderComponentTPType' in Method define of MPC_EXT class using below code. publish: true @Consumption. A service. 9. Entity Type 5 – mpos. These methods of the DPC must not be. In order to redefine the model, We need to redefine the corresponding method of MPC_EXT class. Remember that at this stage your fully functioning OData service is a result of purely declarative definitions. I kept External Break-point in the DPC_EXT methods and. , when the OData is created through the CDS view). redefine DEFINE method of DPC_EXT class and after call to super->define( ). Right-click on the Data Model folder and in the resulting submenu, select Redefine OData Service (GW). When redefining a service, a new OData service generates a new Model Provider Class (MPC), and a new Data Provider Class (DPC). lv_tech_clause = YOUR_EXPANDED_CLAUSE. This is quite unfortunate since most of the OData services hat have been delivered with SAP S/4HANA are based on RDS. Now let’s generate runtime artifacts. super->define ( ). String with a length. But it doesn't add an annotation to the metadata. Naveen on How to upload Excel to SAP(using ABAP) Upamanyu Sarmah on S4 HANA Output Management – Introduction, Master Form Layout Edit and Setup; Pankaj on SAPScript symbols and formatting options; Mary Roopini A on SEGW – OData MPC_EXT-DEFINE Code Collection; Mary Roopini A on SEGW – OData MPC_EXT. Here the property can be handled by redefining the DEFINE method of MPC_EXT class of the OData New techniques. Problems after editing DPC_EXT and MPC_EXT. m. You have to set The property for the EntityType to ‘ContentType’. In the sub nodes of the “Data Model” node the data definition and the relations between them will be defined. If the class open in ‘Display’ mode than convert it to ‘Change’ mode. Reason is that only this way it is. The content of Define () method depends on the OData artifacts which are. Test. ui. Smartform: ZPDF_SO_01. You can specify Email Template to used in Email Setting’s Determination Step. ), custom query options (extensibility mechanism, used eg. Documentation in this area is far from perfect and searching in SDN and internet returned more questions around this topic than answers. tell whether an entity set allows inserts, updates, or deletes, whether it requires a filter, and which properties can be used in filter expressions. SAP Gateway Technical Operations Guide: SAP Gateway Security Guide: SAP Gateway Developer Guide: OData Channel: SAP Gateway Service Builder: SAP Gateway Cookbooks: OData Channel Cookbooks: Getting Started with the Service Builder: Creating OData Channel Content: 1 SAP Business Suite Backend System: 2 SAP Gateway Hub System: 3 Code Snippets: 3. Issue in creating entity set as creatable & updatable. I'm on 7. BCALV_EDIT_01 – Switch on and off the ready-for-input status of the entire grid. These Methods will be generated as shown above. With RDS, the SADL framework automatically implements the methods that are necessary for retrieving modifying data with OData in the data provider class (DPC). In this blog, I will go through the steps necessary to connect a SAP Master Data Integration service instance with a SAP S/4HANA On-premise system. Recently I have faced an issue where ValueHelp implemented using G/W Annotation in define method of mpc_ext,does not handle filter value having more than one Contains Value when passed from Define Conditions. Usage in SAP S4 Output Management. Your OData service will define an entity type, SD_HEADER for example. There are various ways of creating configuration but the easiest way to create is via. Naveen on How to upload Excel to SAP(using ABAP) Upamanyu Sarmah on S4 HANA Output Management – Introduction, Master Form Layout Edit and Setup; Pankaj on SAPScript symbols and formatting options; Mary Roopini A on SEGW – OData MPC_EXT-DEFINE Code Collection; Mary Roopini A on SEGW – OData MPC_EXT. To create an OData service/Project, you need to go to the transaction SEGW. To configure a well-defined SAP Gateway OData service, complete the following steps in your SAP system. Here a sample code of how to set the entity EmployeePhoto to Stream in order to send Employee’s photo through SAP GW oData Service: ( source )Note : The structure for this purpose can also be created in MPC_EXT public section, I have created in SE11 for demonstrating the other possibilities. In DPC_EXT we perform CRUD operations; IN MPC_EXT we write annotations. 10. sap. Go to SPAD transaction and first press Full administration button. To register similar OData Service:Press the 'Refresh' button to the right of 'Metadata' section. Now GET_ENTITYSET method is redefine and we have to write our logic inside the method. SEGW – OData MPC_EXT-DEFINE Code Collection. Hi, We have a requirement where we have to achieve a Tree Table data binding. In webide you can choose context menu New->Extension. Steps: Create a custom table (that will store user selected fields along with data element): Insert some records for fields in the custom table: Now, create a project ‘ZDYMANIC_ENTITY’ using t-code SEGW. You can copy the class code in source code based view of SE24. Step 2. Used case statement. Alternatively, select the project, and click , or from Project in the menu, click Generate. A query provides read-only access to the database and it is. The MPC includes the MPC of the source service, and the DPC inherits the DPC of the source service. String with a length 1000). Here below are steps to achieve it. 4. Naveen on How to upload Excel to SAP(using ABAP) Upamanyu Sarmah on S4 HANA Output Management – Introduction, Master Form Layout Edit and Setup; Pankaj on SAPScript symbols and formatting options; Mary Roopini A on SEGW – OData MPC_EXT-DEFINE Code Collection; Mary Roopini A on SEGW – OData MPC_EXT. Select the Function Module for Create Option as below and press Continue. Ensure that the date oData property has below annotation. This will give you list of all Page Formats defined in system, you can check this list to see if any of these matches your paper size. Additionally, you can use filter-restriction annotation to turn this filter interval as in from and to style. For more. Function Modules and Table Types are not detailed enough: As Fn. cannot be changed after entry. This report illustrates the simplest case of using an editable ALV Grid Control. In new service you added the additional code based annotation by redefining method MPC_EXT->DEFINE. Direction: drag from tree and drop in ALV control. Step 2: Redefine the MPC_EXT “DEFINE” method and call the below code. In this class, you can choose which methods of the base class you want to keep and. using table and structure list below with Project Details. The generated definition for the OData service is contained in this class: ZCL_ZODATA_SERVICE_MPC, however, to implement the desired logic, the ZCL_ZODATA_SERVICE_MPC_EXT class will be extended with the additional code. Mpc_ext doesn't provide the data it just provides. Adding Annotation. supplying file name in response for browser. Use this option if: The CDS model and the CDS annotations fully specify the OData Model and the runtime behavior. This document provides details for generating MPC for two Project Types: This is the Implementation class that inherits Base class. To prevent that the get_entityset method is getting called you have to fill your techclause e. It will display. Activate the SAP Gateway. Now go to menu Extras->Other Requests->Add. And in ‘ createContent : function. Posted on: December 13, 2020 | By: Pawan Kesari – 3 Comments. 0, and can register odata service from gateway for Timesheet approval (HCM_Timesheet_approve_srv) and trigger succesfully. MPC Base Class : An automatically generated class for the MPC superclass of the specific model. 30 min. There the author used the UPDATE_STREAM method to UPLOAD the file to the SAP Back-end system. g. Generating the Runtime Artifacts redefines and implements the following operations in the data model provider base class: Create, Read, Update, Delete (CRUD), and Query. using two entities, separation of media and non-media data. Right click on the folder Data Model. In the next dialog, Enter the name (ZDCL_C_CO) and description, click. Underneath we find the “Data Model” node. Choose Edit to switch to editing mode. Let’s go to the implementation part. Mary Roopini A on SEGW – OData MPC_EXT-DEFINE Code. Below screen will appear where you can see below folder in project. MPC Ext Class. In this first blog about OData V4 code based implementation I want to show how to build a simple service that shows sales order header data alongside with its items.