Foro -Documentación -Código fuente -Contacto -Empleo

Buscar

Traducir

Amazon

ZBCLSEXT PDF Imprimir E-mail
Usar puntuación: / 0
MaloBueno 
Código fuente - Informativos
Domingo, 09 de Enero de 2005 06:28
Listado de ampliaciones SAP (con documentación)
* Report para mostrar las ampliaciones de SAP con ayuda

*----------------------------------------------------------------------*
* List SAP Extensions (With documentation) & Extension projects
* Author: Alexandre Fonseca
*----------------------------------------------------------------------*
REPORT ZBCLSEXT
       NO STANDARD PAGE HEADING
       LINE-SIZE  132
       LINE-COUNT 65.

INCLUDE .

TABLES: MODSAP,  " SAP Extensions.......................................
        MODSAPA, " Atributes............................................
        MODACT,  " Modifications........................................
        MODATTR, " Attributes of Extension Projects.....................
        TDEVC,   " Cls.desenv.administr.transporte......................
        TDEVCT,  " Cls.desenv.dependentes de idiomas administr.transp...
        HELP_INFO,
        DOKTL.

DATA: TAB_MOD      LIKE MODSAP OCCURS 0 WITH HEADER LINE,
          TAB_PROJECTS LIKE MODACT OCCURS 0 WITH HEADER LINE.

DATA: G_EXISTS(1) TYPE C.

CONSTANTS: TRUE(1) TYPE C VALUE 'X',
                   FALSE(1) TYPE C VALUE ' ',
                   ACTIVE LIKE MODATTR-STATUS VALUE 'A'.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONS: S_NAME   FOR MODSAP-NAME,
                         S_TYP    FOR MODSAP-TYP,
                         S_DCLASS FOR TDEVC-DEVCLASS.
PARAMETERS:     P_LANGU  LIKE SY-LANGU OBLIGATORY DEFAULT SY-LANGU.
SELECTION-SCREEN END OF BLOCK B1.

START-OF-SELECTION.

  SELECT *
  INTO TABLE TAB_MOD
  FROM MODSAP
  WHERE NAME IN S_NAME
  AND   TYP  IN S_TYP.
  SORT TAB_MOD.

  SELECT *
  FROM MODACT INTO TABLE TAB_PROJECTS.
  SORT TAB_PROJECTS.

  LOOP AT TAB_MOD.
    SELECT SINGLE *
    FROM MODSAPA
    WHERE NAME = TAB_MOD-NAME.
    CHECK SY-SUBRC EQ 0.
    CHECK MODSAPA-DEVCLASS IN S_DCLASS.
    CLEAR TAB_PROJECTS.
    READ TABLE TAB_PROJECTS WITH KEY MEMBER = TAB_MOD-NAME.
    AT NEW NAME.
      SELECT SINGLE *
      FROM TDEVCT
      WHERE SPRAS    = P_LANGU
      AND   DEVCLASS = MODSAPA-DEVCLASS.
      DOKTL-OBJECT = TAB_MOD-NAME.
      PERFORM CHECK_DOCUMENTATION USING DOKTL-OBJECT
                                  CHANGING G_EXISTS.
      NEW-LINE.
      ULINE.
      PERFORM WRITE_ENHANCEMENT USING TAB_MOD-NAME
                                      TDEVCT-DEVCLASS
                                      TDEVCT-CTEXT
                                      G_EXISTS.
      IF NOT TAB_PROJECTS-NAME IS INITIAL.
        SELECT SINGLE *
        FROM MODATTR
        WHERE NAME = TAB_PROJECTS-NAME.
        PERFORM WRITE_PROJECT USING TAB_PROJECTS-NAME MODATTR-STATUS.
      ENDIF.
      ULINE.
    ENDAT.
    CHECK TAB_MOD-MEMBER <> SPACE.
    DOKTL-OBJECT = TAB_MOD-MEMBER.
    PERFORM CHECK_DOCUMENTATION USING DOKTL-OBJECT
                                CHANGING G_EXISTS.
    SKIP.
    NEW-LINE.
    PERFORM WRITE_COMPONENT USING TAB_MOD-TYP
                                  TAB_MOD-MEMBER
                                  G_EXISTS.
    AT END OF NAME.
      SKIP.
    ENDAT.
  ENDLOOP.




