You are on page 1of 29

How to Automate Data Manager

Packages in BPC 7.0 NW

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: Satyen Popat


Company: IBM Global Business Services US
Created on: 3 March 2010

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

Viewing the logs


Click the View Status Button

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

Failure E-mail for individual step

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.

DATA: L_ERRORMSG TYPE STRING,

LS_PARA_MAP TYPE UJD_S_VALUE,


LS_PACKAGE TYPE UJD_PACKAGES,

LT_PARA_LIST TYPE UJD_TH_VALUE,


LT_PACKAGE_LIST TYPE STANDARD TABLE OF UJD_PACKAGES.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-001 FOR FIELD IF_SYNC.
PARAMETERS: IF_SYNC TYPE UJ_BOOL DEFAULT UJ00_CS_BOOL-YES.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-005 FOR FIELD USER.
PARAMETERS: USER TYPE UJ_USER_ID LOWER CASE.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-002 FOR FIELD PACKAGE.
PARAMETERS: PACKAGE TYPE UJ_PACKAGE_ID OBLIGATORY LOWER CASE.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-003 FOR FIELD APPSET.
PARAMETERS: APPSET TYPE UJ_APPSET_ID LOWER CASE.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-004 FOR FIELD APPL.
PARAMETERS: APPL TYPE UJ_APPL_ID LOWER CASE.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-006 FOR FIELD TEAM .
PARAMETERS: TEAM TYPE UJ_TEAM_ID LOWER CASE.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-007 FOR FIELD GROUP.
PARAMETERS: GROUP TYPE UJ_PACK_GRP_ID LOWER CASE.

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

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-008 FOR FIELD PROMPT.
PARAMETERS: PROMPT TYPE STRING LOWER CASE.
SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.


SELECTION-SCREEN COMMENT 1(60) TEXT-009 FOR FIELD SCHEDULE.
PARAMETERS: SCHEDULE TYPE STRING LOWER CASE
DEFAULT
'<SCHEDULING><IMMEDIATE>Y</IMMEDIATE><STATE>0</STATE><PERIOD>N</PERIOD></SCHEDULING>'
.
SELECTION-SCREEN END OF LINE.
*Added for the process-chain name
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(60) TEXT-099 FOR FIELD I_CHAIN.
PARAMETERS: I_CHAIN TYPE RSPC_CHAIN.
SELECTION-SCREEN END OF LINE.

INITIALIZATION.
SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_PACKAGE_LIST
FROM UJD_PACKAGES.
SORT LT_PACKAGE_LIST BY APPSET_ID ASCENDING APP_ID ASCENDING.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR PACKAGE.

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.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR PROMPT.

PERFORM F4_GET_PROMPT.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR SCHEDULE.

PERFORM F4_GET_SCHEDULE.

START-OF-SELECTION.

END-OF-SELECTION.

PERFORM CHECK_INPUT.

DATA:l_package(50),l_rep TYPE string, l_str TYPE string.


l_package = PACKAGE.

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

CALL FUNCTION 'UJD_GETINFO'


EXPORTING
I_COMMAND = UJD0_CS_COMMAND-RUN_PACKAGE
IT_PARAMETER = LT_PARA_LIST
IMPORTING
E_ERRORMSG = L_ERRORMSG.

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: lt_mailsubject TYPE sodocchgi1.


DATA: lt_mailrecipients TYPE STANDARD TABLE OF somlrec90 WITH HEADER LINE.
DATA: lt_mailtxt TYPE STANDARD TABLE OF soli WITH HEADER LINE.

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 .

IF P_EMAIL1 IS NOT INITIAL.


lt_mailrecipients-rec_type = 'U'.
lt_mailrecipients-receiver = P_EMAIL1.
APPEND lt_mailrecipients .
CLEAR lt_mailrecipients .
ENDIF.
* Subject.
lt_mailsubject-obj_name = 'TEST'.
lt_mailsubject-obj_langu = sy-langu.

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.

IF E_T_LOGS[] IS NOT INITIAL.


