Professional Documents
Culture Documents
Applies to:
SAP BPC 7.0 NW. For more information, visit the Enterprise Performance Management homepage.
Summary
During the consolidation or planning process several BPC processes need to be executed sequentially after
the successful completion of the preceding step. This How to guide describes the process of creating a
customized Data Manager Package to run processes one after the other in the pre-defined order based on
the successful completion of the prior step. Emails are triggered if an individual step fails and the entire
process is aborted.This How-To guide describes the process of setting up the NetWeaver objects that are
required to automate BPC processes. The How –To guide contains sample table structures, ABAP programs and
process chains. This can be customized for specific use.
Author Bio
Satyen Popat is a Senior Consultant in the Business Intelligence (BI) practice of IBM Global
Services focusing on providing Business Intelligence (BI) and Eneterprise Performance
Management (EPM) solutions.Satyen has functional Expertise in understanding different
requirements of the client for diverse industries. He has expertise as an architect for
Enterprise Data Warehouse and BI Solutions and expertise in the design and
implementation of Budgeting, Forecasting and Consolidations solutions
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 1
How to Automate Data Manager Packages in BPC 7.0 NW
Table of Contents
Prerequisites ....................................................................................................................................................... 3
Step up Steps.................................................................................................................................................. 3
Step 1 .......................................................................................................................................................................... 3
Step 2 .......................................................................................................................................................................... 4
Step 3 .......................................................................................................................................................................... 5
Step 4 .......................................................................................................................................................................... 6
Step 5 .......................................................................................................................................................................... 7
Step 6 .......................................................................................................................................................................... 7
Execution Steps .................................................................................................................................................. 8
Step 1 .............................................................................................................................................................. 8
Step 2 .............................................................................................................................................................. 9
Viewing the logs ................................................................................................................................................ 11
Sample E-mails ............................................................................................................................................. 13
Related Content ................................................................................................................................................ 15
Appendix 1 ........................................................................................................................................................ 16
Appendix 2 ........................................................................................................................................................ 25
Appendix 3 ........................................................................................................................................................ 26
Related Contents .............................................................................................................................................. 28
Disclaimer and Liability Notice .......................................................................................................................... 29
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 2
How to Automate Data Manager Packages in BPC 7.0 NW
Prerequisites
SAPgui must be installed and access to the BPC and BI system must be granted. Basic knowledge for BI, ABAP
and BPC is required.
Step up Steps
Step 1
Some of the BPC Data Manager Packages require the user to enter the specific dimension member values
to the inputted while running the Data Manager Package. The user can maintain the dimension member
values in a Z table prior to initiating the automation process.
Set up table ZBPC_AUTOMATE with the fields and data elements as described as shown in screen-shot.
The fields are User ID (Key Fileld), AppSet ID (Key Fileld), Application ID (Key Fileld), Package ID (Key Fileld),
Dimension and Member.
In the „Delivery and Maintainence‟ tab set the „Delivery Calss‟ as „C‟ and Table View Maint as
„Display/Maintainence Allowed‟ so that the user can maintain the values via the SM30 transaction.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 3
How to Automate Data Manager Packages in BPC 7.0 NW
Step 2
Set up program ZUJD_TEST_PACKAGE_SAT.
1. This program is used to trigger the BPC Data Manger Packages from Netweaver.
2. The inputs for the prompts of all the Data Manager package that we wish to automate are stored as
variants
3. If the Data Manager package expects Dimension value selection, these are read from the table
ZBPC_AUTOMATE that is setup in Step 1.
4. This program is a customized version of the program available UJ_TEST_PACKAGE.
Refer blog:
Running BPC process chains within non-BPC process chains
Refer Appendix 1 for the code of main program and includes.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 4
How to Automate Data Manager Packages in BPC 7.0 NW
Step 3
Setup the variants for program ZUJD_TEST_PACKAGE_SAT for each BPC process that you wish to automate.
Refer
Running BPC process chains within non-BPC process chains
for more information on setting up variants
Refer Appendix 2 to view sample prompt files for Clear DataManager Package and Loading Data from SAP
NW InfoCube to BPC.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 5
How to Automate Data Manager Packages in BPC 7.0 NW
Step 4
Create a process chain with ABAP program process types for program
ZUJD_TEST_PACKAGE_SAT for each variant setup in Step 3. View a
sample process chain (Z_OC_CONS_SCHEDULE).
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 6
How to Automate Data Manager Packages in BPC 7.0 NW
Step 5
Create Program Z_RUN_PROCESS_CHAIN. This program calls function RSPC_API_CHAIN_START to trigger
the process chain created in step 4.
Refer Appendix 3 for Program Z_RUN_PROCESS_CHAIN.
Save a variant as shown:
Step 6
Create a custom BPC Process Chain with ABAP Process Type created in Step 5 and configure the Data Manager
package in BPC (CONSOLIDATION ALL created as an example)
Refer:
How to Create a Custom BPC Process Chain
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 7
How to Automate Data Manager Packages in BPC 7.0 NW
Execution Steps
Step 1
Through SM30 maintain Data Manager Dimension member values in tables ZBPC_AUTOMATE as follows
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 8
How to Automate Data Manager Packages in BPC 7.0 NW
Step 2
Executing „CONSOLIDATION ALL‟ Data Manager Package
Log into BPC Excel
Select “CONSOLIDATION ALL” Data Manager Package and Click “RUN”
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 9
How to Automate Data Manager Packages in BPC 7.0 NW
Now you have the option of either executing in immediately - Run now or scheduling it at a later time to
run. Hit Finish after you have made your choice.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 10
How to Automate Data Manager Packages in BPC 7.0 NW
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 11
How to Automate Data Manager Packages in BPC 7.0 NW
As you see here you will see log for each individual process triggered by “CONSOLIDATION ALL”.
You can view the details of any of the step by highlighting the step and hit “Detail”
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 12
How to Automate Data Manager Packages in BPC 7.0 NW
Sample E-mails
Success E-mail
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 13
How to Automate Data Manager Packages in BPC 7.0 NW
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 14
How to Automate Data Manager Packages in BPC 7.0 NW
Related Content
Running BPC process chains within non-BPC process chains
Running BPC process chains within non-BPC process chains
How to Create a Custom BPC Process Chain
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 15
How to Automate Data Manager Packages in BPC 7.0 NW
Appendix 1
*&---------------------------------------------------------------------*
*& Report ZUJD_TEST_PACKAGE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZUJD_TEST_PACKAGE_SAT.
TYPE-POOLS: UJD0,UJ00.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 16
How to Automate Data Manager Packages in BPC 7.0 NW
INITIALIZATION.
SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_PACKAGE_LIST
FROM UJD_PACKAGES.
SORT LT_PACKAGE_LIST BY APPSET_ID ASCENDING APP_ID ASCENDING.
PERFORM F4_GET_PACKAGE
CHANGING LS_PACKAGE.
PACKAGE = LS_PACKAGE-PACKAGE_ID.
APPSET = LS_PACKAGE-APPSET_ID.
APPL = LS_PACKAGE-APP_ID.
TEAM = LS_PACKAGE-TEAM_ID.
GROUP = LS_PACKAGE-GROUP_ID.
PERFORM F4_GET_PROMPT.
PERFORM F4_GET_SCHEDULE.
START-OF-SELECTION.
END-OF-SELECTION.
PERFORM CHECK_INPUT.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 17
How to Automate Data Manager Packages in BPC 7.0 NW
TABLES: ZBPC_AUTOMATE.
TRANSLATE l_package TO UPPER CASE.
*Code to read all the dimension member names from ZBPC_AUTOMATE and populate in the
*prompt-value
SELECT * FROM ZBPC_AUTOMATE WHERE
USER_ID = USER
AND APPSET_ID = APPSET
AND APPL_ID = APPL
AND PACKAGE_ID = l_package.
IF PROMPT CS ZBPC_AUTOMATE-DIMENSION.
CONCATENATE ZBPC_AUTOMATE-DIMENSION '|' ZBPC_AUTOMATE-MEMBER '|' INTO l_rep.
CONDENSE l_rep NO-GAPS.
CONCATENATE ZBPC_AUTOMATE-DIMENSION '||' INTO l_str.
CONDENSE l_str NO-GAPS.
REPLACE l_str WITH l_rep INTO PROMPT.
CONDENSE PROMPT NO-GAPS.
ENDIF.
ENDSELECT.
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-USER_ID.
LS_PARA_MAP-VALUE = USER.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST .
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-APPSET_ID.
LS_PARA_MAP-VALUE = APPSET.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST .
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-APPLICATION_ID.
LS_PARA_MAP-VALUE = APPL.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST .
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-TEAM_ID.
LS_PARA_MAP-VALUE = TEAM.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST .
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-GROUP_ID.
LS_PARA_MAP-VALUE = GROUP.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST .
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-PACKAGE_ID.
LS_PARA_MAP-VALUE = PACKAGE.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST .
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-IF_SYNCHRONOUS.
LS_PARA_MAP-VALUE = IF_SYNC.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST.
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-SHEDULE.
LS_PARA_MAP-VALUE = SCHEDULE.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST .
LS_PARA_MAP-FIELDNAME = UJD0_CS_PARAMETER-PROMPT.
LS_PARA_MAP-VALUE = PROMPT.
INSERT LS_PARA_MAP INTO TABLE LT_PARA_LIST .
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 18
How to Automate Data Manager Packages in BPC 7.0 NW
WRITE:/ L_ERRORMSG.
*Code to read the status of the Process Chain and send e-mail if it has failed
DATA: E_T_LOGS LIKE STANDARD TABLE OF RSPC_S_LOG_F4,
E_T_LOG LIKE STANDARD TABLE OF RSPC_S_MSG WITH HEADER LINE,
WA_E_T_LOGS LIKE LINE OF E_T_LOGS.
DATA: L_LOG1 TYPE I,
COUNT TYPE I,
L_MSG(100).
DATA:
P_EMAIL(100),
P_EMAIL1(100),
P_TEXT(100).
P_EMAIL = 'BPC_FI_GROUP@Owenscorning.com'.
* Recipients
lt_mailrecipients-rec_type = 'U'.
lt_mailrecipients-receiver = P_EMAIL.
APPEND lt_mailrecipients .
CLEAR lt_mailrecipients .
L_LOG1 = 1.
COUNT = 1.
WHILE L_LOG1 <> 0.
CALL FUNCTION 'RSPC_API_CHAIN_GET_RUNS'
EXPORTING
I_CHAIN = I_CHAIN
I_DATE = SY-DATUM
TABLES
E_T_LOGS = E_T_LOGS
EXCEPTIONS
FAILED = 1
OTHERS = 2.
IF SY-SUBRC = 0 OR COUNT = 1000.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 19
How to Automate Data Manager Packages in BPC 7.0 NW
L_LOG1 = 0.
ENDIF.
ENDWHILE.
* Send Mail
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
document_data = lt_mailsubject
TABLES
object_content = lt_mailtxt
receivers = lt_mailrecipients
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
IF sy-subrc EQ 0.
COMMIT WORK.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 20
How to Automate Data Manager Packages in BPC 7.0 NW
ELSE.
WRITE:/ 'NO LOG FOUND'.
ENDIF.
ELSE.
WRITE:/ 'CHAIN NOT EXECUTED'.
ENDIF.
INCLUDE UJD_TEST_PACKAGE_F4_GET_PACF01.
INCLUDE UJD_TEST_PACKAGE_CHECK_INPUF01.
*----------------------------------------------------------------------*
***INCLUDE UJD_TEST_PACKAGE_CHECK_INPUF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form CHECK_INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CHECK_INPUT .
IF IF_SYNC IS INITIAL OR
USER IS INITIAL OR
PACKAGE IS INITIAL OR
APPSET IS INITIAL OR
APPL IS INITIAL .
"LEAVE PROGRAM.
ENDIF.
*----------------------------------------------------------------------*
***INCLUDE UJD_TEST_PACKAGE_F4_GET_PACF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form F4_GET_PACKAGE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_LS_PACKAGE text
*----------------------------------------------------------------------*
FORM F4_GET_PACKAGE CHANGING P_LS_PACKAGE TYPE UJD_PACKAGES.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 21
How to Automate Data Manager Packages in BPC 7.0 NW
LS_DYNPFLD-FLDNAME = 'APPSET_ID'.
LS_DYNPFLD-DYFLDNAME = 'UJD_PACKAGES-APPSET_ID'.
INSERT LS_DYNPFLD INTO TABLE LT_DYNPFLD.
LS_DYNPFLD-FLDNAME = 'APP_ID'.
LS_DYNPFLD-DYFLDNAME = 'UJD_PACKAGES-APP_ID'.
INSERT LS_DYNPFLD INTO TABLE LT_DYNPFLD.
LS_DYNPFLD-FLDNAME = 'TEAM_ID'.
LS_DYNPFLD-DYFLDNAME = 'UJD_PACKAGES-TEAM_ID'.
INSERT LS_DYNPFLD INTO TABLE LT_DYNPFLD.
LS_DYNPFLD-FLDNAME = 'GROUP_ID'.
LS_DYNPFLD-DYFLDNAME = 'UJD_PACKAGES-GROUP_ID'.
INSERT LS_DYNPFLD INTO TABLE LT_DYNPFLD.
LS_DYNPFLD-FLDNAME = 'PACKAGE_ID'.
LS_DYNPFLD-DYFLDNAME = 'UJD_PACKAGES-PACKAGE_ID'.
INSERT LS_DYNPFLD INTO TABLE LT_DYNPFLD.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 22
How to Automate Data Manager Packages in BPC 7.0 NW
CHECK SY-SUBRC EQ 0.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 23
How to Automate Data Manager Packages in BPC 7.0 NW
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM F4_GET_SCHEDULE .
CHECK SY-SUBRC EQ 0.
CHECK SY-SUBRC EQ 0.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 24
How to Automate Data Manager Packages in BPC 7.0 NW
Appendix 2
For Clear
%SELECTION%
/B6D_APPSet/OC_CONS/PrivatePublications/Popats/TempFiles/FROM.TMP@@@SAVE@@@@@@EXPA
ND@@@|DIMENSION:CONSENTITY||DIMENSION:C_CATEGORY||DIMENSION:RPTCURRENCY||DIMENSION:TI
ME||DIMENSION:CONSACCT||DIMENSION:C_DATASRC||DIMENSION:FLOW||
%ENABLETASK% 1
%CHECKLCK% 1
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 25
How to Automate Data Manager Packages in BPC 7.0 NW
Appendix 3
*&---------------------------------------------------------------------*
*& Report Z_RUN_PROCESS_CHAIN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report z_run_process_chain.
parameters:
p_chain type rspc_chain.
data:
l_logid type rspc_logid,
l_status type rspc_state,
l_manual_abort type rspc_manual_abort,
l_message type so_text255,
ls_message type rspc_s_msg.
wait up to 10 seconds.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 26
How to Automate Data Manager Packages in BPC 7.0 NW
e_status = l_status
e_manual_abort = l_manual_abort
e_message = l_message
e_s_message = ls_message.
endwhile.
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 27
How to Automate Data Manager Packages in BPC 7.0 NW
Related Contents
For more information, visit the Enterprise Performance Management homepage
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 28
How to Automate Data Manager Packages in BPC 7.0 NW
SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 29