SAP屏幕开发之Listbox下拉列表

文章目录

  • 前言
  • 一、案例介绍
  • 二、静态下拉列表
    •             `a.`绘制并设置属性
    •             `b.`两种属性区别以及效果展示
  • 三、动态下拉列表
    •             `a.`绘制下拉列表
    •             `b.`调用函数绑定
  • 四、总结


前言

      这篇文章给大家介绍一下SAP Dialog程序中 Listbox控件 的使用,也就是我们系统中的下拉列表,对于屏幕开发没有任何基础的读者请先看笔者另外两篇文章,SAP屏幕开发基础 SAP屏幕开发小案例 这篇文章笔者会省去程序创建等一些操作,会直接切入正题解释下拉列表的创建和配置使用。


一、案例介绍

        在看这篇文章之前请先看一下笔者之前的这篇文章 了解系统当前表结构类型 这样就可以对我下面使用的表结构字段有个了解了。下面我会介绍两种使用下拉列表的方式,一种是静态的一种是函数调用动态的。


二、静态下拉列表

        这种下拉列表适合一些固定的值,不能动态的进行变化,增加删除值不方便。

            a.绘制并设置属性

                       1.声明变量
                            我们参考之前的表字段声明一个变量,记得写在TOP包含程序中。
在这里插入图片描述

                       2.绘制控件
                            绘制完之后需要手动调整一下大小。然后双击进行属性设置。
在这里插入图片描述

                       3.属性设置
                            记得激活
在这里插入图片描述

            b.两种属性区别以及效果展示

                       1.Listbox 和 Listbox with key 的区别
                            Listbox with key 就是将值和描述都显示了出来,Listbox 是只显示了描述。
在这里插入图片描述
                            可以打断点看一下无论那种模式这个变量都会被赋值为KEY值。在这里插入图片描述

                       2.如何配置下拉列表的值
                            现在我们绘制了下拉列表件运行后直接有值是因为我们这个变量参考的data delment的Domain设置了Value Range。具体怎么设置可以去看笔者另外一篇文章 F4搜索帮助
在这里插入图片描述

三、动态下拉列表

        这种下拉列表适合一些随着某些操作变化而变化的,或者经常需要随着配置表增加删除值的。这里用到的函数是 VRM_SET_VALUES , 我们要使用这个函数首先就要把这个函数了解清楚,下面我会分析它的参数都是什么作用。

            a.绘制下拉列表

                       1.绘制
                            在调用函数之前我们首先要绘制一个下拉列表,我这边命名为gv_dtlistbox并根据需求设置合适的属性,就是要不要显示描述。也可以先在程序中声明变量然后参考这个变量绘制这样是最好的方式就和我们上面绘制静态下拉列表的时候一样创建方式。NAME记得大写、NAME记得大写、NAME记得大写。
在这里插入图片描述

                            下图可以确定 NAME 是不是大写,也可以在这调整为大写,如果不是大写会不起效果的,函数调用的时候也要传大写,SAP中大小写是很敏感的。
在这里插入图片描述

                       2.运行效果
                            现在这个下拉列表是没有任何值的,下面我们会通过函数绑定这个下拉列表,并动态赋值。
在这里插入图片描述

            b.调用函数绑定

                       在调用这个函数之前我们应该思考一个问题,就是何时调用?这个下拉列表肯定是我们屏幕显示后要正常显示的,不能屏幕显示了我点击之后发现还没值,这就是不对的,所以这个函数的调用应该写在我们屏幕调用之前,也就是写在PBO层面,如果写在PAI层面那么只有触发PAI事件之后再调用设置值去绑定那么久晚了。
                       1.先直接看源码
                            先看一下源码稍后再详细解释。
在这里插入图片描述

                       2.函数参数分析
                            这个函数只有两个传入参数,也很好理解, ID 就是绑定哪个下拉框,VALUE 就是一个内表也是我们下拉列表的值,我们可以双击这个函数深入查看此内表的结构,做进一步分析。
在这里插入图片描述

                       3.运行效果
                            现在我们只需要更改内表的值就可以动态实现下拉列表值的变化了,这个内表的值可以 SELECT 去透明表中查也可以手动赋值。当我们选择一个值的时候始终给变量赋值的是KEY值。记得在程序中声明变量不然没法留存住值。如果是参考程序中变量绘制的那就没事了。
在这里插入图片描述

四、总结

        以上就是今天要讲的内容,本文仅仅简单介绍了下拉列表控件,感觉笔者讲的好对自己有帮助的还麻烦点个免费的赞赞制作不易谢谢谢谢!!!如果有说错或者不好的地方还望大家提出来见谅。感觉笔者写的好的别忘了关注点赞加评论哦,也欢迎大家一起来讨论。谢谢!

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

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

相关文章

如何搭建MariaDB并实现无公网ip环境远程连接本地数据库

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 1. 配置MariaDB数据库1.1 安装MariaDB数据库1.2 测试局域网内远程连接 2. 内网穿透2.1 创建隧道映射…

多级缓存

一、多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: •请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 •Redis缓存失效时&#xff…

【Ubuntu】Ubuntu安装微信

