Add new screen in ME23N with BADI ME_GUI_PO_CUST

Hi folks, I have used the BADI ME_GUI_PO_CUST to add a custom tab in transaction ME23N.
So good, sor far, I know how to used BADI and it works very well. I had to subscribe my own subscreen in the method subscribe of the interface, but something is boring me and I don't know if it's possible.
Let's say I want to display my new tab according to the purchasing document type. Right now, my custom tab is always display. There is no method to unsubscribe a screen in the interface. What I could do is to used the get parameter id 'BES' in the subscribe method to get the current purchasing document display, then from there I could decide if I subscribe or not my own screen. The thing with the subscribe method is that it's only called once, when you enter in the transaction, if you stay in the transaction and select another purchasing document, this method will not be called.
thanks
Alex

Hi Alexandre,
First get the current Purchase Order Number using parameter ID 'BES' in the PBO of the custom subscreen.
Then based on validation checks set SCREEN-INVISIBLE = 1 and SCREEN-ACTIVE = 0 and MODIFY SCREEN for all the screen fields.
This will hide all the fields and eventually the tab may also disappear. This works for Screen Exits (i.e., if all the fields of a tab are made to disppear then the tab also disapears if is the tab is defined using Screen Exit). But I have never tried it out in a BADI.
Try this, it might work.
Hope it helps.
Regards,
Abhisek.

