如何使用 PPFA 代码打印条件字段。当一个值是"X"时,我想打印它。但是,如果"X"不存在,那么我想打印图像。这是我的代码:
LAYOUT C'mylayout' BODY
POSITION .25 in ABSOLUTE .25 in
FONT TIMES
OVERLAY MYTEMPOVER 8.5 in 11.0 in;
FIELD START 1 LENGTH 60
POSITION 2.0 in 1.6 in;
它有FIELD START 1 LENGTH 60
的地方,将在该位置打印给定的文本。但是根据值,我想打印给定的文本或图像。我该怎么做?
以下是AFP-L列表中的答案:
我会创建两个PAGEFORMATS
,一个带有文本布局,另一个带有图像布局。使用CONDITION
,您可以在页面格式之间跳转(其中 Copygroup 始终为"NULL")
如果您在 z/OS 环境中工作,请注意"JES Blanc 截断"。 用一句话来说就是:
- 如果数据中有 X,则条件为 true
- 如果数据中没有任何内容,则条件不起作用并且始终是错误的(没有任何反应) 在这种情况下,您必须创建一个始终为真的条件。我称之为虚拟条件。
PPFA 示例语法:
CONDITION TEST start 1 length 1
when eq 'X' NULL PAGEFORMAT PRTTXT
when ge x'00' NULL PAGEFORMAT PRTIMAGE;
在LAYOUT
命令之后,必须将此CONDITION
复制到两个PAGEFORMATS
中。 白截断在 z/OS 上是一个难题。
在此示例中,名为PRTTXT
的PAGEFORMAT
包含条件为 true 时的所有格式设置和打印指令,另一个名为PRTIMAGE
的指令包含打印图像所需的每个指令。
呵呵