AT LINE-SELECTION.

  CLEAR DOKTL-OBJECT.
  READ CURRENT LINE FIELD VALUE TAB_MOD-NAME INTO DOKTL-OBJECT.
  IF SY-SUBRC EQ 0.
    PERFORM CHECK_DOCUMENTATION USING DOKTL-OBJECT
                                CHANGING G_EXISTS.
    IF G_EXISTS = TRUE.
      PERFORM GET_DOCUMENTATION USING DOKTL-OBJECT.
    ELSE.
      READ CURRENT LINE FIELD VALUE TAB_MOD-MEMBER INTO DOKTL-OBJECT.
      IF SY-SUBRC EQ 0.
        PERFORM CHECK_DOCUMENTATION USING DOKTL-OBJECT
                                    CHANGING G_EXISTS.
        IF G_EXISTS = TRUE.
          PERFORM GET_DOCUMENTATION USING DOKTL-OBJECT.
        ENDIF.
      ENDIF.
    ENDIF.
  ENDIF.

*---------------------------------------------------------------------*
*       FORM CHECK_DOCUMENTATION                                      *
*---------------------------------------------------------------------*
*  -->  P_DOKTL_OBJECT                                                *
*  -->  P_EXISTS                                                      *
*---------------------------------------------------------------------*
FORM CHECK_DOCUMENTATION USING    P_DOKTL_OBJECT
                         CHANGING P_EXISTS.

  SELECT *
  FROM DOKTL
  WHERE ID     = 'MO'
  AND   OBJECT = P_DOKTL_OBJECT
  AND   LANGU  = P_LANGU.
  ENDSELECT.
  IF SY-SUBRC = 0.
    P_EXISTS = TRUE.
  ELSE.
    P_EXISTS = FALSE.
  ENDIF.

ENDFORM.                               " GET_DOCUMENTATION

*---------------------------------------------------------------------*
*       FORM GET_DOCUMENTATION                                        *
*---------------------------------------------------------------------*
*  -->  P_DOKTL_OBJECT                                                *
*---------------------------------------------------------------------*
FORM GET_DOCUMENTATION USING  P_DOKTL_OBJECT.
  DATA: LT_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE.
  DATA: BEGIN OF LT_EXCLUDE OCCURS 10,
          FUNC(4),
        END OF LT_EXCLUDE.
  DATA: OVERLAY_HEADER  LIKE THEAD,
        L_LINES LIKE SY-TABIX.
  REFRESH LT_LINE.

  CALL FUNCTION 'DOCU_GET_FOR_F1HELP'
       EXPORTING
            ID       = 'MO'
            LANGU    = P_LANGU
            OBJECT   = P_DOKTL_OBJECT
       IMPORTING
            HEAD     = OVERLAY_HEADER
       TABLES
            LINE     = LT_LINE
       EXCEPTIONS
            RET_CODE = 1
            OTHERS   = 2.
  IF SY-SUBRC EQ 0.
    DESCRIBE TABLE LT_LINE LINES L_LINES.
    IF L_LINES = 0.
      EXIT.
    ENDIF.
    HELP_INFO-TITLE           = P_DOKTL_OBJECT.
    HELP_INFO-DOCUID          = P_DOKTL_OBJECT.
    HELP_INFO-DOCUOBJECT      = P_DOKTL_OBJECT.
    HELP_INFO-SPRAS           = OVERLAY_HEADER-TDSPRAS.
    CALL FUNCTION 'HELP_DOCULINES_SHOW'
         EXPORTING
              HELP_INFOS     = HELP_INFO
              OVERLAY_HEADER = OVERLAY_HEADER
         TABLES
              EXCLUDEFUN     = LT_EXCLUDE
              HELPLINES      = LT_LINE
         EXCEPTIONS
              OTHERS         = 1.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  WRITE_PROJECT
