如何在同一个文件中使用LINKAGE SECTION和WORKING-STORAGE SECTION?

时间:2016-05-16 15:19:54

标签: cobol

我正在尝试编写COBOL模块并在此文件中包含一些变量:

from  matplotlib.ticker import FuncFormatter

fig, ax = plt.subplots(1,1)
ax.xaxis.set_major_formatter(FuncFormatter(lambda x, _: int(x)))
t.plot(ax=ax)

对于输入参数( IDENTIFICATION DIVISION. PROGRAM-ID. UTIL. DATA DIVISION. LINKAGE SECTION. 01 MY_VAR PIC X(100). DATA DIVISION. WORKING-STORAGE SECTION. 01 RESULT PIC X(200) value SPACES. PROCEDURE DIVISION USING MY_VAR. STRING INPUT DELIMITED BY SPACE ' ' DELIMITED BY SIZE MY_VAR BY SPACE INTO RESULT DISPLAY RESULT EXIT PROGRAM. ),我使用MY_VAR。我不确定如何使用LINKAGE SECTION语句来声明WORKING-STORAGE SECTION变量。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

您应该拥有1个数据部门。此外,我认为订单对于章节来说并不好。 我建议在编码之前查看一些Cobol文档。

     IDENTIFICATION DIVISION.
   PROGRAM-ID. UTIL.

   DATA DIVISION.

   WORKING-STORAGE SECTION.
   01 RESULT PIC X(200) value SPACES.

   LINKAGE SECTION.
   01 MY_VAR PIC X(100).



   PROCEDURE DIVISION USING MY_VAR.
       STRING INPUT DELIMITED BY SPACE
              ' '   DELIMITED BY SIZE
              MY_VAR BY SPACE
       INTO RESULT
       DISPLAY RESULT
   EXIT PROGRAM.

答案 1 :(得分:0)

您是否在PC主机上使用Cobol程序?如果在PC上 - 您使用的是哪个Cobol程序? 如果使用链接部分,则前2个字节指定变量的长度。 另外 - 我没有看到INPUT变量的定义,除非INPUT是某种Cobol命令(在大型计算机上无法识别)。

正确的语法(在大型机上)是:

LINKAGE SECTION.
   01 link-parms.
      05 LNK-PARM-LENGTH         PIC S9999 COMP. 
      05 MY_VAR PIC X(100). 

   PROCEDURE DIVISION USING MY_VAR.
       STRING INPUT DELIMITED BY SPACE
              ' '   DELIMITED BY SIZE
              MY_VAR BY SPACE
       INTO RESULT
       DISPLAY RESULT
       STOP RUN.