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.

Similar Messages

  • Require new tab at header level in ME21N using BADI

    Hi All,
    My requirement is add new tab with 8 new fields plus one button. On pressing this button header data need to copy at item detail level. I found two BADI's for that.
    ME_GUI_PO_CUST & ME_PROCESS_PO_CUST. Till now I am able to create new tab with require fields.
    Now help to put how to transfer data from header level to item detail level on pressing newly created push button.
    Also tell me how these data will save in EKKO table.

    Hi Vikas,
    hOPE U CAN USE
    PROCESS_HEADER
    PROCESS_ITEM methods of the badi used and the data will be stored in EKKO table if u populate them .
    let me know if any issues ....
    regards

  • 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.

  • Create a tab view item in obj-c for use in applescript studio

    I'm making an application with applescript studio. I want to be able to add tab view items to a tab view at the press of a button. The problem I have is applescript studio doesn't allow me to create a new tab view item. So I'm thinking I can create the tab view item using objective-c, pass that to my applescript, then add it to my tab view.
    In applescript I plan to use the following call methods to first create the tab view item object, and then add it to my tab view. The objective-c code which is called from the first line in the applescript code is below that. When I run my code I'm getting an error saying newTVI is not defined... so maybe you can see my error! Be kind to me because I'm new to objective-c and I'm sure that's where my problem lies. Anyway, I'd appreciate any help.
    ==Applescript calls to create and add a new tab view item
    set newTVI to call method "returnNewTabViewItem" of class "makeNewTabViewItem"
    call method "addTabViewItem:" of objMainTV with parameter newTVI
    ==Objective-c code to create the tab view item
    ==makeNewTabViewItem.h==
    #import <Cocoa/Cocoa.h>
    @interface makeNewTabViewItem : NSTabViewItem
    NSTabViewItem *newTVI;
    -(NSTabViewItem *)returnNewTabViewItem;
    @end
    == makeNewTabViewItem.m==
    #import "makeNewTabViewItem.h"
    @implementation makeNewTabViewItem
    -(NSTabViewItem *)returnNewTabViewItem
    newTVI = [[[NSTabViewItem alloc] initWithIdentifier:nil] autorelease];
    return newTVI;
    @end

    Please, any ideas?

  • How do i open a new tab similar to using ctrl+k in ie?

    how do i open a new tab similar to using ctrl+k in ie?

    Try Ctrl+t
    Most of the shortcuts should be listed on the full menus. To display the classic menu bar, tap the Alt key or press F10.
    Oops, sorry, Ctrl+k duplicates the current tab. To do that in Firefox, click in the URL of the page and press Alt+Enter.
    There also might be an add-on that creates a more convenient method.

  • Double tap to open new tabs in Safari using a trackpad

    Hi
    I've been using my trackpad to double tap next to open tabs in safari ie to create new tabs, over the last 2-3 days that feature has disappeared and it doesn't work any longer also if it does it may take as many as 5-10 taps to create a new tab.
    I remember setting this feature up when i first got Lion, but i can't find the settings now. Any help appreciated.
    Thank you & happy new year.

    Hi,
    Thanks, i've been through most of the settings as you've mentioned.
    Anyway what it came down to was i'd recently set up a bluetooth mouse, that is what stopped the function of double tap next to an open tab in safari to open a new tab. Very strange indeed.
    But alas i removed the mouse from setup fixed the problem, but thanks for your advice.

  • BUG:  Advanced Actions duplicated when creating NEW PROJECTS FROM TEMPLATE using Adobe Captivate 8.

    Need:  CREATE NEW PROJECTS FROM TEMPLATE using Adobe Captivate 8. 
    Problem:  NEW PROJECT (.cptx) duplicates the Advanced Actions originally configured within TEMPLATE FILE (.cpt.).
    For example: Template file (.cptl) advanced action "_initializeModule" gets duplicated as "_initializeModule1", "_initializeModule2", "_initializeModule3" within NEW PROJECT.  FYI, the original "_initializeModule" advanced action still appears.
    MAJOR BUG, what the heck is going on?!?!!!  Planning to deploy this template file to use for multiple courses with multiple users, this WILL cause epic confusion across the board.

    Similar problem, think they are working on it as well: when dragging a shared action from an external library to a slide or object event, and that action is using a parameter that was already created for another shared action, there will be a new parameter created which really screws up the shared action contrary to this problem. Tip: for the moment do not drag shared actions from an external library immediately to an event, but drag them first to the Library: Reuse Shared Actions in other Projects - Captivate 7 vs. 8 - Captivate blog

  • The keyboard shortcuts on the pull down menus are grayed out. So I cant use my keyboard to (for instance) open up a new tab. This is the case for all keyboard s

    The keyboard shortcuts on the pull down menus are grayed out. So I cant use my keyboard to (for instance) open up a new tab. This is the case for all keyboard s

    Mine appear in gray, too; I think that's just the style.
    Does this problem occur on all pages? (If it only appears on YouTube or other pages with Flash players, it may be related to keystrokes being captured by the plugin.)
    A standard diagnostic for possible interference by add-ons is to try Firefox's Safe Mode.
    First, I recommend backing up your Firefox settings in case something goes wrong. See [[Backing up your information]]. (You can copy your entire Firefox profile folder somewhere outside of the Mozilla folder.)
    Next, restart Firefox in Firefox's Safe Mode ([[Safe Mode]]) using
    Help > Restart with Add-ons Disabled
    In the Safe Mode dialog, do not check any boxes, just click "Continue in Safe Mode."
    If your keyboard shortcuts work correctly, this points to one of your add-ons or custom settings as the problem.
    Any change?

  • Error in badi ME_GUI_PO_CUST for ME21n/22n/23n

    Dear All,
    I want to add 1 tab in ME21n/22n/23n.
    In that 2 field in EKKO table using ci_ekkodb include is add
    For that I use badi ME_GUI_PO_CUST.
    in that
    MAP_DYNPRO_FIELDS
    TRANSPORT_FROM_MODEL
    TRANSPORT_TO_DYNP
    TRANSPORT_FROM_DYNP
    TRANSPORT_TO_MODEL
    these method find error do to field name passing.
    method IF_EX_ME_GUI_PO_CUST~MAP_DYNPRO_FIELDS.
      FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
        LOOP AT ch_mapping ASSIGNING <mapping>.
          CASE <mapping>-fieldname.
            WHEN 'ZZDEPT'.                                            " Field Name
              <mapping>-metafield = mmmfd_cust_03.
            WHEN 'ZZPOGR'.                                            " Field Name
              <mapping>-metafield = mmmfd_cust_04.
          ENDCASE.
        ENDLOOP.
    endmethod.
    Referening **************** - Step by step guide on adding a new tab in ME21N using a BADI
    Replay is appreciable.
    Regards,
    Pooja

    First you go to se18 and read documentation of this badi.
    You have to implement BAdI ME_PROCESS_PO_CUST before implementing this BAdI.
    Sample code is available here.... goto->sample code->display
    In case any doubt u ask..
    Regards
    Sreekanth

  • Extensions like Ghostery, WOT or AdBlock stop working after two or three times. Restarting the webpage in a new tab the extensions will work again for several times and then stop again. Has anybody an explanation or a workaround for this bug in Safari 5?

    Extensions like Ghostery, WOT or AdBlock stop working after two or three times. Restarting the webpage in a new tab the extensions will work again for several times and then stop again. Has anybody an explanation or a workaround for this bug in Safari 5?

    Remove the extensions, redownload Safari, reload the extensions.
    http://www.apple.com/safari/download/
    And if you really want a better experience, use Firefox, tons more choices and possibilities there.
    Firefox's "NoScript" will block the Trojan going around on websites. Best web security you can get.
    https://addons.mozilla.org/en-US/firefox/addon/noscript/
    Ghostery, Ad Block Plus and thousands of add-ons more have originated on Firefox.

  • Im getting message while i create new icloud id " no more free account for this iphone "

    im getting message while i create new icloud id " no more free account for this iphone "
    please help me if anyone knew the solution,
    thanks

    https://discussions.apple.com/message/24635931#24635931

  • Just upgrade to 33.1.1, terrible! new tab position not configurable, no response for clicking a link, how can I have the old version? Thanks!

    Just upgrade to 33.1.1, terrible! new tab position not configurable, no response for clicking a link, not going to the website by click "enter", "space" keyboard can not be the page down anymore, always die....
    how can I have the old version?
    Thanks!

    Just to clarify, let's say you have tab 1 Google results and tab 2 something else. When you Ctrl+click a link in tab 1, it opens between tab 1 and tab 2 instead of at the end? Here's how you switch that:
    (1) In a new tab, type or paste '''about:config''' in the address bar and press Enter. Click the button promising to be careful.
    (2) In the search box above the list, type or paste '''tabs''' and pause while the list is filtered
    (3) Double-click the '''browser.tabs.insertRelatedAfterCurrent''' preference to switch it from true to false.
    You can switch back to an earlier tab and test. Success?

  • A new tab always opens Yahoo versus wait for an address

    I downloaded an MP4 player and it did something to Mozilla such that every time I open a new tab it opens yahoo versus wait for a site address to find. How do I get rid of this nuisance?
    == Operating system ==
    Windows XP2002 SP 3

    Hello Jack C. Anderson,
    this problem could probably be caused by a Firefox extension.
    To make sure that no extension is causing the problems,
    start Firefox in Safe Mode by following the instructions in the [[Safe Mode]] article.
    Kind regards,
    Tobbi
    Firefox Support Volunteer

  • Create authorization for storage Loction for tcode ME21N

    Hi All,
         My requirement is to create authorization for storage Loction for tcode ME21N and ME51N.
         There are standard authorizations for Plant, Document type Group and Org for ME21N
         M_BANF_WRK, BSA,EKG, and EKO which i checked in TCODE SU24.
        But there is no std authorization check for storage location.
        If this is possible then please help me with the procedure and steps.
        Please guide me with all the steps that i need to take care abt..
       Thanks in Advance.
    Regards
    Sujeer

    Hi
    This is the authorization objects for PO and PR
    For PO : M_BEST_LGO  for palnt/Storage location
    For PR : M_BANF_LGO for palnt/Storage location

  • How to create new tab in Me21N using enhancement MM06E005

    Hi All,
    Can u guys please tell me know to create a new tab at item level in purhcase order ME21N using enhancement MM06E005.
    Thanks in advance.
    Thanks,
    Jaffer Ali.S

    Please search the forum:
    addition of new tab (reasons) on me21n (item level)
    Re: Adding a new Tab - ME22n - Item Detail Level

Maybe you are looking for