*&---------------------------------------------------------------------*
*      -->P_TAB_PROJECTS-NAME  text                                    *
*      -->P_ICON  text                                                 *
*----------------------------------------------------------------------*
FORM WRITE_PROJECT USING    P_NAME LIKE MODACT-NAME
                            P_STATUS.

  IF P_STATUS = ACTIVE.
    WRITE: / 'Project.......:' COLOR 5 INVERSE,
             TAB_PROJECTS-NAME COLOR 1,
             ICON_LED_GREEN AS ICON.
  ELSE.
    WRITE: / 'Project.......:' COLOR 5 INVERSE,
             TAB_PROJECTS-NAME COLOR 1,
             ICON_LED_RED AS ICON.
  ENDIF.

ENDFORM.                               " WRITE_PROJECT
*&---------------------------------------------------------------------*
*&      Form  WRITE_COMPONENT
*&---------------------------------------------------------------------*
*      -->P_TAB_MOD-TYP  text                                          *
*      -->P_TAB_MOD-MEMBER  text                                       *
*      -->P_ICON  text                                                 *
*----------------------------------------------------------------------*
FORM WRITE_COMPONENT USING    P_TYP    LIKE MODACT-TYP
                              P_MEMBER LIKE MODACT-MEMBER
                              P_EXISTS.

  DATA: L_DOMNAME  LIKE DD07V-DOMNAME,
           L_DOMVALUE LIKE DD07V-DOMVALUE_L,
           L_DDTEXT   LIKE DD07V-DDTEXT.

  L_DOMNAME  = 'MODTYP'.
  L_DOMVALUE = P_TYP.

  CALL FUNCTION 'RV_DOMAIN_VALUE_TEXTS'
       EXPORTING
            DOMNAME  = L_DOMNAME
            DOMVALUE = L_DOMVALUE
       IMPORTING
            DDTEXT   = L_DDTEXT
       EXCEPTIONS
            OTHERS   = 1.

  IF P_EXISTS = TRUE.
    WRITE: 'Enhancement type:' COLOR 5 INVERSE,
           L_DDTEXT(20)  COLOR 1.
    WRITE: 'Component:' COLOR 5 INVERSE,
           P_MEMBER COLOR 1,
           ICON_SELECT_DETAIL AS ICON.
  ELSE.
    WRITE: 'Enhancement type:' COLOR 5 INVERSE,
           L_DDTEXT(20) COLOR 1.
    WRITE: 'Component:' COLOR 5 INVERSE,
           P_MEMBER COLOR 1.
  ENDIF.

ENDFORM.                               " WRITE_COMPONENT
*&---------------------------------------------------------------------*
*&      Form  WRITE_ENHANCEMENT
*&---------------------------------------------------------------------*
*      -->P_TAB_MOD-NAME  text                                         *
*      -->P_TDEVCT-DEVCLASS  text                                      *
*      -->P_TDEVCT-CTEXT  text                                         *
*----------------------------------------------------------------------*
FORM WRITE_ENHANCEMENT USING    P_NAME     LIKE MODACT-NAME
                                P_DEVCLASS LIKE TDEVCT-DEVCLASS
                                P_CTEXT    LIKE TDEVCT-CTEXT
                                P_EXISTS.

  IF P_EXISTS = TRUE.
    WRITE: 'Enhancement...:' COLOR 5 INVERSE,
           TAB_MOD-NAME  COLOR 1,
           ICON_SELECT_DETAIL AS ICON,
           TDEVCT-DEVCLASS,
           TDEVCT-CTEXT.
  ELSE.
    WRITE: 'Enhancement...:' COLOR 5 INVERSE,
           TAB_MOD-NAME  COLOR 1,
           TDEVCT-DEVCLASS,
           TDEVCT-CTEXT.
  ENDIF.


ENDFORM.                               " WRITE_ENHANCEMENT
Comentarios
Buscar
¡Sólo los usuarios registrados pueden escribir comentarios!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
home search