Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to sort files in directory of application server

Former Member
0 Kudos

HI,

I want read sorted files from directory on application server.

Can anybody help me out in following doubts.

1) HOw to sort files of directory on application server.

2) How to read all sorted files.

Thanks in Advance.

Waiting for reply.

Thanks & regards,

Nitin

3 REPLIES 3

Former Member
0 Kudos

Using this code U can read application server files.

After geting files in to Internal table Sort it.

*Diclarations

DATA: BEGIN OF SEARCHPOINTS OCCURS 10,

DIRNAME TYPE NAME_OF_DIR, " name of directory.

SP_NAME TYPE NAME_OF_FILE, " name of entry. (may end with *)

SP_CS(10) TYPE C, " ContainsString pattern for name.

END OF SEARCHPOINTS.

DATA: BEGIN OF FILE,

DIRNAME TYPE NAME_OF_DIR, " name of directory. (possibly

" truncated.)

NAME TYPE NAME_OF_FILE, " name of entry. (possibly

" truncated.)

TYPE(10) TYPE C, " type of entry.

LEN(8) TYPE P, " length in bytes.

OWNER(8) TYPE C, " owner of the entry.

MTIME(6) TYPE P, " last modification date, seconds since

MODE(9) TYPE C,

USEABLE(1) TYPE C,

SUBRC(4) TYPE C,

ERRNO(3) TYPE C,

ERRMSG(40) TYPE C,

MOD_DATE TYPE D,

MOD_TIME(8) TYPE C, " hh:mm:ss

SEEN(1) TYPE C,

CHANGED(1) TYPE C,

END OF FILE.

MOVE V_PL_PHYS_PATH TO SEARCHPOINTS-DIRNAME.

" V_PL_PHYS_PATH Is application server path

MOVE '*' TO SEARCHPOINTS-SP_NAME.

  • Retriving File names by Passing Direcotry name

PERFORM FILL_FILE_LIST USING SEARCHPOINTS-DIRNAME

SEARCHPOINTS-SP_NAME

SEARCHPOINTS-SP_CS.

FORM FILL_FILE_LIST USING A_DIR_NAME A_GENERIC_NAME A_MUST_CS.

DATA: ERRCNT(2) TYPE P VALUE 0.

CALL 'C_DIR_READ_FINISH' " just to be sure

ID 'ERRNO' FIELD FILE-ERRNO

ID 'ERRMSG' FIELD FILE-ERRMSG.

CALL 'C_DIR_READ_START' ID 'DIR' FIELD A_DIR_NAME

ID 'FILE' FIELD A_GENERIC_NAME

ID 'ERRNO' FIELD FILE-ERRNO

ID 'ERRMSG' FIELD FILE-ERRMSG.

IF SY-SUBRC <> 0.

SY-SUBRC = 4.

EXIT.

ENDIF.

DO.

CLEAR FILE.

CALL 'C_DIR_READ_NEXT'

ID 'TYPE' FIELD FILE-TYPE

ID 'NAME' FIELD FILE-NAME

ID 'LEN' FIELD FILE-LEN

ID 'OWNER' FIELD FILE-OWNER

ID 'MTIME' FIELD FILE-MTIME

ID 'MODE' FIELD FILE-MODE

ID 'ERRNO' FIELD FILE-ERRNO

ID 'ERRMSG' FIELD FILE-ERRMSG.

FILE-DIRNAME = A_DIR_NAME.

MOVE SY-SUBRC TO FILE-SUBRC.

CASE SY-SUBRC.

WHEN 0.

CLEAR: FILE-ERRNO, FILE-ERRMSG.

CASE FILE-TYPE(1).

WHEN 'F'. " normal file.

MOVE FILE-NAME TO FILE_NAMES-FILE_NAME.

APPEND FILE_NAMES.

WHEN 'f'. " normal file.

MOVE FILE-NAME TO FILE_NAMES-FILE_NAME.

APPEND FILE_NAMES.

ENDCASE.

WHEN 1. " end of directory

EXIT.

WHEN OTHERS.

ADD 1 TO ERRCNT.

IF ERRCNT > 90.

EXIT.

ENDIF.

ENDCASE.

ENDDO.

ENDFORM. "FILL_FILE_LIST

andreas_mann3
Active Contributor
0 Kudos

Hi,

look fm EPS_GET_DIRECTORY_LISTING

-> you can sort exported table DIR_LIST,

loop about and read it with commands:

open/read dataset

Andreas

Former Member
0 Kudos

hi,

check this code this must help you,

TYPES: BEGIN OF T_TAB,

T(60) TYPE C,

END OF T_TAB.

DATA: V_COUNT TYPE I, X_FILE TYPE T_TAB,

IT_FILETABLE TYPE STANDARD TABLE OF T_TAB .

call method cl_gui_frontend_services=>directory_list_files

exporting

directory = 'C:\'

  • FILTER = '.'

  • FILES_ONLY =

  • DIRECTORIES_ONLY =

changing

file_table = IT_FILETABLE

count = V_COUNT

  • EXCEPTIONS

  • CNTL_ERROR = 1

  • DIRECTORY_LIST_FILES_FAILED = 2

  • WRONG_PARAMETER = 3

  • ERROR_NO_GUI = 4

  • NOT_SUPPORTED_BY_GUI = 5

  • others = 6

.

if sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

SORT IT_FILETABLE.

LOOP AT IT_FILETABLE INTO X_FILE.

WRITE:/ X_FILE.

ENDLOOP.

regards,

manohar.