Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

update sales orders

Former Member
1,497

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
767

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[].

4 REPLIES 4
Read only

Former Member
0 Likes
767

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.

Read only

Former Member
0 Likes
767
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                 =
            .
Read only

Former Member
0 Likes
768

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[].

Read only

0 Likes
767

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