当前位置: 首页 > news >正文

thinkphp企业网站宁波seo推广服务

thinkphp企业网站,宁波seo推广服务,做网站赌博的推广是不是犯罪的,wordpress网站微信支付在上一篇博客ABAP DIALOG屏幕编程1中阐述了DIALOG、PBO、PAI的概念并且对常用页面元素怎么用进行了演示。在这一篇博文中会讲述怎么添加下拉框、搜索帮助,怎么创建表控件、屏幕跳转等。会用到上一篇里面的内容。 有关程序包含文件结构如下。 一、响应用户指令 如上…

在上一篇博客ABAP DIALOG屏幕编程1中阐述了DIALOG、PBO、PAI的概念并且对常用页面元素怎么用进行了演示。在这一篇博文中会讲述怎么添加下拉框、搜索帮助,怎么创建表控件、屏幕跳转等。会用到上一篇里面的内容。

有关程序包含文件结构如下。


一、响应用户指令

如上一篇博文中提到的,因为有时候会涉及到清空指令的情况,为了保证程序正常运行,我们一般不直接使用SY-UCOMM这个系统变量处理用户指令,而是用OK_CODE(自定义的变量名)来接收用户指令进行处理

1、声明全局变量OK_CODE

在zvia_screen_d01中添加变量声明,TYPE SY-UCOMM

2、 在屏幕的元素清单处添加变量

不知道怎么展开的点击显示对象列表。有多个屏幕可以使用同一个变量名,只需要声明一次。但记住需要在每个屏幕的元素清单添加变量。

3、演示点击按钮操作

上篇文章演示过给按钮添加功能码的操作。给按钮添加功能码的方法与 HTML 中的 id 或 name 属性相似,主要是通过 屏幕(Dynpro)设计ABAP 代码中的命令 来绑定按钮的功能。在 SAP GUI 中,按钮的功能码用于定义按钮点击时的行为。

a、这里我们画了一个按钮,并给它的功能码设置成BUTTON。

 b、因为点击功能码是用户输入的一种,所以对用户指令的响应应该放在PAI中。

点击到屏幕的逻辑流处可以看到注释的地方存在一个处理用户指令的模块,解开注释双击创建。

 因为是PAI模块,根据之前的模块划分,给它放在zvia_screen_i01中。

 c、使用CASE来对OK_CODE进行分情况操作

WHEN + 操作名(这里是按钮的功能码).

                 需要进行的处理/PERFORM子例程/不处理.

MODULE user_command_0100 INPUT.CASE ok_code.WHEN 'BUTTON'."与按钮对应的功能码保持一致MESSAGE s013(zvia_dialog_msg)."之前创建的消息类"WHEN '按钮名'."PERFORM OR 其他操作。WHEN OTHERS.ENDCASE.
ENDMODULE.

点击按钮后,左下角显示信息。这里可以进行更复杂的处理,最好使用子例程,使代码更加简洁、结构更清楚。 

4、菜单栏的指令响应

菜单栏应该在屏幕显示之前就进行定义,所以应该在PBO模块中进行声明。

a、点击到屏幕的逻辑流处可以看到注释的地方存在一个定义菜单栏的模块,解开注释双击创建。

因为是PBO模块,根据之前的模块划分,给它放在zvia_screen_o01中。

 b、在每次通过以上步骤创建的PBO模块时都会出现如下被注释的两句话。解开注释,填写名称,双击创建。

MODULE status_0100 OUTPUT.SET PF-STATUS 'PFSTATUS01'.SET TITLEBAR 'TITLEBAR01'.
ENDMODULE.
 c、双击PFSTATUS01创建菜单栏。这里的标准工具条的命名是在进行处理的时候会用到的,可以直接使用标准的进行定义,也可以自己定义。填写功能码,需要用到什么就给什么按钮填,功能码不能相同,建议按照常识或者SAP的习惯定义按钮。记得激活。

使用标准的:附加->调整模板     程序SAPLKKBL 状态STANDARD_FULLSCREEN。

