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

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

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

相关文章

OceanBase 应用实践:如何处理数据空洞,降低存储空间

问题描述 某保险行业客户的核心系统&#xff0c;从Oracle 迁移到OceanBase之后&#xff0c;发现数据存储空间出现膨胀问题&#xff0c;数据空间 datasize9857715.48M&#xff0c;实际存储占用空间17790702.00M。根据 required_mb - data_mb 值判断&#xff0c;数据空洞较为严重…

React diff算法和Vue diff算法的主要区别

React和Vue都是流行的前端框架&#xff0c;它们各自实现了diff算法来优化虚拟DOM的更新过程。以下是React diff算法和Vue diff算法的主要区别&#xff1a; 1. diff策略 React diff算法&#xff1a; React的diff算法主要采用了同层级比较的策略&#xff0c;即它不会跨层级比较节…

软件测试:测试用例详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、通用测试用例八要素   1、用例编号&#xff1b;    2、测试项目&#xff1b;   3、测试标题&#xff1b; 4、重要级别&#xff1b;    5、预置…

C++——左值和右值的本质区别

左值和右值好干嘛&#xff1f; 深入理解左值和右值可以帮助我们对代码进行优化 一、什么是左值和右值 左值&#xff1a;有某种存储支持的变量 右值&#xff1a;临时值&#xff08;字面量、函数的结果&#xff09; Ⅰ右值是字面量 int yy 22;22本身就是一个临时的&#xf…

centos查看硬盘资源使用情况命令大全

在 CentOS 系统中&#xff0c;你可以使用几个命令来查看硬盘的资源和使用情况。以下是一些常用的命令&#xff1a; 1. df 命令 df (disk free) 用于显示文件系统的磁盘空间占用情况。 df -h-h 参数表示以人类可读的格式&#xff08;如 GB, MB&#xff09;显示。输出会显示每…

【爬虫分享】

爬虫分享 1、爬虫科普 视频发送于2024-10-27 14 _50.mp4 全屏预览下载附件 所以 爬虫 其实是非常 可“刑” 可“铐” 的。 2、逆向方法 算法还原 补环境 无头浏览器&#xff08;自动化&#xff09; rpc 参数生成速度&#xff1a;算法还原 > 补环境 > rpc > 无头…

【iOS】知乎日报第三周总结

【iOS】知乎日报第三周总结 文章目录 【iOS】知乎日报第三周总结前言评论区文字评论区的一个展开效果评论区数据的一个请求修改了主页获取数据的逻辑主页无限轮播图图片主色调的一个获取将一些拓展部分的内容写在分类里小结 前言 本周笔者因为金工实习整个项目进展比较慢&#…

OpenAI的Triton能替代Nvidia的CUDA吗

先说我的观点&#xff0c;我觉得可以&#xff0c;但是应该不是现在。 然后得补个概念&#xff0c;啥是Triton OpenAI的Triton 是一种专为高效编写深度学习运算而设计的编程语言和编译器。它旨在简化用户编写针对现代GPU&#xff08;尤其是NVIDIA GPU&#xff09;的自定义运算…

【黑马Redis原理篇】Redis数据结构

视频来源&#xff1a;原理篇[2,15] 文章目录 1.动态字符串SDS1.1 内部结构&#xff1a; 2.IntSet3.Dict3.1 dict的内部结构3.2 dict的扩容 4.ziplist压缩列表5.QuickList6.SkipList跳表7.RedisObject对象8.Redis的五种数据结构8.1 String8.2 List8.3 Set8.4 Zset 有序集合8.5 …

SpringBoot 创建多模块项目 项目分模块 项目简化 打包发布

介绍 在 Spring Boot 中&#xff0c;创建多模块项目可以帮助我们将项目拆分成多个相对独立、可重用的模块&#xff0c;从而使代码结构更清晰&#xff0c;便于管理和维护。通常&#xff0c;这样的做法可以提高开发效率&#xff0c;并且更易于进行版本控制和分布式部署。 项目结…

MySQL 数据库之表操作

