如何在Cobol变量的开头添加五个空格?

时间:2014-03-07 15:53:36

标签: cobol

我想在打印到文件或显示到屏幕之前向此错误行变量添加五个空格。我也可能需要添加五个非空格字符。

问题:如何在ERROR-LINE变量中添加五个空格?

01 ERROR-LINE.                                   
   05 E-JOBNAME.                                 
      10 E-NAME         PIC X(5) VALUE 'FALSE'.  
      10 E-NUM          PIC X(5) VALUE 'FALSE'.  
   10 E-FILL1           PIC X(5) VALUE 'FALSE'.  
   05 E-TRIG-PROV-FROM  PIC X(5) VALUE 'FALSE'.  
   05 E-FILL2           PIC X(5) VALUE 'FALSE'.  
   05 E-TRIG-PROV-THRU  PIC X(5) VALUE 'FALSE'.  
   05 E-FILL3           PIC X(5) VALUE 'FALSE'.  
   05 E-TRIG-TAXONOMY   PIC X(5) VALUE 'FALSE'.  
   05 E-FILL4           PIC X(5) VALUE 'FALSE'.  

1 个答案:

答案 0 :(得分:2)

他们的方式很多,但我会坚持一些数据定义:

01 ERROR-LINE-FOR-OUTPUT.
  03 FILLER             PIC X(5) VALUE SPACE.                                   
  03 ERROR-LINE.                                   
   05 E-JOBNAME.                                 
      10 E-NAME         PIC X(5) VALUE 'FALSE'.  
      10 E-NUM          PIC X(5) VALUE 'FALSE'.  
      10 E-FILL1        PIC X(5) VALUE 'FALSE'.  
   05 E-TRIG-PROV-FROM  PIC X(5) VALUE 'FALSE'.  
   05 E-FILL2           PIC X(5) VALUE 'FALSE'.  
   05 E-TRIG-PROV-THRU  PIC X(5) VALUE 'FALSE'.  
   05 E-FILL3           PIC X(5) VALUE 'FALSE'.  
   05 E-TRIG-TAXONOMY   PIC X(5) VALUE 'FALSE'.  
   05 E-FILL4           PIC X(5) VALUE 'FALSE'. 

(03级是这样我不需要改变一切,但你可以)

01 ERROR-LINE-FOR-OUTPUT.
   05 FILLER             PIC X(5) VALUE SPACE.                                   
   05 ERROR-LINE-FROM-SOURCE 
                        PIC X(45).

MOVE ERROR-LINE         TO ERROR-LINE-FROM-SOURCE

您提到您可能还需要非空格值。需要注意的是确保你不“留下价值”,以便它能够达到下一个记录。

在FILLER上,您可以设置两个88:

88 make-it-descriptive VALUE SPACE.
88 make-it-descriptive-also VALUE "otherthanspace".

然后在IF / ELSE / END-IF中设置一个或另一个。

你当然可以给FILLER一个名字(描述性的),然后移动另一个数据名称(再次有一个好名字)。

获取代码来讲述故事。获取数据定义以使其工作(使PROCEDURE保持简单)。

简单易懂,易于维护。