Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Customer Exit for service PO in ME21N

Former Member
0 Kudos

Dear All,

When I create service PO with the following step:

1. Create a purchase request (PR) with an item which item category ('D' - Service)

2. Input a Service number / External service no. in item's details

3. Create a purchase order (PO) with ref to that PR

4. Input an outline agreement number into the PO item

5. Copy service line item(s) to PO<b> only if </b>service number / External service no. are covered by the Outline agreement number.

I want know how to make a checking by customer exit in ME21N at step 5?

Thanks,

Well

1 ACCEPTED SOLUTION

Former Member

Hi

Check the following Exits and BADI's for the ME21N tcode

Enhancement

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

MM06E011 Activate PReq Block

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

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

M06B0003 Number range and document number

MEQUERY1 Enhancement to Document Overview ME21N/ME51N

MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.

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

Business Add-in

ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer

ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal

ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer

ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.

ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Custome

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_PURCHDOC_POSTED Purchasing Document Posted

SMOD_MRFLB001 Control Items for Contract Release Order

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)

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_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields

ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing

ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation

ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)

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

ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO

ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions

ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions

ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders

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

<b>Reward points for useful Answers</b>

Regards

Anji

19 REPLIES 19

Former Member

Hi

Check the following Exits and BADI's for the ME21N tcode

Enhancement

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

MM06E011 Activate PReq Block

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

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

M06B0003 Number range and document number

MEQUERY1 Enhancement to Document Overview ME21N/ME51N

MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.

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

Business Add-in

ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer

ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal

ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer

ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.

ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Custome

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_PURCHDOC_POSTED Purchasing Document Posted

SMOD_MRFLB001 Control Items for Contract Release Order

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)

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_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields

ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing

ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation

ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)

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

ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO

ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions

ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions

ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders

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

<b>Reward points for useful Answers</b>

Regards

Anji

0 Kudos

Hi Anji,

Can you suggest one for me to have checking at step 5?

BR,

Well

0 Kudos

Hello Neil,

You can try enhancement - MM06E005 and this enhancement has mutiple FM ,

so you could try for Function module ending 17 or 12

Thanks

Seshu

0 Kudos

Hi Seshu,

Your answer is very helpful! Thanks!

But I still cannot solve my problem, because I need to check:

Service number (ESLL-SRVPOS)

External service number (ESLL-EXTSRVNO)

when having outline agreement(EKPO-KONNR), both 17 and 12 cannot find table ESLL.

Did you know where can I get that table?

Thanks

Well

0 Kudos

You can see the data in EKBE table

EKBE contains EBELN as well SRVPOS Fields..

but i am not sure how you are going to get the data,i have seen all user exits,but i did not find out both EKPO as well ESLL structure

See below are few user exits related ESLL ,but there is no EKPO or EKKO table

EXIT_SAPLMLSK_001 Set Account Assignment in Service Line

EXIT_SAPLMLSP_001 *** As of 4.0 in Standard SAP System *** Formula Calculati

EXIT_SAPLMLSP_030 User Exit: Fill ESLL Structure Before Checks (After Entry)

EXIT_SAPLMLSP_031 Check ESLL Datat After Checking

EXIT_SAPLMLSP_040 Transfer of Data to Detail User Screen

EXIT_SAPLMLSP_043 User Exits for Data Transfer in Mass Changes

Thanks

Seshu

0 Kudos

hI,

Use SMOD transaction to maintain them -

1.MM06E005

2. MM06E007

3. MM06E008

You can try exit_sapmm06e_012

EXIT_SAPMM06E_013

<b>Reward points</b>

Regards

0 Kudos

Hi Sechu,

I have try to use EXIT_SAPLMLSP_040:

Since it has I_ESLL and I_COMSRV which contains the outline agreement number (KONNR)

However, I get some error when activite the enhancement - SRVDET:

Screen SAPLXMLU 0299 must be an Include screen (screen error)

Do you know how to fix it?

BR,

Well

0 Kudos

Hi Kiran,

Do you know which BAdi I can use to check the service line level input?

Thanks!

Well

0 Kudos

hi well

try this ME_PROCESS_PO_CUST, it's good documented BADI.

0 Kudos

Dear Seshu,

I am fixed the screen error by just change it to a subscreen...

However, this user exit (EXIT_SAPLMLSP_040) is just for create user screen on tabstrip of service detail screen.

I am trying to raise an Error message in that exit, it will terminate ME21N by the Error message. Do you know how to make it return to ME21N after an Error message...

I try to set screen to 500, 210...etc. but it seems make the program hung after leave screen. Any idea? Thanks a lot!

Cheers,

Well

0 Kudos

Hi,

I am facing one problem which is similar to urs.If you have the answer please reply.

I am having three fields under customer data tab in PR. i want to copy these three fields to PO.When PR gets copied to PO.

0 Kudos

Hi well,

i have same case,

can you tell us, what the solution is?

Thanks,

0 Kudos

Hi,

You can use the exit EXIT_SAPMM06E_016 this can be used to fill Item level custom fields, the parameter I_REBAN contains PR data.

Regards,

Sai

0 Kudos

Hi Sai,

i was use EXIT_SAPMM06E_016,

but its still not working to get PO Services line item, when creating PO

do you have another solution?

Thanks,

0 Kudos

Hi,

You need to follow the below construct, in the exit EXIT_SAPMM06E_012:

mmpur_business_obj_id tekpo-id. " Item reference

mmpur_metafield mmmfd_cust_01.

mmpur_message 'E'

MSGCLASS

MSGNO

''

''

''

''.

Check the SAP Note 310154 for more info.

Also the BADI approach (ME_GUI_PO_CUST and ME_GUI_PO_CUST) is preferred instead of using function and screen exits.

Regards,

Sai

0 Kudos

Hi Sai,

its still not working,

PO Services hierarchy :

1. PO Header

2. PO Line Item

3. Service LIne item for each PO Line Item.

what i need is to get service line item (no. 3), not PO line item.

do you have another solution ?

Thanks

0 Kudos

Hi,

Ok, understood the issue. I dont know any way to access service information, if you find one I would be very intrested in the solution. BADI approach gives more Item details (delivery, history, etc) but not service lines.

Regards,

Sai

GFV
Active Contributor
0 Kudos

Hi Santosh,

I solved the issue within EXIT_SAPMM06E_012 (Enhnacement MM06E005) using FM MS_READ_SERVICES.

 
LOOP AT tekpo INTO wa_ekpo.

  IF wa_ekpo-pstyp = '9'.
*     Read PACKNO
    CALL FUNCTION 'MS_READ_SERVICES'
      EXPORTING
        i_hpackno = wa_ekpo-packno
        i_packno  = wa_ekpo-packno
      TABLES
        t_esll    = tb_eslh.


    LOOP AT tb_eslh INTO wa_eslh.
      REFRESH tb_esll.
      CLEAR   tb_esll.

      CALL FUNCTION 'MS_READ_SERVICES'
        EXPORTING
          i_hpackno = wa_eslh-sub_packno
          i_packno  = wa_eslh-sub_packno
        TABLES
          t_esll    = tb_esll.

* tb_esll has service lines ...
* here you can do all the checks ...

    ENDLOOP.
  ENDIF.
ENDLOOP.

Hope it helps

Bye

0 Kudos

Hi Guys,

I am having the same problem, and try with FM MS_READ_SERVICES, but when you are creating PO on ME21N, you dont have data on ESLL withe package number ok TEKPO, because it is new. What can I do?

Thanks in advance.