abap 可配置通用报表字段级日志监控

文章目录

    • 1.功能需求描述
      • 1.1 功能
      • 1.2 效果展示
    • 2.数据库表解释
      • 2.1 表介绍
    • 3.数据库表及字段
      • 3.1.应用日志数据库抬头表:ZLOG_TAB_H
      • 3.2.应用日志数据库明细表:ZLOG_TAB_P
      • 3.3.应用日志维护字段配置表:ZLOG_TAB_F
    • 4.日志封装类
    • 5.代码
    • 6.调用方式代码
    • 7.调用案例程序demo

1.功能需求描述

1.1 功能

尽可能的的满足各种报表开发,几乎可以在任何报表中使用该应用日志.
可配置化的应用日志管理,根据用户需求来自定义记录.
使用类封装的方式实现日志收集.
通过事务码或者程序名对报表的某个字段进行日志监控.
通过配置某个报表中的某个字段就可以实现该字段的日志监控
优点:灵活性高,实用性强,
缺点:必须插入代码,无法做到配置好之后就可监控.

1.2 效果展示

举个例子:事务码 ZLOG01 配置了3 个字段分别是 采购凭证H,采购项目P ,金额U. 这个时候在记录日志的时候明细表中就会存在一条某采购凭证下的采购项目中的金额做了修改 ,修改前金额88 修改后金额99.
在这里插入图片描述

2.数据库表解释

2.1 表介绍

创建三张表,分别是抬头,明细,配置表.然后用类进行封装,使用函数模块也可以.
这个类需要把报表中的旧内表和修改后的内表传进去,还要把修改的是那一行的下标穿进去,需要注意的是修改前后的内表数据顺序要保持一致,不然会出现记录的日志数据出错的.
抬头:主要存储事务码,用户信息和日期时间
明细:组要存储以上信息之外还要存储用户日志的记录,要记录用户的字段,字段描述,修改前后的数据以及修改的那个凭证的那个项目的记录.这里的主键以UUID为主.
配置表:该表的主键是事务码和字段,相关描述以及记录表示:D不记录 P项目 H单号 U记录.
整体的思路以上.

3.数据库表及字段

3.1.应用日志数据库抬头表:ZLOG_TAB_H

在这里插入图片描述

3.2.应用日志数据库明细表:ZLOG_TAB_P

在这里插入图片描述

3.3.应用日志维护字段配置表:ZLOG_TAB_F

在这里插入图片描述

4.日志封装类

在这里插入图片描述
参数 注意 IT_TABIX 这个参数 他的结构要用指定的ZLOG_S这个结构.
在这里插入图片描述
应用日志导入结构:ZLOG_S
其他只可以不用传,但这个参数必须传ZINDEX
在这里插入图片描述

5.代码

METHOD create_appl_log.

  DATA: lv_zdnzj  TYPE zclient VALUE IS INITIAL,
        ls_header TYPE zlog_tab_h VALUE IS INITIAL,
        ls_item   TYPE zlog_tab_p VALUE IS INITIAL,
        lt_item   TYPE TABLE OF zlog_tab_p,
        lt_field  TYPE TABLE OF zlog_tab_f,
        ls_field  TYPE zlog_tab_f,
        ls_tabix  TYPE zlog_s,
        le_msg    TYPE REF TO cx_sy_assign_error .

  DATA:lv_new_name TYPE c LENGTH 18,
       lv_old_name TYPE c LENGTH 18,
       lv_p TYPE c LENGTH 18,
       lv_h TYPE c LENGTH 18 .

  FIELD-SYMBOLS:<fs_old>   TYPE ANY,
                <fs_new> TYPE ANY,
                <fs_new_vlue> TYPE ANY,
                <fs_old_vlue> TYPE ANY,
                <fs_p> TYPE ANY

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spark中的shuffle

Shuffle的本质基于磁盘划分来解决分布式大数据量的全局分组、全局排序、重新分区【增大】的问题。 1、Spark的Shuffle设计 Spark Shuffle过程也叫作宽依赖过程&#xff0c;Spark不完全依赖于内存计算&#xff0c;面临以上问题时&#xff0c;也需要Shuffle过程。 2、Spark中哪…

