处理链日志存储分析

使用程序 RSPC_LOGS_ANALYZE 分析处理链日志占用空间

*&---------------------------------------------------------------------*
*& Report RSPC_LOGS_ANALYZE
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT rspc_logs_analyze.TYPES: BEGIN OF ts_count,chain_id  TYPE rspc_chain,streaming TYPE rspc_streaming,headcount TYPE i,bodycount TYPE i,kilobyte  TYPE i,END OF ts_count.
DATA: lt_count TYPE TABLE OF ts_count.
SELECT chain_id, MAX( streaming ) AS streaming, COUNT( * ) AS headcountFROM rspclogchain INTO CORRESPONDING FIELDS OF TABLE @lt_countGROUP BY chain_id. "#EC CI_NOWHERE
DATA: l_sum TYPE i.
LOOP AT lt_count ASSIGNING FIELD-SYMBOL(<ls_count>).SELECT COUNT( * ) FROM rspcprocesslog AS body JOIN rspclogchain AS headON body~log_id = head~log_idINTO <ls_count>-bodycountWHERE head~chain_id = <ls_count>-chain_id.<ls_count>-kilobyte = ( <ls_count>-headcount * 257 + <ls_count>-bodycount * 395 ) / 1024.ADD <ls_count>-kilobyte TO l_sum.
ENDLOOP.
l_sum = l_sum / 1024.
WRITE: l_sum, 'Megabyte'(005).
write /.
SORT lt_count BY kilobyte DESCENDING.
WRITE AT 01 'Process Chain'(001).
WRITE AT 29 'Kilobyte'(002).
WRITE AT 45 'Number of Logs'(003).
LOOP AT lt_count ASSIGNING <ls_count>.WRITE: / <ls_count>-chain_id, <ls_count>-kilobyte, <ls_count>-headcount.IF NOT <ls_count>-streaming IS INITIAL.WRITE: 'Streaming-Chain'(004).ENDIF.
ENDLOOP.

处理链日志清理

使用程序 RSPC_LOG_DELETE 进行处理链日志清理

