RE:F module BAPI_PO_CREATE1
Hi all,
I need to copy condition types from SRM to ERP.I need to create PO using BAPI_PO_CREATE1,But the condition type i am passing to FM(BAPI_PO_CREATE1) is not getting updated in the PO.So does anyone know what all data needs to be passed to pocond,pocondx and poitem so that the condion type i am passing from SRM gets updated in ERP accordingly...
Thanks in advance,
Alex.
REPORT ZPURCHASEORDER.
data:
header like BAPIMEPOHEADER,
headerx like BAPIMEPOHEADERX,
it_item like standard table of BAPIMEPOITEM,
it_itemx like standard table of BAPIMEPOITEMX,
return like standard table of BAPIRET2,
wa_item like BAPIMEPOITEM,
wa_itemx like BAPIMEPOITEMX,
p_int type i,
p_matnr like mara-matnr,
p_pono like ekko-ebeln.
DATA: BEGIN OF BAPIRETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF BAPIRETURN.
constants:
c_x type c value 'X'.
*if sy-uname 'ABAP'.
*if program = 'ZPURCHASEORDER' .
*raise cancelled.
*endif.
*endif.
header-comp_code = '3000'.
header-doc_type = 'DP25'.
header-creat_date = sy-datum.
header-item_intvl = '10'.
header-vendor = 'ARAMI-00'.
header-langu = sy-langu.
header-pmnttrms = '0001'.
header-purch_org = '3000'.
header-pur_group = '010'.
header-currency = 'USD'.
headerx-comp_code = c_x.
headerx-doc_type = c_x.
headerx-creat_date = c_x.
headerx-item_intvl = c_x .
headerx-vendor = c_x.
headerx-langu = c_x.
headerx-pmnttrms = c_x .
headerx-purch_org = c_x.
headerx-pur_group = c_x.
*LOOP AT it_final2 INTO wa_final2.
p_int = p_int + 10.
wa_item-po_item = p_int.
p_matnr = 'T-SRM01'.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = p_matnr
IMPORTING
output = p_matnr
EXCEPTIONS
length_error = 1
OTHERS = 2.
*IF sy-subrc = 0.
*MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*ENDIF.
wa_item-material = p_matnr.
wa_item-plant = '3200'.
wa_item-quantity = 100.
wa_item-conf_ctrl = 'Z01'.
wa_item-ACKN_REQD = 'X'.
WA_ITEM-ERS = ''.
APPEND wa_item TO it_item.
wa_itemx-po_item = p_int.
wa_itemx-material = c_x.
wa_itemx-plant = c_x .
wa_itemx-stge_loc = c_x .
wa_itemx-quantity = c_x .
wa_itemx-item_cat = c_x .
wa_itemx-acctasscat = c_x .
wa_itemx-conf_ctrl = 'X'.
wa_itemx-ACKN_REQD = 'X'.
WA_ITEMX-ERS = 'X'.
APPEND wa_itemx TO it_itemx.
*ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = header
poheaderx = headerx
IMPORTING
exppurchaseorder = p_pono
TABLES
return = return
poitem = it_item
poitemx = it_itemx.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = BAPIRETURN.
write:/ p_pono.
Similar Messages
-
Regarding problem in function module BAPI_PO_CREATE1
Hi Guys,
I have created a program for the creation of Purchase Order using Bapi_PO_CREATE1 with account assignment category as 'M' and item category as 'L'.Here when i am doing it manually i was asked to give the details of the components.But I am unable to find where to include these fields in my program.
Please help me out.Any program template would be of great help to me.
Thanks in Advance
Srikanth.hello muva,
this prog may help u ...check this
*& Report ZBAPI *
REPORT zbapi .
DATA: BEGIN OF i_data OCCURS 0,
text(255),
END OF i_data.
DATA: i_ekko TYPE bapiekkoc.
DATA: it_ekko LIKE TABLE OF i_ekko INITIAL SIZE 0 WITH HEADER LINE.
DATA: BEGIN OF i_ekpo OCCURS 0,
po_item(5),
pur_mat(18),
plant(4),
net_price(23),
disp_quan(13),
END OF i_ekpo.
DATA: it_ekpo LIKE TABLE OF bapiekpoc INITIAL SIZE 0 WITH HEADER LINE .
DATA: BEGIN OF i_eket OCCURS 0,
po_item(5),
deliv_date(8),
quantity(13),
END OF i_eket.
DATA: it_eket LIKE TABLE OF bapieket INITIAL SIZE 0 WITH HEADER LINE.
DATA: v_index TYPE i.
DATA: return TYPE TABLE OF bapireturn INITIAL SIZE 0 WITH HEADER LINE.
DATA: po_num(10).
START-OF-SELECTION.
CALL FUNCTION 'UPLOAD'
EXPORTING
CODEPAGE = ' '
FILENAME = ' '
FILETYPE = ' '
ITEM = ' '
FILEMASK_MASK = ' '
FILEMASK_TEXT = ' '
FILETYPE_NO_CHANGE = ' '
FILEMASK_ALL = ' '
FILETYPE_NO_SHOW = ' '
LINE_EXIT = ' '
USER_FORM = ' '
USER_PROG = ' '
SILENT = 'S'
IMPORTING
FILESIZE =
CANCEL =
ACT_FILENAME =
ACT_FILETYPE =
TABLES
data_tab = i_data
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at i_data.
if i_data-text(1) = 'H'.
shift i_data-text.
v_index = v_index + 1.
split i_data-text at ',' into i_ekko-doc_type
i_ekko-purch_org
i_ekko-pur_group
i_ekko-vendor.
append i_ekko to it_ekko.
elseif i_data-text(1) = 'I'.
shift i_data-text.
split i_data-text at ',' into i_ekpo-po_item
i_ekpo-pur_mat
i_ekpo-plant
i_ekpo-net_price
i_ekpo-disp_quan.
append i_ekpo.
move-corresponding i_ekpo to it_ekpo.
append it_ekpo.
clear it_ekpo.
else.
shift i_data-text.
split i_data-text at ',' into i_eket-po_item
i_eket-deliv_date
i_eket-quantity.
append it_eket .
move-corresponding i_eket to it_eket.
append it_eket.
clear it_eket.
endif.
endloop.
CALL FUNCTION 'BAPI_PO_CREATE'
EXPORTING
po_header = i_ekko
PO_HEADER_ADD_DATA =
HEADER_ADD_DATA_RELEVANT =
PO_ADDRESS =
SKIP_ITEMS_WITH_ERROR = 'X'
ITEM_ADD_DATA_RELEVANT =
HEADER_TECH_FIELDS =
IMPORTING
PURCHASEORDER =
tables
po_items = it_ekpo
PO_ITEM_ADD_DATA =
po_item_schedules = it_eket
PO_ITEM_ACCOUNT_ASSIGNMENT =
PO_ITEM_TEXT =
RETURN = return
PO_LIMITS =
PO_CONTRACT_LIMITS =
PO_SERVICES =
PO_SRV_ACCASS_VALUES =
PO_SERVICES_TEXT =
PO_BUSINESS_PARTNER =
EXTENSIONIN =
POADDRDELIVERY =
write: po_num.
loop at return.
write:/ return-message,return-type.
endloop. -
Submit new Item Conditions via Function Module BAPI_PO_CREATE1
Hi all,
I have problems using FM BAPI_PO_CREATE1.
I want to transfer Item conditions via FM, but I am not able to change the netprice via FM, my Conditions are not displayed within the Item (only netprice of Item is displayed).
I create POs out of a SRM System via FM BBP_PO_INBOUND (which calls BAPI_PO_CREATE1).
My question:
Has anyone an example how to fill in data within table POCOND so that my PO item contains for example a gross price and a rebate.
I am stucked, I can´t find the solution to create item conditions via FM BAPI_PO_CREATE1.
Any examples?
Thanks a lot
Regards
AndreasProblem resolved
I used the FBGENDAT param in R/3 system to generate test data automatically, compare the data and finally I found my error.
--> OSS note 539978
Regards
Andreas -
Save EAN11 field while creating POrder creation through Function module
Hi All,
I want to update EAN11 field in material master while creating Purchase Order through function module. I am using function module BAPI_PO_CREATE1 for creating purchase order. There are no structures in the PO creation FM in which EAN11 field is there. I have also tried using function module MEPO_DOC_ITEM_PROCESS for updating EAN11 field. It is not working. Please suggest some method to do that.
Note: I am receiving EAN11 through an external system by proxy.
Thanks,
ChinmayHi,
Use BAPI_MATERIAL_SAVEDATA to updat ean numbers for materials.
tables INTERNATIONALARTNOS is used to update EAN.
Regards,
Shanmugavel Chandrasekaran -
Delivery date not getting transferred while running BAPI_PO_CREATE1
Hi Experts,
I am passing the delivery date item level delivery schedule to the function module
BAPI_PO_CREATE1. But it's not taking it in.The new PO is gettinig created with blank delivery date. I implemented the OSS notes 858316 & 890901 with no luck in this matter.
Please help.
Regards
NavinHi JJ
BADI BBP_DOC_CHANGE_BADI- BUS2201 . while creating PO try to validate them if you are in ecs mode
i believe standard SAP dont recalculate delivery date while creation of PO.
regards
Muthu -
Regarding skip the availability check in BAPI_PO_CREATE1
Hi Abapers,
Can you suggest any enhancement, to skip the availability check in function module BAPI_PO_CREATE1?
(My requirement is, availability check should not be triggered, because delivery has been completed already).
Regards
Subash
Edited by: subash Arthanari on Dec 2, 2008 10:56 AMu can pass field Delivery Completed" Indicator
structure BAPIMEPOITEM
field NO_MORE_GR
like:-
wa_item-material = p_matnr.
wa_item-plant = '3200'.
wa_item-quantity = 100.
wa_item-conf_ctrl = 'Z01'.
wa_item-ACKN_REQD = 'X'.
WA_ITEM-ERS = ''.
wa_item-NO_MORE_GR= 'X'.
APPEND wa_item TO it_item.
wa_itemx-po_item = p_int.
wa_itemx-material = c_x.
wa_itemx-plant = c_x .
wa_itemx-stge_loc = c_x .
wa_itemx-quantity = c_x .
wa_itemx-item_cat = c_x .
wa_itemx-acctasscat = c_x .
wa_itemx-conf_ctrl = 'X'.
wa_itemx-ACKN_REQD = 'X'.
WA_ITEMX-ERS = 'X'.
wa_itemx-NO_MORE_GR= 'X'.
APPEND wa_itemx TO it_itemx. -
Necessary Fields For Creation of Service PO of Order Type Relaese Order.
Dear Guru,
I have encountered an issue which i am trying to resolve...
My this requirment will seem little okward the way i am asking but i have no way...
The issue is I have to create a Service PO of Order type Release order (RO) using BAPI Function Module .BAPI_PO_CREATE1.
The service PO should be of multiple Item and services for particular line item should be multiple.
When I am creating this using ME21 or ME21N i am facing no issue.
But when i am using BAPI Function Module .BAPI_PO_CREATE1
i am getting following errors ;; The error which i am getting as below
T ID NUM MESSAGE
E BAPI 001 No instance of object type PurchaseOrder has been created. External reference:
E MEPO 000 Purchase order still contains faulty items
E SE 029 Please maintain services or limits
E SE 140 Service HIRING OF LCD: please specify unit of measure
But I am failing to findout in which field services or limits and unit of measurement have to maintain.
What are the necessary fields have to pass in Bapi import parameter and the table i am unable to findout.
Please show some way how to resolve this or give me some guideline to resolve this
Dear Moderator request your kind intervane to move this qurry into correct forum if i have asked this in wrong forum
Thanks and regards
saifur rahamanHi Saifur
Can you please elaborate how did you resolve the issue we are also facing same problem when we are trying to create the PO for service items through SRM it is throwing same error while creating the PO in SAP.
Email Id : [email protected]
Thank you in advance!!
Regards
Deepika -
What are the Mandatory Fields in Transaction ME51
Hello Seniors,
I have a requirement about purchase order creation. In this process, I am using the BAPI named " BAPI_PO_CREATE1 ". I have passed all the fields but when I debug and look into the internal tables, I couldn't find certain records. I even debugged " bapiret2" and I see an error which reads "" All mandatory fields are missing"". I have even created a PO in ME51 and found out the mandatory fields but in vain. BAPIRET2 still says, there are some more mandatory fields missing. I need to know what are all the mandatory fields to create a Purchase order using TCODE - ME51.
Your reply is most awaited and rewarded.
Thanks and Regards,
MARKIVhi ,
Functionality
Function module BAPI_PO_CREATE1 enables you to create purchase orders. The BAPI uses the technology behind the Enjoy purchase order transaction ( ME21N).
Alternatively, the IDoc type PORDCR1 is available. The data from this IDoc automatically populates the interface parameters of the function module BAPI_PO_CREATE1.
Functionality in Detail
Authorization
The following authorization objects are checked when an Enjoy purchase order is created (activity 01):
M_BEST_BSA (document type in PO)
M_BEST_EKG (purchasing group in PO)
M_BEST_EKO (purchasing organization in PO)
M_BEST_WRK (plant in PO)
Controlling adoption of field values via X bar
For most tables, you can determine via your own parameters in the associated X bar in each case (e.g. PoItemX) whether fields are to be set initial, values inserted via the interface, or default values adopted (e.g. from Customizing or master records) (for example, it is not mandatory to adopt the material group from an underlying purchase requisition - you can change it with the BAPI).
Transfer
Header data
The header data of the Enjoy purchase order is transferred in the table PoHeader.
Item data
The item data of the Enjoy purchase order is stored in the table PoItem (general item data). The delivery schedule lines are stored in the table PoSchedule.
Use the table PoAccount to specify the account assignment information. If account assignments have been specified for services and limits, you show the relevant account assignment line in PoAccount in the table PoSrvAccessValues via the package number of the service or the limit.
Services and limits
Services, free limits and limits with contract reference can be specified in the tables PoServices, PoLimits, and PoContractLimits.
Conditions
Conditions are transferred in the table PoCond; header conditions in the table PoCondHeader. Price determination is reinitiated via the parameter CALCTYPE in the table PoItem.
Vendor and delivery address
The vendor's address can be specified individually in the table PoAddrVendor; the delivery address in the table PoAddrDelivery. If you do not make any individual specification, the fields will be populated via the central address managementfacility.
Note
In this method, the following restrictions apply with regard to addresses:
Addresses can only be created with this method - they cannot be changed. You can only change address data with the method BAPI_ADDRESSORG_CHANGE.
When you create addresses, they are not checked by the method. An Enjoy purchase order may therefore contain faulty address data.
Partner roles
The partners can be maintained individually via the table PoPartner (with the exception of the partner role "vendor").
Import/export data
Import/Export data can be specified per item in the table PoExpImpItem. Foreign trade data can only be transferred as default data for new items.
Texts
Header and item texts can be transferred in the tables PoTextHeader and PoTextItem. Texts for services are imported in the table PoServicesText.
Version Management
You can make use of the Version Management facility via the table AllVersions.
Return
The PO number is returned in the parameter ExpPurchaseOrder. In addition, all information except the service and export/import tables is placed in the output structures.
Return messages
Messages are returned in the parameter Return. This also contains information as to whether interface data has been wrongly or probably wrongly (heuristical interface check) populated. If a PO has been successfully created, the PO number is also placed in the return table with the appropriate message.
Example
Example of population of BAPI interface in the Function Builder
Parameter: POHEADER
COMP_CODE = 1000
DOC_TYPE = NB
ITEM_INTVL = 00001
VENDOR = 0000001000
PMNTTRMS = 0001
PURCH_ORG = 1000
PUR_GROUP = 001
CURRENCY = EUR
Parameter: POHEADERX
COMP_CODE = X
DOC_TYPE = X
ITEM_INTVL = X
VENDOR = X
PMNTTRMS = X
PURCH_ORG = X
PUR_GROUP = X
Parameter: POITEM
PO_ITEM = 00001
MATERIAL = 100-100
PLANT = 1000
STGE_LOC = 0001
QUANTITY = 15.000
TAX_CODE = V0
ITEM_CAT = 0
ACCTASSCAT = K
Parameter: POITEMX
PO_ITEM = 00001
MATERIAL = X
PLANT = X
STGE_LOC = X
QUANTITY = X
TAX_CODE = X
ITEM_CAT = X
ACCTASSCAT = X
Parameter: POSCHEDULE
PO_ITEM = 00001
SCHED_LINE = 0001
DELIVERY_DATE = 02.12.2002
QUANTITY = 6.000
PO_ITEM = 00001
SCHED_LINE = 0002
DELIVERY_DATE = 03.12.2002
QUANTITY = 5.000
PO_ITEM = 00001
SCHED_LINE = 0003
DELIVERY_DATE = 04.12.2002
QUANTITY = 4.000
Parameter: POSCHEDULEX
PO_ITEM = 00001
SCHED_LINE = 0001
PO_ITEMX = X
SCHED_LINEX = X
DELIVERY_DATE = X
QUANTITY = X
PO_ITEM = 00001
SCHED_LINE = 0002
PO_ITEMX = X
SCHED_LINEX = X
DELIVERY_DATE = X
QUANTITY = X
PO_ITEM = 00001
SCHED_LINE = 0003
PO_ITEMX = X
SCHED_LINEX = X
DELIVERY_DATE = X
QUANTITY = X
Parameter: POACCOUNT
PO_ITEM = 00001
SERIAL_NO = 01
QUANTITY = 15.000
GL_ACCOUNT = 0000400000
COSTCENTER = 0000001000
CO_AREA = 1000
Parameter: POACCOUNTX
PO_ITEM = 00001
SERIAL_NO = 01
QUANTITY = X
GL_ACCOUNT = X
COSTCENTER = X
CO_AREA = X
Parameter: POCOND
ITM_NUMBER = 000001
COND_ST_NO = 001
COND_TYPE = PB00
COND_VALUE = 79.900000000
CURRENCY = EUR
CURRENCY_ISO = EUR
COND_UNIT = KG
COND_P_UNT = 1
CHANGE_ID = U
Parameter: POCONDX
ITM_NUMBER = 000001
COND_ST_NO = 000
ITM_NUMBERX = X
COND_TYPE = X
COND_VALUE = X
CURRENCY = X
CHANGE_ID = X
Parameter: POPARTNER
PARTNERDESC = OA
LANGU = EN
BUSPARTNO = 0000001100
PARTNERDESC = GS
LANGU = EN
BUSPARTNO = 0000001200
PARTNERDESC = PI
LANGU = EN
BUSPARTNO = 0000001000
Help in the Case of Problems
1. Note 197958 lists answers to frequently asked questions (FAQs). (Note 499626 contains answers to FAQs relating to External Services Management.)
2. If you have detected an error in the function of a BAPI, kindly create a reproducible example in the test data directory in the Function Builder (transaction code SE37). Note 375886 tells you how to do this.
3. If the problem persists, please create a Customer Problem Message for the componente MM-PUR-PO-BAPI, and document the reproducible example where necessary.
Customer Enhancements
The following user exits (function modules) are available for the BAPI BAPI_PO_CREATE1:
EXIT_SAPL2012_001 (at start of BAPI)
EXIT_SAPL2012_003 (at end of BAPI)
The following user exits (function modules) are available for the BAPI BAPI BAPI_PO_CHANGE:
EXIT_SAPL2012_002 (at start of BAPI)
EXIT_SAPL2012_004 (at end of BAPI)
These exits belong to the enhancement SAPL2012 (see also transaction codes SMOD and CMOD).
There is also the option of populating customer-specific fields for header, item, or account assignment data via the parameter EXTENSIONIN.
Further information
1. Note 197958 contains up-to-date information on the purchase order BAPIs.
2. If you test the BAPIs BAPI_PO_CREATE1 or BAPI_PO_CHANGE in the Function Builder (transaction code SE37), no database updates will be carried out. If you need this function, please take a look at Note 420646.
3. The BAPI BAPI_PO_GETDETAIL serves to read the details of a purchase order. The BAPI cannot read all details (e.g. conditions). However, you can use the BAPI BAPI_PO_CHANGE for this purpose if only the document number is populated and the initiator has change authorizations for purchase orders.
4. Frequently used BAPIs for purchase orders are BAPI_PO_CREATE, BAPI_PO_CREATE1, BAPI_PO_CHANGE, BAPI_PO_GETDETAIL, BAPI_PO_GETITEMS, BAPI_PO_GETITEMSREL, and BAPI_PO_GETRELINFO.
5. For more information on purchase orders, refer to the SAP library (under MM Purchasing -> Purchase Orders) or the Help for the Enjoy Purchase Order, or choose the path Tools -> ABAP Workbench -> Overview -> BAPI Explorer from the SAP menu.
regards
reena -
PO could not be creating using the Enjoy-BAPI
Hi expersts.
I have a problem with BAPI function module BAPI_PO_CREATE1. When program will generate orders for several suppliers for one supplier "PO could not be creating using the Enjoy-BAPI" and "Purchase order item 00010 still contains faulty schedule lines" and
"Source not included in list despite source list requirement" messages occur. Order won't be generated.
When I am generating order only for that supplier, everything is fine. They are generated and no messages are displayed.
Could anyone help me ?
Thanks, regards.
Dan.Hi expersts.
I have a problem with BAPI function module BAPI_PO_CREATE1. When program will generate orders for several suppliers for one supplier "PO could not be creating using the Enjoy-BAPI" and "Purchase order item 00010 still contains faulty schedule lines" and
"Source not included in list despite source list requirement" messages occur. Order won't be generated.
When I am generating order only for that supplier, everything is fine. They are generated and no messages are displayed.
Could anyone help me ?
Thanks, regards.
Dan. -
Hi,
I had this function module B that is executed as a background task in a function module A. In this function module B, there's a standard function module BAPI_PO_CREATE1 used to create PO. However, if I execute function module B as a background task, it is not working. Is there any reason why is it so?
Thanks.
Best Regards,
Wei ShanREPORT ZPURCHASEORDER.
data:
header like BAPIMEPOHEADER,
headerx like BAPIMEPOHEADERX,
it_item like standard table of BAPIMEPOITEM,
it_itemx like standard table of BAPIMEPOITEMX,
return like standard table of BAPIRET2,
wa_item like BAPIMEPOITEM,
wa_itemx like BAPIMEPOITEMX,
p_int type i,
p_matnr like mara-matnr,
p_pono like ekko-ebeln.
DATA: BEGIN OF BAPIRETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF BAPIRETURN.
constants:
c_x type c value 'X'.
header-comp_code = '3000'.
header-doc_type = 'DP25'.
header-creat_date = sy-datum.
header-item_intvl = '10'.
header-vendor = 'ARAMI-00'.
header-langu = sy-langu.
header-pmnttrms = '0001'.
header-purch_org = '3000'.
header-pur_group = '010'.
header-currency = 'USD'.
headerx-comp_code = c_x.
headerx-doc_type = c_x.
headerx-creat_date = c_x.
headerx-item_intvl = c_x .
headerx-vendor = c_x.
headerx-langu = c_x.
headerx-pmnttrms = c_x .
headerx-purch_org = c_x.
headerx-pur_group = c_x.
*LOOP AT it_final2 INTO wa_final2.
p_int = p_int + 10.
wa_item-po_item = p_int.
p_matnr = 'T-SRM01'.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = p_matnr
IMPORTING
output = p_matnr
EXCEPTIONS
length_error = 1
OTHERS = 2.
*IF sy-subrc = 0.
*MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*ENDIF.
wa_item-material = p_matnr.
wa_item-plant = '3200'.
wa_item-quantity = 100.
wa_item-conf_ctrl = 'Z01'.
wa_item-ACKN_REQD = 'X'.
WA_ITEM-ERS = ''.
APPEND wa_item TO it_item.
wa_itemx-po_item = p_int.
wa_itemx-material = c_x.
wa_itemx-plant = c_x .
wa_itemx-stge_loc = c_x .
wa_itemx-quantity = c_x .
wa_itemx-item_cat = c_x .
wa_itemx-acctasscat = c_x .
wa_itemx-conf_ctrl = 'X'.
wa_itemx-ACKN_REQD = 'X'.
WA_ITEMX-ERS = 'X'.
APPEND wa_itemx TO it_itemx.
*ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = header
poheaderx = headerx
IMPORTING
exppurchaseorder = p_pono
TABLES
return = return
poitem = it_item
poitemx = it_itemx.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = BAPIRETURN.
write:/ p_pono.
Code Formatted by: Alvaro Tejada Galindo on Dec 26, 2008 10:25 AM -
Replacing the bapi with the new bapi for purchase order creation
Hi,
In the customised code call is there for the bapi function module 'BAPII_PO_CREATE'.
Iam trying to replace the call with the code that calls function module 'BAPI_PO_CREATE1'.
Please help me about what changes I needed to do in the code . As there is much mismatch in the import and export parameters
and tables in both the function modules.
Thanks in advance.
Edited by: anwar.indya on Mar 25, 2011 2:18 PM
Edited by: anwar.indya on Mar 25, 2011 2:19 PMHi,
As per u r requirement
you can use : BAPI => BAPI_PO_CREATE with suitable Document Type ( Stock trasnfert : STO )
IF u want to auto po must be created after each delivry in this case you need to use BADI
'MB_MIGO_BADI; In This BAPI There is method : POST_DOCUMENT
In this method u can write code for Auto PO Creation by using BAPI .
Hope This will Resolve u r query.
Thanks and Regads
Santosh -
BUS2012 - CreateFromData1 - PO doesn't created
Hi all, I have a WF with a Task calling the method CreatedFromData1 of BO BUS2012, when I run the WF all seems OK(I get the PO number), but when I go to ME23N transaction the PO isn't created.
Do you know if I need to call other task after CreateFromData1 for COMMIT WORK?.
Regards
AngelI find that for the method BUS2012-PurchaseOrder.CreateFromData the COMMIT WORK is automatic. However when it comes to method BUS2012-PurchaseOrder.CreateFromData1 the commit work can only be set via debugger if you see the code for function module BAPI_PO_CREATE1. So any reason you want to use PurchaseOrder.CreateFromData1 instead of PurchaseOrder.CreateFromData? If there is no reason, you can use PurchaseOrder.CreateFromData method and avoid the trouble.
However if you do want to continue using PurchaseOrder.CreateFromData1 method then I think you should create a new custom class with a method that calls BAPI_PO_CREATE1 followed by BAPI_TRANSACTION_COMMIT. -
Update EKKO Z field using Inbound Idoc
I have an requirement where I have to update Z field in EKKO while creating PO using inbound Idoc.
Basic Idoc Type: PORDC103
Function module: BAPI_PO_CREATE1
Extended POHEADER and EKKO with z field.
I am using exit EXIT_SAPL2012_001 to populate Z field while creating PO as below.
poheader-zfield = '123'.
extensionin-structure = 'Z_HEADER'.
extensionin-valuepart1 = '123'.
APPEND extensionin.
PO is getting created but z fields is not populated. Do i need to add any thing else apart from the above steps?.
Any help appreciated.Rajitha,
Add your Z field in structure BAPI_TE_MEPOHEADER and a corresponding flag in BAPI_TE_MEPOHEADERX.
extensionin-structure = 'TE_MEPOHEADER'.
extensionin-valuepart1 = '__________123' "'10 spaces than value for the field'.
APPEND extensionin.
extensionin-structure = 'TE_MEPOHEADERX'.
extensionin-valuepart1 = '__________X' "'10 spaces than X.
APPEND extensionin.
You don't need to implement/use any exit for filling the custom fields.
Regards,
Diwakar -
BAPI_PO_Create with reference purchase requisition
Can someone help with the BAPI_PO_Create with reference to a purchase requisition step by step procedures?
Any kind of assistance will be appreciated
Thank youHi
BAPI_PO_CREATE is an old BAPI, you can try using BAPI_PO_CREATE1 -
Function module BAPI_PO_CREATE1 enables you to create purchase orders. The BAPI uses the technology behind the Enjoy purchase order transaction (ME21N).
Alternatively, the IDoc type PORDCR1 is available. The data from this IDoc automatically populates the interface parameters of the function module BAPI_PO_CREATE1.
in SAP please use Transaction BAPI for details & example.
in BAPI -Materials Management -> Purchasing -> PurchaseOrder -> CreateFromData1 or CreateFromData
Checkout the documentation of the BAPI, it will have all the details with example.
For testing the BAPI goto SE37 -> Enter the FM name BAPI_PO_CREATE1 & click on test poulate the fields as specified in the example & check the results.
Thanks & Regards
Kishore -
hi friends..
i m new to bapi..
i have some doubt in bapi..
i want to create one PO in bapi..
for that i have 1. BAPI_PO_CREATE 2. BAPI_PO_CREATE1
wat is the diff bt these 2 bapi..
can you help me how to create PO using bapihi,
both create purchase orders.. but bapi_po_create1 uses the technology behind the Enjoy purchase order transaction ( ME21N).Alternatively, the IDoc type PORDCR1 is available. The data from this IDoc automatically populates the interface parameters of the function module BAPI_PO_CREATE1.
regards,
Ashok Reddy
Maybe you are looking for
-
MacOSX 10.9.2 broke this Applescript progress bar :(
Hello, Ever since I upgraded to MacOS 10.9.2, this download script with progress bar, which I frequently use, stopped working. Well the download bit works, but the progress bar, do not show the progress anymore. I have tried to resolve the issue, but
-
When I design with Muse and export as HTML Dreamweaver doesn't attach the style sheets when I open the files with Dreamweaver. Essentially when I design with Muse the files don't render the same with Dreamweaver. Is this a bug? Any work arounds?
-
i am a using a WRT54GH linksys router.. which was working fine for a year.. there was thunderstorm and lightning a few days back.. since then my routers internet port (the first port which says internet in yellow) has stopped working...can some pleas
-
PI 7.0 Service pack level
In PI 7.0 system SXMB_IFR > Integration repository > logon as PISUPER > from menu bar help > Information If you do the above it shows a pop up screen SAP Netweaver Exchange infrastructure System information Application :Design : Integration bu
-
Looking for some internet hosting advice.
I am working on a website and I am trying to get an idea of what to expect in the future. If I wanted to add a video sharing area to my site, like YouTube, what would be the most cost-efficient way to do it? I would need a very large amount of disk s