SAP学习从此开始!

当前位置: > SAP技术模块 > Basis >

填写被调用报表的选择屏幕

时间:2016-07-22 18:35来源:未知 作者:安豆学院 点击:
启动报表时,系统通常显示选择屏幕,用户在该屏幕上输入选择标准和被连接逻辑数据库和报表本身的参数(参见 使用选择屏幕(页 错误!链接无效。))。从另一个报表中调用报表时,有好几种可能的方法填写选择标准和被调用报表的参数。 使用SUBMIT语句的下列选项

启动报表时 ,系统通常 显示选择屏 幕,用户在 该屏幕上输 入选择标准 和被连接逻 辑数据库和 报表本身的 参数(参见 使用选择屏幕 (页 错误!链接无效。) )。从另一 个报表中调 用报表时, 有好几种可 能的方法填 写选择标准 和被调用报 表的参数。

使用 SUBMIT 语句的下列 选项:

语法

SUBMIT ... [VIA SELECTION-SCREEN]
           [USING SELECTION-SET <var>]
           [WITH <sel> <criterion>]
           [WITH FREE SELECTIONS <freesel>]
           [WITH SELECTION-TABLE <rspar>].

这些选项有 下列作用:

 

VIA SELECTION-SCREEN

显示被调用 报表的选择 屏幕。如果 使用一个或 多个其他选 项将值传输 到报表中, 则填写选择 屏幕中的相 应输入字段 。用户可以 更改这些值 。默认情况 下,SUBMIT 之后系统不 显示选择屏 幕。

USING SELECTION-SET <var> 

此选项告诉 系统使用变 体 <var> 启动被调用 程序(参见 使用变式预设置选择 (页 错误!链接无效。) )。

WITH <sel> <criterion>

使用此选项 填写选择屏 幕的单个元 素 <sel>( 选择表和参 数)。使用 元素 <criterion> 之一:

- <op> <f> [SIGN <s>], 用于单值选 择

如果 <sel> 是选择标准 ,请用 <op> 填写被调用 的报表选择 表格 <sel> 的 OPTION 字段,用 <f> 填写 LOW 字段,用 <s> 填写 SIGN 字段(参见 选择表 (页 错误!链接无效。) )。

如果 <sel> 是参数,则 可以使用 <op> 任何操作符 。总是用 <f> 填写参数 <sel>。

- [NOT] BETWEEN <F1> AND <F2> [SIGN <s>], 用于间隔选 择

将 <F1> 传送到被调 用报表中选 择表 <sel> 的 LOW 字段中,将 <F2> 传送到 HIGH 字段中,将 <s> 传送到 SIGN 字段中。如 果忽略 NOT 选项,则系 统将把值 BT 填写到 OPTION 字段中;如 果使用 NOT,则 系统将把值 NB 填写到 OPTION 字段中(参 见 选择表 (页 错误!链接无效。) )。

- IN <seltab>, 传送选择表

用调用报表 中表格 <seltab> 的值填写被 调用报表中 的选择表 <sel>。 表格 <seltab> 必须有选择 表的结构。 可以使用 RANGES 语句创建这 样的表格( 参见  RANGES 语句 (页 错误!链接无效。) )。

WITH FREE SELECTION <freesel>, 动态选择的 用户对话

要使用此选 项,必须将 调用报表和 被调用报表 都连接到支 持动态选择 的逻辑数据 库。在调用 报表中,使 用功能模块 FREE-SELECTIONS_INIT 和 FREE_SELECTIONS_DIALOG, 它们允许用 户在选择屏 幕上输入动 态选择。这 些功能块的 一个输出参 数有 RSDS 类型组中的 RSDS_TEXPR 结构。通过 相同结构的 内部表 <freesel> 将此输出参 数的值传送 到被调用报 表。

WITH SELECTION-TABLE <rspar>, 值的动态传 送

首先,使用 词典结构 RSPARAMS 创建内部表 <rspar>。 该表格包含 下列六个字 段:

- SELNAME( 类型 C,长度 8),选择 标准或参数 的名称

- KIND( 类型 C,长度 1),选择 类型(S 是选择标准 ,P 是参数)

- SIGN、 OPTION、 LOW、HIGH, 作为常规选 择表(参见 选择表 (页 错误!链接无效。) ),除 LOW 和 HIGH 外,类型都 为 C、长度都 为 45。

在调用报表 内,可以动 态地用被调 用报表选择 屏幕所需的 任何值填写 此表。如果 选择标准的 名称不止出 现一次,则 在被调用报 表中,该标 准将占用选 择表的好几 行。如果参 数名不止出 现一次,则 系统使用最 后一个值。 注意,LOW 和 HIGH 的类型为 C,以便使 系统对被调 用报表的标 准执行类型 转换。例如 ,这对日期 字段是重要 的。因此, 请使用 VIA SELECTION-SCREEN 选项对程序 进行检查。

首先,使用 词典结构 RSPARAMS 创建内部表 <rspar>。 该表格包含 下列六个字 段:

- SELNAME(, ,  类型 C,长度 8),选择 标准或参数 的名称

- KIND( 类型 C,长度 1),选择 类型(S 是选择标准 ,P 是参数)

- SIGN、 OPTION、 LOW、HIGH, 作为常规选 择表(参见 选择表 (页 错误!链接无效。) ),除 LOW 和 HIGH 外,类型都 为 C、长度都 为 45。

