MIGO BADI screen new fields

Hi ,
My requirement is that I need to add three fields on the MIGO screen and then use one of these fields to validate the item totals in MIGO if correct then move the 3 fields along with other item data to a Z table ,else give a error message .
Can you guys please tell me ..
1) how to put new fields on  the MIGO screen.
2) then where to calculate the total value of the GR using every item's quantity
3)please give what kind of coding is required in PBO and PAI
Please help.

Hi,
You can use the EASY ENHANCEMENT WORKBENCH for this purpose. The
transaction for the same is EEWB.
You will have to create a Project here.
It will ask you for the transaction name that you want to modify, then
the fields that you want to add on the screen in a wizard format.
It will generate the Screen, structures and tables for you. It will
append the structures to the tables that are related to the
transaction.
It will also generate a new FM for you which will hold all the
standard code. You can just customize this code as per your need and
activate the Project.
Regards,
Ranjit Thakur.
<b>Please Mark The Helpful Answer.</b>

Similar Messages

  • Error on MIGO with added new field that was not pass empty

    Hello,
    I added new field and screen to MIGO with MB_MIGO_BADI using Sample
    Code. It seems on MIGO. But when i pass empty this new field, i take an
    error message. So how can i pass empty for this new field?
    Best regards,
    Munur

    I send all methods codes by order :
    Moderator message - Please respect the 5,000 character maximum when posting. Post only the relevant portions of code
    Edited by: Rob Burbank on Jan 11, 2011 5:12 PM

  • VL32N screen - new field

    Hi Experts,
    My requirement goes like: We are printing a material Bar code label via VL32N. Assume if there are 2 line items in VL32N :
                     Qty
    line item 1  100 (all in one box)
    line item 2    20 (in each box)
    Now the requirement is like, i should have <b>1</b> label for item 1 and <b>20</b> label for item 2. So for that we want a field in VL32N screen where we can input the no of labels. We want to print 1label for item1 and 20 labels for item2. What would be the best procedure? Adding a new Tab and field in a subscreen or adding a field direct to the item table control structure? I looked upon few BADI's but cudnt figure out as to which would be the exact one to go for. Can anyone suggest me the exact BADI for this?
    Regards,
    Sin

    Hi,
    I have seen the BADI. Am thinking of this other option of adding a field to LIPS. Since i want a additional field in VL32N item screen and that has to do with LIPS, why dont we go for this. append structure? My requirement is only to have a field at item level screen so that i can capture no of labels for printing. Any help as to which structure should we add a field so that LIPS would updated?
    Regards,
    Sin

  • MIGO BADI to predefine field values

    Hello Experts,
    I would like to ask does anyone know which BADI can be used to predefine field values for the MIGO transaction.  I would like to add source code to manually determine the BATCH number and make it default when the user runs the MIGO transaction. 
    He/She will first enter the Production Order number and the press enter, then the default fields should be populated.
    I have found the BADI MB_MIGO_ITEM_BADI, but this one can only update the Storage location and the Item text.
    Any help please?
    Thanks.

    Hi,
    My understanding is this BADI is used for modifying the value of the field itself. My requirement is to disable the field (user should not be able to edit the value). Whenever I add the LOOP AT SCREEN statement on this BADI, the screen field GOITEM-CHARG is not processed.
    I am actually looking for a BADI/user exit where this screen field can be read.
    Thanks.

  • Problem in  transporting MIGO BADI screen exit?

    Hi all,
    I have implemented MB_MIGO_BADI for screen-exit of the MIGO.
    Whem transporting I am getting an error that                                                                               
    Table ZMIGO_BADI_EX_SCREEN_FIELD could not be activated                      
    (E- Routine EXPAND (Table ZMIGO_BADI_EX_SCREEN_FIELD could not be expanded) )
    Table Type ZTY_T_EXTDATA could not be activated                              
    (E- Row type ZMIGO_BADI_EX_SCREEN_FIELD is not active or does not exist ) .    
    But this row type is in the same request number and activated also ?
    I am unable to identify the reason. Please help me to solve this problem?
    Thanks,
    Vamshi

    Hi,
    Go to se80 and display the program name which you might have given in methof IF_EX_MB_MIGO_BADI~PBO_DETAIL and activate the screen which you have created,
    Thanks,
    Shailaja Ainala.

  • Regarding - add a new field in migo transaction

    Hai guys,
         i need to add  one field in MIGO transaction, can u pls tell me the step by step procedure for adding the new field in migo transaction.
    Regards,
    N.selvamuthukumar.

    Hi Selvamuthu,
    It is possible using the BADI MB_MIGO_BADI to add Additional tabs in header and/or item as required
    MB_MIGO_BADI  -> BAdI in MIGO for External Detail Subscreens
    See the documentation below...........
    With the Business Add-In (BAdI) MB_MIGO_BADI, you can extend the interface of the goods movements transaction ( MIGO) with additional tabstrip controls for the detailed information (detail tabstrips) and header information (header tabstrips). It is possible for an external application
    to display an additional detail tabstrip with own subscreen (max. 10 lines) in MIGO
    to display an additional header tabstrip with own subscreen (max. 3 lines) in MIGO
    The program name, screen number and tab page text can be determined dynamically. Different screens can therefore be controlled according to the mode (for example, change mode, display mode, goods receipt, goods issue).
    To read the complete documentation  --go to se18 --click on BADI -- enter -- MB_MIGO_BADI----Display
    inside click on "DOCUMENTATION" button and there is a complete documentation step by step
    in addition to it ...--go to se18 --click on BADI -- enter -- MB_MIGO_BADI----Display ->
    on the top menu -> "GOTO" -> sample code -> "Display"
    in will get the "methods" tab..see the description
    Initialization and Registration of Ext. Detail Screens
    PBO of Detail Screen
    PAI of Detail Screen
    Add / Change a Line (GOITEM)
    Delete a Line (GOITEM)
    MIGO Reset (Delete All Internal Data)
    Post Goods Movement
    Check Item Data of Goods Movement
    Mode of Transaction MIGO (Action / Reference Document)
    Status Information and Header Data
    Save Held Data
    Load Held Data
    Delete Held Data
    PBO of Header Screen
    PAI of Header Screen
    Check Header Data of Goods Movement
    Publish Item Data After Processing
    sample code is given in these methods..so when we create a custom badi implementation of our own go to the sample code and copy the required code in the corresponding methods as required
    double click on the method..for eg:IF_EX_MB_MIGO_BADI~PBO_HEADER  in the sample code to see code....in this particular method we can see how method calls an external program and screen to create a new tab in MIGO...use code from mainly the following to get a new header/item tab
    PBO of Header Screen
    PAI of Header Screen
    PBO of Detail Screen
    PAI of Detail Screen
    Pls take some time to analyse the code or flow but we can have the tabs in the header/item level
    Hope it helps
    Regards
    Byju

  • How to add a new Field in MIGO

    Dear Sir,
    We have a requirement of adding a new FIELD in MIGO under the "Detail Data" . The purpose is that at the Item level , we should be able to mention some additional information . For the new Field , an additional Tab has to be created . The Field must except long Text type data and during MIGO Save , the Custom Field data must be saved in Z table .
    We request , SAP experts to kindly guide us as how can we do this . A step wise guidence would be highly helpful .
    We assure full points for the suggested solution please .
    Regards
    B Mittal

    Hi,
    1.Go to SMOD. Press F4 in the Enhancement field. In the next popup window, click pushbutton ‘Information system’.
    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
    4.Go to transaction CMOD and create a project
    5.Then, click on the pushbutton ‘Enhancement Assignments’ in the Application Toolbar
    6.Click on the components in Application Toolbar.
    7.Here you will be shown the function module exits, screen exits and Include tables.
    8.Click on the custom screen in which it suits the requirement of adding the custom field to the layout.
    9.Click on layout and go to get from dictionary and select the field you need to add and click ok.
    10.Place the field in the layout and activate it.
    11.After that you come back and check the respective function module in which you need to implement the code.Therfore we have chosen the Exit_sap_XXX
    12.Now, code has to be written in the function modules EXIT_SAPMMXX_00X 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
    Double click on the include and write the required code inside it. Then activate it.
    Now come back and activate the entire project.

  • Add new field in the Create Support Message Popup Screen

    Hi Experts,
    I need to create Project Code Field in the standard popup screen Create Support Message
    Suggest me any Badi or FM or Bapi or Enhancement to create a new field and update the field value to the Support Message created.
    Please let me know if this is possible or not?
    Thank You,
    Sowjanya Sreekrishna

    Dear Abhijit
    Even after doing PGI, there are some fields which are in editable mode in delivery.  For example, in VL02N, if you select "Goto --> Header --> Shipment, you can see fields like Bill of Lading are in editable mode.
    If you specify what your requirement is, then probably, a better option can be given.
    Thanks
    G. Lakshmipathi

  • Add a New field in Selection Screen of Transaction CNS0

    All,
    I need to create a new field in the selection screen of CNS0. Its a transaction (dialog) not a report.
    Please find the image (will give more info on where to add)
    http://img18.imageshack.us/img18/5319/cns0.gif
    What are the options Any exits of Badi's ? any other options

    hi
    look at this scenario:
    1.  RCNSHSEL modifications:
    ENHANCEMENT-POINT RCNSHSEL_G7 SPOTS ES_RCNSHSEL.
    *$*$-Start: RCNSHSEL_G7-------------------------------------------------------------------------$*$*
    ENHANCEMENT 4  MGV_GENERATED_RCNSHSEL.    "active version
      LOOP AT mgv_matnr_selopt_tab.
        CONCATENATE mgv_matnr_selopt_tab-name'[]' INTO
        mgv_matnr_selopt_tab-name.
        ASSIGN (mgv_matnr_selopt_tab-name) TO <mgv_matnr_selopt_conv>.
        IF sy-subrc IS INITIAL.
          CALL FUNCTION 'MGV_SELOP_AFTER_START_OF_SEL'
               EXPORTING
                    SELOPT_NAME = mgv_matnr_selopt_tab-name
               TABLES
                    RANGE       = <mgv_matnr_selopt_conv>.
        ENDIF.
      ENDLOOP.
    ENDENHANCEMENT.
    ENHANCEMENT 6  ZNEWENH1.    "active version
    *>> ds
    if sy-tcode = 'CNS0'.
    submit z_report_with_selscr and return.
    endif.
    *<< ds
    ENDENHANCEMENT.
    *$*$-End:   RCNSHSEL_G7-------------------------------------------------------------------------$*$*
      TABLES: ACT01,
              AFFL,
              AFKO,
              AUFK,
              PROJ,
              PRPS_R,
              RESB01,
    2. new program: z_report_with_selscr
    REPORT  Z_REPORT_WITH_SELSCR.
    parameters: lgort like vbap-lgort obligatory.
    start-of-selection.
    export lgort to memory id 'ZZLGORT_IN_MEMORY'.
    3. code in BADI: DLP_COMPONENT_FILTER
    import lgort from memory id 'ZZLGORT_IN_MEMORY'.
    regards,darek

  • Add new fields to selection screen for standard billing dule list in CRM

    Hi ,
    I have one issue with standard  program ,tcode is /BEA/IPMI01.
    SUB: Adding  few new fields like IP  to selection screen AND few fields to output list.
    As this is a standard program (tcode: /bea/ipmi01) , i searched for BADI,EXITS but couldn't .
    Can any one help me how to handle this with out cloning the standard one.
    I got some information but succeed.
    in SPRO.
    /CRM/BILLING/SYSTEM ENHANCMENTS/access billing  engine navigator. you will find selection design in the path
    /CRMB/OBJECT/DL/REPORT/SELECTION GROPS/DLA/SELECTION FEIDLS.
    we can find selecton at this place but i couldnot find how to add new fieds.
    Note: i found whatever we do ,  it willl reflect once we regenerated the program.

    Hi,
    You may be able to create an append structure to the standard output structure/table. Go to SE11, open the structure and click on append structure.
    Regards
    Prasenjit

  • Possibility of adding new fields to migo transaction

    Is there a possiblity of adding new fields in migo transaction so that we can enter the base price of items in po.
    Also Can we send mail to relevant authorization if there is difference in price entered in the po and the value entered in GR

    Hi, You can use BADI 'MB_MIGO_BADI' for adding custom fields at item as well as header level .
    or Check SAP Note 339448 - MIGO: settings of table control
    2-You can not do any thing related to price in MIGO, since you cannot enter any manual values in MIGO, it will always pull from PO or MIRO (in case of Imports).

  • Is it possible to add a new field in Block/Unblock vendor screen?

    Hi Experts,
    Kindly any one advise is it possible to add new field in xk05 screen as shown in the attached screen.If possibe,please advise the possible steps
    to add this new field.
    Thanks & Regards,
    Anusha

    Hi Pavan,
    Thank you for your reply.I have searched for user exits there is no screen exit of xk05 and I put a break point in CL_EXITHANDLER method and I found VENDOR_FIELDSTATUS BADI only for this screen.So,there is no BADI or user exit to add a new field to this screen.So,how to add
    a new comment field to this XK05 screen.
    Rgds,
    Anusha

  • Is there a badi or user exit for including new field in XK01 ?

    Hi
    We have a legal requirement for incluiding new field in T/C XK01, is there a badi or user exit wich help it?
    Thanks in advance.
    Moderator message: please (re)search yourself first.
    Edited by: Thomas Zloch on Dec 16, 2010 4:01 PM

    Can anyone provide the documentation for this BADI? Also, I'm concerned about the layout of the screen. Can this BADI do the necessary changes on the layout of the screen?
    Thanks!

  • BADI /SAPAPO/AM_ALERTLIST - How to fill values in new field catalogue

    Hi,
    I need some help for passing values into the field Catalog of an ALERT Monitor.
    The requirement is to add new fields in the ALERT Monitor and then populate them with values form the PRODUCT view.
    I have implemented method MODIFY_ALERTLIST of BADI /SAPAPO/AM_ALERTLIST. I am able to add the new columns but I am unable to add the values. Actually while debugging i found that even though the NEW values are going into the table T_ALERTS, but the space between the New Added values and the original value is HUGE. Therefore when the Field Catalog is displayed in the Alert Monitor, the NEW Values are not shown.
    I am attaching my Code
      DATA: l_table_ref TYPE REF TO data,
      l_table_ref_1 TYPE REF TO data,
      l_fieldcat_str TYPE /sapapo/am_aot_fieldcat_str,
      ls_fieldcat TYPE LINE OF lvc_t_fcat,
      ls_t_fieldcat LIKE LINE OF t_fieldcat,
      l_alert_str TYPE LINE OF /sapapo/alert_tab,
      l_str_ref TYPE REF TO data,
      l_str_ref_1 TYPE REF TO data.
      FIELD-SYMBOLS: <aot_tab> TYPE STANDARD TABLE,
      <aot_tab_1> TYPE STANDARD TABLE,
      <alert_str> TYPE /sapapo/alert_str,
      <aot_str> TYPE ANY,
      <alert_str1> TYPE c,
      <alert_str_uc> TYPE c.
      FIELD-SYMBOLS: <zat103> TYPE c. "ANY.
      DATA : l_col_pos TYPE i,
      gv_entries TYPE i,
      xlength TYPE i.
      FIELD-SYMBOLS : <info> TYPE ANY,
                      <aot_str1> TYPE ANY.
      DATA olen1 TYPE i.
      DATA: t_pegid TYPE STANDARD TABLE OF /sapapo/amopegid_tab,
            t_ordid TYPE STANDARD TABLE OF /sapapo/amoordid_tab.
      CLEAR: l_alert_str,
        l_table_ref ,
        l_table_ref_1 ,
        l_fieldcat_str ,
        ls_fieldcat ,
        ls_t_fieldcat ,
        l_str_ref  .
    *Add new column
      READ TABLE t_fieldcat INTO ls_t_fieldcat INDEX 1.
      DATA: x1 TYPE lvc_t_fcat,
           y1 LIKE LINE OF x1.
      x1 = ls_t_fieldcat-fieldcat.
      LOOP AT x1 INTO y1 WHERE reptext NE space.
        CHECK y1-fieldname NE 'DELIVERY_DATE'.
        xlength = xlength + y1-intlen.
      ENDLOOP.
      DESCRIBE TABLE  x1 LINES gv_entries.
    Appending Delivery Date
      ls_fieldcat-col_pos = gv_entries + 1.
      ls_fieldcat-fieldname = 'DELIVERY_DATE'.
      ls_fieldcat-ifieldname = 'DELIVERY_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Delivery Date'.
      ls_fieldcat-outputlen = '10'.
    ls_fieldcat-rollname = '/SAPAPO/DELIVERY_DATE' . "'DATS'.
      ls_fieldcat-domname = '/SAPAPO/CHAR20'."'/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Delivery Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Start Date
      ls_fieldcat-col_pos = gv_entries + 2.
      ls_fieldcat-fieldname = 'STARTDAT'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Start Date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Start Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Required Shelf Life Date
      ls_fieldcat-col_pos = gv_entries + 3.
      ls_fieldcat-fieldname = 'SL_MIN_DAT'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Req.SL dte'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Req.SL dte'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Shelf Life Date/Required Maximum Shelf life Date
      ls_fieldcat-col_pos = gv_entries + 4.
      ls_fieldcat-fieldname = 'SL_MAX_DAT'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'SL Date 2'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'SL Date 2'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending (Availability/Requirements) Date of a Schedule Line
      ls_fieldcat-col_pos = gv_entries + 5.
      ls_fieldcat-fieldname = 'AVL_REQ_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Schedule Date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Schedule Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Req Date/ Shipment end date
      ls_fieldcat-col_pos = gv_entries + 6.
      ls_fieldcat-fieldname = 'SHIP_MAX_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Req Date/ Shipment end date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Req Date/ Shipment end date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Expected Grading Date
      ls_fieldcat-col_pos = gv_entries + 7.
      ls_fieldcat-fieldname = 'GRAD_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Expected Grading Date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Expected Grading Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Available Date
      ls_fieldcat-col_pos = gv_entries + 8.
      ls_fieldcat-fieldname = 'AVAIL_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Available Date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Available Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
      MODIFY TABLE t_fieldcat FROM ls_t_fieldcat.
      DATA lvc_t_fcat TYPE lvc_t_fcat.
    *CODE FOR ADDING THE NEW VALUES*
    ASSIGN Alert Structure to Field Symbols for Unicode
      ASSIGN COMPONENT 0 OF STRUCTURE l_alert_str
                         TO            <alert_str>           CASTING.
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = ls_t_fieldcat-fieldcat
        IMPORTING
          ep_table        = l_table_ref.
    *assign dynamic structure
      ASSIGN l_table_ref->* TO <aot_tab>.
      CREATE DATA l_str_ref LIKE LINE OF <aot_tab>.
      ASSIGN l_str_ref->* TO <aot_str>.
      ASSIGN l_str_ref->* TO <alert_str_uc> CASTING.
      LOOP AT t_alerts INTO l_alert_str.
       READ TABLE t_fieldcat WITH KEY aot = l_alert_str-aot
       INTO l_fieldcat_str.
       CALL FUNCTION '/SAPAPO/ATAB_FIELDCAT_GET'
         EXPORTING
           aot        = l_fieldcat_str-aot
           mview      = l_fieldcat_str-mview
         IMPORTING
           table_ref  = l_table_ref
           t_fieldcat = lvc_t_fcat.
        ASSIGN l_alert_str TO <alert_str>.
    *copy alert to aot-specific structure
        MOVE <alert_str>-info TO <alert_str_uc>.
    *Write this code inside the loop
        ASSIGN COMPONENT 'DELIVERY_DATE' OF STRUCTURE <aot_str> TO <zat103>.  "CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'STARTDAT' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'SL_MIN_DAT' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'SL_MAX_DAT' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'AVL_REQ_DATE' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'SHIP_MAX_DATE' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'GRAD_DATE' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'AVAIL_DATE' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        MOVE <alert_str_uc> TO <alert_str>-info.
        MODIFY t_alerts FROM l_alert_str INDEX sy-tabix.
        CLEAR : <alert_str>, <alert_str_uc>.
      ENDLOOP.
    I have even tried Concatenating Values,  with that method even though the NEW Values are available but they do not fall under the correct Column.
    PLEASE help me out cos I am really Stuck.
    Regards
    Abhishek Sahi

    Hi,
    I need some help for passing values into the field Catalog of an ALERT Monitor.
    The requirement is to add new fields in the ALERT Monitor and then populate them with values form the PRODUCT view.
    I have implemented method MODIFY_ALERTLIST of BADI /SAPAPO/AM_ALERTLIST. I am able to add the new columns but I am unable to add the values. Actually while debugging i found that even though the NEW values are going into the table T_ALERTS, but the space between the New Added values and the original value is HUGE. Therefore when the Field Catalog is displayed in the Alert Monitor, the NEW Values are not shown.
    I am attaching my Code
      DATA: l_table_ref TYPE REF TO data,
      l_table_ref_1 TYPE REF TO data,
      l_fieldcat_str TYPE /sapapo/am_aot_fieldcat_str,
      ls_fieldcat TYPE LINE OF lvc_t_fcat,
      ls_t_fieldcat LIKE LINE OF t_fieldcat,
      l_alert_str TYPE LINE OF /sapapo/alert_tab,
      l_str_ref TYPE REF TO data,
      l_str_ref_1 TYPE REF TO data.
      FIELD-SYMBOLS: <aot_tab> TYPE STANDARD TABLE,
      <aot_tab_1> TYPE STANDARD TABLE,
      <alert_str> TYPE /sapapo/alert_str,
      <aot_str> TYPE ANY,
      <alert_str1> TYPE c,
      <alert_str_uc> TYPE c.
      FIELD-SYMBOLS: <zat103> TYPE c. "ANY.
      DATA : l_col_pos TYPE i,
      gv_entries TYPE i,
      xlength TYPE i.
      FIELD-SYMBOLS : <info> TYPE ANY,
                      <aot_str1> TYPE ANY.
      DATA olen1 TYPE i.
      DATA: t_pegid TYPE STANDARD TABLE OF /sapapo/amopegid_tab,
            t_ordid TYPE STANDARD TABLE OF /sapapo/amoordid_tab.
      CLEAR: l_alert_str,
        l_table_ref ,
        l_table_ref_1 ,
        l_fieldcat_str ,
        ls_fieldcat ,
        ls_t_fieldcat ,
        l_str_ref  .
    *Add new column
      READ TABLE t_fieldcat INTO ls_t_fieldcat INDEX 1.
      DATA: x1 TYPE lvc_t_fcat,
           y1 LIKE LINE OF x1.
      x1 = ls_t_fieldcat-fieldcat.
      LOOP AT x1 INTO y1 WHERE reptext NE space.
        CHECK y1-fieldname NE 'DELIVERY_DATE'.
        xlength = xlength + y1-intlen.
      ENDLOOP.
      DESCRIBE TABLE  x1 LINES gv_entries.
    Appending Delivery Date
      ls_fieldcat-col_pos = gv_entries + 1.
      ls_fieldcat-fieldname = 'DELIVERY_DATE'.
      ls_fieldcat-ifieldname = 'DELIVERY_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Delivery Date'.
      ls_fieldcat-outputlen = '10'.
    ls_fieldcat-rollname = '/SAPAPO/DELIVERY_DATE' . "'DATS'.
      ls_fieldcat-domname = '/SAPAPO/CHAR20'."'/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Delivery Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Start Date
      ls_fieldcat-col_pos = gv_entries + 2.
      ls_fieldcat-fieldname = 'STARTDAT'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Start Date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Start Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Required Shelf Life Date
      ls_fieldcat-col_pos = gv_entries + 3.
      ls_fieldcat-fieldname = 'SL_MIN_DAT'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Req.SL dte'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Req.SL dte'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Shelf Life Date/Required Maximum Shelf life Date
      ls_fieldcat-col_pos = gv_entries + 4.
      ls_fieldcat-fieldname = 'SL_MAX_DAT'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'SL Date 2'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'SL Date 2'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending (Availability/Requirements) Date of a Schedule Line
      ls_fieldcat-col_pos = gv_entries + 5.
      ls_fieldcat-fieldname = 'AVL_REQ_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Schedule Date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Schedule Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Req Date/ Shipment end date
      ls_fieldcat-col_pos = gv_entries + 6.
      ls_fieldcat-fieldname = 'SHIP_MAX_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Req Date/ Shipment end date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Req Date/ Shipment end date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Expected Grading Date
      ls_fieldcat-col_pos = gv_entries + 7.
      ls_fieldcat-fieldname = 'GRAD_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Expected Grading Date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Expected Grading Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
    Appending Available Date
      ls_fieldcat-col_pos = gv_entries + 8.
      ls_fieldcat-fieldname = 'AVAIL_DATE'.
      ls_fieldcat-tabname = '1'.
      ls_fieldcat-seltext = 'Available Date'.
      ls_fieldcat-outputlen = '10'.
      ls_fieldcat-rollname = 'DATS'.
      ls_fieldcat-domname = '/SAPAPO/DATUM'.
      ls_fieldcat-coltext = 'Available Date'.
      APPEND ls_fieldcat TO ls_t_fieldcat-fieldcat.
      MODIFY TABLE t_fieldcat FROM ls_t_fieldcat.
      DATA lvc_t_fcat TYPE lvc_t_fcat.
    *CODE FOR ADDING THE NEW VALUES*
    ASSIGN Alert Structure to Field Symbols for Unicode
      ASSIGN COMPONENT 0 OF STRUCTURE l_alert_str
                         TO            <alert_str>           CASTING.
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = ls_t_fieldcat-fieldcat
        IMPORTING
          ep_table        = l_table_ref.
    *assign dynamic structure
      ASSIGN l_table_ref->* TO <aot_tab>.
      CREATE DATA l_str_ref LIKE LINE OF <aot_tab>.
      ASSIGN l_str_ref->* TO <aot_str>.
      ASSIGN l_str_ref->* TO <alert_str_uc> CASTING.
      LOOP AT t_alerts INTO l_alert_str.
       READ TABLE t_fieldcat WITH KEY aot = l_alert_str-aot
       INTO l_fieldcat_str.
       CALL FUNCTION '/SAPAPO/ATAB_FIELDCAT_GET'
         EXPORTING
           aot        = l_fieldcat_str-aot
           mview      = l_fieldcat_str-mview
         IMPORTING
           table_ref  = l_table_ref
           t_fieldcat = lvc_t_fcat.
        ASSIGN l_alert_str TO <alert_str>.
    *copy alert to aot-specific structure
        MOVE <alert_str>-info TO <alert_str_uc>.
    *Write this code inside the loop
        ASSIGN COMPONENT 'DELIVERY_DATE' OF STRUCTURE <aot_str> TO <zat103>.  "CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'STARTDAT' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'SL_MIN_DAT' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'SL_MAX_DAT' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'AVL_REQ_DATE' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'SHIP_MAX_DATE' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'GRAD_DATE' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        ASSIGN COMPONENT 'AVAIL_DATE' OF STRUCTURE <aot_str> TO <zat103> CASTING.
        IF sy-subrc = 0.
          CLEAR <zat103>.
    *Fetch ur own custom value and move to the field symbol. This
    *dynamically populates ur structure.
          <zat103> = '22.11.1999'.
        ENDIF.
        MOVE <alert_str_uc> TO <alert_str>-info.
        MODIFY t_alerts FROM l_alert_str INDEX sy-tabix.
        CLEAR : <alert_str>, <alert_str_uc>.
      ENDLOOP.
    I have even tried Concatenating Values,  with that method even though the NEW Values are available but they do not fall under the correct Column.
    PLEASE help me out cos I am really Stuck.
    Regards
    Abhishek Sahi

  • PLz Help me its urgent, how to add new field in mm01 basic data screen

    Hi everyone,
         plz tell me how to add new field in mm01 basic data screen,i added that field in basic data screen but when i create a material the data for that field will not save in database table.
    Thanks,
    murali.

    Hi Murali,
    when created added a field on the screen by using user exit then after that you have add the field in main table where you will be getting these table in the userexit only, please make sure about this. And i am sure defenitly it will get updated in to the table.
    reward if useful.
    thanks
    abdulsamee.

Maybe you are looking for