查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
大家好,
我在执行工作时遇到一个小错误:
码: |
// 步骤01 EXEC PGM=COPYHASP
// *
// SYSIN DD DSN=&名称..GW01.ONCALL.DATA,DISP = SHR
// SYSOUT DD SYSOUT=*
// *
// **************************************************** **********************
// * 步 NAME: STEP02 *
// * PROGRAM: IEFBR14 *
// * PURPOSE: 删除先前运行的作业创建的文件 *
// **************************************************** **********************
// STEP02 EXEC PGM=IEFBR14
// *
// 德格 DD DSN=&NAME..DEDGL.DATA,DISP =(MOD,DELETE,DELETE),
// SPACE=(TRK,(1,1))
// DEDPROP DD DSN=&NAME..DEDPROP.DATA,DISP =(MOD,DELETE,DELETE),
// SPACE=(TRK,(1,1))
// 林格 DD DSN=&NAME..LIMGL.DATA,DISP =(MOD,DELETE,DELETE),
// SPACE=(TRK,(1,1))
// *
// **************************************************** **********************
// * 步 NAME: STEP03 *
// * PROGRAM: SAS *
// * PURPOSE: 使用PARM P3709W03创建呼叫SAS代码 *
// * 不同的平文件 *
// **************************************************** **********************
// STEP03 EXEC SAS
// SASLOG DD SYSOUT=*
// 萨索托S DD DSN = CN.PDS.SASMAC,DISP = SHR
// DD DSN = ND.CORP.P0STG2.SAS,DISP = SHR
// 德格 DD DSN=&NAME..DEDGL.DATA,DISP =(NEW,CATLG,DELETE),
// SPACE=(TRK,(1,1))
// DEDPROP DD DSN=&NAME..DEDPROP.DATA,DISP =(NEW,CATLG,DELETE),
// SPACE=(TRK,(1,1))
// 林格 DD DSN=&NAME..LIMGL.DATA,DISP =(NEW,CATLG,DELETE),
// SPACE=(TRK,(1,1))
// SYSIN DD DISP = SHR,DSN = XXXX.TEST.SAS(P3709W03)
// *
// **************************************************** **********************
// * 步 NAME: STEP04 *
// * PROGRAM: ABORT2 *
// * PURPOSE: 如果有任何步骤返回HICODE,则中止作业 *
// **************************************************** **********************
// 步04 EXEC PGM = ABORT2,COND =(0,EQ)
// UCC11NR DD DUMMY
//SYSPRINT DD SYSOUT = *
// SYSOUT DD SYSOUT=*
// CEEDUMP DD SYSOUT = *
// SYSUDUMP DD SYSOUT = D
// *
|
根据STEP04中的COND参数,如果以上任何步骤返回的代码均不为零,则执行step04。
但是当我的step03返回代码8时,我的工作仍然没有执行。
谁能让我确切知道我在哪里错了,为什么没有执行该步骤。 |
|
回到顶部 |
|
 |
亚鲁
高级会员

已加入:2007年7月3日 职位:1287 地点:印度金奈
|
|
|
|
前2个步骤的返回码是什么? |
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
前两个步骤的返回码为0。 |
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
出现的另一个问题是:
我的工作正在呼叫包含上述步骤的PROC。因此,当我提到COND =(0,EQ,STEP03)时,该作业将显示JCL错误并显示消息STEP03在作业中找不到。
为什么会出现此问题? |
|
回到顶部 |
|
 |
瓦桑库玛
活跃用户

已加入:2007年9月6日 帖子:275 地点:Bang,iflex
|
|
|
|
你好
检查出在step01o2或03中使用的字母或符号,有时会发生,或者以其他方式将它们写入或复制到新的数据集中,它将根据您的期望工作。
问候
Vasanth ........  |
|
回到顶部 |
|
 |
亚鲁
高级会员

