ME_GUI_PO_CUST & ME_PROCESS_PO_CUST   - ME21N/ME22N/ME23N

Guyz,
i'm in the process of adding a custom field on me21n transaction and upon going through the documentation of aforementioned badis,  i assumed i should get my own tab and field by just overwriting code in SUBSCRIBE & MAP_DYNPRO_FIELDS of badi ME_GUI_PO_CUST. i just copied model implementations and deleted code in other methods and changed in above two methods based on my dictionary table 'ZTEST' (field is XREF). despite this i'm not getting my tab in me21n -item detail tab at the bottom of me21n......
below is my code...
<u><b>SUBSCRIBE Code :</b></u>
  CHECK im_application = 'PO'.
  CHECK im_element     = 'ITEM'.
  CLEAR re_subscribers[].
  ls_subscriber-name = subscreen1.
  ls_subscriber-dynpro = '9000'. "'0001'.
  ls_subscriber-program =  'SAPLZPOTAGGING'."'SAPLMEPOBADIEX'.
  ls_subscriber-struct_name =  'ZTEST'.
  ls_subscriber-label = text-001.
  ls_subscriber-position = 5.
  ls_subscriber-height = 7.
  APPEND ls_subscriber TO re_subscribers.
<u><b>MAP_DYNPRO_FIELDS Code:</b></u>
  FIELD-SYMBOLS: <mapping> LIKE LINE OF ch_mapping.
  LOOP AT ch_mapping ASSIGNING <mapping>.
    CASE <mapping>-fieldname.
      WHEN 'XREF'. <mapping>-metafield = mmmfd_cust_01.
    ENDCASE.
  ENDLOOP.
added to this ME23N is giving me a dump saying
<b>One of the programs "CL_SCREEN_VIEW_MM=============CP" or "SAPLZPOTAGGING "
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
"SAPLZPOTAGGING ".</b>
Any pointers please ....
Message was edited by:
        Sreedhar Kurella

funny to see myself replying to my own thread....anyways here are your quick answers...
documentation is good from badi perspective but it doesnt talk about dynpro framework integration etc.... i assume u have to add a field at line item level....to start with enhance CI_EKPODB/CI_EKKODB append structures inside EKPO with require fields and activate ...create a test module pool and with an element in it and activate.... copy example code from SUBSCRIBE & MAP_TO_DYNPRO_FIELDS method of BADI and change in relevant places like for ur module pool name and screen number.... activate the badi and run ME23N... u shud see ur new field.... in method FIELD_SELECTIONITEM, copy the example code and change the value beiing assigned as '+' against ur mmpur_cust01...so that u can view in ME21N/ME22N also...
now comes the real programming skills for integrating ur fields an dcapturing logic in standard transaction.... my suggestion is to put break point in all methods of two badis and debug the screen which makes u aware of the method flow.....good luck....

