SAP ALE_PO_CREATE1 Function Module for BAPI -> IDoc: ALE_PO_CREATE1









ALE_PO_CREATE1 is a standard ale po create1 SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for BAPI -> IDoc: ALE_PO_CREATE1 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 ale po create1 FM, simply by entering the name ALE_PO_CREATE1 into the relevant SAP transaction such as SE37 or SE38.

Function Group: 2012
Program Name: SAPL2012
Main Program: SAPL2012
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function ALE_PO_CREATE1 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 'ALE_PO_CREATE1'"BAPI -> IDoc: ALE_PO_CREATE1
EXPORTING
POHEADER = "Header Data
* NOMESSAGING = "
* NOMESSAGEREQ = "
* NOAUTHORITY = "
* NOPRICEFROMPO = "
* PARKCOMPLETE = "
* PARKUNCOMPLETE = "
* OBJ_TYPE = 'BUS2012' "
* SERIAL_ID = '0' "
* POHEADERX = "Header Data (Change Parameter)
* POADDRVENDOR = "Address of Vendor
* TESTRUN = "Test Indicator
* MEMORYUNCOMPLETE = "
* MEMORYCOMPLETE = "
* POEXPIMPHEADER = "Export Trade: Header Data
* POEXPIMPHEADERX = "Foreign Trade: Change Bar: Header Data
* VERSIONS = "Version Management

TABLES
* POITEM = "Item Data
* POCONDHEADERX = "Conditions (Header, Change Parameter)
* POCOND = "Conditions (Items)
* POCONDX = "Conditions (Items, Change Parameter)
* POLIMITS = "External Services: Limits
* POCONTRACTLIMITS = "External Services: Contract Limits
* POSERVICES = "External Services: Service Lines
* POSRVACCESSVALUES = "External Services: Account Assignment Distribution for Service Lines
* POSERVICESTEXT = "External Services: Service Long Text
* EXTENSIONIN = "Customer's Own Fields (Import Parameters)
* POEXPIMPITEM = "Foreign Trade: Item Data
* POITEMX = "Item Data (Change Parameter)
* POEXPIMPITEMX = "Foreign Trade: Change Parameter: Item Data
* POTEXTHEADER = "Header Texts
* POTEXTITEM = "Item Texts
* ALLVERSIONS = "All Versions (Export Parameter)
* POPARTNER = "Partner
* POCOMPONENTS = "BAPI Structure for Components
* POCOMPONENTSX = "Update Information for Components in BUS2012 API
* POSHIPPING = "BAPI Shipping Data for Stock Transport Orders
* POSHIPPINGX = "BAPI Shipping Data Change Parameter
* POSHIPPINGEXP = "Export Structure for Shipping Data
* POADDRDELIVERY = "Addresses for Inward Delivery (Item)
* SERIALNUMBER = "Serial Numbers in Purchase Order BAPIs
* SERIALNUMBERX = "Change Parameter: Serial Number in Purchase Order BAPIs
* INVOICEPLANHEADER = "
* INVOICEPLANHEADERX = "
* INVOICEPLANITEM = "
* INVOICEPLANITEMX = "
RECEIVERS = "
* COMMUNICATION_DOCUMENTS = "
* APPLICATION_OBJECTS = "
* POSCHEDULE = "Delivery Schedule
* POSCHEDULEX = "Delivery Schedule (Change Parameter)
* POACCOUNT = "Account Assignment Fields
* POACCOUNTPROFITSEGMENT = "Reservation Profitability Segment: BAPI_PROFITABILITY_SEGMENT
* POACCOUNTX = "Account Assignment Fields (Change Parameter)
* POCONDHEADER = "Conditions (Header)

EXCEPTIONS
ERROR_CREATING_IDOCS = 1
.




Customer Function user exits

Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.
EXIT_SAPL2012_001 Customer Exit for Creating an Enjoy Purchase Order Using BAPI_PO_CREATE1
EXIT_SAPL2012_002 Customer Exit for Changing an Enjoy Purchase Order Using BAPI_PO_CHANGE
EXIT_SAPL2012_003 Customer Exit for Creating an Enjoy Purchase Order Using BAPI_PO_CREATE1
EXIT_SAPL2012_004 Customer Exit for Changing an Enjoy Purchase Order Using BAPI_PO_CHANGE

