SAP BW/BPC:实现自动执行BPC跑包程序

作者 idan lian  如需转载备注出处

如果对你有帮助,请点赞收藏~~~

用途:创建程序,跑BPC包,把数据从BW应用层跑到BPC,程序可放到处理链或自动作业中,实现定时跑包。

1.步骤

首先需要BPC顾问创建一个他们手动执行的包,维护好相关的参数

在BW系统参考标准程序直接copy后面的代码出来,一些变量需要替换,需要替换的在下面的程序里标黄

可以打断点debug,参考程序 UJD_TEST_PACKAGE 里面有需要的变量

也可以直接看一下BPC是不是在这个程序创建了变式,变式里选值可以copy出来

如原始PROMPT

%InforProvide%#ZCPBPC0001##%SELECTION%#<?xml version="1.0" encoding="utf-16"?><Selections xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Selection Type="Selection"><Attribute><ID>ZTIME</ID><Operator>1</Operator><LowValue>2023.01</LowValue><HighValue /></Attribute></Selection><Selection Type="FieldList"><FieldID>0DATAPAKID</FieldID><FieldID>0INFOPROV</FieldID><FieldID>0RECORD</FieldID><FieldID>0RECORDMODE</FieldID><FieldID>0RECORDTP</FieldID><FieldID>0REQTSN</FieldID><FieldID>ZACCOUNT</FieldID><FieldID>ZAUD_RAIL</FieldID><FieldID>ZCATEGORY</FieldID><FieldID>ZENTITY</FieldID><FieldID>ZFLOW</FieldID><FieldID>ZINTERCO</FieldID><FieldID>ZMISC</FieldID><FieldID>ZOBJECT</FieldID><FieldID>ZPROJECT</FieldID><FieldID>ZRPT_CURR</FieldID><FieldID>ZSCOPE</FieldID><FieldID>ZSUBJECT</FieldID><FieldID>ZTIME</FieldID><FieldID>ZTYPE</FieldID></Selection></Selections>

2.程序


