Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
Matheus_Boneli
Product and Topic Expert
Product and Topic Expert

The Purchase Order standard form template will be used in this blog as example, following you can check the information about how to download the form and use it in the Adobe LiveCycle Designer:



Access the Maintain Form Templates app, go to the Predelivered Templates (1) tab, search for the form template MM_PUR_PURCHASE_ORDER in the Form Template Name (2) search field,and RightArrow (3) to open the Content Template.





Download the Original Language template EN (1) or choose another language in the Available Translations tab (2).








Select the Master Form Template that best fits for your requirements and press OK.






In a folder extract the files from MM_PUR_PURCHASE_ORDER_EN.zip.








Start the Adobe LiveCycle Designer and select the option Open Form.






Select the file MM_PUR_PURCHASE_ORDER_E.xpd and click on Open.






FIELD TYPE 1: STANDARD FIELD ALREADY IN OUTPUT



The Standard Templates provide certain fields which are available in the output as standard. Like for example on the Purchase Order Form – MM_PUR_PURCHASE_ORDER_E (1), click on tab Data View (2) and select PurchaseOrder (3). Now we see that the field Purchase Order (4) on the form has been shown with a box to show that it is selected.


Now go to Data view tab and click on field PurchaseOrder which has an icon as shown at (5). In the Design View tab on the right the field is highlighted with markers. A field like PricingProcedure does not have the icon as per (5) and is not in the form on the right.





FIELD TYPE 2: STANDARD FIELD AVAILABLE ON FORM



These are fields in the standard form that you can easily add to the form like for e.g. PricingProcedure mentioned above or Supplier (1). You could easily add it to the form by just drag the field from data view and drop it on the form. Notice that there is no icon shown in space (2) so this field is not on the form. Notice that after you drag and drop this field on the right, the icon appears at (2).



When you decide to add a field you should be able to search it conveniently. The fields are nicely presented in the Data View in a structure and you can see at a glance which field is in the form and which field can be added.


Knowing whether field is in the Data View is very important and if you are comfortable with the structure in the Data View that is fine. Alternatively, it can be done very conveniently by searching for the field in excel file. This also provides other characteristics of all fields in one place. The procedure to create this excel file is as below:


When you downloaded any form like Purchase Order Form you get 2 files with extension .xdp & .xsd. Open the MM_PUR_PURCHASE_ORDER_E.xsd file in Microsoft Excel. Press Ctrl-F and locate the field and search for other fields. Once you know the exact name you can then find it in the Data View.





FIELD TYPE 3: – ADD NEW CUSTOM FIELD TO FORM



The procedure is to first Create the Custom Field in S/4HANA using Fiori tile Custom Fields and Logic.



Let us add custom field POtestText of type Text. Choose (1) Create. In the New Field dialog box select (2) Procurement: Purchasing Document, Labe (3) POtestText and select Type (4) Text. Choose (5) Create and Edit.




You need to populate this field in UI. Go to UIs and Reports tab. You need to inform the system that the field is required and Enable the fields to be visible in the Manage Purchase Order app and in the Advanced app (GUI). Enable usage in the tab UIs and Reports as below:



Go to Change Purchase Order - Advanced => Icon Display Header Details, Custom Fields, Enter text into POtestText



If you need this field in the printout, you should enable this field on the form. Go to the tab (1) Form Templates. Click on (2) Enable Usage for Form Template Purchase Order. (3) Save your changes and (4) Publish.



Then you can go to Maintain Form Templates, download the form MM_PUR_PURCHASE_ORDER_E, confirm that the field is available and added to the form. In the Data View, you will see a field YY1_POtestText_PDH. You can add this field to the form.



Save the form and upload into to Maintain Form Templates.


COMPONENT FOR INCIDENTS:


You can open OSS messages using component:
MM-FIO-PUR-PO-OM – Purchase Order Output Management



OTHER REFERENCES:



Guided Answer for Output Management in SAP S/4HANA Cloud (also KBA 2941522)
GuidedCustomer Help
Output Management Setup Guide (1LQ)
2984817 - Form design in Adobe LiveCycle Designer




16 Comments
Marissa
Advisor
Advisor

Nice blog with detailed explanation 🙂

former_member213253
Contributor

Great one!! Thanks for sharing Matheus, very much useful!!

Edrilan_Berisha
Product and Topic Expert
Product and Topic Expert
0 Kudos

nice blog!

Prasobh
Advisor
Advisor
0 Kudos

Awesome content

lakshminese2020
Explorer
0 Kudos

Hi,

