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,
VictoriaHi,
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 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,
Sonyusing 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 guideHi,
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
SKKread 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. -
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,
DavidThanks 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 AMHi 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,
NikhilHi 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,
SubasHi,
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. 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 ShuklaHi 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
-
How can I get Lightroom 5.7 into the "Open With" menu on an external Harddrive?
Using Lightroom 5.7, I imported photo images as a .dng. I edited the images in lightroom. Then I dragged the file from the local Disk (C) to an external Hard drive (left panel of Library). When I look in the External harddrive, I would like to see
-
How to delete parent and child records?
Hi friends, I have a Master table and a child table. The Child table got reference key with the master table without on delete cascade. Now, I want to delete the Master records and also it's corresponding child records. How to do? Thanks in adv, rega
-
Why won't 10.5 Server install on my G4 Cube?
Hello all, I have a Cube running Leopard 10.5.8 and I have a copy of OS X Leopard Server I would like to install on it to use as a home network server. But when I run the installer it tells me this computer does not meet the hardware requirements for
-
My front screen won't let me swipe and I can't turn off my phone to restart it either because my lock button is broken. What do I do?
-
Kmem_alloc Buffer: kmem_magazine_63 had 242 fails !
I have a problem with a Oracle VM for sparc I installed Solaris 11 with Oracle Database 11g on a virtual machine and frequently rebooted my Machine I have in the logs as error message Mpanic [CPU2] / thread = 40036274720: December 5 8:08:45 p.m. unix