-------------------------------------------2007-07-10-----------------------
SELECT-OPTIONS
的常见选项
在
ABAP/4
中检查字段
(
用
FIELD
和
CHAIN
流逻辑语言
)
创建
GUI
状态栏流程
怎样避免自动字段检查
子窗口创建过程
SELECT-OPTIONS
的常见选项
给选择标准分配缺省值
|
|
把用户对选择表的访问限制在第一行
|
NO-EXTENSION
|
把选择表限制为单值选择
|
NO INTERVALS
|
选择屏幕上禁止显示选择标准
|
SELECT-OPTIONS <seltab> FOR <f> ... NO-DISPLAY ..............
|
选择标准能够接受大写和小写字母
|
SELECT-OPTIONS <seltab> FOR <f> ... LOWER CASE ..............
|
要进行选择屏幕上的
“到”字段所必需的选择
|
SELECT-OPTIONS <seltab> FOR <f> ... OBLIGATORY…….
|
要为“到
”字段从
SAP
内存中使用缺省值
|
SELECT-OPTIONS <seltab> FOR <f> ... MEMORY ID <pid>......
|
要将选择标准的字段分配给修改组
|
SELECT-OPTIONS <seltab> FOR <f> ... MODIF ID <key>........
|
要将匹配码对象分配给选择标准的“从”和
“到”字段
|
SELECT-OPTIONS <seltab> FOR <f> ... MATCHCODE OBJECT <obj>..
|
使用报表的选择标准
可以使用选
择表中输入的选择标准
,
以便在报
表程序中完
成三个不同
的任务:
在
WHERE
子句中使用选择表
在逻辑表达式中使用选择表
在
GET
事件中与
CHECK
语句一起使用选择表
在
ABAP/4
中检查字段
(
用
FIELD
和
CHAIN
流逻辑语言
)
要在
ABAP/4
中进行字段检查,请使
用
FIELD
和
CHAIN
流逻辑语言语句。
FIELD
语句的以下形式允许调用进行字段检查的
ABAP/4
模块:
FIELD <field> MODULE <module>.
FIELD
语句可能包含多个
MODULE
调用:
FIELD <field>: MODULE <module1>,
MODULE <module2>
.
也可以在
FIELD
语句中指定
多个字段。
当用
CHAIN
语句链接多个字段检查时,它特别有用。例如
,
FIELD
语句的以下两种形式都是允许的:
CHAIN.
FIELD <field1>.
FIELD <field2>.
FIELD: <field3>, <field4>, ... <fieldn>.
MODULE <module1>.
MODULE <module2>.
ENDCHAIN.
ABAP/4
模块发现错误时,就输出错误消息或警告以通知用户。发布这些消息以提醒系统需要错误对话框。系统重新显示屏
幕,要求用户为出错的字段输入新值。所有其它字段都不允许输入。
如果找到错误,那么,屏幕就使用
CHAIN
语句重新显示链中允许输入的所有字段。有关信息在
下列主题中提供:
检查单个字段
检查多个字段
有条件地调用模块
避免自动字段检查
创建
GUI
状态栏流程
1.
创建
GUI Status
![](https://p-blog.csdn.net/images/p_blog_csdn_net/long2006sky/9a4492f16e96410b822424ebf5223bbd.gif)
2.
给那个新建的
GUI Status
命名
(
一般情况下用于那个
screen
就和那个同名
)
3.
给想显示的按钮命名
或者新建
.
![](https://p-blog.csdn.net/images/p_blog_csdn_net/long2006sky/e3919091cf444902a382a88807f81a62.png)
4.
在调用此
Status
的
Screen
的
PBO
部分用
”
MODULE STATUS_0100.
”
调用此STATUS
MODULE status_0100 OUTPUT.
SET PF-STATUS '100'.
ENDMODULE.
5.
在Element List的Ok项放入名称(一般用OK_CODE)
![](https://p-blog.csdn.net/images/p_blog_csdn_net/long2006sky/2b5285f9b2f147a9b5d634ee7bf84289.png)
并定义
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
6.
在
PAI
部分用
MODULE USER_COMMAND_0100.
在其中对user对状态栏触发作出响应.
module USER_COMMAND_0100 input.
SAVE_OK = OK_CODE.
CASE SAVE_OK.
WHEN 'BACK'.
LEAVE PROGRAM.
ENDCASE.
endmodule.
怎样避免自动字段检查
流逻辑关键字
AT EXIT-COMMAND
在流逻辑中是
MODULE
语句的特殊附加部分。
AT EXIT-COMMAND
允许在系统执行自动字段检查之前调用模块:
Eg. PROCESS AFTER INPUT.
MODULE EXIT AT EXIT-COMMAND.
要使用
AT EXIT-COMMAND
,则必须将功能类型
E
赋给菜单制作器或屏幕制作器中的相关功能。
在屏幕制作器中,调用用于所需按钮的属性,
并将属性“
FctType
”
设置为“
E
”
子窗口创建过程
1.
在主窗口放
Subscreen Area
控件
.
2.
创建
Subscreen(
记得勾选
Subscreen
选项
)
3.
CALL SUBSCREEN <
Subscreen Area
控件名
> INCLUDING <
所在主程序名> <
Subscreen
号
>.(PBO
中)
4.
CALL SUBSCREEN <
Subscreen Area
控件名
>. (PAI
中)(显示
Subscreen)