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: 

Need user exit/BADi

Former Member
0 Kudos

Hi All,

I have following requirement for USER EXIT/BADI:-

Requirement : If some material number is entered in Transaction ME11 /ME12 , I have to find a user exit/BADI where I will find material group from mara based on EINA-MATNR = MARA-MATNR if that group is within some specific group like CHEM ,POLY,OIL etc. , user will not be allowed to go to next screen and it will show message to user on the first screen itself..

If any one has come across such requirement please help me on this asap.

Thanks.

Lokesh

4 REPLIES 4

Former Member
0 Kudos

Lokesh,

Check in this....

Exit Name Description

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

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

LMEKO001 Extend communications structure KOMK for pricing

LMEKO002 Extend communications structure KOMP for pricing

LMEQR001 User exit for source determination

LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt

LWSUS001 Individual customer 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

M06B0004 Number range and document number

M06B0005 Changes to comm. structure for overall release of requisn.

M06E0004 Changes to communication structure for release purch. doc.

M06E0005 Role determination for release of purchasing documents

ME590001 Grouping of requsitions for PO split in ME59

MEETA001 Define schedule line type (backlog, immed. req., preview)

MEFLD004 Determine earliest delivery date f. check w. GR (only PO)

MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.

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

MM06E011 Activate PReq Block

Former Member
0 Kudos

hi,

U excute this code and enter ur Tcode in ur selection screeen u get ur user-exit

  • TABLES : TSTC, TADIR, MODSAPT, MODACT, TRDIR, TFDIR, ENLFDIR.

*TABLES : TSTCT.

*DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.

*DATA : FIELD1(30).

*DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.

*PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY.

*

*SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.

*IF SY-SUBRC EQ 0.

*SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'

*AND OBJECT = 'PROG'

*AND OBJ_NAME = TSTC-PGMNA.

*MOVE : TADIR-DEVCLASS TO V_DEVCLASS.

*IF SY-SUBRC NE 0.

*SELECT SINGLE * FROM TRDIR WHERE NAME = TSTC-PGMNA.

*IF TRDIR-SUBC EQ 'F'.

*SELECT SINGLE * FROM TFDIR WHERE PNAME = TSTC-PGMNA.

*SELECT SINGLE * FROM ENLFDIR WHERE FUNCNAME =

*TFDIR-FUNCNAME.

*SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'

*AND OBJECT = 'FUGR'

*AND OBJ_NAME EQ ENLFDIR-AREA.

*

*MOVE : TADIR-DEVCLASS TO V_DEVCLASS.

*ENDIF.

*ENDIF.

*SELECT * FROM TADIR INTO TABLE JTAB

*WHERE PGMID = 'R3TR'

*AND OBJECT = 'SMOD'

*AND DEVCLASS = V_DEVCLASS.

*SELECT SINGLE * FROM TSTCT WHERE SPRSL EQ SY-LANGU AND

*TCODE EQ P_TCODE.

*FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.

*WRITE:/(19) 'Transaction Code - ',

*20(20) P_TCODE,

*45(50) TSTCT-TTEXT.

*SKIP.

*IF NOT JTAB[] IS INITIAL.

*WRITE:/(95) SY-ULINE.

*FORMAT COLOR COL_HEADING INTENSIFIED ON.

*WRITE:/1 SY-VLINE,

*2 'Exit Name',

*21 SY-VLINE ,

*22 'Description',

*95 SY-VLINE.

*WRITE:/(95) SY-ULINE.

*LOOP AT JTAB.

*SELECT SINGLE * FROM MODSAPT

*WHERE SPRSL = SY-LANGU AND

*NAME = JTAB-OBJ_NAME.

*FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

*WRITE:/1 SY-VLINE,

*2 JTAB-OBJ_NAME HOTSPOT ON,

*21 SY-VLINE ,

*22 MODSAPT-MODTEXT,

*95 SY-VLINE.

*ENDLOOP.

*WRITE:/(95) SY-ULINE.

*DESCRIBE TABLE JTAB.

*SKIP.

*FORMAT COLOR COL_TOTAL INTENSIFIED ON.

*WRITE:/ 'No of Exits:' , SY-TFILL.

*ELSE.

*FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

*WRITE:/(95) 'No User Exit exists'.

*ENDIF.

*ELSE.

*FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

*WRITE:/(95) 'Transaction Code Does Not Exist'.

*ENDIF.

*

*AT LINE-SELECTION.

