文本页面

具有 SEND TEXT 的页面构造与具有 SEND MAP 的页面构造有一些不同。

首先,单个 SEND TEXT 命令可以产生比适合屏幕或打印机页的输出更多的输出 (SEND MAP 从不执行此操作)。 BMS 发送整个消息,这意味着您可以在不使用逻辑工具的情况下将多页消息传递到打印机。 但是,您不能对显示使用相同的技术,因为即使 BMS 传递整个消息,组件屏幕也会相互覆盖,通常速度太快,任何人都无法读取。

如果您指定 ACCUM ,那么 BMS 会将输出分到您的页面中,第二个区别是除非您指定 SET 处置,否则您的任务不会在分页时获得控制权。 相反,当当前页面没有更多空间时, BMS 会启动新的页面。 它会自动添加头和尾部 (如果有) ,并且不会引发 OVERFLOW 条件。 无论您是使用单个 SEND TEXT 命令生成页面,还是使用多个命令零碎地构建消息,都是如此。 向任务通知分页符的唯一情况是处置为 SET 时。 在这种情况下, BMS 会提出 RETPAGE 条件来告诉您一个或多个页面已完成,如 使用 SET中所述。

以下是 BMS 如何使用 ACCUM 构建文本页面的详细信息:
  1. 每条消息都从最初为空的第 1 页开始。
  2. 如果指定 HEADER 选项,那么 BMS 将使用头文本启动每个页面。 如果需要, BMS 会在页眉或尾中对页面进行编号。 (标题格式和页面编号在 标题和尾部格式 中进行了说明。)
  3. 如果指定其中一个对齐选项 (有所对齐, JUSFIRST 和 JUSLAST) ,那么 BMS 将在指示的行上启动文本。 JUSFIRST 在标题后的第一行开始文本,如果没有标题,则在顶行开始文本。 JUSTIFY=n 在第 n 行上启动文本, JUSLAST 在最低行上启动文本,这允许它和您的预告片 (如果有的话) 都适合当前页面。 如果当前页面的内容阻止 BMS 遵守其中的理由选项,那么 BMS 将在步骤 6中先转至新页面。

    理由仅适用于每个 SEND TEXT 命令的数据开始; 当数据长度需要额外的页面时, BMS 会在该页面上的第一个可用位置继续文本。

  4. 如果未指定理由,那么 BMS 将在第一个可用位置开始文本。 在消息的第一个 SEND TEXT 上,这与 JUSFIRST 相同。 此后,您的文本将跟在当前逻辑消息的前一个 SEND TEXT 的文本后面一个字符。 (中间字符是 3270 终端上的属性字节,其他终端上为空白。)
  5. 确定了起始位置后, BMS 将继续沿着页面向下,按照 文本行 中的说明将数据分割成行,直到它耗尽空间或数据为止。 如果指定了拖车,那么可用空间会因拖车需求而减少。 如果数据在空间之前耗尽,那么处理将在此时结束。 当您指示您已完成 SEND PAGE 或 PURGE MESSAGE 命令时,将完成此消息。
  6. 如果文本不适合当前页面,那么 BMS 会通过在底部添加尾部文本 (如果有) 来完成此操作,并根据您已建立的处置选项 (TERMINAL , PAGE 或 SET) 对其进行处理,就像对映射的逻辑消息一样。 尾部是可选的,如标头; 您可以使用尾部选项来指定它 (请参阅 标头和尾部格式)。
  7. 然后, BMS 转至新页面,并从步骤 2 中重复剩余数据。