微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 PPFA 代码中打印条件字段

如何解决如何在 PPFA 代码中打印条件字段

如何使用 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 Truncation”。 这意味着一句话:

  • 如果数据中有X,则条件为真
  • 如果数据中没有任何内容,则条件不起作用并且总是错误的(什么也没有发生) 在这种情况下,您必须创建一个始终为真的条件。我称之为虚拟条件。

PPFA 示例语法:

CONDITION TEST start 1 length 1 
when eq 'X' NULL PAGEFORMAT PRTTXT
when ge x'00' NULL PAGEFORMAT PRTIMAGE;

您必须在 CONDITION 命令之后将此 PAGEFORMATS 复制到两个 LAYOUT 中。 Blanc 截断是 z/OS 上的一个难题。

在此示例中,名为 PAGEFORMATPRTTXT 包含条件为真时的所有格式和打印指令,另一个名为 PRTIMAGE 的包含打印图像所需的所有指令。

HTH

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。