1. 优麒麟 Wine (“Wine Is Not an Emulator(Wine不是一个模拟器)” 的缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层。银河麒麟的操作系统也是基于Ubu…

Android状态栏布局隐藏的方法

1.问题如下,安卓布局很不协调 2.先将ActionBar设置为NoActionBar 先打开styles.xml 3.使用工具类 /*** StatusBar 工具类*/ public class StatusBarUtil {/*** 设置状态栏全透明** param activity 需要设置的activity*/public static void setTransparent(Activit…

【大数据】流处理基础概念(一):Dataflow 编程基础、并行流处理

流处理基础概念(一):Dataflow 编程基础、并行流处理 1.Dataflow 编程基础1.1 Dataflow 图1.2 数据并行和任务并行1.3 数据交换策略 2.并行流处理2.1 延迟与吞吐2.1.1 延迟2.1.2 吞吐2.1.3 延迟与吞吐 2.2 数据流上的操作2.2.1 数据接入和数据…

【江科大】STM32:(超级详细)定时器输出比较

文章目录 输出比较单元特点 高级定时器:均有4个通道 PWM简介PWM(Pulse Width Modulation)脉冲宽度调制输出比较通道PWM基本结构基本定时器 参数计算捕获/比较通道的输出部分详细介绍如下: 舵机介绍硬件电路 直流电机介绍&#xff…

LLM自回归解码

在自然语言处理(NLP)中,大型语言模型(LLM)如Transformer进行推理时,自回归解码是一种生成文本的方式。在自回归解码中,模型在生成下一个单词时会依赖于它之前生成的单词。 使用自回归解码的公式…

SPE-Single Pair Ethernet单对以太网测试那些事儿

SPE-Single Pair Ethernet单对以太网测试哪些事?SPE标准IEEE802.3再网上溯源的话是从ISO/IEC11801-X series演变而来。 IEEE802.3cg 10Base-T1 10mbt/s 15m-1000m 0.1mHz-20mHz IEEE802.3bw 100Base-T1 100mbt/s 15m 0.3mHz-66mHz IEEE802.3bp 1000…

k8s-认证授权 14

Kubernetes的认证授权分为认证(鉴定用户身份)、授权(操作权限许可鉴别)、准入控制(资源对象操作时实现更精细的许可检查)三个阶段。 Authentication(认证) 认证方式现共有8种&…

Pandas.Series.describe() 统计学描述 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本: 本文基于 pandas2.1.2 编写。 关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。 传送门: Pandas API参考目录 传送门: Pandas 版本更新及新特性 传送门&…

Java层序遍历二叉树

二叉树准备: public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) {this.val val;}TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left left;this.right right;} } 思路:我们需要创建一个队…

前后端分离,使用vue3整合SpringSecurity加JWT实现登录校验

前段时间写了一篇spring security的详细入门,但是没有联系实际。 所以这次在真实的项目中来演示一下怎样使用springsecurity来实现我们最常用的登录校验。本次演示使用现在市面上最常见的开发方式,前后端分离开发。前端使用vue3进行构建,用到…

算法每日一题: 分割数组的最大值 | 动归 | 分割数组 | 贪心+二分

Hello,大家好,我是星恒 呜呜呜,今天给大家带来的又是一道经典的动归难题。 题目:leetcode 410给定一个非负整数数组 nums 和一个整数 k ,你需要将这个数组分成 k_ 个非空的连续子数组。设计一个算法使得这 k _个子数组…

Mybatis 动态SQL(set)

我们先用XML的方式实现 : 把 id 为 13 的那一行的 username 改为 ip 创建一个接口 UserInfo2Mapper ,然后在接口中声明该方法 package com.example.mybatisdemo.mapper; import com.example.mybatisdemo.model.UserInfo; import org.apache.ibatis.annotations.*; import jav…

mybatis的缓存机制

视频教程_免费高速下载|百度网盘-分享无限制 (baidu.com) MyBatis 有一套灵活而强大的缓存机制,主要分为两级缓存:一级缓存(本地缓存)和二级缓存(全局缓存)。 一级缓存(本地缓存)&a…

【网络奇遇记】揭秘计算机网络性能指标:全面指南

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 速率1.1 数据量1.2 速率 二. 带宽三. 吞吐量四. 时延4.1 发送时延4.2 传播时延…

PCIe-6328 八口USB3.0图像采集卡:专为工业自动化和机器视觉设计

PCIe-6328一块8口USB 3.0主控卡,专为工业自动化和机器视觉相关应用设计。USB 3.0或称作高速USB,是一项新兴总线技术,10倍于USB2.0的传输速度,尤其适用于高速数据存储和图 像设备。 绝大多数现有USB 3.0卡兼用多个接口于一个USB 3…

5. 函数调用过程汇编分析

函数调用约定 __cdecl 调用方式 __stdcall 调用方式 __fastcall 调用方式 函数调用栈帧分析 补充说明 不同的编译器实现不一样,上述情况只是VC6.0的编译实现即便是在同一个编译器,开启优化和关闭优化也不一样即便是同一个编译器同一种模式,3…

光催化专用设备太阳光模拟器装置

什么是光催化材料? 光催化材料是指通过该材料、在光的作用下发生的光化学反应所需的一类半导体催化剂材料。半导体是一种介于导体和绝缘体之间的物质,它有一个特殊的能带结构,即价带和导带之间有一个禁带,禁带的宽度决定了半导体…

linux压缩包形式安装mysql5.7

1. 下载 MySQL 压缩包 在官方网站或者镜像站下载 MySQL 压缩包。mysql-5.7.29-linux-glibc2.12.tar 下载地址: MySQL :: Download MySQL Community Server (Archived Versions) 2. 解压缩文件 使用以下命令解压 MySQL 压缩包: tar xvf mysql-5.7.29…