Hi
I am updating the Sales order at line item and putting the reason for rejection but it didnt updates the database. Below is the code.
LOOP AT LT_VBUP1 INTO WA_VBUP1.
ON CHANGE OF WA_VBUP1-VBELN.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = WA_VBUP1-VBELN
ORDER_HEADER_INX = LV_ORDER_HEADER_INX
TABLES
RETURN = IT_RETURN
ORDER_ITEM_IN = IT_ORDER_ITEM_IN
ORDER_ITEM_INX = IT_ORDER_ITEM_INX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
CLEAR WA_TY_SOCLOSE.
IF SY-SUBRC EQ 0.
LT_TY_SOCLOSE-VBELN = LV_SALESDOCUMENT.
LT_TY_SOCLOSE-STCLOSE = 'Y'.
ELSE.
LT_TY_SOCLOSE-VBELN = LV_SALESDOCUMENT.
LT_TY_SOCLOSE-STCLOSE = 'N'.
ENDIF.
APPEND LT_TY_SOCLOSE.
ENDON.
CLEAR: WA_ORDER_ITEM_IN,WA_ORDER_ITEM_INX.
WA_ORDER_ITEM_IN-ITM_NUMBER = WA_VBUP1-POSNR.
WA_ORDER_ITEM_IN-REASON_REJ = 'Y1'. " Putting order of rejection for the archiving
WA_ORDER_ITEM_INX-ITM_NUMBER = WA_VBUP1-POSNR.
WA_ORDER_ITEM_INX-UPDATEFLAG = 'U'.
WA_ORDER_ITEM_INX-REASON_REJ = 'X'.
APPEND WA_ORDER_ITEM_IN TO IT_ORDER_ITEM_IN.
APPEND WA_ORDER_ITEM_INX TO IT_ORDER_ITEM_INX.
CLEAR WA_VBUP1.
ENDLOOP.
Correct me where I am putting wrong.
Regards
Mohinder