在调用报表 内,可以动 态地用被调 用报表选择 屏幕所需的 任何值填写 此表。如果 选择标准的 名称不止出 现一次,则 在被调用报 表中,该标 准将占用选 择表的好几 行。如果参 数名不止出 现一次,则 系统使用最 后一个值。 注意,LOW 和 HIGH 的类型为 C,以便使 系统对被调 用报表的标 准执行类型 转换。例如 ,这对日期 字段是重要 的。因此, 请使用 VIA SELECTION-SCREEN 选项对程序 进行检查。

除 WITH SELECTION-TABLE 之外,可以 在 SUBMIT 语句内任意 地使用和组 合上述任何 选项。特别 是 WITH <sel> 选项,可以 在单个标准 <sel> 中多次使用 。在被调用 报表中,系 统将相应行 附加到使用 的选择表中 。对于参数 ,它使用最 后指定的值 。WITH SELECTION-TABLE 选项唯一可 能的组合是 USING SELECTION-SET。

在交互式事 件中,可以 使用 SUBMIT 语句的上述 选项,用选 定行的 HIDE 区域中的数 据填写被调 用报表的选 择屏幕。这 允许绕过交 互式事件中 不可以使用 逻辑数据库 的限制。在 不同报表之 间分别使用 GET 语句,并且 在用户选定 行之后,使 用 SUBMIT 调用这些报 表并传递相 应值。

如果将选择 屏幕的输入 字段连接到 SPA/GPA 参数(参见 从 SAP 内存中使用 缺省值 (页 错误!链接无效。) ),可以使 用 SPA/GPA 技术将数据 传送到选择 屏幕。关于 该技术的详 细信息,参 见 将 SPA/GPA 参数传送到 事务 (页 289) 

下列报表创 建包含参数 PARAMET 和选择标准 SELECTO 的选择屏幕 :

REPORT SAPMZTS1.
DATA NUMBER TYPE I.
PARAMETERS      PARAMET(14).
SELECT-OPTIONS  SELECTO FOR NUMBER.

下列报表使 用不同的选 择标准调用 报表 SAPMZTS1:

REPORT SAPMZTST NO STANDARD PAGE HEADING.

DATA: INT TYPE I,
      RSPAR LIKE RSPARAMS OCCURS 10 WITH HEADER LINE.

RANGES SELTAB FOR INT.

WRITE: 'Select a Selection!',
     / '--------------------'.
SKIP.

FORMAT HOTSPOT COLOR 5 INVERSE ON.
WRITE: 'Selection 1',
     / 'Selection 2'.

AT LINE-SELECTION.
  CASE SY-LILLI.
    WHEN 4.
      SELTAB-SIGN = 'I'. SELTAB-OPTION = 'BT'.
      SELTAB-LOW  = 1.   SELTAB-HIGH   = 5.
      APPEND SELTAB.
      SUBMIT SAPMZTS1 VIA SELECTION-SCREEN
                      WITH PARAMET EQ 'Selection 1'
                      WITH SELECTO IN SELTAB
                      WITH SELECTO NE 3
                      AND RETURN.
    WHEN 5.
      RSPAR-SELNAME = 'SELECTO'. RSPAR-KIND = 'S'.
      RSPAR-SIGN = 'E'. RSPAR-OPTION = 'BT'.
      RSPAR-LOW  = 14.  RSPAR-HIGH = 17.
      APPEND RSPAR.
      RSPAR-SELNAME = 'PARAMET'. RSPAR-KIND = 'P'.
      RSPAR-LOW  = 'Selection 2'.
      APPEND RSPAR.
      RSPAR-SELNAME = 'SELECTO'. RSPAR-KIND = 'S'.
      RSPAR-SIGN = 'I'. RSPAR-OPTION = 'GT'.
      RSPAR-LOW  = 10.
      APPEND RSPAR.
      SUBMIT SAPMZTS1 VIA SELECTION-SCREEN
                      WITH SELECTION-TABLE RSPAR
                      AND RETURN.
  ENDCASE.

执行该报表 之后,显示 下列基本列 表:


单击第一个 热点后,SAPMZTS1 的选择屏幕 显示如下:


单击第二个 热点后,SAPMZTS1 的选择屏幕 显示如下:


系统为 SAPMZTS1 的两个调用 传送导致两 行选择表 SELECTO 的值。第二 行出现在各 自的对话窗 口“SELECTO 的多重选择 ”中。如果 没有 SUBMIT 语句的 VIA SELECTION-SCREEN 选项,系统 将相应地在 SAPMZTS1 中填写 PARAMET 和 SELECTO, 但不显示它 们。

(责任编辑:安豆学院)
TAG标签:
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关文章
栏目列表
推荐内容
  • 传递列表属性

    处理列表级时,如果需要知道创建列表时忘记存储在变量中的属性,或者如果使用另一个报...

  • 滚动交互式列表

    要从程序中滚动到交互式列表,请使用SCROLL语句。 要在交互式列表中使用SCROLL语句,...

  • 调用报表

    要从其它报表中调用报表,请使用SUBMIT语句。 要在程序编码中静态地设置调用程序的名...

  • 从程序中退出被调用的报表

    通常,用户通过选择被调用报表列表级0上的F3或F15,使用SUBMIT...ANDRETURN退出调用的...

  • 使用被调用报表的列表结构

    要使用由SUBMIT调用的报表的列表结构,请写: 语法 SUBMIT...[LINE-SIZEwidth][LINE-C...

  • 填写被调用报表的选择屏幕

    启动报表时,系统通常显示选择屏幕,用户在该屏幕上输入选择标准和被连接逻辑数据库和...