Need a badi or user exit to update numbers at level of Goods Receipt level

Hi I need to update serial number based on combination of plant, company code and fiscal year while generating a Goods Receipt by using MIGO transaction code.
Step1) once run the MIGO transaction, here enter values of Purchase Order, Quantity, and delivery note and check the item ok check box for goods receipt.
Step2) Then check for any warnings and errors by clicking the check button/tabular
Step3) Finally post the goods receipt for the purchase order by clicking Post button/tabular.
Result:
Then system will provides the Material of Document number for the goods receipt of purchase order. That number like 5000000342.
Here client wants to put his number like V500000001.for one combination of plant, company code and fiscal year.
Example
Z TABLE AS LIKE BELOW COMBINATION
Plant                  company code             first no               end no               current no     FISCAL YR
7800/7801      2000                            V500000001      V599999999             
7802/7803      3000                            F500000001      F599999999         
7804                4000                            D500000001      D599999999         
Whenever end user generates a GR then System should display one of above number instead of systems generate value.
I have used to fix the issue badi> mb_badi_migo document_badi_update and user exit-> mb_cf001, mbcf0002 but not found the solution.
Please provide me needful information.
Thanks,
Raj

Hi
<b>Here is the sample code...</b>
method if_ex_mb_migo_badi~post_document .
  data: ls_migo_badi_example type migo_badi_exampl,
        lt_migo_badi_example type table of migo_badi_exampl,
        ls_extdata type migo_badi_example_screen_field,
        ls_xmseg   type mseg.
  field-symbols: <gt_extdata> type migo_badi_example_screen_field.
* Transaction MIGO will now post a material document.
* Any errors here MUST be issued as A-message (better: X-message)
* Copy data from material document into internal table
  loop at gt_extdata into ls_extdata.
    if g_cancel is initial.
      read table it_mseg into ls_xmseg
         with key line_id = ls_extdata-line_id.
    else.
      read table it_mseg into ls_xmseg
         with key smbln = ls_extdata-mblnr
                  smblp = ls_extdata-zeile
                  sjahr = ls_extdata-mjahr.
    endif.
    if sy-subrc is initial.
      move-corresponding ls_extdata to ls_migo_badi_example.
      move-corresponding ls_xmseg   to ls_migo_badi_example.
      append ls_migo_badi_example to lt_migo_badi_example.
    endif.
  endloop.
* The data from external detail screen can be saved now:
  check gt_extdata is not initial.
  call function 'MIGO_BADI_EXAMPLE_UPATE_DATA' in update task
    tables
      it_migo_badi_example = lt_migo_badi_example.
* The data from external header screen can be saved now:
  move-corresponding is_mkpf to gs_exdata_header.
  call function 'MIGO_BADI_EXAMPLE_UPDATE_HEAD' in update task
    exporting
      is_migo_badi_header_fields = gs_exdata_header.
endmethod.                    "IF_EX_MB_MIGO_BADI~POST_DOCUMENT
Hope this will help.
Please reward suitable points.
Regards
- Atul