1. 创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) [character set 字符集 collate 校验规则 engine 存储引擎];field 表示列名datatype 表示列的类型character set 字符集&#xff0c;如果没有指定字符集&#xff0c;则以所在数据库…

Git零基础到入门

一、开始工作区 clone: 克隆一个仓库到新的目录。 git clone https://github.com/username/repository.git init: 创建一个新的空 Git 仓库或重新初始化现有的仓库,新建git项目。 //创建项目两种方式 //一、本地项目自己创建项目&#xff0c;先创建好工作文件夹&#xff0c;通…

【R78/G15 开发板测评】串口打印 DHT11 温湿度传感器、DS18B20 温度传感器数据,LabVIEW 上位机绘制演化曲线

【R78/G15 开发板测评】串口打印 DHT11 温湿度传感器、DS18B20 温度传感器数据&#xff0c;LabVIEW 上位机绘制演化曲线 主要介绍了 R78/G15 开发板基于 Arduino IDE 环境串口打印温湿度传感器 DHT11 和温度传感器 DS18B20 传感器的数据&#xff0c;并通过LabVIEW上位机绘制演…

Chromium Mojo(IPC)进程通信演示 c++(2)

122版本自带的mojom通信例子associated-interface 仅供学习参考&#xff1a; codelabs\mojo_examples\02-associated-interface-freezing 一、目录结构如图&#xff1a; 二、interface.mojom接口 1、codelabs\mojo_examples\mojom\interface.mojom // Copyright 2023 The C…

SSL证书以及实现HTTP反向代理

注意&#xff1a; 本文内容于 2024-11-09 19:20:07 创建&#xff0c;可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容&#xff0c;请访问原文地址&#xff1a;SSL证书以及实现HTTP反向代理。感谢您的关注与支持&#xff01; 之前写的HTTP反向代理工具&…

「Mac畅玩鸿蒙与硬件32」UI互动应用篇9 - 番茄钟倒计时应用

本篇将带你实现一个番茄钟倒计时应用&#xff0c;用户可以设置专注时间和休息时间的时长&#xff0c;点击“开始专注”或“开始休息”按钮启动计时&#xff0c;应用会在倒计时结束时进行提醒。番茄钟应用对于管理时间、提升工作效率非常有帮助&#xff0c;并且还会加入猫咪图片…

u盘怎么重装电脑系统_u盘重装电脑系统步骤和详细教程【新手宝典】

u盘怎么重装电脑系统&#xff1f;一个u盘怎么重装电脑系统呢&#xff0c;需要将u盘制作成u盘启动盘pe&#xff0c;然后通过U盘启动盘进入pe进行安装系统&#xff0c;下面小编就教大家u盘重装电脑系统步骤和详细教程。 u盘启动是什么意思&#xff1f; U盘启动盘是一种具有特殊功…

SQL注入攻击及其在SpringBoot中使用MyBatisPlus的防范策略

SQL注入攻击及其在SpringBoot中使用MyBatisPlus的防范策略 随着互联网技术的飞速发展&#xff0c;Web应用的安全问题日益凸显&#xff0c;其中SQL注入攻击是最常见的安全威胁之一。SQL注入攻击不仅可能导致敏感数据泄露&#xff0c;还可能引发数据篡改、服务中断等严重后果。本…

Typora导出pdf手动分页和设置字体样式

手动分页 <div style"page-break-after: always;"></div>鼠标点击代码才会显示&#xff0c;不点击会隐藏。导出pdf时&#xff0c;该位置会分页 设置字体大小、加粗、居中、空格 <p style"font-size:30px; font-weight: bold; text-align: cen…

简简单单的UDP

前言 上一篇了解了TCP的三次握手过程&#xff0c;目的、以及如何保证可靠性、序列号与ACK的作用&#xff0c;最后离开的时候四次挥手的内容&#xff0c;这还只是TCP内容中的冰山一角&#xff0c;是不是觉得TCP这个协议非常复杂&#xff0c;这一篇我们来了解下传输层另外一个协…