代码之家  ›  专栏  ›  技术社区  ›  Luke101

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

  •  0
  • Luke101  · 技术社区  · 5 年前

    如何使用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 将在该位置打印给定的文本。但基于该值,我想打印给定的文本或图像。我该怎么做?

    0 回复  |  直到 5 年前
        1
  •  1
  •   phunsoft    5 年前

    以下是AFP-L列表中的答案:

    我会创建两个 PAGEFORMATS ,一个带有LAYOUT表示TEXT,另一个带有LAYOUT表示IMAGE。具有 CONDITION 您可以在页面格式之间跳转(其中Copygroup总是“NULL”)

    如果您在z/OS环境中工作,请小心“JES Blanc截断”。 用一句话来说就是:

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

    PPFA示例语法:

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

    你必须复制这个 条件 进入两者 页面格式 之后 LAYOUT 命令 Blanc截断是z/OS上的一个难题。

    在该示例中 PAGEFORMAT 命名的 PRTTXT 当条件为true时,包含所有格式化和打印指令,另一个调用 PRTIMAGE 包含打印图像所需的所有指令。

    HTH

    推荐文章