SAP BBP_DPO_TO_BAPI_MAP Function Module for Mapping von PO-Strukturen auf Bapi-Strukturen
BBP_DPO_TO_BAPI_MAP is a standard bbp dpo to bapi map SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Mapping von PO-Strukturen auf Bapi-Strukturen 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 dpo to bapi map FM, simply by entering the name BBP_DPO_TO_BAPI_MAP into the relevant SAP transaction such as SE37 or SE38.
Function Group: BBP_BD_DRIVER_46A
Program Name: SAPLBBP_BD_DRIVER_46A
Main Program: SAPLBBP_BD_DRIVER_46A
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function BBP_DPO_TO_BAPI_MAP 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_DPO_TO_BAPI_MAP'"Mapping von PO-Strukturen auf Bapi-Strukturen.
EXPORTING
I_HEADER = "Schnittstelle Kopf-Daten Bestellung GetDetail-Fall
I_LOGICAL_SYSTEM = "Logisches System
* I_WRITE_REFERENCE = 'X' "Feld zum Ankreuzen
IMPORTING
E_BAPI_POHEADER = "Bestellung Kopfdaten - Extended Interface
E_BAPI_POADDRVENDOR = "Bestellkopf: Adressenstruktur BAPIADDR1 für Lieferant.
E_BAPI_POHEADER_EXT = "BBP spezifische Header-Felder BBP_PO_INBOUND
TABLES
* I_ITEM = "Schnittstelle Positions-Daten Bestellung GetDetail-Fall
* I_STATUS = "Status
* E_BAPI_POITEM = "Bestellposition
* E_BAPI_POADDRDELIVERY = "EBP:Bestellpos: Adressenstruktur BAPIADDR1 für Anlieferung.
* E_BAPI_POSCHEDULE = "EBP:Felder für Einteilungen der Bestellung
* E_BAPI_POACCOUNT = "Kontierungsfelder der Bestellung
* E_BAPI_POLIMITS = "EBP:Kommunikationsstruktur Limits
* E_BAPI_POSERVICES = "EBP:Kommunikationsstruktur Anlegen Leistungszeile
* E_BAPI_POSRVACCESSVALUES = "EBP.Kom.struktur Anlege Kontierungsverteilung Leistungszeile
* E_BAPI_POITEM_EXT = "BBP spezifische Einteilungs-Felder BBP_PO_INBOUND
* E_BAPI_CUSTOMER_FIELDS = "Kundenfelder Schnittstellenstruktur
* I_ACCOUNT = "Kontierung
* E_MESSAGES = "Fehlermeldungen zu einer PD-Methode
* I_TOLERANCE = "Toleranzen
* I_LONGTEXT = "Langtexte zum Procurement Document
* E_BAPI_POITEM_TEXT = "BAPI Struktur für Übergabe von Item-Texten in Backend PlugIn
* E_BAPI_POHEADER_TEXT = "BAPI Struktur für Übergabe von Kopftexten in Backend Plug-In
* E_BAPI_POSERVICES_TEXT = "BAPI Struktur für Übergabe von Service-Texten in Backend PI
* I_PARTNER = "Geschäftspartner
* I_LIMIT = "Wertlimit
* I_SDLN = "Geschäftsvorgangsposition -Einteilung (Ausgabe an Anwendung)
* I_ORGDATA = "Org-Daten
I_TAX = "Steuern
* I_HEADER_REL = "Kopfverknüpfungen Beschaffungsbeleg
* I_ITMLIM_REL = "Positions-/LimitverknüpfuKopfverknüpfungen Beschaffungsbeleg
IMPORTING Parameters details for BBP_DPO_TO_BAPI_MAP
I_HEADER - Schnittstelle Kopf-Daten Bestellung GetDetail-Fall
Data type: BBP_PDS_PO_HEADER_DOptional: No
Call by Reference: No ( called with pass by value option)
I_LOGICAL_SYSTEM - Logisches System
Data type: BBP_BACKEND_DEST-LOG_SYSOptional: No
Call by Reference: No ( called with pass by value option)
I_WRITE_REFERENCE - Feld zum Ankreuzen
Data type: XFELDDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for BBP_DPO_TO_BAPI_MAP
E_BAPI_POHEADER - Bestellung Kopfdaten - Extended Interface
Data type: BBPS_IF_BAPIMEPOHEADER_PIOptional: No
Call by Reference: No ( called with pass by value option)
E_BAPI_POADDRVENDOR - Bestellkopf: Adressenstruktur BAPIADDR1 für Lieferant.
Data type: BBPS_IF_BAPIMEPOADDRVENDOR_PIOptional: No
Call by Reference: No ( called with pass by value option)
E_BAPI_POHEADER_EXT - BBP spezifische Header-Felder BBP_PO_INBOUND
Data type: BBPS_IF_BAPI_HEADER_EXT_PIOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for BBP_DPO_TO_BAPI_MAP
I_ITEM - Schnittstelle Positions-Daten Bestellung GetDetail-Fall
Data type: BBP_PDS_PO_ITEM_DOptional: Yes
Call by Reference: Yes
I_STATUS - Status
Data type: BBP_PDS_STATUSOptional: Yes
Call by Reference: Yes
E_BAPI_POITEM - Bestellposition
Data type: BBPS_IF_BAPIMEPOITEM_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POADDRDELIVERY - EBP:Bestellpos: Adressenstruktur BAPIADDR1 für Anlieferung.
Data type: BBPS_IF_BAPIMEPOADDRDELIV_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POSCHEDULE - EBP:Felder für Einteilungen der Bestellung
Data type: BBPS_IF_BAPIMEPOSCHEDULE_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POACCOUNT - Kontierungsfelder der Bestellung
Data type: BBPS_IF_BAPIMEPOACCOUNT_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POLIMITS - EBP:Kommunikationsstruktur Limits
Data type: BBPS_IF_BAPIESUHC_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POSERVICES - EBP:Kommunikationsstruktur Anlegen Leistungszeile
Data type: BBPS_IF_BAPIESLLC_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POSRVACCESSVALUES - EBP.Kom.struktur Anlege Kontierungsverteilung Leistungszeile
Data type: BBPS_IF_BAPIESKLC_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POITEM_EXT - BBP spezifische Einteilungs-Felder BBP_PO_INBOUND
Data type: BBPS_IF_BAPI_POSCHE_EXT_PIOptional: Yes
Call by Reference: Yes
E_BAPI_CUSTOMER_FIELDS - Kundenfelder Schnittstellenstruktur
Data type: BBPS_IF_CUSTOMER_FIELDS_PIOptional: Yes
Call by Reference: Yes
I_ACCOUNT - Kontierung
Data type: BBP_PDS_ACCOptional: Yes
Call by Reference: Yes
E_MESSAGES - Fehlermeldungen zu einer PD-Methode
Data type: BBP_PDS_MESSAGESOptional: Yes
Call by Reference: Yes
I_TOLERANCE - Toleranzen
Data type: BBP_PDS_TOLOptional: Yes
Call by Reference: Yes
I_LONGTEXT - Langtexte zum Procurement Document
Data type: BBP_PDS_LONGTEXTOptional: Yes
Call by Reference: Yes
E_BAPI_POITEM_TEXT - BAPI Struktur für Übergabe von Item-Texten in Backend PlugIn
Data type: BBPS_IF_BAPIMEPOTEXT_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POHEADER_TEXT - BAPI Struktur für Übergabe von Kopftexten in Backend Plug-In
Data type: BBPS_IF_BAPIMEPOTEXT_HEADER_PIOptional: Yes
Call by Reference: Yes
E_BAPI_POSERVICES_TEXT - BAPI Struktur für Übergabe von Service-Texten in Backend PI
Data type: BBPS_IF_BAPIESLLTX_PIOptional: Yes
Call by Reference: Yes
I_PARTNER - Geschäftspartner
Data type: BBP_PDS_PARTNEROptional: Yes
Call by Reference: Yes
I_LIMIT - Wertlimit
Data type: BBP_PDS_LIMITOptional: Yes
Call by Reference: Yes
I_SDLN - Geschäftsvorgangsposition -Einteilung (Ausgabe an Anwendung)
Data type: BBP_PDS_SDLNOptional: Yes
Call by Reference: Yes
I_ORGDATA - Org-Daten
Data type: BBP_PDS_ORGOptional: Yes
Call by Reference: Yes
I_TAX - Steuern
Data type: BBP_PDS_TAXOptional: No
Call by Reference: Yes
I_HEADER_REL - Kopfverknüpfungen Beschaffungsbeleg
Data type: BBP_PDS_HRELOptional: Yes
Call by Reference: Yes
I_ITMLIM_REL - Positions-/LimitverknüpfuKopfverknüpfungen Beschaffungsbeleg
Data type: BBP_PDS_ILRELOptional: Yes
Call by Reference: Yes
Copy and paste ABAP code example for BBP_DPO_TO_BAPI_MAP 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_D, " | |||
| lv_i_header | TYPE BBP_PDS_PO_HEADER_D, " | |||
| lv_e_bapi_poheader | TYPE BBPS_IF_BAPIMEPOHEADER_PI, " | |||
| lt_i_status | TYPE STANDARD TABLE OF BBP_PDS_STATUS, " | |||
| lt_e_bapi_poitem | TYPE STANDARD TABLE OF BBPS_IF_BAPIMEPOITEM_PI, " | |||
| lt_e_bapi_poaddrdelivery | TYPE STANDARD TABLE OF BBPS_IF_BAPIMEPOADDRDELIV_PI, " | |||
| lt_e_bapi_poschedule | TYPE STANDARD TABLE OF BBPS_IF_BAPIMEPOSCHEDULE_PI, " | |||
| lt_e_bapi_poaccount | TYPE STANDARD TABLE OF BBPS_IF_BAPIMEPOACCOUNT_PI, " | |||
| lt_e_bapi_polimits | TYPE STANDARD TABLE OF BBPS_IF_BAPIESUHC_PI, " | |||
| lt_e_bapi_poservices | TYPE STANDARD TABLE OF BBPS_IF_BAPIESLLC_PI, " | |||
| lt_e_bapi_posrvaccessvalues | TYPE STANDARD TABLE OF BBPS_IF_BAPIESKLC_PI, " | |||
| lt_e_bapi_poitem_ext | TYPE STANDARD TABLE OF BBPS_IF_BAPI_POSCHE_EXT_PI, " | |||
| lt_e_bapi_customer_fields | TYPE STANDARD TABLE OF BBPS_IF_CUSTOMER_FIELDS_PI, " | |||
| lt_i_account | TYPE STANDARD TABLE OF BBP_PDS_ACC, " | |||
| lv_i_logical_system | TYPE BBP_BACKEND_DEST-LOG_SYS, " | |||
| lv_e_bapi_poaddrvendor | TYPE BBPS_IF_BAPIMEPOADDRVENDOR_PI, " | |||
| lt_e_messages | TYPE STANDARD TABLE OF BBP_PDS_MESSAGES, " | |||
| lt_i_tolerance | TYPE STANDARD TABLE OF BBP_PDS_TOL, " | |||
| lt_i_longtext | TYPE STANDARD TABLE OF BBP_PDS_LONGTEXT, " | |||
| lt_e_bapi_poitem_text | TYPE STANDARD TABLE OF BBPS_IF_BAPIMEPOTEXT_PI, " | |||
| lt_e_bapi_poheader_text | TYPE STANDARD TABLE OF BBPS_IF_BAPIMEPOTEXT_HEADER_PI, " | |||
| lt_e_bapi_poservices_text | TYPE STANDARD TABLE OF BBPS_IF_BAPIESLLTX_PI, " | |||
| lt_i_partner | TYPE STANDARD TABLE OF BBP_PDS_PARTNER, " | |||
| lv_i_write_reference | TYPE XFELD, " 'X' | |||
| lv_e_bapi_poheader_ext | TYPE BBPS_IF_BAPI_HEADER_EXT_PI, " | |||
| lt_i_limit | TYPE STANDARD TABLE OF BBP_PDS_LIMIT, " | |||
| lt_i_sdln | TYPE STANDARD TABLE OF BBP_PDS_SDLN, " | |||
| lt_i_orgdata | TYPE STANDARD TABLE OF BBP_PDS_ORG, " | |||
| lt_i_tax | TYPE STANDARD TABLE OF BBP_PDS_TAX, " | |||
| lt_i_header_rel | TYPE STANDARD TABLE OF BBP_PDS_HREL, " | |||
| lt_i_itmlim_rel | TYPE STANDARD TABLE OF BBP_PDS_ILREL. " |
|   CALL FUNCTION 'BBP_DPO_TO_BAPI_MAP' "Mapping von PO-Strukturen auf Bapi-Strukturen |
| EXPORTING | ||
| I_HEADER | = lv_i_header | |
| I_LOGICAL_SYSTEM | = lv_i_logical_system | |
| I_WRITE_REFERENCE | = lv_i_write_reference | |
| IMPORTING | ||
| E_BAPI_POHEADER | = lv_e_bapi_poheader | |
| E_BAPI_POADDRVENDOR | = lv_e_bapi_poaddrvendor | |
| E_BAPI_POHEADER_EXT | = lv_e_bapi_poheader_ext | |
| TABLES | ||
| I_ITEM | = lt_i_item | |
| I_STATUS | = lt_i_status | |
| E_BAPI_POITEM | = lt_e_bapi_poitem | |
| E_BAPI_POADDRDELIVERY | = lt_e_bapi_poaddrdelivery | |
| E_BAPI_POSCHEDULE | = lt_e_bapi_poschedule | |
| E_BAPI_POACCOUNT | = lt_e_bapi_poaccount | |
| E_BAPI_POLIMITS | = lt_e_bapi_polimits | |
| E_BAPI_POSERVICES | = lt_e_bapi_poservices | |
| E_BAPI_POSRVACCESSVALUES | = lt_e_bapi_posrvaccessvalues | |
| E_BAPI_POITEM_EXT | = lt_e_bapi_poitem_ext | |
| E_BAPI_CUSTOMER_FIELDS | = lt_e_bapi_customer_fields | |
| I_ACCOUNT | = lt_i_account | |
| E_MESSAGES | = lt_e_messages | |
| I_TOLERANCE | = lt_i_tolerance | |
| I_LONGTEXT | = lt_i_longtext | |
| E_BAPI_POITEM_TEXT | = lt_e_bapi_poitem_text | |
| E_BAPI_POHEADER_TEXT | = lt_e_bapi_poheader_text | |
| E_BAPI_POSERVICES_TEXT | = lt_e_bapi_poservices_text | |
| I_PARTNER | = lt_i_partner | |
| I_LIMIT | = lt_i_limit | |
| I_SDLN | = lt_i_sdln | |
| I_ORGDATA | = lt_i_orgdata | |
| I_TAX | = lt_i_tax | |
| I_HEADER_REL | = lt_i_header_rel | |
| I_ITMLIM_REL | = lt_i_itmlim_rel | |
| . " BBP_DPO_TO_BAPI_MAP | ||
ABAP code using 7.40 inline data declarations to call FM BBP_DPO_TO_BAPI_MAP
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 LOG_SYS FROM BBP_BACKEND_DEST INTO @DATA(ld_i_logical_system). | ||||
| DATA(ld_i_write_reference) | = 'X'. | |||
Search for further information about these or an SAP related objects