Configuration examples

Recording a VA03 single select transaction in the SAP front-end

Requirements

For single selection of a process instance of the Order processing process type group in PPM, the VA03 transaction (Display order) should be called in the SAP system using the sapppm ID.
The transaction is to be assigned the AT_SALES_ORDER_NUMBER (order number of the selected process instance) PPM process attribute.

Below you will see how to use the SAP transaction recorder to record the VA03 transaction (Display order) taking into account the given requirements.

Launch the transaction recorder in the SAP front-end (SHDB transaction). The following screen is displayed:

ppm_customizing_37

Create a new record and enter any name in the Record box to be used for saving the record. In the Transaction code box, enter the name of the transaction to be recorded:

ppm_customizing_38

Now start recording and enter the required data in the following screen, i.e., in the boxes to be filled with PPM process attributes, you enter the corresponding values and complete the boxes that are to be filled with fixed values when the transaction is called. In this example, there are no fixed values to be preset, only the order number to be transferred from the PPM process instance. Enter an order number that exists in your system in the Order box.

ppm_customizing_39

Confirm your entries with the F5 key and display the data for order 7499:

ppm_customizing_40

Exit the transaction using Back (F3). You have returned to the transaction recorder and see your entries in the ABAP batch input format:

ppm_customizing_41

The first row of the batch input script refers to the transaction call. The last two rows represent the order display and the use of the Back button. These rows can be ignored during the subsequent creation of the XML transaction configuration.

The content of all other rows needs to be transferred into the XML format of the batchinputline elements.

Column name in
ABAP batch input format

XML attribute

Program

program

Dynpro

dynpro

Start indicator

dynprobegin

Field name

fieldname

Field value

fieldvalue

Fields with no value do not need to be specified as this corresponds to the default value of fieldvalue. The XML format in this example looks like this:

...

<batchinputline program="SAPMV45A" dynpro="0102"
dynprobegin="X"/>

<batchinputline fieldname="BDC_CURSOR"

fieldvalue="VBAK-VBELN"/>

<batchinputline fieldname="BDC_OKCODE"

fieldvalue="=UER1"/>

<batchinputline fieldname="VBAK-VBELN"

fieldvalue="7499"/>

...

To ensure that the order 7499 is not always displayed, regardless of the process instance in the Order processing process type group from which you call the VA03 transaction, replace the static value for the order number field in the final batchinputline element (in this case: VBAK-VBELN) with the corresponding PPM process attribute that contains the order number in your process instance, e.g., AT_SALES_ORDER_NUMBER.

Combined with (sample) connection data, the transaction configuration now looks as follows (ABAP batch input data in bold):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE r3transactionconf SYSTEM

"mysaptransaction.dtd">

<r3transactionconf>

<submenu>

<description language="de"

name="SAP-Transaktionen"/>

<description language="en"

name="SAP transactions"/>

</submenu>

<logoutMenuEntry>

<description language="de"

name="SAP-Verbindung ändern"/>

<description language="en"

name="Change SAP connection"/>

</logoutMenuEntry>

<r3system systemid="sapppm" client="800">

<description language="de"

name="SAP-System 'sapppm' "/>

<description language="en"

name="SAP system 'sapppm' "/>

<locales>

<defaultlocale value="de"/>

<locale value="en"/>

</locales>

<applicationserver appserver="sapppm"

systemnumber="00"/>

</r3system>

<transaction systemid="sapppm"

transactioncode="VA03" transactionid="VA03"

proctypegroup="Order processing">

<description language="de"

name="Auftrag anzeigen (VA03)"/>

<description language="en"

name="Display sales order (VA03)"/>

<batchinputline program="SAPMV45A"

dynpro="0102" dynprobegin="X"/>

<batchinputline fieldname="BDC_CURSOR"
fieldvalue="VBAK-VBELN"/>

<batchinputline fieldname="BDC_OKCODE"

fieldvalue="=UER1"/>

<batchinputline fieldname="VBAK-VBELN"

attributname="AT_SALES_ORDER_NUMBER"/>

</transaction>

</r3transactionconf>

Display in PPM

The pop-up menu for calling a transaction on a selected process instance in the Order processing\Other orders process type group in line with the above configuration looks like this:

ppm_customizing_42

The SAP login dialog in line with the configuration looks like this:

ppm_customizing_49

After the user has successfully been authenticated in the SAP system, the VA03 transaction is called in the SAP front-end, and the data pertaining to the order number of the selected process instance (here: 5000053) is displayed:

ppm_customizing_50

Record ME5F multi-select transaction

Requirements

If several process instances from the Purchase requisitions process type group are selected in the process instance table, it should be possible to call the ME5F transaction (release reminder: Purchase requisitions) in the SAP system using the sapppm ID. Use KY as the release code and 01 as the release group for each call of the ME5F transaction.

