如果您向DB2/zOS引擎DBA询问有关DB2行为的问题,那么DBA会将DB2引擎称为"他",就像水手使用"她"来引用他的船一样.
例如:"一旦你填充了自由空间,DB2仍然希望在表空间中以簇的顺序保留这些行.这就是为什么他将该页面分成两半,你最终得到了很多半空页面.也就是说,除非您刚插入的行的群集键是表中最高的,在这种情况下,他会创建一个新的空页,并且只将您的新行放入该页面.所以我不必这样做REORG如果你只是像我建议的那样对你的输入进行排序."
有谁知道这个传统来自哪里?
在使用$ WORK处理COBOL程序时,我遇到了一个奇怪的声明.
我们有一个段落打开游标(来自DB2),并在它上面循环直到它到达EOT(在伪代码中):
... working storage ...
01 I PIC S9(9) COMP VALUE ZEROS.
01 WS-SUB PIC S9(4) COMP VALUE 0.
... code area ...
PARA-ONE.
PERFORM OPEN-CURSOR
PERFORM FETCH-CURSOR
PERFORM VARYING I FROM 1 BY 1 UNTIL SQLCODE = DB2EOT
do stuff here...
END-PERFORM
COMPUTE WS-SUB = I + 0
PERFORM CLOSE-CURSOR
... do another loop using WS-SUB ...
Run Code Online (Sandbox Code Playgroud)
我想知道为什么那条COMPUTE WS-SUB = I + 0线在那里.我的理解是,I至少总是如此1,因为它上面的执行块(即,即使有一个EOT开始,I也会在初始迭代时设置为1).
这COMPUTE条线甚至需要吗?它是否正在做一些我不知道的隐式演员?它为什么会在那里?你为什么不MOVE I TO …
这是ISPF面板定义:
)BODY
Hello, world!
)PROC
*REXX
ADDRESS ISPEXEC "CONTROL ERRORS CANCEL"
*ENDREXX
)END
Run Code Online (Sandbox Code Playgroud)
面板显示正常,但是嵌入的REXX立即失败:
*-* ADDRESS ISPEXEC "CONTROL ERRORS CANCEL"
+++ RC(-3) +++
Run Code Online (Sandbox Code Playgroud)
返回代码-3通常意味着命令环境不知道如何处理该命令。
ISPF专家组能够应付ISPF的请求似乎是合理的。知道发生了什么吗?
我在TSO下的USS shell中,我有这个exec(名为tryit):
/* rexx */
"cd /differentdir"
"pwd"
Run Code Online (Sandbox Code Playgroud)
这是结果:
> pwd
/origdir
> tryit
/origdir
Run Code Online (Sandbox Code Playgroud)
换句话说,cd命令的效果似乎仅持续命令本身的持续时间.有没有办法让REXX exec以一种可在以下命令中识别的方式更改工作目录?
我最近开始用COBOL做一些工作,之前我只在大型机上的z/OS汇编程序中完成了工作.
我知道COBOL将被翻译成大型机的机器代码,但我想知道是否可以看到生成的代码?
我想用它来更好地理解COBOL的工作原理.
例如,如果我要编译COBOL程序,我希望看到编译产生的程序集.这样的事情可能吗?
有没有办法删除z/OS USS中的PDS成员而不在整个PDS上获得ENQ?我试过"删除",但它抱怨数据集争用.
我正在尝试使用以下界面编写Cobol程序:
接收明确的加密密钥和明文,并使用3DES算法返回加密文本.
我尝试了这三种方法:
77 CSNBSYE PIC X(7) VALUE 'CSNBSYE'.
01 CSNBSYE-PARAMETERS.
02 RETURN-CODE PIC 9(8) COMP.
02 REASON-CODE PIC 9(8) COMP.
02 EXIT-DATA-LENGTH PIC 9(8) COMP.
02 EXIT-DATA PIC X(32).
02 RULE-ARRAY-COUNT PIC 9(8) COMP.
02 RULE-ARRAY PIC X(8).
02 KEY-IDENTIFIER-LENGTH PIC 9(8) COMP.
02 KEY-IDENTIFIER PIC X(32).
02 KEY-PARMS-LENGTH PIC 9(8) COMP.
02 KEY-PARMS PIC X(32).
02 BLOCK-SIZE PIC 9(8) COMP.
02 INIT-VECTOR-LENGTH PIC …Run Code Online (Sandbox Code Playgroud) 我一直在网上寻找有关显式寻址的信息,但什么也没有,而且解释很模糊。我希望有人可以详细解释我,如果可能的话,还可以举个例子。我想知道,应该使用哪些寄存器作为索引,基数,位移值应该是什么
示例 8(,4) 或 5(0,5) 或 6(7)
我尝试过的:
程序A:
call PROGRAMB ARRAY val1 val2
Run Code Online (Sandbox Code Playgroud)
程序B:
PARSE arg ARRAY val1 val2
/* test to see if ARRAY is passed successfully */
/* len1 equals the length of ARRAY */
interpret "len1 = "ARRAY".0"
say 'len1: ' len1
DO i=0 TO len1
say 'current line: '
interpret "say "ARRAY".i"
END;
Run Code Online (Sandbox Code Playgroud)
预期成绩:
实际结果:
我尝试过的解决方案:
https://www.bde-gmbh.de/tipps-tricks/zos-rexx/how-to-pass-stems-as-procedure-arguments-in-rexx/
但此方法仅适用于将数组传递给同一程序中的函数。
我正在调用一个 shell 脚本,该脚本使用 BPXBATCH 从 JCL 进行一些处理,如下所示:
//STEP2 EXEC PGM=BPXBATCH,
// PARM='SH PATHTOSCRIPT.SH MYARGUMENT'
Run Code Online (Sandbox Code Playgroud)
JCL 具有最高优先级的服务类别。然而,shell 脚本进入队列等待资源。有时它运行得很快,有时则等待资源很长时间。JCL 的优先级似乎与 shell 脚本无关。我读到也许在 Unix 中使用“nice”命令会提高 shell 脚本的优先级。
我首先要确定的是,z/OS 中的 JCL 优先级不会影响通过 BPXBATCH 从该 JCL 调用的 Unix 进程的优先级。我找不到任何有关它的文档。