d、双击 TITLEBAR01填写标题。
e、两者创建完成之后的页面如下。这里我是直接使用了标准的,但实际上不需要这么多按钮,可以自己添加。填写对应的功能键的功能码之后就能亮起来了,但是现在点击是没有用的,我们还没有实现功能。

f、实现功能。

使用标准的的按钮的功能码如下。

 跟上面的按钮一样。我们在user_command_0100模块进行功能实现。这里我们只是演示绑定过程,具体实现的功能自己进行书写。比如我们这里实现点击保存按钮。看到定义的功能码是&DATA_SAVE(如果自己定义的按照自定义的进行)。

这里因为一般我们的保存操作涉及到很多语句,所以创建子例程编写。双击创建。

MODULE user_command_0100 INPUT.CASE ok_code.WHEN 'BUTTON'."与按钮对应的功能码保持一致MESSAGE s013(zvia_dialog_msg)."之前创建的消息类 TCODE:SE91WHEN '&DATA_SAVE'.PERFORM frm_data_save.WHEN OTHERS.ENDCASE.
ENDMODULE.

保存至 zvia_screen_f01中。

在子例程里面进行处理。这里其他部分都注释掉了,只留一个MESSAGE显示,尝试点击看能否响应。 

*&---------------------------------------------------------------------*
*& Form frm_data_save
*&---------------------------------------------------------------------*
*& 保存数据子例程
*&---------------------------------------------------------------------*
FORM frm_data_save ."数据判断、处理"数据库处理
*  IF sy-subrc = 0."如果成功则MESSAGE s014(zvia_dialog_msg).
*  ELSE."失败的话
*   MESSAGE e015(zvia_dialog_msg).
*  ENDIF.
ENDFORM.

点击之后显示消息。 


二、添加下拉框

ABAP下拉框可替代多个RADIO,不需要画多个单选进行分组。有Listbox和Listbox with key两种。

1、下拉框分类

a、Listbox
1)用途

  Listbox 主要用于显示一组 简单的文本项,用户可以从这些文本中选择一个。

2)显示内容

      在 Listbox 中,列出的每一项通常只显示文本,不包含与之关联的其他信息。

3)返回值

       当用户做出选择时,Listbox 仅返回所选项的 索引值,即该选项在列表中的位置(从 0 开始)。这意味着你只能通过索引来识别选中的项。

b、Listbox with key
1)用途

  Listbox with Key 用于显示带有 文本和值(Key)对 的列表。在这种情况下,每一项都不仅包含 显示的文本,还包含与之关联的 键值(Key)。用户选择一个文本项时,系统返回的是这个项的 键值(而不是索引)。

2)显示内容

      显示内容与 Listbox 类似,都是文本列表,但每项文本背后都有一个与之关联的键(Key

3)返回值

       当用户选择某一项时,Listbox with Key 返回的是该选项对应的 键值,而不仅仅是索引。这个键值通常是实际存储或用于处理的标识符。


举例:我们在表ZVIA_STU中存有学生信息,现在依据学生性别属性做下拉框。

2、使用表中的字段作为选项

a、先在变量处声明类型为表的结构体和内表。

先激活!一定要先激活,后面才可以读到数据。

b、在屏幕布局处点击如下图按钮——字典/程序字段窗口。

点击从程序中获取,这里如果获取不到的话,请检查变量定义包含程序有没有激活。 

选中对应字段点击确认,这里可以看到后面有文本/复选框/单选的选项,我们选择文本。

在需要位置拖选出范围。双击,点击下拉的下拉框,可以看到有Listbox和Listbox with key两种 。我们这里需要的返回值是代表性别的F或者M,所以选择Listbox with key。

完成之后可以看到出现下拉框按钮。因为取的值就是数据库里面的,所以这里不需要再赋值。

 3、通过内表给下拉框值

用函数VRM_SET_VALUES

a、设置下拉框应该在屏幕显示之前,所以应该放在PBO中。双击创建模块,具体的实现放在zvia_screen_o01中。