IMPORTING Parameters details for ALE_PO_CREATE1

POHEADER - Header Data

Data type: BAPIMEPOHEADER
Optional: No
Call by Reference: No ( called with pass by value option)

NOMESSAGING -

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

NOMESSAGEREQ -

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

NOAUTHORITY -

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

NOPRICEFROMPO -

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

PARKCOMPLETE -

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

PARKUNCOMPLETE -

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

OBJ_TYPE -

Data type: SERIAL-OBJ_TYPE
Default: 'BUS2012'
Optional: Yes
Call by Reference: No ( called with pass by value option)

SERIAL_ID -

Data type: SERIAL-CHNUM
Default: '0'
Optional: Yes
Call by Reference: No ( called with pass by value option)

POHEADERX - Header Data (Change Parameter)

Data type: BAPIMEPOHEADERX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POADDRVENDOR - Address of Vendor

Data type: BAPIMEPOADDRVENDOR
Optional: Yes
Call by Reference: No ( called with pass by value option)

TESTRUN - Test Indicator

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

MEMORYUNCOMPLETE -

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

MEMORYCOMPLETE -

Data type: BAPIFLAG-BAPIFLAG
Optional: Yes
Call by Reference: No ( called with pass by value option)

POEXPIMPHEADER - Export Trade: Header Data

Data type: BAPIEIKP
Optional: Yes
Call by Reference: No ( called with pass by value option)

POEXPIMPHEADERX - Foreign Trade: Change Bar: Header Data

Data type: BAPIEIKPX
Optional: Yes
Call by Reference: No ( called with pass by value option)

VERSIONS - Version Management

Data type: BAPIMEDCM
Optional: Yes
Call by Reference: No ( called with pass by value option)

TABLES Parameters details for ALE_PO_CREATE1

POITEM - Item Data

Data type: BAPIMEPOITEM
Optional: Yes
Call by Reference: No ( called with pass by value option)

POCONDHEADERX - Conditions (Header, Change Parameter)

Data type: BAPIMEPOCONDHEADERX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POCOND - Conditions (Items)

Data type: BAPIMEPOCOND
Optional: Yes
Call by Reference: No ( called with pass by value option)

POCONDX - Conditions (Items, Change Parameter)

Data type: BAPIMEPOCONDX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POLIMITS - External Services: Limits

Data type: BAPIESUHC
Optional: Yes
Call by Reference: No ( called with pass by value option)

POCONTRACTLIMITS - External Services: Contract Limits

Data type: BAPIESUCC
Optional: Yes
Call by Reference: No ( called with pass by value option)

POSERVICES - External Services: Service Lines

Data type: BAPIESLLC
Optional: Yes
Call by Reference: No ( called with pass by value option)

POSRVACCESSVALUES - External Services: Account Assignment Distribution for Service Lines

Data type: BAPIESKLC
Optional: Yes
Call by Reference: No ( called with pass by value option)

POSERVICESTEXT - External Services: Service Long Text

Data type: BAPIESLLTX
Optional: Yes
Call by Reference: No ( called with pass by value option)

EXTENSIONIN - Customer's Own Fields (Import Parameters)

Data type: BAPIPAREX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POEXPIMPITEM - Foreign Trade: Item Data

Data type: BAPIEIPO
Optional: Yes
Call by Reference: No ( called with pass by value option)

POITEMX - Item Data (Change Parameter)

Data type: BAPIMEPOITEMX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POEXPIMPITEMX - Foreign Trade: Change Parameter: Item Data

Data type: BAPIEIPOX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POTEXTHEADER - Header Texts

Data type: BAPIMEPOTEXTHEADER
Optional: Yes
Call by Reference: No ( called with pass by value option)

POTEXTITEM - Item Texts

Data type: BAPIMEPOTEXT
Optional: Yes
Call by Reference: No ( called with pass by value option)

ALLVERSIONS - All Versions (Export Parameter)

Data type: BAPIMEDCM_ALLVERSIONS
Optional: Yes
Call by Reference: No ( called with pass by value option)

POPARTNER - Partner

Data type: BAPIEKKOP
Optional: Yes
Call by Reference: No ( called with pass by value option)

POCOMPONENTS - BAPI Structure for Components

Data type: BAPIMEPOCOMPONENT
Optional: Yes
Call by Reference: No ( called with pass by value option)

