您可能会认为这很明显,但是通过文档、SAP论坛、谷歌等搜索,我一直没有成功。我正在使用以下代码在Solaris文件系统上创建一个ABAP文件:
OPEN DATASET p_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
生成的文件根据预定义的管理员用户进行所有权和分组,这很好,但麻烦在于权限设置为660/rw-rw----,这意味着我无法查看结果。有没有一种方法(可能使用那个含糊定义的TYPE添加?)可以指定新文件的结果权限?
谢谢!
前往SM69,创建逻辑系统命令,可以将其命名为ZCHMOD。
将该命令映射到chmod
,然后使用正确的参数进行调用(在命令行中使用man chmod
查看帮助)。
CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
EXPORTING
commandname = 'ZCHMOD'
additional_parameters = l_par
operatingsystem = l_os
TABLES
exec_protocol = it_log
EXCEPTIONS
no_permission = 1
command_not_found = 2
parameters_too_long = 3
security_risk = 4
wrong_check_call_interface = 5
program_start_error = 6
program_termination_error = 7
x_error = 8
parameter_expected = 9
too_many_parameters = 10
illegal_command = 11
wrong_asynchronous_parameters = 12
cant_enq_tbtco_entry = 13
jobcount_generation_error = 14
OTHERS = 15.
这在4.6B版本中有效:
CONCATENATE 'chmod ugo=rw ' lc_filename
INTO lc_chmod SEPARATED BY space.
CALL 'SYSTEM' ID 'COMMAND' FIELD lc_chmod.