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: 

User-Exit in transaction LT12

Former Member
0 Kudos

Hi guys,

I'm seaching for a user exit in transaction LT12 that will allow me to check the value of the destination Bin.

This transaction do the confirmation of the tranfer order.

I have searched trough the code but found nothing.

Thx in advance,

6 REPLIES 6

Former Member
0 Kudos

Hey,

try pasting this code into a new program and run it - it will tell you most everything you need to know:

-


REPORT ZZ_JE_FIND_USER_EXIT NO STANDARD PAGE HEADING.

&----


*& Enter the transaction code that you want to search through in order

*& to find which Standard SAP User Exits exists.

*&

&----


&----


*& Tables

&----


TABLES : tstc, "SAP Transaction Codes

tadir, "Directory of Repository Objects

modsapt, "SAP Enhancements - Short Texts

modact, "Modifications

trdir, "System table TRDIR

tfdir, "Function Module

enlfdir, "Additional Attributes for Function Modules

tstct. "Transaction Code Texts

&----


*& Variables

&----


DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.

DATA : field1(30).

DATA : v_devclass LIKE tadir-devclass.

&----


*& Selection Screen Parameters

&----


SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.

SELECTION-SCREEN SKIP.

PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF BLOCK a01.

&----


*& Start of main program

&----


START-OF-SELECTION.

  • Validate Transaction Code

SELECT SINGLE * FROM tstc

WHERE tcode EQ p_tcode.

  • Find Repository Objects for transaction code

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 = enlfdir-area.

MOVE : tadir-devclass TO v_devclass.

ENDIF.

ENDIF.

  • Find SAP Modifactions

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.

  • Take the user to SMOD for the Exit that was selected.

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.

0 Kudos

Thank you for your answer but all the user exit listed doesn't fit my need.I need to check the destination bin.

Former Member
0 Kudos

Hello,

there are several Badi's in program SAPML03T, which is behind transaction LT12 (at least in Rel 4.70). The calling subroutines in SAPML03T are:

BADICALL_QUANT_POSTING_CHANGE

BADI_CALL_LGTYP

BADI_SCM_TRM_TO_CANCEL3_D.....

BADI_SCM_TRM_TO_CANCEL4_D..... BADI_SCM_TRM_TO_CANCEL5_D.....

BADI_WM_ENHANCEMENT_DEC_UPDATE

BADI_WM_ENHANCEMENT_DLV_SKIP

BADI_WM_ENHANCEMENT_TO_CANCEL

BADI_WM_ENHANCEMENT_TR_SKIP

BADI_WM_ENHANCEMENT_XDOCK_LOCK

You could check these ones.

Regards Wolfgang

0 Kudos

Thx for your help but none of those solution solved my problem.

The majority of the badi are reserved for the sap system.

Even if i modify the Code in the Badi, they are not correctly positionned to allow me to send a warning.

Former Member
0 Kudos

Hi,

I am also struck with the same problem. I need to raise a message when destination storage type is 998(no location).Please help me!!!!!!!!

Regards,

Omkaram.

Former Member
0 Kudos

ZXLTOU02 is the include (i.e) EXIT_SAPLL03T_002 fucntion module where you need to write your logic.

But this doesnt get executed in runtime if you put a breakpoint,since it is executed as an update task.

For your testing purpose you can keep a breakpoint at statement ' IF i_rl03a-verbu = con_x. ' and change the value of con_x to space. otherwise value will be 'X' as Tranfer gets confirmed and fn module 'L_TA_QUITTIEREN' gets executed in background.

Once the value is maintained as space for variable 'con_x' it will trigger fucntion module 'EXIT_SAPLL03T_002 ' if a breakpoint is placed and your respective logic gets executed.