SAP BBP_PD_PO_CREATE Function Module for Anlegen Bestellung
BBP_PD_PO_CREATE is a standard bbp pd po create SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Anlegen Bestellung processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for bbp pd po create FM, simply by entering the name BBP_PD_PO_CREATE into the relevant SAP transaction such as SE37 or SE38.
Function Group: BBP_PD_PO
Program Name: SAPLBBP_PD_PO
Main Program: SAPLBBP_PD_PO
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function BBP_PD_PO_CREATE pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'BBP_PD_PO_CREATE'"Anlegen Bestellung.
EXPORTING
* I_REF_GUID = "Globally Unique Identifier
* IT_ATTACH = "KW-Anlagen inkl. Dokument
* I_ITEM_SORTED_BY_HIERARCHY = "Soll E_ITEM nach Hierarchien sortiert werden?
* I_BAPIMODE = "X: Aufruf im BAPI-Fall (ohne HSP-Pufferung)
* I_PARK = "X: Daten sichern mit Status 'geparkt'
* I_SAVE = "X: Vorgang 'bid_finish'/'confirm'/'post'/'quot_submit'/'order' setzen
* IV_USE_GROUP_CONDITIONS = "X: Preise mit Gruppenkonditionen berechnen
* I_TESTRUN = "X: Testlauf
* I_HEADER = "Schnittstelle Kopf-Daten Bestellung Anlegen/Prfen-Fall
* I_SRC_GUID = "Guid des Quellbelegs
* I_SRC_OBJECT_TYPE = "Objekttyp
IMPORTING
E_HEADER = "Schnittstelle Kopf-Daten Bestellung Anlegen/Prfen-Fall
ET_ATTACH = "KW-Anlagen inkl. Dokument
TABLES
* I_ITEM = "Schnittstelle Positions-Daten Bestellung Anl/Prf/nd-Fall
* I_PRIDOC = "Belegkonditionen
* E_ITEM = "
* E_ACCOUNT = "Kontierungs-Set
* E_PARTNER = "Geschftspartner-Set
* E_CONFIRM = "Besttigungs-Set
* E_LONGTEXT = "Langtexte zum Procurement Document
* E_SDLN = "Geschftsvorgangsposition -Einteilung (Ausgabe an Anwendung)
* E_LIMIT = "Limit-Set
* E_ORGDATA = "Datenbanktabelle Orgdaten-Set (Einkauf)
* E_TAX = "Steuern
* I_ACCOUNT = "Kontierungs-Set
* E_STATUS = "Einzelstatus
E_MESSAGES = "Fehlermeldungen zu einer PD-Methode
* I_TOL = "Toleranzen
* E_TOL = "Toleranzen
* I_HCF = "Tabellenartige Kunden- und Solutionfelder am Kopf
* I_ICF = "Tabellenartige Kunden- und Solutionfelder an der Position
* E_HCF = "Tabellenartige Kunden- und Solutionfelder am Kopf
* E_ICF = "Tabellenartige Kunden- und Solutionfelder an der Position
* I_PARTNER = "Geschftspartner-Set
* I_CONFIRM = "Besttigungs-Set
* I_LONGTEXT = "Langtexte zum Procurement Document
* I_SDLN = "Geschftsvorgangsposition -Einteilung (Ausgabe an Anwendung)
* I_LIMIT = "Limit-Set
* I_ORGDATA = "Datenbanktabelle Orgdaten-Set (Einkauf)
* I_TAX = "Steuern
IMPORTING Parameters details for BBP_PD_PO_CREATE
I_REF_GUID - Globally Unique Identifier
Data type: CRMD_ORDERADM_H-GUIDOptional: Yes
Call by Reference: No ( called with pass by value option)
IT_ATTACH - KW-Anlagen inkl. Dokument
Data type: BBPT_PDS_ATT_TOptional: Yes
Call by Reference: No ( called with pass by value option)
I_ITEM_SORTED_BY_HIERARCHY - Soll E_ITEM nach Hierarchien sortiert werden?
Data type: XFELDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_BAPIMODE - X: Aufruf im BAPI-Fall (ohne HSP-Pufferung)
Data type: XFELDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_PARK - X: Daten sichern mit Status 'geparkt'
Data type: XFELDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SAVE - X: Vorgang 'bid_finish'/'confirm'/'post'/'quot_submit'/'order' setzen
Data type: XFELDOptional: Yes
Call by Reference: No ( called with pass by value option)
IV_USE_GROUP_CONDITIONS - X: Preise mit Gruppenkonditionen berechnen
Data type: XFELDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_TESTRUN - X: Testlauf
Data type: XFELDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_HEADER - Schnittstelle Kopf-Daten Bestellung Anlegen/Prfen-Fall
Data type: BBP_PDS_PO_HEADER_ICOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SRC_GUID - Guid des Quellbelegs
Data type: CRMD_ORDERADM_H-GUIDOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SRC_OBJECT_TYPE - Objekttyp
Data type: CRMD_ORDERADM_H-OBJECT_TYPEOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for BBP_PD_PO_CREATE
E_HEADER - Schnittstelle Kopf-Daten Bestellung Anlegen/Prfen-Fall
Data type: BBP_PDS_PO_HEADER_DOptional: No
Call by Reference: No ( called with pass by value option)
ET_ATTACH - KW-Anlagen inkl. Dokument
Data type: BBPT_PDS_ATT_TOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for BBP_PD_PO_CREATE
I_ITEM - Schnittstelle Positions-Daten Bestellung Anl/Prf/nd-Fall
Data type: BBP_PDS_PO_ITEM_ICUOptional: Yes
Call by Reference: No ( called with pass by value option)
I_PRIDOC - Belegkonditionen
Data type: BBP_PDS_PRCOptional: Yes
Call by Reference: No ( called with pass by value option)
E_ITEM -
Data type: BBP_PDS_PO_ITEM_DOptional: Yes
Call by Reference: No ( called with pass by value option)
E_ACCOUNT - Kontierungs-Set
Data type: BBP_PDS_ACCOptional: Yes
Call by Reference: No ( called with pass by value option)
E_PARTNER - Geschftspartner-Set
Data type: BBP_PDS_PARTNEROptional: Yes
Call by Reference: No ( called with pass by value option)
E_CONFIRM - Besttigungs-Set
Data type: BBP_PDS_CONOptional: Yes
Call by Reference: No ( called with pass by value option)
E_LONGTEXT - Langtexte zum Procurement Document
Data type: BBP_PDS_LONGTEXTOptional: Yes
Call by Reference: No ( called with pass by value option)
E_SDLN - Geschftsvorgangsposition -Einteilung (Ausgabe an Anwendung)
Data type: BBP_PDS_SDLNOptional: Yes
Call by Reference: Yes
E_LIMIT - Limit-Set
Data type: BBP_PDS_LIMITOptional: Yes
Call by Reference: No ( called with pass by value option)
E_ORGDATA - Datenbanktabelle Orgdaten-Set (Einkauf)
Data type: BBP_PDS_ORGOptional: Yes
Call by Reference: No ( called with pass by value option)
E_TAX - Steuern
Data type: BBP_PDS_TAXOptional: Yes
Call by Reference: No ( called with pass by value option)
I_ACCOUNT - Kontierungs-Set
Data type: BBP_PDS_ACCOptional: Yes
Call by Reference: No ( called with pass by value option)
E_STATUS - Einzelstatus
Data type: BBP_PDS_STATUSOptional: Yes
Call by Reference: No ( called with pass by value option)
E_MESSAGES - Fehlermeldungen zu einer PD-Methode
Data type: BBP_PDS_MESSAGESOptional: No
Call by Reference: No ( called with pass by value option)
I_TOL - Toleranzen
Data type: BBP_PDS_TOLOptional: Yes
Call by Reference: No ( called with pass by value option)
E_TOL - Toleranzen
Data type: BBP_PDS_TOLOptional: Yes
Call by Reference: No ( called with pass by value option)
I_HCF - Tabellenartige Kunden- und Solutionfelder am Kopf
Data type: BBP_PDS_HCF_POOptional: Yes
Call by Reference: No ( called with pass by value option)
I_ICF - Tabellenartige Kunden- und Solutionfelder an der Position
Data type: BBP_PDS_ICF_POOptional: Yes
Call by Reference: No ( called with pass by value option)
E_HCF - Tabellenartige Kunden- und Solutionfelder am Kopf
Data type: BBP_PDS_HCF_POOptional: Yes
Call by Reference: No ( called with pass by value option)
E_ICF - Tabellenartige Kunden- und Solutionfelder an der Position
Data type: BBP_PDS_ICF_POOptional: Yes
Call by Reference: No ( called with pass by value option)
I_PARTNER - Geschftspartner-Set
Data type: BBP_PDS_PARTNEROptional: Yes
Call by Reference: No ( called with pass by value option)
I_CONFIRM - Besttigungs-Set
Data type: BBP_PDS_CONOptional: Yes
Call by Reference: No ( called with pass by value option)
I_LONGTEXT - Langtexte zum Procurement Document
Data type: BBP_PDS_LONGTEXTOptional: Yes
Call by Reference: No ( called with pass by value option)
I_SDLN - Geschftsvorgangsposition -Einteilung (Ausgabe an Anwendung)
Data type: BBP_PDS_SDLNOptional: Yes
Call by Reference: Yes
I_LIMIT - Limit-Set
Data type: BBP_PDS_LIMITOptional: Yes
Call by Reference: No ( called with pass by value option)
I_ORGDATA - Datenbanktabelle Orgdaten-Set (Einkauf)
Data type: BBP_PDS_ORGOptional: Yes
Call by Reference: No ( called with pass by value option)
I_TAX - Steuern
Data type: BBP_PDS_TAXOptional: Yes
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for BBP_PD_PO_CREATE Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lt_i_item | TYPE STANDARD TABLE OF BBP_PDS_PO_ITEM_ICU, " | |||
| lv_e_header | TYPE BBP_PDS_PO_HEADER_D, " | |||
| lv_i_ref_guid | TYPE CRMD_ORDERADM_H-GUID, " | |||
| lt_i_pridoc | TYPE STANDARD TABLE OF BBP_PDS_PRC, " | |||
| lv_it_attach | TYPE BBPT_PDS_ATT_T, " | |||
| lt_e_item | TYPE STANDARD TABLE OF BBP_PDS_PO_ITEM_D, " | |||
| lv_i_item_sorted_by_hierarchy | TYPE XFELD, " | |||
| lt_e_account | TYPE STANDARD TABLE OF BBP_PDS_ACC, " | |||
| lt_e_partner | TYPE STANDARD TABLE OF BBP_PDS_PARTNER, " | |||
| lt_e_confirm | TYPE STANDARD TABLE OF BBP_PDS_CON, " | |||
| lt_e_longtext | TYPE STANDARD TABLE OF BBP_PDS_LONGTEXT, " | |||
| lt_e_sdln | TYPE STANDARD TABLE OF BBP_PDS_SDLN, " | |||
| lt_e_limit | TYPE STANDARD TABLE OF BBP_PDS_LIMIT, " | |||
| lt_e_orgdata | TYPE STANDARD TABLE OF BBP_PDS_ORG, " | |||
| lt_e_tax | TYPE STANDARD TABLE OF BBP_PDS_TAX, " | |||
| lv_et_attach | TYPE BBPT_PDS_ATT_T, " | |||
| lt_i_account | TYPE STANDARD TABLE OF BBP_PDS_ACC, " | |||
| lv_i_bapimode | TYPE XFELD, " | |||
| lt_e_status | TYPE STANDARD TABLE OF BBP_PDS_STATUS, " | |||
| lt_e_messages | TYPE STANDARD TABLE OF BBP_PDS_MESSAGES, " | |||
| lt_i_tol | TYPE STANDARD TABLE OF BBP_PDS_TOL, " | |||
| lt_e_tol | TYPE STANDARD TABLE OF BBP_PDS_TOL, " | |||
| lt_i_hcf | TYPE STANDARD TABLE OF BBP_PDS_HCF_PO, " | |||
| lt_i_icf | TYPE STANDARD TABLE OF BBP_PDS_ICF_PO, " | |||
| lt_e_hcf | TYPE STANDARD TABLE OF BBP_PDS_HCF_PO, " | |||
| lt_e_icf | TYPE STANDARD TABLE OF BBP_PDS_ICF_PO, " | |||
| lv_i_park | TYPE XFELD, " | |||
| lt_i_partner | TYPE STANDARD TABLE OF BBP_PDS_PARTNER, " | |||
| lv_i_save | TYPE XFELD, " | |||
| lt_i_confirm | TYPE STANDARD TABLE OF BBP_PDS_CON, " | |||
| lt_i_longtext | TYPE STANDARD TABLE OF BBP_PDS_LONGTEXT, " | |||
| lv_iv_use_group_conditions | TYPE XFELD, " | |||
| lt_i_sdln | TYPE STANDARD TABLE OF BBP_PDS_SDLN, " | |||
| lv_i_testrun | TYPE XFELD, " | |||
| lt_i_limit | TYPE STANDARD TABLE OF BBP_PDS_LIMIT, " | |||
| lv_i_header | TYPE BBP_PDS_PO_HEADER_IC, " | |||
| lt_i_orgdata | TYPE STANDARD TABLE OF BBP_PDS_ORG, " | |||
| lv_i_src_guid | TYPE CRMD_ORDERADM_H-GUID, " | |||
| lt_i_tax | TYPE STANDARD TABLE OF BBP_PDS_TAX, " | |||
| lv_i_src_object_type | TYPE CRMD_ORDERADM_H-OBJECT_TYPE. " |
|   CALL FUNCTION 'BBP_PD_PO_CREATE' "Anlegen Bestellung |
| EXPORTING | ||
| I_REF_GUID | = lv_i_ref_guid | |
| IT_ATTACH | = lv_it_attach | |
| I_ITEM_SORTED_BY_HIERARCHY | = lv_i_item_sorted_by_hierarchy | |
| I_BAPIMODE | = lv_i_bapimode | |
| I_PARK | = lv_i_park | |
| I_SAVE | = lv_i_save | |
| IV_USE_GROUP_CONDITIONS | = lv_iv_use_group_conditions | |
| I_TESTRUN | = lv_i_testrun | |
| I_HEADER | = lv_i_header | |
| I_SRC_GUID | = lv_i_src_guid | |
| I_SRC_OBJECT_TYPE | = lv_i_src_object_type | |
| IMPORTING | ||
| E_HEADER | = lv_e_header | |
| ET_ATTACH | = lv_et_attach | |
| TABLES | ||
| I_ITEM | = lt_i_item | |
| I_PRIDOC | = lt_i_pridoc | |
| E_ITEM | = lt_e_item | |
| E_ACCOUNT | = lt_e_account | |
| E_PARTNER | = lt_e_partner | |
| E_CONFIRM | = lt_e_confirm | |
| E_LONGTEXT | = lt_e_longtext | |
| E_SDLN | = lt_e_sdln | |
| E_LIMIT | = lt_e_limit | |
| E_ORGDATA | = lt_e_orgdata | |
| E_TAX | = lt_e_tax | |
| I_ACCOUNT | = lt_i_account | |
| E_STATUS | = lt_e_status | |
| E_MESSAGES | = lt_e_messages | |
| I_TOL | = lt_i_tol | |
| E_TOL | = lt_e_tol | |
| I_HCF | = lt_i_hcf | |
| I_ICF | = lt_i_icf | |
| E_HCF | = lt_e_hcf | |
| E_ICF | = lt_e_icf | |
| I_PARTNER | = lt_i_partner | |
| I_CONFIRM | = lt_i_confirm | |
| I_LONGTEXT | = lt_i_longtext | |
| I_SDLN | = lt_i_sdln | |
| I_LIMIT | = lt_i_limit | |
| I_ORGDATA | = lt_i_orgdata | |
| I_TAX | = lt_i_tax | |
| . " BBP_PD_PO_CREATE | ||
ABAP code using 7.40 inline data declarations to call FM BBP_PD_PO_CREATE
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single GUID FROM CRMD_ORDERADM_H INTO @DATA(ld_i_ref_guid). | ||||
| "SELECT single GUID FROM CRMD_ORDERADM_H INTO @DATA(ld_i_src_guid). | ||||
| "SELECT single OBJECT_TYPE FROM CRMD_ORDERADM_H INTO @DATA(ld_i_src_object_type). | ||||
Search for further information about these or an SAP related objects