MM06E005 - Change or Create mode ME21N, ME22N - GET_TRANSACTION_STATE
We need to find whether the PO is in create or change mode.
In program SAPLMEGUI, there are calls to method GET TRANSACTION_STATE. Here is an example:
call method l_header->get_transaction_state
importing
ex_trtyp = l_aktyp.
Now then, when you are processing an EXIT screen say SAPLXM06 0101 and you are in the PBO, how can you call this method? What class is already resident and available?
Hi
Don't u need to use any IMPORT, u need to consider that fm EXIT_SAPMM06E_006 and 0101 belong to the same function group (XM06), that means the both object can see the global data defined in top include ZXM06TOP.
So u need to define a variable like I_TRTYP where u can stores the value trasnfered by EXIT_SAPMM06E_006:
INCLUDE ZXM06TOP
DATA: V_TRTYP(1) TYPE C.
INCLUDE ZXM06U36
V_TRTYP = I_TRTYP.
Dynpro 101
PROCESS PBO.
MODULE LOOP_SCREEN.
MODULE LOOP_SCREEN.
IF V_TRTYP = 'A'..
LOOP AT SCREEN.
SCREEN-INPUT = 0. " I suppose the field are designed for input/output
MODIFY SCREEN. "so SCREEN-INPUT = 1 by default
ENDLOOP.
ENDLOOP.
ENDMODULE.
Max
Similar Messages
-
Change ekko-zterm in ME21N/ME22N
Hi experts,
I´m looking for change ekko-zterm field (Payment terms) in ME21N/ME22N Transaction that appears with default data. I want to show this field empty and that the user write manually (or F4).
At the moment I change the field in EXIT_SAPMM06E_012 using FM, but this exit only works when 'SAVE' or 'MECHECKDOC', but i want change this field before.
I try to put those FM in other exits (EXIT_SAPMM06E_006, EXIT_SAPMM06E_007) , but the program go to an infinite Loop.
Anybody can help me?. Thank you.
Regards.Hi,
I´m trying in IF_EX_ME_PROCESS_PO_CUST~PROCESS_HEADER, and clear zterm field clearing ls_mepoheader-zterm, it´s ok, but now my problem is when the user writes the field, the Badi clear it and i want that it only happen once time.
I´m trying with a variable export/import to memory id, but memory id ever appears empty. Do you know how can i save this variable or if there is a standard parameter that was marked when the user did the change?
Thanks. -
How we can change Vendor details in ME21n/ME22n
Hi Friends,
How we can change Vendor details in ME21n.
I need to change mail id of vendor based on some conditions.
E.g Based on some Purchase grps.
Can any body help.
If any particular user exit ple let me know.
I have all list of user exits of ME package.
Thanks,
Kumar.Hi,
Changing Vendor on Purchase Order
One PO can not have different vendors. Its logical as one PO goes to one vendor with address.
You cannot change the Vendor once you have saved the Purchase Order. SAP treats the Purchase Order as a legal document. Therefore, once the Purchase Order is saved, it will not let you change the vendor.
You have to delete all the line items and then create another Purchase Order. However, if you are using Enjoy Purchase Order, you can "Hold" the Purchase Order rather than save it after you have create it, then you can change the vendor.
Of course, this means that you don't have any output yet. Therefore, you are not bounds by a legal document as you have not given it to a specific supplier yet.
Logically, you cannot change an important field after creating a document. It defeats the RDBMS principle, but you can change vendor while doing Invoice Verification.
No, you cannot change vendor in released PO, because vendor registration carries some vital configuration information which decides pricing procedure for the items of the PO, logically due to this reasons system doen't allow to change vendor name once PO is released.
Normal practise to come out for this routine problem in purchasing is solved by, simply delete this PO (By changing delivery as completed in PO) and make a new PO for these items.
Eventually, you have only two options:
1. You can do the entire transaction with that wrong vendor number and after MIRO you can transfer post the vendor liability to correct vendor through FI route. BUT THIS IS A WRONG PRACTICE.
2. You need to cancel the PO which has wrong vendor number and create it again with correct vendor code.
Thanks
Balaji -
CHANGE in standard transaction ME21n/ME22N/ME23N
Hello Forum,
My client's business require me to add two new columns in PO schedule line items.
These two columns are to be taken from EKET table.
I have got the access key to modify the standard transaction.
I have located that it has to be added in program:SAPLMEGUI at screen#1320.
Any inputs how to proceed further.
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. -
How to get the mode (change/display/create/edit) of a CRM WEBUI
Hi,
I have a table(custom) in my CRM WBUI ServiceContratc Page. Now I want to hide this table in create mode.
Could you please let me know, how can I know in which mode I am on WEB UI(Like Create/Change/Display)
Thanks,
AparnaHello,
use below method to check whether view is editable/display mode ...
me-->view_group_context->is_view_in_display_mode( me ). here "me" refers to the implementation class of view.
Regards,
Sandeep Kumar B -
Hi,
When attempting to create an SSRS Report in SharePoint 2010 Dashboard Designer and change the Server Mode from Report Center to SharePoint Integrated, I get the following unhandled exception:
************** Exception Text **************
System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: Instance validation error: '2' is not a valid value for Microsoft.PerformancePoint.Scorecards.SqlReportViewData.SqlReportViewDataServerMode.
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSqlReportViewData.Write1_SqlReportViewDataServerMode(SqlReportViewDataServerMode v)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSqlReportViewData.Write3_SqlReportViewData(String n, String ns, SqlReportViewData o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterSqlReportViewData.Write4_SqlReportViewData(Object o)
--- End of inner exception stack trace ---Hi,
According to your post, an error occurred when you integrate SQL Server Reporting Services with SharePoint.
1. Please check the steps as the link below:
http://technet.microsoft.com/en-us/library/ff724283(v=office.14).aspx
2. Try to clean the configuration cache on all of your SharePoint servers and re-tested.
http://blogs.msdn.com/b/josrod/archive/2007/12/12/clear-the-sharepoint-configuration-cache-for-timer-job-and-psconfig-errors.aspx
Best Regards
Dennis Guo
TechNet Community Support -
ABAP runtime error while doing ME21N, ME22N, ME23N, ME51N,ME52N, ME53N
Dear All Expert,
I am facing problem while doing ME21N, ME22N, ME23N, ME51N,ME52N, ME53N,
Please find the below ABAP Runtime Error.
Runtime Errors LOAD_TYPE_VERSION_MISMATCH
Date and Time 10.02.2011 11:13:07
Short text
Change of a Dictionary structure at runtime of a program.
What happened?
Runtime error
The current ABAP program "CL_IM_WRF_MM_PROC_PO==========CP" had to be
terminated because one
of the statements could not be executed at runtime.
What can you do?
Restart the program.
If the error persists, contact your SAP administrator.
You can use the ABAP dump analysis transaction ST22 to view and manage
termination messages, in particular for long term reference.
Error analysis
The ABAP runtime system detected that the Dictionary-type "WRF_POHF_KOMP_STY"
changed
during the flow of the transaction.
As the type was already used in the old version
and in the new type should be used in the same transaction in the new
version, the transaction had to be cancelled to avoid inconsistencies.
How to correct the error
Try to restart the program.
System environment
SAP-Release 700
Application server... "iqe"
Network address...... "172.25.0.85"
Operating system..... "Linux"
Release.............. "2.6.9-55.ELsmp"
Hardware type........ "x86_64"
Character length.... 16 Bits
Pointer length....... 64 Bits
Work process number.. 0
Shortdump setting.... "full"
Database server... "iqe"
Database type..... "ORACLE"
Database name..... "IQE"
Database user ID.. "SAPSR3"
Terminal................. "MUMJML5727"
Char.set.... "C"
SAP kernel....... 700
created (date)... "Dec 26 2010 20:17:07"
create on........ "Linux GNU SLES-9 x86_64 cc3.3.3"
Database version. "OCI_102 (10.2.0.2.0) "
Patch level. 285
Patch text.. " "
Database............. "ORACLE 10.1.0.., ORACLE 10.2.0.., ORACLE 11.2...*"
SAP database version. 700
Operating system..... "Linux 2.6"
Memory consumption
Roll.... 16192
EM...... 25139088
Heap.... 0
Page.... 40960
MM Used. 8038136
MM Free. 4528408
User and Transaction
Client.............. 600
User................ "JKMM"
Language key........ "E"
Transaction......... " "
Transactions ID..... "4D524AD1FD7A42F9E1000000AC190055"
Program............. "CL_IM_WRF_MM_PROC_PO==========CP"
Screen.............. " "
Screen line......... " "
Information on where terminated
The termination occurred during generation of the ABAP/4 program
"CL_IM_WRF_MM_PROC_PO==========CP".
The termination occurred in line 213
of the source code of program "CL_IM_WRF_MM_PROC_PO==========CM007" (when
calling the editor 2130).
Source Code Extract
Line SourceCde
183 DATA: l_flag TYPE wrf_pbas_boolean.
184
185 CALL FUNCTION 'WRF_POHF_MSG_READ_PREVIEW_FLAG'
186 IMPORTING
187 e_preview_flag = l_flag.
188
189 IF NOT l_flag IS INITIAL.
190
191 DATA: l_header TYPE REF TO cl_po_header_handle_mm.
192
193 MOVE im_header ?TO l_header.
194
195 CALL METHOD l_header->if_output_mm~preview( ).
196
197 CALL FUNCTION 'WRF_POHF_MSG_RESET_PREV_FLAG'.
198
199 ***$ Widening Cast for printing information.
200 ** CALL FUNCTION 'WRF_POHF_STORE_PRINT_INFO_SET'
201 ** EXPORTING
202 ** im_header = l_header.
203
204 * Printing Preview
205 * IF NOT gv_preview IS INITIAL.
206 * CALL METHOD l_header->if_output_mm~overview( ).
207 * CALL METHOD l_header->if_output_mm~preview( ).
208 * clear gv_preview.
209 ENDIF.
210
211 * ENDIF.
212
>>>>> ENDMETHOD.
Internal notes
The termination was triggered in function "ab_RxDdicStruShareFailed"
of the SAP kernel, in line 2539 of the module
"//bas/700_REL/src/krn/runt/abtypload.c#11".
The internal operation just processed is " ".
Internal mode was started at 20110210111306.
Name of the changed type......: "WRF_POHF_KOMP_STY"
New version of the type.......: 20070508193207
Old version of the type.......: 20070508193207
New user......................: "Type" "WRF_POHF_KOMP_STY"
Version of the new user.......: 20070508193207
Old user......................: "???" "???"
Version of the old user.......: "???"
Active Calls in SAP Kernel
Lines of C Stack in Kernel (Structure Differs on Each Platform)
(CTrcStack2+0x78)[0x6cbb78]
(CTrcStack+0xb)[0x6cc17b]
(ab_rabax+0x3be5)[0xb8d985]
(_Z24ab_RxDdicStruShareFailedPKtm4RUDIS0_S1_S0_+0x163)[0xb16823]
(_Z19ab_GetDdicTypeIndexPKtm4RUDI+0x1f6)[0xb0dbb6]
(_Z11ab_LoadViewPtjPKtPK11PROGRAMHEADPj+0x27e)[0xb16ede]
(_Z18ab_GetDdicTypeLoad4RUDI+0x6e)[0xb1705e]
(ab_GetView+0xc1d)[0xb0ee1d]
(_Z20CompressInitRcByDatajPK6CG_DIRjjS1_jj4RUDIPKhj+0x60d)[0xe32b2d]
(_Z21cg_CompressStackFrameP4TRIGjj+0x169)[0xe33399]
(_Z8cg_blkleP3ENV+0x75f)[0xe4779f]
(_Z9sc_cblklePKt8ENV_KINDP7SC_INFO+0x394)[0xe90024]
(sc_blkle+0xdd)[0xec6e4d]
(rs_oper_abap1729+0x37)[0x10eb237]
(rs_expan_abap+0xa1996)[0xfd7a2a]
(_Z8sc_expanj+0x76d)[0xe1d55d]
(_Z5parsejPi+0x258)[0xe19998]
(sc_check+0xb9c)[0xe1857c]
(sc_inclu+0x5fa)[0xe0d50a]
(rs_oper_abap2160+0x3a)[0x1115d6a]
(rs_expan_abap+0xcd41d)[0x10034b1]
(_Z8sc_expanj+0x76d)[0xe1d55d]
(_Z5parsejPi+0x258)[0xe19998]
(sc_check+0xb9c)[0xe1857c]
(sc_checkStart+0x41)[0xe1ac51]
(cg_generate+0xb65)[0xe57755]
(ab_gabap+0x14a)[0xb01a5a]
(dy_gen_abap+0x63c)[0x74428c]
(ab_genprog+0x13d3)[0xb03d13]
(_Z17ab_LoadProgOrTrfoPKtjPj+0xb56)[0x8f9ab6]
(_Z11ab_LoadProgPKtj+0x11)[0x8f9ca1]
(_Z15LoadGlobalClassPKtjjj9ClasState+0x24c)[0x958c2c]
(_Z11FillCfixIntPK4CREFP4CFIXjj9ClasState+0x214)[0x957404]
(_Z11ab_FillCfixtj+0x65)[0x957ae5]
(_Z26ab_CrefToCladId_ActivateOKtPh+0x7d)[0x957b6d]
(_Z8ab_jaboov+0x623)[0x959793]
(_Z8ab_extriv+0x607)[0x8ba9c7]
(_Z9ab_xeventPKt+0x1c1)[0xa1c021]
(_Z8ab_triggv+0x9c)[0xa1c77c]
(ab_run+0x97)[0xbde5c7]
(N_ab_run+0x9)[0x736359]
(dynpmcal+0x669)[0x7333b9]
(dynppai0+0x8eb)[0x734d9b]
(dynprctl+0x3e9)[0x733db9]
(dynpen00+0x4a5)[0x726eb5]
(Thdynpen00+0x359)[0x541bd9]
(TskhLoop+0xc49)[0x54d999]
(ThStart+0x20f)[0x55b29f]
(DpMain+0x2da)[0x4bd49a]
(nlsui_main+0x9)[0x4910c9]
(main+0x33)[0x491103]
/lib64/tls/libc.so.6(__libc_start_main+0xdb)[0x3cde51c3fb]
Please help me to resolve the issue.
Thanks & Regards
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. -
Badi & User Exit for ME21N & ME22N
Hi,
My requirement is when a Purchase order is created using ME21n or when a line is added or changed using ME22n, the system should copy the vendors tax jurisdiction to the purchase order line items jurisdiction code. I tried badi (ME_PROCESS_PO_CUST) but could not suceed. Can any one tell me if any badi or user exit available for the same???
Thanks in Advance.hi,
Enhancement/ Business Add-in Description
Enhancement
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
MEVME001 WE default quantity calc. and over/ underdelivery tolerance
MM06E001 User exits for EDI inbound and outbound purchasing documents
MM06E003 Number range and document number
MM06E004 Control import data screens in purchase order
MM06E005 Customer fields in purchasing document
MM06E007 Change document for requisitions upon conversion into PO
MM06E008 Monitoring of contr. target value in case of release orders
MM06E009 Relevant texts for "Texts exist" indicator
MM06E010 Field selection for vendor address
MMAL0001 ALE source list distribution: Outbound processing
MMAL0002 ALE source list distribution: Inbound processing
MMAL0003 ALE purcasing info record distribution: Outbound processing
MMAL0004 ALE purchasing info record distribution: Inbound processing
MMDA0001 Default delivery addresses
MMFAB001 User exit for generation of release order
MRFLB001 Control Items for Contract Release Order
MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
AMPL0001 User subscreen for additional data on AMPL
LMEDR001 Enhancements to print program
LMELA002 Adopt batch no. from shipping notification when posting a GR
LMELA010 Inbound shipping notification: Transfer item data from IDOC
LMEQR001 User exit for source determination
LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt
LWSUS001 Customer-Specific Source Determination in Retail
M06B0001 Role determination for purchase requisition release
M06B0002 Changes to comm. structure for purchase requisition release
MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
MEETA001 Define schedule line type (backlog, immed. req., preview)
ME590001 Grouping of requsitions for PO split in ME59
M06E0005 Role determination for release of purchasing documents
M06E0004 Changes to communication structure for release purch. doc.
M06B0005 Changes to comm. structure for overall release of requisn.
M06B0004 Number range and document number
M06B0003 Number range and document number
Business Add-in
ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.
ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Customer
ME_PO_SC_SRV BAdI: Service Tab Page for Subcontracting
ME_PO_PRICING_CUST Enhancements to Price Determination: Customer
ME_PO_PRICING Enhancements to Price Determination: Internal
ME_INFOREC_SEND Capture/Send Purchase Info Record Changes - Internal Use
ME_HOLD_PO Hold Enjoy Purchase Orders: Activation/Deactivation
ME_GUI_PO_CUST Customer's Own Screens in Enjoy Purchase Order
ME_FIELDSTATUS_STOCK FM Account Assignment Behavior for Stock PR/PO
ME_DP_CLEARING Clearing (Offsetting) of Down Payments and Payment Requests
ME_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields
ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions
ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions
ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer
SMOD_MRFLB001 Control Items for Contract Release Order
MM_EDI_DESADV_IN Supplementation of Delivery Interface from Purchase Order
MM_DELIVERY_ADDR_SAP Determination of Delivery Address
ME_WRF_STD_DNG PO Controlling Reminder: Extension to Standard Reminder
ME_TRIGGER_ATP Triggers New ATP for Changes in EKKO, EKPO, EKPV
ME_TRF_RULE_CUST_OFF BADI for Deactivation of Field T161V-REVFE
ME_TAX_FROM_ADDRESS Tax jurisdiction code taken from address
ME_REQ_POSTED Purchase Requisition Posted
ME_REQ_OI_EXT Commitment Update in the Case of External Requisitions
ME_RELEASE_CREATE BAdI: Release Creation for Sched.Agrmts with Release Docu.
ME_PURCHDOC_POSTED Purchasing Document Posted
ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer
ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal
ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders
ME_CCP_BESWK_AUTH_CH BAdI for authorization checks for procuring plant
ME_CCP_ACTIVE_CHECK BAdI to check whether CCP process is active
ME_BSART_DET Change document type for automatically generated POs
ME_BAPI_PR_CREATE_02
ME_BAPI_PR_CREATE_01
ME_BAPI_PO_CREATE_02
ME_BAPI_PO_CREATE_01
ME_BADI_DISPLAY_DOC BAdI for Internal Control of Transaction to be Invoked
ME_ACTV_CANCEL_PO BAdI for Activating the Cancel Function at Header Level
MEGUI_LAYOUT BAdI for Enjoy Purchasing GUI
EXTENSION_US_TAXES Extended Tax Calculation with Additional Data
ARC_MM_EKKO_WRITE BAdI: Enhancement of Scope of Archiving (MM_EKKO)
ARC_MM_EKKO_CHECK BAdI: Enhancement of Archivability Check (MM_EKKO)
ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)
ME_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders
ME_COMMITMENT_STO_CH BadI for checking if commitments for STOs are active
ME_COMMITMENT_RETURN Commitment for return item
ME_CIP_REF_CHAR Enables Reference Characteristics in Purchasing
ME_CIP_ALLOW_CHANGE Configuration in Purchasing: Changeability Control
ME_CIN_MM06EFKO Copy PO data for use by Country version India
ME_CIN_LEINRF2V BADI for LEINRF03 excise_invoice_details
ME_CIN_LEINRF2R BADI for CIN India - Delivery charges
ME_CHECK_SOURCES Additional Checks in Source Determination/Checking
ME_CHECK_OA Check BAdI for Contracts
ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO
ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing
ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation
No.of Exits: 35
No.of BADis: 55
Arunima -
BADI for Disabling NetPrice field in ME21N & ME22N based of Material Type.
Hi.
I had a requirement to disable "net price" field while creating or changing a PO (ME21N & ME22N) based on the type of material entered.
Please asssit me in finding the BADI or exit name which can meet my requirement. Thanks.Hi Ranga nadh,
The BAdi what you have mentioned is correct.
ME_PROCESS_PO_CUST - In this BAdi, we are having a method PROCESS_ITEM. These method is used to process all the Item data. As the field Netprice is at the level. You can use this method.
Here inside this method we are having a parameter IM_ITEM
So, You create a implementation and inside this method you can code here to appear the field in disable mode.
Cheers,
Swamy Kunche -
SOLUTION: tab not showing in ME21N/ME22N with badi ME_GUI_PO_CUST
Hi,
I implemented BADI's ME_GUI_PO_CUST and ME_PROCESS_PO_CUST to show a custom tab in the header section of ME21N, ME22N and ME23N.
But after implementing the BADI's, the tab showed up in ME23N, but not in ME21N and ME22N.
So I started looking for a solution in the SDN forum, and I saw that there were a LOT of people with the same problem, but nobody ever posted a solution.
So here is the solution:
So, I added the fields I wanted to show in the structure CI_EKKODB, implemented the BADI ME_GUI_PO_CUST (the methods SUBSCRIBE and MAP_DYNPRO_FIELDS), and the BADI ME_PROCESS_PO_CUST.
After that the tab showed up in ME23N, not in ME21N or ME22N.
So I found an SAP note saying the following:
Question:
I implemented the 'ME_GUI_PO_CUST' Business Add-In to display customer-
specific tab titles in the EnjoySAP purchase order. They are only shown in display mode (ME23N) however, not in create or change. Why?
Solution:
You may have forgotten to assign a field status to the user-defined fields on these tabs. As a result, the system automatically interprets the field status as 'hidden' in create and change modes. However if a tab contains only hidden fields, then the entire tab is set to hidden. In display mode, fields without a field status are automatically set to display. That is why the tab is displayed in this case.
To assign a field status to the user-defined fields, use the methods provided for this purpose in the Business Add-In 'ME_PROCESS_PO_CUST' (compare sample source code in the FIELDSELECTION_ITEM method).
So in my case, I had to add some code to the FIELDSELECTION_HEADER method of the BADI ME_PROCESS_PO_CUST.
This is the code:
method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER.
DATA: l_persistent TYPE mmpur_bool.
FIELD-SYMBOLS: <fs> LIKE LINE OF ch_fieldselection.
* if the item is already on the database, we disallow to change field badi_bsgru
l_persistent = im_header->is_persistent( ).
* IF l_persistent EQ mmpur_yes.
READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY metafield = mmmfd_cust_01.
IF sy-subrc IS INITIAL.
<fs>-fieldstatus = '*'. " Input
ENDIF.
* ENDIF.
endmethod.
But then, I realized that this BADI was never triggered. When I entered one of the transaction codes ME21N, ME22N or ME23N, the code in the fieldselection_header method was never executed.
So I went to transaction SE18, and entered ME_PROCESS_PO_CUST in 'Enhancement Spot' and pushed the button display.
And there in the tab 'Enhancement Implementations', I saw an implementation that was not mine, and that did not show up in the overview of the SE18 'BADI NAME' tab for the same BADI... which to me seems strange.
So as you may know, there can never be more than one active implementation of the BADI ME_PROCESS_PO_CUST.
So I disactivated my implementation and put my code in the existing implementation.
And after that it worked!implement first badi :ZME_GUI_PO_CUST:
METHOD if_ex_me_gui_po_cust~subscribe.
DATA: ls_subscriber LIKE LINE OF re_subscribers.
* we want to add a customer subscreen on the item detail tab
CHECK im_application = 'PO'.
CHECK im_element = 'HEADER'.
* each line in re_subscribers generates a subscreen. We add one subscreen in this example
CLEAR re_subscribers[].
* the name is a unique identifier for the subscreen and defined in this class definition
ls_subscriber-name = subscreen1.
* the dynpro number to use
ls_subscriber-dynpro = '0001'.
* the program where the dynpro can be found
ls_subscriber-program = 'SAPLMEPOBADIEX'.
* each subscreen needs his own DDIC-Structure
ls_subscriber-struct_name = 'MEPO_BADI_STRUCT'.
* a label can be defined
ls_subscriber-label = text-001.
* the position within the tabstrib can be defined
ls_subscriber-position = 4.
* the height of the screen can be defined here. Currently we suport two screen sizes:
* value <= 7 a sevel line subscreen
* value > 7 a 16 line subscreen
ls_subscriber-height = 7.
APPEND ls_subscriber TO re_subscribers.
ENDMETHOD.
implement 2nd badi : ZME_PROCESS_PO_CUST:
method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_HEADER.
DATA: l_persistent TYPE mmpur_bool.
FIELD-SYMBOLS: <fs> LIKE LINE OF ch_fieldselection.
* if the item is already on the database, we disallow to change field badi_bsgru
l_persistent = im_header->is_persistent( ).
* IF l_persistent EQ mmpur_yes.
READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY metafield = mmmfd_cust_01.
IF sy-subrc IS INITIAL.
<fs>-fieldstatus = '*'. " Input
ENDIF.
* ENDIF.
endmethod. -
ME21N, ME22N, ME23N call ME12 instead of ME13
Hi
Our users would like to be able to go from ME21N, ME22N, ME23N and directly to ME12, so that they can make changes in the info records.
As standard the transaction codes ME21N, ME22N, ME23N calls up ME13 which is display mode of the info recrod.
I have some concerns to make this change and that is weather the changes made in ME12 will take effect in ME21N if they are creating a PO and want to make changes to the info record.
The other thing is that it might be difficult to control the changes made in the info records if it is possible to do this "on the fly" and not consider the consequenses of the change, other than to satisfy and here-and-now need for a certain issue.
If we want to proceed with this, how would I do this the best way to call up ME12 in stead of ME13.
Best regards
Birgitte Hamborg JakobsenHi,
I cant understand why you want to go to ME12 directly instead of ME13 from ME2*N transactions. In case the user want to change anything, he can go to menu - info record - change from ME13 directly. I dont think its worth spending time and effort to change it to ME12.
Even though you change anything in info record from ME2*N transactions, the changes wont reflect back to your PO. The changes will be reflected in new PO only, not in already created documents.
Regards,
AKPT -
New Tab on header level for me21n/me22n/me23n
Hi Friends
i have created a new tab on the me21n/me22n/me23n header level using the exit
MM06E005 , The tab is displayed but i am not unable to udate the records into the
EKKO Table whereas i have added my field in the include of EKKO CL_EKKODB
Kindly somebody help me with elaborated steps .
Thanks & Regards
Digvijay 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
Maybe you are looking for
-
Discoverer Plus - Manage Link option is not working in Viewer
I am working on 10.1.2.3 Discoverer Plus. I have created one workbook with multiple worksheets (1 detail sheet and 4 Left Group Report. I have created seperate links for 4 worksheets. Drill to Details is working fine in discoverer plus and parameter
-
Education (ECS) is not flowing to miro for dealer process purchasing. we update excise duty and SECESS mannually while caputring and posting excise invoice . all the required condition JECP and ISEP are mantained properly. we are getting higher educ
-
Header level pricing condition error
Hi Friends, In a PO, I have 5 line items. I am giving freight condition type at header level for the entire po as Rs. 500. But the system calculates the freight charge as 500*5=2500. The freight condition type FRB1 is a fixed charge condition type. T
-
I want to recover the history of my firefox.
-
Safari crashing often with EXC_BAD_ACCESS / EXC_I386_GPFLT
Hi all My wife is experiencing her MacBook crashing on her a lot - often while playing Flash based games, sometimes just browsing. She didn't like my recommendation (stop playing stupid Flash based games) and today I saw the following error. Can anyo