Similar Messages

  • Need a badi or user exit which can trigger tr:AR31

    need a badi or user exit which can trigger tr:AR31 ,based on ANLA-AKTIV,ANLB-AFABG.AND COULD ANY ONE explain indetail

    There is no BADi for AR31 but you can use Exit:
    AINT0002                                Substitution of offsetting accounts in out- and inflow ...    
    AINT0003                                Defining percentage/amount of repayment by invest. support

  • BADI or User Exit for updating MSEG

    Hi,
       We are using ECC 6.0 and here is the scenario that we have to update custom fields into VBAP, LIPS and MSEG tables when these fields are entered on the sales order screen VA01,VA02.These field are added on this screen using Additional Data B screen.Also, These fields are there in VBAP and LIPS through Append Structure and MSEG through CI_COBL.Is there any BADI or USER EXIT for this.Thanks in Advance.
    Priya.

    Hi
    You can use exit ZXMBCU02 ( Function EXIT_SAPMM07M_001
    in SAP enhancement MBCF0002 ). Here also whtever changes you make to I_MSEG will be lost as MSEG is an importing parameter. You can do something like this.
    FIELD-SYMBOLS <F1> TYPE MSEG.
    DATA NAME(50) VALUE '(SAPMM07M)MSEG'.
    ASSIGN (NAME) TO <F1>.
    <F1>-KOSTL = 'XXXX'.
    ( In above example MSEG-KOSTL will be set as XXXX, you can change any of MSEG fields in above way. ).
    Cheers

  • BADI or User exit to update the data in a PO(ME22N or ME21N)

    Hi,
    I require a BADI or an user exit to update all the line items of a PO...
    Please let me know if there is a badi or user exit that triggers before the saving of the PO..and also updates the values of all the item data fields..
    Thanks in advance
    Regards
    Shiva

    Hi,
    we have checked above BADI;s but will not suffice the requirement;
    The requiement is
    While Creating PO(ME21N) and Changing PO(ME22N):
    When the user tries to Save the PO:
    All the line items should be accessible and can be editable.
    If the validation fails, error message should be displayed on
    the screen and user should be able to edit at that location.
    Please let me know if there is any other way or enhancement point for the same...
    Regards
    Shiva

  • Help  needed in BAdi and user-exits

    Hi ,
       Can any one send me the procedure how to find out user-exits and about BAdi's.
    Thanks in advance
    Uday

    hi Uday,
    Welcome to <b>SDN</b>
    here is the sample program to find the user exits
    Finding the user-exits of a SAP transaction code
    Finding the user-exits of a SAP transaction code
    Enter the transaction code in which you are looking for the user-exit
    and it will list you the list of user-exits in the transaction code.
    Also a drill down is possible which will help you to branch to SMOD.
    Written by : SAP Basis, ABAP Programming and Other IMG Stuff
                 http://www.sap-img.com/*
    report zuserexit no standard page heading.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
             tables : tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode obligatory.
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
       select single * from tadir where pgmid = 'R3TR'
                        and object = 'PROG'
                        and obj_name = tstc-pgmna.
       move : tadir-devclass to v_devclass.
          if sy-subrc ne 0.
             select single * from trdir where name = tstc-pgmna.
             if trdir-subc eq 'F'.
                select single * from tfdir where pname = tstc-pgmna.
                select single * from enlfdir where funcname =
                tfdir-funcname.
                select single * from tadir where pgmid = 'R3TR'
                                   and object = 'FUGR'
                                   and obj_name eq enlfdir-area.
                move : tadir-devclass to v_devclass.
              endif.
           endif.
           select * from tadir into table jtab
                         where pgmid = 'R3TR'
                           and object = 'SMOD'
                           and devclass = v_devclass.
            select single * from tstct where sprsl eq sy-langu and
                                             tcode eq p_tcode.
            format color col_positive intensified off.
            write:/(19) 'Transaction Code - ',
                 20(20) p_tcode,
                 45(50) tstct-ttext.
                        skip.
            if not jtab[] is initial.
               write:/(95) sy-uline.
               format color col_heading intensified on.
               write:/1 sy-vline,
                      2 'Exit Name',
                     21 sy-vline ,
                     22 'Description',
                     95 sy-vline.
               write:/(95) sy-uline.
               loop at jtab.
                  select single * from modsapt
                         where sprsl = sy-langu and
                                name = jtab-obj_name.
                       format color col_normal intensified off.
                       write:/1 sy-vline,
                              2 jtab-obj_name hotspot on,
                             21 sy-vline ,
                             22 modsapt-modtext,
                             95 sy-vline.
               endloop.
               write:/(95) sy-uline.
               describe table jtab.
               skip.
               format color col_total intensified on.
               write:/ 'No of Exits:' , sy-tfill.
            else.
               format color col_negative intensified on.
               write:/(95) 'No User Exit exists'.
            endif.
          else.
              format color col_negative intensified on.
              write:/(95) 'Transaction Code Does Not Exist'.
          endif.
    at line-selection.
       get cursor field field1.
       check field1(4) eq 'JTAB'.
       set parameter id 'MON' field sy-lisel+1(10).
       call transaction 'SMOD' and skip first   screen.
    *---End of Program
    To find the function exit
    REPORT ZV_FIND_EXIT NO STANDARD PAGE HEADING.
    TABLES : TSTC, TADIR, MODSAPT, MODACT, TRDIR, TFDIR, ENLFDIR.
    TABLES : TSTCT.
    DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA : FIELD1(30).
    DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
    PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY.
    SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'
    AND OBJECT = 'PROG'
    AND OBJ_NAME = TSTC-PGMNA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    IF SY-SUBRC NE 0.
    SELECT SINGLE * FROM TRDIR WHERE NAME = TSTC-PGMNA.
    IF TRDIR-SUBC EQ 'F'.
    SELECT SINGLE * FROM TFDIR WHERE PNAME = TSTC-PGMNA.
    SELECT SINGLE * FROM ENLFDIR WHERE FUNCNAME =
    TFDIR-FUNCNAME.
    SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'
    AND OBJECT = 'FUGR'
    AND OBJ_NAME EQ ENLFDIR-AREA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    ENDIF.
    ENDIF.
    SELECT * FROM TADIR INTO TABLE JTAB
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'SMOD'
    AND DEVCLASS = V_DEVCLASS.
    SELECT SINGLE * FROM TSTCT WHERE SPRSL EQ SY-LANGU AND
    TCODE EQ P_TCODE.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    WRITE:/(19) 'Transaction Code - ',
    20(20) P_TCODE,
    45(50) TSTCT-TTEXT.
    SKIP.
    IF NOT JTAB[] IS INITIAL.
    WRITE:/(95) SY-ULINE.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 'Exit Name',
    21 SY-VLINE ,
    22 'Description',
    95 SY-VLINE.
    WRITE:/(95) SY-ULINE.
    LOOP AT JTAB.
    SELECT SINGLE * FROM MODSAPT
    WHERE SPRSL = SY-LANGU AND
    NAME = JTAB-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    WRITE:/1 SY-VLINE,
    2 JTAB-OBJ_NAME HOTSPOT ON,
    21 SY-VLINE ,
    22 MODSAPT-MODTEXT,
    95 SY-VLINE.
    ENDLOOP.
    WRITE:/(95) SY-ULINE.
    DESCRIBE TABLE JTAB.
    SKIP.
    FORMAT COLOR COL_TOTAL INTENSIFIED ON.
    WRITE:/ 'No of Exits:' , SY-TFILL.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(95) 'No User Exit exists'.
    ENDIF.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(95) 'Transaction Code Does Not Exist'.
    ENDIF.
    AT LINE-SELECTION.
    GET CURSOR FIELD FIELD1.
    CHECK FIELD1(4) EQ 'JTAB'.
    SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
    CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    or
    1. in se11, goto table MODSAP
    View table contents
    2. in Type field, enter 'E' (for function exit)
    3. For that tcode, u should know the program name.
    eg. SAPLLMOB
    4. then type SAPLLMOB and execute
    or
    REPORT z34331_user_exit .
    TABLES : tstc, "SAP Transaction Codes
    tadir, "Directory of Repository Objects
    modsapt, "SAP Enhancements - Short Texts
    modact, "Modifications
    trdir, "System table TRDIR
    tfdir, "Function Module
    enlfdir, "Additional Attributes for Function Modules
    tstct. "Transaction Code Texts
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    START-OF-SELECTION.
    Validate Transaction Code
    SELECT SINGLE * FROM tstc
    WHERE tcode EQ p_tcode.
    Find Repository Objects for transaction code
    IF sy-subrc EQ 0.
    SELECT SINGLE * FROM tadir
    WHERE pgmid = 'R3TR'
    AND object = 'PROG'
    AND obj_name = tstc-pgmna.
    MOVE : tadir-devclass TO v_devclass.
    IF sy-subrc NE 0.
    SELECT SINGLE * FROM trdir
    WHERE name = tstc-pgmna.
    IF trdir-subc EQ 'F'.
    SELECT SINGLE * FROM tfdir
    WHERE pname = tstc-pgmna.
    SELECT SINGLE * FROM enlfdir
    WHERE funcname = tfdir-funcname.
    SELECT SINGLE * FROM tadir
    WHERE pgmid = 'R3TR'
    AND object = 'FUGR'
    AND obj_name = enlfdir-area.
    MOVE : tadir-devclass TO v_devclass.
    ENDIF.
    ENDIF.
    Find SAP Modifactions
    SELECT * FROM tadir
    INTO TABLE jtab
    WHERE pgmid = 'R3TR'
    AND object = 'SMOD'
    AND devclass = v_devclass.
    SELECT SINGLE * FROM tstct
    WHERE sprsl EQ sy-langu
    AND tcode EQ p_tcode.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    WRITE:/(19) 'Transaction Code - ',
    20(20) p_tcode,
    45(50) tstct-ttext.
    SKIP.
    IF NOT jtab[] IS INITIAL.
    WRITE:/(95) sy-uline.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    WRITE:/1 sy-vline,
    2 'Exit Name',
    21 sy-vline ,
    22 'Description',
    95 sy-vline.
    WRITE:/(95) sy-uline.
    LOOP AT jtab.
    SELECT SINGLE * FROM modsapt
    WHERE sprsl = sy-langu AND
    name = jtab-obj_name.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    WRITE:/1 sy-vline,
    2 jtab-obj_name HOTSPOT ON,
    21 sy-vline ,
    22 modsapt-modtext,
    95 sy-vline.
    ENDLOOP.
    WRITE:/(95) sy-uline.
    DESCRIBE TABLE jtab.
    SKIP.
    FORMAT COLOR COL_TOTAL INTENSIFIED ON.
    WRITE:/ 'No of Exits:' , sy-tfill.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(95) 'No User Exit exists'.
    ENDIF.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(95) 'Transaction Code Does Not Exist'.
    ENDIF.
    Take the user to SMOD for the Exit that was selected.
    AT LINE-SELECTION.
    GET CURSOR FIELD field1.
    CHECK field1(4) EQ 'JTAB'.
    SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
    CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    if u find it useful plz markt the points
    Regards,
    Naveen

  • User Exit for MSC2n( Batch) while doing a Good receipt for an order

    Is ther any exit to update the Date1 field(MCHA-FVDT1) in MSC2n( Batch) while doing a Good receipt for an order
    Thanks in advance

    Hi Varsha,
    Try these User Exit.
    BATCHCHK  Function Module Exits for Check in Case of Batch Change
    MBCFC010  Propose batch number on Inventory Management item scree
    SAPLCHVW  Batch where-used list
    SAPLMHD1  Shelf life expiration date
    SAPLV01D  Determining the initial status of a batch
    SAPLV01P  Function Module Exits at Time Batches Are Updated
    SAPLV01Z  CFCs for internal batch number assignment
    SAPLV1ZE  CFCs for external batch number assignment
    SAPLV1ZN  CFCs for batch valuation in VB_CREATE_BATCH
    Regards,
    Vijay

  • BADI OR USER EXIT AT THE TIME OF SAVING THE TCODE MIGO TO UPDAT FIELD LSMNG

    Hello Guru,
    I am using BAPI  BAPI_GOODSMVT_CREATE for GRN creation it is working fine. But i want to update DELIVERY NOTE QUANTITY (LSMNG) at the time of GRN Creation . This field is not provided in the BAPI .
    What i had done i had applied BADI MB_MIGO_BADI to update this field but this badi does not call at the time of saving ( THIS BADI ONLY CALL WHEN WE ARE USING MIGO TCODE AND ON THE SCREEN WE ARE PRESSING ENTER) . so i am not able to update the field (LSMNG).
    So i need a badi of user exit which can updates this field at the time of saving.
    there are exit which are updating other fields at the time of saving but not this one .
    Why i need the badi or userexit which will update the field at the time of saving because when we are using bapi only those badi or user exit are called which are
    used at the time of Saving.
    Kindly suggest any solution.
    Thankyou
    With Regards
    Shantanu Modi

    Hi
    <b>Here is the sample code...</b>
    method if_ex_mb_migo_badi~post_document .
      data: ls_migo_badi_example type migo_badi_exampl,
            lt_migo_badi_example type table of migo_badi_exampl,
            ls_extdata type migo_badi_example_screen_field,
            ls_xmseg   type mseg.
      field-symbols: <gt_extdata> type migo_badi_example_screen_field.
    * Transaction MIGO will now post a material document.
    * Any errors here MUST be issued as A-message (better: X-message)
    * Copy data from material document into internal table
      loop at gt_extdata into ls_extdata.
        if g_cancel is initial.
          read table it_mseg into ls_xmseg
             with key line_id = ls_extdata-line_id.
        else.
          read table it_mseg into ls_xmseg
             with key smbln = ls_extdata-mblnr
                      smblp = ls_extdata-zeile
                      sjahr = ls_extdata-mjahr.
        endif.
        if sy-subrc is initial.
          move-corresponding ls_extdata to ls_migo_badi_example.
          move-corresponding ls_xmseg   to ls_migo_badi_example.
          append ls_migo_badi_example to lt_migo_badi_example.
        endif.
      endloop.
    * The data from external detail screen can be saved now:
      check gt_extdata is not initial.
      call function 'MIGO_BADI_EXAMPLE_UPATE_DATA' in update task
        tables
          it_migo_badi_example = lt_migo_badi_example.
    * The data from external header screen can be saved now:
      move-corresponding is_mkpf to gs_exdata_header.
      call function 'MIGO_BADI_EXAMPLE_UPDATE_HEAD' in update task
        exporting
          is_migo_badi_header_fields = gs_exdata_header.
    endmethod.                    "IF_EX_MB_MIGO_BADI~POST_DOCUMENT
    Hope this will help.
    Please reward suitable points.
    Regards
    - Atul

  • Badi or user exit for FTR_CREATE for modifying the Payment Details

    Hi,
    I need a Badi or user exit that will modify the internal table for the "Payment Details" in transaction FTR_CREATE. Basically, instead of using the default entries in the "Payment Details", data from a Z custom table will overwrite the "Payment details" or the internal table containing the "Payment details". This should create entries in the Transparent Table VTBZV with the values fron the Z custom table.
    I'm trying to implement the BADI FTR_TR_GENERIC but I cannot find where and how to modify the original "Payment Details" entries. Or if its even possible to do this.

    Hi Ravi,
    I was trying to do that but I am not sure were to start. I tried to modify the contents of PI_PROXY_TRANSACTION->A_TAB_CASHFLOW using MODIFY <itab> but an error occured when I tried to activate it saying that the Class/Interdace Attribute is read-only and cannot be modified. Is there a Method that I need to do in order to modify the Attribute? (I'm not that familiar yet with Classes and Methods though)
    Also, just to test, I manually changed the contents of two internal tables containing the "Payment Details" data during debug mode. But after the program has ended its run and finally saved the data, the Table VTBZV was not updated with the manual data I introduced. So I'm not sure if the Badi FTR_TR_GENERIC (which is I'm implementing) really allows the "Payment Details" to be modified or if I'm modifying the correct internal table(s).

  • Badi or user-exit for QA32 after save

    I need a badi or user exit to execute exactly after save in QA32 ..I tried belows but they are not that i want
    QPL1_SUBSCREEN_ADDON
    INSPECTIONLOT_UPDATE
    Check these Exits:
    QEVA0004 Exit for changing information line in usage decision he
    QEVA0005 User subscreen for displaying add. data for usage decis
    QEVA0006 Entry to usage decision transactions
    QEVA0007 UD: Control of compulsory comment or long text presetti
    QEVA0008 Usage decision: Customer function key (e.g. to cancel U
    QEVA0009 UD: Predefinition of quantity to be posted to sample st
    QEVA0010 UD: Usage decision check
    QLCO0001 QM: Call alternative costs report from UD
    QSS10001 Possibility of calling a different print report

    Hello Tuncer,
    have you checked the BADI QE_SAVE? This is the last possible chance of changing data on saving a QM transaction and should be active in QA32.
    The only other solution I can come up with is a follow-up action i.e. for the UD-code
    Hope this information proves usefull.
    Regards
    Isabelle

  • Badi or user exit for allocation run (J3AT)

    hi friends,
    we r using the SAP AFS in that i need to put the sales order value check for F status material while saving the allocation run. for that i need the badi or user exit where i will get the values of all the F status mateial before i save the allocation run. so that i can perform the check on sales order values.
    regards,
    vicky.

    Hello vicky
    can you please tell me the note number that solved this problem, thanks.

  • BAdi or user exit after PR Creation

    HI All,
    We need a BADI or user exit which will trigger after the Purchase Requisition is Created and the PR no. is saved into the data base. I need to do some modifications based on the PR No.
    Waiting for your response.
    Amarnath

    Hi Amar,
    just go through the following link....
    Re: Purchase Requisition BADI/User Exit
    Thanks
    Ashu

  • BADI or user exit to enter a countable document

    hello i need a BADI or user exit to enter a countable document
    regards
    Dayana

    Hi,
    Just curious
    What exactly is a countable document? May be i can help then.
    Thanks,
    Praveen

  • User exit for updating delivery block of Sales order before Delivery

    Hi  Folks,
    Need to have an user exit for updating Delivery Block indicator for a Sales order Before creating its delivery
    I have got an exit in Program SAPMV45A
    MV50AFZ1
    FORM USEREXIT_REFRESH_DOCUMENT.
    that hits before processing the delivery block fro delivery (Correct me if i m wrong with this )
    Now i want now how to change the Delivery Block indicator of Sales order in that exit
    any FM available ?
    Thanks n regards
    Sonal...

    Hi  ,
    How did you solved this issue?
    I am having similar scenario in which while pressing the save button  delivery block should update if multiple schedule line exist.
    Tried by two different approaches in various user exit without any success.
    AFAIK we have two ways to achieve this functionality.
    1) Count the no of rows in vbep. If greater than 1 then multiple schedule line exist and we can assign the value to VBAK-LIFSK(delivery block) as per our requirement.
    This is not correct. If there are two line items both with single schedule line . This case total no lines in vbep will 2 and above condition will true which is incorrect.
    2) There is a indicator for multiple schedule line (VBAPD-EPMEH , xvbap-epmeh ) if it is check then multiple schedule line exist and we can assign the value to VBAK-LIFSK(delivery block) as per our requirement.
    If I write code in USEREXIT_SAVE_DOCUMENT_PREPARE.
    Multiple schedule line indicator is not populate so can not use 2nd approach.
    If I write code in  USEREXIT_SAVE_DOCUMENT it of no use as vbak is updated before reaching this user exit.
    If I write code in USEREXIT_MOVE_FIELD_TO_VBAK as this user exit is also called while pressing the enter key for this I have use
    the condition of fcode but it also fails in some condition.
    If fcode eq 'SICH'.
    Read table xvbap with key epmeh = 'X'.
    IF SY-SUBRC = 0.
    VBAK-LIFSK = '03'.
    Else.
    VBAK-LIFSK = ' '.
    Endif.
    Endif.
    Please help me to get the desired functionality working for all cases.
    1) One line item with multiple schedule line                                              
    2) Two line item with multiple schedule line                                             
    3) One line item having one schedule line and second one having multiple
    4)Two line item both with single schedule line.

  • Badi/ User Exit - to update item data on Post GR in MIGO

    Guyz,
    I have a requirement to update the value in ALAN1 , ALAN2 fields while posting GR in MIGO. And also I need to access the value of realted PO (ebeln) and line item(ebelp) and equipment number(or serial number) EQUNR filed ,while doing the coding for this enhanemnet.
    I was looking for Badi or User exit to meet the need. I have found a Badi MB_MIGO_ITEM_BADI, which I have implemented. I have put a break in the method and found that I can access all the value in the above mentioned field (IS_GOITEM, is the sturcture in the Badi signature) but one problem still persists.
    I can see only the last line item(ebelp), in IS_GOITEM, where I need to see all the line item, so that I can relate which Equnr is assigned to which Lineitem.
    Please tell me if you know any badi or user exit for this purpose.
    Regd,
    Anid 
    Points Guranteed
    Message was edited by:
            Anid

    Hi,
    we have checked above BADI;s but will not suffice the requirement;
    The requiement is
    While Creating PO(ME21N) and Changing PO(ME22N):
    When the user tries to Save the PO:
    All the line items should be accessible and can be editable.
    If the validation fails, error message should be displayed on
    the screen and user should be able to edit at that location.
    Please let me know if there is any other way or enhancement point for the same...
    Regards
    Shiva

  • BADI or User exit  for FB50 to update custom field in table COEP

    Hi all,
    i have added one custom field in table COEP through include CI_COBL .
    when i do posting through sales order(VA02) or purchase order(ME22n) that custom fields in COEP get updated with controlling document
    and through BADI AC_DOCUMENT i m updating that custom field in COEP.
    but when i do manual posting through FB50 controlling document is generated in COEP but i m not able to update that custom field
    because in this case BADI AC_DOCUMENT  is not get triggered.
    is there any BADI or User exit or enhancement spot for FB50 through which i can update that custom field in table COEP

    Hi Sandy,
    Thanks for u r reply,
    RFAVIS01 is not getting triggered through FB50
    and F180A001 ( EXIT_SAPLF048_001) is getting triggered but it doesnt contain COEP field in its parameter
    import - F180A_DOC_HEAD_TAB
                 F180A_DOC_ITEM_TAB
    changing - RELATION_TAB

Maybe you are looking for