当前位置: 首页 > news >正文

SAP CODE DEMO:查找AL11 指定路径下文件中的内容

有时候需要查找某个具体的内容,在哪个文件内。数据量大的时候可以利用程序查找

选择界面:

路径,和文件名都可以模糊搜查

search string:你要查找的信息。

代码参考如下:

report  z00R010 NO STANDARD PAGE HEADING MESSAGE-ID zzLINE-COUNT 65 LINE-SIZE 255.*-----------------------------------------------------------------------
* Tables
*-----------------------------------------------------------------------
tables: z00files.*-----------------------------------------------------------------------
* Selection Screen
*-----------------------------------------------------------------------
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001 .PArameters: p_Dir  type z00files-zto_dir default '/SAPINTER/AG'.
parameters: p_File type z00files-zto_name obligatory.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002 .
parameters: p_text(50) type c obligatory.
SELECTION-SCREEN END OF BLOCK b2.
*Write no text - only file name
parameters: p_ntxt radiobutton group rb1.
*Write First text
parameters: p_ftxt radiobutton group rb1.
*WRite All text
parameters: p_atxt radiobutton group rb1.DATA: gv_infile(200)   TYPE c,gv_lines        type i,gv_split        type c value '/',gv_commndl(500).*internal table for storing filenames to be processed.
data: begin of i_filetab occurs 10,name(500),date(8),time(8),end of i_filetab.data: begin of i_comtab occurs 10,name(500),date(8),time(8),end of i_comtab.data: ipath(100) occurs 0.constants:  gc_x value 'X',gc_R value 'R',gc_Y value 'Y',gc_N value 'N'.*-----------------------------------------------------------------------
* Initialization
*-----------------------------------------------------------------------
initialization.
*------------include z01init.
*-----------------------------------------------------------------------
* Start of selection
*-----------------------------------------------------------------------
at SELECTION-SCREEN.if p_file co '* '.message e001 with 'Enter full or partial file name'.endif.start-of-selection.
*----------------WRite: / 'Search Directory:', p_Dir.WRite: / 'Search File Name:', p_file.write: / 'Search Text     :', p_Text.if p_nTxt = gc_X.write: / 'Do not display any results - only file names'.elseif p_Ftxt = gc_X.write: / 'Display only first result found'.else.write: / 'Display all results'.endif.*Explore path nameperform open_files.*Check if any founddescribe table i_filetab lines gv_lines.write: / 'Files to check  :', gv_lines.*Process files and search for given textif gv_lines > 0.perform process_files.endif.*&---------------------------------------------------------------------*
*&      Form  open_files
*&---------------------------------------------------------------------*
form open_files.data: lv_fil(50).*find files from given directoryrefresh i_filetab.clear i_filetab.concatenate '\' p_file  into lv_fil.concatenate 'find' p_Dir '-name' lv_fil '-printf''''%TY%Tm%Td\t%p\n'''into gv_commndl separated by space.*  write :/ gv_commndl.call 'SYSTEM' id 'COMMAND' field gv_commndlid 'TAB'     field i_filetab-*sys*.endform.                    " open_files
*&---------------------------------------------------------------------*
*&      Form  process-files
*&---------------------------------------------------------------------*
form process_files.data: lv_len type i.data: lv_restname(500) type c.data: lv_name(100) type c.*End of File indicatordata: lv_eof     type c.data: lv_open    type c.data: lv_Count   type i.data: lv_found   type c.data: lv_pos     type i.data: lv_msg(50) type c.DATA: istring TYPE string.*==================*
*EXPLORE SUBFOLDERS
*==================*
*only consider exact path (ignore main folder)lv_len = strlen( p_dir ) + 1.loop at i_filetab.*No spaces allowed in input file path
*    lv_len = strlen( gv_infile ).lv_len = strlen( i_filetab-name ).i_filetab-date = i_filetab-name(8).gv_infile      = i_filetab-name+9(lv_len).lv_len = strlen( gv_infile ).if gv_infile(lv_len) ca ' '.lv_msg = 'infile contains spaces'(013).write: / lv_msg, gv_infile.message s001 with lv_msg  gv_infile.continue.endif.*======================*
*CHECK STATUS OF INFILE  -
*======================*lv_Eof     = gc_N.lv_Found   = gc_N.open dataset gv_infile for input in text modeencoding default with smart linefeed ignoring conversion errors.if sy-subrc = 0.
*SEarch for text in the file and list if founddo.read dataset gv_infile into istring.if sy-subrc > 0.exit.endif.if istring cs p_text.
*LIst file name firs timeif lv_Found = gc_n.
*underline for text to followif not p_nTxt = gc_X.uline.endif.lv_Found = gc_Y.add 1 to lv_count.write: / 'File Date=', i_filetab-date, 'Name=', gv_Infile.endif.if not p_ntxt = gc_X.write: / istring.endif.*EXit after first record foundif p_ftxt = gc_x.lv_Eof = gc_Y.exit.endif.endif.enddo.close dataset gv_infile.endif.endloop.uline.write: / 'Results found in ', lv_count, 'Files'.uline.endform.                    " process-files

