SAP BW .....all info @ one place
SAP BW relevant Information
Loading
Showing posts with label chain. Show all posts
Showing posts with label chain. Show all posts

Some times our requirement comes like we can not use any of standard scheduling functions available to start a process chain or an infopackage or a Job.

Ex: Process chain has to start at 3 different Odd times in a day(like: 7, 12, 20 hours).
Or some chains has to be started based on some other loads success or failure...
Or we have to use same process chain multiple times instead of including more infopacakges...etc

For above requirements, to control process chain effectively it better to start Process chain or Job or infopackage through an Event.

T Code : SM62 --> To Create an Event.
T Code : SE38 --> To Create an ABAP Program
Use Function Module : BP_EVENT_RAISE to raise an event.

Scenario: First day of week weekly load has to start first. Remaining days in weeks daily load has to run 2 different times in a day(ex: 6 and 20 hours)

Steps:

1. Create a Process Chain1 and Schedule it based on event and check periodic check box.

2. Create a Process Chain2 and include below ABAP program and schedule it for every one hour(24 X7) periodically. So this chain will trigger Process Chain1, based on conditions specified in ABAP Program.

3. See below doc : How to ... Integrate ABAP Program in Process Chain

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3507aa90-0201-0010-6891-d7df8c4722f7

Sample Coding:
SELECTION-SCREEN BEGIN OF BLOCK Daily_Loads WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN COMMENT /1(50) COMM0001.
Parameters : Dly_Ld1(2) type c.
Parameters : Dly_Ld2(2) type c.
SELECTION-SCREEN END OF BLOCK Daily_Loads.


SELECTION-SCREEN BEGIN OF BLOCK Weekly_Load WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN COMMENT /1(50) COMM0002.
Parameters : Wkly_Ld1(2) type c.
SELECTION-SCREEN END OF BLOCK Weekly_Load.


Data : hour(2) type c.
Data: l_cweek type /BI0/OICALWEEK.
Data: l_fdate type /BIC/OISSS_DATE.
Data: l_date type /bic/OISSS_DATE.


INITIALIZATION.
MOVE 'Input Daily Load Timings in 24Hour Format' TO COMM0001.
MOVE 'Input Weekly Load Timings in 24Hour Format' TO COMM0002.
clear hour.
hour = sy-timlo(2).


****Code to get First day of Fiscal Week
CALL FUNCTION 'ZBW_DATE_GET_FISCAL_WEEK'
EXPORTING
DATE = sy-datum
IMPORTING
WEEK = l_cweek.


CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
WEEK = l_cweek
IMPORTING
DATE = l_fdate .
move sy-datum to l_date.


START-OF-SELECTION.
if l_fdate = l_date and hour = Wkly_Ld1.

CALL FUNCTION 'BP_EVENT_RAISE'
EXPORTING
EVENTID = 'SSS_OBSS_WEEKLY_LOAD'
* EVENTPARM = ' '
* TARGET_INSTANCE = ' '
* EXCEPTIONS
* BAD_EVENTID = 1
* EVENTID_DOES_NOT_EXIST = 2
* EVENTID_MISSING = 3
* RAISE_FAILED = 4
* OTHERS = 5.

elseif hour = Dly_Ld1 or hour = Dly_Ld2.

CALL FUNCTION 'BP_EVENT_RAISE'
EXPORTING
EVENTID = 'SSS_OB_SALES_DATA_LOAD'
* EVENTPARM = ' '
* TARGET_INSTANCE = ' '
* EXCEPTIONS
* BAD_EVENTID = 1
* EVENTID_DOES_NOT_EXIST = 2
* EVENTID_MISSING = 3
* RAISE_FAILED = 4
* OTHERS = 5 .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


While execution we can specify Daily load and weekly load times in selection screen(as below). We can create variant and assign in process chain to automate.
Provide values in selection screen and save a variant.

 


RSW
_RATE_GET_BASIC
-- To get exchange rate
-- To get exchange rate for combination of source and target currency for defined exchange rate type
WEEK_GET_FIRST_DAY -- First day of week
DATA_TO_PERIOD_CONVERT -- To derive period from Date
RSAPO_SWITCH_BATCH_TO_TRANS, RSAPO_SWITCH_TRANS_TO_BATCH
-- To change Transactional cube to basic cube & basic cube to tran cube
BAPI_USER_ACTGROUPS_ASSIGN -- To assign Roles to User
BAPI_USER_GET_DETAILS - To get User Details
SUPRN_INS_OR_DEL_PROFILE -- To insert or delete a Profile
RSBCTDPE_GET_ROLE_FOR_USER -- To see Roles per User
BP_EVENT_RAISE
-- To raise an EVENT
RSDTM_ICD_DATA_DOWNLOAD -- To Download data from Infocube
RSPC_API_CHAIN_START -- To Start process Chain
RSPC_PROCESS_FINISH -- To finish any process in Process Chain
-- how to use : RSPC_PROCESS_FINISH (To restart PChain)
RSU5_SAPI_BADI -- To enhance Master data(Note : 709816)
RSDMD_DEL_MASTER_DATA -- To delete Master Data
RSMDM_MD_ACTIVATE -- To activate Master Data
BAPI_IOBJ_CREATE -- To Create Infoobjects
BAPI_IOBJ_REORG -- To reorganise Infoobjects
BAPI_IPAK_START -- To start Infopackage
BAPI_IPAK_CHANGE -- To Change Infopackage
BAPI_IPAK_GET_DETAIL -- To get details of Infopackage
RSSM_GET_REQUEST_STATUS -- To get request Status
BAPI_ISREQUEST_GETSTATUS -- To get request status
FILE_GET_NAME -- To get file Name.

RSW_RATE_GET_BASIC -- To Currency Translation
RSAOS_METADATA_UPLOAD -- To Replicate datasources selectively
RSDRD_DELETE_FACTS
-- To delete data selectively
RSDU_CHECK_PKEY_FACTTAB_DB6 -- Checks the partitioning key for the fact table of an InfoCube.
RSDU_CHECK_PKEY_ODSTAB_DB6 -- Checks the partitioning key for an ODS table.
RSDU_CHECK_PKEY_PSATAB_DB6 -- Checks the partitioning key for a PSA table
RSDRI_INFOPROV_READ -- To read data from Infocubes

RSPC_API_CHAIN_SCHEDULE -- To raise an event from R/3 source system

 

How to Papers, related to BW direct download

Google
 

Recent Posts

SAP Jobs