SAP ABAP에서 서버 측 디렉터리의 내용 가져오기
-
02-07-2019 - |
문제
SAP 내부의 서버 측 디렉터리 목록을 가져와야 합니다.ABAP에서 이를 어떻게 달성하나요?호출할 수 있는 내장 SAP 함수가 있나요?
이상적으로는 경로를 입력으로 전달할 수 있고 내부 테이블에 파일 이름 목록을 반환하는 함수가 필요합니다.
해결책
Chris Carrthers와 Tomdemuyt의 답변을 읽은 후에는 다음과 같습니다.
1) 간단한 파일 이름 목록이 필요한 경우 RZL_READ_DIR_LOCAL을 사용하십시오.
2) EPS_GET_DIRECTORY_LISTING은 더 강력합니다. 하위 디렉터도 나열 할 수도 있습니다.
둘 다 감사합니다!
Niki Galanov에 대한 안부
다른 팁
EPS2_GET_DIRECTORY_LISTING
같은 일을합니다 EPS_GET_DIRECTORY_LISTING
그러나 파일 이름을 retunrs합니다 200 숯!
RZL_READ_DIR_LOCAL 함수 호출:
FUNCTION RZL_READ_DIR_LOCAL.
*"----------------------------------------------------------------------
*"Lokale Schnittstelle:
*" IMPORTING
*" NAME LIKE SALFILE-LONGNAME
*" TABLES
*" FILE_TBL STRUCTURE SALFLDIR
*" EXCEPTIONS
*" ARGUMENT_ERROR
*" NOT_FOUND
*"----------------------------------------------------------------------
NAME 가져오기 매개변수에 경로를 배치한 다음 반환된 후 FILE_TBL에서 디렉터리 목록을 읽습니다.
RZL_READ_DIR_LOCAL은 UNC 경로뿐만 아니라 일반 로컬 경로도 처리할 수 있습니다.
유일한 단점은 각 파일 이름의 처음 32자에만 액세스할 수 있다는 것입니다.그러나 RZL_READ_DIR_LOCAL 코드를 기반으로 새 함수를 쉽게 생성하고 C 프로그램 출력을 읽는 방식을 변경할 수 있습니다. 각 파일 이름의 처음 187자를 실제로 사용할 수 있기 때문입니다.
답은 함수 모듈을 호출하는 것입니다. eps_get_directory_listing입니다. dir_name-> 디렉토리의 이름 file_mask-> pass '*'모든 파일을 얻으려면.
참고 : 이것은 실제로 큰 파일 이름 (80 자+)을 다루지 않으며 이름을 잘라냅니다.
트랜잭션 AL11 소스 코드를 살펴보십시오 : Rswatch0 양식 fill_file_list
거기에서 파일에 대한 모든 정보를 얻을 수 있습니다.
도움이 되었기를 바랍니다!