IBM大型机论坛索引
 
 登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答  寄存器
 

REXX程序从模块中检索案例编号


IBM大型机论坛 -> 清单& REXX
 发表新话题     回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月11日,星期二,12:20 pm
引用回复

我需要一个REXX程序,其输入将为PDS。

我需要检索在程序的前6个位置编码的所有CASE号。

输出应该是模块名称以及该模块中存在的所有案例编号。我附上了屏幕截图,以提供案例编号的概念。附件024505和18795中为样品盒编号。我需要检索整个程序中存在的所有案例编号,并将这些案例编号发送到输出PDS,请帮助我编写此程序。
回到顶部
查看用户资料 发送私信
超级

全球主持人


已加入:2004年4月26日
帖子:4650
地点:美国北卡罗来纳州罗利

 发布 发表:2007年9月11日,星期二,下午5:57
引用回复

乌代·巴斯卡写道:
请帮助我编写此程序。


到目前为止,这些要求看似简单。您将必须提供更多有关在今天双色球开奖结果中遇到问题的位置的详细信息。
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月11日,星期二,7:40 pm
引用回复

我需要逻辑来从程序的每一行中检索前六个字符,以便可以检索模块中编码的所有案例编号。实际上,我是REXX编程的新手,所以我想知道如何从80个字符长的记录中检索前六个字符。

根据我在程序中的要求,输入应为我提供的PDS(由几个成员组成)

并且输出应为:成员名称,后跟其中显示的所有案例编号。
回到顶部
查看用户资料 发送私信
超级

全球主持人


已加入:2004年4月26日
帖子:4650
地点:美国北卡罗来纳州罗利

 发布 发表:2007年9月11日,星期二,8:02 pm
引用回复

乌代·巴斯卡写道:
我是REXX编程的新手,所以我想知道如何从80个字符长的记录中检索前六个字符。


作为记录,此站点不是教室,也不是代替其进行适当的培训。您应该在这里发布之前具备基本知识,或者至少知道如何在手册中查找信息。

话虽如此,您可以使用 SUBSTR 功能或 剩下 功能。

就个人而言,我将使用LEFT函数:

var = 剩下 (string,6)

此外,您可能想使用 数据类型 函数以验证变量仅包含数字数据。
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月12日,星期三10:13上午
引用回复

凯文,你好

我非常感谢您的指导。现在我有了一个如何满足我的要求的想法。我仔细阅读了您建议用来读取SUBSTR和LEFT记录的所有关键字。现在,我将开始使用这些关键字对程序进行编码关键词。

我将在论坛中搜索REXX用户指南。

实际上我是一名COBOL程序员,所以我从来没有遇到过阅读前几个字符的逻辑。这就是为什么我在我们的网站上发布。现在,如果我碰到中间的话,我将开始编码并需要您的帮助。非常感谢Kevin。
回到顶部
查看用户资料 发送私信
超级

全球主持人


已加入:2004年4月26日
帖子:4650
地点:美国北卡罗来纳州罗利

 发布 发表:2007年9月12日,星期三,12:29 pm
引用回复

乌代·巴斯卡写道:
其实我是一个COBOL程序员


您是否有特定原因想要切换到REXX?我始终相信,使用您已经知道的今天双色球开奖结果通常通常更容易。
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月12日,星期三7:40 pm
引用回复

凯文,你好

没有特别的理由。我只是想学习REXX,因为我想开发一些工具,以便我可以自动化在项目中经常进行的部分工作。

凯文(Kevin),我正在阅读我从网站上获得的REXX手册,学习REXX非常有趣。我对EXECIO命令有疑问。

在整个手册中,他们使用EXECIO命令仅读取顺序数据集,并且在语法上,他们还要求在数据集中读取行数。

但是,正如我在之前的帖子中提到的那样,我需要阅读PARTIONED DATA SET中存在的所有成员。如何读取数据集中存在的所有成员。我可以使用相同的EXECIO命令吗?如果是的话,请让我知道它的系统税。
回到顶部
查看用户资料 发送私信
超级

全球主持人


已加入:2004年4月26日
帖子:4650
地点:美国北卡罗来纳州罗利

 发布 发表:2007年9月12日,星期三,8:02 pm
引用回复

如果没有REXX,您今天将如何在COBOL中做到这一点?无论使用什么方法,方法都是相同的。

值得一提的是,在这些论坛中几乎每天都会讨论读取PDS单个成员的主题。到处搜索,您会找到答案。
回到顶部
查看用户资料 发送私信
t_ctaram

新的用户


加入时间:2007年5月15日
帖子:20
地点:孟买

 发布 发表:2007年9月12日,星期三,9:26 pm
引用回复

你好

希望此今天双色球开奖结果有用。此REXX为PDS中的单个成员编码。请为此为PDS的不同成员做一些基础工作。

