Browse files on SAP Application Server(UNIX)









When looking at/for files on the application server(UNIX) using AL11 you are restricted to only certian directories. The following ABAP program displays all files/directories on the application server(UNIX). Simple copy and paste the following code into a new ABAP report program. Note will also need to created the following report which displays the actual file ZBROWSEFILE.


*---------------------------------------------------------------------------------*
* Topic:           File Manager for UNIX environment                  *
*                                                                     *
* Description:     With internal system command you can get access to *
*                  the UNIX. The program list files in the Unix       *
*                  environment and by using at line selecttion you are*
*                  able to browse datasets.                           *
*                                                                     *
* Authorization:   None, be careful you have unlimited access to Unix.*
*                  Check that you are able to use the internal system *
*                  command.                                           *
*                                                                     *
* Parameters:       Filename and path.                                *
*                                                                     *
* Change of        Check that you are able to use the internal system *
* release          command.                                           *
*                                                                     *
* Release:         4.6b                                               *
*                                                                     *
***********************************************************************

REPORT ZUNIXFILES MESSAGE-ID Z1
                  NO STANDARD PAGE HEADING
                  LINE-COUNT 65
                  LINE-SIZE  132.
*---------------------------------------------------------------------------------*
* Global Variables.                                                   *
*---------------------------------------------------------------------------------*
DATA: BEGIN OF TABL OCCURS 0,
          LINE(2000),
      END OF TABL.

DATA: PARCOM_LOC LIKE RS37A-LINE.

DATA: SIZE(10) TYPE C,
      LINE     LIKE TABL-LINE,
      SUM(16)  TYPE C.

DATA: FILE LIKE RS37A-LINE.
DATA: PATH(255) TYPE C.

*---------------------------------------------------------------------------------*
* Parameters.                                                       *
*---------------------------------------------------------------------------------*
SELECTION-SCREEN SKIP 2.
PARAMETERS: PARCOM LIKE RS37A-LINE.


*********************************************************************
*AT SELECTION-SCREEN.
AT SELECTION-SCREEN.
  CONDENSE: PARCOM NO-GAPS.


*********************************************************************
*TOP-OF-PAGE.
TOP-OF-PAGE.
  PERFORM WRITE_PAGE_HEADING.


*********************************************************************
*INITIALIZATION.
INITIALIZATION.
  PARCOM = '/usr/sap/*'.               "Only default value


*********************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.
  PERFORM MAKE_LOC.
  PERFORM COLLECT_DATA.
  PERFORM FILE_LIST.


*********************************************************************
*AT LINE-SELECTION.
AT LINE-SELECTION.
  CLEAR FILE.
  FILE = SY-LISEL+55.
  REPLACE '|' WITH SPACE INTO FILE.

  IF SY-LISEL+1(1) = 'd'.
     PATH = FILE.
     PATH+200 = '/*'.
     CONDENSE PATH NO-GAPS.
     SUBMIT ZUNIXFILES
       WITH PARCOM = PATH
       AND RETURN.
  ENDIF.

  SUBMIT ZBROWSEFILE            "Call the browse program
     WITH PARCOM = FILE
     AND RETURN.


*---------------------------------------------------------------------------------*

* FORM MAKE LOC. *

*---------------------------------------------------------------------------------* FORM MAKE_LOC. CLEAR: PARCOM_LOC. PARCOM_LOC(7) = 'ls -ld '. PARCOM_LOC+7(45) = PARCOM. ENDFORM. *---------------------------------------------------------------------------------*

* FORM COLLECT DATA. *

*---------------------------------------------------------------------------------* FORM COLLECT_DATA. REFRESH TABL. CALL 'SYSTEM' ID 'COMMAND' FIELD PARCOM_LOC ID 'TAB' FIELD TABL-*SYS*. ENDFORM. *---------------------------------------------------------------------------------*

* FORM FILE LIST. *

*---------------------------------------------------------------------------------* FORM FILE_LIST. FORMAT RESET. CLEAR SUM. LOOP AT TABL. CLEAR LINE. LINE = TABL-LINE. WRITE /2 LINE. PERFORM VERTICAL_LINES. SUM = SUM + SIZE. ENDLOOP. WRITE:/1(132) SY-ULINE. ENDFORM. *---------------------------------------------------------------------------------*

* FORM WRITE PAGE HEADING. *

*---------------------------------------------------------------------------------* FORM WRITE_PAGE_HEADING. WRITE:/1(132) SY-ULINE. PERFORM VERTICAL_LINES. FORMAT INTENSIFIED. WRITE: /2(131) SPACE COLOR 1. WRITE: 2 SY-DATUM COLOR 1. WRITE: 35 'File Manager' COLOR 1. PERFORM VERTICAL_LINES. WRITE:/1(132) SY-ULINE. PERFORM VERTICAL_LINES. FORMAT INTENSIFIED. WRITE: /2(131) SPACE COLOR 3. PERFORM VERTICAL_LINES. FORMAT RESET. WRITE:/1(132) SY-ULINE. ENDFORM. *---------------------------------------------------------------------------------*

* FORM VERTICAL LINES. *

*---------------------------------------------------------------------------------* FORM VERTICAL_LINES. PERFORM WRITE_VLINE USING ' ' 1. PERFORM WRITE_VLINE USING ' ' 132. ENDFORM. *---------------------------------------------------------------------------------* * WRITE_VLINE. * *---------------------------------------------------------------------------------* FORM WRITE_VLINE USING MODE POS. IF MODE NE 'T'. FORMAT INTENSIFIED. ENDIF. POSITION POS. WRITE: SY-VLINE. IF MODE NE 'T'. FORMAT RESET. ENDIF. ENDFORM.