SORT E_T_LOGS BY ZEIT DESCENDING.
READ TABLE E_T_LOGS INTO WA_E_T_LOGS INDEX 1.
CALL FUNCTION 'RSPC_API_CHAIN_GET_LOG'
EXPORTING
I_CHAIN = I_CHAIN
I_LOGID = WA_E_T_LOGS-LOG_ID
* I_DONT_POLL = 'X'
TABLES
E_T_LOG = E_T_LOG.

IF E_T_LOG[] IS NOT INITIAL.


LOOP AT E_T_LOG WHERE MSGTY = 'E'.
WRITE:/ 'ERROR IN STEP ', E_T_LOG-MSGV2 .
L_LOG1 = '1'.
ENDLOOP.
IF L_LOG1 = '1'.
CONCATENATE: 'BPC DATAPACKAGE' PACKAGE 'FINISHED WITH ERROR FOR PC' I_CHAIN
WA_E_T_LOGS-LOG_ID INTO l_msg SEPARATED BY SPACE.
CONCATENATE 'DATA PACKAGE ' PACKAGE 'for date ' sy-datum ' failed' INTO
P_TEXT SEPARATED BY SPACE.
lt_mailsubject-obj_descr = P_TEXT.
* Mail Contents
lt_mailtxt = P_TEXT.
APPEND lt_mailtxt. CLEAR lt_mailtxt.

* 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.

* Push mail out from SAP outbox


SUBMIT rsconn01 WITH mode = 'INT' AND RETURN.
ENDIF.
MESSAGE l_msg TYPE 'E'.
ELSE.
CONCATENATE: 'BPC DATAPACKAGE FINISHED SUCCESSFULLY' PACKAGE 'FOR PC' I_CHAIN
' ' WA_E_T_LOGS-LOG_ID INTO l_msg SEPARATED BY SPACE.

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

MESSAGE l_msg TYPE 'S'.


ENDIF.

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 .

MESSAGE 'Fill in all essential entry' TYPE 'E'. "#EC NOTEXT

"LEAVE PROGRAM.
ENDIF.

ENDFORM. " CHECK_INPUT

*----------------------------------------------------------------------*
***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.

DATA: LT_DYNPFLD TYPE STANDARD TABLE OF DSELC,


LS_DYNPFLD TYPE DSELC,
LS_RETURN TYPE DDSHRETVAL,
LT_RETURN TYPE STANDARD TABLE OF DDSHRETVAL.

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.

SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_PACKAGE_LIST


FROM UJD_PACKAGES.
SORT LT_PACKAGE_LIST BY APPSET_ID ASCENDING APP_ID ASCENDING.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' "#EC *


EXPORTING
DDIC_STRUCTURE = 'UJD_PACKAGES'
RETFIELD = 'APPSET_ID'
* DYNPPROG = SY-CPROG
* DYNPNR = SY-DYNNR
WINDOW_TITLE = 'Appset'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = LT_PACKAGE_LIST
RETURN_TAB = LT_RETURN
DYNPFLD_MAPPING = LT_DYNPFLD
EXCEPTIONS
NO_VALUES_FOUND = 1
PARAMETER_ERROR = 2.
READ TABLE LT_RETURN INTO LS_RETURN WITH KEY FIELDNAME = 'APPSET_ID'.
P_LS_PACKAGE-APPSET_ID = LS_RETURN-FIELDVAL.

READ TABLE LT_RETURN INTO LS_RETURN WITH KEY FIELDNAME = 'APP_ID'.


P_LS_PACKAGE-APP_ID = LS_RETURN-FIELDVAL.

READ TABLE LT_RETURN INTO LS_RETURN WITH KEY FIELDNAME = 'TEAM_ID'.


P_LS_PACKAGE-TEAM_ID = LS_RETURN-FIELDVAL.

READ TABLE LT_RETURN INTO LS_RETURN WITH KEY FIELDNAME = 'GROUP_ID'.


P_LS_PACKAGE-GROUP_ID = LS_RETURN-FIELDVAL.

READ TABLE LT_RETURN INTO LS_RETURN WITH KEY FIELDNAME = 'PACKAGE_ID'.


P_LS_PACKAGE-PACKAGE_ID = LS_RETURN-FIELDVAL.

ENDFORM. " F4_GET_PACKAGE


*&---------------------------------------------------------------------*

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

*& Form F4_GET_PROMPT


*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM F4_GET_PROMPT .

DATA: L_FILENAME TYPE LOCALFILE,


LT_ANSWERPROMPT TYPE STANDARD TABLE OF UJD_S_VALUE.

CALL FUNCTION 'WS_FILENAME_GET'


IMPORTING
FILENAME = L_FILENAME
EXCEPTIONS
INV_WINSYS = 01
NO_BATCH = 02
SELECTION_CANCEL = 03
SELECTION_ERROR = 04.
CHECK SY-SUBRC EQ 0.

CHECK L_FILENAME IS NOT INITIAL.

CALL FUNCTION 'WS_UPLOAD'


EXPORTING
FILENAME = L_FILENAME
FILETYPE = 'DAT'
TABLES
DATA_TAB = LT_ANSWERPROMPT
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.

CHECK SY-SUBRC EQ 0.

DELETE LT_ANSWERPROMPT WHERE FIELDNAME IS INITIAL.

CALL FUNCTION 'UJD_CONVERT_ITAB_TO_STRING'


EXPORTING
IT_CONTENT = LT_ANSWERPROMPT
IMPORTING
E_RESULT = PROMPT.

ENDFORM. " F4_GET_PROMPT


*&---------------------------------------------------------------------*
*& Form F4_GET_SCHEDULE
*&---------------------------------------------------------------------*

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 .

DATA: L_FILENAME TYPE LOCALFILE,


LT_SCHEUDLE TYPE STRING_TABLE.

CALL FUNCTION 'WS_FILENAME_GET'


IMPORTING
FILENAME = L_FILENAME
EXCEPTIONS
INV_WINSYS = 01
NO_BATCH = 02
SELECTION_CANCEL = 03
SELECTION_ERROR = 04.

CHECK SY-SUBRC EQ 0.

CHECK L_FILENAME IS NOT INITIAL.

CALL FUNCTION 'WS_UPLOAD'


EXPORTING
FILENAME = L_FILENAME
FILETYPE = 'DAT'
TABLES
DATA_TAB = LT_SCHEUDLE
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.

CHECK SY-SUBRC EQ 0.

DELETE LT_SCHEUDLE WHERE TABLE_LINE IS INITIAL.

READ TABLE LT_SCHEUDLE INTO SCHEDULE INDEX 1.

* CALL FUNCTION 'UJD_CONVERT_ITAB_TO_STRING'


* EXPORTING
* IT_CONTENT = LT_SCHEUDLE
* IMPORTING
* E_RESULT = SCHEDULE.

ENDFORM. " F4_GET_SCHEDULE

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

For Load from SAP BW


%InforProvide% BPCR_C01
%TRANSFORMATION%
\ROOT\WEBFOLDERS\B6D_APPSET\RATE\DATAMANAGER\TRANSFORMATIONFILES\Load_CTrates_into
_rate_application.xls
%CLEARDATA% 0
%RUNLOGIC% 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.

call function 'RSPC_API_CHAIN_START'


exporting
i_chain = p_chain
importing
e_logid = l_logid
exceptions
failed = 1
others = 2.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.

*// PROCESS CHAIN STATUSES


* //R Ended with errors
* //G Successfully completed
* //F Completed
* //A Active
* //X Canceled
* //P Planned
* //S Skipped at restart
* //Q Released
* //Y Ready
* // Undefined
* //J Framework Error Upon Completion (e.g. follow-on job missing)

while l_status eq 'P' or l_status eq 'A' or l_status eq 'Q'.

wait up to 10 seconds.

call function 'RSPC_API_CHAIN_GET_STATUS'


exporting
i_chain = p_chain
i_logid = l_logid
importing

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

Disclaimer and Liability Notice


This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not
supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade.
SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document,
and anyone using these methods does so at his/her own risk.
SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or
code sample, including any liability resulting from incompatibility between the content within this document and the materials and
services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this
document.

SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com
© 2010 SAP AG 29

You might also like