golang安装,常用框架安装,记忆点

0.安装 虚拟机扩容 【Linux干货分享】LVM快速扩容虚拟机磁盘_哔哩哔哩_bilibili newvim 安装 sudo add-apt-repository ppa:neovim-ppa/stable sudo apt-get update sudo apt-get install -y neovim 最强Vim新手指南&#xff0c;手把手教你打造只属于自己的代码编辑器&am…

亚马逊旺季爆品攻略:如何利用旺季打造爆品?

随着假日季的脚步日益临近&#xff0c;亚马逊卖家们正摩拳擦掌&#xff0c;准备迎接这一年度的销售高峰。本文将为您揭示如何在旺季中抓住机遇&#xff0c;通过精心策划和执行一系列策略&#xff0c;让您的产品在众多竞争对手中脱颖而出&#xff0c;成为真正的爆品&#xff01;…

别卷Transformer了!时序卷积这么做,一样发顶会!

Transformer爆火之后&#xff0c;时间序列领域基本上算是被占领了&#xff0c;围绕此类相关的研究也是非常之卷。这种情况下&#xff0c;我们不妨了解一下时序卷积。 在大规模时间序列数据处理任务中&#xff0c;时序卷积是一种非常重要的方法&#xff0c;它结合了传统CNN的特…

【C++】STL中的list容器详解及常用函数用法

个人主页: 起名字真南的CSDN博客 个人专栏: 【数据结构初阶】 &#x1f4d8; 基础数据结构【C语言】 &#x1f4bb; C语言编程技巧【C】 &#x1f680; 进阶C【OJ题解】 &#x1f4dd; 题解精讲 目录 &#x1f4cc; 1 引言&#x1f4cc;2 list容器✨2.1 list容器简介✨2.2 li…

使用kalibr_calibration标定相机(realsense)和imu(h7min)

vslam-evaluation/VINS/Installation documentation/4.IMU和相机联合标定kalibr_calibration.md at master DroidAITech/vslam-evaluation GitHub 目录 1.kalibr安装 1.1安装依赖项 1.2创建工作空间 1.3下载kalibr并编译 1.4设置环境变量 2.准备标定板 3.配置驱动和打…

论文阅读:基于语义分割的非结构化田间道路场景识别

论文地址&#xff1a;DOI: 10.11975/j.issn.1002-6819.2021.22.017 概要 环境信息感知是智能农业装备系统自主导航作业的关键技术之一。农业田间道路复杂多变&#xff0c;快速准确地识别可通行区域&#xff0c;辨析障碍物类别&#xff0c;可为农业装备系统高效安全地进行路径规…

能识别黑烟的摄像头

能识别黑烟的摄像头主要应用于监测车辆尾气排放情况&#xff0c;特别是针对排放黑烟的车辆进行抓拍和识别。以下是朗观视觉对这类摄像头的详细介绍&#xff1a; 一、主要特点 智能识别&#xff1a;摄像头内置视频识别功能&#xff0c;能够实时分析视频中的车辆尾气排放情况&am…

Docker镜像分成

1. 镜像分层原理 1.1 镜像分层的定义与结构 Docker 镜像的分层存储机制是其核心特性之一&#xff0c;它允许 Docker 镜像由多个只读层组成&#xff0c;这些层叠加在一起形成一个完整的文件系统。每个层代表 Dockerfile 中的一个指令&#xff0c;并且每一层都是不可变的&#…

2020年美国总统大选数据分析与模型预测

数据集取自&#xff1a;2020年&#x1f1fa;&#x1f1f8;&#x1f1fa;&#x1f1f8;美国大选数据集 - Heywhale.com 前言 对2020年美国总统大选数据的深入分析&#xff0c;提供各州和县层面的投票情况及选民行为的可视化展示。数据预处理阶段将涉及对异常值的处理&#xff0…

微服务系列五:避免雪崩问题的限流、隔离、熔断措施

