2008 Jul 23 10:56 AM
Hi All,
I have to update the sales orders with 'reason for rejection code'(abgru).
for this i want use BAPI_SALESORDER_CHANGE.
As I am new to BAPI's can anybody please explain what r all the parameters we have pass and how can we pass the data from our internal table to the BAPI
thanks,
sudheer
2008 Jul 23 11:03 AM
Hi Sudhir,
See the below example.
DATA: LIT_ITEM TYPE BAPISDITM OCCURS 0 WITH HEADER LINE,
LIT_ITEMX TYPE BAPISDITMX OCCURS 0 WITH HEADER LINE,
LIT_TEXT TYPE BAPISDTEXT OCCURS 0 WITH HEADER LINE.
DATA: T_BAPISDH1 LIKE BAPISDH1 OCCURS 0 WITH HEADER LINE,
T_BAPISDH1X LIKE BAPISDH1X OCCURS 0 WITH HEADER LINE.
LIT_ITEM-ITM_NUMBER = I_LIST-POSNR.
LIT_ITEM-REASON_REJ = 'ZC'.
APPEND LIT_ITEM. CLEAR LIT_ITEM.
LIT_ITEMX-ITM_NUMBER = I_LIST-POSNR.
LIT_ITEMX-UPDATEFLAG = 'U'.
LIT_ITEMX-REASON_REJ = 'X'.
APPEND LIT_ITEMX. CLEAR LIT_ITEMX.
Save rejection reason text
LIT_TEXT-DOC_NUMBER = I_LIST-VBELN.
LIT_TEXT-ITM_NUMBER = I_LIST-POSNR.
LIT_TEXT-TEXT_ID = 'Z061'.
LIT_TEXT-LANGU = SY-LANGU.
LIT_TEXT-TEXT_LINE = I_LIST-TDLINE.
APPEND LIT_TEXT.
CLEAR : I_LIST-TDLINE.
T_BAPISDH1X-UPDATEFLAG = 'U'.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = I_LIST-VBELN
ORDER_HEADER_IN = T_BAPISDH1
ORDER_HEADER_INX = T_BAPISDH1X
TABLES
RETURN = T_BAPIRET2
ORDER_ITEM_IN = LIT_ITEM[]
ORDER_ITEM_INX = LIT_ITEMX[]
ORDER_TEXT = LIT_TEXT[].
Hi All,
I have to update the sales orders with 'reason for rejection code'(abgru).
for this i want use BAPI_SALESORDER_CHANGE.
As I am new to BAPI's can anybody please explain what r all the parameters we have pass and how can we pass the data from our internal table to the BAPI
thanks,
sudheer
2008 Jul 23 10:57 AM
Go to transaction SE37 and look at the BAPI - you will be able to see all of its parameters and read its documentation and then you will know.
2008 Jul 23 10:58 AM
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = lv_vbeln
* ORDER_HEADER_IN =
order_header_inx = ls_head_x
* SIMULATION =
* BEHAVE_WHEN_ERROR = ' '
* INT_NUMBER_ASSIGNMENT = ' '
* LOGIC_SWITCH =
TABLES
return = lt_messages1
* ORDER_ITEM_IN =
order_item_inx = lt_order_item_x
conditions_in = lt_conditions
conditions_inx = lt_conditions_x
* EXTENSIONIN =
.
2008 Jul 23 11:03 AM
Hi Sudhir,
See the below example.
DATA: LIT_ITEM TYPE BAPISDITM OCCURS 0 WITH HEADER LINE,
LIT_ITEMX TYPE BAPISDITMX OCCURS 0 WITH HEADER LINE,
LIT_TEXT TYPE BAPISDTEXT OCCURS 0 WITH HEADER LINE.
DATA: T_BAPISDH1 LIKE BAPISDH1 OCCURS 0 WITH HEADER LINE,
T_BAPISDH1X LIKE BAPISDH1X OCCURS 0 WITH HEADER LINE.
LIT_ITEM-ITM_NUMBER = I_LIST-POSNR.
LIT_ITEM-REASON_REJ = 'ZC'.
APPEND LIT_ITEM. CLEAR LIT_ITEM.
LIT_ITEMX-ITM_NUMBER = I_LIST-POSNR.
LIT_ITEMX-UPDATEFLAG = 'U'.
LIT_ITEMX-REASON_REJ = 'X'.
APPEND LIT_ITEMX. CLEAR LIT_ITEMX.
Save rejection reason text
LIT_TEXT-DOC_NUMBER = I_LIST-VBELN.
LIT_TEXT-ITM_NUMBER = I_LIST-POSNR.
LIT_TEXT-TEXT_ID = 'Z061'.
LIT_TEXT-LANGU = SY-LANGU.
LIT_TEXT-TEXT_LINE = I_LIST-TDLINE.
APPEND LIT_TEXT.
CLEAR : I_LIST-TDLINE.
T_BAPISDH1X-UPDATEFLAG = 'U'.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = I_LIST-VBELN
ORDER_HEADER_IN = T_BAPISDH1
ORDER_HEADER_INX = T_BAPISDH1X
TABLES
RETURN = T_BAPIRET2
ORDER_ITEM_IN = LIT_ITEM[]
ORDER_ITEM_INX = LIT_ITEMX[]
ORDER_TEXT = LIT_TEXT[].
2008 Jul 24 7:43 AM
Hi ,
Thanks for your immediate reply.
I tried with the following code, but the sales orders are not updated after executing the code.
DATA: LIT_ITEM TYPE BAPISDITM OCCURS 0 WITH HEADER LINE,
LIT_ITEMX TYPE BAPISDITMX OCCURS 0 WITH HEADER LINE,
LIT_TEXT TYPE BAPISDTEXT OCCURS 0 WITH HEADER LINE.
DATA: T_BAPISDH1 LIKE BAPISDH1 OCCURS 0 WITH HEADER LINE,
T_BAPISDH1X LIKE BAPISDH1X OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF I_RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF I_RETURN.
DATA: BEGIN OF I_BAPIRETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF I_BAPIRETURN.
LIT_ITEM-ITM_NUMBER = ITAB1-POSNR.
LIT_ITEM-REASON_REJ = 'ZC'.
APPEND LIT_ITEM. CLEAR LIT_ITEM.
LIT_ITEMX-ITM_NUMBER = ITAB1-POSNR.
LIT_ITEMX-UPDATEFLAG = 'U'.
LIT_ITEMX-REASON_REJ = 'X'.
APPEND LIT_ITEMX. CLEAR LIT_ITEMX.
Save rejection reason text
LIT_TEXT-DOC_NUMBER = ITAB1-VBELN.
LIT_TEXT-ITM_NUMBER = ITAB1-POSNR.
LIT_TEXT-TEXT_ID = 'Z061'.
LIT_TEXT-LANGU = SY-LANGU.
LIT_TEXT-TEXT_LINE = ITAB1-TDLINE.
LIT_TEXT-TEXT_LINE = ITAB1-ABGRU.
APPEND LIT_TEXT.
CLEAR : I_LIST-TDLINE.
CLEAR : ITAB1-ABGRU.
T_BAPISDH1X-UPDATEFLAG = 'U'.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = ITAB1-VBELN
ORDER_HEADER_IN = T_BAPISDH1
ORDER_HEADER_INX = T_BAPISDH1X
TABLES
RETURN = I_RETURN
ORDER_ITEM_IN = LIT_ITEM[]
ORDER_ITEM_INX = LIT_ITEMX[]
ORDER_TEXT = LIT_TEXT[].
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = I_BAPIRETURN
Can u please tell me how to correct this.
thanks,
sudheer
Edited by: sudheer kumar on Jul 24, 2008 8:43 AM
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |