我创建了一个rexx程序,用于从参数中读取一个文件,并将其逐行添加到一个数组中--我已经在其中添加了一些“do”,定义了一个搜索条件,然后搜索了该数组,从他们的“我希望它动态地向pd中添加一个新成员并将其填充到搜索结果”中。它可以工作,但会抛出一堆错误。
这是密码
/* REXX READ FILE */
/* */
/* */
/* */
/* */
ARG INFILE
IF ARG() = 0 THEN
DO
SAY 'INPUT REQUIRED'
EXIT
END
/* */
/* */
SAY 'WHAT IS THE STRING YOU ARE LOOKING FOR'
PULL SEARCHLINE
IF SEARCHLINE = "" THEN
DO
SAY 'YOU DID NOT ENTER A STRING'
SAY 'PLEASE ENTER ONE NOW'
PULL SEARCHLINE
END
/* */
/* */
/* */
/* VALIDATING FILE EXISTANCE*/
INDDFILE = INFILE
"LISTC NVSAM ENT('"INDDFILE"') "
IF RC = 0 THEN
DO
SAY "FOUND" INDDFILE
END
ELSE DO
SAY INDDFILE 'NOT FOUND'
EXIT
END
/**************************************/
"ALLOC F(INFILE) DSN('"INDDFILE"')SHR REU"
"EXECIO * DISKR INFILE ( FINIS STEM MYFILE."
"FREE F(INFILE)"
STRLENG = LENGTH(SEARCHLINE)
INDEX = 0
I = 1
DO WHILE I <= MYFILE.0
RESULT = POS(SEARCHLINE,MYFILE.I)
IF RESULT /= 0 THEN
DO
MATCH.INDEX =LEFT(MYFILE.I,12)
SAY MATCH.INDEX
SAY INDEX
INDEX = INDEX +1
END
I = I + 1
END
SAY "WHAT IS THE OUT PUT FILE? "
PULL FILE
FILE1 = FILE
SAY "WHAT WILL THE MEMBER BE CALLED?"
PULL MEMBER
/*******************************************/
/*******************************************/
ADRESS TSO
"ALLOC DA('"FILE1"') F(ABCD) NEW SPACE(10,20)DIR(100)TRACKS"
"FREE F(ABCD)"
/*******************************************/
"ALLOC FI(ABCD) DA('"FILE1"("MEMBER")')SHR"
"EXECIO" INDEX "DISKW ABCD (STEM MATCH. FINIS"
"FREE F(ABCD)"
IF RC <> 0 THEN DO
SAY "ERROR IN ALLOCATING THE PDS MEMBER" RC
END
EXIT 这是我的错误
找不到命令入口 63 -加入TSO +++ RC(-3) +++数据集QXGCVNH.OUTLIB非ALLOCATED+ IGD17101I数据集Q*****H.OUTLIB未定义,因为目录中存在重复名称,返回代码为8原因代码是38 IGG0CLEH文件未释放,未分配
有人能建议我怎样才能纠正错误,这样我就不会那样跑了吗?如果有一种方法只返回您输入的字符串,而不是整行,有人可以建议吗?
谢谢
发布于 2016-02-05 21:40:44
基本上:
ADRESS TSO
"ALLOC DA('"FILE1"') F(ABCD) NEW SPACE(10,20)DIR(100)TRACKS"
"FREE F(ABCD)" 基本变成
ADDRESS TSO
if (File1 exists) then do
"ALLOC DA('"FILE1"') F(ABCD) NEW SPACE(10,20)DIR(100)TRACKS"
"FREE F(ABCD)"
end不过,您需要研究如何做(File1存在),只需在检查各种选项时搜索它
发布于 2016-02-06 09:18:43
只返回字符串。您可能希望查看一些Rexx字符串处理函数。也许能帮上忙。
https://stackoverflow.com/questions/35231139
复制相似问题