已加入:2007年7月3日 职位:1287 地点:印度金奈
|
|
|
|
交换深,
您尚未在第4步COND参数中对步骤名进行编码。如果不对步骤名进行编码,则仅当先前所有步骤的返回码都不满足COND指定的测试时,才会执行step4。
由于前两个步骤的返回码为零,因此满足条件,因此将其绕开。 |
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
亚鲁
我无法在COND参数中指定步骤名称。我收到一个JCL错误,内容是:“ 步03 NOT FOUND IN JOB”。 |
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
瓦桑斯
我也尝试过你的建议...
但这仍然对我不起作用。 |
|
回到顶部 |
|
 |
杰姆雷迪姆卡 警告:1 新的用户
已加入:2007年10月14日 帖子:29 地点:班加罗尔
|
|
|
|
请在最后一个条件中包含上一步的名称,然后勾选 |
|
回到顶部 |
|
 |
瓦桑库玛
活跃用户

已加入:2007年9月6日 帖子:275 地点:Bang,iflex
|
|
|
|
嗨,Swapnadeep,
// 步04 EXEC PGM =ABORT2,COND=(0,EQ)
在EQ参数后面输入步骤名称,如果它说步骤名称不可用,请更改步骤名称保存并提交,否则,请发送Joblog语句给我们。
问候
瓦桑斯......  |
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
你好
我尝试了您的建议,但无济于事。
作业日志如下:
码: |
J E S 2 J O B L O G -- S Y S T E M 1 1 5 1 -- N O
04.15.23 J0022362 ----星期四, 01 NOV 2007 ----
04.15.23 J0022362 IRR010I USERID XXXXXX 已分配给此工作。
04.15.23 J0022362 JESX6014 SCHENV = TDH1 K=82 XXXXXX
04.15.34 J0022362 IEF452I XXXXXX - JOB NOT RUN - JCLERROR
04.15.34 J0022362 $HASP396 XXXXXX TERMINATED
------ JES2职位统计------
2007年11月1日工作执行日期
12 CARDS READ
180个SYSOUT打印记录
0 SYSOUT打孔记录
12个SYSTO SPOOL KBYTES
0.00分钟的执行时间
|
|
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
我们收到的消息如下:
码: |
STMT号信息
3 IEFC001I过程K3709W03已使用私有库XXXXXX进行了扩展。
使用系统库SYS1.PROCLIB扩展了IEFC001I PROCEDURE SAS
39 IEF645I在COND字段中无效引用
|
|
|
回到顶部 |
|
 |