The values of the PPM AT_BANF_NUMBER (purchase requisition number) process attribute for the selected process instances should be transferred to the transaction.

Below you will see how to use the SAP transaction recorder to record the ME5F transaction (purchase requisition release reminder) taking into account the given requirements.

Launch the transaction recorder in the SAP front-end (SHDB transaction). The following screen is displayed:

ppm_customizing_51

Create a new record and enter any name in the Record box to be used for saving the record. In the Transaction code box, enter the name of the transaction to be recorded:

ppm_customizing_52

Now start recording and enter the required information in the following screen. For purchase requisition numbers, enter the numbers 1001 - 1010 as individual values. In the dialog box, use the Down key to navigate in order to avoid a non-functional OK code in the ABAP batch script using vertical scrolling.

ppm_customizing_53

In the Release code box, enter the value KY and in the Release group box, enter the value 01. Apply your entries by pressing the F8 key. Your transaction now looks as follows:

ppm_customizing_54

Press F8 again to execute the transaction with the specified values and display the corresponding purchase requirements in ABAP batch script format:

ppm_customizing_55

Instead of applying the values directly from the SAP front-end, you can also export the script as a DAT file using Shift+F8 and display the contents including line numbers in the editor.

ppm_customizing_56

The first row of the batch input script refers to the transaction call. Ignore this row and rows 41-48; they contain repeat entries from rows 5-11 or (as in row 46) automatically transferred data from the bottom of the multiple selection dialog. Rows named BDC_SUBSCR (e.g., row 14) are to be ignored in the subsequent creation of the XML transaction configuration.

The content of all other rows needs to be transferred into the XML format of the batchinputline elements.

Column name in
ABAP batch input format

DAT file
row number

XML attribute

Program

2, 12, 25, 38

program

Dynpro

2, 12, 25, 38

dynpro

Start indicator

2, 12, 25, 38

dynprobegin

Field name

e.g., 3-11

(1. screen)

fieldname

Field value

e.g., 3-11

(1. screen)

fieldvalue

You do not indicate fields without value because this corresponds to the fieldvalue default value.

...

<!-- 1st screen -->

<batchinputline program="RM06BF00" dynpro="1000"

dynprobegin="X"/>

<batchinputline fieldname="BDC_CURSOR"

fieldvalue="S_FRGGR-LOW"/>

<batchinputline fieldname="BDC_OKCODE"

fieldvalue="=%005"/>

<batchinputline fieldname="P_FRGAB" fieldvalue="KY" />

<batchinputline fieldname="S_FRGGR-LOW" fieldvalue="01" />

<batchinputline fieldname="P_FRGVO" fieldvalue="X" />

<batchinputline fieldname="P_SELGS" fieldvalue="X" />

<batchinputline fieldname="P_SELPO" fieldvalue="X" />

<batchinputline fieldname="P_LSTUB" fieldvalue="A" />

<batchinputline fieldname="P_SRTKZ" fieldvalue="1" />

<!-- 2nd screen -->

<batchinputline program="SAPLALDB" dynpro="3000"

dynprobegin="X"/>

<batchinputline fieldname="BDC_OKCODE" fieldvalue="=P+" />

<batchinputline fieldname="BDC_CURSOR"

fieldvalue="RSCSEL-SLOW_I(08)"/>

<batchinputline fieldname="RSCSEL-SLOW_I(01)"

fieldvalue="1001"/>

<batchinputline fieldname="RSCSEL-SLOW_I(02)"

fieldvalue="1002"/>

<batchinputline fieldname="RSCSEL-SLOW_I(03)"

fieldvalue="1003"/>

<batchinputline fieldname="RSCSEL-SLOW_I(04)"

fieldvalue="1004"/>

<batchinputline fieldname="RSCSEL-SLOW_I(05)"

fieldvalue="1005"/>

<batchinputline fieldname="RSCSEL-SLOW_I(06)"

fieldvalue="1006"/>

<batchinputline fieldname="RSCSEL-SLOW_I(07)"

fieldvalue="1007"/>

<batchinputline fieldname="RSCSEL-SLOW_I(08)"

fieldvalue="1008"/>

<batchinputline fieldname="RSCSEL-SLOW_I(09)"

fieldvalue="__________"/>

<!-- 3rd screen -->

<batchinputline program="SAPLALDB" dynpro="3000"

dynprobegin="X"/>

<batchinputline fieldname="BDC_OKCODE"

fieldvalue="=ACPT"/>

<batchinputline fieldname="BDC_CURSOR"

fieldvalue="RSCSEL-SLOW_I(03)"/>

<batchinputline fieldname="RSCSEL-SLOW_I(01)"

fieldvalue="1008"/>

<batchinputline fieldname="RSCSEL-SLOW_I(02)"

fieldvalue="1009"/>

<batchinputline fieldname="RSCSEL-SLOW_I(03)"

