表维护视图的F4增强

2023-11-02

利用SE11创建表维护视图后,我们可以通过SE51修改自动生成的屏幕来编写自定义F4以及其它事件。

首先需要找到相应的FUNCTION GROUP

 SE80进入FUNCTION GROUP的编辑页面

修改屏幕的PBO,PAI事件。(出了MDL开头的MUDOLE,其它代码均为系统自动生成)

PROCESS BEFORE OUTPUT.
  MODULE liste_initialisieren.
  LOOP AT extract WITH CONTROL
   tctrl_zfit_037_sfx CURSOR nextline.
    MODULE liste_show_liste.
    MODULE mdl_screen_init.
  ENDLOOP.
*
PROCESS AFTER INPUT.
  MODULE liste_exit_command AT EXIT-COMMAND.
  MODULE liste_before_loop.
  LOOP AT extract.
    MODULE liste_init_workarea.
    CHAIN.
      FIELD zfit_037_sfx-zsfxmid .
      FIELD zfit_037_sfx-zsfxmbm .
      FIELD zfit_037_sfx-zsfxmmc1 .
      FIELD zfit_037_sfx-zsfxmmc2 .
      FIELD zfit_037_sfx-zsfxmmc3 .
*     FIELD zfit_037_sfx-ztxt20 .
*     FIELD ZFIT_037_SFX-ZTF_TYPE .
*     FIELD ZFIT_037_SFX-ZTF_STATUS .
      FIELD zfit_037_sfx-saknr_dr .
      FIELD zfit_037_sfx-saknr_cr .
      FIELD zfit_037_sfx-ztxt50 .
*     FIELD ZFIT_037_SFX-ZATTRIBUTE1 .
*     FIELD ZFIT_037_SFX-ZATTRIBUTE2 .
*     FIELD ZFIT_037_SFX-ZATTRIBUTE3 .
*     FIELD ZFIT_037_SFX-ZATTRIBUTE4 .
*     FIELD ZFIT_037_SFX-ZATTRIBUTE5 .
      MODULE set_update_flag ON CHAIN-REQUEST.
    ENDCHAIN.
    CHAIN.
      FIELD zfit_037_sfx-saknr_dr.
      FIELD zfit_037_sfx-saknr_cr.
      MODULE mdl_change_txt.
    ENDCHAIN.
    FIELD vim_marked MODULE liste_mark_checkbox.
    CHAIN.
      FIELD zfit_037_sfx-zsfxmid .
      FIELD zfit_037_sfx-zsfxmbm .
      MODULE liste_update_liste.
    ENDCHAIN.
  ENDLOOP.
  MODULE liste_after_loop.

  PROCESS ON VALUE-REQUEST.

  FIELD zfit_037_sfx-saknr_dr MODULE mdl_f4_saknr.
  FIELD zfit_037_sfx-saknr_cr MODULE mdl_f4_saknr1.

  MODULE mdl_screen_init. "添加自定义事件,借方科目和贷方科目只能输入一个。

  ZFIT_037_SFX-SAKNR_DR与ZFIT_037_SFX-SAKNR_CR为借方与贷方科目字段。

*----------------------------------------------------------------------*
***INCLUDE LZFI_F037_SFXO02.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module MDL_SCREEN_INIT OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE mdl_screen_init OUTPUT.

    IF ZFIT_037_SFX-SAKNR_CR IS NOT INITIAL.
    LOOP AT SCREEN.
      IF screen-name = 'ZFIT_037_SFX-SAKNR_DR'.
        screen-input = '0'.
      ELSE.
        screen-input = '1'.
      ENDIF.
      MODIFY SCREEN.
    ENDLOOP.
    ENDIF.

    IF ZFIT_037_SFX-SAKNR_dR IS NOT INITIAL.
    LOOP AT SCREEN.
      IF screen-name = 'ZFIT_037_SFX-SAKNR_CR'.
        screen-input = '0'.
      ELSE.
        screen-input = '1'.
      ENDIF.
      MODIFY SCREEN.
    ENDLOOP.
    ENDIF.

ENDMODULE.

   MDL_CHANGE_TXT."选择科目后自动带出科目文本

MODULE mdl_change_txt INPUT.


  IF zfit_037_sfx-saknr_dr IS NOT INITIAL.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = zfit_037_sfx-saknr_dr
      IMPORTING
        output = zfit_037_sfx-saknr_dr.

    SELECT SINGLE txt50 FROM skat INTO zfit_037_sfx-ztxt50
     WHERE saknr = zfit_037_sfx-saknr_dr.

*    MODIFY zfit_037_sfx FROM  zfit_037_sfx .
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = zfit_037_sfx-saknr_dr
      IMPORTING
        output = zfit_037_sfx-saknr_dr.

  ELSE.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = zfit_037_sfx-saknr_cr
      IMPORTING
        output = zfit_037_sfx-saknr_cr.

    SELECT SINGLE txt50 FROM skat INTO zfit_037_sfx-ztxt50
     WHERE saknr = zfit_037_sfx-saknr_cr.