table:

Z00FILES
FieldData elementData typelengthdecimaldescription
MANDTMANDTCLNT30Client
WERKSWERKS_DCHAR40Plant
ZFILE CHAR400File description
ZFROM_DIRZ00_DIRECTORYCHAR1000Directory Path
ZTO_DIRZ00_DIRECTORYCHAR1000Directory Path
ZFROM_NAME CHAR500From File name
ZTO_NAME CHAR500To File name
ZDIRECTIONZ00_DIRECTIONCHAR10Interface Direction
ZEXPLORE CHAR10Include subfolders
ZTIMESTAMP CHAR10Timestamp new file
ZAPPEND CHAR10Append to existing file
ZREPLACE CHAR10Replace existing file
ZSKIP CHAR10Skip if duplicate found
ZOWNER CHAR120Notify owner if problems
ZSTART CHAR10Start program immediately
ZJOBGRPBTCJOBGRPCHAR120Summary of jobs for a group
ZJOBBTCJOBCHAR320Background Job Name
ZPROGBTCREPCHAR400Name of internal report for batch job
ZVARBTCVARIANTCHAR140Name of variant within a step
ZFILE_PAR CHAR80Input file parm in Variant
ZBATCH CHAR120Batch User
ZINACTIVE CHAR10Set as inactive
ZEOF CHAR100End of File indicator
ZSAPRETZ00_SAPRETNUMC40SAPINTER Retention Period
ZARCHZ00_ARCH_INDCHAR10Archive Indicator
ZARCHRETZ00_ARCHRETNUMC20Archive Retention Period

相关文章:

SAP CODE DEMO:查找AL11 指定路径下文件中的内容

有时候需要查找某个具体的内容,在哪个文件内。数据量大的时候可以利用程序查找 选择界面: 路径,和文件名都可以模糊搜查 search string:你要查找的信息。 代码参考如下: report z00R010 NO STANDARD PAGE HEADING…...

【华为HCIP实战课程二十四】中间到中间系统协议IS-IS配置实战,网络工程师

一、IS-IS整体架构 将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域。 每一个非骨干区域都通过Level-1-2路由器与骨干区域相连! 1、在IS-IS中,每个链路可以属于不同的区域,OSPF中每个链路属于同一个区域 2、在IS-IS中,单个区域没有物理…...

【工具】新手礼包之git相关环境包括中文的一套流程{收集和整理},gitlab的使用

【工具】新手礼包之git相关环境包括中文的一套流程{收集和整理} git Git 详细安装教程(详解 Git 安装过程的每一个步骤) TortoiseGit 【TortoiseGit】TortoiseGit安装和配置详细说明...

篇章十一 打包构建工具

文章目录 一、gulp1. 流2. gulp 的作用3. gulp 的安装、检测和卸载 二、webpack1. 打包样式资源2. 打包 html 资源3. 打包图片资源4. 压缩 html 代码5. 生产环境基本配置 三、vite 打包构建工具,都是依赖于 node 环境进行开发,底层封装的内容就是 node 里…...

青少年编程与数学 02-002 Sql Server 数据库应用 06课题、数据库操作

青少年编程与数学 02-002 Sql Server 数据库应用 06课题、数据库操作 课题摘要:一、数据库的文件组成二、系统数据库三、创建数据库四、数据库配置1. 修改数据库文件大小和增长设置2. 添加或移除数据文件3. 设置数据库选项4. 配置数据库的恢复模型5. 管理数据库的访问权限6. 使…...

MacOS下载安装Logisim(图文教程)

本章教程主要介绍如何在MacOS系统中安装Logisim。 一、Logisim是什么? Logisim是一个用于电子逻辑门电路模拟的教育工具软件。它允许用户通过图形界面构建和测试复杂的数字逻辑电路,如加法器、解码器、编码器、寄存器、内存等,从而帮助学生理解计算机硬件的工作原理。 二、如…...

Flink CDC系列之:调研应用Flink CDC将 ELT 从 MySQL 流式传输到 StarRocks方案

Flink CDC系列之:调研应用Flink CDC将 ELT 从 MySQL 流式传输到 StarRocks方案 准备准备 Flink Standalone 集群准备 docker compose为 MySQL 准备记录使用 Flink CDC CLI 提交作业 同步架构和数据更改路由变更清理 本教程将展示如何使用 Flink CDC 快速构建从 MySQ…...

一次元空间FullGC导致OOM问题分析

原文,作者:kkyeer 原文需要翻墙,所以转载。 现象 观测平台告警:FullGC次数大于阈值,5分钟内大于11次,频次大概1-2周有一次 告警后服务概率性会自动恢复,控制台打印 Exception: java.lang.OutOf…...

Web前端开发工具和依赖安装

各种安装&#xff1a; node.js https://nodejs.org/zh-cn/ 安装完node.js 可以使用npm&#xff0c;npm跟随nodejs一起安装 node --version 查看已安装node.js的版本&#xff0c;确认是否安装nodejs npm -v 查看npm版本npm install <Module Name> 安装模块 npm insta…...

【学习心得】远程root用户访问服务器中的MySQL8

一、Ubuntu下的MySQL8安装 在Ubuntu系统中安装MySQL 8.0可以通过以下步骤进行1. 更新包管理工具的仓库列表&#xff1a; sudo apt update 2. 安装MySQL 8.0&#xff0c;root用户默认没有密码&#xff1a; sudo apt install mysql-server sudo apt install mysql-client 【…...

lust变频器维修电梯变频器CDD34.014.W2.1LSPC1

LUST伺服在安装时须注意&#xff0c;不可有任何的铁屑、螺丝、导线等掉人驱动器内。在安装完成后应作基本的检测动作&#xff0c;如对地阻抗&#xff0c;和短路检测等。 所有的安装及使用事项需要符合安全规定&#xff0c;并且也需要符合当地的相关规定和灾害预防措施。DC BUS…...

跨越地域限制:在线原型设计软件的自由与便捷

网络原型设计软件因其便捷性和灵活性&#xff0c;在现代设计工作中扮演着至关重要的角色。与传统的桌面端软件相比&#xff0c;网络原型设计工具无需安装&#xff0c;不受地域限制&#xff0c;且兼容各种操作系统&#xff0c;无论是Linux、Solaris、Mac还是Windows&#xff0c;…...

flash-waimai:高仿饿了么外卖平台,使用他轻松打造自己的外卖平台

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和工作学习方法 flash-waimai 是一个完整的外卖平台解决方案&#xff0c;包括手机端、后台管理端和 API 服务。该项目仿照了饿了么的外卖服务&#xff0c;为用户提供了一个…...

2.5 塑性力学—应变状态

个人专栏—塑性力学 1.1 塑性力学基本概念 塑性力学基本概念 1.2 弹塑性材料的三杆桁架分析 弹塑性材料的三杆桁架分析 1.3 加载路径对桁架的影响 加载路径对桁架的影响 2.1 塑性力学——应力分析基本概念 应力分析基本概念 2.2 塑性力学——主应力、主方向、不变量 主应力、主…...

1.机器人抓取与操作介绍-深蓝学院

介绍 操作任务 操作 • Insertion • Pushing and sliding • 其它操作任务 抓取 • 两指&#xff08;平行夹爪&#xff09;抓取 • 灵巧手抓取 7轴 Franka 对应人的手臂 6轴 UR构型去掉一个自由度 课程大纲 Robotic Manipulation 操作 • Robotic manipulation refers…...

六,Linux基础环境搭建(CentOS7)- 安装HBase

Linux基础环境搭建&#xff08;CentOS7&#xff09;- 安装HBase 大家注意以下的环境搭建版本号&#xff0c;如果版本不匹配有可能出现问题&#xff01; 一、HBase下载及安装 HBase是一个分布式的、面向列的开源数据库&#xff0c;该技术来源于 Fay Chang 所撰写的Google论文“…...

《计算机网络网络层:连接虚拟世界的关键桥梁》

一、网络层概述 网络层在计算机网络中占据着至关重要的地位&#xff0c;它作为连接不同网络的关键层次&#xff0c;起着承上启下的作用。网络层的主要任务是实现网络互连&#xff0c;将数据设法从源端经过若干个中间节点传送到目的端&#xff0c;为分组交换网上的不同主机提供通…...

【AIGC】2024-arXiv-CtrLoRA:一种可扩展且高效的可控图像生成框架

2024-arXiv-CtrLoRA: An Extensible and Efficient Framework for Controllable Image Generation CtrLoRA&#xff1a;一种可扩展且高效的可控图像生成框架摘要1. 引言相关工作3. 方法3.1 准备工作3.3 有效适应新条件3.4 条件嵌入网络的设计 4. 实验4.1 实验设置4.2 与现有方法…...

立仪光谱共焦在玻璃上奥秘与应用

在现代工业和科学研究中&#xff0c;玻璃因其透明、坚硬和易加工的特性被广泛应用于各个领域。然而&#xff0c;玻璃的厚度测量一直是困扰业界的一大难题。传统的千分尺或电容式传感器虽然在一定程度上能满足生产需求&#xff0c;但在精度、效率以及适用范围上存在明显的局限。…...

【天气识别系统】Python+卷积神经网络算法+人工智能+深度学习+TensorFlow+算法模型训练+Django网页界面

一、介绍 天气识别系统&#xff0c;以Python作为主要编程语言&#xff0c;通过收集了4种常见的天气图像数据集&#xff08;多云、雨天、晴天、日出&#xff09;&#xff0c;然后基于TensorFlow搭建卷积神经网络算法模型&#xff0c;通过多轮迭代训练&#xff0c;最后得到一个识…...

MiniCTX:面向大语言模型定理证明的上下文相关基准测试系统

卡内基梅隆大学的研究人员推出MiniCTX&#xff0c;这是一个强大的基准测试系统&#xff0c;旨在通过整合前所未有的多重上下文元素&#xff08;包括前提、先前证明、注释、符号以及导入和声明等结构组件&#xff09;来彻底改变大型语言模型中定理证明能力的评估方式&#xff0c…...

树莓派开发相关知识三PWM控制转速

基于树莓派PWM控制 控制L298N马达驱动转速 马达驱动转速 1、L298N电路图&#xff1a; 2、需要留意的有几点 INA~IND四个引脚分别控制OUTA-OUTD&#xff0c;即&#xff0c;INA高电平则OUTA有电。 ENA&#xff0c;ENB分别使能控制OUTA~OUTB以及OUTC~OUTD。 OUT口有VCC电压驱动…...

SpringBoot最常用的注解

1、RestController 作用&#xff1a;与Controller类似&#xff0c;但是RestController会自动将返回值转换为JSON格式。 2、RequestMapping 作用&#xff1a;用于映射请求URL和处理方法。 RequestMapping是Spring MVC框架中的一个核心注解&#xff0c;它用于映射HTTP请求和控…...

js 获取当前时间与前一个月时间

// 获取当前时间的毫秒数 var currentTimeMillis new Date().getTime();// 获取前一个月的Date对象 var dateLastMonth new Date(); dateLastMonth.setMonth(dateLastMonth.getMonth() - 1);// 获取前一个月的毫秒数 var timeMillisLastMonth dateLastMonth.getTime();conso…...

深度了解flink rpc机制(四) 组件启动流程源码分析

前言 目前已发布了3篇关于Flink RPC相关的文章&#xff0c;分别从底层通信系统akka/Pekko&#xff0c;RPC实现方式动态代理以及Flink RPC相关的组件做了介绍 深度了解flink rpc机制&#xff08;一&#xff09;-Akka/Pekko_flink pekko akka-CSDN博客 深度了解flink rpc机制&…...

C++基于opencv的视频质量检测--遮挡检测

文章目录 0.引言1. 原始代码分析1.1 存在的问题 2. 优化方案3. 优化后的代码4. 代码详细解读4.1. 输入检查4.2. 图像预处理4.3. 高斯模糊4.4. 梯度计算4.5. 计算梯度幅值和方向4.6. 边缘检测4.7. 计算边缘密度4.8. 估计遮挡程度4.9. 限定结果范围4.10. 返回结果 0.引言 视频质…...

手机玩潜水员戴夫?GameViewer远程如何随时随地玩潜水员戴夫教程

如果你是潜水员戴夫的忠实玩家&#xff0c;你知道如何在手机上玩潜水员戴夫吗&#xff1f;潜水员戴夫是一个以神秘蓝洞为背景的海洋冒险游戏。在这个游戏里你白天可以在美丽的大海里打鱼&#xff0c;晚上可以经营寿司店。现在这个游戏也能实现用手机随时随地畅玩了&#xff01;…...

UE5 喷射背包

首选创建一个输入操作 然后在输入映射中添加&#xff0c;shift是向上飞&#xff0c;ctrl是向下飞 进入人物蓝图中编写逻辑&#xff0c;变量HaveJatpack默认true&#xff0c;Thrust为0 最后...

【Vue3】第三篇

Vue3学习第三篇 01. 组件组成02. 组件嵌套关系03. 组件注册方式04. 组件传递数据Props05. 组件传递多种数据类型06. 组件传递Props校验07. 组件事件08. 组件事件配合v-model使用09. 组件数据传递10. 透传Attributes 01. 组件组成 在vue当中&#xff0c;组件是最重要的知识&…...

c++二级指针

如果要通过函数改变一个指针的值&#xff0c;要往函数中传入指针的指针 如果要通过函数改变一个变量的值&#xff0c;那就要往函数中传入这个变量的地址 改变a的值和b的值 #include <iostream>using namespace std;void swap(int* a, int* b) {int temp *a;*a *b;*b …...

专做日淘的网站/最近三天的新闻大事摘抄

※ 写在前面Hi 各位&#xff0c;是我旅客君&#xff0c;又和大家见面了&#xff0c;大家还记得之前 MacBook 的体验评测吗&#xff1f;非常感谢大家对我的支持&#xff0c;这次就继续为大家带来这台 MacBook Pro 搭配显卡扩展坞的体验评测。如果还没有看过的可以先点击一下这个…...

佛山设计网站公司吗/佛山市seo推广联系方式

https://www.zhihu.com/question/24222456 IT行业&#xff0c;未来10年和20年&#xff0c;技术发展方向会是什么&#xff1f; 本人CS 本科刚毕业&#xff0c;正在选择工作方向。希望之后专注一个方向发展。个人目前喜欢backend web and mobile app development. 同时希望听听业…...

档案信息网站开发利用/关键词免费

ansible 是一款轻量级自动化运维工具&#xff0c;由的 Python 语言开发&#xff0c;结合了多种自动化运维工具的特性&#xff0c;实现了批量系统配置&#xff0c;批量程序部署&#xff0c;批量命令执行等功能; ansible 是基于模块化实现批量操作的。 一、安装 控制机器 pip ins…...

wordpress ppt预览/兰州seo

1当启动类和controller在同类中时&#xff0c;在该类添加注解Controller即可 2当启动类和controller分开时&#xff0c;启动类要放在项目的根目录下&#xff0c;启动类中添加注解SpringBootApplication&#xff0c; 2当启动类和controller分开时&#xff0c;启动类要放在项目的…...

网站页面设计布局/免费的网站推广在线推广

默认的情况下&#xff0c;只有 Assert 和 Error 会被显示为红色&#xff0c;其它均为白色&#xff0c;这样很不利于辨别日志的类型。因此需要修改不同类别的日志的颜色。 默认的日志风格有两种&#xff1a;Default 和 Darcula&#xff0c;分别对应 “白色主题” 和 “黑色主题…...

策划网站做营销推广/学校教育培训机构

缓存实现的过程以及淘汰旧页面的机制不同&#xff0c;所以会有不同缓存调度方法&#xff0c;就常见的就是FIFO&#xff0c;LRU&#xff0c;LFU缓存过期策略。 1.FIFO&#xff08;First In First out&#xff09;&#xff1a;先见先出&#xff0c;淘汰最先近来的页面&#xff0…...