Hiding Custom Fields in Migo

Hi All,
I have customized the MIGO screen by adding a subscreen with two fields using MB_migo_Badi and the data entered in these fields is saving in a custom data base table using the POST_DOCUMENT method of the BADI.
I Need to write the code to display these values in the MIGO, only while displaying the
"Goods Receipt - Purchase Order" & for the rest, fields need to be hidden..
Please help me on how to solve this problem by suggesting the method or sample code?
Thanks & Regards,
Ravi S.

Hi,
Thanks For the Reply.
Actually i knew that procedure.But Looking for some sample code to be written in Loop & Endloop.
Like
Loop at screen.
Here where can i fieldnames for Goods Receipt-Purchase Order in a structure so that i can write
if structurename-Action = 'a01' and structurename-Refdoc = 'r01'
screen-active = 0.
Endloop.
Also Need to Separate these fields based on Company Code.
Any Help would be appreciated.
Thanks & regards,
Ravi S.
Edited by: Ravi chandra on Jun 20, 2009 10:39 AM

Similar Messages

  • Custom fields in migo table control not updating

    hi ,
    This is to have your valuable suggestion , wrt , following issue..
    In transaction MIGO , i have to add two fields uebto and untto in table control .
    I am able to add them in table control, but some how not able to pick data for these fields .
    error coming is :
    " System error: Incorrect Customizing for field
    ZZUEBTO".
    if any face such type of issue , answer me .
    Thanx,
    jeet

    Hi,
    Thanks for your reply.  I have added the custom fields in the item detail.  But the customer wants the custom fields in the table view also.
    Is there any screen exit available to modify the table control of MIGO?
    Thanks.

  • Hiding Customized fields through Config - T88M

    Hi,
    My system parameter is : ECC 6.0.
    As per requirement in my project, I have customized IT7 and added a new field - Annual Time . I am populating that field by default using some logic which wrote in the PBO of the newly created module pool and everything is working fine !!
    Query :
    Business wants this field to be displayed only for Ausy employees and not for Indonesian employees AND they want this to be done through config only. How can I do that ?
    What I have tried :
    I can very well go to the PBO and hide this screen reading the WERKS from PA1 for that employee but this is not what is reqd.
    They require to hide this using Infotype screen modification.
    When I go to SM30 and maintain the Infotype screen modification view : V_T88M and give the newly created module pool name : ZMPA0007 ...it doesnt list down the new;y created fields in this screen !! :-s
    So my query is - Is T88M can Only be used to hude standard fields and Not custom fields ?? If it can be used for custom fields also, please let me know how can I see my field there in the list ??
    Note : After creating the new field in PM01, I have assigned it to the standard MP00007 screen 2000. So now for all employees this std screen is getting displayed and also my little field at the end.
    I tried to modify the feature for this std screen and then I tried to create a new variable based on WERKS and assign some other screen 3000 for all employees and 2000 only for Indonesian employees, but it is not working ... at all the times the screen 2000 with my newly added field is getting displayed.
    What am I doing wrong or what do I need to do extra ?? or is it not possible to hide custom fields through Config I have to do it using coding only ??
    Experts, please put some light !!
    Many Thanks,
    Cheers.

    Hi Sourav,
    In table T588M create two entries for MP000700 with different variable key say according to the molga of the country one aus(xx) and other bagladesh(yy).
    Now make the field visible/invisible depending on the country req.
    Now go inside the entry, click on feature and give feature name as P0007. Now change the feature according and return the variable key what you assigned to the module pool.
    Take the help of functional people to change the feature.
    Br/Manas

  • Add custom field in MIGO

    Hi,
       when i try to add a new tab in the T-code MIGO my new tab added successfully but when i click on "Item OK" it don't show the Excise Invoice tab. i am using MB_MIGO_BADI badi. please help me how to solve this issue?
    Mukesh

    my issue is solved by using the standard class "CL_EXM_IM_MB_MIGO_BADI" Class.

  • Disabling fields in migo

    Hi Friends ,
    I want to disable line item fields like quantity for a given line incase of outbound delivery in migo. Please help me out how to do it using the badi MB_MIGO_BADI.

    Hi Madhvi,
    Go through the following links.
    Hiding Custom Fields in Migo
    How to modify items fields with MB_MIGO_BADI or enhancement point
    Hope this helps.
    Regards,
    Manish

  • Updating custom fields to MSEG through MIGO

    Hi,
    I got a requirement to add a tab with custom fields in MIGO transaction, which I did using BADI MB_MIGO_BADI
    and requirement also says to extend table MSEG with custom fields and store the values in MSEG.
    I have gone through example implimentation and updated MSEG in similar way. IS it a good approach to extend MSEG table? I read one thread says we can't extend MSEG table with custom fields. is it true?
    Goods receipt will be done only through MIGO to restrict inconsistensies in material documents.
    One more question.
    How to restrict the additional custom screen to be displayed for particular action in MIGO?
    Thanks

    Hi,
    Yes you can do it, i did it with the same BADI method to update to custom fields in MSEG table through MIGO transaction.
    Here is the steps you need to follow :-
    1. Create a append structure or you can use the CI include to add fields in MSEG table. I did it though append structure only.
    2. Create a implementaion of MB_MIGO_BADI through SE18 or SE19 transaction.
    3. Inplement the interface IF_EX_MB_MIGO_BADI methods, the details of interface implementaions are described below:-
    Attribute
    GV_VEND_LOT     Instance Attribute     Public     Type     CHAR1     'X' : Purchase order Type NB (Standard PO) found                                                                               
    GIT_MSEG     Instance Attribute     Public     Type     TY_T_MSEG     Table MSEG                                                                               
    GV_BSART     Instance Attribute     Public     Type     ESART     Purchasing Document Type                                                                               
    GV_GRMODE     Instance Attribute     Public     Type     CHAR1     X: Document is of Type GR with PO and Y : Document with Mat.                                                                               
    GWA_MSEG     Instance Attribute     Public     Type     MSEG     Document Segment: Material                                                                               
    GC_CLASS_ID     Constant     Private     Type     MIGO_CLASS_ID     Class ID for MIGO Components (External Detail Screen)     'ZIMP_MB_MIGO_BADI'
    GV_LINE_ID     Instance Attribute     Private     Type     GOITEM-GLOBAL_COUNTER     LINE_ID of Line Displayed in Detail                                                                               
    GIT_LINE_ID     Instance Attribute     Private     Type     /KYK/TRG_NUMC6     Range Table: NUMC6                                                                               
    GWA_LINE_ID     Instance Attribute     Private     Type     /KYK/SRG_NUMC6     Range Structure: NUMC6                                                                               
    GC_X     Constant     Private     Type     CHAR1     'X' : Select     'X'
    GC_BSART     Constant     Private     Type     ESART     Purchasing Document Type     'NB' 
    IF_EX_MB_MIGO_BADI~INIT
    METHOD if_ex_mb_migo_badi~init.
      IF gv_grmode = gc_x.
    Regristration of BAdI-Implementation:
    Append class attribute GF_CLASS_ID (='ZIMP_MB_MIGO_BADI') to
    regristration table.
        APPEND gc_class_id TO ct_init.
      ENDIF.
    ENDMETHOD.
    IF_EX_MB_MIGO_BADI~PBO_DETAIL
    METHOD if_ex_mb_migo_badi~pbo_detail.
    Lines added to do display Vendor lot tab in the item level
    Only for Purchase order type NB (Standard PO)
    Local constants
      DATA : lc_cprog TYPE sycprog VALUE 'ZMMM_MIGO_VENDOR_COO',
             lc_dynnr TYPE sydynnr VALUE '0100'.
            lc_heading TYPE migo_badi_heading VALUE 'Vendor Lot Number'.
    Read Line item from buffer table
    if sy-subrc =0 then only display vendor lot tab
      READ TABLE git_line_id WITH KEY low = i_line_id
      BINARY SEARCH TRANSPORTING NO FIELDS.
      IF sy-subrc EQ 0 AND ( gv_grmode IS NOT INITIAL
        AND gv_vend_lot = gc_x ).
        e_cprog   = lc_cprog. " Program name
        e_dynnr   = lc_dynnr. " Screen number
        e_heading = text-001. " Tab Heading
        gv_line_id = i_line_id. " line Item
      ENDIF.
    ENDMETHOD.
    IF_EX_MB_MIGO_BADI~PAI_DETAIL
    METHOD if_ex_mb_migo_badi~pai_detail.
      IF gv_grmode IS NOT INITIAL AND gv_vend_lot = gc_x.
    'X':  The Method LINE_MODIFY Is Processed
        e_force_change = gc_x.
    Reset the Flag for next line item selection
        CLEAR gv_vend_lot.
      ENDIF.
    ENDMETHOD.
    IF_EX_MB_MIGO_BADI~LINE_MODIFY
    METHOD if_ex_mb_migo_badi~line_modify.
      IF cs_goitem-ebeln IS NOT INITIAL.
    Look for Purchase order number from EKKO and get the Order Type.
    If the Order type is NB (Standard PO) then set the flag GV_VEND_LOT.
        SELECT SINGLE bsart FROM ekko INTO gv_bsart
          WHERE ebeln = cs_goitem-ebeln.
        IF sy-subrc EQ 0 AND gv_bsart = gc_bsart.
          gv_vend_lot = gc_x.
          IF NOT i_line_id IS INITIAL.
            gwa_line_id-low = i_line_id.
          ENDIF.
          IF git_line_id IS NOT INITIAL.
            SORT git_line_id BY low.
          ENDIF.
          READ TABLE git_line_id WITH KEY
          low = i_line_id BINARY SEARCH
          TRANSPORTING NO FIELDS.
          IF sy-subrc <> 0 AND gwa_line_id IS NOT INITIAL.
            APPEND gwa_line_id TO git_line_id.
          ENDIF.
        ELSE.
          CLEAR gv_vend_lot.
        ENDIF.
        CLEAR : gv_bsart,
                gwa_line_id.
      ENDIF.
    *************Buffer MSEG table with custom fields **********************
    *Item is Adopted in Document
      IF NOT cs_goitem-take_it IS INITIAL.
        CLEAR gwa_mseg.
        MOVE-CORRESPONDING cs_goitem TO gwa_mseg.
        APPEND gwa_mseg TO git_mseg.
      ENDIF.
    ENDMETHOD.
    METHOD if_ex_mb_migo_badi~post_document.
    Delete duplicate line item if avail in GIT_MSEG table
      SORT git_mseg BY zeile.
      DELETE ADJACENT DUPLICATES FROM git_mseg COMPARING zeile.
    To access these valu in Ennhancement Spot ZENHIMPL_MM_MB_MIGO_BADI_MB
      EXPORT : git_mseg FROM git_mseg TO MEMORY ID 'GIT_MSEG',
               gv_grmode FROM gv_grmode TO MEMORY ID 'GV_GRMODE'.
    Refresh all class content
      CLEAR : gv_vend_lot,
              gv_bsart,
              gv_grmode,
              gwa_mseg,
              gv_line_id,
              gwa_line_id.
      REFRESH : git_mseg,
                git_line_id.
    ENDMETHOD.    
    METHOD if_ex_mb_migo_badi~mode_set.
    Local Constants
      DATA : lc_a01 TYPE goaction VALUE 'A01', " Goods Receipt
             lc_r01 TYPE refdoc VALUE 'R01',   " Purchase order
             lc_a04 TYPE goaction VALUE 'A04', " Display
             lc_r02 TYPE refdoc VALUE 'R02',   " Material Document
             lc_y   TYPE char1 VALUE 'Y'.      " Indicator for Display material document
    Set mode variable for Good Receipt with Purchase order
      IF i_action = lc_a01 AND i_refdoc = lc_r01.
        gv_grmode = gc_x.
      ELSEIF i_action = lc_a04 AND i_refdoc = lc_r02.
    Set mode variable for Good Receipt with Purchase order
        gv_grmode = lc_y.
      ELSE.
        CLEAR gv_grmode.
      ENDIF.
    ENDMETHOD.
    METHOD if_ex_mb_migo_badi~publish_material_item.
      IF ls_goitem-ebeln IS NOT INITIAL.
    Look for Purchase order number from EKKO and get the Order Type.
    If the Order type is NB (Standard PO) then set the flag GV_VEND_LOT.
    This method is used to material document display
        SELECT SINGLE bsart FROM ekko INTO gv_bsart
          WHERE ebeln = ls_goitem-ebeln.
        IF sy-subrc EQ 0 AND gv_bsart = gc_bsart.
          gv_vend_lot = gc_x.
          IF NOT ls_goitem-zeile IS INITIAL.
            gwa_line_id-low = ls_goitem-zeile.
          ENDIF.
          IF git_line_id IS NOT INITIAL.
            SORT git_line_id BY low.
          ENDIF.
          READ TABLE git_line_id WITH KEY
          low = ls_goitem-zeile BINARY SEARCH
          TRANSPORTING NO FIELDS.
          IF sy-subrc <> 0 AND gwa_line_id IS NOT INITIAL.
            APPEND gwa_line_id TO git_line_id.
          ENDIF.
        ELSE.
          CLEAR gv_vend_lot.
        ENDIF.
        CLEAR : gv_bsart,
                gwa_line_id.
      ENDIF.
    ENDMETHOD.
    METHOD modify_mseg.
      DATA : lwa_mseg TYPE mseg.
    Check if buffer MSEG table is not initial
    and mode is GR with PO then only update XMSEG from GIT_MSEG
      IMPORT : git_mseg TO git_mseg FROM MEMORY ID 'GIT_MSEG',
               gv_grmode TO gv_grmode FROM MEMORY ID 'GV_GRMODE'.
      IF git_mseg IS NOT INITIAL
         AND gv_grmode = gc_x.
        SORT git_mseg BY zeile.
        LOOP AT xy_mseg INTO lwa_mseg.
    Identify the record and update XMSEG
          CLEAR gwa_mseg.
          READ TABLE git_mseg
          INTO gwa_mseg
          WITH KEY zeile = lwa_mseg-zeile BINARY SEARCH.
          IF sy-subrc EQ 0.
            MODIFY xy_mseg FROM gwa_mseg
            TRANSPORTING zvendlot zcoo WHERE zeile = gwa_mseg-zeile.
          ENDIF.
          CLEAR lwa_mseg.
        ENDLOOP.
    Reset buffer table and mode
        REFRESH git_mseg.
        CLEAR gv_grmode.
      ENDIF.
    Free memory ids
      FREE MEMORY ID : 'GIT_MSEG',
                       'GV_GRMODE'.
    ENDMETHOD.
    4. Now go to the function module MB_POST_GOODS_MOVEMENT andcall the method modify_msegfrom the implemented class ZCL_IM__MB_MIGO_BADI.
    ENHANCEMENT 110  ZENHIMPL_MM_MB_MIGO_BADI_MB.    "active version
    Data declaration for badi method
      Data : lo_ZCL_IM__MB_MIGO_BADI TYPE REF TO ZCL_IM__MB_MIGO_BADI.
      CREATE OBJECT lo_ZCL_IM__MB_MIGO_BADI.
      if sy-subrc eq 0 and xmseg[] is NOT INITIAL.
        CALL METHOD lo_zcl_im__mb_migo_badi->modify_mseg
          CHANGING
            xy_mseg = xmseg[].
      endif.
    ENDENHANCEMENT.   
    Regards,
    Dhirendra Pandit

  • Hide customer fields

    Hi all,
    I am new in programming Badi's. Does anybody got an example code for hiding customer fields in a shopping cart?
    I know i need to use badi: BBP_CUF_BADI_2, method "modify screen".
    My customer field is "ztempleet" and is maintaint as a component in structure BBP_PDS_SC_ITEM_ICU.
    Regards
    Jordi

    Hi Jordi,
    Here is the sample code :
    CASE lf_doc_type.
    WHEN 'object_type'
    LOOP AT et_fields INTO ls_fields.
              IF ls_fields-fieldname = 'ztempleet'
                ls_fields-xinput = ' '.
                ls_fields-xdisplay = ' '.
                MODIFY et_fields FROM ls_fields TRANSPORTING xinput xdisplay.
              ENDIF.
    ENDLOOP.
    ENDCASE.
    Thanks,
    Pradeep.

  • How to create custom screen in 'MIGO'

    Hi,
    In transaction Code 'MIGO' I want to add a custom screen at header level / item level. I think there is no screen exit. How do I do this?
    Thanks.

    Simply i just searched with your subject line i got these thread:
    Adding custom fields in the MIGO screen
    Add custom field in MIGO (SAP 4.6C)

  • Unable to capture data from drop down list in custom added field in migo tcode at item level

    Hi guys,
    need bit help in resolving query related to custom added field in Tcode migo.
    i have added a field in migo at item level ,in this i have used drop down list
    to get data but unable to capture data from drop down list.gown through
    many blogs in scn but unable to resolve.
    Please help me out in this.
    Thanks,
    Umakant.

    Hi,
    U can use following code to fill the list box
    write this code in PBO
    In layout editor please select listbox in dropdown attribute of input field and put some fctcode attribute
    TYPE-POOLS vrm.
      DATA values TYPE vrm_values WITH HEADER LINE.
      TABLES: <ur custom Database table>.
      clear values, values[].
      SELECT * FROM <ur custom Database table>.
        values-text = <TABLE FIELD TO DISPLAY IN DROPDOWN> .
        values-key = <TABLE KEY FIELD TO DISPLAY IN DROPDOWN>.
        APPEND values.
      ENDSELECT.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id              = '<SCREEN INPUT FIELD NAME>'
          values          = values[]
        EXCEPTIONS
          id_illegal_name = 1
          OTHERS          = 2.
    Also please define the following before accessing the listbox value
    data: <listbox input field name> type <table field name>,
            <inputfield name where text to display> type string  in top include
    In PAI, select the text from the table into <inputfield name where text to display>  depending on value selected which will be called when enter key is pressed or any vale is selected

  • To Update Custom field in mch1 table through MIGO Tcode

    Dear champs,
    I have added one custom field in mch1 table ( date ).
    Now , In MIGO Tcode when i am doing posting, MCH1 table is also updated.
    I want to know how to update my custom field in mch1 table at the time of posting.
    Please tell me where to write logic to update mch1 table.
    Regards,
    Satyen Trivedi

    Hi Satyen,
           what data has to be update in MCH1 table new field, for this did you added any screen or you want to implement your own custom logic.
    1) if you implemented the screen , then you have to write logic there itself.
    2) If you want to update through custom logic , then you takeup with the  Enhancements or BADI.
    Regards,
    Krishna

  • Saving custom fields to MSEG added in additional TAB in MIGO transaction

    Hi Experts,
    I am facing an issue with an enhancement in MIGO transaction for which i need help. I have gone through several threads with similar issues but none of them have solved my issue. I have worked around with all BADIs of MIGO and user exits available but to no avail so I am posting a new thread.
    The requirement is pretty straight forward of adding a custom TAB in item details section of MIGO transaction. I have done that using BADI: MB_MIGO_BADI, method PBO_DETAIL. I created a screen with my custom fields and passed them in this method. The TAB appears as expected with all the fields. The custom fields are in MSEG table which has been enhanced and it needs to be updated with the user values on the screen.
    The issue creeps in when there are multiple materials in the purchasing document and user works around with them. Say he clicks on the second material and in the custom TAB changes its details in custom fields. Now he clicks on the fourth material and changes its details. Continues this for all the materials in random order. How do i identify in my custom screen [developed separately and called in PBO_DETAIL of the BADI] which details belong to which material or line number. The only way to do it is by using the purchasing order number and line item number. These are not available in my custom screen and needs to be exported from somewhere and imported there. I have not been able to identify the point where export can be done.
    Can anyone help me out with this problem? Either the point where export can be done or any other way of identifying the link between the line number / material number and the custom field details entered by the user.
    Thanks,
    Ritvik

    Hi Ritvik,
    you will not need it.
    The item methods will process exactly the item what the addional item data are related to. In PBO_DETAIL and PAI_DETAIL, use parameter I_LINE_ID for the item reference.
    Note: Not only read SCN etc,  also the parameters desciption of the methods used.
    Regards,
    Clemens

  • BAPI to validate data in customized fields of transaction MIGO

    Hi,
    I have a requirement where we need to add two custom fields to the header tab of MIGO screen. Please let me know if there is any BAPI existing to validate the data entered? If yes, how do we implement it?
    Thanks
    Shanthi

    Check the BADI in SE18....:-
    MB_MIGO_BADI     for header
    MB_MIGO_ITEM_BADI  for item

  • Add columns with custom fields in the table control of MIGO

    Hi,
    I have to add custom fields in the table control view of item in the MIGO.  I have added the fields in the GOITEM structure and i am able to display it in the item details tab.  I want the same fields to be visible as columns in the table control view of the items.
    I found that TV_GOITEM is the control in SAPLMIGO program referring to the table control of items but it is referring only to the standard fields available in Screen 200.
    Please let me know if there is any screen exit or option to add the custom fields in the control TV_GOITEM.
    Thanks.

    Hi,
    Thanks for your reply.  I have added the custom fields in the item detail.  But the customer wants the custom fields in the table view also.
    Is there any screen exit available to modify the table control of MIGO?
    Thanks.

  • Update Custom fields in MSEG in MIGO through MB_MIGO_BADI

    Hi All,
    I have to update my custom fields in MSEG table after getting them from user in MIGO transaction. I am using BADI--> MB_MIGO_BADI for this. There is method called POST_DOCUMENT in BADI but it is having MSEG as importing parameter. Also, How can i send my custom fields to BADI. If some how I send them how to update MSEG through this BADI.
    Please help me out in this. This is urgent.
    Thanks,
    Ravi

    Hi Ravi,
        I have the same issue . So can you please help me on the same.
        Through the BADI : MB_MIGO_BADI~POST_DOCUMENT method I have to update a customer field named zznotno.
           Added By Kamal on 21/07/2010 Ticket No 8000003778 ***
      DATA : lt_goitem TYPE TABLE OF goitem,
             wa_goitem LIKE LINE OF lt_goitem. .
      FIELD-SYMBOLS: <mseg> TYPE mseg,
                     <fs>   TYPE ANY.
      IMPORT lt_goitem TO lt_goitem FROM MEMORY ID 'GT_GOITEM'.
      LOOP AT it_mseg ASSIGNING  <mseg>.
        IF <mseg>-bwart = '415' OR
           <mseg>-bwart = '301'.
          IF <mseg>-sobkz = 'Q'.
            READ TABLE lt_goitem INTO wa_goitem WITH KEY zeile = <mseg>-zeile.
            IF sy-subrc IS INITIAL.
              wa_mseg-zznotno = <mseg>-zznotno.       <<<<<<<<<
              ASSIGN ('(SAPLMIGO)mseg') TO <fs>.
              MOVE wa_mseg-zznotno TO <fs>-zznotno .
             MODIFY it_mseg FROM wa_mseg TRANSPORTING zznotno.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDLOOP.
    End Addition By Kamal on 21/07/2010 Ticket No 8000003778 ***
    Thanks and regards
    kamal kumar

  • Hiding some level of grouping when the custom field is empty at Project Center

    Hi:
    I group some custom fields at the Project Center (portfolio/programs/subprograms), but some on this are empty (see the image). I want to eliminate this fields (subprograms; subprogramas in the image), but next level (the projects) must continue to be visible.
    Is it possible?
    Thanks 
    Pablo

    Your interpretation is right. But in real life is usual that exists projects  part of a program but that don't have a subprogram assigned (see for example the PMBOK  for the concept, i.e. unbalanced tree of programs/subprograms/projects). Again,
    it seems to me that MS PPM 2013 is a project server tool enhanced but not a REAL portfolio tool.  I wonder why Gartner put it in it's first magic quadrant ?
    Thanks again for you kindness.
    Pablo
    Montevideo, Uruguay
    South America

Maybe you are looking for