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

Similar Messages

  • Custom field not getting added into MSEG table throuhBADI  MB_MIGO_BADI

    i have created a new tab in MIGO transaction and created a zfield called ZZcert . i have also created one append structure in MSEG table with field name ZZCERT .
    i have created new tab for migo using BADI MB_MIGO_BADI . when i enter value in ZZCERT in MIGO transaction , it is not updated in MSEG table .  but in debugging mode im able to see the value in  (SAPLMIGO)MSEG . i have tried the option of using Field symbols also . but it didnt work .
    I have searched in the forum for suitable answers.
    can anybody guide me how to update the ZZCERT value into MSEG table ??
    thanks in advance
    pavan

    Hi,
    if i am not wrong these are standard transactions..when you have created a screen  then for your field you can click on "get from dictionary" and the map your field(drag a field from MSEG directly on to the custom field on screen) and the you have to activate the screen....i think thats the only thing you need to do so as to update the field value in database...
    or else as sugegsted by the post above you need to use BDC recording to update the databse table MSEG.
    Abhijeet.

  • 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

  • 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

  • Custom field at Header level in Additional Data B tab of VA01/VA02

    Kindly help me out , I have a requirement to add a custom field at Header level in Additional Data B tab of VA01/VA02.
    Program: SAPMV45A
    screen 8459
    This can be done only through access key or not. Can any body tell me procedure to do that.
    Appreciate your response.Thanks in advance

    Please help me out this

  • Custom fields to be added to the result list through AET

    Hi All,
               I have to add the custom fields to the Result list of the Ibase. I came to know that this can be achieved through the AET(application enhancement tool). I have done the following steps
    1. I  enabled the AET through personalization settings and i clicked on the show configurable area icon.
    2.I have chosen the reult view for which custom field (Zfield)  has to be added.
    3.One pop-up came, but the 'Create New Field' Button is in disable mode.
    Because of this i am not able to add the customi fields to the result list. Please provide me the solution to overcome this issue.
    Regards,
    Lakshman.P

    Hi,
    it is not recommended to create custom field manually. Adding a new field in a BOL structure is not enough. Because you need also the field in the database and maybe also in other structures, i.e. Middleware.
    As far as I know AET is able to enhance IBASE application. In the Config Tool, AET tries to determine which enhanced business object is relevant for the current application(in your case IBASE application). When AET is able to determine an enhanced business object, it will activate the "Create New Field".
    The determination of enhanced business object is based on the UI object type that is set in IBASE application.
    You need to make sure 2 points here.
    1. IBASE application has to set UI object type. Use tab to get the focus in any button of the view that you want to enhance, than press F2. You will get a popup and it shows a field "Object Type(Searched For)". That is the UI object type which is set by the application.
    2. Go to SE11 and open the UI object type table (BSP_DLC_OBJ_TYPE). Search for this object type which is set by the IBASE application and see whether the given result has also an EXT_BO. EXT_BO in this case is the enhanced business object which is used by AET.
    If you do not come any further, please create a CSN message.
    Regards,
    Steve

  • How to add custom field in delivery address/performance location tab in SRM shopping cart and Ship to address Pop-up in SRM PO?

    Hi Experts
    i have a reuirement where i have to add custom field in delivery address/performance location tab in SRM shopping cart and Ship to address Pop-up in SRM PO
    i am doing below steps for this.
    1. Adding custom field ZZfield in structure INCL_EEW_PD_PARTNER_CSF by  using  append structure.
    2. Spro ->Supplier Relationship Management -> SRM Server -> Cross application basic settings -> Extensions and field controls (personalization) -> Configure field control ->Configure Control for Fields of Substructures
    then click on  "Metadata for Fields of Substructures and Table-Like Enhancements"  
    add the below entry
    Bus. Object Set Type  : I am trying 7 and 29
    Structure Field Name  : ZZfield
    Bus. Object Type       : BUS2121/BUS2201
    Set Level                    : Item
    Field Visible :  Check box should be checked
    Field Enable :  check box should be checked
    Can anyone has the idea of this?
    Thanks
    Rohit

    Hello Rohit,
    Please create a enchancement for component  /SAPSRM/WDC_UI_DO_SHIPTO.
    Add new input field and label in view V_DODC_SHIPTO.
    Bind the input field value with field ZZfield from structure  /SAPSRM/WDC_UI_DO_SHIPTO in the context node SHIP_TO .
    Regards,
    Neelima

  • Userexit or BADI for adding additional tab in MIGO screen.

    Hi all ,
       Kindly tell me as to which exit or BADI is used to add additional tab in MIGO header.
    Regards

    Hi,
    Create a program with the screen type sub-screen in SE80 and design the layout for the custom fields.
    Declare the custom fields in a Z**TOP include.
    Under the PBO method declare the program name and screen number
    Under PAI method declare the field to u2018Xu2019.
    Under the line modify method declare a flag and set to u2018Xu2019 checking for material document number by which we can set the fields to be in display mode when we open MIGO for display of material document created after doing goods receipt.
    Under the POST_DOCUMENT method write the code for appending the value to Z table along with the values of the line item (In this case production order number, material, u2026u2026.). For these values to be available here in this method use the memory concept u201CExport to memory idu201D in the method LINE_MODIFY. 
    In order to do any validations to the custom fields, go to transaction SE80 and mention the program Name created and in PROCESS ON VALUE_REQUEST create a module and provide the validations required for those custom Fields.
    In order to make the fields to be in display mode during the display of material document, create a module under PBO and import the flag value and the production order number details in the method LINE_MODIFY and if that flag = u2018Xu2019, use  
    LOOP AT SCREEN.
    IF SCREEN-NAME = 'ZZGBAGS'.
    SCREEN-INPUT = '0'.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.Retrieve the values from the Z table matching the key field (production order number) and pass the value of the custom field on to the screen.

  • Additional Tab in Billing Transaction

    Hi,
    I have a requirement of adding an additional tab in the billing transaction VF01 / 02 / 03. Please can you help me suggesting any BADI or EXIT avaialable.
    I found BADI_SD_TAB_CUST_H and it is for internal use only.
    Thanks in advance.

    Hi
    SAP Note Number 302497 Additional cust. fields not displayed in 'Additional data B' and related notes tells you how to do it.
    Other useful notes:
    SAP Note 386694 - Additional data not displayed in screen 8459 and 8309
    SAP Note 420546 - Additional data B and transaction variants in sales order
    SAP Note 209278 - Display of customer-specific fields in sales doc
    Regards
    Eduardo
    Edited by: E_Hinojosa on Feb 17, 2011 3:48 PM

  • Additional Tab in MIGO Item details.

    Dear Experts,
                                 My client is procuring Fuel as a stock material. the delivery of fuel is being done into tanks for which Initial & final dip readings are to be recorded.
                                                              SO is  it possible to add an additional Tab in MIGO Item Level, with additional fields so that I can enter Initial & Final readings for a Fuel which is being procured as a stock material with other parameters like density, temperature, water content etc. "Does adding an Additional Tab & Fields lead to any implications in SAP? "
    Thanks & Regards
    Chandan H N

    I think the best solution for u is to work in batch management and classification (class and characteristic)
    so that u can input all the parameters like density, temperature, water content etc as per ur requirement.
    i think just creating tab in migo only data entry u will be able to do and u will have to do the development.
    but batch mgt and classification is std and u will be able to track the things
    hope this helps

  • Saving customer fields to SAP table (EXIT_SAPMM06E_012)

    Hi All,
    I would like to ask you guys a bit of a help with a user exit that I am working on as of the moment.
    I am coding a user exit for a service purchase order (ekpo-knttp = 'K' and ekpo-pstyp = 'D') this is a service purchase order of cost centre category.
    Since SAP does not allow the goods recipient (ekkn-wempf) to be modified for reasons specified in SAP Note 118008. I have used user exit MM06E005 FMs EXIT_SAPMM06E_017, EXIT_SAPMM06E_016 to the data in PBO and PAI for the transaction.
    Now I tried using the two FMs EXIT_SAPMM06E_018 and EXIT_SAPMM06E_012 to pass this value to the table but it does not seem to get saved in table EKKN.
    Using FM EXIT_SAPMM06E_018  the I have maintained the structure CI_EKPODB to include WEMPF and after debugging passing that user exit area the wempf is being tranfered to global data but this does not get saved in EKKN table (EKKN-WEMPF).
    Although this is outside of the standard best practice of SAP since the account assingment belongs to the limits or the service line for service order but maintaining this recipient field for the PO item does not impact our system processes as the business acknolwedges goods recipient for service PO.
    BADI ME_PROCESS_PO_CUST has also been implemented under method PROCESS_ACCOUNT invoking the interface IF_PURCHASE_ORDER_ACCOUNT_MM but unsucessful in the operation.
    If anyone of you guys has encoutered same scenario or implementation requirement please do give information on this or work-arounds are well appreciated as well.
    Cheers,
    Erwin

    Hi,
    We have worked on a similar requirement ,just check if its useful to you.
    Requirement:
                         You have to add the custom field in SAP standard table EKKO. Then we have to place the field in ME21N screen. When user enters any input into the field it should get updated in the database.
    Note:
                         EKKO table is meant for Purchasing document header, you should add the field in the header level for ME21n screen. There you are provided with customer sub screens where you can add the field in the screen.
    Procedure:
    1You have to create a field in the Custom Include of standard table, after creating activate it.
    2.Double click on the include then you can add your custom field here.
    Find out the Required Enhancements:
    1.Go to SMOD. Press F4 in the Enhancement field. In the next popup window, click pushbutton u2018Information systemu2019.
    2.Then mention the particular package name of the transaction you need to      enhance. Then you will be shown the list of Enhancement components for that particular package.
    3.Note down the enhancements. Then, come to the initial screen of SMOD and view the documentation of each enhancement to find out which one is required for your development.
    MM06E005 is the Enhancement component we are using here.
    Development
    Creating a Project to include the enhancement:
    1.Go to transaction CMOD and create a project.
    2.Enter a description for the project.
    3.Then, click on the pushbutton u2018Enhancement Assignmentsu2019 in the Application Toolbar.
    4.Click on the components in Application Toolbar.
    5.Here you will be shown the function module exits, screen exits and Include tables.
    6.Click on the custom screen SAPLXMO6 u2013 0101 in which it suits the requirement of adding the custom field to the layout
    7.Click on layout and go to get from dictionary and select the field you need to add and click ok.
    8.Place the field in the layout and activate it.
    9.After that you come back and check the respective function module in which you need to implement the code. So, we need to import the data from sub screen for purchasing document header. Therefore we have chosen  the  EXIT_SAPMM06E_008.
    10. Write code in the Function Exits to synchronize the programs:
                       Now, code has to be written in the function modules EXIT_SAPMM06E_008 so that data flows to and fro between the main SAP program and custom sub screen program. Double clicking on the exit we get the following screen.
    11. Double click on the include and write the required code inside it. Then activate it.
    TABLES:EKKOIF NOT EKKO_ZADD IS INITIAL.
    MOVE EKKO-ZADD  to e_ci_ekko-zadd.
    move corresponding  e_ci_ekko to ekko.
    modiky ekko  from ekko.
    12. Now come back and activate the entire project.
    13. Now go to ME21n transaction and create a purchase order by giving all the mandatory fields including custom field we have created. Here Test is the custom field we have created. After entering the data then press SAVE button, your data will be populated to the respective table.
    14. Go to SE11 or SE16n, check whether the field got updated in the database or  not in EKKO table.
    Thanks,Surya Pydikondala.
          Finally it gets updated in the database.

  • Need to update custom fields in MSEG table using "BAPI_GOODSMVT_CREATE"

    Hi All,
    There is a requirement to update custom fields in table MSEG which are part of append structure. There is a option to update the custom fields using the one of the tables parameters "EXTENSIONIN". Anyone please advice how can I update the custom field thru EXTENSIONIN.
    Thanks in advance.
    cheers,
    Vijay

    see the help
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/4099948b8911d396b70004ac96334b/frameset.htm
    Regards
    Kiran Sure

  • BADI MB_MIGO_BADI not updating custom field in MSEG Table

    Dear Experts,
    I am working on screen exit In MIGO transaction for transfer Posting.
    I checked that BADI MB_MIGO_BADI having facility for screen exit and method line_modify having facility to change GOITEM Structure for the changed line item.
    Now, to make this functionality work I have enhanced include structure CI_COBL which is available in both mseg table and goitem structure, now I have this customized fields on my custome tab through the enhancement and also to update this value 2 custom fields created in goitem structure and MSEG table through include structure  CI_COBL.
    Here my question is at the time of transfer posing creation in MIGO when I am passing the value in custom fields through screen and assigning it to custom fields of structure GOITEM through LINE_MODIFY method, it is giving me below worning message
    BADI: Field GOITEM-ZZIDNLF is not ready for input. (Change is not taken over)
    Now I have debuged the code, also checkout many threads and came to know that because of few checks in standred program (iNCLUDE:LMIGOKL3) these fields will not be updated WHERE IT always checks whether these fields are ready for input or not and if not ready then instead of assigning the values it throws worning message.
    Now can you please through some light how can I go ahead as I have check out many threads and also tried to change value of cs_goitem structure using field symbol but throughing dump that it is blocked against changes through field symbol.
    The helpful answers will be highly appriciated.

    Hi,
    In the badi mentioned by you GOITEM is the importing parameters & if the relevant field is not used in any MIGO screen you cannot change the data.
    Please check example BADI interface: IF_EX_MB_MIGO_BADI~LINE_MODIFY
    Please check the BADI documentation:
    Changed data in GOITEM is only adopted if the relevant fields are visible and ready for input.
    Changed data in GOITEM is not adopted if the relevant field is not used in any MIGO screen (warning via MIGO 049).
    Changed data in GOITEM is not adopted if the relevant fields are not ready for input (warning via MIGO 050)
    Thanks and Regards,
    Chandra

  • BAPI_GOODSMVT_CREATE ---- need to update custom field in MSEG table

    Greetings all,
    I'm using 'BAPI_GOODSMVT_CREATE' to create goods movements. also I need to update one cutom field(z-field) in MSEG table. Could anyone please advice how can I update the custom field thru EXTENSIONIN.
    thanks in advance.

    see the help
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/4099948b8911d396b70004ac96334b/frameset.htm
    Regards
    Kiran Sure

  • Project Server 2013 not saving custom field data

    Hello all,
    I have a Project Server 2013 deployment with several Project-level custom fields.
    One of them, never saves the info typed in. All others work just fine but this one does not like to save anything. There's no error in queues or the ULS.
    I'm so lost with it. Any thoughts?
    Rene Alvarez

    An update on this issue.
    I could isolate it to the project plan template. If I use my custom fields with an EPT without a plan template, I have no problem.
    So the problem is the template right? Well, I did the following:
    Create a blank template and attach it to the EPT. Result: all Ok.
    Create a template with 10 tasks (task name only) and attach it to the EPT. Result: all Ok.
    Create a template with my full 135 tasks (task name only) and attach it to the EPT. Result: all Ok.
    Create a template with the 135 tasks (task name and WBS) and attach it to the EPT. Result: all Ok.
    Create a template with the 135 tasks (task name, WBS and milestones) and attach it to the EPT. Result: FAIL. Cannot save custom fields again.
    A user noticed something. If he opens a problematic project in Project Pro, and publish it again (no changes) then the project accepts data in the custom fields.
    Rene Alvarez

Maybe you are looking for