Home
  Add-Ons for
SAP® systems
  CT-Assist 7.1
  User comments
  R/3® Integration
  PDF / Download
  CT-Debug & Trace_Module
  R/3® Integration
  PDF / Download
  CT-Codeview & Analyzer
  CT-Test & Optimizer
  eLearning for ABAP™
  CT-Professsional_100+Help
  CT-Professsional_100
  CT-Understanding_100
  CT-Help_Workbench
  ABAP™ Programs
  Shop [SSL]
  Downloads
 

 

Home > ABAP™-Programs > ZZENNO01

ABAP™-Programs

Report ZZENNO01: Downloading all selected Functiongroups with all modules

Downloading all selected Function groups with all modules and subroutines in one file. It does not export the automatically generated function modules for table views!

[for Download or 'cut and paste']


REPORT ZZENNO01 LINE-SIZE 250.        "Rel. 3.1, 4.5
*
**********************         HEADER                    **************
*
* Copyright (c) 1999 by Enno Wulff,
*                       Hommola & Wulff Unternehmensberatung GmbH
*                       http://www.hommola-wulff.de
*
*     You can use or modify this report for your own work as long
*               as you don't try to sell or republish it.
*      In no event will the author be liable for indirect, special,
*        Incidental, or consequental damages (if any) arising out of
*                       the use of this report.
*//////////////////////////////////////////////////////////////////////*

TABLES: TFDIR, TRDIR, TLIBG.

SELECT-OPTIONS:
            FUNKTGRP FOR TLIBG-AREA,
            USER FOR TLIBG-UNAME.
PARAMETERS: DOWNLOAD AS CHECKBOX,
            FILENAME LIKE RLGRAP-FILENAME.

DATA: BEGIN OF T OCCURS 500,           "Report für DOWNLOAD
        LINE(72),
      END OF T,
      BEGIN OF ALL OCCURS 500,         "Report für DOWNLOAD
        LINE(72),
      END OF ALL,
      XTRDIR LIKE TRDIR OCCURS 100 WITH HEADER LINE,
      FUNK_MAIN(8),
      X_FILENAME LIKE RLGRAP-FILENAME,
      ZINCLUDE(8).

INITIALIZATION.
  USER-SIGN = 'I'.
  USER-OPTION = 'EQ'.
  USER-LOW = SY-UNAME.
  APPEND USER.
  FUNKTGRP-SIGN = 'I'.
  FUNKTGRP-OPTION = 'BT'.
  FUNKTGRP-LOW = 'Z000'.
  FUNKTGRP-HIGH = 'ZZZZ'.
  APPEND FUNKTGRP.
  CONCATENATE 'C:\ABAP\' SY-UNAME '\FUNKTBST' INTO FILENAME.

START-OF-SELECTION.
  SELECT * FROM TLIBG WHERE AREA IN FUNKTGRP.
    CONCATENATE 'SAPL' TLIBG-AREA INTO FUNK_MAIN.
    SELECT SINGLE * FROM TRDIR WHERE NAME = FUNK_MAIN
                                 AND ( CNAM IN USER OR UNAM IN USER ).
    CHECK SY-SUBRC = 0.
    APPEND TRDIR TO XTRDIR.
  ENDSELECT.

  LOOP AT XTRDIR.
    TRDIR = XTRDIR.
    REFRESH T.
    REFRESH ALL.

    ALL = '** Funktionsbausteine: **'. APPEND ALL.
    SELECT * FROM TFDIR WHERE PNAME = TRDIR-NAME.
      CONCATENATE '**' TFDIR-FUNCNAME INTO ALL. APPEND ALL.
    ENDSELECT.                         "TFDIR
    READ REPORT TRDIR-NAME INTO T.
    LOOP AT T.

      IF T(10) CS 'INCLUDE'.
        PERFORM DO_EXCLUDE USING T.
      ELSE.
        ALL = T. APPEND ALL.
      ENDIF.
    ENDLOOP.

    FORMAT COLOR 5.
    WRITE: / '*********************'.
    WRITE: TRDIR-NAME.
    WRITE: '*********************'.
    FORMAT COLOR OFF.

    LOOP AT ALL.
      WRITE: / ALL.
    ENDLOOP.

    CHECK DOWNLOAD = 'X'.
    CONCATENATE FILENAME '\' TRDIR-NAME '.FUN' INTO X_FILENAME.
    CALL FUNCTION 'WS_DOWNLOAD'
         EXPORTING
              FILENAME            = X_FILENAME
              FILETYPE            = 'ASC'
         TABLES
              DATA_TAB            = ALL
         EXCEPTIONS
              FILE_OPEN_ERROR     = 1
              FILE_WRITE_ERROR    = 2
              INVALID_FILESIZE    = 3
              INVALID_TABLE_WIDTH = 4
              INVALID_TYPE        = 5
              NO_BATCH            = 6
              UNKNOWN_ERROR       = 7
              OTHERS              = 8.
  ENDLOOP.
*---------------------------------------------------------------------*
*       FORM DO_EXCLUDE                                               *
*---------------------------------------------------------------------*
FORM DO_EXCLUDE USING STRING.

  DATA: NAME(8),
        FALSCHER_ALARM,
        ZEILE(72),
        BEGIN OF INC OCCURS 500,       "Report für DOWNLOAD
          LINE(72),
        END OF INC.

  ZEILE = STRING.

  IF ZEILE(1) <> '*'.
    IF ZEILE CS 'TABLEFRAME' OR
       ZEILE CS 'TABLEPROC' OR
       ZEILE CS 'LSVIM'.                                    " OR
*     ZEILE CS 'STRUCTURE'.

      ALL = ZEILE. APPEND ALL.
      IF NOT ZEILE CS 'INCLUDE STRUCTURE'.
        ALL = '*=->> Automatisch generiert - Include wird übersprungen'.
        APPEND ALL. EXIT.
      ENDIF.
    ENDIF.
    CLEAR FALSCHER_ALARM.
    DO.
      IF ZEILE(7) = 'INCLUDE'.
        EXIT.
      ELSEIF ZEILE(1) = '"'.
        FALSCHER_ALARM = 'X'. EXIT.
      ELSE.
        SHIFT ZEILE.
      ENDIF.
      IF SY-INDEX > 100.
        FALSCHER_ALARM = 'X'.
        EXIT.
      ENDIF.
    ENDDO.
    IF FALSCHER_ALARM = SPACE.
      NAME = ZEILE+8(8).
      CONCATENATE '*$*$ Start ofInclude ' NAME  INTO ALL
            SEPARATED BY SPACE.
      APPEND ALL.

      REFRESH INC.
      READ REPORT NAME INTO INC.
      LOOP AT INC.
        IF INC CS 'INCLUDE'.
          PERFORM DO_EXCLUDE USING INC.
        ELSE.
          ALL = INC. APPEND ALL.
        ENDIF.
      ENDLOOP.
      CONCATENATE '*$*$ End of Include ' NAME INTO ALL
               SEPARATED BY SPACE.
    ELSE.
      ALL = ZEILE.
    ENDIF.
  ELSE.
    ALL = ZEILE.
  ENDIF.
  APPEND ALL.

ENDFORM.