문제

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거기에서 파일에 대한 모든 정보를 얻을 수 있습니다.

도움이 되었기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top