sapdev logo background
sapdev logo sapdev logo
Comments

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.




comments powered by Disqus