Purchase order output management via BRF+ in S4
In this article, I will explain the complete set up required for output management to work for Purchase order in SAP S/4HANA using BRF+.
1. Definition of BRF+
BRF+ is an application programming interface (API) and user interface for defining and processing business rule. It allows us to model rules in an intuitive way and to reuse these rules in different applications.
BRF plus is also used in output management to
- Issue business documents in response to certain business events
- External communication such as printouts, faxes, and e-mails with a print preview option
Its main characteristics are:
- It offers a unified solution for all output-related tasks across the product.
- It can be natively integrated into SAP Fiori apps (and SAPGUI apps).
- It provides a new option for form templates (separation of static layout & content).
- It supports ready-to-use output scenarios (pre-delivered configuration).
- It supports standard extensibility for configuration & documents (form & email templates).
- It provides central monitoring tools.
- It runs in a cloud or an on-premise environment.
With SAP S/4 HANA a new Output Management approach is in place. The complete configuration differs from the configuration that is used when output management is based on NAST (condition technique). The configuration is based on BRF+. In SAP S/4 HANA, the target architecture is based on Adobe Document Server and Adobe Forms only. For the form determination rules (along with other output parameters) BRF+ functionality is used.
2.1 Key Benefits:
All output parameters can be automatically determined via a configuration activity based on BRFplus. The benefits are:
- You can send multiple messages to multiple recipients using multiple channels at the same time.
- You can configure anything without the need for ABAP exits.
- You can base each determination step on application-specific fields that can be extended.
- You can use predelivered content/determination rules to simply run output control out of the box.
- Extensibility via CDS is supported.
- ECC to HANA for new Output there is no tools available at the moment
- When converting to HANA from ECC only New PO’s will be coming in BFR+ if activated
- In 1511 only Sales Invoice and PO and available
- When it comes to 1709 12+ XML Forms and added
- bgRFC configuration has been set up and prefixes for OM_QBGRFC_INBOUND_DEST (Define Inbound Dest.) are not modified (default value: OM_QUEUE)
- Storage system and category has been maintained (KPRO)
- BRFplus is active and usable
- Adobe Document Services are available (only when using Adobe Forms)
4. Configuration Steps:
4.1. Switching from NAST to BRF+
In order to switch from NAST to BRF+, we need to activate in IMG
If It’s switched, we will not be able to use old way of NAST for output.
- For Purchase orders, go to IMG → Integration with Other SAP Components → Business Network Integration → Integration with the Ariba Network Application-specific settings → Define Message Output Control → Method 2: Use SAP S/4HANA-Based Output Management → Activate or Deactivate SAP S/4HANA-Based Output Management
Mode needs to be new output management is active
- Storage repository settings.
- Import of BRF Plus application
- Activation of object type.
- Assign Output channel
- Define determination of Form master template
- Business Rules for output determination
SAP Menu: SPRO > Cross-Application Components > Document Management > General Data > Settings for Storage Systems > Maintain Storage System
OR transaction Code: OAC0
Create new entry SOMU_DB with following data (part of standard SAP )
Storage type: SAP System Database
Storage subtype: Normal
Content table: SFORM_A_STORAGE
Now Go to transaction OACT and assign the content repository thus created to category SOMU
Download relevant application file from SAP note – 2248229 – SAP S/4HANA output management – BRFplus files. Save these in your local system drive.
If this is not uploaded, you will not see the output type in OPD transaction
For Purchase order the file will be OPD_EF_PURCHASE_ORDER.xml:
This will require a workbench TR
Below Node of SPRO will be used for all configuration of output type
IMG customization -> Cross-Application Components -> Output Control -> Manage Application Object Type Activation
In the path go to New entry and specify the object type as Purchase order and status as application active .
An output type represents a business document of a single application and defines the output parameters for that document.
In new entry enter object type as Purchase_order and assign it to output type Purchase_order .
In this step output channels selected wrt supported channels by output types. To prevent the end user from selecting output channels that are not applicable for a output type, only those output channels that can actually be used should be displayed in the applications.
Every time a document is output by the end user in an application, these rules identify the master form template that is to be used. The rules are based on several parameters: sender data, channel, and form template.
Note: Master form templates can contain placeholders for static data, for example, a logo and a footer. This data is displayed on each form page. In this activity, you can assign SAPscript texts and graphics to these placeholders.
4.2.7. Assign Form Templates:
With this activity, you can ensure that business applications use the correct predelivered and custom form templates.
( If this is not maintained correctly the output type will be in error Message no. APOC_OR_MESSAGES354)
4.2.8. Define business rules for output determination:
Business rules are created and maintained in BRFplus decision tables. These rules are used to determine the output parameters of specific business objects. Each rule comprises several determination steps connected to specific parameters. If you leave a column in the decision table blank, any value is deemed as satisfying the condition.
The customization for this is done in following customization menu path
IMG customization à Cross-Application Components à Output Control à Define business rules for output determination
Transaction Code : OPD
It opens in browser
After selecting Purchase order determination steps can be configured
i. Rules for Output type :
Document type and Dispatch time can be set as per requirement, It needs to be activated
ii. Rules for Receiver:
In drop down for show rules for select Purchase_order and in drop down for determination steps select receiver
Change the mode to Edit mode
Specify output type as Purchase order and role as “LF” for vendor.
iii. Rules for channel determination:
Specify output type as Purchase order, role as “LF” for vendor and channel as Email, Print and IDOC in three different rows, if required.
iv. Rules for Printer settings:
n drop down for show rules for select Purchase_order and in drop down for determination steps select Printer settings
Change the mode to Edit mode and create required entries
Specify output type as Purchase_order, role as “LF”, purchase organizations for which print must be generated and assign the default printer and no. of copies to be printed.
The out put device assigned should allow PDF
V. Rules for Email settings:
In this step you define Email address wrt output type, partner role
In drop down for show rules for select Purchase_order and in drop down for determination steps select E-mail settings
Change the mode to Edit mode and create required entries
Specify output type as Purchase_order, role as “LF”, and leave all other fields blank if the email address is to be taken from business partner master data.
(* Make sure that email address is maintained in BP master data and in customization of purchasing group)
vi. Rules for Form Template settings :
In SALE transaction, go to communication, create rfc connections :
(part of standard SAP)
- Please note that printing via spool is not available in release S4CORE 1.00 SP00. Upgrade to S4CORE 1.00 SP01 or higher.
- Currently, a PDF is always created for any kind of form.
This has the following impact:
- Previewing the document from the spool request is only possible when the device type is PDF1 or PDFUC.
- Using another device type can lead to alignment issues for SAPscript and Smart Forms.
- Printer tray handling is not supported.
Frontend output is currently not supported, as the output is processed via bgRFC
SAP printing process basically involves the spool work process transferring the output data to a host spool system (operating system spooler) which in turn prints the output on the printer attached to it. There are various combinations (printing method) for this depending on where the host spool system resides. SAPLPD is the transfer program which accepts print data and forwards it to the host spooler on Microsoft Windows platforms. Host spooler in the frontend system is used for downloading PDF files. Add a new output device using the SPAD transaction with device type set to PDF1. Other device types maybe required for PDF files containing characters from languages like chinese, arabic etc. Create an output device as shown in the screenshots below. In this case “PDF_printer” value is maintained in “Host printer” field of the access method tab since the FILE printer we just created was named so.. If this FILE printer has been set as the default printer in the frontend system, then value “_DEFAULT” can be maintained in this field irrespective of the name given to the printer.
The device type in out put device needs to be PDF1 or PDFUC to see print preview ( or get pdf)
After configuration, Create a PO and check in messages
Display document will show the print preview
For scheduled output , transaction ME9FF can be used
After setting this output type , you can create a new purchase order and see the out put triggered in messages and also check print preview or take print out after configuring printer.
2294198 – SAP S/4HANA output control – customized forms
2292539 – SAP S/4HANA output control – configuration
2228611 -Output Management in SAP S/4HANA
2292571 – SAP S/4HANA output control – technical setup
For customizing output types below given blog can be referred: