Functional ALV系列 (09) - 双击跳转到另外一个ALV

在查看数据的时候,不总是只有一个界面,为了让用户更方便地查看数据,需要根据当前的数据跳转到另外的界面中,比如查看明细等。本文演示 ALV 比较实用的功能:双击 ALV 单元格跳转到另外一个 ALV 中。

要实现的业务场景:报表首先显示航空公司信息,当用户点击航空公司 ID 所在字段的时候,跳转查看航空公司的航班信息。

ALV 常规的代码如下:

report  zfalv_dbl_click.type-pools: slis.data: gt_scarr type standard table of scarr,gs_scarr like line of gt_scarr.data: gt_spfli type standard table of spfli,gs_spfli like line of gt_spfli.start-of-selection.perform get_scarr_data.perform frm_disp_data.*&---------------------------------------------------------------------*
*&      Form  get_scarr_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form get_scarr_data.select * from scarrinto table gt_scarr.
endform.                    "get_scarr_data*&---------------------------------------------------------------------*
*&      Form  get_spfli_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form get_spfli_data using p_carrid like scarr-carrid.select * from spfliinto table gt_spfliwhere carrid = p_carrid.
endform.                    "get_spfli_data*&---------------------------------------------------------------------*
*&      Form  frm_disp_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form frm_disp_data.data: lt_fieldcat type slis_t_fieldcat_alv,ls_fieldcat type slis_fieldcat_alv.clear lt_fieldcat[] .call function 'Z_FALV_FIELD_CATALOG'exportingit_output     = gt_scarr[]tablesfield_catalog = lt_fieldcat[].call function 'REUSE_ALV_GRID_DISPLAY'exportingi_callback_program      = sy-repidi_callback_user_command = 'FRM_USER_COMMAND'it_fieldcat             = lt_fieldcat[]tablest_outtab                = gt_scarr[].
endform.                    "frm_disp_data

为了能处理双击事件,下面的代码是必须的:


然后在双击事件中处理跳转的逻辑:

form frm_user_command using r_ucomm like sy-ucommrs_selfield type slis_selfield
.case r_ucomm.when '&IC1'. " double clickclear gs_scarr.read table gt_scarr into gs_scarr index rs_selfield-tabindex.check sy-subrc = 0.if rs_selfield-sel_tab_field = 'SCARR-CARRID'.perform get_spfli_data using gs_scarr-carrid.perform frm_disp_spfli_data.endif.endcase.
endform.                    "frm_user_command

源码

stonewm/abap-practice

说明:之前放在 gitee 上的代码由于不明原因个人对 repository 进行了删除,ABAP 博文关联的源码都会显示找不到。 github 上的链接仍然是有效的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/850809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用爬蟲動態IP代理優化數據抓取

無論是商業分析、市場調研,還是學術研究,數據的獲取和處理都顯得尤為重要。爬蟲是一種自動化程式,用於在互聯網上抓取大量數據。簡單來說,爬蟲會模擬用戶的流覽行為,自動訪問網頁並提取其中的有用資訊。但頻繁的訪問和…

CTFHUB-技能树-web-信息泄露

目录 1.目录遍历 2.PHPINFO 3.备份文件下载 3.1 网站源码 3.2 bak文件 3.3 vim缓存 3.4 .DS_Store 4.Git泄露 4.1 Log 4.2 Stash 4.3 Index 5.SVN泄露 6.HG泄露 1.目录遍历 这个没什么好讲的,进去直接点击找flag,然后在下面目录翻,就找到了 …

晶振十大品牌

晶振是电路的心脏,特别对抖动、稳定度有要求,当然除了稳定度,抖动,还对环境温度有要求,优秀的厂商如下: 链接: 晶振十大品牌-晶振品牌-振荡器品牌-Maigoo品牌榜

最新下载:PDFFactoryFinePrint【软件附加安装教程】

简介: pdfFactory是一款无须 Acrobat 创建 Adobe pdf 文件的打印机驱动程序, 提供的创建 PDF 文件的方法比其他方法更方便和高效。 pdfFactory 支持从所有应用程序轻松、可靠地创建 PDF 文件。 支持将单页或两页的文档,直接打印为PDF文件&a…

VSFT匿名用户访问-设置

1、先备份配置档 cp -av /etc/vsftpd/vsftpd.conf{,_bak} 2、编辑配置档,修改以下参数 vim /etc/vsftpd/ vsftpd.conf anonymous_enableYES -----允许匿名用户访问 anon_upload_enableYES -----允许匿名用户上传 anon_mkdir_write_enableYES …

Python中的生成器表达式(generator expression)

Python中的生成器表达式(generator expression)是一种类似于列表解析(list comprehension)的语法结构,但它返回的是一个生成器(generator)对象,而不是一个完整的列表。生成器对象是一…

快速排序(Quick_Sort)

快速排序&#xff1a; 每次排序一个元素&#xff0c;每次使他的左边都比他小&#xff0c;右边都比他大&#xff1b; 和归并排序相似&#xff1b; 递归函数&#xff1a; void Quick_sort(int *arr,int low,int hight) {if(low < hight){int x Quick(arr,low,hight);Quic…