POCOMPONENTSX - Update Information for Components in BUS2012 API

Data type: BAPIMEPOCOMPONENTX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POSHIPPING - BAPI Shipping Data for Stock Transport Orders

Data type: BAPIITEMSHIP
Optional: Yes
Call by Reference: No ( called with pass by value option)

POSHIPPINGX - BAPI Shipping Data Change Parameter

Data type: BAPIITEMSHIPX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POSHIPPINGEXP - Export Structure for Shipping Data

Data type: BAPIMEPOSHIPPEXP
Optional: Yes
Call by Reference: No ( called with pass by value option)

POADDRDELIVERY - Addresses for Inward Delivery (Item)

Data type: BAPIMEPOADDRDELIVERY
Optional: Yes
Call by Reference: No ( called with pass by value option)

SERIALNUMBER - Serial Numbers in Purchase Order BAPIs

Data type: BAPIMEPOSERIALNO
Optional: Yes
Call by Reference: No ( called with pass by value option)

SERIALNUMBERX - Change Parameter: Serial Number in Purchase Order BAPIs

Data type: BAPIMEPOSERIALNOX
Optional: Yes
Call by Reference: No ( called with pass by value option)

INVOICEPLANHEADER -

Data type: BAPI_INVOICE_PLAN_HEADER
Optional: Yes
Call by Reference: No ( called with pass by value option)

INVOICEPLANHEADERX -

Data type: BAPI_INVOICE_PLAN_HEADERX
Optional: Yes
Call by Reference: No ( called with pass by value option)

INVOICEPLANITEM -

Data type: BAPI_INVOICE_PLAN_ITEM
Optional: Yes
Call by Reference: No ( called with pass by value option)

INVOICEPLANITEMX -

Data type: BAPI_INVOICE_PLAN_ITEMX
Optional: Yes
Call by Reference: No ( called with pass by value option)

RECEIVERS -

Data type: BDI_LOGSYS
Optional: No
Call by Reference: No ( called with pass by value option)

COMMUNICATION_DOCUMENTS -

Data type: SWOTOBJID
Optional: Yes
Call by Reference: No ( called with pass by value option)

APPLICATION_OBJECTS -

Data type: SWOTOBJID
Optional: Yes
Call by Reference: No ( called with pass by value option)

POSCHEDULE - Delivery Schedule

Data type: BAPIMEPOSCHEDULE
Optional: Yes
Call by Reference: No ( called with pass by value option)

POSCHEDULEX - Delivery Schedule (Change Parameter)

Data type: BAPIMEPOSCHEDULX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POACCOUNT - Account Assignment Fields

Data type: BAPIMEPOACCOUNT
Optional: Yes
Call by Reference: No ( called with pass by value option)

POACCOUNTPROFITSEGMENT - Reservation Profitability Segment: BAPI_PROFITABILITY_SEGMENT

Data type: BAPIMEPOACCOUNTPROFITSEGMENT
Optional: Yes
Call by Reference: No ( called with pass by value option)

POACCOUNTX - Account Assignment Fields (Change Parameter)

Data type: BAPIMEPOACCOUNTX
Optional: Yes
Call by Reference: No ( called with pass by value option)

POCONDHEADER - Conditions (Header)

Data type: BAPIMEPOCONDHEADER
Optional: Yes
Call by Reference: No ( called with pass by value option)

EXCEPTIONS details

ERROR_CREATING_IDOCS -

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