目录 实验环境说明 前言 一、一片小雪花引起的雪崩&#xff01; 1.1 雪崩问题&#xff08;级联失败问题&#xff09;示意图 1.2 雪崩问题的产生原因与解决策略 二、雪崩问题的具体解决策略 2.1 请求限流 2.2 线程隔离 2.3 服务熔断 2.4 总结——具体解决策略 三、微…

聊一聊:ChatGPT搜索引擎会取代谷歌和百度吗?

当地时间 10 月 31 日&#xff0c;OpenAI 正式推出了 ChatGPT 搜索功能&#xff0c;能实时、快速获取附带相关网页来源链接的答案。这一重大升级标志着其正式向谷歌的搜索引擎霸主地位发起挑战。 本周五我们聊一聊&#xff1a; 欢迎在评论区畅所欲言&#xff0c;分享你的观点~ …

国标GB28181公网直播EasyGBS国标GB28181软件管理解决方案

随着信息技术的飞速发展&#xff0c;视频监控技术已经成为维护公共安全、提升管理效率的重要手段。在这一背景下&#xff0c;国标GB28181软件EasyGBS作为一款自主研发的安防视频管理软件&#xff0c;致力于为用户提供全面、高效且可靠的视频监控管理体验。其强大的功能和灵活的…

《Practical Deep Raw Image Denoising on Mobile Devices》论文详解

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正。 论文&#xff1a;Practical Deep Raw Image Denoising on Mobile Devices 引言 在数字摄影领域&#xff0c;噪声是影响图像质量的主要因素之一&#xff0c;特别是在弱光条件下拍摄时更为明显。移…

戴尔电脑 Bios 如何进入?Dell Bios 进入 Bios 快捷键是什么?

BIOS&#xff08;基本输入输出系统&#xff09;是计算机启动时运行的第一个程序&#xff0c;它负责初始化硬件并加载操作系统。对于戴尔电脑用户来说&#xff0c;有时可能需要进入 BIOS 进行一些特定的设置调整&#xff0c;比如更改启动顺序、调整性能选项或解决硬件兼容性问题…

【AD】3-2 原理图绘制格点的调整与推荐设置

1.点击工具&#xff0c;选择原理图优先项&#xff0c;如图设置 2.画原理图之前&#xff0c;选中原理图&#xff0c;也可以快捷键vgs&#xff0c;设置栅格为100mil&#xff0c;并画原理图是元器件管脚放置在格点上 3.通过改选项设置格点显示与不显示

I.MX6U 裸机开发2. 芯片简介、汇编基础及GPIO操作准备工作

I.MX6U 裸机开发2. 芯片简介、汇编基础及GPIO操作准备工作 一、I.MX6U 芯片介绍1. 基本介绍2. 架构图如下&#xff1a;3. I.MX6U 管脚定义规则 &#xff1a; 二、GPIO资源介绍1. 原理图2. 寄存器控制(1) 使能时钟&#xff0c;CCGR0~CCGR7(2) 设置引脚复用(3) 设置电气属性(4) 配…

DNS配置

1.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 2.配置从DNS服务器&#xff0c;对主dns服务器进行数据备份。 options {listen-on port 53 { 192.168.111.130; };directory "/var/named";allow-query { any;};zone "openlab.com&qu…

day-81 打家劫舍 II

思路 与LCR 089. 打家劫舍相比&#xff0c;本题所有房屋围成了一圈&#xff0c;那么第一间房子和最后一间房子不能同时打劫&#xff0c;那么就可以分为两种情况&#xff1a;1.选第一间房打劫&#xff1b;2.选最后一间房打劫 解题过程 然后依次计算出以上两种情况的最大金额&am…

什么是进销存?进销存系统都有哪些类型?

进销存管理和企业运营之间的利害关系大家应该都已经听的不少了。上次给大家说明白了进销存系统是什么&#xff0c;但是进销存系统到底有哪几种&#xff1f;把今天这篇文章耐心读完你就懂了&#xff01; 随着市场竞争的加剧和消费者需求的多样化&#xff0c;企业亟需灵活高效的…