我有一个声明文件的 CLP:
DCLF FILE(QTEMP/TEMPFILE)
我编译的时候会报错:
CPD0852 30 库 QTEMP 中未找到文件 TEMPFILE。 所以,我尝试创建它:
CRTPF FILE(QTEMP/TEMPFILE) RCDLEN(150) SIZE(*NOMAX)
但是编译的时候还是找不到。
请注意,我是在同一会话中创建和编译文件。
我试图做的是编辑权限并授予所有人访问权限:
EDTOBJAUT OBJ(QTEMP/TEMPFILE) OBJTYPE(*FILE)
所以它看起来像这样:
Edit Object Authority
Object . . . . . . . : TEMPFILE Owner . . . . . . . : PAXUS
Library . . . . . : QTEMP Primary group . . . : *NONE
Object type . . . . : *FILE ASP device . . . . . : *SYSBAS
Type changes to current authorities, press Enter.
Object secured by authorization list . . . . . . . . . . . . *NONE
Object
User Group Authority
*PUBLIC *ALL
*GROUP PAXUS *ALL
Bottom
F3=Exit F5=Refresh F6=Add new users F10=Grant with reference object
F11=Display detail object authorities F12=Cancel F17=Top F18=Bottom
(C) COPYRIGHT IBM CORP. 1980, 2018.
请帮助我,为什么我无法编译它,因为缺少文件,即使它存在。
因为您已将编译设置为批量运行。
由于 QTEMP 是作业所独有的,因此该文件不存在于已提交作业的 QTEMP 中。
快速但肮脏的解决方案是交互运行编译。我希望您没有使用 PDM。但如果您是,请从“与成员合作”中,
F18=Change defaults
然后更改 Compile in batch . . . . . . Y
真正的解决方案是使用实际的变更管理系统,或者至少使用一些构建工具。