b、具体的代码如下,先定义一个类型为vrm_values的内表和类型为它的结构体。往内表中插入选项,一个值为key一个为对应的text。调用函数 VRM_SET_VALUES 传入参数 id 是屏幕上的输入框对应的名称,如图所示,一定要保持一致才可以关联起来。另一个传入参数是定义的选项内表。

*&---------------------------------------------------------------------*
*& Module SET_SEX_LIST OUTPUT
*&---------------------------------------------------------------------*
*& 设置性别下拉列表 用函数VRM_SET_VALUES
*&---------------------------------------------------------------------*
MODULE set_sex_list OUTPUT.DATA : lt_sex TYPE vrm_values,"函数参数类型ls_sex LIKE LINE OF lt_sex."其中行项目的类型CLEAR lt_sex.ls_sex-key  = 'F'."放在数据库的key值ls_sex-text = '女'."描述值APPEND ls_sex TO lt_sex."插入内表ls_sex-key  = 'M'."放在数据库的key值ls_sex-text = '男'."描述值APPEND ls_sex TO lt_sex.CALL FUNCTION 'VRM_SET_VALUES'EXPORTINGid     = 'GS_STU-SEX' "屏幕上的字段名values = lt_sex."将存放list的内表作为数据传入
ENDMODULE.

显示的效果: 

 c、后续需要获取其值直接用输入框的名称即可。

三、添加搜索帮助

添加搜索帮助一共有两种方式。

(1)若之间对使用的字段或者创建过专门的搜索帮助,直接使用。

(2)调用函数F4IF_INT_TABLE_VALUE_REQUEST创建搜索帮助。

下面将分别演示怎么使用。

1、使用之前创建过的搜索帮助。

先建一个输入框,双击,在搜索帮助处填写创建过的搜索帮助名。

完成之后会有个小角标。

完成之后可以看到搜索帮助按钮。

2、使用函数创建搜索帮助。

使用PAI中的关键字PROCESS ON VALUE-REQUEST

FILED后的字段需要和屏幕上对应的字段保持一致。双击创建。放在zvia_screen_i01里。

PROCESS AFTER INPUT.
PROCESS ON VALUE-REQUEST."用于响应搜索帮助的过程 FIELD gv_stu-stuid MODULE zstuid_f4."给学号添加搜索帮助

 zvia_screen_i01中调用函数F4IF_INT_TABLE_VALUE_REQUEST

这里好像有点问题,但是相同的代码在其他屏幕能够实现,在这个屏幕实现不了,要是发现错误麻烦私信我一下。

MODULE zstuid_f4 INPUT.
* 1、得到学生ID的数据 ID 和 NAME *TYPES : BEGIN OF ty_stuid,stuid   TYPE zde_via_stuid,stuname TYPE zde_via_stuname,END OF ty_stuid.
* 2、用类型定义一个内表 *DATA : lt_stuid TYPE TABLE OF ty_stuid.
* 3、将所有学生ID,NAME信息查询出来放到内表里,等会函数用 *SELECT stuid stunameFROM  zvia_stuINTO  TABLE lt_stuid.
* 4、调用函数 F4IF_INT_TABLE_VALUE_REQUEST *CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'EXPORTINGretfield     = 'STUID' "显示于屏幕的主字段,内表中的字段value_org    = 'S' "必要的 表示数据来源是内表dynpprog     = sy-cprog "调用的程序dynpnr       = sy-dynnr "调用的屏幕dynprofield  = 'GS_STU-STUID' "给屏幕上的哪个字段添加搜索帮助 GV_TRAIN-ZCODEwindow_title = '学生学号的搜索帮助'TABLESvalue_tab    = lt_stuid.IF sy-subrc <> 0.MESSAGE e006(zvia_dialog_msg).ENDIF.
ENDMODULE.

四、屏幕跳转

屏幕跳转常和菜单栏里的返回、退出键或者屏幕中的其他查询页面关联。

一般一个屏幕默认的下个屏幕是自己。在屏幕属性处可以看到。可以更改。

1、LEAVE TO SCREEN '屏幕编号'。

LEAVE TO SCREEN '屏幕编号' 用于跳转到指定的屏幕编号。该命令在当前屏幕(Dynpro)上执行后,系统会立即跳转到另一个指定的屏幕。

