Home About



May 2024

April 2024

March 2024

February 2024

January 2024

December 2023

November 2023

October 2023

September 2023

August 2023

July 2023

June 2023

May 2023

April 2023

March 2023

February 2023

January 2023

December 2022

back to home

Dismantle BAPI_PRODORD_GET_DETAIL - How to get production order details from SAP

29 February 2024 • 4 mins

Peakboard works well with a lot of things relating to SAP production. In this, article, we will learn how to access the components of a production order in SAP.

The term components refers to products that are needed to fulfill a production order, such as:

  • The parts that are needed to build the target product.
  • Additional items that are packed into the box (like a manual).

Materials can optionally be bound to a certain operation in the production order.

After accessing the production order in SAP (transaction CO03), we take a look at the components by clicking the components button.


Usually, the necessary components generate additional logistic processes (like getting the material from the warehouse and preparing them for assembly).



The RFC function module BAPI_PRODORD_GET_DETAIL requests information about a production order in SAP. It’s a standard BAPI (Business Application Programming Interface) and is available in any SAP system where the production module is active.

The following screenshot shows the function module in transaction SE37. You can use this to learn all the necessary details about the function module. You can see in the screenshot that this function module has two import parameters that are relevant to us.

  • NUMBER is the production order number.
  • ORDER_OBJECTS is a structure that defines which parts of the order you want to include in the response to the call.


Let’s dive deeper into the ORDER_OBJECTS structure. There’s a list of elements, and we can select the ones we want to include in the response. Because we’re interested in the components, we select the COMPONENTS attribute of the structure.

The function module works like this in order to reduce the complexity of the call. If the caller is not interested in the header data, for example, we can just not select HEADER. That makes the call perform much faster, because it avoids unnecessary internal database queries.


Let’s jump to the table section. There are several tables returned by the call. We’re only interested in the COMPONENTS table.


We create an XQL statement to call the BAPI, now that we know how to operate the function module, which attributes to fill, and what to expect in return. Here is the XQL statement:

      NUMBER = '000060003912',

When we use the call later in the Peakboard application, we will replace the fixed order number with a variable, in order to get the order number dynamically.

Build the Peakboard app

For the Peakboard app, we create a text field, a button, and a table, to show the result of the BAPI call.


The actual XQL has this placeholder in it: #[OrderNo]#. That way, the value will be taken from the contents of the OrderNo variable. Note that the reload state is set to manual reload, because it doesn’t make sense for the data source to run automatically. We only want it to run as a result of the code behind the button.


Let’s have a look at the Building Block script behind the button. It writes the value of the text field (that is entered by the user) into the variable and then triggers a reload.


Result and conclusion

The following recording shows the Peaboard app in action. As you saw in this article, we only need a few steps to be able to execute the function module and process the result properly. A lot of SAP standard function modules are rather complicated, but this one is easy to use and handle.


Dismantle BAPI_PRODORD_GET_DETAIL - How to get production order details from SAP


Want to get notified when a new article is published? Sign up below!