*    MODIFY zfit_037_sfx FROM  zfit_037_sfx .
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input  = zfit_037_sfx-saknr_cr
      IMPORTING
        output = zfit_037_sfx-saknr_cr.

  ENDIF.

ENDMODULE.

 在POV事件中加入F4事件。

  FIELD zfit_037_sfx-saknr_dr MODULE mdl_f4_saknr.
  

*----------------------------------------------------------------------*
***INCLUDE LZFI_F037_SFXI02.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  MDL_F4_SAKNR  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE mdl_f4_saknr INPUT.

  DATA:
    l_row         LIKE sy-tabix,
    lt_return_tab TYPE TABLE OF ddshretval,
    ls_return_tab LIKE LINE OF lt_return_tab,
    lt_systems    LIKE dynpread OCCURS 0 WITH HEADER LINE.

*取出屏幕行

  CALL FUNCTION 'DYNP_GET_STEPL'
    IMPORTING
      povstepl = l_row.


*调用帮助函数
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname           = 'SKAT'
      fieldname         = 'SAKNR'
      dynpprog          = sy-repid
      dynpnr            = '0110' "你的屏幕号
      dynprofield       = 'ZFIT_037_SFX-SAKNR_DR'
      stepl             = l_row
      multiple_choice   = ''
      display           = ''
    TABLES
      return_tab        = lt_return_tab
    EXCEPTIONS
      field_not_found   = 1
      no_help_for_field = 2
      inconsistent_help = 3
      no_values_found   = 4
      OTHERS            = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ELSE.

    READ TABLE lt_return_tab INTO ls_return_tab INDEX 1.
*更新屏幕上已经修改的字段

    lt_systems-fieldname = 'ZFIT_037_SFX-SAKNR_DR'.
    lt_systems-stepl = l_row.
    lt_systems-fieldvalue = ls_return_tab-fieldval.
    APPEND lt_systems.

    CALL FUNCTION 'DYNP_VALUES_UPDATE'
      EXPORTING
        dyname               = sy-repid
        dynumb               = '100'
      TABLES
        dynpfields           = lt_systems
      EXCEPTIONS
        invalid_abapworkarea = 1
        invalid_dynprofield  = 2
        invalid_dynproname   = 3
        invalid_dynpronummer = 4
        invalid_request      = 5
        no_fielddescription  = 6
        undefind_error       = 7
        OTHERS               = 8.
    IF sy-subrc <> 0.
    ENDIF.
  ENDIF.
ENDMODULE.

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

表维护视图的F4增强 的相关文章

  • gamma分布的推导与理解

    1 概述 gamma分布与指数分布 泊松分布甚至其它一些混合分布有较为紧密的联系 本文通过对比与之相关的概率分布 建立某种联系并推导其概率密度函数 以便加深理解与认知 2 Gamma分布的必要性 在设置 Gamma 分布的两个参数 并将它们
  • Spring Cloud 学习笔记十五:搭建微服务工程之Knife4j 介绍及使用

    目录 Knife4j 介绍及使用 Knife4j 介绍及使用 Knife4j的前身是swagger bootstrap ui 前身swagger bootstrap ui是一个纯swagger ui的ui皮肤项目 具体介绍见官方文档 htt
  • 商业数据分析概论

    我正在和鲸社区参加 商业数据分析训练营活动 https www heywhale com home competition 6487de6649463ee38dbaf58b 以下是我的学习笔记 学习主题 波士顿房价数据快速查看 日期 202
  • Java进阶--编译时注解处理器(APT)详解

    本文同步发布在掘金 未经本人允许不得转载 上篇文章 Java进阶 Java注解及其实例应用 我们使用注解 反射实现了一个仿ButterKnife功能的示例 考虑到反射是在运行时完成的 多少会影响程序性能 因此 ButterKnife本身并非
  • JDBC连接数据库常用的一些配置项

    最近在服务器中部署服务遇到了一个连接超时的报错CommunicationsException 查找解决方法后发现可以通过配置JDBC重连来解决 添加 autoReconnect true failOverReadOnly false 配置在
  • pg_dump 命令

    pg数据库安装目录 bin 下面 有 pg dump exe cmd切换到 安装目录 bin 下 使用pg dump 命令 pg dump help 查看命令详情 导出sql语句 如下 将 10 20 25 224 主机的 数据库fdb11
  • [深度学习]更好地理解正则化:可视化模型权重分布

    在机器学习中 经常需要对模型进行正则化 以降低模型对数据的过拟合程度 那么究竟如何理解正则化的影响 本文尝试从可视化的角度来解释其影响 首先 正则化通常分为三种 都是在loss函数的基础上外加一项 L0 即不等于0的元素个数 L1 即所有元
  • 剪映电脑版_剪映如何剪视频?详细图文教程+更多进阶高级玩法,新手必看!...

    短视频的火爆 平台上出现了各式各样酷炫的视频 因此 许多人也想做出高逼格的视频 但相信大部分的人都会遇到这么一个难题 那就是从未接触过剪辑 不知道视频要怎么优化处理 今天这篇文章 就带着小伙伴们了解一款非常适合新手的手机剪辑软件一一剪映AP
  • Qt5教程: (4) 带参数信号与槽

    在subwidget h中声明一个signal 和之前的信号函数重名但是有参数 void backSignal QString 之后在subwidget cpp的槽函数sendSignal 中也发送该信号 emit backSignal 子
  • Java 爬虫遇到需要登录的网站,该怎么办?

    这是 Java 网络爬虫系列博文的第二篇 在上一篇 Java 网络爬虫 就是这么的简单 中 我们简单的学习了一下如何利用 Java 进行网络爬虫 在这一篇中我们将简单的聊一聊在网络爬虫时 遇到需要登录的网站 我们该怎么办 在做爬虫时 遇到需
  • 为什么uzi排到古手羽就秒_Uzi排到古手羽秒退,网友争相发表看法,直播间弹幕疑似给出答案...

    英雄联盟职业选手Uzi是一位热门人物 他在自己的职业生涯当中也取得过很多令人羡慕的职场比赛成就 因为自己征战的时间较久 多年来也累积了大批量的粉丝 因为他的努力与执着 如今也凝聚了不少喜欢他的真爱粉丝 甚至有不少黑他的粉丝都因此得出了感情
  • C语言面试高频问题:自己代码实现字符串相关的常用API

    参考 C语言面试高频问题 自己代码实现字符串相关的常用API 作者 图触靓 发布时间 2020 08 08 13 31 33 网址 https blog csdn net bhbhhyg article details 107878102
  • 学习《Linux从入门到精通》day-4

    1 cal指令 作用 用来操作日历 语法1 cal 等价于 cal 1 直接输出当前月份的日历 语法2 cal 3 表示输出上一个月 本月 下个月的日历 语法3 cal y 年份 表示输出某一年的日历 语法4 cal m 以周一开头 2 c
  • 自定义windows登录认证(微软 Credential Providers 详解一《调用原理》)

    windows登录认证在不同的windows版本中有不同的方式 在xp中使用gina dll 而在win7及以上版本使用Credential Providers 在win8及以上版本也是使用Credential Providers但是与wi
  • 深度学习(二)(loss、BP、正则化、激活函数)

    神经网络基础 目录 神经网络基础 5 得分函数 6 损失函数 7 前向传播整体流程 8 反向传播计算方法 9 神经网络整体架构 10 神经网络架构细节 11 神经元的个数对结果的影响 12 正则化与激活函数 13 神经网络过拟合解决办法 5
  • 企业级DevOps全链路自动化流水线综合解决方案详解

    一 Pipeline流水线 1 Pipeline 简介 Pipeline 简单来说 就是一套运行在 Jenkins 上的工作流框架 将原来独立运行于单个或者多个节点的任务连接起来 实现单个任务难以完成的复杂流程编排和可视化的工作 Pipel
  • Android开发——项目实例(一)迷你背单词软件

    本文是第一版 第二版与第一版排版与功能不同 第二版地址 迷你背单词软件 软件效果图 源码及APK 链接 https pan baidu com s 1Eak3XDf6 R 7IWEGatNnBQ 提取码 pcqa 如有想修改但不会的 欢迎私
  • 如何让 Mybatis 自动生成代码,提高开发效率

    出处 https www cnblogs com homejim p 9782403 html 在使用 mybatis 过程中 当手写 JavaBean和XML 写的越来越多的时候 就越来越同意出错 这种重复性的工作 我们当然不希望做那么多

