关闭

dialog module (6)set PARAMETER 的使用

212人阅读 评论(0) 收藏 举报

    SET/GET PARAMETER 是通过sap memory来传输字段的值,比如你登陆完系统后第一次运行VL02N修改交货单,修改完后退出,系统会set parameter把这张交换单号写入到sap memory中,当你下次在运行VL02N时,会发现上次修改过的交换单号会自动的带出来,这是系统通过get parameter找到该交货单。parameter id在sap memory起的是标识作用,所以必须是唯一的。

   测试过程:

第一步:创建一个report ZTEST101_1

(1)创建screen 100,并从dictionary中新建如下图所示的几个屏幕元素。

维护Airlline 和 Flight Number 字段为输入输出字段,其它字段为输出字段。

    

      1-1.png

Airline和Flight Number字段的属性中,勾中set parameter和get parameter。

系统自动维护了Ariline的Parameter ID 为 ‘CAR', 另外,Flight Number

1-2.png1-3.PNG

(2)第二步:写screen相关的PBO PAI module

在PBO 中调用status 'ST0100',在这个GUI中,增加了一个ok_code为SHOW的按钮。

在PAI 中则判断用户点击的是ok_code为SHOW的按钮的话,就根据carrid和connid信息查询表SFPLI,

从而在屏幕上显示其他字段的字段值。

  *PBO Module
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'ST0100'.

ET TITLEBAR '100'.
ENDMODULE.

*PAI Module
MODULE user_command_0100 INPUT.
  CASE ok_code.
    WHEN 'SHOW'.
      CLEAR ok_code.
      SELECT SINGLE * FROM spfli
                      INTO spfli WHEREcarrid= spfli-carrid
                                 AND   connid = spfli-connid.
      spfli_wa = spfli.
    WHEN space.
    WHEN OTHERS.
      CLEAR ok_code.
      SET SCREEN 0.LEAVESCREEN.
  ENDCASE.
ENDMODULE.

(3)report ZTEST101_1的完整代码为为

11.png

(4)创建程序ZTEST101_2,用来调用reprot ZTEST101_1

在下图所示的代码中

set parameter id 'CAR' field carrier

的语法为将本程序中的变量carrier的值,传递给parameter id 为'CAR'的那个字段。

前面说道,parameter id 'CAR'是在屏幕中系统自动给字段Ariline指定的一个paramter id。

  

12.png

(5)运行reprot  ZTEST101_2

A 输出下图所示的结果,然后我们点击 LH 0402那个记录,

13.png

B 将跳转到下图所示的界面中,可以看到Ariline 自动填值为LH,Fight Number 自动填值为402。

但是这个时候,别的字段还是没有值的。

14.png

C 点击 上图所示中的显示 按钮。

然后其他字段也会被填充进去值。

222.PNG

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:128550次
    • 积分:2995
    • 等级:
    • 排名:第12224名
    • 原创:170篇
    • 转载:83篇
    • 译文:3篇
    • 评论:3条
    最新评论