La vida de un DBA, Basis y Bedel en Puerto Rico
2008/03/19
  SAP ABAP - Identificador de user-exits en transacciones estandar

Me enviaron este código para identificar los user-exits que tenga una transacción estandar de SAP. Ni idea de quien será el autor.

*&---------------------------------------------------------------------*
*& Report  ZBC_USER_EXIT                                               *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZBC_USER_EXIT NO STANDARD PAGE HEADING.

*-----------------------------------------------------------------------
*                         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

TABLES : TSTCT.

*-----------------------------------------------------------------------
*                         VARIABLES
*-----------------------------------------------------------------------
DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
DATA : FIELD1(30).
DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.

*-----------------------------------------------------------------------
*                        PARAMETERS
*-----------------------------------------------------------------------
PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY.

*-----------------------------------------------------------------------
*                       MAIN PROCESS
*-----------------------------------------------------------------------
START-OF-SELECTION .
  PERFORM PRINT_PROJECTS .

END-OF-SELECTION .

*-----------------------------------------------------------------------
*                       USER COMMANDS
*-----------------------------------------------------------------------
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.

*-----------------------------------------------------------------------
*                        SUBROUTINES
*-----------------------------------------------------------------------

*&---------------------------------------------------------------------*
*&      Form  print_projects
*&---------------------------------------------------------------------*
FORM PRINT_PROJECTS .

  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 'Nombre Exit',
            21 SY-VLINE ,
            22 'Descripcion',
            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:/ 'Numero de User Exits:' , SY-TFILL.
    ELSE.
      FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
      WRITE:/(95) 'No existe ningun User Exit'.
    ENDIF.
  ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(95) 'El codigo de transaccion no existe'.
  ENDIF.

ENDFORM.                    " print_projects

 
2008/03/17
  VBS Format date and time yyyy/mm/dd hh:mi:ss

I use this format for temporary and log filenames...

option explicit

dim vlNomArch

vlNomArch = year(Date) & "-" & _
            right("0" & month(date), 2) &  "-" & _
            right("0" & day(date), 2) & " " & _
            right("0" & hour(time), 2) &  ":" & _
            right("0" & minute(time), 2) &  ":" & _
            right("0" & second(time), 2)

msgbox vlNomArch

 

Mi foto
Nombre: MADS
Ubicación: San Juan, Puerto Rico, United States
Archivos
mayo 2007 / febrero 2008 / marzo 2008 / abril 2008 / mayo 2008 / junio 2008 / julio 2008 / febrero 2010 / marzo 2010 /


Powered by Blogger

Suscribirse a
Entradas [Atom]