Copy and paste ABAP code example for ALE_PO_CREATE1 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_poitem  TYPE STANDARD TABLE OF BAPIMEPOITEM, "   
lv_poheader  TYPE BAPIMEPOHEADER, "   
lv_error_creating_idocs  TYPE BAPIMEPOHEADER, "   
lv_nomessaging  TYPE BAPIFLAG-BAPIFLAG, "   
lt_pocondheaderx  TYPE STANDARD TABLE OF BAPIMEPOCONDHEADERX, "   
lt_pocond  TYPE STANDARD TABLE OF BAPIMEPOCOND, "   
lv_nomessagereq  TYPE BAPIFLAG-BAPIFLAG, "   
lt_pocondx  TYPE STANDARD TABLE OF BAPIMEPOCONDX, "   
lv_noauthority  TYPE BAPIFLAG-BAPIFLAG, "   
lt_polimits  TYPE STANDARD TABLE OF BAPIESUHC, "   
lv_nopricefrompo  TYPE BAPIFLAG-BAPIFLAG, "   
lv_parkcomplete  TYPE BAPIFLAG-BAPIFLAG, "   
lt_pocontractlimits  TYPE STANDARD TABLE OF BAPIESUCC, "   
lt_poservices  TYPE STANDARD TABLE OF BAPIESLLC, "   
lv_parkuncomplete  TYPE BAPIFLAG-BAPIFLAG, "   
lv_obj_type  TYPE SERIAL-OBJ_TYPE, "   'BUS2012'
lt_posrvaccessvalues  TYPE STANDARD TABLE OF BAPIESKLC, "   
lv_serial_id  TYPE SERIAL-CHNUM, "   '0'
lt_poservicestext  TYPE STANDARD TABLE OF BAPIESLLTX, "   
lt_extensionin  TYPE STANDARD TABLE OF BAPIPAREX, "   
lt_poexpimpitem  TYPE STANDARD TABLE OF BAPIEIPO, "   
lt_poitemx  TYPE STANDARD TABLE OF BAPIMEPOITEMX, "   
lv_poheaderx  TYPE BAPIMEPOHEADERX, "   
lt_poexpimpitemx  TYPE STANDARD TABLE OF BAPIEIPOX, "   
lt_potextheader  TYPE STANDARD TABLE OF BAPIMEPOTEXTHEADER, "   
lt_potextitem  TYPE STANDARD TABLE OF BAPIMEPOTEXT, "   
lt_allversions  TYPE STANDARD TABLE OF BAPIMEDCM_ALLVERSIONS, "   
lt_popartner  TYPE STANDARD TABLE OF BAPIEKKOP, "   
lt_pocomponents  TYPE STANDARD TABLE OF BAPIMEPOCOMPONENT, "   
lt_pocomponentsx  TYPE STANDARD TABLE OF BAPIMEPOCOMPONENTX, "   
lt_poshipping  TYPE STANDARD TABLE OF BAPIITEMSHIP, "   
lt_poshippingx  TYPE STANDARD TABLE OF BAPIITEMSHIPX, "   
lt_poshippingexp  TYPE STANDARD TABLE OF BAPIMEPOSHIPPEXP, "   
lv_poaddrvendor  TYPE BAPIMEPOADDRVENDOR, "   
lt_poaddrdelivery  TYPE STANDARD TABLE OF BAPIMEPOADDRDELIVERY, "   
lt_serialnumber  TYPE STANDARD TABLE OF BAPIMEPOSERIALNO, "   
lt_serialnumberx  TYPE STANDARD TABLE OF BAPIMEPOSERIALNOX, "   
lt_invoiceplanheader  TYPE STANDARD TABLE OF BAPI_INVOICE_PLAN_HEADER, "   
lt_invoiceplanheaderx  TYPE STANDARD TABLE OF BAPI_INVOICE_PLAN_HEADERX, "   
lt_invoiceplanitem  TYPE STANDARD TABLE OF BAPI_INVOICE_PLAN_ITEM, "   
lt_invoiceplanitemx  TYPE STANDARD TABLE OF BAPI_INVOICE_PLAN_ITEMX, "   
lt_receivers  TYPE STANDARD TABLE OF BDI_LOGSYS, "   
lt_communication_documents  TYPE STANDARD TABLE OF SWOTOBJID, "   
lt_application_objects  TYPE STANDARD TABLE OF SWOTOBJID, "   
lv_testrun  TYPE BAPIFLAG-BAPIFLAG, "   
lt_poschedule  TYPE STANDARD TABLE OF BAPIMEPOSCHEDULE, "   
lt_poschedulex  TYPE STANDARD TABLE OF BAPIMEPOSCHEDULX, "   
lv_memoryuncomplete  TYPE BAPIFLAG-BAPIFLAG, "   
lt_poaccount  TYPE STANDARD TABLE OF BAPIMEPOACCOUNT, "   
lv_memorycomplete  TYPE BAPIFLAG-BAPIFLAG, "   
lv_poexpimpheader  TYPE BAPIEIKP, "   
lt_poaccountprofitsegment  TYPE STANDARD TABLE OF BAPIMEPOACCOUNTPROFITSEGMENT, "   
lt_poaccountx  TYPE STANDARD TABLE OF BAPIMEPOACCOUNTX, "   
lv_poexpimpheaderx  TYPE BAPIEIKPX, "   
lv_versions  TYPE BAPIMEDCM, "   
lt_pocondheader  TYPE STANDARD TABLE OF BAPIMEPOCONDHEADER. "   

  CALL FUNCTION 'ALE_PO_CREATE1'  "BAPI -> IDoc: ALE_PO_CREATE1
    EXPORTING
         POHEADER = lv_poheader
         NOMESSAGING = lv_nomessaging
         NOMESSAGEREQ = lv_nomessagereq
         NOAUTHORITY = lv_noauthority
         NOPRICEFROMPO = lv_nopricefrompo
         PARKCOMPLETE = lv_parkcomplete
         PARKUNCOMPLETE = lv_parkuncomplete
         OBJ_TYPE = lv_obj_type
         SERIAL_ID = lv_serial_id
         POHEADERX = lv_poheaderx
         POADDRVENDOR = lv_poaddrvendor
         TESTRUN = lv_testrun
         MEMORYUNCOMPLETE = lv_memoryuncomplete
         MEMORYCOMPLETE = lv_memorycomplete
         POEXPIMPHEADER = lv_poexpimpheader
         POEXPIMPHEADERX = lv_poexpimpheaderx
         VERSIONS = lv_versions
    TABLES
         POITEM = lt_poitem
         POCONDHEADERX = lt_pocondheaderx
         POCOND = lt_pocond
         POCONDX = lt_pocondx
         POLIMITS = lt_polimits
         POCONTRACTLIMITS = lt_pocontractlimits
         POSERVICES = lt_poservices
         POSRVACCESSVALUES = lt_posrvaccessvalues
         POSERVICESTEXT = lt_poservicestext
         EXTENSIONIN = lt_extensionin
         POEXPIMPITEM = lt_poexpimpitem
         POITEMX = lt_poitemx
         POEXPIMPITEMX = lt_poexpimpitemx
         POTEXTHEADER = lt_potextheader
         POTEXTITEM = lt_potextitem
         ALLVERSIONS = lt_alltersions
         POPARTNER = lt_popartner
         POCOMPONENTS = lt_pocomponents
         POCOMPONENTSX = lt_pocomponentsx
         POSHIPPING = lt_poshipping
         POSHIPPINGX = lt_poshippingx
         POSHIPPINGEXP = lt_poshippingexp
         POADDRDELIVERY = lt_poaddrdelivery
         SERIALNUMBER = lt_serialnumber
         SERIALNUMBERX = lt_serialnumberx
         INVOICEPLANHEADER = lt_invoiceplanheader
         INVOICEPLANHEADERX = lt_invoiceplanheaderx
         INVOICEPLANITEM = lt_invoiceplanitem
         INVOICEPLANITEMX = lt_invoiceplanitemx
         RECEIVERS = lt_receivers
         COMMUNICATION_DOCUMENTS = lt_communication_documents
         APPLICATION_OBJECTS = lt_application_objects
         POSCHEDULE = lt_poschedule
         POSCHEDULEX = lt_poschedulex
         POACCOUNT = lt_poaccount
         POACCOUNTPROFITSEGMENT = lt_poaccountprofitsegment
         POACCOUNTX = lt_poaccountx
         POCONDHEADER = lt_pocondheader
    EXCEPTIONS
        ERROR_CREATING_IDOCS = 1
. " ALE_PO_CREATE1




ABAP code using 7.40 inline data declarations to call FM ALE_PO_CREATE1

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 BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_nomessaging).
 
 
 
"SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_nomessagereq).
 
 
"SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_noauthority).
 
 
"SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_nopricefrompo).
 
"SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_parkcomplete).
 
 
 
"SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_parkuncomplete).
 
"SELECT single OBJ_TYPE FROM SERIAL INTO @DATA(ld_obj_type).
DATA(ld_obj_type) = 'BUS2012'.
 
 
"SELECT single CHNUM FROM SERIAL INTO @DATA(ld_serial_id).
DATA(ld_serial_id) = '0'.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
"SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_testrun).
 
 
 
"SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_memoryuncomplete).
 
 
"SELECT single BAPIFLAG FROM BAPIFLAG INTO @DATA(ld_memorycomplete).
 
 
 
 
 
 
 


Search for further information about these or an SAP related objects



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!