There is only one PO output form MM_PUR_PURCHASE_ORDER available in S/4HANA Cloud. Is there is way we can bring in MEDRUCK_PO from S/4HANA On-Premise to S/4HANA Cloud which has provision to print BOM components in Subcontracting PO. I can print BOM header with its components on PO in On-premise version but not in S4HANA Cloud.

Any guidance is appreciated

Lakshmi Nese

former_member91010
Discoverer
0 Kudos
Hi Matheus,

Thanks for such a nice blog.

Would you be able to throw some light on how to use the Text Objects in S4HCloud context? Earlier in SmartForms/AdobeForms we had the option of include Text, through which it was possible to map the Text ID, Name and Object appropriately, but in S4HCloud didn't notice any such option.
The datasource however are populating the text objects (say for PO Header Text).

Appreciate your inputs.

Regards,
Matheus_Boneli
Product and Topic Expert
Product and Topic Expert
Hello,

Please check the following KBA:

2900438 - Missing Purchase Order Header/Item Text in Output Forms

The Standard delivered output form MM_PUR_PURCHASE_ORDER prints the item and header texts, so if you are using a custom form we recommend to set the texts with the same configuration of the standard output form.

Best Regards,
Matheus

 
Matheus_Boneli
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Lakshmi,

I'm afraid to say that in the S/4HANA Cloud we don't have the option to print BOM components in the PO output form.

A feature request is created in the Customer Influence, you can vote for it:

https://influence.sap.com/sap/ino/#/idea/254591

Best Regards,
Matheus
mollamekonnen
Explorer
0 Kudos
Hello Matheus,

Thanks for the detail explanation. can please also advise how to open the .xsd file with excel?

 

Regards
Matheus_Boneli
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Molla,

You can open the Excel app, drag and drop the XSD file in the Excel, then select to open as a XLM table.

Best Regards.
mollamekonnen
Explorer
0 Kudos
Thanks again for your quick response, Matheus!
siva1990
Explorer
0 Kudos

Hi Matheus,

I wanted to express my gratitude for your wonderful blog.

Could you kindly provide information about the what extension point or Business Add-Ins (BADI) is used in the context of the Purchase Order form? Specifically, I am interested in understanding how to automatically populate a custom field. To elaborate, we aim to populate a custom field based on the document type, ensuring that this field is visible only in the form's output.

Thank you,
Siva G

Ines
Explorer
0 Kudos
Hello Matheus,

thanks a lot for this blog post. With this great guidance it is quite easy to make customer fields available in the purchase order form template.

I thought all the work was done having this additional fields in my purchase order form template and populating the new fileds in a purchase order which uses this template for the output.

But unfortunately the new customer fields were not printed at all in the output document.

What could have gone wrong? Is there anything else to do in the app "Custom Logic"?

Thank you in advance.

Best regards
Ines
Matheus_Boneli
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Ines,

Thanks for your message.

If the customer field is present in the Adobe Live Cycle Designer, it means that the field was correctly set in the Custom Fields app, otherwise check again if the custom field is enabled for Purchasing related apps, enabled for the Purchase Order form template and published (as mentioned in the FIELD TYPE 3 in this blog).

Once that you have added the custom field in the form via Adobe Live Cycle, make sure that the new version of the custom form template was correctly uploaded to the system via Maintain Form Templates app.

After everything is set the custom field should be displayed in the Purchase Order custom form template.

Hope it helps you further.

Best Regards,
Matheus

 

 
Matheus_Boneli
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Siva,

Sorry about the late response.

We have available two BAdIs that you can use to map the values in custom fields and then print those fields in the output form template.

The BAdIs are:

  1. Modify Purchase Order Header (MM_PUR_S4_PO_MODIFY_HEADER)

  2. Modify Purchase Order Item (MM_PUR_S4_PO_MODIFY_ITEM)


For further details about the BAdI you can check the SAP Help page:

Extensibility for Purchase Order Apps


Hope it helps.

Best Regards,
Matheus
Ines
Explorer
Hello Matheus,

thank you very much for your super quick answer.

After a lot of further checks it's working fine now.

There had been two failure reasons:

  1. I had have chosen an already completed PO (printed before the changes, the field names had already been there but with another binding) and duplicated it. Seemingly therefore the changes were not taken into account.

  2. For each new field there are two fieldnames which I can chose in the LifeCycleDesigner:

    • YY1_MM_NewField_PDH

    • YY1_MM_NewField_PDHF
      I have unfortunately chosen the wrong one (... PDHF) which is named "UI Field Control" when I allow the original name and which content is "3".




Thanks a lot for your help.

Best regards
Ines