MM06E005 - Change or Create mode ME21N, ME22N - GET_TRANSACTION_STATE

We need to find whether the PO is in create or change mode.
In program SAPLMEGUI, there are calls to method GET TRANSACTION_STATE.  Here is an example:
    call method l_header->get_transaction_state
      importing
        ex_trtyp = l_aktyp.
Now then, when you are processing an EXIT screen say SAPLXM06 0101 and you are in the PBO, how can you call this method?  What class is already resident and available?

Hi
Don't u need to use any IMPORT, u need to consider that fm EXIT_SAPMM06E_006 and 0101 belong to the same function group (XM06), that means the both object can see the global data defined in top include ZXM06TOP.
So u need to define a variable like I_TRTYP where u can stores the value trasnfered by EXIT_SAPMM06E_006:
INCLUDE ZXM06TOP
DATA: V_TRTYP(1) TYPE C.
INCLUDE ZXM06U36
V_TRTYP = I_TRTYP.
Dynpro 101
PROCESS PBO.
  MODULE LOOP_SCREEN.
MODULE LOOP_SCREEN.
   IF V_TRTYP = 'A'..
     LOOP AT SCREEN. 
        SCREEN-INPUT = 0. " I suppose the field are designed for input/output
        MODIFY SCREEN.    "so SCREEN-INPUT = 1 by default
     ENDLOOP.
  ENDLOOP.
ENDMODULE.
Max