*&---------------------------------------------------------------------*
*& Report  RSPC_LOG_DELETE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*REPORT  rspc_log_delete.PARAMETERS: p_chain TYPE rspc_chain.
PARAMETERS: p_logid TYPE rspc_logid.
PARAMETERS: p_force TYPE rs_bool AS CHECKBOX.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: p_time TYPE rs_bool RADIOBUTTON GROUP radi.
SELECTION-SCREEN COMMENT 5(20) g_timtx FOR FIELD p_time.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK g_date WITH FRAME TITLE TEXT-001.
PARAMETERS: p_from TYPE sydatum,p_to   TYPE sydatum.
SELECTION-SCREEN END OF BLOCK g_date.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: p_last TYPE rs_bool RADIOBUTTON GROUP radi.
SELECTION-SCREEN COMMENT 5(30) g_lastx FOR FIELD p_last.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK g_keep WITH FRAME TITLE g_keeptx.
PARAMETERS: p_keep TYPE rspc_logs.
SELECTION-SCREEN END OF BLOCK g_keep.
SELECTION-SCREEN SKIP.
PARAMETERS: p_all TYPE rs_bool NO-DISPLAY.START-OF-SELECTION.IF p_time = 'X'.
* ---- Select fixed time ----DATA: l_r_where TYPE REF TO cl_rs_where,l_t_logs  TYPE TABLE OF rspclogchain,l_s_logs  TYPE rspclogchain,l_msg     TYPE char255,l_datum   TYPE sydatum,l_zeit    TYPE syuzeit.CREATE OBJECT l_r_where.IF NOT p_chain IS INITIAL.DATA: l_operator TYPE c LENGTH 4.IF p_chain CA '*'.REPLACE ALL OCCURRENCES OF '*' IN p_chain WITH '%'.REPLACE ALL OCCURRENCES OF '_' IN p_chain WITH '#_'.REPLACE ALL OCCURRENCES OF '?' IN p_chain WITH '_'.l_operator = 'LIKE'.ELSE.l_operator = 'EQ'.ENDIF.CALL METHOD l_r_where->add_fieldEXPORTINGi_fieldnm               = 'CHAIN_ID'i_operator              = l_operatori_intlen                = 25i_datatp                = 'C'i_init_field_with_value = 'X'i_value                 = p_chain.IF p_chain CS '#_'.APPEND 'ESCAPE ''#''' TO l_r_where->n_t_where.ENDIF.ENDIF.IF NOT p_from IS INITIAL.IF NOT l_r_where->n_t_where[] IS INITIAL.CALL METHOD l_r_where->add_and.ENDIF.IF p_to IS INITIAL.CALL METHOD l_r_where->add_fieldEXPORTINGi_fieldnm               = 'DATUM'i_operator              = 'EQ'i_intlen                = 8i_datatp                = 'D'i_init_field_with_value = 'X'i_value                 = p_from.ELSE.CALL METHOD l_r_where->add_fieldEXPORTINGi_fieldnm               = 'DATUM'i_operator              = 'GE'i_intlen                = 8i_datatp                = 'D'i_init_field_with_value = 'X'i_value                 = p_from.ENDIF.ENDIF.IF NOT p_to IS INITIAL.IF NOT l_r_where->n_t_where[] IS INITIAL.CALL METHOD l_r_where->add_and.ENDIF.CALL METHOD l_r_where->add_fieldEXPORTINGi_fieldnm               = 'DATUM'i_operator              = 'LE'i_intlen                = 8i_datatp                = 'D'i_init_field_with_value = 'X'i_value                 = p_to.ENDIF.IF NOT p_logid IS INITIAL.IF NOT l_r_where->n_t_where[] IS INITIAL.CALL METHOD l_r_where->add_and.ENDIF.CALL METHOD l_r_where->add_fieldEXPORTINGi_fieldnm               = 'LOG_ID'i_operator              = 'EQ'i_intlen                = 25i_datatp                = 'C'i_init_field_with_value = 'X'i_value                 = p_logid.ENDIF.SELECT * FROM rspclogchain INTO TABLE l_t_logsWHERE (l_r_where->n_t_where).ELSEIF p_last = 'X'.
* ---- Last n logs ----IF NOT p_keep IS INITIAL.IF NOT p_logid IS INITIAL.SELECT SINGLE datum, zeit FROM rspclogchain INTO @DATA(ls_start)WHERE log_id = @p_logid.ELSE.CALL FUNCTION 'RSSM_GET_TIME'IMPORTINGe_datum_utc = ls_start-datume_uzeit_utc = ls_start-zeitEXCEPTIONSfailed      = 0OTHERS      = 0.ENDIF.IF NOT p_to IS INITIAL.ls_start-datum = p_to.ENDIF.DATA: lt_chain TYPE TABLE OF rspc_chain.IF NOT p_chain IS INITIAL.IF p_chain CS '*'.REPLACE ALL OCCURRENCES OF '*' IN p_chain WITH '%'.REPLACE ALL OCCURRENCES OF '_' IN p_chain WITH '#_'.REPLACE ALL OCCURRENCES OF '?' IN p_chain WITH '_'.SELECT DISTINCT chain_id FROM rspcchainattr INTO TABLE lt_chainWHERE chain_id LIKE p_chain ESCAPE '#'.ELSE.APPEND p_chain TO lt_chain.ENDIF.ELSE.SELECT DISTINCT chain_id FROM rspclogchain INTO TABLE lt_chain. "#EC CI_NOWHEREENDIF.LOOP AT lt_chain INTO DATA(l_chain).SELECT datum, zeit FROM rspclogchainWHERE chain_id = @l_chainAND  ( ( datum LE @ls_start-datum )OR     ( datum EQ @ls_start-datum AND zeit LE @ls_start-zeit ) )ORDER BY datum DESCENDING, zeit DESCENDINGINTO TABLE @DATA(lt_date)UP TO @p_keep ROWS.DESCRIBE TABLE lt_date LINES DATA(l_lines).CHECK l_lines = p_keep.READ TABLE lt_date INTO DATA(ls_date) INDEX l_lines.SELECT log_id, datum, zeit FROM rspclogchain APPENDING CORRESPONDING FIELDS OF TABLE @l_t_logsWHERE chain_id = @l_chainAND  ( ( datum LT @ls_date-datum )OR     ( datum EQ @ls_date-datum AND zeit LT @ls_date-zeit ) ).ENDLOOP.ELSE.MESSAGE i666(rspc) WITH 'Enter a number'(005) DISPLAY LIKE 'E'.EXIT.ENDIF.ENDIF.IF l_t_logs[] IS INITIAL.MESSAGE e027(rspc) INTO l_msg.DATA: i_gui TYPE c.CALL FUNCTION 'RSSM_RFC_IS_GUI_ON'IMPORTINGon = i_gui.IF i_gui = 'Y'.WRITE / l_msg.ENDIF.ENDIF.
* ==== Delete ====IF p_all IS INITIAL.
* ---- get last log ----DATA: l_date  TYPE sydatum,l_time  TYPE syuzeit,l_logid TYPE rspc_logid.SELECT MAX( datum ) FROM  rspclogchain INTO l_dateWHERE chain_id    = p_chainAND   synchronous = space.SELECT MAX( zeit )  FROM  rspclogchain INTO l_timeWHERE chain_id    = p_chainAND   datum       = l_dateAND   synchronous = space.SELECT SINGLE log_id FROM  rspclogchain INTO l_logidWHERE chain_id    = p_chainAND   datum       = l_dateAND   zeit        = l_timeAND   synchronous = space.DELETE l_t_logs WHERE log_id = l_logid. " always keep the last log!ENDIF.SORT l_t_logs BY datum ASCENDING zeit ASCENDING.LOOP AT l_t_logs INTO l_s_logs.CALL FUNCTION 'RSPC_LOG_DELETE'EXPORTINGi_logid      = l_s_logs-log_idi_force      = p_forceEXCEPTIONSfailed       = 1no_authority = 2OTHERS       = 3.IF sy-subrc = 2.IF i_gui = 'Y'.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4INTO l_msg.WRITE / l_msg.ELSE.MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.ELSEIF sy-subrc <> 0.IF p_force = 'X'.IF i_gui = 'Y'.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4INTO l_msg.WRITE / l_msg.ELSE.MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.ELSE.ROLLBACK WORK.IF i_gui = 'Y'.MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4INTO l_msg.WRITE / l_msg.ELSE.MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ENDIF.ENDIF.ELSE.CALL FUNCTION 'RSSM_GET_TIME'EXPORTINGi_datum_utc = l_s_logs-datumi_uzeit_utc = l_s_logs-zeitIMPORTINGe_datum_loc = l_datume_uzeit_loc = l_zeitEXCEPTIONSfailed      = 1OTHERS      = 2.IF sy-subrc <> 0.l_datum = l_s_logs-datum.l_zeit  = l_s_logs-zeit.ENDIF.IF i_gui = 'Y'.MESSAGE s129(rspc) WITH l_s_logs-log_id l_datum l_zeit INTO l_msg.WRITE / l_msg.ELSE.MESSAGE s129(rspc) WITH l_s_logs-log_id l_datum l_zeit.ENDIF.ENDIF.ENDLOOP.
INITIALIZATION.g_keeptx = 'Log Number Selection'(002).g_timtx = 'Fixed Date'(003).g_lastx = 'Keep number of logs'(004).

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

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

相关文章

mysql 简单操作手册

以下是一份 MySQL 日常操作速查手册&#xff0c;包含启动/停止服务、连接/退出客户端、数据库管理、用户权限等常用命令&#xff0c;适用于 macOS&#xff08;Homebrew 安装&#xff09;和 Linux 系统&#xff1a;一、服务管理 &#x1f6a6;操作命令&#xff08;Homebrew&…

HTML5 Web Workers 深度剖析:助力网页性能飞速提升

在当今数字化时代&#xff0c;Web 应用的性能已成为决定用户体验和业务成功的关键因素。随着 Web 应用的复杂性不断增加&#xff0c;如何高效利用设备资源、提升网页响应速度成为开发者面临的重大挑战。 HTML5 Web Workers 的诞生与意义 在传统的网页开发中&#xff0c;JavaScr…

调度系统部署架构是什么样的呢?

简单示例一个部署架构图&#xff0c;如下所示&#xff1a;&#x1f4d8; 各组件说明&#xff1a;✅ 服务器端组件&#xff08;控制节点&#xff09;Slurm&#xff1a;slurmctld&#xff08;主控调度器&#xff09;&#xff0c;slurmdbd&#xff08;数据库服务&#xff09;PBS P…

SQL 与 NoSQL 的核心区别

