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 to keep Rejection code to particular Grid/Item in Sales Order through BAPI

krishna_k19
Contributor
0 Kudos

Hi Experts,

 

   Good morning ..

        Iam facing small issue . I want to keep rejection code in sales order to a particular line item(grid wise). I tried many ways but its not happening please guide me.

I created Sales Order with two materials , each one is having two grids. so i want to cancel one grid in one material so as per my company prospects we are keeping Rejection Code to Particular Grid. Manually its working fine but through BAPI its not happening.

These methods i followed.

1). /AFS/BAPI_SALESORD_CHANGE

2). /AFS/VBAK_SALESDOCUMENT_CHANGE

  for these i passed the below values

SalesDoc. : 1234

In OredrHeader-- Doc_typ,SalesOrganization,DistributionChanel,Division,PO Num, Date.

In Order_Header_IN -- Update Flag is --- U

In OrderItem_In -- Itemno, Material, Reason_Rejection,

In OrderItem_In -- Itemno,Update_flag--'X', Reason_rejection Flag -- 'X'.

In Schedule_Item -- Itemno,Schedule_no, Req_Date, Req_Qty,Grid_Value,Reason_Reject

In ScheduleItem_inx -- Itemno,Schedule_no, GridValue_Flag -- 'X' , Reason_Rej Flag -- 'X'.

3). BAPI_SALESDOCUMENT_CHANGE

4). BAPI_SALESORDER_CHANGE

these also i tried but i'm not able to Reject the Particular Grid.

Thanks in advance,

Krishna

1 ACCEPTED SOLUTION

krishna_k19
Contributor
0 Kudos

sorry , its my mistake .

SO = '0006004176'.

ORD_HED-DOC_TYPE = 'ZBV'.

ORD_HED-SALES_ORG = '9000'.

ORD_HED-DISTR_CHAN = '06'.

ORD_HED-DIVISION = '02'.

ORD_HED-REF_DOC = '0006004175'.

ORD_HEDX-UPDATEFLAG = 'U'.

ORD_ITM-ITM_NUMBER = '000001'.

ORD_ITM-MATERIAL = '1467-0101-LYPNK'.

ORD_ITM-ITEM_CATEG = 'ZBVN'.

ORD_ITM-REF_DOC = '0006004175'.

ORD_ITM-REF_DOC_IT = '000001'.

ORD_ITM-REASON_REJ = 'Z2'.

APPEND ORD_ITM.

ORD_ITMX-ITM_NUMBER = '000001'.

ORD_ITMX-UPDATEFLAG = 'U'.

ORD_ITMX-REASON_REJ = 'U'.

APPEND ORD_ITMX.

ORD_SCD-ITM_NUMBER = '000001'.

ORD_SCD-SCHED_LINE = '0002'.

ORD_SCD-REQ_QTY = '1.000'.

ORD_SCD-GRID_VALUE = 'L'.

ORD_SCD-REASON_REJ ='Z2'.

APPEND ORD_SCD.

ORD_SCDX-ITM_NUMBER = '000001'.

ORD_SCDX-SCHED_LINE = '0002'.

ORD_SCDX-UPDATEFLAG = 'U'.

ORD_SCDX-REASON_REJ = 'X'.

APPEND ORD_SCDX.

 

CALL FUNCTION '/AFS/VBAK_SALESDOCUMENT_CHANGE'

  EXPORTING

    SALESDOCUMENT               = SO

    ORDER_HEADER_INX            = ORD_HEDX

   TABLES

     RETURN                      = IT_RET

    ITEM_IN                     = ORD_ITM

    ITEM_INX                    = ORD_ITMX

    SCHEDULE_IN                 = ORD_SCD

    SCHEDULE_INX                = ORD_SCDX        .

 

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  EXPORTING

    WAIT          = 'X'

  IMPORTING

    RETURN        = RET.

CALL FUNCTION 'SD_MESSAGE_LOG_DISPLAY'

  TABLES

    RETURN        = IT_RET.

i applied this logic its working fine..

Thanks

Krishna

1 REPLY 1

krishna_k19
Contributor
0 Kudos

sorry , its my mistake .

SO = '0006004176'.

ORD_HED-DOC_TYPE = 'ZBV'.

ORD_HED-SALES_ORG = '9000'.

ORD_HED-DISTR_CHAN = '06'.

ORD_HED-DIVISION = '02'.

ORD_HED-REF_DOC = '0006004175'.

ORD_HEDX-UPDATEFLAG = 'U'.

ORD_ITM-ITM_NUMBER = '000001'.

ORD_ITM-MATERIAL = '1467-0101-LYPNK'.

ORD_ITM-ITEM_CATEG = 'ZBVN'.

ORD_ITM-REF_DOC = '0006004175'.

ORD_ITM-REF_DOC_IT = '000001'.

ORD_ITM-REASON_REJ = 'Z2'.

APPEND ORD_ITM.

ORD_ITMX-ITM_NUMBER = '000001'.

ORD_ITMX-UPDATEFLAG = 'U'.

ORD_ITMX-REASON_REJ = 'U'.

APPEND ORD_ITMX.

ORD_SCD-ITM_NUMBER = '000001'.

ORD_SCD-SCHED_LINE = '0002'.

ORD_SCD-REQ_QTY = '1.000'.

ORD_SCD-GRID_VALUE = 'L'.

ORD_SCD-REASON_REJ ='Z2'.

APPEND ORD_SCD.

ORD_SCDX-ITM_NUMBER = '000001'.

ORD_SCDX-SCHED_LINE = '0002'.

ORD_SCDX-UPDATEFLAG = 'U'.

ORD_SCDX-REASON_REJ = 'X'.

APPEND ORD_SCDX.

 

CALL FUNCTION '/AFS/VBAK_SALESDOCUMENT_CHANGE'

  EXPORTING

    SALESDOCUMENT               = SO

    ORDER_HEADER_INX            = ORD_HEDX

   TABLES

     RETURN                      = IT_RET

    ITEM_IN                     = ORD_ITM

    ITEM_INX                    = ORD_ITMX

    SCHEDULE_IN                 = ORD_SCD

    SCHEDULE_INX                = ORD_SCDX        .

 

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  EXPORTING

    WAIT          = 'X'

  IMPORTING

    RETURN        = RET.

CALL FUNCTION 'SD_MESSAGE_LOG_DISPLAY'

  TABLES

    RETURN        = IT_RET.

i applied this logic its working fine..

Thanks

Krishna