同一个报表,里面多次调用 REUSE_ALV_GRID_DISPLAY_LVC 显示函数
ALV――SAP LIST VIEWER是SAP中的一种报表方式,这里姑且称之为ABAP表单浏览器,用它可以标准化,简单化R/3系统中的表单,它可以提供给用户一个统一的表单格式及用户接口。ALV是系统的一种网格的显示方式,这种方式带有汇总\排序\筛选等功能,ALV格式的数据是以单元格为单位显示,SAP提供了一套ALV的功能模块,可以对输出报表的样式作修饰,提高报表输出的可读性和功能性,对于动态报表程序是一个很有效率的工具。ALV家族包含3中ALV工具:简易的,两层ALV,分等级连续的列表和树形结构的ALV。一般的ALV报表有一个表头,再加上表内容,并附加一些如排序,分类汇总,合计或下载为本地文件等预设功能。ALV报表显示方式基本上有2种,一种是Grid方式,一种是List方式,是分别调用不同的Function来实现。
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说ALV[他律],希望能够帮助大家进步!!!
今天写一个简单的ALV报表吧,仅显示的那种,这是前两天刚入门的ABAP小伙伴的小考题,
ABAP(Advanced Business Application Programming)是一种由SAP开发的编程语言,广泛应用于企业级软件开发中。在SAP系统中,ALV(ABAP List Viewer)是一种功能强大的工具,用于显示和编辑数据表格。本文将围绕ABAP中如何实现ALV展开讨论,探讨其实现原理、优势以及具体操作步骤,旨在帮助读者更好地理解和运用ABAP编程语言。
“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第3篇文章,点击查看活动详情”
5、函数:REUSE_ALV_GRID_DISPLAY / REUSE_ALV_LIST_DISPLAY
首先我们要知道ALV有两种写法,一种是FUCTION(FM),另一种就是OOALV了,所以设置ALV复选框也是有两种方法。
下面将用一个最简单的例子来实现ALV下拉列表的全流程。总的来说,分为如下四步操作:
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
动态内表的创建和使用主要有以下几点: 动态内表的创建,首先要定义动态结构,然后再根据定义的动态结构利用系统一个标准的method:”cl_ALV_table_create=>create_dynamic_table“生成动态内表。 动态内表的赋值,遍历动态结构,获取指定的字段,然后给指定的字段赋值。 动态内表的读取显示,与赋值相似,遍历动态结构,获取指定的字段,然后读取对应字段的值。
Service: default_host/sap/option/* default_host/sap/public/bc/* default_host/sap/bc/wdvd default_host/sap/bc/webdynpro/*
报表以Hierarchy的格式显示结果,对用户很不友好。一个正常的SAP用户都不喜欢这样的报表格式,不理解SAP系统的开发者和设计者们为啥觉得这种格式能堪使用。。。
-界面中增加Customer Control控件,定义名称为:OOALVSCREEN
声明以下变量: DATA:gs_layout_lvc TYPE lvc_s_layo, gt_fcat_lvc TYPE lvc_t_fcat, gs_fcat_lvc TYPE lvc_s_fcat, ls_event TYPE slis_alv_event, lt_event TYPE slis_t_event.
1.动态内表的创建,首先要定义动态结构,然后再根据定义的动态结构利用系统一个标准的method:”cl_ALV_table_create=>create_dynamic_table“生成动态内表。
之所周知,SAP的很多报表都可以是ALV的格式输出,这个格式对于业务而言,界面友好,方便业务人员按照自己的需求去调整报表输出结果,也方便业务人员将输出导出到本地文件。比如ME5A,ME2L,ME2M, ME2N等等。这些报表的界面上都有一个字段scope of list, 将其改成ALV,
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第4天,点击查看活动详情
前言:SAP ABAP 面向对象编程:如何实现选择屏幕和ALV结果在同一个屏幕上显示。 🦙(工作遇到傻逼,千万要远离。道路千万条,远离傻逼第一条)
ALV标准功能汇总,分类汇总,排序,过滤这些功能除了可以直接使用它的标准功能按钮之外,你也可以在程序里设定,让ALV列表第一次显示出来就已经使用了这些功能。
请注意,这只是一个示例代码,您可以根据自己的需求进行修改和扩展。在实际使用时,您需要在ABAP环境中创建一个报表,并将以上代码复制到该报表中运行。此代码将根据输入的表名动态查询和显示表数据,并使用ALV网格进行展示。在代码中,输入参数p_table_name用于指定要显示数据的表名,通过调用cl_alv_table_create=>create_dynamic_table方法创建动态内表,然后使用cl_gui_alv_grid类创建动态ALV网格,并最终通过调用lo_alv_grid->set_table_for_first_display方法显示数据。
只需要把之前设置的DRDN_FIELD修改成F4AVAILABL,然后设置上参考表和参考字段,去表里给这个字段设置上它的搜索帮助,那么ALV也就可以用了!
Sort表为一个内表,将需要排序的字段信息增加到sort表中,在ALV输出按照顺序排序
20201228学习《ABAP_ALV_知识整理》,以下为读书笔记和我的ALV开发实例。
字段内容前增加空格,需使用全角空格,使用半角空格时,ALV显示无效,空格无法显示,
排序在 ALV 中也是一个比较重要的功能,在有合计的场合下,排序能实现排序字段的小计(subtotal)。
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第25天,点击查看活动详情
有时候我们可以把一些字段设置为下拉,比如一些类型,一些字段的值是比较固定的一些值,如性别等。设置为下拉,和设置超级链接是类似的,也是使用了一个内表存放了句柄和对应的值,这个表类型为”LVC_T_DROP”.不过传递给 ALV 的方式有点区别.超级链接是通过方法”SET_TABLE_FOR_FIRST_DISPLAY”
需要注意的是:如果下拉框设置的值是中文汉字,那么就不能输入了。 还有:下拉框设置了值,并且设置了可编辑,此时编辑的时候只能输入下拉框中有的值,其他的值输入不进去。
保持逻辑不变,主要对其中的两个FORM(frm_get_data和frm_handle_data)进行改造,合并为一个FORM(frm_get_data),调整后代码如下:
data_changed在可編輯字段的數據發生變化時才會觸發。可用來檢查輸入數據的正確性。 data_changed_finished在回車時和可編輯字段數據發生變化后,光標移動時觸發,如果可編輯字段數據檢查失敗,則不會觸發此事件。 這兩個事件都需要調用方法才能觸發。
ABAP权限对象设计与权限检查的实现 重难点:①修改标准表MAKT数据 ②权限设置 su20创建权限字段(有可能SPRAS为char1 YY为char2 所以不行) SU21创建权限对象 创建参数文件
跟双击一样,添加自定义的工具栏其实也是在CLASS里面添加方法并实现之。
内部循环行数A次,每循环1次,变量B就增加1,再让A、B相乘,乘积赋值给变量C,然后输出表达式;
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第27天,点击查看活动详情
最后调用更改的FORM里面,赋值的时候,资产状态和保管人,都填的同一个,注意修改下。
DATA: gv_repid TYPE sy-repid, gv_sname TYPE sy-dynnr. TYPES: BEGIN OF gs_data. INCLUDE STRUCTURE spfli. TYPES: celtab TYPE lvc_t_styl. TYPES: END OF gs_data. DATA: gs_data1 TYPE gs_data. DATA: gt_data TYPE TABLE OF gs_data WITH HEADER LINE. DA
领取专属 10元无门槛券
手把手带您无忧上云