码:
 /* REXX */                                             
                                                       
 说“提供输入PDS”                           
 parse pull input                                       
 说“提供您需要大小写的会员名”
 parse pull pgm                                         
      档案中 = input || "(" || pgm || ")"               
      输出 = my.casenums.output.file                 
      说出档案  IS : ' INFILE                       
      "alloc fi(infile) da('"infile"') shr reuse"       
      "alloc fi(outfile) da('"output"') shr reuse"     
      "execio * diskr 档案中(stem inputarr. 菲尼斯"     
     说“没有线” inputarr.0                     
     做lineno = 1到inputarr.0                       
       上输入arr.lineno                           
       casenums =substr(inputarr.lineno,1,6)           
            推casenums                                
            "execio 1 diskw 超越"                   
      结束                                                
      queue ''                                         
      "execio * diskw 超越(finis"                   
      "free fi(infile,outfile)"                         
 exit                                                   


运行此rexx之前,分配输出PS文件my.casenums.output.file。

谢谢
克塔兰
回到顶部
查看用户资料 发送私信
超级

全球主持人


已加入:2004年4月26日
帖子:4650
地点:美国北卡罗来纳州罗利

 发布 发表:2007年9月13日,星期四,上午12:14
引用回复

这些先前的主题涉及如何使用IEBPTPCH实用程序将PDS卸载到顺序数据集中:

ibmmainframes.com/viewtopic.php?t=4284
ibmmainframes.com/viewtopic.php?t=5863

这些先前的主题涉及如何使用TSO PRINTDS命令执行相同的任务:

ibmmainframes.com/viewtopic.php?t=4296
ibmmainframes.com/viewtopic.php?t=2252

这些先前的主题涉及如何使用TSO LISTDS命令显示成员列表,以及如何捕获和使用结果:

ibmmainframes.com/viewtopic.php?t=24091
ibmmainframes.com/viewtopic.php?t=23520
ibmmainframes.com/viewtopic.php?t=7356
ibmmainframes.com/viewtopic.php?t=6192
ibmmainframes.com/viewtopic.php?t=5667
ibmmainframes.com/viewtopic.php?t=235

这些先前的主题涉及如何使用ISPF库管理(LM)LMMLIST来显示和/或循环通过PDS成员:

ibmmainframes.com/viewtopic.php?t=23894
ibmmainframes.com/viewtopic.php?t=5501
ibmmainframes.com/viewtopic.php?t=2079

IEBPTPCH实用程序.

TSO PRINTDS命令.

TSO LISTDS命令.

ISPF LMMLIST服务.

REXX OUTTRAP功能.
回到顶部
查看用户资料 发送私信
超级

全球主持人


已加入:2004年4月26日
帖子:4650
地点:美国北卡罗来纳州罗利

 发布 发表:2007年9月13日,星期四,上午12:24
引用回复

而且,总有这样的旧今天双色球开奖结果可以让您直接读取PDS目录列表块:

码:

/ * REXX * /                                                            
ARG DSN                                                              
"ALLOC F(pds) DA("dsn") SHR REUSE",                                 
"RECFM(F) DSORG(PS) LRECL(256) BLKSIZE(256)"                         
"EXECIO * DISKR pds (STEM dir. FINIS" / *读取pds目录* /     
将blk = 1到dir.0                                                 
  usedbytes = C2D(Substr(dir.blk,1,2))                               
  index = 3                           / *跳过过去使用的字节* /   
  Do While index < usedbytes                                         
    If 子目录(dir.blk,index,8)='FFFFFFFFFFFFFFFF'X然后           
        Signal 迪罗夫                                                
    pds2name = 子目录(dir.blk,index,8) /* member name */             
    Say pds2name                                                     
    index = index + 11                 / *跳过名字和名称* / 
    pds2indc = 子目录(dir.blk,index,1)                               
    伦 = Bitand(pds2indc,'1F'X)       / *隔离用户数据长度* /
    userdata = C2D(len) * 2           / *半字到字节* /     
   索引=索引+用户数据+ 1       / *跳过过去的用户数据* /     
  结束                                                                
结束                                                                  
迪罗夫 :   
出口0    
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月13日,星期四2:25 pm
引用回复

嗨,凯文和克塔拉姆,

首先,我要感谢你们两个对我的查询的关注。
非常感谢你们俩。

我运行了ctaram提供的今天双色球开奖结果,并做了一些修改,以从程序中删除空白行。它可以正常工作。

在今天双色球开奖结果中,我们将行的前7个字符发送到堆栈中。
而不是传递到堆栈中,我们可以传递到数组中,以便我们可以过滤重复的值,并且我还需要过滤字符串。是否有任何关键字可以过滤(例如COBOL中的IS NUMERIC)以检查字符串是否为字符或数字。我也为此提供了屏幕截图。

凯文(Kevin),我运行了您提供给我的今天双色球开奖结果,以列出PDS中的所有成员。第一次运行良好,但是从第二次开始,它给出了我在屏幕快照中显示的错误。请您提出建议我是那个错误的原因。
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月13日,星期四2:47 pm
引用回复

凯文,你好

