SM30 标准程序 添加事件、checkbox 等客制化需求

2024-04-24 07:18

本文主要是介绍SM30 标准程序 添加事件、checkbox 等客制化需求,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接到一个需求,新建 一个add on 表,并且生成sm30的维护视图 。但是要在视图中,针对某些字段显示描述。

 

大致需求如下,

字段

参考字段

类型

长度

主键

默认值

描述

MANDT

MANDT

CLNT

3

X

 

客户端

ZKHLX

ZE_KHLX

CHAR

4

X

 

类型

ZKHND

ZE_KHND

NUMC

4

X

 

年度

ZKHYF

ZE_KHYF

NUMC

2

X

 

月份

ZBNDLX

ZE_BNDLX

NUMC

2

X

 

半年度

ZJDLX

ZE_JDLX

NUMC

2

X

 

季度

PERNR

PERSNO

NUMC

8

X

 

被代理人

ZAGT

PERSNO

NUMC

8

 

 

代理人

UNAME

AENAM

CHAR

12

 

 

更改人

AEDTM

AEDAT

DATS

8

 

 

更改日期

1 维护视图中,针对代理人 和 被代理人,是系统账号, 所以需要带出姓名描述
2 更改人、更改日期为系统ID 和 系统时间
最后展示界面如下:
根据此需求,
1. SE11----新建表----创建 表维护生成器。 函数组名称与 表名称保持一致 ZTABLE
2. se80: 选择函数组,输入ZTABLE,选择屏幕9000(屏幕号是自定义的,只有一个),双击屏幕
3. 屏幕中,有很多属性可以设定,此时,标准的屏幕里,是没有代理人姓名的,所以打开屏幕编辑器,我们来手动添加
4.  代理人姓名是如何添加的呢,选择 一个输入、输出字段,拖到相应位置,再选择一个文本字段 ,拖到其上方,作为标题,如下图
分别给这两个字段定义,对于输入输出字段,需要定义,
定义如下: data :uanme_txt  TYPE  char40.
定义完成之后,就要写事件啦,根据 被代理人,自动带出被代理人姓名。只要在output事件中,自动检查就行。实例代码:
屏幕中: 
PROCESS BEFORE OUTPUT.
 LOOP AT EXTRACT WITH CONTROL
   module zz_fill_text.
 ENDLOOP.
 
MODULE zz_fill_text OUTPUT.
 在此语句中给 uanme_txt 赋值
ENDMODULE.
 
注意:
对于checkbox 也是一样的,选择 checkbox按钮,
需要注意的是,如果 对于某一列 字段是 ztable-a。
原本应该是 输入输出字段,需要先删除此字段,添加checkbox 按钮后,把checkbox的字段名称设为 ztable-a
会弹出提示,是否需要应用。不管他,点击是 。这样就能重新 绑定在一起了
如下图:
 
2.第二个需求,针对某些字段,带出F4 事件 。
   同样,在屏幕中:
    process on value-request.
     field zpmv022-zorg module f4_objid.
 
field 后面是要启用F4事件的字段,module后是f4事件的响应处理
 
module f4_objid input.
下列是 hr系统中标准F4事件,此外还可以用F4IF_INT_TABLE_VALUE_REQUEST'
    

  clear g_objec.
  call function 'RH_OBJID_REQUEST'
    exporting
      plvar             '01'
      otype             'O'
      dynpro_repid      sy-repid
      dynpro_dynnr      sy-dynnr
      dynpro_searkfield 'ZPMV022-ZORG'
    importing
      sel_object        g_objec
    exceptions
      cancelled         1
      wrong_condition   2
      nothing_found     3
      internal_error    4
      illegal_mode      5
      others            6.
  if sy-subrc 0.
    if not g_objec-realo is initial.
      zpmv022-zorg g_objec-realo.
      clear g_objec.
    endif.
  endif.
*    CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
*    EXPORTING
*      functioncode           = '='
*    EXCEPTIONS
*      function_not_supported = 1
*      OTHERS                 = 2.
ENDMODULE.
 
  

这篇关于SM30 标准程序 添加事件、checkbox 等客制化需求的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

go rate 原生标准限速库的使用

《gorate原生标准限速库的使用》本文主要介绍了Go标准库golang.org/x/time/rate实现限流,采用令牌桶算法控制请求速率,提供Allow/Reserve/Wait方法,具有一定... 目录介绍安装API介绍rate.NewLimiter:创建限流器limiter.Allow():请求是否

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

防止SpringBoot程序崩溃的几种方式汇总

《防止SpringBoot程序崩溃的几种方式汇总》本文总结了8种防止SpringBoot程序崩溃的方法,包括全局异常处理、try-catch、断路器、资源限制、监控、优雅停机、健康检查和数据库连接池配... 目录1. 全局异常处理2. 使用 try-catch 捕获异常3. 使用断路器4. 设置最大内存和线

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序