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.
Similar Messages
-
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 -
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 -
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.
thanksSudheer, 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. -
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,
RomanLook 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,
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. -
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 RaiHi 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 -
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. -
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 -
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 -
EXIT BADI FOR ME21N ME22N AND ME23N
Hello Boys.
I want to change the field 'Tax code' (MWSKZ) in a Purchase order on transaction ME21N, ME22N AND ME23N.
I want to change thios field in a BADI, USER EXIT or ENHANCEMENT-POINT.
But I can't find where change this field.
thanks for your help.
Best regards.Try Badi : ME_PROCESS_PO_CUST
CALL METHOD im_item->get_data
RECEIVING
re_data = v_data_item.
Your code to change the tax code
CALL METHOD im_item->set_data( v_data_item ).
<REMOVED BY MODERATOR>
Edited by: Aparna Shekhar on Jun 12, 2008 11:33 AM
Edited by: Alvaro Tejada Galindo on Jun 12, 2008 12:52 PM -
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
-
Inutilização de NFe com erro de validação
Srs. Gostaria de tirar uma duvida mais "funcional" do processo de uma nfe, que seria a seguinte, caso uma NFE esteja com erro de validação no GRC, se o erro e o status voltou para o ERP e na j1bnfe ela esta com status 8, eu poderia solicitar a inutil
-
Acrobat X Pro v 10.1.10 (Mac OS 10.9.3) hangs when trying to save some PDF files, after opening or after commenting. Applies for any of the Save options. "Watch" then "spinning beach ball" appear and application is indicated as "not responding." M
-
Web Sharing won't start anymore.
http://img187.imageshack.us/img187/5320/kuva7tg5.jpg "Web share is starting" and nothing happens. I wonder why, it worked a couple days ago.
-
Following Artists Does Not Display More Than 300 Entries.
Hello, This has been an issue for a long time now, with the web player. The Artists List, Following, etc. do not show more than 300 entries.I follow something 800+, and can't see over half of my 'music collection' on this service. Please for the love
-
Questions about Trex migration
Hello experts, I have some questions about Trex migration. We have to migrate our Trex instances to another Hardware type (and operating system type). Is it somehow possible to export the Trex database (indexes etc.) on the source Trex, and then impo