Need an USEREXIT before ME21N / ME22N Save happens 46C

I am on version 46c, and the BADI ME_PROCESS_PO_CUST is not there. Tried enhancement MM06E005 and MM06E004 , but not helpful. If there are some other Userexits which can be used, please let me know.
Req: need to modify some data on the line items as per a flag on the header level customer field.
Thanks
Kris

Hi Kris,
Please take a look at this available user exits.
EXIT_SAPMM06E_012 - Check Customer-Specific Data Before Saving                          
EXIT_SAPMM06E_013 - Update Customer's Own Data in Purchasing Document                   
EXIT_SAPMM06E_016 - Export Data to Customer Subscreen for Purchasing Document Item (PBO)
EXIT_SAPMM06E_017 - Export Data to Customer Subscreen for Purchasing Document Item (PAI)
EXIT_SAPMM06E_016 and EXIT_SAPMM06E_017 are the best place to change line item. I used in both places again it depends on your requirement for PBO or PAI.
Hope this will help.
Regards,
Ferry Lianto

Similar Messages

  • 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

  • HT1320 how can i save me data stored on a non responding ipod classic and says you need to format before using it?

    how can i save me data stored on a non responding ipod classic and says you need to format before using it?
    in another way : how can i save my date stored on my classic iPOD as a external hard .... when that msgs appears .... volume doesn't contain a recognized file system , make sure the file system is loaded .... then , you need to format ??? can anyone help ?

    It sounds like the iPod's storage has data corruption.  You may be able to treat it like an external drive and use data recovery software on it, but it probably won't work because the system is telling you that the drive needs to be formatted before it is recognized.
    If the problem is data corruption and there is no hardware-related problem on the iPod's hard drive, a Restore should fix the problem.  But this will obviously erase the iPod's hard drive.

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

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

  • Badi for ME21N & ME22N to check storage location

    Hello Guru's,
    I need BADI for ME21N & ME22N to check storage location is maintained for plant used in PO i'm using method IF_EX_ME_PURCHDOC_POSTED~POSTED with definition name ME_PURCHDOC_POSTED but this throws message on SAVE.
    But my requirement this message should be displayed before saving.Please guide

    Hi,
    Use BADI:
    ME_PROCESS_PO_CUST
    BADI CL_ME_PO_CUST
    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
    Edited by: Neenu Jose on Nov 21, 2008 6:13 AM
    Edited by: Neenu Jose on Nov 21, 2008 6:16 AM

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

  • I really need to go back to the save I made a day ago, my time machine is not set up and files haven't been automatically uploading to cc is there anyway I can go back a day in saves?

    Hi, I just had an issue with a photoshop document, my mac book temporarily crashed the screen glitches and deleted some vital layers I had constructed (took half a day) I thought I could correct it and saved it a few times in a panic and now i really need to go back to the save I made a day ago, my time machine is not set up and I just realised my files haven't been automatically uploading to cc is there anyway I can go back a day in saves?

    Trevor.Dennis wrote:
    So you don't have anything like Shadow Protect running in the background?
    Video editing software only needs to save the steps taken to achieve the edit, and references the actual video files from the hard drive.  So the saved files are only tiny, and it takes very little drive space to auto save to incrementing file names.  Obviously, Photoshop files can be huge by comparison, so the only way to save with a different file name is to do it manually.
    I think most regular posters to this forum make a point of updating the file name of a large project every hour or so, and as a direct response to reading so many horror stories like your own.  The worst story I remember was from a poster whose computer had crashed half way through saving a large PSD file.  After several response, questions and answers, it turned out he was using a laptop with a failing battery.  He told us that he could see the battery was getting low, but left it and left it before finally hitting Ctrl s and running off to find the laptop's power lead. When he got back the laptop had run out of power and shut down, and his PSD file was lost forever.  He may have been a prime candidate to a computing Darwin Award, but his stupidity still did the rest of us a service so we could learn from his mistake.
    Ouch. 
    My digital audio workstation works on the same principle; it creates a backup save just in case things go wrong (which--knock on wood--hasn't happened to me) and only references audio/MIDI files that are related to the project.
    My advice is to always, always back up sensitive documents. There are lots of ways of doing this, from manually to automatically. (e.g., A lot of higher-end routers let you connect external storage via USB so you can run backup software that detects any changes to a monitored folder over a network and then backs up any changed/updated documents to the connected storage. I prefer to do it myself manually, though.)

  • User exit for component data in ME21n/ME22n

    Hello,
    I have a requirement to issue an error message if a component quantity is not evenly divisible by the end item quantity.  The component data (BOM) is entered after clicking the components button on ME21n/ME22n at the item level detail.  I need to evaluate the data after a user clicks save, but I cannot find a user exit where the data is passed into, or where it is defined as global data where I can reference it in a user exit.  The data is stored on the screen in structure MDPM and stored in the database in table RESB.
    I appreciate any help,
    David

    Thanks for pointing me in the right direction.
    I was able to put my code in EXIT_SAPMM06E_012 and retrieve the component data through (SAPLEINK)XMDPM[]
    Below is the code I used to assign the data to be able to evaluate it.
    FIELD-SYMBOLS: <z_mdpm_x> TYPE ANY.
    DATA: i_mdpm_x TYPE STANDARD TABLE OF MDPM_X.
    Fetching Component data
      ASSIGN ('(SAPLEINK)XMDPM[]') to <z_mdpm_x>.
      CHECK sy-subrc = 0.
    Assigning data into an internal table
      i_mdpm_x[] = <z_mdpm_x>.
      CHECK i_mdpm_x[] IS NOT INITIAL.
    David
    Edited by: David Herrema on Oct 20, 2010 3:03 PM

  • Ehancement for to check the validations in ME21n,ME22n,ME28,ME29n

    Hi experts...
    I have one requirement in Ehancement for to check the validations in ME21n,ME22n,ME28,ME29n...
    If the PO document date is after 31.12.2010 and vendor Group 1800 then check the Inco-terms with "SET" values whether the user entered value fals with in the "SET" value, if so then allow to save the PO else Else system should read the "SET" values and suggest user to select correct Inco terms.
    Example when user enter wrong Inco-Terms then system shoud give Error Message Please Select Inco-terms CPT or DAP or FCA..
    Can any body plz suggest me the user exit or Is it possible through the enhancement Framework...
    plz help me how to proceedd??
    Thanks & Regards,
    Veena.
    Moderator Message: Spec-dumping is not allowed.
    Edited by: kishan P on Jan 3, 2011 11:00 AM

    Hi Veena,
    To find a BADI for a given tcode follow the below steps.
    1. Go to the TCode.
    2. Menu Item System -> Status.
    3. Double click on the transaction Name (For ME21N double click on ME21N).
    4. Check the Package (e.g. ME)
    5. Go to TCode SE80
    6. In the drop down choose Package and type the Package Name (e.g. ME). Dont forget to Hit Enter or display.
    7. Object Name Enhancements -> Business Add-ins (Def.) (You will see all the BADI's available here ).
    In your case, you need BADI : ME_BAPI_PO_CUST.
    Go to SE19 to implement the BADI.
    If you put your conditions in Create Purchase Order(ME21N), you will not need to add them in Release PO(ME28N) since the conditions will be checked when PO is created.
    Regards,
    Jovito.

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

  • Dump While Executing ME21N, ME22N and ME23N

    Hi,
    Am getting the below Short Dump while executing ME21N, ME22N and ME23N.
    Runtime Errors         SYNTAX_ERROR
    Date and Time          08.07.2009 15:41:00
    |Short text                                                                               
    Syntax error in program "ME_PROCESS_PO_CUST============CP ".
    |What happened?                                                                               
    |    Error in the ABAP Application Program                                                                               
    |                                                                               
    |    The current ABAP program "CL_EX_ME_PROCESS_PO_CUST======CP" had to be                     
    |     terminated because it has                                                                               
    |    come across a statement that unfortunately cannot be executed.                                                  
    |                                                                               
    |    The following syntax error occurred in program                                                                             
    |     "ME_PROCESS_PO_CUST============CP " in include                                                                 
    |     "ME_PROCESS_PO_CUST============CM000 " in                                                                      
    |    line 14:                                                                               
    |    "The specified type cannot be converted into the target variables."                         
    |    " "                                                                               
    |    " "                                                                               
    |    " "                                                                               
    |                                                                               
    |    The include has been created and last changed by:                                           
    |    Created by: "SILABAP "                                                                      
    |    Last changed by: "SILABAP "                                                                 
    |    Error in the ABAP Application Program                                                        
    |                                                                               
    |    The current ABAP program "CL_EX_ME_PROCESS_PO_CUST======CP" had to be                     
    |     terminated because it has                                                                   
    |    come across a statement that unfortunately cannot be executed.                               
    |Error analysis                                                                               
    |    The following syntax error was found in the program                                          
    |     ME_PROCESS_PO_CUST============CP :                                                          
    |    "The specified type cannot be converted into the target variables."                          
    |    " "                                                                               
    |    " "                                                                               
    |    " "                                                                               
    |Trigger Location of Runtime Error                                                                
    |    Program                                 CL_EX_ME_PROCESS_PO_CUST======CP                     
    |    Include                                 CL_EX_ME_PROCESS_PO_CUST======CM001                  
    |    Row                                     1                                                    
    |    Module type                             (METHOD)                                             
    Module Name                             IF_EX_ME_PROCESS_PO_CUST~INITIALIZE
    |Source Code Extract                                                                               
    |Line |SourceCde                                                                               
    |>>>>>|method IF_EX_ME_PROCESS_PO_CUST~INITIALIZE.                                                
    |    2|  CLASS CL_EXIT_MASTER DEFINITION LOAD.                                                    
    3
    |    4|  DATA l_badi TYPE REF TO ME_PROCESS_PO_CUST.                                              
    5
    6
    7
    8
    9
    |   10|  TRY.                                                                               
    11
    |   12|    GET BADI l_badi                                                                        
    |   13|     CONTEXT me.                                                                           
    14
    |   15|    CALL BADI l_badi->INITIALIZE                                                           
    |   16|.                                                                               
    17
    18
    19
    |   20|    CATCH CX_BADI_NOT_IMPLEMENTED CX_BADI_INITIAL_REFERENCE.                               
    Please let me know is there any OSS note to resolve the Issue.
    Thanks,
    Subas

    Hi,
    when I try to do the same in my system SAP gives me an information message as follows:-
    Changes to transported Business Add-In definitions are incompatible
    Message no. ENHANCEMENT236
    Diagnosis
    This business add-in definition has already been transported. Subsequent changes could invalidate existing business add-in implementations.
    System Response
    The runtime behaviour is no longer predictable. Syntax errors or short dumps may occur.
    Procedure
    If possible, do not make these changes. Alternatively, create a new business add-in definition incorporating the changes and use it, along with the existing definition.
    It clearly indicates that the BADI definition should not be changed if active implementations already exists.
    I am really now not sure how to solve your issue.
    Try deactiviting the standard BADI implementation.
    Then again add the filter and then remove it.
    And then try activating the BADI implementation once again.
    Regards,
    Ankur Parab

  • Hi everyone, I was wondering if someone can help me.  I recently got my first ever Ipod.  It's the new Ipod Nano 7th Generation.  I have tried to synchronise it with Itunes but it says "Connected, Eject before Disconnecting" but nothing happens.

    Hi everyone, I was wondering if someone can help me.  I recently got my first ever Ipod.  It's the new Ipod Nano 7th Generation.  I have tried to synchronise it with Itunes but it says "Connected, Eject before Disconnecting" but nothing happens.  I have tried uninstalling & re-installing Itunes but this didnt help. 
    Does anyone have any ideas? 
    Thanks for your help.

    I think the problem is that the iPod got set to Manually manage music and videos.  It needs to be set up for automatic syncing again.  Just unchecking that Manually manage music and videos setting does not do it.
    In iTunes 12, select the iPod in iTunes (using the device button), so that you see the iPod's "management" screen.  In the sidebar (along left side of screen), there are two headings (Settings and On My Device).  Under Settings, click on Music.  To the right, you see the iPod's Music screen, where you tell iTunes how to sync songs to the iPod.
    Check the box at the top for Sync Music.  That turns ON automatic syncing for music.  Below that, choose the option to sync Entire music library (assuming your music library fits completely on your iPod).  Otherwise, you can choose the option to sync Selected playlists, artists, albums, and genres and make your selections below.  Then click Apply.

  • Batch creation through ME21N, ME22N and MSC1N

    Hi All,
    Please note we are already using EXIT_SAPLV01Z_001, EXIT_SAPLV01Z_002, EXIT_SAPLV01Z_003, EXIT_SAPLCLFM_002, EXIT_SAPLV01Z_012, EXIT_SAPLV01Z_014 for Batch creation based on different logics for Material type, Plant and PO doc type and currently using these exits for logic it allows us to create new internal batch number during PO creation (ii) change already existing batch with some new number (of couse this number must not be used in some other PO) in PO change and (iii) create new internal batch number using MSC1N, by inputing plant, stor. loc etc. But currently i can create batch with 1 digit, 2 digit, and so on.
    The requirement is to allow user to create batches only with 10 digits during:
    (i)PO creation (ME21N)and PO change(ME22N) and also during
    (ii) transaction MSC1N
    currently in all three ME21N, ME22N or MSC1N it allows to create batch with 1 digit, 2 digit,3 digit and so on . i want to create batch with only 10 digit.
    Please tell this is possible through configuration steps or some changes are required to be done in above said user exit.
    Regards
    Rahul Shukla

    Hi Jurgen,
    Thanks for your reply.
    In ME21N i am able to assign batch in PO
    (1) By clicking on 'create' button appearing just side of Batch field in item Tab "Material". I think this create button is appearing due to user exit being applied here. Here it creates and assigns internal number automatically (from range 01in Batch_Clt) based on the Material type and Plant combination (Some logic defined in user exit)
    (2) By putting any random number manually (both numeric and alphanumeric)whether 1 digit, 2 digit,3 digit in Batch field in item Tab "Material" it will accept and in this case also po is saved.
    same way i can do changes in batch number in ME22N and able to save.
    In MSC1N also due to user exit applied if i give Material number alone  and enter, it assignes the internal batch number based on Material type and plant logic defined in user exit.here also if i input some random number manually in batch field it accepts and that random batch number is created for material.
    Now i want that i should be able to put random batch number manually but that number must be out of the number ranges defined in Batch_CLT object (Also the number must be exact 10 digits length as is there in defined number ranges) and not any random alphanumeric number . Also i am not able to understand how it is accepting random alphanumeric number (like ABC111)although all number ranges defined are numeric only.Also external number range is 0008000001 - 0089999999 which is numeric only.
    Regards
    Rahul

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

Maybe you are looking for