数据库是存储、管理和检索数据的系统。根据数据模型和设计理念&#xff0c;可分为SQL 数据库&#xff08;关系型数据库&#xff09; 和NoSQL 数据库&#xff08;非关系型数据库&#xff09;。两者的核心区别在于数据的组织方式、灵活性、事务支持和适用场景。&#x1f4a1;一、…

力扣 hot100 Day71

45. 跳跃游戏 II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说&#xff0c;如果你在索引 i 处&#xff0c;你可以跳转到任意 (i j) 处&#xff1a; 0 < j < nums[i] 且i j < n …

什么是 Spring MVC?

题目详细答案Spring MVC 是 Spring 框架中的一个模块&#xff0c;用于构建基于 Web 的应用程序。它遵循 Model-View-Controller#&#xff08;MVC&#xff09;设计模式&#xff0c;将业务逻辑、用户界面和数据分离&#xff0c;以促进代码的可维护性和可扩展性。主要包含几个概念…

第十篇:3D模型性能优化:从入门到实践

第十篇&#xff1a;3D模型性能优化&#xff1a;从入门到实践 引言 在3D开发中&#xff0c;性能优化是区分普通应用和卓越应用的关键。Three.js应用的流畅运行需要60FPS的渲染效率&#xff0c;而移动端设备更面临严格的资源限制。本文将深入解析性能优化核心技术&#xff0c;并通…

基于 Easy Rules 的电商订单智能决策系统:构建可扩展的业务规则引擎实践

Easy Rules 是一个轻量级且易于使用的规则引擎&#xff0c;适用于Java应用。下面是一个简单的示例&#xff0c;演示如何使用 Easy Rules 定义和执行规则。 添加依赖 首先&#xff0c;在你的Java项目中添加 Easy Rules 的 Maven 依赖&#xff08;如果你使用的是Maven构建工具&am…

如何使用gpt进行模型微调?

对 GPT 类大语言模型&#xff08;如 GPT-3、GPT-2、Hugging Face 的 GPT 系列、ChatGLM 等开源或闭源模型&#xff09;进行微调&#xff08;Fine-tuning&#xff09;&#xff0c;目的是让模型在特定任务或领域&#xff08;如法律、医疗、客服、代码生成等&#xff09;上表现更优…

数据可视化与人机交互技术

