查找包含指定关键字的BDOC
Created by Jerry Wang, last modified on Apr 27, 2015假设需要查找指定时间段内,包含指定关键字的BDOC列表。 report下方显示进度条: report source code: REPORT zscan_bdoc_via_keyword.PARAMETERS: start TYPE smw3_bdoc-snd_date OBLIGATORY DEFAULT sy-datlo,end TYPE smw3_bdoc-snd_date OBLIGATORY DEFAULT sy-datlo,keyword TYPE string LOWER CASE OBLIGATORY DEFAULT 'CRMA'.DATA: lv_bdoc_id TYPE smw3_bdoc1-bdoc_id VALUE 'FA163E8EAB031EE496D7B1616132B3D2',lt_header TYPE STANDARD TABLE OF smw3_bdoc,lv_xml TYPE xstring,lv_count TYPE i,lv_string TYPE string.START-OF-SELECTION.PERFORM main.FORM main.SELECT * INTO TABLE lt_header FROM smw3_bdoc WHERE snd_date >= start AND snd_date <= end.IF sy-subrc <> 0.WRITE: / 'No BDOC exists for given time period.'.RETURN.ENDIF.lv_count = lines( lt_header ).LOOP AT lt_header ASSIGNING FIELD-SYMBOL(<header>).PERFORM display_progress USING sy-tabix.PERFORM get_bdoc_ext_via_id USING <header>-bdoc_id CHANGING lv_xml.CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'EXPORTINGim_xstring = lv_xmlIMPORTINGex_string = lv_string.FIND keyword IN lv_string.IF sy-subrc = 0.WRITE: / 'found search keyword in BDOC: ' , <header>-bdoc_id.ENDIF.CLEAR: lv_xml, lv_string.ENDLOOP.ENDFORM.FORM get_bdoc_ext_via_id USING iv_id TYPE smw3_bdoc1-bdoc_id CHANGING cv_xml TYPE any.DATA: wa_smw3_bdoc TYPE smw3_fhd,l_dtyp TYPE smw3_ddic1,bdoc_ext TYPE REF TO data.FIELD-SYMBOLS: <b_ext> TYPE any.CALL METHOD cl_smw_bdocstore=>get_bdocEXPORTINGbdoc_id = iv_idget_bdoc_header = 'X'IMPORTINGbdoc_header = wa_smw3_bdocEXCEPTIONSOTHERS = 4.ASSERT sy-subrc = 0.IF wa_smw3_bdoc-ddic2 IS INITIAL."MESSAGE s006(smw3)." No BDoc extension available (no messaging BDoc).WRITE: / 'Not BDOC extension avaible for BDOC id: ' , lv_bdoc_id.EXIT.ENDIF.* create data refsl_dtyp = wa_smw3_bdoc-ddic2 .CREATE DATA bdoc_ext TYPE (l_dtyp).ASSIGN: bdoc_ext->* TO <b_ext>.CLEAR: <b_ext>.CALL METHOD cl_smw_bdocstore=>get_bdocEXPORTINGbdoc_id = iv_idget_bdoc_header = ' 'get_body_ext = 'X'IMPORTINGbdoc_body_ext = <b_ext>EXCEPTIONSinvalid_bdoc_id = 1inconsistent_body = 2failed = 3OTHERS = 4.CHECK sy-subrc = 0.PERFORM get_xml_source USING <b_ext> CHANGING cv_xml.CLEAR: <b_ext>, bdoc_ext.ENDFORM.FORM display_progress USING iv_percent.DATA: lv_percent type i,lv_text TYPE string.lv_percent = iv_percent * 100 / lv_count.lv_text = 'In process... ' && lv_percent && '%'.CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'EXPORTINGPERCENTAGE = lv_percenttext = lv_text.eNDFORM.FORM get_xml_source USING is_ext TYPE any CHANGING cv_xml TYPE xstring.DATA:* x_xml_tab TYPE swr_t_html,lv_rc TYPE sy-subrc,lref_document TYPE REF TO if_ixml_document,lref_data_as_dom TYPE REF TO if_ixml_element.* Maps a ABAP variable into a DOM structureCALL FUNCTION 'SDIXML_DATA_TO_DOM'EXPORTINGname = 'MESSAGE'dataobject = is_ext* CONTROL =IMPORTINGdata_as_dom = lref_data_as_domCHANGINGdocument = lref_document* TYPE_HANDLE =EXCEPTIONSillegal_name = 1OTHERS = 2.ASSERT sy-subrc = 0.CALL METHOD lref_document->append_childEXPORTINGnew_child = lref_data_as_domRECEIVINGrval = lv_rc.ASSERT sy-subrc = 0.* SDIXML_DOM_TO_XMLCALL FUNCTION 'SDIXML_DOM_TO_XML'EXPORTINGdocument = lref_documentIMPORTINGxml_as_string = cv_xmlEXCEPTIONSOTHERS = 1.ASSERT sy-subrc = 0.ENDFORM.
|
查找包含指定关键字的BDOC相关推荐
- linux查找包含指定关键字的文件
命令形式: grep -R --include="*.cpp" key dir命令含义: 在dir目录下递归查找所有.cpp文件中的关键字key举例: grep -r --incl ...
- 在整个数据库中查找包含某关键字的所有存储过程
当我们对数据表进行修改时,比如删除某个字段.我们必须保证所有用到该字段的存储过程都必须做相应的修改.因此我们如果能用一条SQL语句来查找出所有包含该字段名称的存储过程,那将是非常方便的: --查找包含 ...
- Python查找包含指定字符串的所有文件
代码功能: 查找包含指定字符串的所有文件. 技术要点: 1)广度优先遍历目录树: 2)检查文件中是否包含特定的字符串. 运行效果: 温馨提示 进入公众号,通过菜单"最新资源"==& ...
- [linux命令]查找包含指定内容的文件
内容查找.查找内容.查找包含指定内容的文件 文章目录 格式1:grep -r "指定内容" 目录 格式2:grep -r -l "指定内容" 目录 格式3:fi ...
- python批量处理excel提取包含指定关键字的行
python批量处理excel提取包含指定关键字的行 当我们有大量excel表格需要批处理,目标为提取包含指定关键字的行,可用本文代码,环境为windows python依赖安装 安装好python后 ...
- linux模糊查询特定后缀名文件,linux中查找包含指定内容的文件
查找包含指定内容的文件就是用grep这个命令 grep 'name' -r / grep '指定内容' -r 目录 上述命令就是在根目录下递归查找包含name内容的文件 -r 递归查找文件 -e 从文 ...
- linux命令 查找包含指定字符串的文件
1.非递归搜索包含指定字符串的文件 grep 查找在当前目录下,包含mirrors.aliyuncs.com字符串的文件 grep mirrors.aliyuncs.com ./* 查找结果: 2.递 ...
- ES分组聚合:计算每个tag下的商品数量且某个filed包含指定关键字,分组,平均,每个tags下的平均价格,排序,指定范围区间
1.第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search {"aggs": {"group_by_tags" ...
- Python查找包含指定字符串的所有Office文档
需要安装扩展库python-docx.openpyxl和python-pptx,代码不适用于Office2003和更早的版本. 参考代码: 测试xlsx文件内容: 测试docx文件内容: 测试pptx ...
最新文章
- 2020应届生:今年秋招也太太太太太难了吧!
- 手写一个简单的HashMap,搞定挑剔面试官
- MyEclipse6.0注册码算法代码,MyEclipse7.0注册码算法代码
- OpenTelemetry 简析
- 会java学scala多久_Scala中超时的未来
- 全校师生放6天春假;清华大学设立天文系;郭守敬望远镜光谱数突破千万;《自然》发表最新发现;百度败诉需道歉;这就是今天的大新闻...
- html css实现登录注册页面,基于HTML5+css+JS_的精美登陆注册界面
- abp angular 和mvc_MVC - abp-angular - 博客园
- 【蓝桥结果填空】:时间显示
- Python和Matlab小波分析
- APICloud平台使用融云模块实现音视频通话实践经验总结分享
- TTL和RS232之间的详细对比转
- 【C++11】之 emplace_back() 与 push_back() 的区别
- 目标检测YOLO实战应用案例100讲-基于多尺度特征融合的水下小目标检测方法研究
- (随笔备忘)装系统—— centos7下制作U盘启动盘还是失败待试,换大白菜
- BinaryWriter
- QQ浏览器如何安装油猴插件
- 计算机怎么删除我的苹果设备管理器,怎么删除电脑我的苹果设备管理器
- spring成神之路第二十九篇:BeanFactory 扩展(BeanFactoryPostProcessor、BeanDefinitionRegistryPostProcessor)...
- 将PPT转化为长图(长截图)【Python方法】
热门文章
- 用户日志留存所采用的技术手段
- 创业思路(1) - 收藏夹分享平台
- maven 常用的插件
- http 请求(tomcat) 返回 错误页面信息
- 【word2vec】篇三:基于Negative Sampling 的 CBOW 模型和 Skip-gram 模型
- R语言观察日志(part3)--repeat循环
- 20应用统计考研复试要点(part10)--应用多元分析
- livecharts中仪表盘_LiveCharts文档-3开始-4可用的图表
- 爬了菊姐的两万条评论,竟发现菊粉都是这样的人!
- 在用 Eclipse 搭建 SAP Commerce Cloud 调试环境时,错误和正确的 buildfile