Similar Messages

  • New screen in ME23N with BADI ME_GUI_PO_CUST

    Hello to all developers,
    I was able to add a new (sub-)screen in the header data ME23N.
    All fields are shown.
    When I switch the mode to "CHANGE", all fields disappear and of course no tab is shown.
    If someone has an idea, please let me know.
    Many thanks in advance.
    H.-J. Schmidt

    Hi,
    Please check if in the PBO module of the custom subscreen you have set SCREEN-INVISIBLE = 1 or SCREEN-ACTIVE = 0.
    Also check if the screen has been properly subscribed in method SUBSCRIBE (i.e., remove all transaction type checks from this method).
    Since the screen and tab is being displayed in ME23N, it should also be displayed in ME21N (or create mode) and in ME22N (or change mode). The only condition under which the tab and screen might not appear is, if any checks based on the T-code or Transaction type is done and SCREEN-INVISIBLE = 1 or SCREEN-ACTIVE = 0 have been set.
    And if you are using OOPS concept in handling the PBO and PAI, then check if the proper values are set using different methods of the class.
    Hope this helps.
    Regards,
    Abhisek.

  • Add New Screen Fields in Delievery Line Item

    Hello All,
    We have a requiremnet where we should add 3 custom fields to delivery line item tabs,
    please let me know how I can add a new tab for delievry line item tabs and how to add new custom screen fields in that tab,.
    Thanks
    Add New Screen Fields in Delievery Line Item
    Edited by: kishore_99 on Dec 8, 2009 5:31 PM

    No, I won't explain it in detail - you need to read the documentation and at least make an attempt at the process on your own first.  The documentation is right there in the IMG where I said it was but here's the path since you can't find it:
    Logistics Execution -> Shipping -> System Modifications -> Business Add-Ins in Shipping -> BADI for Additional Item Detail Screen...

  • Is it possible to add new screen fields to the transaction /dsd/sl_cockpit

    HI experts,
          Would like to know if it is possible to add new screen fields to the cloned version of /dsd/sl_cockpit.
          I cloned the original transaction /dsd/sl_cockpit into a diff. name, now I want to know how I can include/ add those new fields to this transaction.  It looks like the screen is dynamically built using Standard ABAP classes. Need help.
    Thanks in advance

    it is not possible to add new fields via badi on /dsd/sl_cockpit.

  • I have the 5.5 Lightroom software on my I-Mac with OS-X, 10.9.3. It seems I have lost 850 pictures I was developing. It all started when was adding a folder. A new screen came up with no photos.  I went back to my external drive, trying to open the folder

    I have the 5.5 Lightroom software on my I-Mac with OS-X, 10.9.3. It seems I have lost 850 pictures I was developing. It all started when was adding a folder. A new screen came up with no photos.  I went back to my external drive, trying to open the folder (containing the pictures I was working on), an icon "Thumbs" came up. When I click on it, a message "can't find the application" came up, there is no picture to be found. Please help.  Frustrated-George

    Have you tried resetting the SMC ?     >  Resetting the System Management Controller (SMC)

  • Whenever I open firefox a add ons screen comes up with the yahoo web page behind it. . I just want the Yahoo web page and do not want to close the add ons page every time I use my computer.

    Whenever I open firefox a add ons screen comes up with the yahoo web page behind it. . I just want the Yahoo web page and do not want to close the add ons page every time I use my computer.
    I don't know what else to say about this. It is a screen that comes up in its own window everytime I open Firefox

    Please check your home page setting and see if about:addons is listed. If it is, please remove it
    https://support.mozilla.com/en-US/kb/How+to+set+the+home+page

  • SOLUTION: tab not showing in ME21N/ME22N with badi ME_GUI_PO_CUST

    Hi,
    I implemented BADI's ME_GUI_PO_CUST and ME_PROCESS_PO_CUST to show a custom tab in the header section of ME21N, ME22N and ME23N.
    But after implementing the BADI's, the tab showed up in ME23N, but not in ME21N and ME22N.
    So I started looking for a solution in the SDN forum, and I saw that there were a LOT of people with the same problem, but nobody ever posted a solution.
    So here is the solution:
    So, I added the fields I wanted to show in the structure CI_EKKODB, implemented the BADI ME_GUI_PO_CUST (the methods SUBSCRIBE and MAP_DYNPRO_FIELDS), and the BADI ME_PROCESS_PO_CUST.
    After that the tab showed up in ME23N, not in ME21N or ME22N.
    So I found an SAP note saying the following:
    Question:
    I implemented the 'ME_GUI_PO_CUST' Business Add-In to display customer-
    specific tab titles in the EnjoySAP purchase order. They are only shown in display mode (ME23N) however, not in create or change. Why?
    Solution:
    You may have forgotten to assign a field status to the user-defined fields on these tabs. As a result, the system automatically interprets the field status as 'hidden' in create and change modes. However if a tab contains only hidden fields, then the entire tab is set to hidden. In display mode, fields without a field status are automatically set to display. That is why the tab is displayed in this case.
    To assign a field status to the user-defined fields, use the methods provided for this purpose in the Business Add-In 'ME_PROCESS_PO_CUST' (compare sample source code in the FIELDSELECTION_ITEM method).
    So in my case, I had to add some code to the  FIELDSELECTION_HEADER method of the BADI ME_PROCESS_PO_CUST.
    This is the code:
    method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER.
      DATA: l_persistent TYPE mmpur_bool.
      FIELD-SYMBOLS: <fs> LIKE LINE OF ch_fieldselection.
    * if the item is already on the database, we disallow to change field badi_bsgru
      l_persistent = im_header->is_persistent( ).
    *   IF l_persistent EQ mmpur_yes.
        READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY metafield = mmmfd_cust_01.
        IF sy-subrc IS INITIAL.
          <fs>-fieldstatus = '*'. " Input
        ENDIF.
    *   ENDIF.
    endmethod.
    But then, I realized that this BADI was never triggered. When I entered one of the transaction codes ME21N, ME22N or ME23N, the code in the fieldselection_header method was never executed.
    So I went to transaction SE18, and entered ME_PROCESS_PO_CUST in 'Enhancement Spot' and pushed the button display.
    And there in the tab 'Enhancement Implementations', I saw an implementation that was not mine, and that did not show up in the overview of the SE18 'BADI NAME' tab for the same BADI... which to me seems strange.
    So as you may know, there can never be more than one active implementation of the BADI ME_PROCESS_PO_CUST.
    So I disactivated my implementation and put my code in the existing implementation.
    And after that it worked!

    implement first badi :ZME_GUI_PO_CUST:
    METHOD if_ex_me_gui_po_cust~subscribe.
    DATA: ls_subscriber LIKE LINE OF re_subscribers.
    * we want to add a customer subscreen on the item detail tab
       CHECK im_application = 'PO'.
       CHECK im_element     = 'HEADER'.
    * each line in re_subscribers generates a subscreen. We add one subscreen in this example
       CLEAR re_subscribers[].
    * the name is a unique identifier for the subscreen and defined in this class definition
       ls_subscriber-name = subscreen1.
    * the dynpro number to use
       ls_subscriber-dynpro = '0001'.
    * the program where the dynpro can be found
       ls_subscriber-program = 'SAPLMEPOBADIEX'.
    * each subscreen needs his own DDIC-Structure
       ls_subscriber-struct_name = 'MEPO_BADI_STRUCT'.
    * a label can be defined
       ls_subscriber-label = text-001.
    * the position within the tabstrib can be defined
       ls_subscriber-position = 4.
    * the height of the screen can be defined here. Currently we suport two screen sizes:
    * value <= 7 a sevel line subscreen
    * value > 7  a 16 line subscreen
       ls_subscriber-height = 7.
       APPEND ls_subscriber TO re_subscribers.
    ENDMETHOD.
    implement 2nd badi : ZME_PROCESS_PO_CUST:
    method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER.
       DATA: l_persistent TYPE mmpur_bool.
       FIELD-SYMBOLS: <fs> LIKE LINE OF ch_fieldselection.
    * if the item is already on the database, we disallow to change field badi_bsgru
       l_persistent = im_header->is_persistent( ).
    *   IF l_persistent EQ mmpur_yes.
         READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY metafield = mmmfd_cust_01.
         IF sy-subrc IS INITIAL.
           <fs>-fieldstatus = '*'. " Input
         ENDIF.
    *   ENDIF.
    endmethod.

  • Added custom screen in PO using BADI ME_GUI_PO_CUST and ME_PROCESS_PO_CUST

    Hi All,
    I have added custom screen with two z fields at item level using BADI ME_GUI_PO_CUST and ME_PROCESS_PO_CUST i can see my screen in tcodes ME21N , ME22N , ME23N but I am not able to save data.
    and also screen is coming in change mode even in ME23N .
    thanks.

    Hi,
    I have added two xfields at item level.
    This is the code i have added in zimplementation ZME_GUI_PO_CUST .
    IN Zimplementation ME_PROCESS_PO_CUST I have added code only in method FIELDSELECTION_ITEM . after doing this I can see only screens in ME21N, ME22N, ME23N but when enter data in zfields and trying to save it is giving me message no data has changed.
    method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.
    DATA: ls_subscriber LIKE LINE OF re_subscribers.
    we want to add a customer subscreen on the item detail tab
      CHECK im_application = 'PO'.
      CHECK im_element     = 'ITEM'.
    each line in re_subscribers generates a subscreen. We add one subscreen in this example
      CLEAR re_subscribers[].
    the name is a unique identifier for the subscreen and defined in this class definition
      ls_subscriber-name = subscreen1.
    the dynpro number to use
      ls_subscriber-dynpro = '0001'.
    the program where the dynpro can be found
      ls_subscriber-program = 'SAPLYMEPOBADIEX'.
    each subscreen needs his own DDIC-Structure
      ls_subscriber-struct_name = 'MEPO_BADI_STRUCT'.
    a label can be defined
      ls_subscriber-label = text-001.
    the position within the tabstrib can be defined
      ls_subscriber-position = 4.
    the height of the screen can be defined here. Currently we suport two screen sizes:
    value <= 7 a sevel line subscreen
    value > 7  a 16 line subscreen
      ls_subscriber-height = 7.
      APPEND ls_subscriber TO re_subscribers.
      ENDIF.
    method IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_MODEL.
      DATA: l_item       TYPE REF TO if_purchase_order_item_mm,
            ls_mepoitem  TYPE mepoitem,
            ls_customer  TYPE mepo_badi_exampl.
    system asks to transport data from the business logic into the view
      CASE im_name.
        WHEN subscreen1.
    is it an item? im_model can be header or item.
          mmpur_dynamic_cast l_item im_model.
          CHECK NOT l_item IS INITIAL.
    transport standard fields
          ls_mepoitem = l_item->get_data( ).
    transport customer fields
          CALL FUNCTION 'YMEPOBADIEX_GET_DATA'
            EXPORTING
              im_ebeln = ls_mepoitem-ebeln
              im_ebelp = ls_mepoitem-ebelp
            IMPORTING
              ex_data  = ls_customer.
    store info for later use
          MOVE-CORRESPONDING ls_mepoitem TO dynp_data_pbo.
          MOVE ls_customer-badi_bsgru TO dynp_data_pbo-badi_bsgru.
          MOVE ls_customer-badi_afnam TO dynp_data_pbo-badi_afnam.
        WHEN OTHERS.
      ENDCASE.
    endif.
    method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_DYNP.
      CASE im_name.
        WHEN subscreen1.
          CALL FUNCTION 'YMEPOBADIEX_PUSH'
            EXPORTING
              im_dynp_data = dynp_data_pbo.
        WHEN OTHERS.
      ENDCASE.
    ENDIF.
    endmethod.
    method IF_EX_ME_GUI_PO_CUST~TRANSPORT_FROM_DYNP.
      CASE im_name.
        WHEN subscreen1.
          CALL FUNCTION 'YMEPOBADIEX_POP'
            IMPORTING
              ex_dynp_data = dynp_data_pai.
          IF dynp_data_pai NE dynp_data_pbo.
    something has changed therefor we have to notify the framework
    to transport data to the model
            re_changed = mmpur_yes.
          ENDIF.
        WHEN OTHERS.
      ENDCASE.
    ENDIF.
    endmethod.
    method IF_EX_ME_GUI_PO_CUST~TRANSPORT_TO_MODEL.
    DATA: l_item       TYPE REF TO if_purchase_order_item_mm,
            ls_mepoitem  TYPE mepoitem,
            ls_customer  TYPE mepo_badi_exampl.
    data have to be transported to business logic
      CASE im_name.
        WHEN subscreen1.
    is it an item? im_model can be header or item.
          mmpur_dynamic_cast l_item im_model.
          CHECK NOT l_item IS INITIAL.
          ls_mepoitem = l_item->get_data( ).
    standard fields changed?
         IF dynp_data_pbo-matkl NE dynp_data_pai-matkl OR
            dynp_data_pbo-plifz NE dynp_data_pai-plifz OR
            dynp_data_pbo-webaz NE dynp_data_pai-webaz.
    update standard fields
           ls_mepoitem-matkl = dynp_data_pai-matkl.
           ls_mepoitem-plifz = dynp_data_pai-plifz.
           ls_mepoitem-webaz = dynp_data_pai-webaz.
            CALL METHOD l_item->set_data( ls_mepoitem ).
         ENDIF.
            CALL FUNCTION 'YMEPOBADIEX_GET_DATA'
              EXPORTING
                im_ebeln = ls_mepoitem-ebeln
                im_ebelp = ls_mepoitem-ebelp
              IMPORTING
                ex_data  = ls_customer.
            ls_customer-badi_bsgru = dynp_data_pai-badi_bsgru.
            ls_customer-badi_afnam = dynp_data_pai-badi_afnam.
            CALL FUNCTION 'YMEPOBADIEX_SET_DATA'
              EXPORTING
                im_data = ls_customer.
         ENDIF.
        WHEN OTHERS.
      ENDCASE.
    ENDIF.
    method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_ITEM.
    DATA: l_persistent TYPE mmpur_bool.
    CONSTANTS:
    FIELD-SYMBOLS: <fs> LIKE LINE OF ch_fieldselection.
    l_persistent = im_item->is_persistent( ).
    *IF l_persistent EQ mmpur_yes.
    READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY
                         metafield = MMMFD_YYMAN_NUM."fd_cust_01.
    IF sy-subrc IS INITIAL.
    <fs>-fieldstatus = '*'. " Display <-- this one was as per the sample code given.
    <fs>-fieldstatus = '+'. " Input <-- this i added to make the field mandatory.
    ENDIF.
    READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY
                         metafield = MMMFD_YYMAN_DES."fd_cust_01.
    IF sy-subrc IS INITIAL.
    <fs>-fieldstatus = '*'. " Display <-- this one was as per the sample code given.
    <fs>-fieldstatus = '+'. " Input <-- this i added to make the field mandatory.
    ENDIF.
    *ENDIF.
    ENDIF.
    endmethod.

  • Custom screen not displaying using BADI ME_GUI_PO_CUST

    Hello Experts,
    I was working on BAD ME_GUI_PO_CUST to add custom subscreen on header
    I have created a subscreen ZNRD_SAPMEGUI_PO with number 9999.
    I have created implementation of ME_GUI_PO_CUST as ZME_GUI_PO_CUST.
    I have added screen details to the BADI.as follows
    CALLPROGRAM = SAPLMEGUI.
    Scr No = 1102
    Subscreen area = TABSTRIPCONTROL2SUB
    Program called = ZNRD_SAPMEGUI_PO
    Scr no = 9999.
    Now to the method SUBSCRIBE to the implemented BADI ZME_GUI_PO_CUST
    I have wriiten the following codes.
    method if_ex_me_gui_po_cust~subscribe.
    data: ls_subscriber like line of re_subscribers.
    if sy-tcode eq ' ME21N' or sy-tcode eq 'ME22N' or sy-tcode eq 'ME23N'.
    check im_application = 'PO'.
    check im_element = 'HEADER'.
    * CLEAR re_subscribers[].
    ls_subscriber-name = 'ZNRD_SAPMEGUI_PO'.
    ls_subscriber-dynpro = '9999'.
    ls_subscriber-program = 'SAPLMEGUI'.
    *ls_subscriber-struct_name = 'MEPO_SUBSCRIBERS'.
    ls_subscriber-label = 'Customer Data'.
    ls_subscriber-position = 10.
    ls_subscriber-height = 7.
    append ls_subscriber to re_subscribers.
    endif.
    endmethod.
    BADI is active
    Now when irun ME21N i dont see the additional custom tab on header coming up.
    Please guide will be appreciated.
    Regards,
    Ranjith

    Hi
    I have been through the documentation friends still I am unable to go ahead thats the I am seeking your help.
    Please guide.
    Shailaja could you please explain why do i need to use the user-exit  MM06E005 when I am using the BADI.
    Regards,
    Ranjith N

  • BAPI_SALESORDER_CHANGE add new line and conditions with a condition value

    Hi,
    I am using BAPI_SALESORDER_CHANGE to add new lines to a credit memo. All works fine except that I can not seem to put a condition value on the new lines. The condition is created but with a value of 0. I can popluate the condition amount field, KBETR but not KWERT. BAPICONDX seems to only have the COND_VALUE field in it and not CONDVALUE as in BAPICOND. Does anyone have any idea how to do this? In the code below I just want to change the material on the first line of the credit memo and not add the condition. Then add new lines with the the condition.
    lw_order_header_inx-updateflag  = 'U'.
      LOOP AT i_accru INTO wa_accru.
        lv_count = lv_count + 1.
        lv_posnr = lv_count * 10.
    * Order Items
        lw_order_item_inx-itm_number = lv_posnr.
        lw_order_item_inx-material   = 'X'.
        IF lv_count = 1.
          lw_order_item_inx-updateflag    = 'U'.
        ELSE.
          lw_order_item_inx-updateflag    = 'I'.
        ENDIF.
        APPEND lw_order_item_inx TO lt_order_item_inx.
        lw_order_item_in-itm_number = lv_posnr.
        lw_order_item_in-material   = wa_accru-vakey.
        APPEND lw_order_item_in TO lt_order_item_in.
    * Conditions
        IF lv_count <> 1.
          lw_conditions_inx-itm_number = lv_posnr.
          lw_conditions_inx-cond_st_no = '905'.
          lw_conditions_inx-cond_count = '01'.
          lw_conditions_inx-cond_type  = 'ZHIE'.
          lw_conditions_inx-currency   = 'X'.
          lw_conditions_inx-updateflag = 'I'.
          APPEND lw_conditions_inx TO lt_conditions_inx.
          lw_conditions_in-itm_number = lv_posnr.
          lw_conditions_in-cond_st_no = '905' .
          lw_conditions_in-cond_count = '01'.
          lw_conditions_in-cond_type  = 'ZHIE'.
          lw_conditions_in-condvalue  = wa_accru-accru.
          lw_conditions_in-currency   = 'GBP'.
          APPEND lw_conditions_in TO lt_conditions_in.
        ENDIF.
      ENDLOOP.
    * Change the credit memo
      CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
        EXPORTING
          salesdocument               = lv_vbeln
          order_header_in             = lw_order_header_in
          order_header_inx            = lw_order_header_inx
    *   SIMULATION                  =
    *   BEHAVE_WHEN_ERROR           = ' '
    *   INT_NUMBER_ASSIGNMENT       = ' '
    *   LOGIC_SWITCH                =
    *   NO_STATUS_BUF_INIT          = ' '
        TABLES
          return                      = lt_return
          order_item_in               = lt_order_item_in
          order_item_inx              = lt_order_item_inx
    *   PARTNERS                    =
    *   PARTNERCHANGES              =
    *   PARTNERADDRESSES            =
    *   ORDER_CFGS_REF              =
    *   ORDER_CFGS_INST             =
    *   ORDER_CFGS_PART_OF          =
    *   ORDER_CFGS_VALUE            =
    *   ORDER_CFGS_BLOB             =
    *   ORDER_CFGS_VK               =
    *   ORDER_CFGS_REFINST          =
    *   SCHEDULE_LINES              =
    *   SCHEDULE_LINESX             =
    *   ORDER_TEXT                  =
    *   ORDER_KEYS                  =
         conditions_in               = lt_conditions_in
         conditions_inx              = lt_conditions_inx
    *   EXTENSIONIN                 =
      IF sy-subrc = 0.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    * EXPORTING
    *   WAIT          =
    * IMPORTING
    *   RETURN        =
      ENDIF.

    Hi Rob,
    Have you managed to solve this issue. If so, could you please share the solution.
    I am also facing similar problem.
    Thanks for your help.
    Anoop

  • Need to enhace tcode FD32 to add new screen fields on the initial screen

    Hi All,
    I am supposed to add two new screen fields on the initial screen of TCODE FD32,
    I am unable to find any screen exit for that. Is there any screen exit present for that or is there any way to do this.
    Kindly help me, solutions will be greatly rewarded.
    Thanks in advance,
    Nagaraju.

    check below
    Transaction Code - FD32                     Change Customer Credit Management                                                                               
    Exit Name           Description                                                                               
    RFDRRANZ            User exits: Accounts Receivable Information System                                                                               
    No of Exits:          1                                                                               
    Rewards if useful...............
    Minal

  • ME21N to Add New Screen Fields ME_GUI_PO_CUST.

    Hi All,
            Req : To New TAB with Custom Fields for ME21N.
                     I Created a Custom Module Pool Prog with Reruired SUBSCREEn.
                     I am able to See the TAB but Unable to See the SUBSCREEN
                     and it is Displaying the RUNTIME ERROR .
    One of the programs "CL_SCREEN_VIEW_MM=============CP" or "ZGDEO_100 " is currently being developed.
    The name "SET_SUBSCREEN_AND_PROG" of the called routine may be incorrect, or the routine "SET_SUBSCREEN_AND_PROG" is not yet implemented in the program "ZGDEO_100  ".
    *SOURCE CODE OF SUBSCRIBE
    Method SUBSCRIBE.
    CHECK im_application = 'PO'.
    CHECK im_element = 'ITEM'.
    CLEAR re_subscribers[].
    ls_subscriber-name = subscreen1. ( Not Sure WHAT TO PROVIDE )
    IF Leave it as subscreen1, it Says that it is Not Declared.
    ls_subscriber-dynpro = '0100'. "SubSCREEN.
    ls_subscriber-program = 'ZGDEMO_100'. " Custom Module Pool prog
    ls_subscriber-struct_name = 'CI_EKKODB'.
    ls_subscriber-label = text-001.
    ls_subscriber-position = 5.
    ls_subscriber-height = 7.
    APPEND ls_subscriber TO re_subscribers.
    *SOURCE CODE OF MAP_DYNPRO_FIELDS                 
    MAP_DYNPRO_FIELDS Code:
    FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
    LOOP AT ch_mapping ASSIGNING <mapping>.
    CASE <mapping>-fieldname.
    WHEN 'ZZMARK1'. <mapping>-metafield = mmmfd_cust_01.
    ENDCASE.
    ENDLOOP.
    CAN ANY ONE PLEASE HELP ME In THIS REGARDS.
    Note : Points Will be Awarded

    Hi Ganapati,
    Please check this link:
    http://wiki.sdn.sap.com/wiki/display/ABAP/DetailedexplanationaboutBADIandthewaystofindtheBADIwithanexample%28ME23n+transaction%29
    Thanks,
    Hung To

  • Create new tab in header using badi ME_GUI_PO_CUST for tcode ME21N

    Dear all,
    i have implemented method SUBSCRIBE in ME_GUI_PO_CUST to create new tab in ME21N,
    but the tab is not coming
    following is the code snips, please tell where is the error, or some setting needs to be done
    method IF_EX_ME_GUI_PO_CUST~SUBSCRIBE.
    DATA: ls_subscriber LIKE LINE OF re_subscribers.
    if sy-tcode eq ' ME21N' OR SY-TCODE EQ 'ME22N' OR SY-TCODE EQ 'ME23N'.
      CHECK im_application = 'PO'.
      CHECK im_element     = 'HEADER'.
    CLEAR re_subscribers[].
      ls_subscriber-name = 'Customer-Data'.
      ls_subscriber-dynpro = '0101'.
      ls_subscriber-program = 'SAPLMEGUI'.
      ls_subscriber-struct_name = 'MEPO_SUBSCRIBERS'.
      ls_subscriber-label = 'Customer Data'.
      ls_subscriber-position = 10.
      ls_subscriber-height = 7.
      APPEND ls_subscriber TO re_subscribers.
    ENDIF.
    endmethod.
    Regards
    Sumodh

    Hi...I hv similar requirement.
    I need to show a custom field in the screen for the items.
    I tried using the methods "SUBSCRIBE" and "MAP_DYNPRO_FIELDS" as explained in the sample code.
    Below is my code. I have copied the sample code and changed it lil.
    Method "SUBSCRIBE":
      DATA: ls_subscriber LIKE LINE OF re_subscribers.
    we want to add a customer subscreen on the item detail tab
      CHECK im_application = 'PO'.
      CHECK im_element     = 'ITEM'.
    each line in re_subscribers generates a subscreen. We add one subscreen in this example
      CLEAR re_subscribers[].
    the name is a unique identifier for the subscreen and defined in this class definition
      ls_subscriber-name = subscreen1.
    the dynpro number to use
      ls_subscriber-dynpro = '9000'.
    the program where the dynpro can be found
      ls_subscriber-program = 'SAPLZMMPO1'.
    each subscreen needs his own DDIC-Structure
      ls_subscriber-struct_name = 'ZMM_PO_CUST_SCREEN'.
    a label can be defined
      ls_subscriber-label = text-t01.
    the position within the tabstrib can be defined
      ls_subscriber-position = 13.
    the height of the screen can be defined here. Currently we suport two screen sizes:
    value <= 7 a sevel line subscreen
    value > 7  a 16 line subscreen
      ls_subscriber-height = 7.
      APPEND ls_subscriber TO re_subscribers.
    method "MAP_DYNPRO_FIELDS":
      FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
    *- customer fields
      CONSTANTS: mmmfd_cust_01 TYPE mmpur_metafield VALUE 90000000.
      LOOP AT ch_mapping ASSIGNING <mapping>.
        CASE <mapping>-fieldname.
          WHEN 'CLMNO'. <mapping>-metafield = mmmfd_cust_01.
        ENDCASE.
      ENDLOOP.
    I created a function group - "ZMMPO1" and created the subscreen 9000 in that. I placed the custom field in that screen. Tha main program of ZMMPO1 is "SAPLZMMPO1".
    I created a structure also - "ZMM_PO_CUST_SCREEN".
    I want to know whether this is sufficient to display the tab on the screen or am I missing something.
    It is mentioned that the implementation of "ME_PROCESS_PO_CUST" is a pre-requisite.
    could you lemme know the process please.
    Thanks,
    Ram.

  • Unable to add custom tab in ME21N using BADI ME_GUI_PO_CUST

    Dear All,
    I need one extra tab in Item Details of ME21N.
    This extra tab should have two fields of my own.
    I have put the coding in the SUBSCRIBE method of the implementation of the BADI ME_GUI_PO_POST as follows:
    data: ls_subscriber like line of re_subscribers.
    we want to add a customer subscreen on the item detail tab
      check im_application = 'PO'.
      check im_element     = 'ITEM'.
    each line in re_subscribers generates a subscreen. We add one subscreen in this example
      clear re_subscribers[].
    the name is a unique identifier for the subscreen and defined in this class definition
      ls_subscriber-name = 'Event Details'.
    the dynpro number to use
      ls_subscriber-dynpro = '0001'.
    the program where the dynpro can be found
      ls_subscriber-program = 'SAPLMEPOBADIEX'.
    each subscreen needs his own DDIC-Structure
      ls_subscriber-struct_name = 'ZSM_PO_STRUC'.
    a label can be defined
      ls_subscriber-label = 'Event ID'.
    the position within the tabstrib can be defined
      ls_subscriber-position = 5.
    the height of the screen can be defined here. Currently we suport two screen sizes:
    value <= 7 a sevel line subscreen
    value > 7  a 16 line subscreen
      ls_subscriber-height = 7.
      append ls_subscriber to re_subscribers.
    I put breakpoints in the implementation of the method, and it is going into it, yet the extra tab is not getting displayed on the screen.
    Please give your suggestions on this.
    Regards,
    Prosenjit.

    Hi Prosengit,
    I am not aure about u r BADI,
    BUt last week i have custom tab in the PO header data using this enahncement 'MM06E005'.
    IN thi senhancement u have thrre screen exits.In this enhancement
    SAPMM06E        0111 CUSTSCR1 SAPLXM06        0111 Subscreen: PO item
    u can add subscreen and u can add u r own fields here .
    and u can write u r code in 'EXIT_SAPMM06E_006'.
    if u want to change the title of the program.
    Go to program SAPLXM06 then go to text element give text symbol no as '111' and u can change the title of u r tab.
    I hope this solves u r problem.

  • How to Add New Parameter in Cluster with LabVIEW Executable Program?

        In this VI,it can write the parameter in Cluster to the database (Access 2003).it run well.
        But When I add another parameter in Cluster,such as EE,I have to modify this Cluster. And at the same time,I have to modiy the database (I should add a column of EE).if this vi build to exe, how can I achieve it?Can LabVIEW have any way to increase new parameter EE in Cluster and in Database in executable program?
        Would you give me some advice?Thank you
    Attachments:
    Add ParaMeter In Cluster 20130206.zip ‏105 KB
    Cluster.JPG ‏9 KB

    It's rather unclear what you try to do here. In your first post you talk IMHO about the high level Datatbase Toolkit functions that take a cluster and translate it automagically into the appropriate SQL Query/Update.
    Your second question seems to be about the user interface of your application.
    Proper application design would mean to separate the user interface aspect from the actual database query in some ways. I definitely wouldn't use the same cluster for both. Also if you simply hide a control on the frontpanel (possible also in an executable) it still is present logically and if you end up using the high level database toolkit functions with that cluster it will result into a query or update of the database with all the data in the cluster, also the hidden ones.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

Maybe you are looking for

  • Enhanced status of Purchase Order

    Hi Experts, Is it possible to enhance the status of purchase order in ECC? The client requested to custermize the status and the sequence which is I'm not sure. Please advise if you have any ideas. Rgs, Michelle

  • C6 Problem with Google Sync

    I have a brand new Nokia C6 with me. In this i cant synchronize my contacts or calendar. Whenever i try to connect it is givind a message like "Your Account does not have permission to synchronize with curren settings. Contact your administrator." Ca

  • NETUI input tag support for disabled option

    In a standard HTML form, you can disable a field from being editable by specifying DISABLED such as <input type=checkbox name='Authorized' checked disabled> In NETUI, some fields support the readonly flag..but others do not... specifically <netui:che

  • Photoshop 7 and raw files

    I have a Canon 30D and Photoshop 7.  I would like to process raw photos but don't know how to do it.  PS 7 says it's an unreadable format.  Any suggestions?  Thanks!

  • Warum geht modern combat 3 fallen nation nicht auf i Pod 3 iOs 4.2.1

    bei mir geht das spiel nicht auf den iPod da steht ist mit dem iPod nicht kompatibel was nun???