Application Development 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: 

HOW CAN I CHANGE VBAK-FAKSK, USING BAPI_SALESORDER_CHANGE

Former Member
0 Kudos

HI ,

I HAVE TO CHANGE THE VALUE FRIM '27' TO '28' FOR A SELECTED SALE ORDER USING BAPI_SALESORDER_CHANGE'.

COULD YOU HELP ME REGARDING THIS?

THANKS

SURI.

1 ACCEPTED SOLUTION

former_member189629
Active Contributor
0 Kudos

Suresh,

Use the below code for reference

*PARAMETERS: p_order LIKE vbak-vbeln.

*DATA: ord_in LIKE bapisdhd1,

  • ord_inx LIKE bapisdhd1x,

  • t_ret LIKE bapiret2 occurs 0 with header line.

*

*END-OF-SELECTION.

*

**ord_in-dlv_block = 'ZZZ'.

*ord_in-REQ_DATE_H = SY-DATUM.

*ord_inx-REQ_DATE_H = 'X'.

*ord_inx-updateflag = 'U'.

*

*CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'

  • EXPORTING

  • SALESDOCUMENT = p_order

  • ORDER_HEADER_IN = ord_in

  • ORDER_HEADER_INX = ord_inx

  • TABLES

  • RETURN = t_ret

  • .

*

*LOOP AT t_ret.

  • if sy-tabix = 1.

  • t_ret-type = 'E'.

  • modify t_ret.

  • endif.

*ENDLOOP.

*LOOP AT t_ret WHERE type = 'E'.

*

*ENDLOOP.

*

*IF SY-SUBRC <> 0.

  • CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

*ELSE.

  • WRITE:/ 'SUCCESS'.

*ENDIF.

reward if helpful,

Karthik

1 REPLY 1

former_member189629
Active Contributor
0 Kudos

Suresh,

Use the below code for reference

*PARAMETERS: p_order LIKE vbak-vbeln.

*DATA: ord_in LIKE bapisdhd1,

  • ord_inx LIKE bapisdhd1x,

  • t_ret LIKE bapiret2 occurs 0 with header line.

*

*END-OF-SELECTION.

*

**ord_in-dlv_block = 'ZZZ'.

*ord_in-REQ_DATE_H = SY-DATUM.

*ord_inx-REQ_DATE_H = 'X'.

*ord_inx-updateflag = 'U'.

*

*CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'

  • EXPORTING

  • SALESDOCUMENT = p_order

  • ORDER_HEADER_IN = ord_in

  • ORDER_HEADER_INX = ord_inx

  • TABLES

  • RETURN = t_ret

  • .

*

*LOOP AT t_ret.

  • if sy-tabix = 1.

  • t_ret-type = 'E'.

  • modify t_ret.

  • endif.

*ENDLOOP.

*LOOP AT t_ret WHERE type = 'E'.

*

*ENDLOOP.

*

*IF SY-SUBRC <> 0.

  • CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

*ELSE.

  • WRITE:/ 'SUCCESS'.

*ENDIF.

reward if helpful,

Karthik