Exit or Badi for Migo transaction for given condition

Hi,
I need exit or Badi for MIGO transaction for the following condition ( When the goods receipt for the PO is initiated, prior to posting the accounting document).
Please let me know
Regards
Ramesh

Hi
In rel 4.6C you can find these BADIs:
- MB_DOCUMENT_BADI or MB_DOCUMENT_UPDATE
and these exits: MBCF0002, MB_CF001
Max

Similar Messages

  • BADI FOR MIGO TRANSACTION

    HI EXPERTS,
    HOW CAN I ADD TWO SCREEN FIELDS FOR MIGO TRANSACTION?
    HOW CAN THE TWO SCREEN CAN VALIDATE DATA FROM PURCHASE ORDER NO ENTERED?
    CAN ANY ONE FIND A SOLUTION AND HELP ME THIS.

    Hi,
    You may create an implementation for the badi in SE19. Then the attributes will be available during runtime for the method, and you may use those to validate the data.
    The BADI MB_DOCUMENT_BADI and method MB_DOCUMENT_BEFORE_UPDATE also triggred during MIGO and the structures XMKPF, XMSEG contains the runtime values for the document.
    Regards,
    Renjith Michael.
    http://www.sourceveda.com/page4.htm

  • Enhancement for Automatic GI  for MIGO transaction

    Hey Folks ,
    My requirement is as :
    I wanted to do automatic GI of the goods once their GR is done and dat data should also be updated to sap tables   .Now a days we are using MIGO transaction for GI and GR both ,I have found a BADI for MIGO also but i am unable how to procede since GR and GI are in single trancation code .
    We are also not using PP module so backflushing wont work here  .
    Automatic GI should trigger after saving the GR entries  .
    Regards
    Edited by: swapnil kamble on Jan 13, 2010 5:53 PM
    Moderator message - Cross post locked
    Edited by: Rob Burbank on Jan 13, 2010 12:04 PM

    Hi Renjith,
    You can check the following link, Hope it helps you to some extent:
    Re: Implement unique serial number within a client
    And you can also try user exit EXIT_SAPLIPW1_001 for Automatic serial number assignment.

  • Bapi for migo transaction

    i have created a bapi to upload data for MIGO transaction.. (GOODS RECEIPT-->PURCHASE ORDER)
    i am getting the error " stock posting is not possible for this material "'.
    when i create directly, it is posted.. while uploading through the program it shows the above error.
    please suggest if anyone knows....
    Thanks in advance,
    Dhivya N.

    *& Report  ZR_MIGO_UPLOAD
    *& package name : zabap
    *& transport request number : MIDK901443
    *& program to upload goods movement
    REPORT ZR_MIGO_UPLOAD.
    ***DATA DECLARATION***
    type-POOLs:  icon.
    TYPES: BEGIN OF TY_GR_PO,
            EBELN(10) TYPE c ,     "'PO NUMBEr
            EBELP(10) TYPE c,     "PO ITEM NUMBER
    *       LGOBE TYPE LGOBE,     "STORAGE LOCATION DESCRIPTION
            LGORT(10) TYPE c,     "STORAGE LOCATION
            XFELD TYPE c,     "ITEM OK
            GERNR(10) TYPE c,     "SERIALNUMBER
            END OF TY_GR_PO.
    DATA: TA_GR_PO TYPE TABLE OF TY_GR_PO,    "TABLE FOR GOODS RECEIPT PURCHASE ORDER
           WA_GR_PO TYPE TY_GR_PO.
    DATA: BLDAT TYPE BLDAT,     "DOCUMENT DATE
            BUDAT TYPE BUDAT,     "POSTING DATE
            WEVER TYPE WEVER.     "VERSION FOR PRINTING GR SLIP
    ***BAPI DECLARATION***
    DATA: BEGIN OF GM_HEAD OCCURS 0.                    "Material Document Header Data
             INCLUDE STRUCTURE BAPI2017_GM_HEAD_01.
    DATA: END OF GM_HEAD.
    DATA: BEGIN OF GM_CODE OCCURS 0.
             INCLUDE STRUCTURE BAPI2017_GM_CODE.          "Assign Code to Transaction for Goods Movement
    DATA: END OF GM_CODE.
    DATA: BEGIN OF GM_RET OCCURS 0.
             INCLUDE STRUCTURE BAPI2017_GM_HEAD_RET.       "Material Document Number/Material Document Year
    DATA: END OF GM_RET.
    DATA: BEGIN OF GM_ITEM OCCURS 0.
             INCLUDE STRUCTURE BAPI2017_GM_ITEM_CREATE.    "Material Document Items
    DATA: END OF GM_ITEM.
    DATA: BEGIN OF GM_SER OCCURS 0.
             INCLUDE STRUCTURE BAPI2017_GM_SERIALNUMBER.    "Serial Number
    DATA: END OF GM_SER.
    data: BEGIN OF ta_bapireturn OCCURS 0.
            INCLUDE STRUCTURE BAPIRET2.
    data: END OF ta_bapireturn.
    ***declaration of excel file handling table***
    FIELD-SYMBOLS: <fs> type any.    "field symbol for alsm_excel
    DATA: TA_EXCEL TYPE TABLE OF ALSMEX_TABLINE,  "table to contain excel sheet values
           WA_EXCEL TYPE ALSMEX_TABLINE.
    ***declaration of other parameters***
    data:       V_brow type i VALUE    2,    "BEGIN OF ROW
                 V_bcol type i value   1,     "BEGIN OF COL
                 V_erow type i value 65536,   "END OF ROW
                 V_ecol type i value 256.     "END OF COLUMN
    DATA:  V_sear type string,
            V_INDEX TYPE i,
            V_tabix type sy-tabix,     "current line.
            v_lines type i.          "total number of records
    DATA: DATE TYPE DATS.
    ***SELECTION SCREEN***
    ***SELECTION SCREEN DESIGN***
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP 3.
    PARAMETERS: zCODE(2) TYPE C MATCHCODE OBJECT H_T158G,
                 zrefdoc type REFDOC,
                 version type WEVER.
    SELECTION-SCREEN skip 5.
    PARAMETERS: p_file type ibipparms-path.
    SELECTION-SCREEN SKIP 3.
    SELECTION-SCREEN END OF BLOCK b1.
    ***SELECTION SCREEN VALUE REQUEST***
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
       CALL FUNCTION 'F4_FILENAME'                                    "f4 help for file name
         EXPORTING
           PROGRAM_NAME  = SYST-CPROG
           DYNPRO_NUMBER = SYST-DYNNR
           FIELD_NAME    = 'P_FILE'
         IMPORTING
           FILE_NAME     = P_FILE.
    ***SELECTION SCREEN EVENT***
    AT SELECTION-SCREEN.                                 "validation
       if p_file <> ''.
         V_sear = p_file.
         SEARCH V_sear for '.xls'.
         if sy-subrc <> 0.
           message 'please provide excel file. it is not valid' type 'E'.
         ENDIF.
       ENDIF.
    INITIALIZATION.
    *   DATE = '17.04.14'.
       GM_HEAD-PSTNG_DATE = SY-DATUM.
       GM_HEAD-DOC_DATE   = SY-DATUM.
       gm_head-pr_uname = sy-uname.
    ***START OF SELECTION***
    START-OF-SELECTION.
       gm_head-REF_DOC_NO = zrefdoc.
       gm_head-VER_GR_GI_SLIP = version.
       GM_CODE-GM_CODE = zCODE.
       PERFORM EXCEL_UPLOAD.
       PERFORM EXCEL_CONVERSION.
       PERFORM NO_RECORDS.
    END-OF-SELECTION.
       PERFORM BAPI_ASSIGNMENT.
       PERFORM BAPI_FM.
    *&      Form  EXCEL_UPLOAD
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM EXCEL_UPLOAD .
       CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
         EXPORTING
           FILENAME                = P_FILE
           I_BEGIN_COL             = V_BCOL
           I_BEGIN_ROW             = V_BROW
           I_END_COL               = V_ECOL
           I_END_ROW               = V_EROW
         TABLES
           INTERN                  = TA_EXCEL
         EXCEPTIONS
           INCONSISTENT_PARAMETERS = 1
           UPLOAD_OLE              = 2
           OTHERS                  = 3.
    ENDFORM.                    " EXCEL_UPLOAD
    *&      Form  EXCEL_CONVERSION
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM EXCEL_CONVERSION .
       if ta_excel is NOT INITIAL.
         sort ta_excel by row col.
         clear wa_excel.
         clear wa_GR_PO.
         LOOP AT ta_excel INTO wa_excel.
           move wa_excel-col to v_index.
           ASSIGN COMPONENT v_index OF STRUCTURE wa_GR_PO to <fs>.
           if sy-subrc = 0.
             move wa_excel-value to <fs>.
           ENDIF.
           at END OF row.
             append wa_GR_PO to ta_GR_PO.
             clear wa_GR_PO.
           ENDAT.
         ENDLOOP.
       else.
         MESSAGE 'no data for conversion' type 'I'.
       ENDIF.
    ENDFORM.                    " EXCEL_CONVERSION
    *&      Form  NO_RECORDS
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM NO_RECORDS .
       DESCRIBE TABLE ta_GR_PO LINES v_lines.
       if v_lines = 0.
         MESSAGE 'NO RECORDS TO UPLOAD' TYPE 'E'.
       ENDIF.
    ENDFORM.                    " NO_RECORDS
    *&      Form  BAPI_ASSIGNMENT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM BAPI_ASSIGNMENT .
       IF TA_GR_PO IS NOT INITIAL.
         LOOP AT TA_GR_PO INTO WA_GR_PO.
           gm_item-PO_NUMBER = wa_gr_po-ebeln.
           GM_ITEM-STGE_LOC = WA_GR_PO-LGORT.
           GM_ITEM-PO_ITEM = WA_GR_PO-EBELP.
           GM_ITEM-NO_MORE_GR = 'X'."WA_GR_PO-XFELD'.
    *      GM_SER-SERIALNO = WA_GR_PO-GERNR.
           gm_item-NO_MORE_GR =  1.
           gm_item-ENTRY_QNT = 2.
           gm_item-MOVE_TYPE = 101.
    *      gm_item-MVT_IND = 'B'.
           gm_item-plant = 'P001'.
           gm_item-move_stloc = 'FG01'.
    *      GM_ITEM-SPEC_STOCK = 'K'.
           APPEND GM_ITEM.
           APPEND GM_SER.
         ENDLOOP.
        ELSE.
          MESSAGE 'DATA IS NOT UPLOADED' TYPE 'I'.
        ENDIF.
    ENDFORM.                    " BAPI_ASSIGNMENT
    *&      Form  BAPI_FM
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM BAPI_FM .
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
       EXPORTING
         GOODSMVT_HEADER               = gm_head
         GOODSMVT_CODE                 = gm_code
    *   TESTRUN                       = ' '
    *   GOODSMVT_REF_EWM              =
      IMPORTING
        GOODSMVT_HEADRET              = gm_ret
    *   MATERIALDOCUMENT              =
    *   MATDOCUMENTYEAR               =
       TABLES
         GOODSMVT_ITEM                 = gm_item
        GOODSMVT_SERIALNUMBER         =  gm_ser
         RETURN                        = ta_bapireturn
    *   GOODSMVT_SERV_PART_DATA       =
    *   EXTENSIONIN                   =
    if ta_bapireturn-type = 'S'.
         write:/ icon_green_light as icon,
                 'success: Material document',gm_ret-mat_doc,  'is created for the GOODS RECEIPT- po number : ', wa_gr_po-ebeln,
               / 'reason:' , ta_bapireturn-message.
    ELSEIF ta_bapireturn-type = 'E'.
         write:/ icon_red_light as icon,
                 'error: Material document',gm_ret-mat_doc , 'is not created for the GOOD RECEIPT- po number : ', wa_gr_po-ebeln,
               / 'reason:' , ta_bapireturn-message.
    ENDIF.
    ENDFORM.                    " BAPI_FM

  • Validation of profit center for MIGO transaction

    Hi!
    For MIGO transaction I want to restrict users of one profit center to post for another profit center.
    I have tried it with GGB0 , OB28 as well as OKC7 but i was unable to do it.
    please help me out with details.
    thanks
    Amit

    hi! Eli Klovski 
    Validation in GGB0 is set under financial accounting head and under line item.
    In the prerequisite of  GGB0 i have mentioned BSEG-KOSTL ='HO' where HO is the cost center.
    under check subheader I have mentioned SYST-UNAME = 'UDAY' where UDAY is the user name which is set for cost center HO and  the message is set as 'UDAY is set for HO'.
    message type is 'E'.
    thanks
    Amit

  • In Which Table  I Will get Reference Document for MIGO Transaction

    Hai Experts
    In Which Table  I Will get Reference Document for MIGO Transaction
    Regards
    Jagadish

    Hi,
    The 2 main tables for this MIGO Transaction are ,
    MKPF - Header table
    MSEG -  Item table
    Reference Document is XBLNR.
    Regards,
    Raj.

  • How to create an RFC for MIGO transaction?

    How to create an RFC for MIGO transaction?
    I want my RFC to accept all details as accepted in MIGO transaction.
    For the entered PO no, display the materials against it and allow user to enter the quantity for the same.
    Then the user should be able to post the PO by executing the RFC.
    Kindly revert asap.
    Thanx in advance,
    Bhakti

    Put good movement header data in structure header
      l_header-pstng_date = sy-datum.
      l_header-doc_date = sy-datum.
      l_header-ver_gr_gi_slip = space.
    Assign goods movement code
      l_wa_goodsmvt_code-gm_code = c_gm_code.
    Add material, plant, and other line item details in
    goods movement item table
      l_wa_goodsmvt_item-material = l_wa_selected-matnr.
      l_wa_goodsmvt_item-plant = l_wa_selected-werks.
      l_wa_goodsmvt_item-stge_loc = l_wa_selected-lgort.
      l_wa_goodsmvt_item-batch = l_wa_selected-charg.
      l_wa_goodsmvt_item-move_type = l_wa_selected-mov_type.
      l_wa_goodsmvt_item-entry_qnt = l_wa_selected-deviceid.
      l_wa_goodsmvt_item-entry_uom = l_wa_selected-meins.
      l_wa_goodsmvt_item-move_plant = l_wa_selected-zwerks.
      l_wa_goodsmvt_item-move_stloc = l_wa_selected-zsloc.
      l_wa_goodsmvt_item-move_batch = l_wa_selected-rec_batch.
      l_wa_goodsmvt_item-serialno_auto_numberassignment = space.
      APPEND l_wa_goodsmvt_item TO l_i_goodsmvt_item.
      CLEAR l_wa_goodsmvt_item.
      l_wa_serial_num-matdoc_itm = l_c_mat_doc_item.
      l_wa_serial_num-serialno = l_wa_selected-sernr.
      APPEND l_wa_serial_num TO l_i_serial_num.
      CLEAR l_wa_serial_num.
    To call BAPI BAPI_GOODSMVT_CREATE to transfer material of transfer
    type one step
      CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
        EXPORTING
          goodsmvt_header       = l_header
          goodsmvt_code         = l_wa_goodsmvt_code
        IMPORTING
          goodsmvt_headret      = l_goodsmvt_headret
        TABLES
          goodsmvt_item         = l_i_goodsmvt_item
          goodsmvt_serialnumber = l_i_serial_num
          return                = l_i_return.
    cheers
    Aveek

  • User Exit after saving of MIGO Transaction

    hi all,
        I need User Exit for this requirement.
          I will do MIGO Transaction for Goods Receipt. at this goods receipt no will be generated and i will update that GR no to RESB Table.       For this i need user exit in MIGO Transaction only.
    Please suggest is there any user exit for this after saving of migo transaction.
    Thanx & Regads
    Rami Reddy

    Hi
    Check the enhancements
    MBCF0010
    MBCF0007
    Regards,
    Raghu.

  • Mail Alert to Managing Director for every transaction for customer & vendor

    Dear Gurus,
    Please let me know how & where to do setting for mail alert to Managing Director for every transaction for customer & vendor,
    Like for Customer: Sales Order, PGI, Invoice, Payment receipt................
           for Vendor: Purchase Order, GR, Miro, Outgoing Payment for Vendor,
    Thanks in advance,
    Sai

    Hi Sai
    If you want to set the mail alert to Managing Director for every transaction for customer & vendor Like for Customer Sales Order, PGI, Invoice , PO  then maintain at  all levels  output type and at all levels for those output types  assign the authorization as Managing Director
    But for what purpose you want to assign the authorization member at all levels, what is your requirement?
    Regards
    Srinath

  • Create  of (demo for)OVAI (transaction for create entries for each vendor)

    hi all,
    can anyone plz tell me how 2 create (demo for)OVAI (transaction for create entries for each vendor)
    thans & regards,
    srinivas reddy.

    hiii
    yes you can call transaction like that..take tcode in that parameter then you can use it in your program with statement like
    call transaction (variable)..in background process.
    regards
    twinkal

  • Want Transaction History for Particular Transaction for Particular User. .

    Hello Friends,
    I have one query.
    I want to get detailed Transaction History for Particular Transaction for Particular User_Id for particular Time/Date period, with his/her Terminal ID info ,also.
    One USER_ID in SAP Server is shared among 6-7 people to do their work.
    So, I want to know that from which terminal that user has run that transaction to do its work on particular Date/time.
    I tried STAT, STAD, ST03N,  but did not help me very much to get deep level information.
    May be, i am missing something to get the solution for this kind of situation.
    Any Solution for this kind of Situation ?
    I am waiting for your valuable Response.
    Regards,
    Bhavik Shroff

    I want to get detailed Transaction History for Particular Transaction for Particular User_Id for particular Time/Date period, with his/her Terminal ID info ,also.
    ST01 will give you the Result after switching on the TRACE. I want to get Transaction History for a particular DAY/Weeks/Month .
    e.g.
    One User Id is shared among 6-7 people. One of the person did something using FB08 transaction on last 08/07/2008. But, as the User ID is shared among several User, How can i know the person who did that change and from which place/Terminal.
    See,
    I have the following information to fire the search.
    -> User Id information
    -> which transaction he/she used to do that work
    -> When he did the change for something (means i know the exact date)
    But , I want to know ,from which Terminal he/she executed that transaction, as the User ID is shared among several people.
    You tell me the way ,so that i can have total required information for this kind of situation.
    If  i am wrong at any step , then let me know.
    Regards,
    Bhavik Shroff.

  • Need a BADI/ exit for MIGO transaction

    Hi,
    I need a BADI / exit for tha transaction MIGO. My requirement is before displaying the materials in the item tab, check whether the user has authorization for that material or not. If he has no authorization, give error message. This should be done for all types of documents.
    Please let me know if you need more information.
    thanks,
    Kishore

    hi,
    You can have the authorization for the inventory management via authorisation..
    Check the path: SPRO --> MM --> Purchasing --> Inv. management nad physical inventory --> Authorization management  --> Maintain roles and assign users....
    Regards
    Priyanka.P

  • BADI or userexit for MIGO transaction

    hi All,
                  I have a requirement to enhance the MIGO transaction subscreen 304.
    In subscreen 304 there is only check box ITEM_OK.
    In the MIGO at the bottom of the screen ,whenver we click on item_OK check box and press enter, in the line item it will automatically checks.
    After the first check it has to get disabled in the screen.
    I am trying to find the BADI for this..still trying
    Please let me know how to achieve this functionality.

    Hi,
    Try below BAdi's :
    MB_MIGO_ITEM_BADI or
    MB_MIGO_BADI
    MB_DOCUMENT_BADI.
    Also these will be of help furthur.
    Enhancement/ Business Add-in Description
    Enhancement
    MB_CF001 Customer Function Exit in the Case of Updating a Mat. Doc.
    MBCF0011 Read from RESB and RKPF for print list in MB26
    MBCF0010 Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0009 Filling the storage location field
    MBCF0007 Customer function exit: Updating a reservation
    MBCF0006 Customer function for WBS element
    MBCF0005 Material document item for goods receipt/issue slip
    MBCF0002 Customer function exit: Segment text in material doc. item
    Business Add-in
    MB_RESERVATION_BADI MB21/MB22: Check and Complete Dialog Data
    MB_QUAN_CHECK_BADI BAdI: Item Data at Time of Quantity Check
    MB_PHYSINV_INTERNAL Connection: Core Inventory and Retail AddOn
    MB_MIGO_ITEM_BADI BAdI in MIGO for Changing Item Data
    MB_MIGO_BADI BAdI in MIGO for External Detail Subscreens
    MB_DOC_BADI_INTERNAL BAdIs when Creating a Material Document (SAP Internal)
    MB_DOCUMENT_UPDATE BADI when updating material document: MSEG and MKPF
    MB_DOCUMENT_BADI BAdIs when Creating a Material Document
    MB_CIN_MM07MFB7_QTY Proposal of quantity from Excise invoice in GR
    MB_CIN_MM07MFB7 BAdI for India Version exit in include MM07MFB7
    MB_CIN_LMBMBU04 posting of gr
    MB_CHECK_LINE_BADI BAdI: Check Line Before Copying to the Blocking Tables
    ARC_MM_MATBEL_WRITE Check Add-On-Specific Data for MM_MATBEL
    ARC_MM_MATBEL_CHECK Check Add-On-Specific Criteria for MM_MATBEL
    hope this will help you.
    Regards,
    Kiran

  • Exit and Serial number for MIGO transaction

    Hello All,
    I am facing an issue with MIGO transaction. I have to use FM 'ITOB_SERIALNO_READ_SINGLE', and for using this I want two values viz.. Material number and Serial Number..
    I have Material number directly flowing but Serial Number is not present. As per my knowledge, To get serial number I can use two methods:
    One is call FM 'GET_SERNOS_OF_DOCUMENT' where I need to Pass value of MBLNR to get the serial number. This MBLNR is not flowing in the code.
    Second is directly fetch data from SER03 table and then OBJK table to get Serial Number. Here again we need MBLNR to fetch data from SER03 table which is not present.
    I am using User Exit 'IQSM0007' for my purpose. I have checked other exits as well for MIGO where I can directly get Serial number generated but haven't got any.
    Please revert if you know anything in this regard.
    Thanks,
    Harjeet Grover

    Hello Reddy,
    I have tried them already and want you to know that this BADI will trigger before document posting and not after that.
    As of now I am coding like I am going to this BADI and importing internal table MSEG which has values to memory id. Then I am going to last BADI used for SERVICES and importing this table there. This last BADI triggers after the document is posted.
    I am here since I want a better solution, if it is?
    Regards,
    Harjeet

  • User exit for MIGO transaction

    I'm checking for user exit in Migo transaction
    what I want to do is when I enter the PO# and try to save all the details ,it must trigger a pop-up(customized transaction) thru USEREXIT.
    Thanks in advance.

    Hello Hema
    These are the "old" customer-exits on ECC 5.0:
    MBCF0002            Customer function exit: Segment text in material doc. item
    MBCF0005            Material document item for goods receipt/issue slip
    MBCF0006            Customer function for WBS element
    MBCF0007            Customer function exit: Updating a reservation
    MBCF0009            Filling the storage location field
    MBCF0010            Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0011            Read from RESB and RKPF for print list in  MB26
    MB_CF001            Customer Function Exit in the Case of Updating a Mat. Doc.
    Regards
      Uwe

Maybe you are looking for