若是使用 LEAVE TO SCREEN 0.会跳转至当前屏幕序列的第一个屏幕。


2、SET SCREEN '屏幕编号'.  &   LEAVE SCREEN。

SET SCREEN 用于设置目标屏幕的编号,但不会立即跳转LEAVE SCREEN 用来离开当前屏幕并跳转到目标屏幕。通常,这两个命令一起使用,先使用 SET SCREEN 设置目标屏幕,再用 LEAVE SCREEN 执行跳转。两者一起使用相当于LEAVE TO SCREEN '屏幕编号'

因为默认下一个屏幕是自己,若不使用SET SCREEN,只使用LEAVE SCREEN会跳转至当前屏幕(无任何输入的初始状态),也可以直接在屏幕属性处进行更改。


3、CALL SCREEN '屏幕编号'。

CALL SCREEN 用于显示指定的屏幕编号,且会在当前屏幕的上下文中启动目标屏幕。调用后,立即跳转至目标屏幕,控制会传递到目标屏幕,且该屏幕被视为一个嵌套屏幕(Subscreen)。

使用CALL SCREEN时会开启一个新的屏幕序列,而同时存在的屏幕序列是有限制的,所以一般不建议使用。


4、LEAVE PROGRAM。

LEAVE PROGRAM 用于退出当前的程序(或事务)。它不仅会结束当前屏幕,也会结束整个 ABAP 程序的执行,通常会回到 SAP GUI 或返回到上一个程序或事务。


5、CALL TRANSACTION  '事务码'。

CALL TRANSACTION 允许你在当前程序中启动另一个事务,跳转至该事务码的界面。这与屏幕跳转不同,它是在后台启动另一个事务的处理,并将控制权交给新事务


6、CALL DIALOG '对话框'。

CALL DIALOG 用于调用一个对话框(如一个自定义的弹出窗口)。它并不是标准的屏幕跳转,而是显示一个对话框作为弹出窗口,可以在当前屏幕的上下文中执行额外的操作。


7、在代码中的实现。

比如在菜单栏我们需要进行返回的时候。这里第三个按钮对应的功能码的实现。

 

http://www.tj-hxxt.cn/news/15113.html

相关文章:

  • 商城版免费网站制作建设官网的网站首页
  • 做鞋子网站的域名公司网站免费自建
  • 广州知名网站建设哪家好郑州官网网站推广优化
  • 天津企业网站设计哪家好搜狗链接提交入口
  • 基于wordpress个人博客网站论文91
  • 做网站哪个公司服务营销的七个要素
  • 做cpa网站推广普通话手抄报图片
  • 南京公司做网站科技公司网站制作公司
  • 大型网站 建设意义怎样做关键词排名优化
  • 番禺区核酸检测点搜索引擎优化的方法有哪些?
  • 佛山门户网站建设公司企业培训机构哪家最好
  • 用php怎么做网站阳城seo排名
  • 重庆做网站建设公司排名网站seo诊断工具
  • 鑫牛元网站建设西安seo外包行者seo
  • 武汉网站快照推广广东东莞疫情最新情况
  • 浙江省交通建设工程监督管理局网站电脑培训班一般多少钱
  • 呼和浩特网站建设yoast seo
  • 网上注册公司在哪里充电宝关键词优化
  • 综合性网站建设南京最大网站建设公司
  • 那些做测评的网站东营优化路网
  • 想开一家公司需要多少钱seo投放是什么意思
  • 哪些网站做企业招聘不要花钱百度竞价开户哪家好
  • 网址备案查询上海seo优化bwyseo
  • 佛山高端网站开发公司武汉seo搜索引擎优化
  • app推广的网站网络营销策划方案模板范文
  • 网站平台免费深圳seo优化推广
  • 青海商会网站建设公司seo网站推广简历
  • 短剧小程序搭建优化大师下载旧版本安装
  • 西安南郊做网站下载百度2023最新版安装
  • 沃尔玛网购平台官网邹平县seo网页优化外包