SAP ABAP SALV DEMO

2023-10-31 09:04
文章标签 demo sap abap salv

本文主要是介绍SAP ABAP SALV DEMO,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这几天听了翱翔云天的几个分享视频,发现做了这么多年的ABAP,更多的是实现功能,但是在优化和原理层面,还是相当欠缺,虽然在甲方是属于6边形战士的存在(ABAP,BASIS,BW,PO,PP,SD,MM,QM,FICO,HR,只要是代码的,都有关系,业务也就做着做着熟悉起来了,但是大多都是“知其然”,但是其所以然,好像有深入,好像又不够深入)

借此视频里的几个问题,做下总结和深入 

BT005 - ABAP ALV 原理解读(面试必备)_哔哩哔哩_bilibili

1、ALV的有几种方式 ( 我艹,好像孔乙己 “回”字几种写法 )

a) 调用 BAPI ”REUSE_ALV_GRID_DISPLAY_LVC“ (面向过程  已经过时的技术,但是实用 )

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_program       = i_callback_programi_grid_title             = titlei_grid_settings          = i_grid_settingsi_callback_pf_status_set = 'SET_PF_STATUS'is_layout_lvc            = is_layout_lvcit_fieldcat_lvc          = it_fieldcatit_events                = it_eventsi_callback_user_command  = 'USER_COMMAND'TABLESt_outtab                 = itab[]EXCEPTIONSprogram_error            = 1OTHERS                   = 2.

b)调用SALV  (后续新开发用 )

*&---------------------------------------------------------------------*
*& Report ZSALV_TEST
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZSALV_TEST.DATA:gt_itab  TYPE TABLE OF ZJHDTTL,gr_table TYPE REF TO cl_salv_table.data: gr_functions type ref to cl_salv_functions_list.SELECT * FROM ZJHDTTL INTO CORRESPONDING FIELDS OF TABLE gt_itab.*全屏模式
cl_salv_table=>factory(
IMPORTINGr_salv_table = gr_table
CHANGINGt_table = gt_itab).gr_functions = gr_table->get_functions( ).gr_functions->set_all( ABAP_TRUE ).
CALL METHOD gr_table->display.

SAP标准的demo案例 SE80  SALV_OM_OBJECTS SAP ABAP SALV DEMO_abap salv set_key_SAP小菜鸡的博客-CSDN博客

c) OO ALV (还没有用过,没有必须的场景 )

========================================================================

Function ALV:function一般有grid和list两种,grid以网格显示,list以表格显示,两者的工具栏有一点不同。

OO ALV:使用面向对象的方法创建的ALV,需要创建一个容器,然后将cl_gui_alv_grid分配给这个容器,它存在很多的事件,这些实现需要注册这些事件处理方法,但是ALV的布局参数不用依靠Object来设置,和function一样,还是依靠函数。

OO SALV:也是面向对象创建ALV的一种方式,但不提供编辑的功能,(当你需要编辑的时候,可以通过SALV适配器调用CL_GUI_ALV_GRID修改为编辑模式),一般情况下SALV是不需要创建容器的,但是ALV的布局也是需要通过Object老控制。

总结:需求非常简单,仅仅是作为报表使用的话可以使用function alv,需要触发动作但是ALV布局的设置不高的时候,而且不需要编辑的时候可以使用SALV,其他情况下尽量使用ALV,个人更偏爱使用OO ALV。(注:当download excel有特殊需求的时候,可以优先考虑SALV,在往期文章download excel中有介绍)。

ALV (一)、funtion ALV,OO ALV,SALV_ooalv和alv的区别-CSDN博客

这篇关于SAP ABAP SALV DEMO的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/314252

相关文章

linux 内核提权总结(demo+exp分析) -- 任意读写(四)

hijack_modprobe_path篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     原理同hijack_prctl, 当用户执行错误格式的elf文件时内核调用call_usermod

linux 内核提权总结(demo+exp分析) -- 任意读写(三)

hijack_prctl篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   prctl函数: 用户态函数,可用于定制进程参数,非常适合和内核进行交互 用户态执行prctl函数后触发prctl系统

linux 内核提权总结(demo+exp分析) -- 任意读写(二)

hijack_vdso篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     vdso: 内核实现的一个动态库,存在于内核,然后映射到用户态空间,可由用户态直接调用 内核中的vdso如果被修改

linux 内核提权总结(demo+exp分析) -- 任意读写(一)

cred篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   每个线程在内核中都对应一个线程结构块thread_infothread_info中存在task_struct类型结构体 struct t

linux 内核提权总结(demo+exp分析) -- ROP(二)

ret2usr CR4篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   smep: smep是内核的一种保护措施, 使得内核不可执行用户态代码 内核通过CR4寄存器的第20位来控制smep,

linux 内核提权总结(demo+exp分析) -- ROP(一)

基础ROP篇(linux 5.0.21) 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   内核提权与用户态攻击的区别 攻击流程 用户态攻击: 执行 system("/bin/sh") 获得shel

实例demo理解面向接口思想

浅显的理解面向接口编程 Android开发的语言是java,至少目前是,所以理解面向接口的思想是有必要的。下面通过一个简单的例子来理解。具体的概括我也不知道怎么说。 例子: 现在我们要开发一个应用,模拟移动存储设备的读写,即计算机与U盘、MP3、移动硬盘等设备进行数据交换。已知要实现U盘、MP3播放器、移动硬盘三种移动存储设备,要求计算机能同这三种设备进行数据交换,并且以后可能会有新的第三方的

SAP学习笔记 - 开发02 - BTP实操流程(账号注册,BTP控制台,BTP集成开发环境搭建)

上一章讲了 BAPI的概念,以及如何调用SAP里面的既存BAPI。 SAP学习笔记 - 开发01 - BAPI是什么?通过界面和ABAP代码来调用BAPI-CSDN博客 本章继续讲开发相关的内容,主要就是BTP的实际操作流程,比如账号注册,登录,BTP集成开发环境的搭建这方面。 目录 1,账号注册 2,BTP登录URL 3,如何在BTP上进行开发? 以下是详细内容。 1,账

类codepen的实现可拖拽窗口demo

首先说下思想 flex或者其他布局方式,实现左右分割布局,主盒子宽度100%,左右布局中包含一个分割条(可在布局容器中,也可以单独定义)为分隔条绑定鼠标点击事件,为document绑定鼠标移动事件和鼠标放开事件,通过监听鼠标移动事件和上一个状态保存下来的鼠标位置作对比,判断当前鼠标移动方向(往左还是往右)然后计算当前鼠标位置和鼠标点击位置的距离,来计算左右容器的变化,然后通过dom的方式设置宽度

SAP项目中沟通的几点总结

最近参与的公司SAP RISE项目,由于是国际项目,全程远程实施,所以沟通显得尤为重要,有几点总结跟大家分享。   1.     提前沟通 提前沟通比事后沟通效果好太多。作为项目管理者,需要把下一步的计划等信息提前通过一定的形式(会议、邮件、Teams Channel等)传播出去。而不是等着这个事情发生了,项目组成员来询问,一方面这样很浪费时间,也会对项目进队产生影响,所以作为项目管理者永