abap帅哥
专注sap
展开
-
ABAP 功能码用处
在屏幕开发的过程中,经常会有一些操作是需要回车,或者操作的了才会刷新一遍代码。那PBO 或 PAI 中总要有触发条件,而有些用户的需求就很与时俱进,要求选了某些值,或点击了哪哪就可以实现某些功能。这时候就要用到功能码这个属性了。很典型的一个场景,下拉框的选值,我想选到了特定的值给我弹出一个消息或者警告。那这个时候就跟界面输入值一样,是不会去触发任何代码的,除非你回车或者双击。那加了功能码之后,不要去处理这个功能码就行。把代码写在PBO中就能达到选特定值执行某些效果。这种还能做一些联动,挺实用的一个技巧。原创 2021-10-05 11:38:28 · 601 阅读 · 0 评论 -
ABAP TABLE CONTROL 手动创建注意事项
最近在增强里面做两个TB,之前一直用向导的。写完了测试的时候发现了问题,内表有数据前台界面居然展示不出来,有点疑惑不管怎么调试改代码都无用功,也没有任何报错提示。在大佬的提示下发现了问题根源,屏幕与内表的交互方式,并指出了错误的问题,TB的PBO事件顺序乱了,,,,,,大无语事件! 为了排版好看,把两个TB的PBO里面的LOOP 放到了一起,正常的应该是一个MOUDULE ,一个LOOOP,在loop里面,然后我把他们拆成MOUDULE XXX1MOUDULE XXX2LOOP AY XXX1END原创 2021-07-24 22:05:31 · 360 阅读 · 0 评论 -
ABAP 弹出窗口屏幕实现过程(SCREEN变成窗口大小 CALL SCREEN XXXX STARTING AT)
通常在一些按钮,往往客户希望点了之后能再确定一次,就需要点击按钮之后,弹出窗口屏幕来样式可以根据具体的需求来构造,那我们怎么实现这种可构造的窗口屏幕呢?其实也很简单,先放一下简单的效果。一般不采用对话弹框的形式,功能过于简单是与否,不能实现精确的控制逻辑。那再展示一下复杂的弹窗实现这种弹窗必须画屏创建SCREEN。等于一个小屏幕了,那再复习一下怎么创建屏幕吧。首先,我们在那加弹窗就在改程序或者函数组中加创建一个屏幕。屏幕不易过大,根据需求设计好合适就行了,包括其中的按钮逻辑也就是正常屏幕的逻辑流原创 2021-06-18 21:26:12 · 2975 阅读 · 0 评论 -
ABAP 标准的屏幕GUI工具栏
快速设计一个屏幕中,必不可少的是工具栏,那最快的方法就是复制标准程序中的DEMOse38查询程序SAPLKKBL。其附带的STANDARD_FULLSCREEN即标准GUI状态栏。然后点击右键选择COPY就OK 了。原创 2021-06-09 17:57:54 · 1267 阅读 · 0 评论 -
ABAP 屏幕双滚动条
当我们在屏幕中加入子屏幕的时候出现双滚动条其实很容易解决。首先看一下在主屏幕中画子屏幕的占比。长宽高 146 52 8再去子屏幕看看实际的占比 155 48就发现原来是长度大于主屏幕中的值,只要找到子屏幕在上图这里调整到比主屏幕中的区域小就行了,当然调整了记得看一下子屏幕中的区域是否能放下全部控件,不行的话那就要调整主屏幕中的子屏幕的区域了。总之子屏幕的参数必须小于主屏幕中子屏幕的设定的长宽高范围...原创 2021-06-09 17:42:52 · 1135 阅读 · 0 评论 -
ABAP 屏幕复选框做成单选按钮的效果
淦呢! 又是奇奇怪怪的要求,不想要单选框的默认值,又想要单选效果真的很奇葩。。。。。。。。。。首先明确单选框的效果,二选一!复选框当你再点击的时候会取消值,解决了这个就好办了,试了多种处理方式,发现只有CODE复合了这种奇怪的操作简单明了一点吧。在屏幕上先画出两个复选框,然后给两个复选框分别给一个功能码,用CODE来控制。然后在PBO里面写上代码!屏幕复选框二选一,判断CODE来进行赋值和清除的操作,以此来达到互斥的效果。CASE OK_CODE.WHEN ‘FC_GN3’.GO_WF原创 2021-06-09 17:17:52 · 1137 阅读 · 0 评论 -
ABAP TABLE CONTORLP中 FIELD(重新赋值) 注意事事项
今天被TABLE CONTROL 的LOOP 坑了一个小时,最后才注意到这个问题。在创建TABLE CONTROL 的时候 需要在逻辑流中PBO写一段LOOP 的语法。这个是没问题的,但是在PAI中需要对内表作处理的时候,继续写了一段LOOP,并且CHAIN 了表中多个字段.当我在修改下面这段逻辑时,发现了问题。LOOP AT LT_XXXX.CHAIN.FIELD XXXX-物料 MOUDLE XXX ON REQUEST.FIELD XXXX-XXFIELD XXXX-XXFI原创 2021-06-09 17:01:57 · 578 阅读 · 0 评论 -
ABAP TABLE CONTROL 的删除按钮 表控制控件
按钮状态怎么实现就不说了,之前的DAILOG实例里面有,单独把这个按钮拿出来重新记录一遍,不管是TB 还是ALV,想要添加一些按钮,最终的操作都是对展示数据的内表进行操作。(讲这段代码小改一下,放在对应CODE得按钮逻辑里就能实现删除,记得加刷新,避免一些不必要的麻烦。)下面是实现删除按钮的逻辑代码:" 获取TB当前操属性types:BEGIN OF ts_cursor,repid TYPE sy-repid,fname TYPE string,value TYPE string原创 2021-04-22 16:26:56 · 802 阅读 · 0 评论 -
ABAP INPUT 与 REQUEST 屏幕逻辑流 SAP
这两个 ON-INPUT 初始值改变会触发ON-REQUEST 值发生了改变会触发FIELD XXX MODULE XXXX ON-INPUT(ON-REQUEST).原创 2021-04-21 12:36:18 · 1049 阅读 · 3 评论 -
ABAP chain语法 SAP
在逻辑流通常对字段进行操作我们都会FIELD XXX MOUDLE XXX给他创建一个单独的模块来装检查代码再限制条件比如 加上 ON-INPUT 和 ON-REQUEST。变成 FIELD XXX MOUDLE XXX ON-INPUT。当要同时对好几个字段做同样的检查就需要组合字段就是语法CHIAN。举例说明组合字段条件调用CHAIN.FIELD:Q1-1,Q1-2MODULE mod1 ON CHAIN-INPUT 或 CHAIN-QEQUEST.FIELD原创 2021-04-21 12:33:34 · 3819 阅读 · 0 评论 -
ABAP TABLE CONTROL 表控制控件 SAP
表控制单独写一篇,步骤有点繁琐屏幕里有两个可以做TABLE CONTROL ,第一个是手写,第二个是导航不熟悉的选择第二个,然后就开始填写第二步,填写名字第三步,填写对应表,第一个按钮 是 引用数据库表 ,第二个 是引用程序内的表,和工作区第四步,选择需要的字段第五步,选择数据,输出,输入,右边的是选择是否带文字抬头第六步,添加附加功能,第一个在控件最下方添加四个按钮用于滚动,第二个就是增加删除的按钮,第三个没用过,大家可以用的时候看一下注释有英文。第七步,选择一个INCL原创 2021-04-14 16:38:15 · 887 阅读 · 0 评论 -
ABAP 选择屏幕嵌入DNYPRO 实例 SAP
这次的实操是DAILOG屏幕,写的比较细,文章较长。大概的效果是在多功能报表中加入一个屏幕进行展示。首先在选择屏幕对应的RADIOBUTTON GROUP(单选按钮组,之前写过怎么在屏幕中定义按钮组,这里是用代码实现。)再顺便提一下怎么显示这个功能,像下图这样定义好这五个按钮(MODIF ID 应该有5个ABCDE)然后在PBO里面,先如下代码,就能实现了。AT SELECTION-SCREEN OUTPUT.PERFORM frm_change_screen. (PBO)AT SEL原创 2021-04-14 16:35:54 · 742 阅读 · 0 评论 -
ABAP 屏幕展示长文本 SAP
本次展示的主要是,屏幕上显示长文本内容。屏幕上展示长文本,需要用到定制控制这个屏幕控件,大概是这样的代码放在PBO里面,注意定义的东西要定义为全局变量,因为PBO每次都会刷新执行一遍代码。**屏幕控件DATA: go_fjbm TYPE REF TO c_textedit_control.DATA CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.DATA EDITOR TYPE REF TO CL_GUI_TEXTEDIT.DATA:M1(2原创 2021-04-14 16:32:26 · 1660 阅读 · 0 评论 -
ABAP 获取屏幕字段的值 搜索帮助联动动态查询SAP
获取屏幕上的值,优化搜索帮助做一个联动的查询,就需要获取其他再屏幕上输入的值用到这个函数DYNP_VALUES_READ DATA: LT_DYNPREAD_2 TYPE STANDARD TABLE OF DYNPREAD, LS_DYNPREAD_2 TYPE DYNPREAD, LV_IWERK TYPE z06pmt0210rm-IWERK, LV_WORKSHOP TYPE z06pmt0210rm-WORKSHOP.原创 2021-04-14 16:29:21 · 1370 阅读 · 0 评论 -
ABAP 屏幕单选按钮功能 SAP
如果要在屏幕上实现一个二选一的选择项,打开画屏工具,选着两个单选框,按住CTRL点击两个单选框,然后在中间右键就可以选择按钮组-定义,就形成二选一的单选按钮组,也可以分解。屏幕字段定义就不多说了。...原创 2021-04-06 16:54:09 · 2364 阅读 · 0 评论 -
ABPAP 视图更新,字段更新 SAP
当自建表中增加了字段且需要更新之前已经生产的视图,步骤如下。首先在SE11对与当前表和试图进行添加删除字段并且激活,因为数据库表和视图都可以维护对应的表维护生成器并生成表维护对话框,可以在SM30中进行查看。然后进去实用程序—表维护生产器 (注意是表修改状态)然后点击小笔选择对应的情况进行更新。然后选择对应的屏幕就OK了。(其实还是删除重新建)...原创 2021-04-06 16:49:38 · 973 阅读 · 0 评论 -
ABAP F4搜索帮助(详细步骤) SAP
本次搜索帮助类型为字段的外部搜索帮助附件。在SE11先创建搜索帮助标黄的是数据来源表,标绿的是帮助窗口样式,标蓝的就是输入参数IMP和输出参数EXP,(输出输入不多说了)。然后进去数据库表点击ENTRY HELP,然后点击对应的字段,再点击搜索帮助,把之前创建的搜索帮助填上把该数据库字段与搜索帮助的参数字段对应上。效果图...原创 2021-04-06 16:45:49 · 942 阅读 · 0 评论 -
ABAP 判断屏幕字段是否可以输入 SAP
因为在界面的时候用户有个操作,回车触发PAI事件进行保存,现在要判断某个字段不可编辑的时候,这段保存逻辑不起作用。一直都是更改屏幕是否输入,更改屏幕字段SCREEN-INPUT 的状态,突然要判断屏幕字段的SCREEN-INPUT的值,以此来做出逻辑控制。尝试了直接用IF 不行,不知道是不是我写法的问题,后面换了种思路就行了。首先在原逻辑之前,循换屏幕找到字段名,然后直接把screen-input 的值赋给一个变量,再对变量做出判断,间接的判断当前该屏幕字段是否可输入。 DATA lv_edit_1原创 2021-01-30 18:42:36 · 1452 阅读 · 0 评论 -
ABAP 屏幕字段增强 SAP
碰到修改标准屏幕字段显示的问题,为了一些翻译不让有误会或者更精确表达出字段的意思,往往会对标准屏幕的字段描述做出修改。修改字段描述很简单,首先找到字段对应的数据元素对着要修改的字段F1然后CMOD 找到文本增强然后输入要更改的数据元素,这里有个中英文要注意一下,一般都是更改中文。然后确认进去修改描述。然后回到标准屏幕找到屏幕号点击进去格式,进行激活,这时依旧会要你输入权限密码,直接叉掉就好了。已经成功刷新激活了,再出去看就已经看到描述被更改了。负责人这个描述就是这样更改的,之前叫房间原创 2021-01-30 17:46:15 · 1771 阅读 · 0 评论 -
ABAP 自定义屏幕字段功能合集 SAP
屏幕逻辑流有PBO和PAI原创 2021-01-23 18:48:54 · 1303 阅读 · 4 评论