人机交互技术(HumanComputer Interaction&#xff0c;HCI)是21世纪信息领域需要发展的重大课题。例如&#xff0c;美国21世纪信息技术计划中的基础研究内容定为四项&#xff0c;即软件、人机交互、网络、高性能计算。其目标就是要开发21世纪个性化的信息环境。其中&#xff0…

MP2662GC-0000-Z降压转换器 MPS电源芯片 集成电路IC

MP2662GC-0000-Z 是MPS&#xff08;Monolithic Power Systems&#xff09;公司推出的一款高性能电源管理集成电路&#xff08;PMIC&#xff09;&#xff0c;属于其电池管理或电源转换产品线的一部分。以下是关于该器件的详细解析&#xff1a;1. 核心功能高效电源转换&#xff1…

Go 语言中的切片排序:从原理到实践玩转 sort 包

🚀 Go 语言中的切片排序:从原理到实践玩转 sort 包 在Go语言的日常开发中,切片(Slice)作为动态、灵活的数据结构,几乎无处不在。而排序作为数据处理的基础操作,更是高频需求。 Go标准库中的sort包凭借其优雅的设计和高效的实现,成为切片排序的“瑞士军刀”。本文将带…

PCB焊盘脱落的补救办法与猎板制造优势解析

PCB焊盘脱落是电子维修中常见的问题&#xff0c;轻则导致元件虚焊&#xff0c;重则引发电路板报废。遇到这种情况不必慌张&#xff0c;掌握正确的补救方法能最大限度挽回损失。一、焊盘脱落的应急处理方案若脱落焊盘未完全脱离基板&#xff0c;可用镊子夹住残留部分缓慢抬起&am…

python3.10.6+flask+sqlite开发一个越南留学中国网站的流程与文件组织结构说明

采用python3.10.6flasksqlite技术栈&#xff0c;开发一个越南留学中国网站&#xff08;vietnam-study-in-china&#xff09;。开发流程与文件组织结构说明 一、项目概述与规划 &#xff08;一&#xff09;项目背景与意义 留学趋势分析 近年来&#xff0c;中越两国教育交流日益…

uView Pro 正式开源!70+ Vue3 组件重构完成,uni-app 组件库新晋之星

一、项目背景 uni-app 作为一款优秀的跨平台框架&#xff0c;凭借其“一套代码&#xff0c;多端运行”的理念&#xff0c;受到了广大移动端开发者的青睐。 而在 uni-app 的生态中&#xff0c;uView UI 作为一款基于 Vue2 开发的开源组件库&#xff0c;凭借其丰富的组件、完善…

Qwen3 技术报告 的 Strong-to-Weak Distillation 强到弱蒸馏 和 代码实现

Qwen3 技术报告 的 Strong-to-Weak Distillation 强到弱蒸馏 和 代码实现 flyfish 代码在文末 技术报告就是不一定经过严格的学术期刊同行评审&#xff0c;但具有较强的专业性和实用性。 The post-training pipeline of Qwen3 is strategically designed with two core ob…

一体化步进伺服电机在无人机舱门应用中的应用案例

在无人机的设计过程中&#xff0c;舱门的快速、稳定开合对于无人机的任务执行效率和安全性至关重要。传统的舱门驱动方式存在响应速度慢、控制精度不足等问题&#xff0c;难以满足无人机复杂任务的需求。因此&#xff0c;某客户无人机选择了‌一体化步进伺服电机‌作为舱门的驱…

Ansible 面试题 20250811

1. 你使用过哪些 Ansible 模块? Ansible 常用的模块: file 、copy 、template 、yum 、apt 、service 、user 、group 、shell 、script 、command 、cron 等等。 这些模块可以用来管理文件、软件包、服务、用户、组、计划任务等等。 Docker相关模块: docker_container:用…

安路Anlogic FPGA下载器的驱动安装与测试教程

参考链接&#xff1a;安路下载器JTAG驱动安装 - 米联客(milianke) - 博客园 安路支持几款下载器&#xff1a; AL-LINK在线下载器是基于上海安路信息科技股份科技有限公司全系列 CPLD/FPGA 器件&#xff0c;结合公司自研的 TD 软件&#xff0c;可实现在线 JTAG 程序下载、Chip…

基于深度学习的股票分析和预测系统

摘要 【关键词】 第一章 绪论 1.1 研究背景及意义 1.2 国内外文献综述 1.2.1 国外研究结果 1.2.2 国内研究结果 1.3 本课题主要工作 第二章 相关工作介绍 2.1文本量化方法 2.2 CNN、LSTM模型 2.3评测准确率及收益率 第三章 开发技术介绍 3.1 系统开发平台 3.2平台…