Create SAP PO with Explicit PO Number

SAP SD

Explicit PO Number: This post will explain how to create a SAP PO ( Purchasing Order) with Explicit PO Number.

The first part will cover SAP PO Number Customizing and the second part will explain how to create explicit PO Number.

Customizing for Explicit PO Number

In order to allow External number to SAP PO ( Purchase Order ), customizing for PO Number range should be set to External.

So Define a SAP PO document Type then assign a number range for external numbers.

Create External Number Range for Purchasing Document

Launch the SAP Tcode OMH6 : Number Ranges for Purch. Documents

Number Range for Purchasing Document - SAP Explicit PO Number

Check also, the following SAP Tcodes for Number Ranges

  • OMH6 Number Ranges for Purch. Documents
  • OMH7 Number Ranges for Purch. Requisition
  • OMH8 Number Ranges for Service Package
  • OMH9 Number Ranges for Entry Sheet

Assign External Number Range to Purchasing Document Type

To assign External Number Range to Purchasing Document Type, Navigate through SPRO to
Purchasing > Define Document Types

Set the following information

  • Type for Document Types
  • Item Number Interval
  • No Range Internal
  • No Range External
Assign External PO Number to PO type - Explicit PO Number

Create SAP PO Explicit PO Number using BAPI

Once the Customizing for External Number Range for PO is done, you can move to ABAP report/Code.

In order to create a SAP Purchasing document with an External PO number use the standard BAPI BAPI_PO_CREATE1 (Create Purchase Order).

Check also List of Important SAP SD Tables (Sales and Distribution).

The main input parameters for PO Number are

  • POHEADER : Header Data- type BAPIMEPOHEADER
  • POHEADERX: Header Data (Change Parameter)- type BAPIMEPOHEADERX

Use field the POHEADER-PO_NUMBER (EBELN CHAR 10 0 Purchasing Document Number) for the External PO Number for the Purchase Document you want to create.

Set POHEADERX-PO_NUMBER = ‘X’

Call the BAPI BAPI_PO_CREATE1 will all the SAP Purchasing Order Details.

" Data declaration
DATA: LS_POHEADER   TYPE BAPIMEPOHEADER.
DATA: LS_POHEADERX  TYPE BAPIMEPOHEADERX.


" Set External PO 
ls_poheader-po_number   = iv_external_po.

" Set Update Flag External PO 
ls_poheaderx-po_number  = abap_true.  " 'X'

" Call SAP PO Creation BAPI 
CALL FUNCTION 'BAPI_PO_CREATE1'
  EXPORTING
    POHEADER                    = LS_POHEADER
    POHEADERX                   = LS_POHEADERX ...

Check more information about Purchasing Document and Most Useful SAP EDI Transactions (SAP Idocs Tcodes) & SAP EDI Tables