随机推荐

  • Flutter中设置 Column 和 Row 布局组件自适应宽高

    mainAxisSize MainAxisSize min
  • throw new exception后程序不停止_Java_异常Exception

    异常 指的是程序在执行过程中出现非正常的情况 会导致JVM非正常停止 在Java等编程语言中 异常的本身是一个类 Java处理异常的方式是中断处理 异常不是语法上的错误 异常的根类 Throwable 存在于lang包下 Throwable
  • springMVC 定时器配置

  • 如何让ElementUI的Dialog弹窗可以拖拽移动

    实现原理 利用vue创造一个自定义指令 绑定到需要拖拽移动的el dialog组件上 在自定义指令中处理弹窗拖拽 步骤1 创建自定义指令 v dialogDrag 弹窗拖拽 import Vue from vue let draging f
  • 安全测试-范围&内容

    一 常规安全测试范围 测试范围 测试内容 测试方法 工具 主机漏洞扫描 根据Nessus漏洞数据库对主机的端口 程序和配置进行扫描 商业版Nessus 逻辑漏洞测试 包含横向越权 纵向越权 交叉越权 随机数安全 加密算法误用 敏感信息泄露
  • 最简单、实用的cudnn安装教程!!!(nvidia官方渠道下载)

    进入cudnn下载页面 需注册并登录 选择cuDNN Library for Linux x86 64 一定要选这个哦 这个安装最简单 无需在乎系统版本 只需关注cuda版本 然后复制下载链接 下载到服务器 wget c 链接 或者下载到w
  • C#中对sqlserver进行增删改查

    1 添加引用 using System Data using System Data SqlData 建立于数据库的连接 string sqlconnection data source 注解1 database 注解2 uid 注解3 p
  • 2021美赛 MCM\ICM D题

    自古以来 音乐就已成为人类社会的一部分 已成为文化遗产的重要组成部分 为了理解音乐在人类集体经验中所扮演的角色 我们被要求开发一种量化音乐发展的方法 在创作新音乐时 有许多因素会影响艺术家 包括其天赋的创造力 当前的社会或政治事件 使用新乐
  • UE4/UE5 虚幻引擎,DDC(DerivedDataCache)派生数据缓存

    1 编辑器偏好设置 gt 全局 gt 共享派生数据缓存 作用 同一个项目编译结束之后 会把缓存数据存储到共享文件夹中 后续其他团队成员打开项目的时候 就不需要再次编译了
  • 原生wx小程序用vant组件自定义底部导航

    1 在根目录中创建custom tab bar 新建page index 2 在app json或index json中引入vant组件 usingComponents van tabbar vant weapp tabbar index
  • Mybatis配置找不到resources错误的解决

    问题 导入Mybatis框架和进行基础的查询操作 在网上找了教程配置后运行总会有找不到resources错误 找不到mybatis下的 解决方案 反复查询配置文件 发现是地址标红 不能导入 在setting DTDS中添加 http myb
  • Fiddler抓取https如何设置

    来源 http t istester com 3000 istester 21Day src master Fiddler V1 0 21Day Fiddler 05 md
  • matlibplot之条形图

    文本以及后续的系列文章中均会使用到numpy这个库 numpy是Python的一种开源的数值计算扩展 主要用来生产一些随机数作为绘图的原始数据 具体和安装matplotlib类似 可以参考安装Matplotlib这篇文章 文章目录 条形图
  • 【threejs加载器】加载gltf模型及压缩模型

    加载obj过程请参考如下两篇 threejs基础 使用OBJLoader 加载obj模型 threejs基础 使用MTLLoader 加载材质OBj模型 1 加载gltf模型 效果如下 第一步 引入GLTFLoader import GLT
  • Pandas日期数据处理函数 to_datetime()

    to datetime函数可以用来批量处理日期数据转换 可以将日期数据转换成你需要的各种格式 如 13 oct 18 10 13 18 2018 10 13 2018 10 13 20181013 转换成 2018 10 13 to dat
  • MySQL事务基础知识

    前言 学习 导流 小林coding 事务篇 学习意义 理解MySQL如何去处理并发问题 借鉴其思想 存储作为应用的关键能力 而事务作为关系型数据库的关键概念 掌握很必要 也为分布式事务学习做奠基 相关说明 该篇博文是个人阅读的重要梳理 仅做
  • git 回滚某个文件

    git checkout 可以丢弃工作区的修改 但是不能丢弃暂存区的修改 注意要加 否则就变成 切换分支 命令 git reset HEAD 可以丢弃暂存区的修改 unstage 但是不会自动同步撤销工作区的修改 如果希望彻底丢弃暂存区以及
  • 【C++】哈希算法

    目录 1 哈希映射 1 1哈希的概念 1 2哈希冲突 1 3哈希函数 1 31直接定值法 1 32除留余数法 2 解决哈希冲突 2 1闭散列法 2 11线性探测 2 12二次探测 3代码实现 3 1状态 3 2创建哈希节点类 3 21哈希表
  • 旅游攻略APP外包开发功能

    旅游攻略APP是帮助旅行者计划和享受旅行的工具 下面列出了一些常见的旅游攻略APP功能 以及在上线这类应用时需要注意的问题 希望对大家有所帮助 北京木奇移动技术有限公司 专业的软件外包开发公司 欢迎交流合作 常见功能 目的地信息 提供有关各
  • 表维护视图的F4增强

    利用SE11创建表维护视图后 我们可以通过SE51修改自动生成的屏幕来编写自定义F4以及其它事件 首先需要找到相应的FUNCTION GROUP SE80进入FUNCTION GROUP的编辑页面 修改屏幕的PBO PAI事件 出了MDL开