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

Buscar

Traducir

Amazon

ZDOWN_FUNC PDF Imprimir E-mail
Usar puntuación: / 0
MaloBueno 
Código fuente - Utilidades con ficheros
Domingo, 24 de Agosto de 2003 04:26
Descarga grupo de funciones
REPORT ZZENNO01 LINE-SIZE 250.        "Rel. 3.1, 4.5

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 = '** Functional modules: **'. 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 for 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 = '*=->> Generates automatically - Include is jumped over '.
        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.





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