Similar Messages

  • New tab implementation at item level in ME21N/ME22N/ME23N.

    Hi Friends,
    I have implemented two badis 1. ME_GUI_PO_CUST and 2. ME_PROCESS_PO_CUST to get a new tab at item level in ME21N/ME22N/ME23N, I could see this new tab only in ME23N but not in ME21N/ME22N, and I found that Badi ME_PROCESS_PO_CUST is not getting triggered for any of these tcodes : ME21N/ME22N/ME23N. Can anybody help me getting this issue resolved with coding example as well.
    Thanks in Advance.

    Hi Know ,
    I know that we have to use the following BADIs
    ME_PROCESS_PO_CUST
    ME_GUI_PO_CUST
    But I does not know what are the methods to be implemented
    and what is the code we have to write in that methods .
    Thanks in advance ,
    Siva.

  • In transactions ME21n, ME22n, ME23n I need to add new field to item detail

    Hello,
    In transactions ME21n, ME22n, ME23n I need to add a new field  to the table control TC_1211, in SAPLMEGUI screen 1211 for PO line items.  The new field is UNSPSC Code, a 30 char field, which will be enterable/changeable on the ME21n, ME22n screens and display only on ME23n. 
    BADI ME_PROCESS_PO_CUST enables you to extend the business logic of the Enjoy purchase order.  Is this the correct BADI to use for the purpose of adding a new input/output field to the PO detail SAPLMEGUI screen 1211?   
    Does anyone have any examples of adding a new field to PO Item Detail screen using BADI ME_PROCESS_PO_CUST?  I have had some experience creating Badi's, and would appreciate very much some sample code if possible. 
    We are on release SAP ERP Central Component 5.0
    SAPKB64018     SAP Basis Component
    SAPKA64018     Cross-Application Component
    SAPKH50013     Logistics and Accounting
    Thank you,
    Victoria

    Hi,
    Thank you for the response.  I tried this and found  Badi ME_PROCESS_PO_CUST.  Do you have any examples of adding a new cust field to PO Item overview screen using badi ME_PROCESS_PO_CUST? I have had little experience creating badi's, and would appreciate very much some sample code if possible.
    In transactions ME21n, ME22n, ME23n I need to add a new field in PO Item overview (screen 1211 of SAPLMEGUI). The new field ZZUNSPSC, has been appended to table EKPO as a 30 char field, which will be enterable/changeable on the ME21n, ME22n screens and display only on ME23n.
    Can you tell me if method FIELDSELECTION_ITEM of badi ME_PROCESS_PO_CUST the correct one to use for the purpose of adding a new input/output field to the PO item overview on SAPLMEGUI screen 1211?
    Thank you for help - much appreciated,
    Vicki

  • How to add a custom button on Application Toolbar for ME21N, ME22N & ME23N

    Hi Experts,
    I am new to this forum. I hope someone will help me.
    My Requirement is as :
    I want to add a new custom button on Application Toolbar for ME21N, ME22N & ME23N.
    There are already standard buttons in this toolbar which is Document Overview On, Hold, Personal Settings etc.
    So after the 'personal settings' button i want add a new button and want to write a code which will open one custom screen.
    I am not able to find any exit for this....
    Please help...
    Thanks....

    Hey Buddies
    Try below BADI : ME_PROCESS_PO_CUST
    and check with required methods.
    1)PROCESS_ITEM
    2)CHECK
    3)POST
    Regards,
    Pranav

  • How to make the custom field enable/disable in ME21n/ME22n/ME23n trans

    Hi Experts,
    I need help.
    I have created one custom field in the transaction ME21n/ME22n/ME23n under customer data 2 tab. But my problem is the field is always in enable (means editable only)  even in Display mode. How to make the field is non editable in display mode and editable in change mode.
    I have tried by putting some logic to make that field to change alternatively according to change/display button. And it is working fine but if we click any othe button , this field is becoming editable even in display mode.
    How to make this field to behave as standard fields?
    Please reply me <removed by moderator>
    Thank you in advance.
    Best Regards,
    Divakar.
    Edited by: Thomas Zloch on Mar 2, 2012

    If you have BADI implimented for custom tabs then you can do this in method ME_PROCESS_PO_CUST~FIELDSELECTION_ITEM
    lv_changeable = im_header->is_changeable( ).
      LOOP AT ch_fieldselection ASSIGNING <fs>
        IF lv_changeable IS INITIAL.
          <fs>-fieldstatus = '*'. " Display
        ELSE.
          <fs>-fieldstatus = '+'. " Change
        ENDIF.
    endloop.

  • ABAP runtime error while doing ME21N, ME22N, ME23N, ME51N,ME52N, ME53N

    Dear All Expert,
    I am facing problem while doing ME21N, ME22N, ME23N, ME51N,ME52N, ME53N,
    Please find the below ABAP Runtime Error.
    Runtime Errors         LOAD_TYPE_VERSION_MISMATCH
    Date and Time          10.02.2011 11:13:07
    Short text
         Change of a Dictionary structure at runtime of a program.
    What happened?
         Runtime error
         The current ABAP program "CL_IM_WRF_MM_PROC_PO==========CP" had to be
          terminated because one
         of the statements could not be executed at runtime.
    What can you do?
         Restart the program.
         If the error persists, contact your SAP administrator.
         You can use the ABAP dump analysis transaction ST22 to view and manage
         termination messages, in particular for long term reference.
    Error analysis
         The ABAP runtime system detected that the Dictionary-type "WRF_POHF_KOMP_STY"
          changed
         during the flow of the transaction.
         As the type was already used in the old version
         and in the new type should be used in the same transaction in the new
          version, the transaction had to be cancelled to avoid inconsistencies.
    How to correct the error
        Try to restart the program.
    System environment
        SAP-Release 700
        Application server... "iqe"
        Network address...... "172.25.0.85"
        Operating system..... "Linux"
        Release.............. "2.6.9-55.ELsmp"
        Hardware type........ "x86_64"
        Character length.... 16 Bits
        Pointer length....... 64 Bits
        Work process number.. 0
        Shortdump setting.... "full"
        Database server... "iqe"
        Database type..... "ORACLE"
        Database name..... "IQE"
        Database user ID.. "SAPSR3"
        Terminal................. "MUMJML5727"
        Char.set.... "C"
        SAP kernel....... 700
        created (date)... "Dec 26 2010 20:17:07"
        create on........ "Linux GNU SLES-9 x86_64 cc3.3.3"
        Database version. "OCI_102 (10.2.0.2.0) "
    Patch level. 285
    Patch text.. " "
    Database............. "ORACLE 10.1.0.., ORACLE 10.2.0.., ORACLE 11.2...*"
    SAP database version. 700
    Operating system..... "Linux 2.6"
    Memory consumption
    Roll.... 16192
    EM...... 25139088
    Heap.... 0
    Page.... 40960
    MM Used. 8038136
    MM Free. 4528408
    User and Transaction
    Client.............. 600
    User................ "JKMM"
    Language key........ "E"
    Transaction......... " "
    Transactions ID..... "4D524AD1FD7A42F9E1000000AC190055"
    Program............. "CL_IM_WRF_MM_PROC_PO==========CP"
    Screen.............. " "
    Screen line......... " "
    Information on where terminated
        The termination occurred during generation of the ABAP/4 program
         "CL_IM_WRF_MM_PROC_PO==========CP".
        The termination occurred in line 213
        of the source code of program "CL_IM_WRF_MM_PROC_PO==========CM007" (when
         calling the editor 2130).
    Source Code Extract
    Line  SourceCde
      183   DATA: l_flag TYPE wrf_pbas_boolean.
      184
      185   CALL FUNCTION 'WRF_POHF_MSG_READ_PREVIEW_FLAG'
      186     IMPORTING
      187       e_preview_flag = l_flag.
      188
      189   IF NOT l_flag IS INITIAL.
      190
      191     DATA: l_header TYPE REF TO cl_po_header_handle_mm.
      192
      193     MOVE im_header ?TO l_header.
      194
      195     CALL METHOD l_header->if_output_mm~preview( ).
      196
      197     CALL FUNCTION 'WRF_POHF_MSG_RESET_PREV_FLAG'.
      198
      199 ***$ Widening Cast for printing information.
      200 **    CALL FUNCTION 'WRF_POHF_STORE_PRINT_INFO_SET'
      201 **      EXPORTING
      202 **        im_header = l_header.
      203
      204 * Printing Preview
      205 * IF NOT gv_preview IS INITIAL.
      206 *    CALL METHOD l_header->if_output_mm~overview( ).
      207 *    CALL METHOD l_header->if_output_mm~preview( ).
      208 * clear gv_preview.
      209   ENDIF.
      210
      211 *  ENDIF.
      212
    >>>>> ENDMETHOD.
    Internal notes
        The termination was triggered in function "ab_RxDdicStruShareFailed"
        of the SAP kernel, in line 2539 of the module
         "//bas/700_REL/src/krn/runt/abtypload.c#11".
        The internal operation just processed is " ".
        Internal mode was started at 20110210111306.
        Name of the changed type......: "WRF_POHF_KOMP_STY"
        New version of the type.......: 20070508193207
        Old version of the type.......: 20070508193207
        New user......................: "Type" "WRF_POHF_KOMP_STY"
        Version of the new user.......: 20070508193207
        Old user......................: "???" "???"
        Version of the old user.......: "???"
    Active Calls in SAP Kernel
    Lines of C Stack in Kernel (Structure Differs on Each Platform)
    (CTrcStack2+0x78)[0x6cbb78]
    (CTrcStack+0xb)[0x6cc17b]
    (ab_rabax+0x3be5)[0xb8d985]
    (_Z24ab_RxDdicStruShareFailedPKtm4RUDIS0_S1_S0_+0x163)[0xb16823]
    (_Z19ab_GetDdicTypeIndexPKtm4RUDI+0x1f6)[0xb0dbb6]
    (_Z11ab_LoadViewPtjPKtPK11PROGRAMHEADPj+0x27e)[0xb16ede]
    (_Z18ab_GetDdicTypeLoad4RUDI+0x6e)[0xb1705e]
    (ab_GetView+0xc1d)[0xb0ee1d]
    (_Z20CompressInitRcByDatajPK6CG_DIRjjS1_jj4RUDIPKhj+0x60d)[0xe32b2d]
    (_Z21cg_CompressStackFrameP4TRIGjj+0x169)[0xe33399]
    (_Z8cg_blkleP3ENV+0x75f)[0xe4779f]
    (_Z9sc_cblklePKt8ENV_KINDP7SC_INFO+0x394)[0xe90024]
    (sc_blkle+0xdd)[0xec6e4d]
    (rs_oper_abap1729+0x37)[0x10eb237]
    (rs_expan_abap+0xa1996)[0xfd7a2a]
    (_Z8sc_expanj+0x76d)[0xe1d55d]
    (_Z5parsejPi+0x258)[0xe19998]
    (sc_check+0xb9c)[0xe1857c]
    (sc_inclu+0x5fa)[0xe0d50a]
    (rs_oper_abap2160+0x3a)[0x1115d6a]
    (rs_expan_abap+0xcd41d)[0x10034b1]
    (_Z8sc_expanj+0x76d)[0xe1d55d]
    (_Z5parsejPi+0x258)[0xe19998]
    (sc_check+0xb9c)[0xe1857c]
    (sc_checkStart+0x41)[0xe1ac51]
    (cg_generate+0xb65)[0xe57755]
    (ab_gabap+0x14a)[0xb01a5a]
    (dy_gen_abap+0x63c)[0x74428c]
    (ab_genprog+0x13d3)[0xb03d13]
    (_Z17ab_LoadProgOrTrfoPKtjPj+0xb56)[0x8f9ab6]
    (_Z11ab_LoadProgPKtj+0x11)[0x8f9ca1]
    (_Z15LoadGlobalClassPKtjjj9ClasState+0x24c)[0x958c2c]
    (_Z11FillCfixIntPK4CREFP4CFIXjj9ClasState+0x214)[0x957404]
    (_Z11ab_FillCfixtj+0x65)[0x957ae5]
    (_Z26ab_CrefToCladId_ActivateOKtPh+0x7d)[0x957b6d]
    (_Z8ab_jaboov+0x623)[0x959793]
    (_Z8ab_extriv+0x607)[0x8ba9c7]
    (_Z9ab_xeventPKt+0x1c1)[0xa1c021]
    (_Z8ab_triggv+0x9c)[0xa1c77c]
    (ab_run+0x97)[0xbde5c7]
    (N_ab_run+0x9)[0x736359]
    (dynpmcal+0x669)[0x7333b9]
    (dynppai0+0x8eb)[0x734d9b]
    (dynprctl+0x3e9)[0x733db9]
    (dynpen00+0x4a5)[0x726eb5]
    (Thdynpen00+0x359)[0x541bd9]
    (TskhLoop+0xc49)[0x54d999]
    (ThStart+0x20f)[0x55b29f]
    (DpMain+0x2da)[0x4bd49a]
    (nlsui_main+0x9)[0x4910c9]
    (main+0x33)[0x491103]
    /lib64/tls/libc.so.6(__libc_start_main+0xdb)[0x3cde51c3fb]
    Please help me to resolve the issue.
    Thanks & Regards
    SKK

    read this part again:  The ABAP runtime system detected that the Dictionary-type "WRF_POHF_KOMP_STY" changed during the flow of the transaction. As the type was already used in the old version and in the new type should be used in the same transaction in the new version, the transaction had to be cancelled to avoid inconsistencies. How to correct the error Try to restart the program
    how often had you restarted ME21N before you posted this message?
    In best case this message appears only once, because the program / or dictionary was changed while you executed ME21N
    If many times, then contact your ABAPer, because then he probably did not transport all objects that were changed, or the objects have to be regenerated in your system.

  • Needs to be Hide Additional Planning button on ME21N/ME22n/ME23n

    Hi All-
    Is there anyway we can disable the 'Additional Planning' push button on 'ME21N/ME22N/ME23N' either using user-exit or 'BADI's?
    Please let me know..
    Thanks,
    Sony

    using transaction variants we can disable the additional planning button in the me21n/me22n/me23n
    transaction code for creating a transaction variant is SHD0.

  • Badi for me21n,me22n,me23n

    HI experts,
          CAn any one help me out infinding a badi for me21n,me22n,me23n, which triggered on every press of enter key or some other check, so that i could kept a validation for the header and item fields of the t.codes

    Hi,
    Go for BADI,
    Follow the below steps to find out what all BADI's are called when you press any button in any transaction.
    1) Goto se24 (Display class cl_exithandler)
    2) Double click on the method GET_INSTANCE.
    3) Put a break point at Line no.25 (CASE sy-subrc).
    Now
    4) Execute SAP standard transaction
    5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
    6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    7) This way you will find all the BADIs called on click of any button in any transaction.
    Reward points if useful....
    Regards
    AK

  • ME21N, ME22N, ME23N call ME12 instead of ME13

    Hi
    Our users would like to be able to go from ME21N, ME22N, ME23N and directly to ME12, so that they can make changes in the info records.
    As standard the transaction codes ME21N, ME22N, ME23N calls up ME13 which is display mode of the info recrod.
    I have some concerns to make this change and that is weather the changes made in ME12 will take effect in ME21N if they are creating a PO and want to make changes to the info record.
    The other thing is that it might be difficult to control the changes made in the info records if it is possible to do this "on the fly" and not consider the consequenses of the change, other than to satisfy and here-and-now need for a certain issue.
    If we want to proceed with this, how would I do this the best way to call up ME12 in stead of ME13.
    Best regards
    Birgitte Hamborg Jakobsen

    Hi,
       I cant understand why you want to go to ME12 directly instead of ME13 from ME2*N transactions. In case the user want to change anything, he can go to menu - info record - change from ME13 directly. I dont think its worth spending time and effort to change it to ME12.
       Even though you change anything in info record from ME2*N transactions, the changes wont reflect back to your PO. The changes will be reflected in new PO only, not in already created documents.
    Regards,
    AKPT

  • Print preview in ME21N/ME22N/ME23N

    Hi!
    In transactions ME21N/ME22N/ME23N we can see PO print preview after we click Print preview button.
    Is it possible to deactivate upper toolbar in this preview??
    Or deactivate:  Go to -> 'View list'   in this toolbar?

    Thanks for your answers.
    Now, I have another question:
    How can I transport transaction variant assigning??
    On developer system I created transaction variant, variant group and assigned users to it.
    It works perfectly.
    Transaction variant and variant group I assigned to Workbench request and transported it to Test System 1 (TE1)
    Assigning user to variant group I assigned to Customizing transport and transported to Test System 1 (TE1).
    However it doesn't work correctly on TE1.
    I have to go again into SHD0 on TE1 and assign users to variant group. Then it works.
    Now I have acces to TE1 to SHD0 but I will don't have it soon.
    How can I transport transaction variant assigning??
    How can I activate my variant globally?  For all users??
    I typed * in User field. Is it correctly??
    regards,
    Michal

  • Material descri screen level field greyout in ME21N/ME22N/ME23N-Urgent

    Hi,
    I have a requirement in ME21N/ME22N/ME23N is that when i want to change a PO, the material short description field should be grey out after the material is entered in the item level.
    Can anybody suggest me how to do screen level field greyout in ME21N/ME22N/ME23N.
    Thanks in advance,
    Esaki

    Hi,
    This query can be solved by modifying some configuration part. Your MM consultant in project can do this or you can also try this following meintioned path: Goto tcode SPRO
    SPRO>Materials Management>Purchase Order-->Define Screen layout at document level.
    In this screen layout for the mentioned transactions ME21N/ME22N/ME23N ,material short description field can be greyed out by selecting display mode for that field.
    For more clarification refer documentation against this point in SPRO.
    Hope this solves your problem.
    Regards,
    Brajvir

  • New Tab on header level for me21n/me22n/me23n

    Hi Friends
    i have created a new tab on the me21n/me22n/me23n  header level using the exit
    MM06E005 , The tab is displayed but i am not unable to udate the records into the
    EKKO  Table whereas i have added my field in the include of  EKKO  CL_EKKODB
    Kindly somebody help me with elaborated steps  .
    Thanks & Regards
    Digvijay Rai

    Hi Digvijay,
    Once the data is entered on the screen ..code is written to update the table ie...
    flow of data from custom screen for header is OK..but for display and change we need to
    import the data in a similar manner to the customer subscreen or the tab added in header level
    As you can see the following 3...code must be done in EXIT_SAPMM06E_006/007 to fetch data to customer subscreen for display/change actions..use 006/007 for PBO/PAI actions..
    EXIT_SAPMM06E_006   Export data to customer subscreen for header(PBO)....INCLUDE ZXM06U36
    EXIT_SAPMM06E_007   Export data to customer subscreen for header(PAI)....INCLUDE ZXM06U38 .
    EXIT_SAPMM06E_008   Import data from customer subscreen for header
    Pls check and revert..in addition
    go to smod->MM06E005-> "documentation" -> Display to read more on documentation about data flows and exits used for it
    Hope it helps
    Regards
    Byju

  • ME21N / ME22N / ME23N Spec2000 tab is missing

    Dear All,
    Once we implied the lastest support package into our system, the Spec2000 tab which was shown at the bottom of the ME21N - ME22N - ME23N pages dissapeared. I have investigated this issue for two weeks but the result is "FAIL". Quick help is needed.
    Best Regards.
    Eray

    Thanks for the quick response, but I have already implemented this OSS Note into our system. However, problem remains as it is.
    Let me explain another way. The problem is mainly about the customization problem, I think. In my opinion, I have to activate Spec2000 tab through SPRO, but I don't know the relevant activation process. Furthermore, if any enhancement package is infected because of the Support Package, this case needs to be taken into account.
    Thanks in advance.
    Eray

  • Add new column in ITEM data of ME21N/ME22N/ME23N

    Hi Experts,
    We have a requirement to add a custom field in ITEM data of transactions ME21N, ME22N and ME23N. A new column is required that would appear as checkbox. We have already tried screen exit MM06E005 but it is adding a new tab and the new field under the ITEM DETAIL data. We have also read that BADI ME_GUI_PO_CUST would do the job but it will be under the ITEM DETAIL as well.
    <<text removed>>
    Thanks
    Edited by: Matt on Mar 9, 2009 11:06 AM - expressions of urgency can be perceived as rudeness

    Hi,
        If you want to make the new field to appear as check box...Go to the screen layout from its module pool program --> right click on that field and Convert it to Check Box. This would help you.
    Regards,
    Swapna.

  • On ME21N / ME22N / ME23N  PUT SOME TAB INVISIBLE.

    Hi,
    I need put the text tab on this transactions me21n me22n and me23n INVISIBLE for some users, how can i do this?
    tks.
    Carlos Siqueira.

    We had a requirement for hiding the tab Spec2000 in item detail.
    The code in the enhancement implementation AD_S2K_SUB_LMEGUIU08 in function module MEGUI_BUILD_PO_ITEM_PLUGIN was commented out to remove the extra tab as the structure that is linked to this tab was MEPO1339.
    May be the same works for you for the other tab.

Maybe you are looking for