*&---------------------------------------------------------------------*
*& Report ZBWR_BPC_ZCPBPC0001
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZBWR_BPC_ZCPBPC0001.DATA : USER               TYPE UJ_USER_ID, " 执行包用户LO_PACKAGE         TYPE REF TO CL_UJD_PACKAGE,LT_CONSTANT        TYPE UJD_TH_VALUE,LO_PACKAGE_CONTEXT TYPE REF TO CL_UJD_PACKAGE_CONTEXT,LV_RSPC_LOGID      TYPE RSPC_LOGID,PACKAGE1           TYPE UJ_PACKAGE_ID,    "执行包 通用模型TEAM               TYPE UJ_TEAM_ID,       "团队GROUP              TYPE UJ_PACK_GRP_ID,   "组,包所在的组(默认都是COPM )SCHEDULE           TYPE UJ_STRING,PROMPT             TYPE STRING,           "执行包的条件LT_PROMPT          TYPE STRING_TABLE,IF_MSG             TYPE UJ_BOOL,           "默认NLTH_ANSWER_PROMPT  TYPE UJD_TH_VALUE,LS_ANSWER_PROMPT   LIKE LINE OF LTH_ANSWER_PROMPT,L_ERRORMSG         TYPE UJ_STRING,L_OX               TYPE REF TO CX_ROOT,LT_MESSAGE         TYPE UJ0_T_MESSAGE,LS_SCHEDULE_INFO   TYPE UJD_S_SCHEDULE_INFO,LS_SCHEDULE_INFO2  TYPE UJD_S_SCHEDULE_INFO2,LF_SCHEDULE        TYPE UJ_FLG,LF_DEBUG           TYPE UJ_FLG,LV_FISCYEARPE      TYPE ZEL_ZDATE,L_TIME             TYPE CHAR32.
“BPC报表取数日期”SELECT SINGLE ZDATE FROM ZBWT_REPORT_DATE INTO LV_FISCYEARPE.*  IF LV_FISCYEARPE IS NOT INITIAL.L_TIME = LV_FISCYEARPE+0(4) && '.' && LV_FISCYEARPE+4(2).USER = SY-UNAME.CREATE OBJECT LO_PACKAGE.CREATE OBJECT LO_PACKAGE_CONTEXT.PACKAGE1 = 'S_01'."Package IDGROUP = 'YH_CONSOLIDATION'."Package group IDSCHEDULE = '<SCHEDULING><IMMEDIATE>Y</IMMEDIATE><STATE>0</STATE><PERIOD>N</PERIOD></SCHEDULING>'."SCHEDULECONCATENATE'%InforProvide%' CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB 'ZCPBPC0001'"CP名称CL_ABAP_CHAR_UTILITIES=>CR_LF'%SELECTION%' CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB
"PROMPT,太长了得换行,从变式里面  点值可以copy出来
'<?xml version="1.0" encoding="utf-16"?>'
'<Selections xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'
'<Selection Type="Selection">'
'<Attribute><ID>ZTIME</ID><Operator>1</Operator><LowValue>' L_TIME '</LowValue><HighValue /></Attribute></Selection>'
'<Selection Type="FieldList">'
'<FieldID>0DATAPAKID</FieldID>'
'<FieldID>0INFOPROV</FieldID>'
'<FieldID>0RECORD</FieldID>'
'<FieldID>0RECORDMODE</FieldID>'
'<FieldID>0RECORDTP</FieldID>'
'<FieldID>0REQTSN</FieldID>'
'<FieldID>ZACCOUNT</FieldID>'
'<FieldID>ZAUD_RAIL</FieldID>'
'<FieldID>ZCATEGORY</FieldID>'
'<FieldID>ZENTITY</FieldID>'
'<FieldID>ZFLOW</FieldID>'
'<FieldID>ZINTERCO</FieldID>'
'<FieldID>ZMISC</FieldID>'
'<FieldID>ZOBJECT</FieldID>'
'<FieldID>ZPROJECT</FieldID>'
'<FieldID>ZRPT_CURR</FieldID>'
'<FieldID>ZSCOPE</FieldID>'
'<FieldID>ZSUBJECT</FieldID>'
'<FieldID>ZTIME</FieldID>'
'<FieldID>ZTYPE</FieldID>'
'</Selection></Selections>'INTO PROMPT.SPLIT PROMPT AT CL_ABAP_CHAR_UTILITIES=>CR_LF INTO TABLE LT_PROMPT.
*    SPLIT l_prompt AT cl_abap_char_utilities=>cr_lf INTO TABLE lt_prompt."end frp270312LOOP AT LT_PROMPT ASSIGNING FIELD-SYMBOL(<LS_PROMPT>).SPLIT <LS_PROMPT> AT CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TABINTO LS_ANSWER_PROMPT-FIELDNAME LS_ANSWER_PROMPT-VALUE.INSERT LS_ANSWER_PROMPT INTO TABLE LTH_ANSWER_PROMPT.ENDLOOP.TRY.CL_UJD_SCHEDULE_PARSE=>PARSE_7X_FORMAT( EXPORTING I_SCHEDULE_STR = SCHEDULEIMPORTING ES_SCHEDULE_INFO = LS_SCHEDULE_INFOES_SCHEDULE_INFO_NEW = LS_SCHEDULE_INFO2 ).IF LS_SCHEDULE_INFO-IFIMMEDIATE = UJ00_CS_BOOL-YES.LF_SCHEDULE = ABAP_FALSE.ELSE.LF_SCHEDULE = ABAP_TRUE.LS_SCHEDULE_INFO2-MODULE_ID = UJD0_CS_MODULE_ID-PACKAGE.ENDIF.CREATE OBJECT LO_PACKAGE.CALL METHOD LO_PACKAGE->RUN_PACKAGEEXPORTINGI_APPSET_ID       = 'YH_BPC' "EnvironmentI_APPL_ID         = 'Consolidation' "Model IDI_TEAM_ID         = TEAMI_GROUP_ID        = GROUPI_PACKAGE_ID      = PACKAGE1ITH_ANSWER_PROMPT = LTH_ANSWER_PROMPTIS_SCHEDULE_INFO  = LS_SCHEDULE_INFO2IF_SCHEDULE       = LF_SCHEDULEIF_DEBUG          = 'X'."Begin XUQIA 19122017 Note 2579937CL_UJA_ACTVTY_MGR=>RECORD_LOGON_ACTIVITY(EXPORTINGI_APPSET_ID = ' YH_BPC '"EnvironmentI_ACTIVITY  = CL_UJA_ACTVTY_MGR=>GC_ACT_REPORT_UJD_TEST_PACKAGE )."End XUQIA 19122017 Note 2579937
*******************************************************************************************************************************************************************************************CATCH CX_ROOT INTO L_OX.                             "#EC CATCH_ALLCALL FUNCTION 'UJ0_CONV_EX2MSG'EXPORTINGIO_EXCEPTION     = L_OXIMPORTINGET_MESSAGE_LINES = LT_MESSAGE.CALL FUNCTION 'UJ0_CONV_MSG2STR'EXPORTINGIT_MSG = LT_MESSAGEIMPORTINGE_STR  = L_ERRORMSG.CALL FUNCTION 'DB_ROLLBACK'.MESSAGE  '清包失败!' TYPE 'S' DISPLAY LIKE 'E'.RETURN.ENDTRY.

以上为上数包程序,清数同理,让BPC顾问建一个清数包即可,参照以上创建清数程序。

将程序放到处理链或设置定时job即可。

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

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

相关文章

在 Facebook 上投放广告需要多少钱?

Facebook 拥有 23.2 亿的月活跃用户&#xff0c;用户体量非常庞大&#xff0c;你的目标群体出现在社交媒体平台上的可能性非常高&#xff0c;所以企业会选择在Facebook 上投放广告。很多朋友想入局&#xff0c;但总是在思考Facebook 推广到底要花多少钱才能有效&#xff1f;如果…

NoSql数据库 Redis集群详解

目录 一、NoSql数据库简介 1.1 数据库主要分为两大类&#xff1a;关系型数据库与 NoSQL 数据库 1.2 为什么还要用 NoSQL 数据库呢&#xff1f; 1.3 RDBMS和NOSQL的特点及优缺点&#xff1a; 二 Remote Dictionary Server 简介&#xff08;redis&#xff09; 2.1 什么是redis …

【数据结构】队列(Queue)

目录 队列概念 ​方法 队列模拟实现 链表实现队列 入队列 出队列 获取队头元素 数组实现队列 入队列 出队列 返回头队列 返回尾队列 完整代码 双链表实现队列 数组实现队列&#xff08;设计循环队列&#xff09; 队列概念 队列&#xff1a;只允许在一段进行插入…

悬浮翻译软件有哪些?试试这些利器

在观看外国电影或电视剧的奇幻旅程中&#xff0c;面对字幕如流星般划过屏幕&#xff0c;是否渴望能即时捕捉每一个细微的情感涟漪与幽默火花&#xff0c;让体验更加完整无憾&#xff1f; 此刻&#xff0c;无需再为语言障碍而烦恼&#xff01;悬浮翻译器电脑版作为你贴心的跨文…

TPM管理培训究竟需要多少天?完整攻略在此

在探讨TPM管理培训究竟需要多少天这一核心问题时&#xff0c;我们首先需要明确TPM管理的核心理念、目标及其在企业运营中的重要性。TPM不仅仅是一套设备维护的方法论&#xff0c;更是一种以提升设备综合效率、改善企业体质为目标的管理哲学。它强调全员参与、全系统管理和全效率…

k8s-使用Network Policies实现网络隔离

一、需求 Kubernetes 的命名空间主要用于组织和隔离资源&#xff0c;但默认情况下&#xff0c;不同命名空间中的 Pod 之间是可以相互通信的。为了实现更严格的网络隔离&#xff0c;同一套k8s需要根据不同的命名空间进行网络环境隔离&#xff0c;例如开发&#xff08;dev01&…

SRE 必备知识 - Kafka 探秘之零拷贝技术

如果你了解过 Kafka&#xff0c;那么它用到的一个性能优化技术可能会引起你的注意 -- 操作系统的零拷贝&#xff08;zero-copy&#xff09;优化。 零拷贝操作可以避免对数据的非必要拷贝&#xff0c;当然&#xff0c;并非是说完全没有拷贝。 在 Kafka 的场景下&#xff0c;操作…

发布npm包到GitLab教程

之前在研究如何搭建UI组件库&#xff08;内部使用&#xff09;&#xff0c;其中重要的一步就是发布npm包到GitLab。中间踩了很多坑&#xff0c;在这里记录一下整个流程方便大家快速上手。不足之处欢迎指出&#x1f64f; 1. 获取Token 在gitlab中打开access tokens申请页面&am…

Linux--实现U盘,SD卡的自动挂载

1. 编辑/etc/init.d/rsC或S10mdev文件 在/etc/init.d/rsC或S10mdev中加入以下语句: echo /sbin/mdev > /proc/sys/kernel/hotplug 当有热插拔事件产生时,内核会调用/proc/sys/kernel/hotplug文件里指定的应用程序来处理热插拔事件。把/sbin/mdev写到/proc/sys/kernel/h…

【C++类和对象】类和对象的介绍、this指针以及体会面向对象编程

文章目录 &#x1f680;类✈️类的介绍✈️类的访问限定符✈️类的封装 &#x1f680;面向对象编程&#x1f680;类与对象的联系&#x1f680;this指针✈️引出this指针✈️this指针的特性 &#x1f680;类 ✈️类的介绍 在C语言中&#xff0c;结构体中仅能声明变量并不能定义…

nginx反向代理,负载均衡,动静分离

反向代理&#xff0c;负载均衡 nginx通常被用作后端服务器的反向代理&#xff0c;这样就可以很方便的实现动静分离以及负载均衡&#xff0c;从而大大提高服务器的处理能力。 nginx实现动静分离&#xff0c;其实就是在反向代理的时候&#xff0c;如果是静态资源&#xff0c;就…

Clickhouse集群化(三)集群化部署

1. 准备 clickhouse支持副本和分片的能力&#xff0c;但是自身无法实现需要借助zookeeper或者clickhouse-keeper来实现不同节点之间数据同步&#xff0c;同时clickhouse的数据是最终一致性 。 2. Zookeeper 副本的写入流程 没有主从概念 平等地位 互为副本 2.1. 部署zookeep…

储能电池热失控监测系统的关键应用场景与安全防护

​ ​储能电池热失控监测系统主要应用于以下几个关键领域&#xff0c;以确保电池系统的安全、稳定运行&#xff0c;并预防因热失控引发的安全事故&#xff1a; ​ ​1.大型可再生能源发电储能 ​ ​这类应用常见于太阳能光伏电站、风力发电场等场景&#xff0c;其中储…

软件测试面试题!收藏起来,每天看一看,月薪20K!

初级测试总结题&#xff01;必背&#xff01;必背&#xff01;必背&#xff01; 1&#xff09;软件的概念&#xff1f; 软件是计算机系统中与硬件相互依存的一部分&#xff0c;包括程序、数据以及与其相关文档的完整集合。 2&#xff09;软件测试的概念&#xff1f; 使用人…

【在Linux世界中追寻伟大的One Piece】应用层协议HTTP

目录 1 -> HTTP协议 2 -> 认识URL 2.1 -> urlencode和urldecode 3 -> HTTP协议请求与响应格式 3.1 -> HTTP请求 3.2 -> HTTP响应 4 -> HTTP的方法 4.1 -> HTTP常见方法 5 -> HTTP的状态码 6 -> HTTP常见Header 7 -> 最简单的HTTP服…

Java笔试面试题AI答之面向对象(5)

文章目录 25. Java 包装类的实例是否可变&#xff1f;不可变类&#xff08;Immutable Classes&#xff09;特殊情况总结 26. 简述Java什么是自动装箱和自动拆箱&#xff1f;自动装箱&#xff08;Autoboxing&#xff09;自动拆箱&#xff08;Unboxing&#xff09;注意事项 27. J…

【6678专题】-点亮LED灯(寄存器方式)

本章需要参考的资料为 《General Purpose Input Output (GPIO) User Guide.pdf》&#xff0c;具体在创龙资料文件夹目录下D:\JYTL\12DSP_FPGA\08_文档\创龙\TL6678ZH-EVM_V1.5\TL6678ZH-EVM_V1.5\6-开发参考资料\数据手册\核心板元器件\DSP\Technical Reference Manual 《Multi…

黑神话:悟空 56项修改器

感谢作者&#xff1a;peizhaochen 说明&#xff1a; 1.先开游戏,再开修改器。 2.了解修改器使用说明。 3.开启修改器主项再使用相应子项[无主项则不用开启][主项如"开启…修改"]。 4.有"Num"的键位为小键盘数字键。 键位功能介绍&#xff1a; F11&#…

iOS/iPadOS18.1Beta3发布,新增通知摘要和AI消除功能

除了iOS/iPadOS18 Beta8&#xff0c;苹果今天一同推送的还有iOS/iPadOS 18.1开发者预览版Beta 3&#xff01;iOS/iPadOS18.1Beta3的内部版本号为22B5034e&#xff0c;距离上次发布Beta/RC间隔8天。 依旧是仅针对支持Apple Intelligence的iPhone 15 Pro和iPhone 15 Pro Max两款…

数据库:头歌实验三数据库完整性

一、定义s表完整性 编程要求 请按下面s表的结构定义完整性&#xff1b; sno主码&#xff0c;sname非空、city缺省值为天津。 create table s( sno char(2), sname varchar(10), status int, city varchar(10) ); use demo;#代码开始#定义s表&#xff1b; sno主码&a…