ABAP - SALV教程02 - 开篇:打开SALV的三种方式之二

article/2024/4/13 14:42:27
  • 全屏模式生成SALV的方式:http://t.csdnimg.cn/CzNLz
  • 本文讲解生成可控模式的SALV,该方式需要依赖自己创建屏幕的自定义控件区域(Custom Control)
  • 实现步骤需要注意的点是SALV的实例对象和dispaly方法一定是在屏幕PBO事件里的
  1. 在程序中创建一个屏幕,并在布局中定义控件区域(Custom Control)
  2. 通过cl_salv_table=>factory方法传入参数container_name生成SALV实例对象,最后调用SALV实例对象的display方法展示
    CLASS lcl_model DEFINITION.PUBLIC SECTION.TYPES:BEGIN OF TY_dATA,vbeln TYPE vbak-vbeln,erdat TYPE erdat,erzet TYPE erzet,ernam TYPE ernam,auart TYPE auart.TYPES:END  OF ty_data.DATA mt_data TYPE TABLE OF ty_data.DATA mo_salv TYPE REF TO cl_salv_table."获取数据的方法METHODS get_data."展示SALV的方法METHODS alv_show.
    ENDCLASS.CLASS lcl_model IMPLEMENTATION.METHOD get_data.SELECT vbeln erdat erzet ernam auartINTO TABLE mt_dataFROM vbakUP TO 20 ROWS.ENDMETHOD.METHOD alv_show."1.创建SALV实例对象TRY.                             " SALV以控制器方式显示cl_salv_table=>factory(EXPORTINGcontainer_name = 'CONTAINER'IMPORTINGr_salv_table   = mo_salvCHANGINGt_table        = mt_data ).CATCH cx_salv_msg INTO DATA(msg).MESSAGE  msg TYPE 'S' DISPLAY LIKE 'E'.ENDTRY."2.调用SALV展示方法mo_salv->display( ).ENDMETHOD.
    ENDCLASS.START-OF-SELECTION."一定要调用屏幕CALL SCREEN 0100.MODULE salv_show OUTPUT.DATA(lo_model) = NEW lcl_model( ).lo_model->get_data( ).lo_model->alv_show( ).
    ENDMODULE.

    显示效果如下图所示:


http://www.ngui.cc/article/show-1929938.html

相关文章

修改docker默认存储位置【高版本的docker】

一、修改docker默认存储位置 1、停服务 systemctl stop docker 2、修改/etc/docker/daemon.json添加新的dcoker路径 如"data-root": "/mnt/hdd1/docker" 3、保存后重启服务:systemctl restart docker 二、其他服务的命令 systemctl disab…

【GPU驱动开发】-GPU架构简介

前言 不必害怕未知,无需恐惧犯错,做一个Creator! GPU(Graphics Processing Unit,图形处理单元)是一种专门用于处理图形和并行计算的处理器。GPU系统架构通常包括硬件和软件层面的组件。 一、总体流程 应…

箱式分拣输送线PLC与WCS接口数据交互协议

数据交互概述 输送线PLC与WCS之间的数据交互在仓储和物流系统中扮演着至关重要的角色,对系统的效率、稳定性和安全性有着直接的影响。以下是数据交互的重要性所体现的几个方面: 1、任务执行效率: 通过有效的数据交互,WCS可以实时将任务指令发送给输送线PLC,从而实现对仓…

Unity(第二十三部)导航

你可以使用 unity官方提供的 unity导航组件或第三方 unity导航组件,以实现游戏中角色或其他物体的导航。 unity导航组件通常具有多种导航模式,如飞行模式、步行模式、车辆模式等,可以根据不同的需求选择合适的模式。同时,unity导…

Redis持久化+Redis内存管理和优化+Redis三大缓存问题

Redis持久化Redis内存管理和优化Redis三大缓存问题一、Redis高可用二、Redis持久化1、RDB持久化1.1 触发条件(1) 手动触发(2) 自动触发(3) 其他自动触发机制 1.2 执行流程1.3 启动时加载 2、AOF持久化2.1 开启AOF2.2 执行流程(1) 命令追加(append)(2) 文件写入(write)和文件同步…

if-else 语句

if-else 语句 概念:是双条件分支语句,根据一个条件来控制程 序执行的流程。 语法格式: if(表达式) { 若干语句 } else { 若干语句 }

Flutter中Widget的生命周期

Widget生命周期: createState-initState-didChangeDependency-build-deactive-dispose 可通过WidgetsBinding类对widget生命周期的回调进行监控。 createState:StatefulWidget 中用于创建 State; initState:State 的初始化操作&am…

国防科大、中大0706大气科学及南信大大物院初试复习宝典——简答题知识点汇总

Attention!有思维导图版 有Xmind导图格式的,更适合复习,下面是xmind导出的markdown格式,丑死了,可以移步去网盘查看 链接:https://pan.baidu.com/s/1ZcqfPWoyMd6eXf3_jvSVzQ?pwd7ij7 提取码:…

【JS】生成N位随机数

作用 用于邮箱验证码 码 ramNum.js /*** 生成N位随机数字* param {Number} l 默认&#xff1a;6&#xff0c;默认生成6位随机数字* returns 返回N位随机数字*/ const ramNum (l 6) > {let num for (let i 0; i < l; i) {const n Math.random()const str String(n…

如何使用css实现一个加载动画

如何使用css实现一个加载动画 有四个点 初始化为同一个颜色 每个阶段 不同的透明度 刷新也不会影响初始化 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthd…