运行程序时获取字段名称

时间:2015-01-05 10:32:44

标签: cobol mainframe

我有一本类似的复印本:

  01 MY-STRUCTURE.
     05 STRUCTURE-NAME PIC X(20).
     05 STRUCTURE-DATE PIC X(8).
     05 STRUCTURE-LIB PIC 9(3).

如何获取字段名称?

我希望有一个程序可以获取任何副本并动态编写其字段和值。

我想把它写成这样的输出文件:

  "STRUCTURE-NAME-> TOTO"
  "STRUCTURE-DATE-> 19780301"
  "STRUCTURE-LIB -> 123"

2 个答案:

答案 0 :(得分:0)

在z / OS环境中,根据编译器级别,您可以使用编译器生成的调试信息对您的名称进行内省。为此,您需要在编译时保存ADATA。

答案 1 :(得分:-2)

我有两种可能的解决方案:

  1. 您可以在内部表中保存副本的字段名称。并且secuential读取表格以便为您的输出写入。
  2. 动态分配更复杂但是有可能。您可以使用bpxwdyn(子例程IBM)在程序中分配副本。

    您创建一个子程序,其副本名称,长度固定(80),复制库的名称,并在子程序中分配此副本。然后,您可以用他的数据填充内部表格。

  3. 例如:

    http://mainframe-tips-and-tricks.blogspot.com.es/2011/12/cobol-sample-program-for-dynamic-file.html