电子电气架构 ---车载安全防火墙

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

后台管理系统排序混乱,分页出现重复条例

检查了接口和请求参数都没有问题。 查询数据库发现是排序字段create_time 都相同导致的。没有区分度。 解决方案 按照唯一id排序 避免create_time 大批量相同 order by create_time &#xff0c;xxx 两个排序字段

搭建自己的组件库<2>dialog 组件

目录 设置title 插槽显示 控制宽高 关闭对话框 transition实现动画 引入深度选择器 同样创建组件dialogue.vue后全局注册 dialogue模版&#xff1a; <template><!-- 对话框的遮罩 --><div class"miao-dialog_wrapper"><!-- 真的对话框 …

The 18th Northeast Collegiate Programming Contest(5/9/13)

心得 赛中ac&#xff1a;5&#xff0c;目前ac&#xff1a;9&#xff0c;题目总数&#xff1a;13 中档可做题还是很多的&#xff0c;可惜遇到了难绷的queueforces&#xff0c; 最后15min才判出来&#xff0c;oi赛制5wa4遗憾离场&#xff0c;赛后把几个题都给调过了&#xff0…

GPT大模型微调-提高垂直领域回答质量

微调一个大模型并测试微调后的效果是一个很好的学习实践。下面是一个逐步指导,帮助你使用一个较小的预训练大模型进行微调,并测试其效果。我们将使用 Hugging Face 的 Transformers 库和一个较小的预训练模型,如 DistilBERT。这个库非常流行且易于使用。 实现步骤 步骤 1:…

Rust-07-结构体

结构体 和元组一样&#xff0c;结构体的每一部分可以是不同类型。但不同于元组&#xff0c;结构体需要命名各部分数据以便能清楚的表明其值的意义。由于有了这些名字&#xff0c;结构体比元组更灵活&#xff1a;不需要依赖顺序来指定或访问实例中的值。可以当作是java对象。使…

Macbook M芯片JDK的安装

Macbook M芯片JDK的安装 下载 搜索zulu&#xff1b; 进入这个网址 https://www.azul.com/downloads/#zulu 进入页面后向下滑动 选择对应选项 然后点击Download进行下载。 选择.dmg格式的安装包&#xff0c;点击。 安装 下载完成后&#xff0c;到下载目录&#xff0c;双击…

窗帘怎么选好看不踩坑

雅静说窗帘好看不踩坑,五点全搞定      买窗帘时,别一开口就问多少钱,啥材质,环保不      会显得很小白,容易被坑,      1,大部分窗帘都是涤纶的, 只不过做出来的质感不一样      如果是原木风可以选棉麻质感的,奶油风和现代简约      可以选雪尼尔质感的,…

MSPM0l1306——配置滴答定时器

我们配置好了滴答定时器之后&#xff0c;还要手动编写滴答定时器的中断服务函数&#xff0c;因为我们开启的滴答定时器的中断&#xff0c;当滴答定时器的计数值从我们设置的值减到0时&#xff0c;就会触发一次中断&#xff0c;触发中断就会执行中断服务函数。各个中断的中断服务…

Flutter 中的 DropdownButtonHideUnderline 小部件:全面指南

Flutter 中的 DropdownButtonHideUnderline 小部件&#xff1a;全面指南 Flutter 是一个流行的开源移动 UI 框架&#xff0c;由 Google 开发&#xff0c;允许开发者使用单一的代码库构建高质量的 iOS 和 Android 应用。Flutter 提供了丰富的组件&#xff0c;其中 DropdownButt…

【Spring Boot】异常处理

异常处理 1.认识异常处理1.1 异常处理的必要性1.2 异常的分类1.3 如何处理异常1.3.1 捕获异常1.3.2 抛出异常1.3.4 自定义异常 1.4 Spring Boot 默认的异常处理 2.使用控制器通知3.自定义错误处理控制器3.1 自定义一个错误的处理控制器3.2 自定义业务异常类3.2.1 自定义异常类3…

树莓派 5 AI 套件(Hailo-8L)使用教程

系列文章目录 前言 The Raspberry Pi AI Kit Raspberry Pi AI 套件将 Raspberry Pi M.2 HAT 与 Hailo AI 加速模块捆绑在一起&#xff0c;供 Raspberry Pi 5 使用。套件包含以下内容&#xff1a; 包含神经处理单元&#xff08;NPU&#xff09;的 Hailo AI 模块Raspberry Pi M.…

STM32 proteus + STM32Cubemx仿真教程(第二课按键教程)

文章目录 前言一、STM32按键的原理二、STM32Cubemx创建工程三、proteus仿真电路图四、程序代码编写4.1函数介绍4.2使用按键点亮LED灯 总结 前言 本篇文章开始带大家学习如何使用proteus和STM32Cubemx来完成STM32的学习&#xff0c;第二节课我们先来学习按键的用法。 proteus使…