我能够纠正从PDS检索成员的错误。原因是我正在尝试列出保存REXX今天双色球开奖结果的PDS成员的列表。我希望这是该错误的原因。我对吗 ??..
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月14日,星期五8:42上午
引用回复

嗨,

如何从screenshot2.jpg中删除重复的值和字母字符(我只需要区分大小写的数字)?

我在用

如果DATATYPE('STRING','N')= 1 THEN
写输出
其他
NOP

但是该今天双色球开奖结果不起作用。

并删除要写入输出的重复值,我正在使用数组,但我无法获得结果。

从上面的屏幕截图中,Ctaram在写入输出文件之前使用STACK作为缓冲区,因此我无法删除重复的值,这就是为什么我要使用array以便可以在放入数组之前搜索该元素。

您能为我提供逻辑吗?
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月14日,星期五12:10 pm
引用回复

嗨凯文/ 克塔兰

我编写了一个今天双色球开奖结果,以使用数组从检索到的案例编号中删除重复的值。但是在输出中,我只得到第一种情况

我提供了在附件txt文件中使用的今天双色球开奖结果。
请让我知道我的今天双色球开奖结果删除重复值的地方出了问题。我在今天双色球开奖结果中提供了必要的注释,以告诉您我正在使用那段今天双色球开奖结果。

请查看附件中的今天双色球开奖结果,以帮助纠正错误。

码:

/ * REXX * /
说“提供输入PDS”                                           
解析拉输入                                                       
说出“为您提供需要的数字提供会员名”         
解析拉pgm                                                          
                                                                       
     infile = input || "(" || pgm || ")"                               
     输出= ind1943.rexx.caseretv                                   
                                                                       
     SAY 'INFILE  IS : ' INFILE                                       
                                                                       
     "alloc fi(infile) da('"infile"') shr reuse"                       
     "alloc fi(outfile) da('"output"') shr reuse"                     
                                                                       
     "execio * diskr 档案中(stem inputarr. 菲尼斯"
     说“没有给定成员的今天双色球开奖结果行”输入arr.0   
                                                           
i = 0; k = 0; cnt = 0                                                
                                                           
做lineno = 1到inputarr.0                                 
     casenums =substr(inputarr.lineno,1,7)                 
     c=substr(inputarr.lineno,1,6)

/ *从写入到输出文件中删除具有空格或Non Numreric的行* /                         
     if (SUBSTR(casenums,1,1)=''| 数据类型 (c,'N')=0) then   
        nop                                                 
     else 


/* 删除被写入输出文件的重复值。为此,我正在传递* /
/* 我从上面读取的所有元素都循环成一个数组。           */
/* 在将新元素写入数组之前,我正在检查新元素是否为   */ /* 是否存在CNT变量将增加为1和* /
/* 同时我将数组索引增加到1并写入新元素* /
                                               
       do                                                   
         do i=1 to k                                       
           如果casenums = array.k然后                         
           cnt=cnt+1                                       
         end                                               
          if cnt = 0 then                                     
            do                                             
               k=k+1                                       
               array.k=casenums
                     cnt=0                                     
                     push casenums                             
                     "execio 1 diskw 超越"                   
                  结束                                            
             end                                               
      结束                                                        
                                                               
      queue ''                                                 
                                                               
      "execio * diskw 超越(finis"                           
      "free fi(infile,outfile)"                                 
     说“成功将案例编号写到输出中”
出口
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月14日,星期五12:20 pm
引用回复

你好

我提供的文本文件无法正确打开,因此我以快照方式提供了整个程序。

下面提到的是今天双色球开奖结果说明

/ *删除正在写入输出文件的重复值。为此,我正在传递* /
/ *我从上面读取的所有元素都循环到一个数组中。 * /
/ *在将新元素写入数组之前,我正在检查新元素是否已经存在* / / *。如果存在,则CNT变量将增加为1,并且* /
/ *同时我将数组索引增加到1并写入新元素* /
回到顶部
查看用户资料 发送私信
乌代·巴斯卡尔

新的用户


已加入:2007年3月18日
帖子:15
地点:哥伦布

 发布 发表:2007年9月18日,星期二,上午9:54
引用回复

你好

谢谢大家...尤其是kevin和ctaram的极端指导直到结束...现在我能够根据我的要求成功执行我的今天双色球开奖结果。错误是我将cnt = 0放在错误的位置。在反复试验的方法中,我已将其纠正。

再次感谢大家和论坛
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
 发表新话题     回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> 清单& REXX

 


类似主题
话题 论坛 回覆
 没有新帖 如何在BMS Ph中列出BMS MAP屏幕... CICS 2
 没有新帖 从REXX调用FTP的任何示例吗? 清单& REXX 1
 没有新帖 SummeRx:REXX z / OS的新框架 清单& REXX 6
 没有新帖 更改存在的LRECL的命令... JCL和VSAM 7
该主题已锁定:您无法编辑帖子或回复。 将字段名称传递给COBOL程序 COBOL程式设计 10
搜索我们的论坛:

 回到顶部