技术标签: 设计 sap screen abap 屏幕 ABAP
输入标题、程序类型等信息后,单击”保存“按钮
程序不需要传输至其他环境,因而保存时选”本地对象“
系统进入程序设计界面,直接保存后退回
在属性页输入描述后,直接保存
单击工具条上的”格式“按钮,进入设计界面,添加一个文本字段控件,输入名称和文本,如果控件显示红色的表示未正确设计属性
”退出“按钮属性如下
注意属性中功能码为EXIT,函数类型”En“,表示退出函数。
设计窗口上的按钮说明
控制用屏幕输入输出事件,如在启动屏幕时使用的菜单、工具条,在输入后对输入框的检查,对按钮事件的控制等。
窗口的属性
窗口上所有对象的列表、属性等
单击按钮,出现如下图
PROCESS BEFORE OUTPUT(PBO):屏幕显示前的调用模块。
PROCESS ALTER INPUT(PAI):响应用户输入后的调用模块,如单击按钮、输入字段后回车等事件。
写入代码”MODULE CANCEL AT EXIT-COMMAND.“。表示在退出事件时执行CANCEL模块,这和退出按钮的函数类型属性对应。
REPORT YTEST20160608.
*直接调用窗口
CALL SCREEN 100.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
执行程序,输出结果如下
单击“退出”按钮,退出程序。
在输入状态名称后,单击创建按钮,如下图
输入短文本
REPORT YTEST20160608.
DATA:FORINPUT(20) TYPE C VALUE '初始值',
FORCODE(20) TYPE C.
*功能码返回值
DATA:OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
*直接调用窗口
CALL SCREEN 100.
*输出返回变量
WRITE:FORINPUT, / FORCODE.
MODULE STATUS_0100 OUTPUT.
*定义状态条、包括菜单、工具条按钮、系统按钮等
SET PF-STATUS 'TESTSTA1'.
*将变量值输出至屏幕字段
FORCODE = SAVE_OK.
ENDMODULE.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
*分析功能码,如果是工具条上的第2个按钮,则退出当前屏幕
CASE SAVE_OK.
WHEN 'BIN2'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
REPORT YTEST20160612.
*功能码返回值
DATA:OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
*使用学校表
TABLES YTJAYSCHOOL.
*直接调用窗口
CALL SCREEN 120.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE STATUS_0120 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
MODULE USER_COMMAND_0120 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
*将SELECT数据赋给SCHOOL记录,SCHOOL记录关联屏幕字段
SELECT SINGLE *
INTO CORRESPONDING FIELDS OF YTJAYSCHOOL
FROM YTJAYSCHOOL
WHERE YSH_ID = YTJAYSCHOOL-YSH_ID.
IF SY-SUBRC NE 0.
CLEAR YTJAYSCHOOL.
ENDIF.
ENDMODULE.
消息类型 | 后继操作 |
E:错误 | 所有字段重新输入,重新启动PAI处理,所有字段重新输入 |
W:警告 | 所有字段允许输入,在未输入新值回车,也会继续PAI处理 |
I:信息(弹出窗口) | 中断当前操作 |
A:异常终止 | 返回 |
S:成功 | 处理PA |
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*检查FLD1、FLD2
PROCESS AFTER INPUT.
CHAIN.
FIELD: FLD1,FLD2.
MODULE CHECK1.
ENDCHAIN.
*检查FLD3、FLD4
CHAIN.
FIELD: FLD3,FLD4.
MODULE CHECK2.
ENDCHAIN.
*当FLD2的首字符是*时执行CHECK3检查
FIELD FLD2 MODULE CHECK3 ON *-INPUT.
MODULE CANCEL AT EXIT-COMMAND.
MODULE USER_COMMAND_0100.
调整主程序,代码如下
REPORT YTEST20160613.
*功能码返回值
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
*定义输入字段变量
DATA: FLD1(20) TYPE C,
FLD2(20) TYPE C,
FLD3(20) TYPE C,
FLD4(20) TYPE C,
ACTION(50) TYPE C.
*直接调用窗口
CALL SCREEN 100.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS1'.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ACTION = ''.
CONCATENATE FLD1 FLD2 FLD3 FLD4 INTO ACTION.
ENDMODULE.
MODULE CHECK1 INPUT.
*当输入FLD1 = 'FLD1'时提示错误,而且不执行PAI
IF FLD1 = 'FLD1'.
MESSAGE E005(YMESS) WITH 'FLD1 ERROR'.
ENDIF.
*当输入FLD1 = 'FLD11'时弹出窗口提示,执行PAI
IF FLD1 = 'FLD11'.
MESSAGE I005(YMESS) WITH 'FLD1 WARNING'.
ENDIF.
*当输入FLD1 = 'FLD111'时输出成功信息,执行PAI
IF FLD1 = 'FLD111'.
MESSAGE S005(YMESS) WITH 'FLD1 OK'.
ENDIF.
ENDMODULE.
MODULE CHECK2 INPUT.
IF FLD3 = 'FLD3'.
MESSAGE E005(YMESS) WITH 'FLD3 ERROR'.
ENDIF.
IF FLD3 = 'FLD33'.
MESSAGE I005(YMESS) WITH 'FLD3 WARNING'.
ENDIF.
IF FLD3 = 'FLD333'.
MESSAGE S005(YMESS) WITH 'FLD3 OK'.
ENDIF.
ENDMODULE.
MODULE CHECK3 INPUT.
MESSAGE I005(YMESS) WITH 'FLD2 * WARNING'.
ENDMODULE.
输出结果如下图
REPORT YTEST20160613001.
*功能码返回值
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
*VRM类型定义接口
TYPE-POOLS VRM.
DATA: FLD1(20) TYPE C.
*内表、记录,字段变量定义
DATA: FNAME TYPE VRM_ID,
VVA TYPE VRM_VALUES,
LVVA LIKE LINE OF VVA.
*直接调用窗口
CALL SCREEN 100.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS1'.
*加两条记录
FNAME = 'FLD1'.
LVVA-KEY = '广州'.
APPEND LVVA TO VVA.
CLEAR LVVA.
LVVA-KEY = '上海'.
APPEND LVVA TO VVA.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = FNAME
VALUES = VVA
* EXCEPTIONS
* ID_ILLEGAL_NAME = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE.
MODULE CANCEL INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'CANCEL'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
输出结果如图
文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib
文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang
文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些
文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器
文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距
文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器
文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn
文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios
文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql
文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...
文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120
文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数