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

相关文章

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

C++ Primer 标准库vector示例详解

《C++Primer标准库vector示例详解》该文章主要介绍了C++标准库中的vector类型,包括其定义、初始化、成员函数以及常见操作,文章详细解释了如何使用vector来存储和操作对象集合,... 目录3.3标准库Vector定义和初始化vector对象通列表初始化vector对象创建指定数量的元素值

spring @EventListener 事件与监听的示例详解

《spring@EventListener事件与监听的示例详解》本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序... 目录1、自定义Application Event2、自定义监听3、测试4、源代码5、其他5.1 顺序执行

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听