*GET CURSOR FIELD FIELD1.

*CHECK FIELD1(4) EQ 'JTAB'.

*SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).

*CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

dont forget to give a reward if it helpful

Thanks

vana

Former Member
0 Kudos

Hi,

Check these exits.

Exit Name Description

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

M06B0004 Number range and document number

M06B0005 Changes to comm. structure for overall release of requisn.

M06E0004 Changes to communication structure for release purch. doc.

M06E0005 Role determination for release of purchasing documents

ME590001 Grouping of requsitions for PO split in ME59

MEETA001 Define schedule line type (backlog, immed. req., preview)

MEFLD004 Determine earliest delivery date f. check w. GR (only PO)

MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.

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

Former Member
0 Kudos

Hi Lokesh,

i am sending one program using which you can check for the user exits and Badi's used in the respective transaction.

It will surely resolve your issue.

Use the following prog. it will fetch the Exits as well as BADI's for that T Code.

&----


*& Report Z_USEREXIT_DISPLAY

&----


REPORT Z_USEREXIT_DISPLAY

NO STANDARD PAGE HEADING

LINE-SIZE 200 MESSAGE-ID ZZ.

&----


  • T A B L E D E C L A R A T I O N S *

&----


TABLES: TFTIT,

E071,

E070.

&----


  • S T R U C T U R E D E C L A R A T I O N S *

&----


TYPES: BEGIN OF X_TSTC,

TCODE TYPE TCODE,

PGMNA TYPE PROGRAM_ID,

END OF X_TSTC.

TYPES: BEGIN OF X_TADIR,

OBJ_NAME TYPE SOBJ_NAME,

DEVCLASS TYPE DEVCLASS,

END OF X_TADIR.

TYPES: BEGIN OF X_SLOG,

OBJ_NAME TYPE SOBJ_NAME,

END OF X_SLOG.

TYPES: BEGIN OF X_FINAL,

NAME TYPE SMODNAME,

MEMBER TYPE MODMEMBER,

INCLUDE(15), "Include name

END OF X_FINAL.

&----


  • I N T E R N A L T A B L E D E C L A R A T I O N S *

&----


DATA: IT_TSTC TYPE STANDARD TABLE OF X_TSTC WITH HEADER LINE.

DATA: IT_TADIR TYPE STANDARD TABLE OF X_TADIR WITH HEADER LINE.

DATA: IT_JTAB TYPE STANDARD TABLE OF X_SLOG WITH HEADER LINE.

DATA: IT_FINAL TYPE STANDARD TABLE OF X_FINAL WITH HEADER LINE.

&----


  • V A R I A B L E S D E C L A R A T I O N S *

&----


  • U S E R I N P U T S S C R E E N *

&----


&----


  • S E L E C T I O N S C R E E N *

&----


SELECTION-SCREEN: BEGIN OF BLOCK BLK01 WITH FRAME TITLE TEXT-T01.

PARAMETERS: P_TCODE LIKE TSTC-TCODE OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK01.

&----


  • S t a r t o f S e l e c t i o n *

&----


START-OF-SELECTION.

PERFORM GET_TCODES. "Get Tcodes

PERFORM GET_OBJECTS. "Get Objects

&----


  • E n d o f S e l e c t i o n *

&----


END-OF-SELECTION.

PERFORM DISPLAY_RESULTS. "Display Results

&----


*& Form get_tcodes

&----


  • Get Tcodes

----


FORM GET_TCODES.

SELECT TCODE

PGMNA

INTO TABLE IT_TSTC

FROM TSTC

WHERE TCODE = P_TCODE.

IF SY-SUBRC = 0.

SORT IT_TSTC BY TCODE.

ENDIF.

ENDFORM. " get_tcodes

&----


*& Form get_objects

&----


  • Get Objects

----


FORM GET_OBJECTS.

DATA: L_FNAME LIKE RS38L-NAME,

L_GROUP LIKE RS38L-AREA,

L_INCLUDE LIKE RS38L-INCLUDE,

L_NAMESPACE LIKE RS38L-NAMESPACE,

L_STR_AREA LIKE RS38L-STR_AREA.

DATA: V_INCLUDE LIKE RODIOBJ-IOBJNM.

DATA: E_T_INCLUDE TYPE STANDARD TABLE OF ABAPSOURCE WITH HEADER

LINE.

DATA: L_LINE TYPE STRING,

L_TABIX LIKE SY-TABIX.