fieldvalue="1010"/>

<batchinputline fieldname="RSCSEL-SLOW_I(04)"

fieldvalue=""/>

<batchinputline fieldname="RSCSEL-SLOW_I(05)"

fieldvalue=""/>

<batchinputline fieldname="RSCSEL-SLOW_I(06)"

fieldvalue=""/>

<batchinputline fieldname="RSCSEL-SLOW_I(07)"

fieldvalue=""/>

<batchinputline fieldname="RSCSEL-SLOW_I(08)"

fieldvalue=""/>

<batchinputline fieldname="RSCSEL-SLOW_I(09)"

fieldvalue=""/>

<!-- 4th screen -->

<batchinputline program="RM06BF00" dynpro="1000"

dynprobegin="X"/>

<batchinputline fieldname="BDC_OKCODE"

fieldvalue="=ONLI"/>

...

This transaction configuration would actually work with the connection data from the previous example. However, no matter which process instances in the Purchase requisitions process type group you would select, one transaction pertaining to a purchase requisition with the number 1001-1010 would always be displayed.

In order to display the proper purchase requisition for each process instance, you need to replace both multiple selection screens (all batchinputline XML elements from the second and third screen) in the current configuration with one batchinputlist XML element only. You need the following data:

XML attribute

Value (description)

program

SAPLALDB (program name)

dynpro

3000 (dynpro name)

okcodefieldname

BDC_OKCODE (name of the dynpro field that contains the OK code)

okcodepagedown

=P+ (OK code value for paging down)

okcodeaccept

=ACPT (OK code value to accept the entry in multiple selection)

fieldname

RSCSEL-SLOW_I (Name of the field that you want to assign the PPM attribute values to. The field must not contain row indices [(01), (02), etc.].)

attributname

AT_BANF_NUMBER (internal name of the PPM process attribute whose values are going to be transferred to the called transaction)

linesperpage

9 (number of entry rows on each multiple selection screen)

Based on these entries, the batchinputlist element now looks like this:

<batchinputlist program="SAPLALDB" dynpro="3000"

okcodefieldname="BDC_OKCODE" okcodepagedown="=P+"

okcodeaccept="=ACPT" fieldname="RSCSEL-SLOW_I"

attributname="AT_BANF_NUMBER" linesperpage="9" />

In combination with the connection data from the single select example, the transaction configuration now looks like this:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE r3transactionconf SYSTEM

"mysaptransaction.dtd">

<r3transactionconf>

<submenu>

<description language="de"

name="SAP-Transaktionen"/>

<description language="en"

name="SAP transactions"/>

</submenu>

<logoutMenuEntry>

<description language="de"

name="SAP-Verbindung ändern"/>

<description language="en"

name="Change SAP connection"/>

</logoutMenuEntry>

<r3system systemid="sapppm" client="800">

<description language="de"

name="SAP-System 'sapppm' "/>

<description language="en"

name="SAP system 'sapppm' "/>

<locales>

<defaultlocale value="de"/>

<locale value="en"/>

</locales>

<applicationserver appserver="sapppm"

systemnumber="00"/>

</r3system>

<transaction

systemid="sapppm" transactioncode="ME5F"

transactionid="ME5F">

<description language="de"

name="Freigabeerinnerung BANF (ME5F)"/>

<description language="en"

name="Release (approval) reminder:

Purchase Requisitions (ME5F)"/>

<!-- 1st screen -->

<batchinputline program="RM06BF00" dynpro="1000"

dynprobegin="X"/>

<batchinputline fieldname="BDC_CURSOR"

fieldvalue="S_FRGGR-LOW"/>

<batchinputline fieldname="BDC_OKCODE"

fieldvalue="=%005"/>

<batchinputline fieldname="P_FRGAB" fieldvalue="KY" />

<batchinputline fieldname="S_FRGGR-LOW"

fieldvalue="01"/>

<batchinputline fieldname="P_FRGVO" fieldvalue="X" />

<batchinputline fieldname="P_SELGS" fieldvalue="X" />

<batchinputline fieldname="P_SELPO" fieldvalue="X" />

<batchinputline fieldname="P_LSTUB" fieldvalue="A" />

<batchinputline fieldname="P_SRTKZ" fieldvalue="1" />

<!-- Multiple selection screens -->

<batchinputlist program="SAPLALDB" dynpro="3000"

okcodefieldname="BDC_OKCODE" okcodepagedown="=P+"

okcodeaccept="=ACPT" fieldname="RSCSEL-SLOW_I"

attributname="AT_BANF_NUMBER" linesperpage="9" />

<!-- 1st screen -->

<batchinputline program="RM06BF00" dynpro="1000"

dynprobegin="X"/>

<batchinputline fieldname="BDC_OKCODE"

fieldvalue="=ONLI"/>

</transaction>

</r3transactionconf>