murmohk1
高级会员
.jpg)
已加入:2006年6月29日 帖子:1436 地点:印度班加罗尔
|
|
|
|
Swapnadeep,
请给我。我们看不到您的工作内容。 |
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
JESJCL如下:
码: |
// XXXXXX JOB (8200,2395),“ SWAPNADEEP XXXXXX”,
// MSGCLASS = J,NOTIFY = XXXXXX,CLASS = J,MSGLEVEL = 1,SCHENV = TDH1
/ *路由打印N11R10
// **************************************************** ********************
// * || JOB NARRATIVE ||
// * -------------------
// * 职位呼叫PROC K3709W03调用SAS代码
// * LINKING THE JCLWITH THE SAS CODE
// *
// **************************************************** ********************
// PROCLIB JCLLIB 要么DER=(XXXXXX.TEST.SAS)
// K3709 EXEC PROC=K3709W03
XXK3709W03 PROC NAME = XXXXXX.GW03.SAS
XX ***************************************************** *******************
XX * || PROC叙述||
XX * --------------------
XX *
XX * THE PROC K3709W03 IS RESPONSIBLE TO LINK THE JCLBY CALLING
XX * 包含SAS代码的PARM P3709W03。
XX *
XX * OUTPUT(S) FROM THIS JOB:
XX *
XX * FLAT FILE(S):
XX * DEDGL :T3709BTX.GW03.SAS.DEDGL.DATA
XX * DEDPROP :T3709BTX.GW03.SAS.DEDPROP.DATA
XX * LIMGL :T3709BTX.GW03.SAS.LIMGL.DATA
XX *
XX * * * * * * * * * * * * *
XX *
XX * STEP PROGRAM DESCRIPTION
XX * ---- ------- -----------
XX * 步01 副本 如果有工作,请致电清单
XX * 步02 IEFBR14 删除先前运行创建的FLAT文件
XX * 步SAS SAS 呼叫SAS编码以创建数据集
XX * 步04 ABORT2 如果以上步骤返回了HICODE,则中止作业
XX *
XX ***************************************************** *******************
XX ***************************************************** *******************
XX * 步 NAME: STEP01
XX * PROGRAM: COPYHASP
XX * PURPOSE: 如果程序返回A,请拨打电话数据集
XX * 高价值。依靠返回的值,
XX * SPOOL中显示了不同的错误文件。
XX ***************************************************** *******************
XX ***************************************************** *******************
XX * ========================
XX * | C A L L L I S T |
XX * ========================
XX ***************************************************** *******************
XXSTEP01 EXEC PGM=COPYHASP
XX *
XXSYSIN DD DSN = T3709BTX.GW01.ONCALL.DATA,DISP = SHR
XXSYSOUT DD SYSOUT=*
XX *
XX ***************************************************** *******************
XX * 步 NAME: STEP02
XX * PROGRAM: IEFBR14
XX * PURPOSE: 删除先前运行的作业创建的文件
XX ***************************************************** *******************
XXSTEP02 EXEC PGM=IEFBR14
XX *
XXDEDGL DD DSN=&NAME..DEDGL.DATA,DISP =(MOD,DELETE,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL- DSN=T3709BTX.GW03.SAS.DEDGL.DATA,DISP=(MOD
XXDEDPROP DD DSN=&NAME..DEDPROP.DATA,DISP =(MOD,DELETE,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL- DSN=T3709BTX.GW03.SAS.DEDPROP.DATA,DISP=(M
XXLIMGL DD DSN=&NAME..LIMGL.DATA,DISP =(MOD,DELETE,DELETE),
XX SPACE=(TRK,(1,1))
XX *
XX ***************************************************** *******************
XX * 步 NAME: STEPSAS
XX * PROGRAM: SAS
XX * PURPOSE: 使用PARM P3709W03创建呼叫SAS代码
XX * 不同的平文件
XX ***************************************************** *******************
IEFC653I SUBSTITUTION JCL- DSN=T3709BTX.GW03.SAS.LIMGL.DATA,DISP=(MOD,DELETE,DELETE)
12 XXSTEPSAS EXEC SAS
13 XXSAS PROC ENTRY=SASB,
XX CONFIG=NULLFILE,
XX LOAD ='SYSPSAS.NULLPDS',
XX LOAD2 ='SYSPSAS.NULLPDS',
XX LOAD3 ='SYSPSAS.NULLPDS',
XX SASAUTO ='SYSPSAS.NULLCOPY',
XX OPTIONS=,
XX SORT=4,
XX WORK ='200,200',WORKCNT = 5
XX*
XX *创建了一个永久的NULLPDS以解决CA-11重新启动问题。
XX * B.NEILD 2006年3月9日
XX*
XX *增加了LOAD2和LOAD3符号。
XX * B.NEILD 12/21/2006
XX*
XX* UPDATED 工作 ALLOCATION.
XX * B.NEILD 2/27/2007
XX*
XX ***************************************************** *******************
14 XXSAS EXEC PGM=&ENTRY,PARM='SORT=&SORT &OPTIONS',REGION = 4096K
IEFC653I SUBSTITUTION JCL- PGM=SASB,PARM='SORT=4 ',REGION=4096K
XXSTEPLIB DD DISP = SHR,DSN =&LOAD
IEFC653I SUBSTITUTION JCL- DISP=SHR,DSN=SYSPSAS.NULLPDS
XX DD DISP=SHR,DSN=&LOAD2
IEFC653I SUBSTITUTION JCL- DISP=SHR,DSN=SYSPSAS.NULLPDS
XX DD DISP=SHR,DSN=&LOAD3
IEFC653I SUBSTITUTION JCL- DISP=SHR,DSN=SYSPSAS.NULLPDS
XX DD DISP = SHR,DSN = SYSPSAS.LIBRARY
XX DD DISP = SHR,DSN = SYSPSAS.SASC.TRANSLIB
XX **
XX ** 取消注释/提供您的DSN,如果您需要连接SORT LIB
XX ** DD DISP = SHR,DSN = SYS1.SORT.LINKLIB
XX **
XX * REQUIRED FOR EMAIL
XXSYSTCPD DD DISP = SHR,DSN = SYS1.TCPPARMS(TCPDATB)
XX配置 DD DISP = SHR,DSN = SYSTSAS.CNTL(BATW0)
XX DD DISP=SHR,DSN=&CONFIG
IEFC653I SUBSTITUTION JCL- DISP=SHR,DSN=NULLFILE
XXSASAUTOS DD DSN = CN.PDS.SASMAC,DISP = SHR
X / 萨索托S DD DISP = SHR,DSN =&SASAUTO
IEFC653I SUBSTITUTION JCL- DISP=SHR,DSN=SYSPSAS.NULLCOPY
24 XX DD DSN = ND.CORP.P0STG2.SAS,DISP = SHR
X/ DD DISP = SHR,DSN = SYSPSAS.AUTOLIB
25 XX DD DISP = SHR,DSN = SYSPSAS.SPC.LOCAL.AUTOLIB
26 XXSASHELP DD DISP = SHR,DSN = SYSPSAS.SASHELP
27 XXSASMSG DD DISP = SHR,DSN = SYSPSAS.SASMSG
28 XXTKMVSENV DD DISP = SHR,DSN = SYSPSAS.TKMVSENV(TKMVSENV)
29 XXWORK DD SPACE=(CYL,(&WORK),,,ROUND),UNIT=(,&WORKCNT),
XX DCB =(RECFM=FS,DSORG=PS)
IEFC653I SUBSTITUTION JCL- SPACE=(CYL,(200,200),,,ROUND),UNIT=(,5),DCB=(RECFM=FS,DSORG=PS)
30 XXSASLOG DD SYSOUT=*
X/SASLOG DD SYSOUT=*
31 XXSASCLOG DD SYSOUT = *
32个XXSASLIST DD SYSOUT = *
33 XXSASPARM DD UNIT = SYSDA,SPACE =(400,(100,300)),
XX DCB=(RECFM = FB,LRECL = 80,BLKSIZE = 400,BUFNO = 1)
34 XXSYSUDUMP DD SYSOUT = *
XX** 像下面这样添加一条线来创建机器可读的转储
XX * SYSMDUMP DD DSN = DUMP,UNIT = SYSDA,DISP =(NEW,CATLG),SPACE=(TRK,(20,5))
XX* END
35 XXDEDGL DD DSN=&NAME..DEDGL.DATA,DISP =(NEW,CATLG,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL- DSN=T3709BTX.GW03.SAS.DEDGL.DATA,DISP=(NEW,CATLG,
36 XXDEDPROP DD DSN=&NAME..DEDPROP.DATA,DISP =(NEW,CATLG,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL- DSN=T3709BTX.GW03.SAS.DEDPROP.DATA,DISP=(NEW,CATL
37 XXLIMGL DD DSN=&NAME..LIMGL.DATA,DISP =(NEW,CATLG,DELETE),
XX SPACE=(TRK,(1,1))
IEFC653I SUBSTITUTION JCL- DSN=T3709BTX.GW03.SAS.LIMGL.DATA,DISP=(NEW,CATLG,
38 XXSYSIN DD DISP = SHR,DSN = N48FF9.TEST.SAS(P3709W03)
XX*
XX ***************************************************** ********************* 01450
XX* 步 NAME: STEP04 *01460
XX* PROGRAM: ABORT2 *01470
XX* PURPOSE: 如果有任何步骤返回HICODE,则中止作业 *01480
XX ***************************************************** ********************* 01500
39 XXSTEP04 EXEC PGM = ABORT2,COND =(0,EQ,STEPSAS)
40 XXUCC11NR DD DUMMY
41 XXSYSPRINT DD SYSOUT = *
42个XXSYSOUT DD SYSOUT=*
第43章 DD SYSOUT = *
44 XXSYSUDUMP DD SYSOUT = D
XX*
|
|
|
回到顶部 |
|
 |
灵长类
活跃用户

已加入:2007年8月18日 帖子:120 地点:印度
|
|
|
|
嗨Swarandeep,
它不是作业步骤,因此请包括您的作业步骤名称。
像这样,
码: |
// 步04 EXEC PGM = ABORT2,COND =(0,EQ,K3709.STEPSAS) |
|
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
很抱歉,
仍收到相同的消息:“ 步” K3709W03.STEPSAS“未找到作业” |
|
回到顶部 |
|
 |
灵长类
活跃用户

已加入:2007年8月18日 帖子:120 地点:印度
|
|
|
|
您好SWapnadeep,
引用: |
// PROCLIB JCLLIB 要么DER =(XXXXXX.TEST.SAS)
// K3709 EXEC PROC = K3709W03
XXK3709W03 PROC NAME = XXXXXX.GW03.SAS
XX ***************************************************** ******************* |
我告诉您使用作业步骤名称,而不是Proc步骤名称。
同样,您仅使用了proc名称。
这样使用
引用: |
// 步04 EXEC PGM = ABORT,COND =(0,EQ,K3709)
要么
// 步04 EXEC PGM = ABORT,COND =(0,EQ,K3709.STEPSAS) |
|
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
没有实力。
我仍然收到相同的消息 |
|
回到顶部 |
|
 |
恩里科·索里切蒂
高级主持人

已加入:2007年3月14日 帖子:10715 所在地:意大利
|
|
|
|
献给你们所有人 ...
what about reading the JCLreference on how to use the
嵌套过程的“ COND” ??? |
|
回到顶部 |
|
 |
灵长类
活跃用户

已加入:2007年8月18日 帖子:120 地点:印度
|
|
|
|
嗨,Swapnadeep,
尝试以下代码,让我知道。
码: |
// 步04 EXEC PGM = ABORT,COND.STEPSAS =(0,EQ,K3709)
要么
// 步04 EXEC PGM = ABORT,COND.STEPSAS =(0,EQ) |
|
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
嗨,赫曼特,
它指出:EXEC语句上的参数无效 |
|
回到顶部 |
|
 |
murmohk1
高级会员
.jpg)
已加入:2006年6月29日 帖子:1436 地点:印度班加罗尔
|
|
|
|
Swapnadeep,
它应该是
cond =(0,EQ,STEPSAS.xxxxxxx) |
|
回到顶部 |
|
 |
灵长类
活跃用户

已加入:2007年8月18日 帖子:120 地点:印度
|
|
|
|
嗨,Swapnadeep,
是否执行所有先前的步骤?
如果是的话,我给过的一切都是对COND参数进行编码的唯一机会(据我所知)。您最好与您的管理员联系。 |
|
回到顶部 |
|
 |
murmohk1
高级会员
.jpg)
已加入:2006年6月29日 帖子:1436 地点:印度班加罗尔
|
|
|
|
传承
你为什么这么认为?
Swapnadeep,
如果要在sas proc中引用某个步骤,请使用上面提供的cond。将xxxxxx替换为步骤名称。
如果这不是您的要求,请清楚地张贴您的要求。 |
|
回到顶部 |
|
 |
深度互换
活跃用户

已加入:2007年3月21日 帖子:203 地点:印度
|
|
|
|
根据我的要求
仅当SAS步骤(STEPSAS)的返回码不等于0时,才执行中止步骤(STEP04)。
所有这些步骤都在我要从工作中调用的Proc中。
当我在STEP04中将COND语句指定为COND =(0,EQ,STEPSAS)时,该作业将给出警告“在作业中找不到STEPPSAS”。但是提交后,工作被放弃了... |
|
回到顶部 |
|
 |
|