Nice example. 531), We’re bringing advertisements for technology courses to Stack Overflow, Introducing a new close reason specifically for non-English questions, EKPO fields not updated after PROCESS_ITEM method set_data in ME21N, BAPI_TRANSACTION_COMMIT with WAIT = 'X' within a BADi, User input in Z fields is not processed in CUSTOMER_ADD_DATA BAdI, Interface method call error: method is unknown or PROTECTED or PRIVATE, Method importing parameter type range of any. Regards Uwe Add a Comment FIELDSELECTION_ITEM SAP Method Special Field Selection Item Search SAP OO objects Below is documentation, parameters and attributes of ABAP Method FIELDSELECTION_ITEM within SAP class IF_EX_ME_PROCESS_PO_CUST. Post (POST method) With the POST method, you can prepare the PO data for posting and updating the database.Documentation for BAdI method POST, 7. Here's a sample of my code: call method im_item->get_data receiving re_data = lwa_mepoitem. According to Note 1910516 it is not possible to show more than one customer tab (one in header, one in position). 6. When a person is referred to as 'something', what does it mean? If not you will find the reason above described. Thanks for the detailed Steps. Important: Change function module to your module of step 6a, iv. 2. Most Often Business come across this situation, once a PO is created through a contract they do not want to allow Users or the Concerned to change the Item Prices which are maintained through the conditions of the PO. Here the system performs activities that are too extensive for a dialog step.In the CHECK method, you can execute enhancements for an overall check or your own overall check for the purchase order.Dokumentation for BAdI method CHECK, 6. Documentation for BAdI method FIELDSELECTION_HEADER, Documentation for BAdI method FIELDSELECTION_ITEM, When the purchase order is posted or when the Check function is chosen, the system performs an overall check for the. c. Element List (referring to your structure fields)! . I had to call im_item->get_data( ) to get the data from the position and the set method work perfectly. ls_subscriber-dynpro = dynpro number of your SE51 screen of step 4, ls_subscriber-program = function pool of your SE51 screen of step 4, ls_subscriber-struct_name = your structure of step 3, ls_subscriber-label = either direct text of via text definition of your class. Statements in differential geometry independent from ZFC. Trademark, SAP ERP all versions ; SAP R/3 all versions ; SAP enhancement package for SAP ERP all versions ; SAP enhancement package for SAP ERP, version for SAP HANA all versions. * Get Item Conditions Thanks and i will check from my end too . In case of a special vendor it should not be allowed to be changed - only displayed. Append CI_EKPODB with your customer field, Create with SE11 a table with the following fields, Create with SE11 a structure with the following fields, Create with screen painter (SE51) a screen with the new field, Program should be either your already existing function pool for MM exits or create a copy of the SAP example SAPLMEPOBADIEX. After the determination a custom code can be implemented in the BADI to change the Header or Item data of the PO to the required value, based on the given reference. ii. However, I have one issue which is not documented here. Alternatively, we can use the User Exit ME_PROCESS_PO_CUST. In both examples all needed information is mentioned, but not always easy to find! Important to add the two modules event_pbo and module_pai! still appropriate for a child? Little addition: I think SY-TCODE is in this case not reliable. This change will not allow the User to SAVE the PO document once an Item Condition amount in the PO is changed after a GRN is made and we can make to issue a Message saying that the PO XXXXXXXXXX Item YYYY price is changed and unable to save the PO. Standard fields change data with ensuring data integrity. Find centralized, trusted content and collaborate around the technologies you use most. Trademark, SAP ERP Central Component all versions ; SAP ERP all versions ; SAP S/4HANA all versions ; SAP enhancement package for SAP ERP all versions ; SAP enhancement package for SAP ERP, version for SAP HANA all versions, Symptom 1: You change only a custom field, but ME_PROCESS_PO_CUST not triggered, Symptom 2: If you copy an item of the PO (or create a new PO with reference), custom field not copied to the new item / new PO, SAP enhancement package for SAP ERP, version for SAP HANA. But if I click the save button, the value is not reflecting in the table. METHOD IF_EX_ME_PROCESS_PO_CUST ~FIELDSELECTION_ITEM. SUBSCREEN1 / Level: Constant / Visibility: Public / Type: MEPO_NAME / Initial Value ‘ITEMSCREEN1’, 2. Am I missing something? IF sy-subrc IS INITIAL. Change function module with your module of step 6c, vi. Create with SE11 a table with the following fields, 3. You should use PROCESS_ITEM method from this BAdi, your code from this question perfectly works for me and updates these fields: Thanks for contributing an answer to Stack Overflow! 1. @Suncatcher I already tried using PROCESS_ITEM method but it is also not working. There is no method set_datax in PO. Below is documentation, parameters and attributes of ABAP Method FIELDSELECTION_ITEM_REFKEYS within SAP class IF_EX_ME_PROCESS_PO_CUST. There is also a number of example ABAP code snipts to help you use the functionality of this method. Important is to use the following highlighted lines to get the entered data. Share Improve this answer Follow edited Jan 25, 2020 at 1:12 Watercayman 7,835 10 33 49 CLASS zcl_im_me_process_po_cust IMPLEMENTATION. I also tried the solutions I have searched regarding the error but none of them works properly. you need to create a local variable of TYPE ref to the class. It seems that this BADI doesn't work but I made my research and most people use this BADI to update EKPO fields in ME21n. Then I change the PO type, the method FIELDSELECTION_HEADER is triggered and it again works as expected. Important: you can call only one “Enhancement Implementation”, if there is already an active implementation you have to either use this or deactivate it! (line 62), Create the following function modules in the, Y_MM_MEPOBADI_GET_DATA as copy of example code MEPOBADIEX_GET_DATA, Source code completely identically to MEPOBADIEX_GET_DATA, Function module Y_MM_MEPOBADI_PUSH as copy of MEPOBADIEX_PUSH, IM_DYNP_DATA type your structure of step 3, Source code: fill your structure with the import parameter (line 18), Function module Y_MM_MEPOBADI_POP as copy of MEPOBADIEX_POP, EX_DYNP_DATA type your structure of step 3, Source code: fill export parameter with your structure (line 18), Y_MM_MEPOBADI_SET_DATA as copy of example code MEPOBADIEX_SET_DATA, IM_PHYSICAL_DELETE_REQUEST type MMPUR_BOOL, Source code (copy of example source code of. This method is available within SAP systems depending on your version and release level, you can view further information by entering the class name IF_EX_ME_PROCESS_PO_CUST into the relevant SAP transactions such as SE24 or SE80, and then selecting the method you are interested in. math: what font can be seen in the picture? DATA: l_changeable TYPE mmpur_bool. Terms of use |
How to report an author for using unethical way of increasing citation in his work? Practical (not theoretical) examples of where a 1 sided test would be valid? Change the function pool for global data in the top include, Tables: your structure of step 3 (line 52), Internal tables both referring to your table of step 2 (line 54 – 59), Include lmeviewsf01 (otherwise you will get a dump!!) This is a manual how to use the BadIs ME_GUI_PO_CUST and ME_PROCESS_PO_CUST to create a customer screen on item level in ME21/22/23n and how to fill this screen with a customer field (and a selected value). Overall check (CHECK method) When the purchase order is posted or when the Check function is chosen, the system performs an overall check for the PO. Legal Disclosure |
I was struggling around searching in scn for a complete description and error fixing... Kindly let me know , how to hide/disable customer tab based po condition type ? There is also a number of example ABAP code snipts to help you use the functionality of this method. set_datax is in PR BAdi. Compare to Note 1910516, if there are only “display” fields on your customer screen you will not see the whole tab in creation and change mode! call method lock_po->(fields-method) CHANGING field_selection = field_selection. Asking for help, clarification, or responding to other answers. Append CI_EKPODB with your customer field 2. Method SUBSCRIBE is mandatory to show your own tab. Concluding work After the posting of a purchase order and before the opening of a new PO, you can reset your own customer programs.Documentation for BAdI method CLOSE, Also, for more information : Please check my post ME21N - PO Enhancement using BADI (Kripa Rangachari). . ME_PROCESS_PO_CUST - Post method - Change item data. Now when I again change the PO type for the second time, this time the method FIELDSELECTION_HEADER is not triggered and hence the custom tab doesn't behave as expected. SUBSCRIBER: enter copy of source code of CL_EXM_IM_ME_GUI_PO_CUST~SUBSCRIBE. Method IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_ITEM, i. ME_PROCESS_PO_CUST (enhancement spot) Helpful information and sample code in example implementation class CL_EXM_IM_ME_GUI_PO_CUST and CL_EXM_IM_ME_PROCESS_PO_CUST. How can Estonia give "all" of their 155mm howitzers to Ukraine? Custom Environment optional argument ignored. Set break point in both BaDIs to check if they are proceeded. Updating ME21n fields WEORA/BSTAE via ME_PROCESS_PO_CUST BAdi? Internal tables both referring to your table of step 2 (line 54 – 59), c. Include lmeviewsf01 (otherwise you will get a dump!!) I am using the BADI implementation of ME_PROCESS_PO_CUST. Understanding transaction with hundreds of input/output. Did medieval peasants work 150 days a year? I'm trying to change field WEORA and BSTAE in ME21n through BADI me_process_po_cust, method PROCESS_ITEM. Can I suggest that my professor use slides instead of writing everything on the board? How to change PO delivery date via ME_PROCESS_PO_CUST? . i. Very helpful indeed. In the Business Add-In ME_PROCESS_PO_CUST, the following methods are available enabling you to extend the business logic of the Enjoy purchase order. In the method PROCESS_ITEM. " Now modify CH_FIELDSELECTION as required. Full list of available SAP object classes. Can you do me a favor and add ABAP Developer to the tag? If I remember correctly there was another possibility. Tables: your structure of step 3 (line 52), b. How to program the CPU when making a small microcomputer? IF sy-tcode eq ‘ME22N’. I had the same mistake and I was able to resolve it by using the same code shown before in IF_EX_ME_PROCESS_PO_CUST->PROCESS_ITEM. Can you buy tyres to resist punctures from large thorns? It's great that you give two different options that you've thought about. The above paragraphs briefly explain and give a broad idea on how the PO items can be protected from any changes for their prices in the conditions Based upon the conditions which we provide. Start of transaction (INITIALIZE method) At the start of the transaction, the INITIALIZE method is processed once. Program should be either your already existing function pool for MM exits or create a copy of the SAP example SAPLMEPOBADIEX. Can someone's legal name be all lowercase? data: lwa_mepoitem type mepoitem, lwa_po_lgfsb type ymm_po_lgfsb. Terminology for the use of the word "your" in a call to action? In the CHECK method, you can execute enhancements for an overall check or your own overall check for the purchase order. Keep up the great work, Thanks a lot . *–>Check for plant A601 Questions related to this topic are quite frequent . This will cause the accounting document Posting value issues Once a pricing condition is changed and posted with a MIGO document. ls_header = im_header->get_data( ). Change source code by entering your field in the when case in line 56, 2. ENDMETHOD. 1. By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. 2. The bank that owns my mortgage inexplicably increased my escrow payment by about $900. Source code: fill export parameter with your structure (line 18), d. Y_MM_MEPOBADI_SET_DATA as copy of example code MEPOBADIEX_SET_DATA, 1. Please check if there is project enhancement implentation for PO which might be updating field values. FIELD-SYMBOLS: LIKE LINE OF ch_fieldselection. Privacy |
in other cases the badi is still "working": IF_EX_ME_PROCESS_PO_CUSTPROCESS_ITEM and IF_EX_ME_PROCESS_PO_CUSTPROCESS_SCHEDULE, (the implemented includes in the methods are working pretty well.). I announced my resignation . In both examples all needed information is mentioned, but not always easy to find! Symptom 1: You change only a custom field, but ME_PROCESS_PO_CUST not triggered Symptom 2: If you copy an item of the PO (or create a new PO with reference), custom field not copied to the new item / new PO Read more. IM_DATA type your table of step 2, 2. Legal Disclosure |
METHOD if_ex_me_process_po_cust~fieldselection_item. At what temperature does Brass blacken in air? CLASS zcl_im_me_process_po_cust DEFINITION PUBLIC FINAL CREATE PUBLIC . Connect and share knowledge within a single location that is structured and easy to search. Enter line 78 (move changed value to local structure), 8. It would be much appreciated. Yes. MODIFY TABLE ch_fieldselection from field_selection. With the POST method, you can prepare the. I.e. To learn more, see our tips on writing great answers. I will have look. As soon as the conditions are provided to the BADI, Write the logic to find out the PO is posted with a GR and if a change is being made to the Item Condition to an item already being posted with GR and after changing the Item condition when SAVING the PO issue an error message GR is already done for PO &, Item &. I need to update the standard EKPO/EKKO table with this custom field value. Go to Menu –> Implementation –> Overview –> and choose your implementation, ii. Please don't commit in this BADi. Visit SAP Support Portal's SAP Notes and KBA Search. WITH TABLE KEY metafield = mmmfd_cust_10. ME_PROCESS_PO_CUST (enhancement spot) Helpful information and sample code in example implementation class CL_EXM_IM_ME_GUI_PO_CUST and CL_EXM_IM_ME_PROCESS_PO_CUST. How does the World Economic Forum seem to have so much influence? Once added with the requisite coding System while saving the PO, will identify the Changes to the Items for the Item condition prices and will check whether the PO item is Open for GR or made with a Full GR or Partial GR and allow to change accordingly by issuing the message if not a line item is Open. But I have one question: When you save PO document, it is saving in Z table, not EKPO. You can implement special rules using the methods FIELDSELECTION_HEADER (at header level) and FIELDSELECTION_ITEM (at item level). Follow RSS Feed Hello everyone, I'm using method POST of Badi ME_PROCESS_PO_CUST. Nice! READ TABLE ch_fieldselection ASSIGNING <fs> WITH TABLE KEY metafield = 'MENGE'. Also, for more information : Please check my post, {"serverDuration": 98, "requestCorrelationId": "c95113884489909f"}, Enhancements and Modifications - BADI, Enhancement Framework, User Exits, BTE. rev 2023.1.25.43191. Change function module of line 74 to your module of step 6d, 6. PRIVATE SECTION. Field symbol and data reference concept in ABAP, Maintenance view event for checking if field is initial or not, Data element description is not updated in SE16N, REUSE_ALV_FIELDCATALOG_MERGE takes not all the fields, Interface method call error: method is unknown or PROTECTED or PRIVATE, Convert dynamic REF TO DATA structure to static, BUT051 table is not updated with BUR_BUPR_BUT051_COLLECT, Grep and find to get the last match in multiple files. Can we update into EKPO or is it not possible? Create the following function modules in the same function pool you used in the layout! Opening of a purchase order (OPEN method) The system opens a new document to create, change or display a purchase order. I can hit most every other method in the BADI interface - PROCESS_ITEM, POST, CLOSE, FIELDSELECTION_HEADER_REFKEYS, INITIALIZE, etc - but not the FIELDSELECTION_ITEM method or the FIELDSELECTION_HEADER method. At the start of the transaction, the INITIALIZE method is processed once. there is no set_datax method in class IF_PURCHASE_ORDER_ITEM_MM. If the business requirement is to have a different behavior, then the BADI ME_PROCESS_PO_CUST can be used. IM_DYNP_DATA type your structure of step 3, ii. Change function module of line 66 to your module of step 6a, 5. IF ls_mepoitem-werks = ‘YYYY’ AND How do you say idiomatically that a clock on the wall is not showing the correct time? At what temperature does Brass blacken in air? * define local data DATA: ls_header TYPE mepoheader, ls_item TYPE mepoitem. However, this change applies to the all the document types and this makes the condition records in display mode. Recommendation on how to build a "brick presence detector"? CHECK ( ls_header-lifnr = '<specific vendor>' ). Delete lines for standard fields (line20 – 32 of the example coding are not necessary for custom fields), 2. Source code (copy of example source code of MEPOBADIEX_SET_DATA). 2. You have to call method SET_DATAX and then SET_DATA. There is also a number of example ABAP code snipts to help you use the functionality of this method. I had the same mistake and I was able to resolve it by using the same code shown before in IF_EX_ME_PROCESS_PO_CUST->PROCESS_ITEM. When I launch ME21N, this method gets triggered and custom tab works fine. Append CI_EKPODB with your customer field, 2. rev 2023.1.25.43191. ME_PROCESS_PO_CUST to create a customer screen on item level in ME21/22/23n and how to fill this screen with a customer field (and a selected value). Connect and share knowledge within a single location that is structured and easy to search. With its methods, the BAdI covers the entire transaction cycle: 1. This solution was a close one. Exceptions of Method FIELDSELECTION_ITEM_REFKEYS This method does not have any exceptions Checking of data (PROCESS_HEADER, PROCESS_ITEM, PROCESS_SCHEDULE, PROCESS_ACCOUNT methods) When data of the purchase order has been changed, it is then checked.With the following methods, you can carry out your own checks of the business objects of the purchase order and derive dependent data according to your own rules:Header data of PO PROCESS_HEADERDocumentation for BAdI method PROCESS_HEADERItem data of PO PROCESS_ITEMDocumentation for BAdI method PROCESS_ITEMDelivery schedule lines of PO PROCESS_SCHEDULEDocumentation for BAdI method PROCESS_SCHEDULEAccount assignments in PO PROCESS_ACCOUNTDocumentation for BAdI method PROCESS_ACCOUNT, 4. CALL METHOD im_item->get_conditions I've written the code in ME_PROCESS_PO_CUST BADI, method CHECK: I tried debugging, but inside the method set_data there is a condition: The value of both is initial so it interrupts and doesn't go to the rest of the code. How do you say idiomatically that a clock on the wall is not showing the correct time? PROTECTED SECTION. And after your select you have to use the following highlighted lines to set your selected data. Copyright |
ex_conditions = lt_komv. If you just followed all steps and also put all function modules into the same function pool you should see now your custom tab and field in the item details: o You forget or did not entered the code in IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_ITEM of ME_PROCESS_PO_CUST. Thanks for the detailed steps. Change Class Interface YCL_IM_MM_ME_GUI_PO_CUST, 1. Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide, Hello @andrecito , I also tried transferring my code in the PROCESS_ITEM method but I got the endless loop error. , you can reset your own customer programs. A story where a child discovers the joy of walking to school. I had to call im_item->get_data ( ) to get the data from the position and the set method work perfectly. 531), We’re bringing advertisements for technology courses to Stack Overflow, Introducing a new close reason specifically for non-English questions. Please let me know if anyone has faced this earlier and found a solution for this. I'm trying to change some data at item level (Z field where I store some calculus). Important: mapping one of the following customer fields in Line 58, iii. With the following methods, you can carry out your own checks of the business objects of the purchase order and derive dependent data according to your own rules: Documentation for BAdI method PROCESS_HEADER, Documentation for BAdI method PROCESS_ITEM, Delivery schedule lines of PO PROCESS_SCHEDULE, Documentation for BAdI method PROCESS_SCHEDULE, Account assignments in PO PROCESS_ACCOUNT, Documentation for BAdI method PROCESS_ACCOUNT, 4. Necessary to display your customer field (compare to Note 1910516), Important: Change to your customer field used in Method MAP_DYNPRO_FIELDS. The PO condition Types be in changeable mode only when a PO item is in Open condition. The documentation is very good. In my assignment, I've an additional requirement. (I can guess, but...). PROCESS_ITEM, PROCESS_HEADER, Kundenfeld, customer field , KBA , MM-PUR-GF-CE , Customer Enhancements , MM-PUR-PO-GUI , Userinterface - Purchase Orders , Problem. Important to add the two modules event_pbo and module_pai! Field selection (FIELDSELECTION_HEADER_REFKEYS, FIELDSELECTION_ITEM_REFKEYS, FIELDSELECTION_HEADER, FIELDSELECTION_ITEM methods) In the following methods, you can change the display properties of fields by supplementing or switching the field selection reference keys:At header level FIELDSELECTION_HEADER_REFKEYSDocumentation for BAdI method FIELDSELECTION_HEADER_REFKEYSAt item level FIELDSELECTION_ITEM_REFKEYSDocumentation for BAdI method FIELDSELECTION_ITEM_REFKEYSYou can implement special rules using the methods FIELDSELECTION_HEADER (at header level) and FIELDSELECTION_ITEM (at item level).Documentation for BAdI method FIELDSELECTION_HEADERDocumentation for BAdI method FIELDSELECTION_ITEM, 5. Does 'dead position' consider 75 moves rule? EX_DYNP_DATA type your structure of step 3, ii. data for posting and updating the database.
Raphael Alexander Beil Caroline Beil,
Raphael Alexander Beil Caroline Beil,