on 05-02-2006 10:04 AM
Hi,
Would anyone know how to use BAPI_PO_CHANGE to modify a PO's header text (header text 1 and header text 2)? I'm passing the data to the table POTEXTHEADER but the changes weren't reflected when i viewed the PO.
Thanks.
Hello Winnie,
Please have a look at the OSS notes 782948. This may give u the solution.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Here is the Note text - Given this you probably can try the SAVE_TEXT directly now
You use the PurchaseOrder.Change API to change only the texts in a purchase order. The BAPI_PO_CHANGE BAPI returns the message that the purchase order was saved, but the text changes are not apparent in the purchase order.
When you call BAPI_PO_CHANGE, the system does not write any change documents for any text changes.
You cannot delete texts for an item object.
The system does not return the created/changed texts to the initiator after processing.
Solution
Implement the program correction.
Note the following:
To be able to delete item texts, enter the following information for the BAPI in the POTEXTITEM structure and/or the POTEXTHEADER structure:
PO_NUMBER: not absolutely necessary
PO_ITEM: define the corresponding number for items, with header texts the line item number is always 00000
TEXT_ID: for example F04
TEXT_LINE: leave this field empty explicitly.
Due to technical restrictions, we cannot provide this correction in SAP R/3 Release 4.6C.
Regards,
Ravi
Note : Please mark the helpful answers
Hai Winnie
check with the standard progrm 'LMASSPURCHREQU09' for
'BAPI_PO_CHANGE'
Thanks & regards
Sreenivasulu P
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI Winnie,
The bapi_po_change bapi calls the save_text function module in turn.
It should update the header texts.
Can you show what you are coding?
Regards,
Ravi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
that's what i'm wondering about. the said function module calls save_text but it just wouldn't work in my case.
my code looks something like this:
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
PURCHASEORDER = V_PO
* POHEADER = I_PO_HEADER
* POHEADERX =
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
* IMPORTING
* EXPHEADER =
TABLES
* RETURN = I_RETURN
* POITEM = I_PO_ITEMS
* POITEMX =
* POADDRDELIVERY =
* POSCHEDULE = I_PO_ITEM_SCHEDULES
* POSCHEDULEX =
* POACCOUNT = I_PO_ITEM_ACCOUNT_ASSIGNMENT
* POACCOUNTPROFITSEGMENT =
* POACCOUNTX =
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
* POLIMITS =
* POCONTRACTLIMITS =
* POSERVICES =
* POSRVACCESSVALUES =
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
POTEXTHEADER = I_PO_TEXTHEADER
* POTEXTITEM =
* POPARTNER =
.
i only passed the PO number and the structure containing the header texts. Would this have anything to do with the fm not working properly?
Hi,
Look at the small example which I used for other application....
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = it_hdr
TABLES
accountgl = it_gl
ACCOUNTRECEIVABLE = act_rec
currencyamount = it_curr
return = t_result.
*
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
After that you just call the above FM thats all no need to pass something.
Thanks.
If this helps you reward with points.
Message was edited by: KDeepak
Hi,
Why don't you use SAVE_TEXT to update the texts followed by COMMIT_TEXT.
Text Name Order Number
Language EN
Text ID F01 Header text
Text object EKKO Purchasing doc. header texts
Regards,
Ravi
Note : Please mark the helpful answers
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.