Similar Messages

  • Change ekko-zterm in ME21N/ME22N

    Hi experts,
    I´m looking for change ekko-zterm field (Payment terms) in ME21N/ME22N Transaction that appears with default data. I want to show this field empty and that the user write manually (or F4).
    At the moment I change the field in EXIT_SAPMM06E_012 using FM, but this exit only works when 'SAVE' or 'MECHECKDOC', but i want change this field before.
    I try to put those FM in other exits (EXIT_SAPMM06E_006,  EXIT_SAPMM06E_007) , but  the program go to an infinite Loop.
    Anybody can help me?.  Thank you.
    Regards.

    Hi,
    I´m trying in IF_EX_ME_PROCESS_PO_CUST~PROCESS_HEADER, and clear zterm field clearing ls_mepoheader-zterm, it´s ok, but now my problem is when the user writes the field, the Badi clear it and i want that it only happen once time.
    I´m trying with a variable export/import to memory id, but memory id ever appears empty.  Do you know how can i save this variable or if there is a standard parameter that was marked when the user did the change?
    Thanks.

  • How we can change Vendor details in ME21n/ME22n

    Hi Friends,
    How we can change Vendor details in ME21n.
    I need to change mail id of vendor based on some conditions.
    E.g Based on some Purchase grps.
    Can any body help.
    If any particular user exit ple let me know.
    I have all list of user exits of ME package.
    Thanks,
    Kumar.

    Hi,
    Changing Vendor on Purchase Order
    One PO can not have different vendors.  Its logical as one PO goes to one vendor with address.
    You cannot change the Vendor once you have saved the Purchase Order.   SAP treats the Purchase Order as a legal document. Therefore, once the Purchase Order is saved, it will not let you change the vendor.
    You have to delete all the line items and then create another Purchase Order.  However, if you are using Enjoy Purchase Order, you can "Hold" the Purchase Order rather than save it after you have create it, then you can change the vendor.
    Of course, this means that you don't have any output yet.  Therefore, you are not bounds by a legal document as you have not given it to a specific supplier yet.
    Logically, you cannot change an important field after creating a document.  It defeats the RDBMS principle, but you can change vendor while doing Invoice Verification.
    No, you cannot change vendor in released PO, because vendor registration carries some vital configuration information which decides pricing procedure for the items of the PO, logically due to this reasons system doen't allow to change vendor name once PO is released.
    Normal practise to come out for this routine problem in purchasing is solved by, simply delete this PO (By changing delivery as completed in PO) and make a new PO for these items.
    Eventually, you have only two options:
    1. You can do the entire transaction with that wrong vendor number and after MIRO you can transfer post the vendor liability to correct vendor through FI route. BUT THIS IS A WRONG PRACTICE.
    2. You need to cancel the PO which has wrong vendor number and create it again with correct vendor code.
    Thanks
    Balaji

  • CHANGE in standard transaction ME21n/ME22N/ME23N

    Hello Forum,
    My client's business require me to add two new columns in PO schedule line items.
    These two columns are to be taken from EKET table.
    I have got the access key to modify the standard transaction.
    I have located that it has to be added in program:SAPLMEGUI at screen#1320.
    Any inputs how to proceed further.
    thanks

    Sudheer, your point well taken
    But I have to add two columns and not two fields, in PO Sch Line Item.
    I have mentioned program name SAPLMEGUI at screen#1320. I guess its  a table control and I have to add modify that table control to add new columns into it.
    Kindly reply back with suggestions for the same.
    In this case no screen exits can help me.

  • Changing Tab Names in  ME21N

    Hi All,
    I need to change tabstrip labels in ME21N, ME22N, ME23N on standard (delievered) tabs Additional Data & Communication.
    I have a dedicated system and therefore freedom to change delievered objects. Does anyone know where in the config/code the tabstrip labels in ME21N reside?
    Thanks,
    Roman

    Look at the text element for the program SAPLMEGUI in se38 (Goto -> Text elements -> Text Symbols).
    <b>H03     Communications data
    H09     Additional data</b>
    Make the changes to those text elements and the name of the tabstrip will change.
    Cheers!
    Rishi

  • Addition of the tab in the PO Create / Change using ME21N/ME22N Via BADi.

    Hi All,
    I am trying to add an additional tab in the scree of the Transacton ME21N / ME22N at the Item Level. The Label  of the tab is 'Test123'.
    I have already created a Separate screen ZTEST1_111 Dynpro 0100 and have a box with two input fields and the twp radio buttons
    and a Push button.
    I have Created the Implementation of the BAdi ME_GUI_PO_CUST and have Written the code inside the Method Suscribe where I have put in the code as follows:
    wa_susc-name = 'BOX1'.
    wa_susc-program = 'ZTEST1_111'.
    wa_susc-dynpro = '0100'.
      wa_susc-STRUCT_NAME = 'ZMEPO_BADI_STRUCT1'.
      wa_susc-label = 'Test123'.
    wa_susc-position = 5.
    wa_susc-height = 7.
    append wa_susc to RE_SUBSCRIBERS.
    I have also written some piece of code to the other methods as well.
    Please do let me know where have I gobe wrong. why there is no result inspite of doing the right coding.
    Am I missing on something...?
    Please guide me the right way..? If in case I need to do anything more..?
    Regards,
    Deepak.

    Hi,
    You have to implement ME_PROCESS_PO_CUST for this.
    method if_ex_me_process_po_cust~fieldselection_item this method enables you to influence the field selection properties for a field.
    By making changes to this table CH_FIELDSELECTION - Field selection table, you can influence the display properties of a field.
    it has following for selection status
    '-'   Field is suppressed
    *''   Field is purely a display field
    '.'   Input field
    '+'  Mandatory field.
    Hope this helps.
    Regards,
    Pawan

  • Doesn't allow us to change the commitment item in ME21N/ME22N

    Hi,
    We have prepared Po for Stock transfer Order by using Item Category I, without PR. While making Po we have two line items... 1st line item the material is DMFRL1023 (Raw Material) & 2nd line item is DMFRC1051 (Raw Material). In Material DMFRL1023 itu2019s allowing to change the Commitment Item but  in 2nd line item it doesnu2019t allow to change the commitment item. The Valuation Class & VC: Sales order stk in both materials is same. The Gl which is attached in BSX transaction key in obyc is XXXXXX. And the same GL appears when we do the entry in new po against two materials because we have created Commitment item same no as GL which is non budgetable. But in Material DMFRL1023 it give us to change & for Material DMFRC1051 it doesnu2019t allow us to change the commitment item. If we changed that it will take previous commitment item (Default one).  There is no purchase Order history against both line item
    Kindly advice.
    Thanks in advance
    Regards,
    Nikhil

    Hi Nikhil,
    The way that commitment items are derived by transaction FMDERIVE can be the answer for your inquiry.
    I will explain to you in detail how to use the trace tool.
    Normally the derivation strategies are called at posting time several times. Please turn the trace of FMDERIVE On, as explained in SAP note 666322 (download the note in service marketplace). If you enter in transaction FMDERIVE you will see the trace button (a truck) were you click on activate.
    This is a customer tool where you can analyze the derivation log and find out how the Account Assignment objects are determined (values after and before the derivation process).
    Please do the following:
    a. Enter in FMDERIVE and activate the Trace
    b. Test again your issue in ME21N/ME22N.
    c. You will receive FMDERIVE trace screen with the values of account assignments. Probably you will receive more than one time this screen. If you see that the value is correct go to the next step clicking on button "X".
    Whenever you find that the value is incorrect (or empty), please do the following:
    d. In the FMDERIVE pop-up screen click on button "Display Log". When you click there you will see another screen.
    e. There, Go to Menu Goto -> Display Print Template
    f. Click on both folders to open the tree.
    In the first one you will see the Values after and Before.
    In the second one (Steps), you are able to see WHERE exactly was the change, what was happening during the execution of derivation rules, the RULES that it is in use in that step.
    All the derivation rules which are in use during the process will be marked with yellow line.
    If you check the trace log and the 'value after' is not correct, you should adjust your existing  derivation rule.
    If you find out that a derivation rule is responsible for the different behaviour on commitment item changes in MM transactions, I suggest you to find out the derivation rule and then adjust the target field settings.
    For this, please enter in the derivation rule -> Definition Tab, double click in the name of your Target Field (bottom part of the screen).
    There you will find the fields:
    ( ) Do not overwrite if Fld Already Filled    
    ( ) Overwrite with new value
    ( ) Overwrite with new value if new value is not empty.
    You should choose the most appropriate option for your business scenario.
    I hope this helps.
    Best Regards,
    Vanessa.

  • How to get the mode (change/display/create/edit) of a CRM WEBUI

    Hi,
    I have a table(custom) in my CRM WBUI ServiceContratc Page. Now I want to hide this table in create mode.
    Could you please let me know, how can I know in which mode I am on WEB UI(Like Create/Change/Display)
    Thanks,
    Aparna

    Hello,
    use below method to check whether view is editable/display mode ...
    me-->view_group_context->is_view_in_display_mode( me ). here "me" refers to the implementation class of view.
    Regards,
    Sandeep Kumar B

  • When attempting to create an SSRS Report in SharePoint 2010 Dashboard Designer and change the Server Mode from Report Center to SharePoint Integrated

    Hi,
    When attempting to create an SSRS Report in SharePoint 2010 Dashboard Designer and change the Server Mode from Report Center to SharePoint Integrated, I get the following unhandled exception:
    ************** Exception Text **************
    System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: Instance validation error: '2' is not a valid value for Microsoft.PerformancePoint.Scorecards.SqlReportViewData.SqlReportViewDataServerMode.
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSqlReportViewData.Write1_SqlReportViewDataServerMode(SqlReportViewDataServerMode v)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSqlReportViewData.Write3_SqlReportViewData(String n, String ns, SqlReportViewData o, Boolean isNullable, Boolean needType)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSqlReportViewData.Write4_SqlReportViewData(Object o)
       --- End of inner exception stack trace ---

    Hi,
    According to your post, an error occurred when you integrate SQL Server Reporting Services with SharePoint.
    1. Please check the steps as the link below:
    http://technet.microsoft.com/en-us/library/ff724283(v=office.14).aspx
    2. Try to clean the configuration cache on all of your SharePoint servers and re-tested.
    http://blogs.msdn.com/b/josrod/archive/2007/12/12/clear-the-sharepoint-configuration-cache-for-timer-job-and-psconfig-errors.aspx
    Best Regards
    Dennis Guo
    TechNet Community Support

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

  • Badi & User Exit for ME21N & ME22N

    Hi,
            My requirement is when a Purchase order is created using ME21n or when a line is added or changed using ME22n, the system should copy the vendors tax jurisdiction to the purchase order line items jurisdiction code. I tried badi (ME_PROCESS_PO_CUST) but could not suceed. Can any one tell me if any badi or user exit available for the same???
    Thanks in Advance.

    hi,
    Enhancement/ Business Add-in            Description
    Enhancement
    MEQUERY1                                Enhancement to Document Overview ME21N/ME51N
    MEVME001                                WE default quantity calc. and over/ underdelivery tolerance
    MM06E001                                User exits for EDI inbound and outbound purchasing documents
    MM06E003                                Number range and document number
    MM06E004                                Control import data screens in purchase order
    MM06E005                                Customer fields in purchasing document
    MM06E007                                Change document for requisitions upon conversion into PO
    MM06E008                                Monitoring of contr. target value in case of release orders
    MM06E009                                Relevant texts for "Texts exist" indicator
    MM06E010                                Field selection for vendor address
    MMAL0001                                ALE source list distribution: Outbound processing
    MMAL0002                                ALE source list distribution: Inbound processing
    MMAL0003                                ALE purcasing info record distribution: Outbound processing
    MMAL0004                                ALE purchasing info record distribution: Inbound processing
    MMDA0001                                Default delivery addresses
    MMFAB001                                User exit for generation of release order
    MRFLB001                                Control Items for Contract Release Order
    MELAB001                                Gen. forecast delivery schedules: Transfer schedule implem.
    AMPL0001                                User subscreen for additional data on AMPL
    LMEDR001                                Enhancements to print program
    LMELA002                                Adopt batch no. from shipping notification when posting a GR
    LMELA010                                Inbound shipping notification: Transfer item data from IDOC
    LMEQR001                                User exit for source determination
    LMEXF001                                Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001                                Customer-Specific Source Determination in Retail
    M06B0001                                Role determination for purchase requisition release
    M06B0002                                Changes to comm. structure for purchase requisition release
    MEFLD004                                Determine earliest delivery date f. check w. GR (only PO)
    MEETA001                                Define schedule line type (backlog, immed. req., preview)
    ME590001                                Grouping of requsitions for PO split in ME59
    M06E0005                                Role determination for release of purchasing documents
    M06E0004                                Changes to communication structure for release purch. doc.
    M06B0005                                Changes to comm. structure for overall release of requisn.
    M06B0004                                Number range and document number
    M06B0003                                Number range and document number
    Business Add-in
    ME_PROCESS_PO                           Enhancements for Processing Enjoy Purchase Order: Intern.
    ME_PROCESS_COMP                         Processing of Component Default Data at Time of GR: Customer
    ME_PO_SC_SRV                            BAdI: Service Tab Page for Subcontracting
    ME_PO_PRICING_CUST                      Enhancements to Price Determination: Customer
    ME_PO_PRICING                           Enhancements to Price Determination: Internal
    ME_INFOREC_SEND                         Capture/Send Purchase Info Record Changes - Internal Use
    ME_HOLD_PO                              Hold Enjoy Purchase Orders: Activation/Deactivation
    ME_GUI_PO_CUST                          Customer's Own Screens in Enjoy Purchase Order
    ME_FIELDSTATUS_STOCK                    FM Account Assignment Behavior for Stock PR/PO
    ME_DP_CLEARING                          Clearing (Offsetting) of Down Payments and Payment Requests
    ME_DEFINE_CALCTYPE                      Control of Pricing Type: Additional Fields
    ME_COMMTMNT_REQ_RE_C                    Check of Commitment Relevance of Purchase Requisitions
    ME_COMMTMNT_REQ_RELE                    Check of Commitment Relevance of Purchase Requisitions
    ME_PROCESS_PO_CUST                      Enhancements for Processing Enjoy Purchase Order: Customer
    SMOD_MRFLB001                           Control Items for Contract Release Order
    MM_EDI_DESADV_IN                        Supplementation of Delivery Interface from Purchase Order
    MM_DELIVERY_ADDR_SAP                    Determination of Delivery Address
    ME_WRF_STD_DNG                          PO Controlling Reminder: Extension to Standard Reminder
    ME_TRIGGER_ATP                          Triggers New ATP for Changes in EKKO, EKPO, EKPV
    ME_TRF_RULE_CUST_OFF                    BADI for Deactivation of Field T161V-REVFE
    ME_TAX_FROM_ADDRESS                     Tax jurisdiction code taken from address
    ME_REQ_POSTED                           Purchase Requisition Posted
    ME_REQ_OI_EXT                           Commitment Update in the Case of External Requisitions
    ME_RELEASE_CREATE                       BAdI: Release Creation for Sched.Agrmts with Release Docu.
    ME_PURCHDOC_POSTED                      Purchasing Document Posted
    ME_PROCESS_REQ_CUST                     Enhancements for Processing Enjoy PReqs: Customer
    ME_PROCESS_REQ                          Enhancements for Processing Enjoy PReqs: Internal
    ME_COMMTMNT_PO_REL_C                    Check for Commitment-Relevance of Purchase Orders
    ME_CCP_BESWK_AUTH_CH                    BAdI for authorization checks for procuring plant
    ME_CCP_ACTIVE_CHECK                     BAdI to check whether CCP process is active
    ME_BSART_DET                            Change document type for automatically generated POs
    ME_BAPI_PR_CREATE_02
    ME_BAPI_PR_CREATE_01
    ME_BAPI_PO_CREATE_02
    ME_BAPI_PO_CREATE_01
    ME_BADI_DISPLAY_DOC                     BAdI for Internal Control of Transaction to be Invoked
    ME_ACTV_CANCEL_PO                       BAdI for Activating the Cancel Function at Header Level
    MEGUI_LAYOUT                            BAdI for Enjoy Purchasing GUI
    EXTENSION_US_TAXES                      Extended Tax Calculation with Additional Data
    ARC_MM_EKKO_WRITE                       BAdI: Enhancement of Scope of Archiving (MM_EKKO)
    ARC_MM_EKKO_CHECK                       BAdI: Enhancement of Archivability Check (MM_EKKO)
    ME_CCP_DEL_DURATION                     Calc. of Delivery Duration in CCP Process (Not in Standard)
    ME_COMMTMNT_PO_RELEV                    Check for Commitment-Relevance of Purchase Orders
    ME_COMMITMENT_STO_CH                    BadI for checking if commitments for STOs are active
    ME_COMMITMENT_RETURN                    Commitment for return item
    ME_CIP_REF_CHAR                         Enables Reference Characteristics in Purchasing
    ME_CIP_ALLOW_CHANGE                     Configuration in Purchasing: Changeability Control
    ME_CIN_MM06EFKO                         Copy PO data for use by Country version India
    ME_CIN_LEINRF2V                         BADI for LEINRF03 excise_invoice_details
    ME_CIN_LEINRF2R                         BADI for CIN India - Delivery charges
    ME_CHECK_SOURCES                        Additional Checks in Source Determination/Checking
    ME_CHECK_OA                             Check BAdI for Contracts
    ME_CHECK_ALL_ITEMS                      Run Through Items Again in the Event of Changes in EKKO
    ME_CHANGE_OUTTAB                        Enrich ALV Output Table in Purchasing
    ME_CHANGE_CHARACTER                     Customer-Specific Characteristics for Product Allocation
    No.of Exits:         35
    No.of BADis:         55
    Arunima

  • BADI for Disabling NetPrice field in ME21N & ME22N based of Material Type.

    Hi.
    I had a requirement to disable "net price" field while creating or changing a PO (ME21N & ME22N) based on the type of material entered.
    Please asssit me in finding the BADI or exit name which can meet my requirement. Thanks.

    Hi Ranga nadh,
       The BAdi what you have mentioned is correct.
    ME_PROCESS_PO_CUST - In this BAdi, we are having a method PROCESS_ITEM. These method is used to process all the Item data. As the field Netprice is at the level. You can use this method.
    Here inside this method we are having a parameter IM_ITEM
    So, You create a implementation and inside this method you can code here to appear the field in disable mode.
    Cheers,
    Swamy Kunche

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

  • 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

  • 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

Maybe you are looking for