2007 Aug 27 9:30 PM
Hi,
I want to change usage indicator through bapi ssales_oder_Change.
Please explain sample scenarios.
Thanks,
Asha
Hi,
I want to change usage indicator through bapi ssales_oder_Change.
Please explain sample scenarios.
Thanks,
Asha
2007 Aug 28 8:24 AM
hi asha
DATA : BEGIN OF VBAK OCCURS 0.
INCLUDE STRUCTURE VBAK.
DATA: END OF VBAK.
DATA : BEGIN OF VBAP OCCURS 0.
INCLUDE STRUCTURE VBAP.
DATA : END OF VBAP.
DATA : BEGIN OF VBKD OCCURS 0.
INCLUDE STRUCTURE VBKD.
DATA : END OF VBKD.
*--bapi header structures
DATA : ORDER_HEADER_IN TYPE BAPISDH1,
ORDER_HEADER_INX TYPE BAPISDH1X.
*--bapi return tables
DATA : RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE,
RETURN1 TYPE TABLE OF BAPIRET2 WITH HEADER LINE,
ORDER_ITEM_IN TYPE TABLE OF BAPISDITM WITH HEADER LINE,
ORDER_ITEM_INX TYPE TABLE OF BAPISDITMX WITH HEADER LINE,
SCHEDULE_LINESX TYPE TABLE OF BAPISCHDLX WITH HEADER LINE.
PARAMETER : P_VBELN TYPE VBELN.
START-OF-SELECTION.
SELECT * FROM VBAK INTO TABLE VBAK WHERE VBELN = P_VBELN.
IF VBAK[] IS NOT INITIAL.
SELECT * FROM VBAP INTO TABLE VBAP
FOR ALL ENTRIES IN VBAK
WHERE VBELN = VBAK-VBELN.
ENDIF.
IF VBAP[] IS NOT INITIAL.
SELECT * FROM VBKD INTO TABLE VBKD
FOR ALL ENTRIES IN VBAP
WHERE VBELN = VBAP-VBELN AND
POSNR = VBAP-POSNR.
ENDIF.
*--Populating bapi header struct.
ORDER_HEADER_INX-UPDATEFLAG = 'U' .
*ORDER_HEADER_INX-SALES_ORG = 'X'.
*ORDER_HEADER_INX-DISTR_CHAN = 'X'.
*ORDER_HEADER_INX-DIVISION = 'X'.
*ORDER_HEADER_INX-PURCH_NO_C = 'X'.
*ORDER_HEADER_INX-CUST_GROUP = 'X'.
*--populating babi structures
LOOP AT VBAP.
ORDER_ITEM_IN-ITM_NUMBER = VBAP-POSNR. "TEST
ORDER_ITEM_IN-HG_LV_ITEM = VBAP-uepos.
ORDER_ITEM_IN-PLANT = VBAP-WERKS.
ORDER_ITEM_IN-TARGET_QTY = VBAP-KWMENG.
ORDER_ITEM_IN-SALES_UNIT = VBAP-VRKME.
APPEND ORDER_ITEM_IN.
ORDER_ITEM_IN-ITM_NUMBER = '000020'.
ORDER_ITEM_IN-PLANT = '2000'.
ORDER_ITEM_IN-TARGET_QTY = '120'.
ORDER_ITEM_IN-SALES_UNIT = 'PC'.
APPEND ORDER_ITEM_IN.
*--Populating ind
ORDER_ITEM_INX-ITM_NUMBER = VBAP-POSNR.
ORDER_ITEM_INX-UPDATEFLAG = 'U'.
ORDER_ITEM_INX-HG_LV_ITEM = 'X'.
ORDER_ITEM_INX-PLANT = 'X'.
ORDER_ITEM_INX-TARGET_QTY = 'X'.
ORDER_ITEM_INX-SALES_UNIT = 'X'.
APPEND ORDER_ITEM_INX.
ENDLOOP.
SCHEDULE_LINES-ITM_NUMBER =
SCHEDULE_LINES-SCHED_LINE =
SCHEDULE_LINESX-ITM_NUMBER = 'X'.
SCHEDULE_LINESX-SCHED_LINE = 'X'.
SCHEDULE_LINESX-UPDATEFLAG = 'X'.
END-OF-SELECTION.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = P_VBELN
ORDER_HEADER_IN =
ORDER_HEADER_INX = ORDER_HEADER_INX
SIMULATION =
BEHAVE_WHEN_ERROR = ' '
INT_NUMBER_ASSIGNMENT = ' '
LOGIC_SWITCH =
TABLES
RETURN = RETURN
ORDER_ITEM_IN = ORDER_ITEM_IN
ORDER_ITEM_INX = ORDER_ITEM_INX
PARTNERS =
PARTNERCHANGES =
PARTNERADDRESSES =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
SCHEDULE_LINES =
SCHEDULE_LINESX = SCHEDULE_LINESX
ORDER_TEXT =
ORDER_KEYS =
CONDITIONS_IN =
CONDITIONS_INX =
EXTENSIONIN =
.
IF SY-SUBRC = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = RETURN1.
ENDIF.
LOOP AT RETURN.
WRITE : / RETURN-MESSAGE.
ENDLOOP.
WRITE : / P_VBELN.
LOOP AT VBAP.
WRITE : / VBAP-UEPOS, VBAP-WERKS, VBAP-KWMENG, VBAP-VRKME.
ENDLOOP.
reward points if helpful....
2007 Aug 28 8:27 AM
wat ever the fields u r changing u need keep 'X' for the bapistructure with field indicating to the database u r going to change that field
reward points if helpful
Message was edited by:
raam
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |