当前位置: 首页 > 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;最后得到一个识…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...

Python的__call__ 方法

在 Python 中&#xff0c;__call__ 是一个特殊的魔术方法&#xff08;magic method&#xff09;&#xff0c;它允许一个类的实例像函数一样被调用。当你在一个对象后面加上 () 并执行时&#xff08;例如 obj()&#xff09;&#xff0c;Python 会自动调用该对象的 __call__ 方法…...

基于Java项目的Karate API测试

Karate 实现了可以只编写Feature 文件进行测试,但是对于熟悉Java语言的开发或是测试人员,可以通过编程方式集成 Karate 丰富的自动化和数据断言功能。 本篇快速介绍在Java Maven项目中编写和运行测试的示例。 创建Maven项目 最简单的创建项目的方式就是创建一个目录,里面…...