2007 Jan 22 6:49 AM
Hi all,
Can anyone tell me how to use FM BAPI_PO_CREATE1.I am getting this error.
"Type conflict when calling a function module (field length)"
This is my code.
REPORT Z8CKG_BAPI_PO_CREATE1_T1.
PO HEADER DETAILS.
TYPES: BEGIN OF T_PO_HEADER.
INCLUDE STRUCTURE BAPIMEPOHEADER.
TYPES: END OF T_PO_HEADER.
TYPES: BEGIN OF T_PO_HEADERX.
INCLUDE STRUCTURE BAPIMEPOHEADERX.
TYPES: END OF T_PO_HEADERX.
PO ITEMS DETAILS.
TYPES: BEGIN OF T_PO_ITEMS.
INCLUDE STRUCTURE BAPIMEPOITEM.
TYPES: END OF T_PO_ITEMS.
TYPES: BEGIN OF T_PO_ITEMX.
INCLUDE STRUCTURE BAPIMEPOITEMX.
TYPES: END OF T_PO_ITEMX.
DATA: I_PO_HEADER TYPE STANDARD TABLE OF T_PO_HEADER,
I_PO_HEADERX TYPE STANDARD TABLE OF T_PO_HEADER,
I_PO_ITEMS TYPE STANDARD TABLE OF T_PO_ITEMS,
I_PO_ITEMX TYPE STANDARD TABLE OF T_PO_ITEMS.
DATA: WA_PO_HEADER TYPE T_PO_HEADER,
WA_PO_HEADERX TYPE T_PO_HEADER,
WA_PO_ITEMS TYPE T_PO_ITEMS,
WA_PO_ITEMX TYPE T_PO_ITEMS.
DATA: PUR_ORDER LIKE BAPIMEPOHEADER-PO_NUMBER,
C_X(1) TYPE C VALUE 'X'.
START OF SELECTION.
START-OF-SELECTION.
HEADER DETAILS.
WA_PO_HEADER-COMP_CODE = '0001'.
WA_PO_HEADER-DOC_TYPE = 'NB'.
WA_PO_HEADER-CREAT_DATE = SY-DATUM.
WA_PO_HEADER-CREATED_BY = 'DEVELOPER'.
WA_PO_HEADER-VENDOR = 'V1'.
WA_PO_HEADER-PURCH_ORG = '001'.
WA_PO_HEADER-CURRENCY = 'INR'.
WA_PO_HEADER-SALES_PERS = 'CHINMAY GHOSH'.
WA_PO_HEADER-TELEPHONE = '090019909'.
HEADERX DETAILS.
WA_PO_HEADERX-COMP_CODE = C_X.
WA_PO_HEADERX-DOC_TYPE = C_X.
WA_PO_HEADERX-CREAT_DATE = C_X.
WA_PO_HEADERX-CREATED_BY = C_X.
WA_PO_HEADERX-VENDOR = C_X.
WA_PO_HEADERX-PURCH_ORG = C_X.
WA_PO_HEADERX-CURRENCY = C_X.
WA_PO_HEADERX-SALES_PERS = C_X.
WA_PO_HEADERX-TELEPHONE = C_X.
ITEM DETAILS.
WA_PO_ITEMS-PO_ITEM = '10'.
WA_PO_ITEMS-MATERIAL = 'RM1'.
WA_PO_ITEMS-SHORT_TEXT = 'RAW MATERIAL1'.
WA_PO_ITEMS-PLANT = '0001'.
WA_PO_ITEMS-QUANTITY = '100'.
ITEMX DETAILS.
WA_PO_ITEMX-PO_ITEM = '10'.
WA_PO_ITEMX-MATERIAL = C_X.
WA_PO_ITEMX-SHORT_TEXT = C_X.
WA_PO_ITEMX-PLANT = C_X.
*WA_PO_ITEMX-QUANTITY = 'X'.
APPEND WA_PO_ITEMS TO I_PO_ITEMS.
APPEND WA_PO_ITEMX TO I_PO_ITEMX.
ITEM DETAILS.
WA_PO_ITEMS-PO_ITEM = '20'.
WA_PO_ITEMS-MATERIAL = 'RM2'.
WA_PO_ITEMS-SHORT_TEXT = 'RAW MATERIAL2'.
WA_PO_ITEMS-PLANT = '0001'.
WA_PO_ITEMS-QUANTITY = '150'.
ITEMX DETAILS.
WA_PO_ITEMX-PO_ITEM = '10'.
WA_PO_ITEMX-MATERIAL = C_X.
WA_PO_ITEMX-SHORT_TEXT = C_X.
WA_PO_ITEMX-PLANT = C_X.
*WA_PO_ITEMX-QUANTITY = C_X.
APPEND WA_PO_ITEMS TO I_PO_ITEMS.
APPEND WA_PO_ITEMX TO I_PO_ITEMX.
ITEM DETAILS.
WA_PO_ITEMS-PO_ITEM = '30'.
WA_PO_ITEMS-MATERIAL = 'RM3'.
WA_PO_ITEMS-SHORT_TEXT = 'RAW MATERIAL3'.
WA_PO_ITEMS-PLANT = '0001'.
WA_PO_ITEMS-QUANTITY = '200'.
ITEMX DETAILS.
WA_PO_ITEMX-PO_ITEM = '10'.
WA_PO_ITEMX-MATERIAL = C_X.
WA_PO_ITEMX-SHORT_TEXT = C_X.
WA_PO_ITEMX-PLANT = C_X.
*WA_PO_ITEMX-QUANTITY = C_X.
APPEND WA_PO_ITEMS TO I_PO_ITEMS.
APPEND WA_PO_ITEMX TO I_PO_ITEMX.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = WA_PO_HEADER
POHEADERX = WA_PO_HEADERX
POADDRVENDOR =
TESTRUN =
MEMORY_UNCOMPLETE =
MEMORY_COMPLETE =
POEXPIMPHEADER =
POEXPIMPHEADERX =
VERSIONS =
NO_MESSAGING =
NO_MESSAGE_REQ =
NO_AUTHORITY =
NO_PRICE_FROM_PO =
IMPORTING
EXPPURCHASEORDER = PUR_ORDER
EXPHEADER =
EXPPOEXPIMPHEADER =
TABLES
RETURN =
POITEM = I_PO_ITEMS
POITEMX = I_PO_ITEMX
POADDRDELIVERY =
POSCHEDULE =
POSCHEDULEX =
POACCOUNT =
POACCOUNTPROFITSEGMENT =
POACCOUNTX =
POCONDHEADER =
POCONDHEADERX =
POCOND =
POCONDX =
POLIMITS =
POCONTRACTLIMITS =
POSERVICES =
POSRVACCESSVALUES =
POSERVICESTEXT =
EXTENSIONIN =
EXTENSIONOUT =
POEXPIMPITEM =
POEXPIMPITEMX =
POTEXTHEADER =
POTEXTITEM =
ALLVERSIONS =
POPARTNER =
.
WRITE:/5 PUR_ORDER.
2007 Jan 22 7:09 AM
Hi Chinmay
Please make below changes:
[code]DATA: WA_PO_HEADER TYPE T_PO_HEADER,
<b>WA_PO_HEADERX TYPE T_PO_HEADERX,</b>
WA_PO_ITEMS TYPE T_PO_ITEMS,
<b>WA_PO_ITEMX TYPE T_PO_ITEMSX.[/</b>code]
Regards
Eswar
Hi Chinmay
Please make below changes:
[code]DATA: WA_PO_HEADER TYPE T_PO_HEADER,
<b>WA_PO_HEADERX TYPE T_PO_HEADERX,</b>
WA_PO_ITEMS TYPE T_PO_ITEMS,
<b>WA_PO_ITEMX TYPE T_PO_ITEMSX.[/</b>code]
Regards
Eswar
2007 Jan 22 7:03 AM
hi Chinmay,
you need to change the following declerations:
DATA: WA_PO_HEADER TYPE T_PO_HEADER,
WA_PO_HEADERX TYPE T_PO_HEADER,
<b>and re-write as mentioned below:</b>
DATA: WA_PO_HEADER TYPE BAPIMEPOHEADER,
WA_PO_HEADERX TYPE BAPIMEPOHEADERX.Hope this helps.
Sajan Joseph.
Message was edited by:
Sajan Joseph
2007 Jan 22 7:09 AM
Hi Chinmay
Please make below changes:
[code]DATA: WA_PO_HEADER TYPE T_PO_HEADER,
<b>WA_PO_HEADERX TYPE T_PO_HEADERX,</b>
WA_PO_ITEMS TYPE T_PO_ITEMS,
<b>WA_PO_ITEMX TYPE T_PO_ITEMSX.[/</b>code]
Regards
Eswar
2007 Jan 22 7:31 AM
ok i have corrected that still it is giving me error.
Exception condition "FAILURE" raised.
Tell me what are the required parameters to be passed so as to create PO.
2007 Jan 22 7:32 AM
This is the source code where error is happening.
METHOD get.
IF my_manager is initial.
CALL METHOD get_manager.
ENDIF.
CALL METHOD my_manager->search EXPORTING im_id = im_id
IMPORTING ex_handle = ex_handle
EXCEPTIONS failure = 01.
IF sy-subrc ne 0.
RAISE failure.
ENDIF.
ENDMETHOD.
2007 Jan 22 7:39 AM
Thats because you didnt reward points for the answers! <b>JUST KIDDING</b>.
There are no more mandatory fields, other than the POHEADER field, which you have already passed.
The error can be due to incorrect data passed.
Sajan Joseph.
2007 Jan 22 8:33 AM
Don't worry once my problem is solved i will be giving points.No, i have passed correct data still it is showing me that errror.
2007 Jan 22 7:27 AM
Hi,
u can directly declare the internal table and workarea like this
DATA: I_PO_HEADER TYPE STANDARD TABLE OF BAPIMEPOHEADER,
I_PO_HEADERX TYPE STANDARD TABLE OF BAPIMEPOHEADERX,
I_PO_ITEMS TYPE STANDARD TABLE OF BAPIMEPOITEM,
I_PO_ITEMX TYPE STANDARD TABLE OF BAPIMEPOITEM.
DATA: WA_PO_HEADER TYPE BAPIMEPOHEADER,
WA_PO_HEADERX TYPE BAPIMEPOHEADERX,
WA_PO_ITEMS TYPE BAPIMEPOITEM,
WA_PO_ITEMX TYPE BAPIMEPOITEM.
Regards,
Nagaraj
2007 May 02 4:08 PM
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |