我需要獲取SAP內服務器端目錄的列表。我如何在ABAP中實現這一點?我可以調用任何內置的SAP功能嗎?獲取SAP ABAP中服務器端目錄的內容
理想情況下,我想要一個函數,我可以傳遞一個路徑作爲輸入,並將返回一個內部表中的文件名列表。
我需要獲取SAP內服務器端目錄的列表。我如何在ABAP中實現這一點?我可以調用任何內置的SAP功能嗎?獲取SAP ABAP中服務器端目錄的內容
理想情況下,我想要一個函數,我可以傳遞一個路徑作爲輸入,並將返回一個內部表中的文件名列表。
閱讀克里斯Carrthers的答案後tomdemuyt我會說:
1)使用RZL_READ_DIR_LOCAL,如果你需要的文件名的簡單列表。
2)EPS_GET_DIRECTORY_LISTING功能更強大 - 它也可以列出子目錄。
謝謝你們兩位!
與問候 尼基Galanov
答案是調用函數模塊EPS_GET_DIRECTORY_LISTING。 DIR_NAME - >目錄名稱 FILE_MASK - >通過'*'獲取所有文件。
注意:這不涉及真正大的文件名(80個字符+),它會截斷名稱。
謝謝,我不知道那個函數,但它似乎不適用於我需要的UNC路徑。 – 2008-10-03 00:52:47
通話功能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
*"----------------------------------------------------------------------
放置在名稱輸入參數的路徑,然後讀取FILE_TBL上市返回後的目錄。
RZL_READ_DIR_LOCAL可以處理普通本地路徑以及UNC路徑。
唯一的缺點是它只允許你訪問每個文件名的前32個字符。但是,您可以根據RZL_READ_DIR_LOCAL代碼輕鬆創建新函數,並更改C程序輸出的讀取方式,因爲每個文件名的前187個字符實際可用。
這是否讀取服務器或客戶端上的目錄? DIR_LOCAL聽起來像它是客戶特定的... – Thorsten 2008-10-09 20:18:50
看看交易AL11源代碼:RSWATCH0表fill_file_list
在那裏你可以得到關於文件的所有信息。
希望這會有所幫助!
EPS2_GET_DIRECTORY_LISTING
做同樣的事情,但EPS_GET_DIRECTORY_LISTING
的retunrs文件名多達字符!
EPS_GET_DIRECTORY_LISTING的缺點是您需要相當廣泛的SAP授權,因爲它是傳輸系統(TMS)的一部分,通常只授予管理員。 – Marc 2017-02-15 13:22:39