FM EPS_GET_DIRECTORY_LISTING中FILE_MASK的通配符是什么

2020-08-23 00:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)正好1个字符的通配符是'?'。 ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


正好1个字符的通配符是'?'。

示例:带有掩码????????。STA,我得到以下文件:

BWMDAACW .STA

BWMDAADW.STA

BWMDAAEW.STA

BWMDAAFW.STA

BWMDAAGW.STA

( 所有以.STA结尾的文件,.STA之前有8个字符)

但是"任何字符"的通配符是什么

我尝试了* .STA,但结果为

test1

test2

test3

test4

y5c01

(所有文件名均精确到5个字符)

带有* STA,结果为

IBAN

PBCL

rfbi

stxh

stxl

(所有文件名均使用4个字符)

(结果与* 123相同或 * XYZ !!!)

和BW *,结果为

BWMDAACW.STA

BWMDAADW.STA

BWMDAAEW.STA

BWMDAAFW.STA

BWMDAAGW.STA

符合预期,但*似乎仅在掩码末尾是"任何字符"的正确通配符; 它不是掩码的最后一个字符时,似乎无法按预期工作。

这似乎很奇怪! 通配符有哪些规则? (我现在是4.7)

提前谢谢

7条回答
三十六小时_GS
2020-08-23 01:11
 CONSTANTS DAYS1980 TYPE I VALUE 3652。
 数据:线长TYPE i VALUE 0。
 数据:linelength1 TYPE i VALUE 0。

 数据:文本TYPE字符串。

 数据:带有标题行的DLIST之类的EPSFILI发生次数为0,

       DPATH之类的EPSF-EPSDIRNAM,
       像EPSF-EPSFILNAM这样的PFILE,
       MDATE SY-DATUM,
       MTIME SY-UZEIT,
       POINT_IN_TIME TYPEI。

 数据:发生FATTR的次数为0,
           FILE_NAME喜欢EPSF-EPSFILNAM,
           像EPSF-EPSFILSIZ这样的FILE_SIZE,
           像EPSF-EPSFILOWN这样的FILE_OWNER,
           像EPSF-EPSFILMOD这样的FILE_MODE
           像EPSF-EPSFILTYP这样的FILE_TYPE,
           FILE_MTIME(12),
       FATTR结束。


 参数P_PATH(50)C型默认'/TMP'小写字母。
 参数P_FILE(50)C型默认''小写字母。

 DPATH = P_PATH。
 PFILE = P_FILE。

 通话功能" EPS_GET_DIRECTORY_LISTING"
      出口
           DIR_NAME = DPATH
 * FILE_MASK = PFILE
      桌子
           DIR_LIST = DLIST
      例外情况
           INVALID_EPS_SUBDIR = 1
           SAPGPARAM_FAILED = 2
           BUILD_DIRECTORY_FAILED = 3
           NO_AUTHORIZATION = 4
           READ_DIRECTORY_FAILED = 5
           TOO_MANY_READ_ERRORS = 6
           EMPTY_DIRECTORY_LIST = 7
           其他= 8。
 破坏开发人员。
 如果SY-SUBRC EQ 0。
   在列表中循环播放。

   linelength = STRLEN(DLIST-NAME)。
     线长=线长-3。

   linelength1 = STRLEN(P_FILE)。
     linelength1 = linelength1-3。


   如果DLIST-NAME + linelength(3)= P_FILE + linelength1(3)。


     通话功能'EPS_GET_FILE_ATTRIBUTES'

          出口

               FILE_NAME = DLIST-NAME
               DIR_NAME = DPATH
          输入
               FILE_SIZE = FATTR-FILE_SIZE
               FILE_OWNER = FATTR-FILE_OWNER
               FILE_MODE = FATTR-FILE_MODE
               FILE_TYPE = FATTR-FILE_TYPE
               FILE_MTIME = FATTR-FILE_MTIME
          例外情况
               READ_DIRECTORY_FAILED = 1
               READ_ATTRIBUTES_FAILED = 2
               其他= 3。


     如果SY-SUBRC EQ 0。
       FATTR-FILE_NAME = DLIST-NAME。
       追加脂肪。
     万一。
     万一。
   结局。
   按FILE_NAME排序FATTR。
   环在FATTR。
     POINT_IN_TIME = FATTR-FILE_MTIME。
     通话功能" POINT_IN_TIME_CONVERT"
          出口
               POINT_IN_TIME = POINT_IN_TIME
          输入
               DATE = MDATE
               时间= MTIME
          例外情况
               其他= 1。
     从MDATE减去DAYS1980。
     写:/FATTR-FILE_NAME,
              FATTR-FILE_SIZE,
              MDATE,
              MTIME。
   结局。
 万一。
 

编辑:kk.adhvaryu,2010年9月25日下午12:08

一周热门 更多>