使用 mkdir 过程在 IFS 中创建一个目录 AS400/IBMi

Create a directory in IFS using mkdir procedure AS400/IBMi

我今天下午遇到了一个问题,我试图在 RPGLE 中使用 C 程序 mkdir 在 IFS 中创建不同的目录来做到这一点。 但是当我使用 worklnk 命令测试我的新文件夹是否存在时,出现以下错误 CPFA0A9,就像我的文件夹不存在一样,但我可以使用 IFS 工具添加新文件和文件夹。

你有什么想法吗?

问候 :)

fullpath = '//home/usr/' + %trim(£p1.pNomProduit);

  If (not Ctrl_Dossier(fullpath));
    // create folder
    // owner authority 448 + group authority 56 + other people 7 = 511
    result = mkdir(fullpath:S_IRWXU+S_IRWXG+S_IRWXO);

  else;
    result = rmdir(fullpath);
  ENDIF;                           

我的 mkdir 程序:

D mkdir           PR            10I 0 ExtProc('mkdir')
     D   path                          *   Value options(*string)
     D   mode                        10U 0 Value    

@player1st 评论正确,应该是 '/home/usr/' 而不是 '//home/usr/'

还有 fullpath 的数据类型是什么?确实应该是 varchar(),但如果长度固定,您需要在原型中包含 options(*TRIM)。否则,目录名称包含尾随空格。

D mkdir           PR            10I 0 ExtProc('mkdir')
D   path                          *   Value options(*trim:*string)
D   mode