摘要: OO ALV中经常会用的行单击,行双击,application tool bar上添加按钮以及按钮的相应事件,如下: 1,单击:handle_hotspot_click 事件 2,双击:handle_double_click 3,工具栏上添加自定按钮: handle_toolbar,其中,butn_ 阅读全文
posted @ 2020-03-21 20:32 差劲 阅读(298) 评论(0) 推荐(0) 编辑
摘要: ALV报表程序中经常会要求点击凭证号码跳转到相关凭证界面中,比如点击销售订单号码,跳转到VA03中,并且在va03的首屏幕输入被点击的销售订单号码作为默认值。 这个默认值的赋值可以通过set parameter ID来实现,语法如下: 1 SET PARAMETER ID pid FIELD dob 阅读全文
posted @ 2020-03-21 20:29 差劲 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 1, 问题描述 ALV上新加了几个字段,开发机/测试机都显示正常,但是传到P系统就是不显示。。。 2, 问题解决 经过调查,发现是默认布局设置的问题,新加的字段在布局的列设置(Column Set)中,没有放在displayed columns中。。。这应该是个常见问题。。 以上。 阅读全文
posted @ 2020-03-21 20:28 差劲 阅读(686) 评论(0) 推荐(0) 编辑
摘要: SAP项目有会要动态显示ALV列的需求,就是ALV的列数量不固定,这是就要用到动态内表的技术,动态内表通过cl_alv_table_create=>create_dynamic_table来创建。 完整代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 阅读全文
posted @ 2020-03-21 18:42 差劲 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 在GUI Status加入自定义按钮后,可以通过注册事件(event) 'added_function',并且在对应的handler method中写入相关逻辑,来实现点击按钮后的逻辑。 事件added_function是在类cl_salv_events中, 事件注册代码: 1 2 3 4 5 6 阅读全文
posted @ 2020-03-21 18:13 差劲 阅读(567) 评论(0) 推荐(0) 编辑
摘要: ABAP程序中的ALV显示是很常用的一种数据展示手段,除了常规的alv,有时也会用到ALV tree这种有层次结构的展示方式更好的展现数据,下面介绍一个创建list alv tree的方法: 1)用函数RS_TREE_CONSTRUCT构造alv 树的层次结构, alv tree的节点类型(node 阅读全文
posted @ 2020-03-21 17:43 差劲 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 使用REUSE_ALV_GRID_DISPLAY_LVC显示ALV时,如何将列、行或者具体的某个单元格设置成可编辑能输入状态?这个其实很简单,下面一一讲解: 1, 列可编辑 只要将catalog中的字段edit设置成‘X',整列就变成能输入的了,LVC_S_FCAT-EDIT 代码: 1 2 3 4 阅读全文
posted @ 2020-03-21 16:00 差劲 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 基于CL_SALV_TABLE创建的SALV有些限定和需要注意事项,如下: SALV的列数最多只能显示90列 SALV每个单元格最长输出128个字符 排序和小记(sort 和 subtotals)最多9层或9列 合计或小记的字段长度一定要够长,防止溢出 SALV显示的字段一定要是flat的不能是de 阅读全文
posted @ 2020-03-21 15:59 差劲 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 有同事问SALV单元格能不能可编辑?查了一下class documentation,发现: 基于CL_SALV_TABLE创建的SALV是无法编辑,输入的。 Tables displayed with ALV are not available for input. 这是为什么,好好的一个SALV的 阅读全文
posted @ 2020-03-21 15:58 差劲 阅读(308) 评论(0) 推荐(0) 编辑
摘要: ABAP程序中调用REUSE_ALV_GRID_DISPLAY_LVC显示ALV,经常会有双击某行或某字段跳转到其他tcode的需求。下面简单介绍一下。 双击事件的ucomm是'&IC1'. 完整代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 阅读全文
posted @ 2020-03-21 15:56 差劲 阅读(419) 评论(0) 推荐(0) 编辑
摘要: ABAP程序中使用REUSE_ALV_GRID_DISPLAY_LVC显示alv,如何实现行选择功能?方法如下: 1,在输出内表中,定义一个C类型字段用来标记哪些行被选中,选中的为‘X’ 2,在LVC_S_LAYO-BOX_FNAME 中指定1中定义的行选择字段 完整代码: 1 2 3 4 5 6 阅读全文
posted @ 2020-03-21 15:22 差劲 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 一个简单的调用REUSE_ALV_GRID_DISPLAY_LVC显示ALV的abap程序模板。 实现一下几个简单功能: 1,双击跳转-‘&IC1’ 2,在自定义状态栏(status)上添加按钮,copy自函数组KKBL中的status。 SE80: 3,行选择功能 基本上能满足简单的ALV显示。 阅读全文
posted @ 2020-03-21 15:18 差劲 阅读(306) 评论(1) 推荐(0) 编辑
摘要: 1, 问题描述 ALV单元格在可输入状态下,金额和数量类型的字段小数点的位置会发生错误,数量是quan类型,金额是curr类型,如下: 错误情况如下:qty输入66,结果显示0.066小数点提前3位,差1000倍,price输入7,结果显示0.07,小数点提前两位,差100倍。 2, 问题解决 方法 阅读全文
posted @ 2020-03-21 15:14 差劲 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1, 问题描述 在调用REUSE_ALV_FIELDCATALOG_MERGE创建catalog时,发现有列号跳号的现象,也就是缺少了某些列的catalog,如下:13,14列没创建出来,直接跳到了15列。 2, 问题解决 看了一下structure ‘GWA_OUTPUT’的定义,发现13,14这 阅读全文
posted @ 2020-03-21 15:12 差劲 阅读(291) 评论(0) 推荐(0) 编辑
摘要: ABAP语言中提供了好几种ALV的展示方式,比如grid alv,SALV,list alv,OO alv等等。 不同种类alv对应的一些数据结构也是不一样的,比如,OO alv(也就是调用 grid->set_table_for_first_display显示的ALV )中的catalog类型是  阅读全文
posted @ 2020-03-21 15:11 差劲 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 下面总结一下SAP abap语言中的ALV的分类以及各自对应的函数和类方法: 1, List ALV 通过调用函数REUSE_ALV_LIST_DISPLAY实现。List AlV显示如下: 2, Hierarchical sequential list 有层次结构的ALV对应的函数REUSE_AL 阅读全文
posted @ 2020-03-21 15:09 差劲 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 下面介绍如何在ALV头中显示Logo图片的方法,其中ALV是调用函数REUSE_ALV_GRID_DISPLAY创建的。详细步骤如下: 1, OAER上载Logo Tcode: OAER上载需要显示的LOGO图片, 输入Class name ’PICTURERS',Class type以及Objec 阅读全文
posted @ 2020-03-21 15:08 差劲 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 使用 类cl_salv_table创建SALV时,如何刷新ALV显示? 很简单,使用CL_SALV_TABLE中的方法REFRESH。 代码: 1 2 3 4 5 6 * for salv DATA:go_table TYPE REF TO cl_salv_table. * ... * ... * 阅读全文
posted @ 2020-03-21 15:07 差劲 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 下面介绍调用REUSE_ALV_GRID_DISPLAY_LVC创建ALV时,如何显示单选按钮(radio button),以及对应的单选按钮选择相应。 简单逻辑: 1,radio button的ICON: '@TB@' (选中)和 '@SR@' (未选中) 2,注册 事件lcl_event_rec 阅读全文
posted @ 2020-03-21 15:06 差劲 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 使用 函数REUSE_ALV_GRID_DISPLAY_LVC显示ALV时,可以通过字段catalog中的LZERO控制前导零是否显示。 LVC_S_FCAT-LZERO = ‘X' :显示前导零 以上。 阅读全文
posted @ 2020-03-21 11:39 差劲 阅读(473) 评论(0) 推荐(0) 编辑