IF NOT IT_TSTC[] IS INITIAL.

SELECT OBJ_NAME

DEVCLASS

INTO TABLE IT_TADIR

FROM TADIR FOR ALL ENTRIES IN IT_TSTC

WHERE PGMID = 'R3TR' AND

OBJECT = 'PROG' AND

OBJ_NAME = IT_TSTC-PGMNA.

IF SY-SUBRC = 0.

SORT IT_TADIR BY OBJ_NAME DEVCLASS.

SELECT OBJ_NAME

INTO TABLE IT_JTAB

FROM TADIR FOR ALL ENTRIES IN IT_TADIR

WHERE PGMID = 'R3TR' AND

OBJECT = 'SMOD' AND

DEVCLASS = IT_TADIR-DEVCLASS.

IF SY-SUBRC = 0.

SORT IT_JTAB BY OBJ_NAME.

ENDIF.

ENDIF.

ENDIF.

*- Get UserExit names

LOOP AT IT_JTAB.

SELECT NAME

MEMBER

INTO (IT_FINAL-NAME, IT_FINAL-MEMBER)

FROM MODSAP

WHERE NAME = IT_JTAB-OBJ_NAME AND

TYP = 'E'.

APPEND IT_FINAL.

CLEAR IT_FINAL.

ENDSELECT.

ENDLOOP.

*- Process it_final contents.

LOOP AT IT_FINAL.

L_TABIX = SY-TABIX.

CLEAR: L_FNAME,

L_GROUP,

L_INCLUDE,

L_NAMESPACE,

L_STR_AREA.

L_FNAME = IT_FINAL-MEMBER.

CALL FUNCTION 'FUNCTION_EXISTS'

EXPORTING

FUNCNAME = L_FNAME

IMPORTING

GROUP = L_GROUP

INCLUDE = L_INCLUDE

NAMESPACE = L_NAMESPACE

STR_AREA = L_STR_AREA

EXCEPTIONS

FUNCTION_NOT_EXIST = 1

OTHERS = 2.

IF SY-SUBRC = 0.

IF NOT L_INCLUDE IS INITIAL.

*- Get Source code of include.

CLEAR: V_INCLUDE, E_T_INCLUDE, E_T_INCLUDE[].

V_INCLUDE = L_INCLUDE.

CALL FUNCTION 'MU_INCLUDE_GET'

EXPORTING

I_INCLUDE = V_INCLUDE

TABLES

E_T_INCLUDE = E_T_INCLUDE.

IF SY-SUBRC = 0.

LOOP AT E_T_INCLUDE.

IF E_T_INCLUDE-LINE CS 'INCLUDE'.

CLEAR L_LINE.

L_LINE = E_T_INCLUDE-LINE.

CONDENSE L_LINE NO-GAPS.

TRANSLATE L_LINE USING '. '.

L_LINE = L_LINE+7(9).

IT_FINAL-INCLUDE = L_LINE.

MODIFY IT_FINAL INDEX L_TABIX TRANSPORTING INCLUDE.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

ENDIF.

ENDLOOP.

ENDFORM. " get_objects

&----


*& Form display_results

&----


  • Display Results

----


FORM DISPLAY_RESULTS.

FORMAT COLOR COL_HEADING.

WRITE:/1(150) SY-ULINE.

WRITE:/ SY-VLINE,

2(23) 'Extension Name',

24 SY-VLINE,

25(39) 'Exit Name',

64 SY-VLINE,

65(74) 'Description',

140 SY-VLINE,

141(9) 'Include',

150 SY-VLINE.

WRITE:/1(150) SY-ULINE.

FORMAT RESET.

SORT IT_FINAL BY NAME MEMBER.

LOOP AT IT_FINAL.

CLEAR TFTIT.

SELECT SINGLE STEXT

INTO TFTIT-STEXT

FROM TFTIT

WHERE SPRAS = 'EN' AND

FUNCNAME = IT_FINAL-MEMBER.

WRITE:/ SY-VLINE,

IT_FINAL-NAME COLOR COL_KEY, 24 SY-VLINE,

25 IT_FINAL-MEMBER, 64 SY-VLINE,

65 TFTIT-STEXT, 140 SY-VLINE,

141 IT_FINAL-INCLUDE, 150 SY-VLINE.

WRITE:/1(150) SY-ULINE.

ENDLOOP.

ENDFORM. " display_results

Hope this resolves your query.

Reward all the helpful answers.

Regards