Triggering BW Process Chain based on multiple conditions/events
Hi all,
We are facing a situation where we need to execute a BW process chain only if another process chain and two different R/3 jobs are completed.
Could anyone give any inputs as to how to include multiple start conditions for a BW process chain.
Thanks,
Sarath
we did the following for the same challenge :
create a z table with a description field and a date field.
eg
job_1 20100829
job_2 20100829
job_3 20100829
create one program that reads this table and inserts for every job an entry.
if you already have two other entries in the table, this means the other two jobs have also finished to you can trigger the chain (check the forum on how to trigger a chain using abap).
if you don't have the entries in the table insert the entry for this job.
create one event (event_1) to trigger this program.
at the end of the R/3 job/process chain raise event_1 in BW.
Similar Messages
-
Triggering of process chains based on events
Hello experts,
I have a requirement to trigger the process chain whenever there is a file placed into the application server.
The file comes comes into the application server randomly i.e not periodically and the file name comes with created date and time.
My process chain has to run immediately once file has been placed in the application server.
Can you help me on this?
Regards,
Babu
Please search the forum before posting a thread
Edited by: Pravender on Aug 22, 2011 2:49 PMHi
This means your Event need to run every day to check if the file exist or not? if the file exist in the application server then PC need to be triggered.
Take the help of ABAP person, so that he can implement the logic you are looking for.
Check the below link which can give u idea how to proceed.(its also similar to ur requirement)
Triggering the Process Chains at Particular Date using Events
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/f0a41bc6-a7f6-2b10-b3bf-804e1c45ae6c -
How can i end the Process chain based on some condition
HI All,
I have a scenario where i have a main pc chain which call the new chain at the end which in turn again call pc1. So its more like a closed loop .
pc1-->pc2->pc1
What main chain does is it reads some field value from a dso and assign that to some variable and set some flag to identify that value has been used. My second chain just run the report using the same variables assign by first chain. Now i have to design the main chain such that when all the values have been read from the dso, it should exit and should not trigger 2nd chain. How can i achieve this scenario.
Thanks
PrashantHi,
For this try using Process Type-"Decision between multiple Alternatives" in your main chain.It helps you the set condieion based on some formulas
Pls refer links
Decision Between Multiple Alternatives
thanks
nilesh
Edited by: npathak on Aug 11, 2010 1:16 PM -
Process InfoPackage based on a condition in Process Chain
Hi,
I would like to include a Function Module in my Process Chain.Based on the output of the Function Module (example Flag - 'A','B','C') I would like to load data from Infopackage.
Could you please suggest the best possible solution.
Thanks,
Nimaithen you need a decision step...
as you want to use a FM to get the outcome, you can't use the standard decision step as you can only use a formula...
so you need to implement a new decision step...look on sdn for the how to paper 'Enhanced Decision Process Type for BW Process Chains'...
this how to paper will lead you to create a process step of the type decision but you can use abap forms (take a look at it and it will become clear)...once you have done this, drag/drop the step in your chain. within the variant, you can define the result of the if, elseif, else...you can add as much elseif as you want (a lot in any case)...you need to create for every 'if' the form using the FM... back in the process chain you can link this step to all the infopackages, and indicate the result of the decision step leading to the infopackage execution...
that's the nice way...
the easy way :
create for every infopackage a single process chain (you can easily copy them)...they should start after event EV_A, EV_B, and so on...every chain after another event...now create an abap program and call the function module...now depending on the outcome of your FM you can trigger one of the events and the corresponding chain will start, leading to the correct infopackage being loaded.
look on abap forum on more info about event triggering, how to create event,... -
Advance Aggregation based on multiple conditions
Hi members,
I have a situation where I need to aggregate data based on multiple conditions. Relevant details of the problem is as follows.
There is a table (let's call X). It has following columns:
Transaction_Time (date)
Transaction_direction (Possible values IN or OUT)
Column_1
Column_2
Based on the columns: Transaction_direction, Column_1, Column_2, the type of the transaction will be derived. For example, if transaction_direction='IN' then transaction type is IN, if 'OUT' then transaction types are Out. Similarly if Column_1=Column_2 then transaction type is Txn_3 otherwise 4.
Based on date and transaction types the aggregation will happen.The sample output would be:
Time, Transaction type (IN, OUT, Txn_3, Txn_4), Sum of transactions
10-June-2013 00:00 IN Transactions 2500
10-June-2013 00:00 Txn_3 Transactions 3590
and so.
IN and Out transactions are easy to be derived using decode() function. However avoiding multiple UNION ALL and write a single SQL for all four conditions is tricky one.
Hope I clarified.
NeerajWhat version of Oracle are you using?
If you're on 11.x you can use the UNPIVOT feature as follows:
with t (Transaction_Time, Transaction_direction, Column_1, Column_2) as (
select date '2013-06-10', 'IN', 1, 1 from dual union all
select date '2013-06-10', 'IN', 2, 2 from dual union all
select date '2013-06-10', 'IN', 1, 2 from dual union all
select date '2013-06-10', 'IN', 3, 4 from dual union all
select date '2013-06-10', 'OUT', 3, 3 from dual union all
select date '2013-06-10', 'OUT', 3, 4 from dual
select * from (
select
transaction_time
, sum(case when transaction_direction = 'IN' then 1 end) as IN_count
, sum(case when transaction_direction = 'OUT' then 1 end) as OUT_count
, sum(case when Column_1 = Column_2 then 1 end) as Txn_3_count
, sum(case when Column_1 != Column_2 then 1 end) as Txn_4_count
from t
group by transaction_time
unpivot (
txn_count for transaction_type in (
IN_count as 'IN'
, OUT_count as 'OUT'
, Txn_3_count as 'Txn_3'
, Txn_4_count as 'Txn_4'
order by transaction_time, transaction_type
TRANSACTION_TIME TRANSACTION_TYPE TXN_COUNT
2013-06-10 IN 4
2013-06-10 OUT 2
2013-06-10 Txn_3 3
2013-06-10 Txn_4 3
If you're okay with getting one row per date with the 4 counts you can just use the inner select above, i.e.
select
transaction_time
, sum(case when transaction_direction = 'IN' then 1 end) as IN_count
, sum(case when transaction_direction = 'OUT' then 1 end) as OUT_count
, sum(case when Column_1 = Column_2 then 1 end) as Txn_3_count
, sum(case when Column_1 != Column_2 then 1 end) as Txn_4_count
from t
group by transaction_time
order by transaction_time
TRANSACTION_TIME IN_COUNT OUT_COUNT TXN_3_COUNT TXN_4_COUNT
2013-06-10 4 2 3 3
If you want to sum transaction amounts then use the same logic, except in the case statements replace 1 with the column you want to sum.
Regards,
Bob -
Infopackage returns 0 when triggered from process chain
I have an Infopackage triggered by process chain (say PC A) which is further triggered by other meta-chains.
So PC A, is triggered by PC B, and PC B is triggered by PC C.
Daily it returns 0 records.
However, if I run the process chain manually, that is PC A, the infopackage returns correct number of records.
What may be the cause?
RusyinniHi ,
When you are executing through PC then it is running with the user id ALEREMOTE because of not having proper authorization it picking 0 records but when you run the same with your ID manually then you are getting the data for the same .
You need to get in touch with the Basis team to check for the authorization for these 2 ID's .
From my point you can use SU01 to get the information for all the profiles associated with the ID and then with RSECADMIN you can check for the Tcodes and related authorization activity associated with the ID.
Please check and updated accordingly later .
Thanks
Kamal -
Highligting rows based on multiple conditions
Hi,
I have to show a report with exceptions highlighted in RED color. Exceptions are based on some conditions:
If I have four columns in an answer request, two of which say "Level" and "Status".
based on the "Level" and "Status" column conditions I have to highlight entire row which satisfies any of the condition.
Ex: If I have Level=3,4,5 and Status= Y,N then for
Level=3 or Status=N is one exception.
Level=4,5 or Status=Y is another exception.
Based on this two column conditions I have to highlight entire row in the report.
Can we do this in OBIEE. Highlighting rows based on multiple conditions?
Thanks in advance!Thanks for the reply.
I have tried that already. I can highlight one specific field but not entire row.
If I keep on applying the conditional format for the other columns too then I can't apply the conditions.
Anyways, I have created a dummy column with the conditions in it and then applied that to the other fields and used conditional format to highlight the color. -
Triggering Process chain based on execution of R3 job and Process Chain
Hi All,
I need your help in arriving at a solution for a reqirement.
Scenario is., I need to trigger a process chain B based on successful execution of Process chain A and an R3 job. If both conditions(Completion of R3 job and Process Chain A) are met then only it has to trigger process Chain B.
I know that we can use events to trigger a process chain using R3 job.But my case is differenet I need to consider the success message from both process chain and R3 job.Is there any way to solve it ?
Please provide me with your valuable inputs.
Thanks,
BinduHi Hima,
You can use the 'AND' variant for both, If both are success then trigger the process chain.
Regards,
Ravi Kanth
Edited by: Ravi kanth on Apr 30, 2009 3:36 PM -
Triggering of Process Chain in BW from R/3 system
Hi,
We have a special requirement where in the R/3 system (Project systems), the business user creates and saves a project.
Currently we have a process chain for this master data which loads every 10 min on a daily basis, but many times it happens that the new chain starts before the first one gets finished, thereby creating a lock with the loads.
To counter this we are trying to use a functional module at R/3 which gets triggered whenever the business user creates and saves the project in R/3. Though this program worked for us, but a new issue came. If the user creates 2 projects and saves it two times in a span of just 2 or 3 min, then once again the collision of chain occurs.
Our purpose is that, once the old chain finishes, then only the new chain should get triggered. To achieve that we tried to find some options and found a table called RSPCPROCESSLOG which is present both in BW system and R/3 system. This table consists of the start and end time of a chain. So based on these fields of the table we can achieve the above. But this table is not configured to capture the logs in R/3 system.
Please do let me know how to configure the RSPCPROCESSLOG table in R/3 system to capture the chains timing of BW. Otherwise suggest a way to achieve this task.
Regards
Vishwanathin rough :
create table in r/3 (eg z_chain_status) : via se11. insert two fields : - Process_chain char 60
- Active : char 1
R/3 create FM : via se37 (eg Z_update_chain_status)
import parameter = status
process chain can be hardcoded or also defined as varaible, as you wish...
select status from z_chain_status.
status = import parameter
modify z_chain status
BW : create program : via se38 z_update_status_in_r3
parameter = status
call function z_update_chain_status destination R/3 system status
create two variants of program :
varaint z_active : with parameter status = 'X'
varaint z_inactive : with parameter status = ' '
process chain
step 1 = start
step 2 = abap process type
progam : z_update_status_in_r3
variant z_active
step 3 - n : your loads
step n + 1 : abap process type
progam : z_update_status_in_r3
variant z_inactive
R/3 user-exit or business addin : slect from table z_chain_status;
if active = 'X'. exit. else trigger BW pc (I suppose as it works do today)
M. -
JDBC to IDOC Scenario - select data in jdbc based on multiple conditions
Hello
I have a JDBC to IDOC Scenario. I have to select the records in JDBC based on different conditions each time. For example I have to select based on company code '1000' and Employee claasification 'E1' and date range. After I post these records in SAP again I want to select other records for some other company code '2000' and different business area and different dates. Basically I want to extract data multiple times based on different conditions.
Hiow do I achieve this?
Another question is in the JDBC to IDOC scenario since the sender adapter is JDBC and the sender adapter polls depending on the duration of time ( say 60 secs ) in the adapter once after I extract the data based on a condition how do I control in such a way that the same data is not extracted again.
Thanks
NagaHi Naga,
I have to select the records in JDBC based on different conditions each time. For example I have to select based on company code '1000' and Employee claasification 'E1' and date range. After I post these records in SAP again I want to select other records for some other company code '2000' and different business area and different dates. Basically I want to extract data multiple times based on different conditions.
-->
Such requirements cant be handle through select query of the sender...but you can handle this in the message mapping area.....you can fire a select query in the database to pick up records in a batch of 10K (do not keep any condition on this except for sorting). After the records come into PI you can send the message to your target based on the unique combination of "Company code+ Employee clasification + date range" handling this in the message mapping.
Another question is in the JDBC to IDOC scenario since the sender adapter is JDBC and the sender adapter polls depending on the duration of time ( say 60 secs ) in the adapter once after I extract the data based on a condition how do I control in such a way that the same data is not extracted again.
You can use the N--> C logic
The data records that you pick have a corresponding control table i assume. There should be a field STATUS where the initial status of record should be N.
After you pick the records this status should be made C so that only those records present in the database with status = N are picked up.
Mention the condition Status = N in the select query.
Thanks
Dhwani -
Process chain failure at AND condition
Hi gurus,
Please help me with this issue .
the process chain is failing at the AND process after the DTPgets succesful . its giving the error message as"THIS AND PROCESS IS NOT WAITING FOR EVENT RS PROCESS".
PLEASE SUGGEST.Yes,
there are two dtps which are connected to this AND process.process chain is successful untill this dtps and failed at this AND condition. please suggest to fix this and let me know wht will be the possible reason for this failure.
thanks for your help -
Schedule process chain based on factory calendar
Hi Experts, I'd like to schedule my process chain to run only on 3rd and 4th working day every month. I tried to schedule it based on factory calendar. It does not seem to be working. Any ideas why it is not working? or any suggestions on the best way to schedule it?
Thanks!After scheduling, Did you check "Right click on start variant" to see scheduled jobs,
You should see a released job, double click to check "Schedule Run".
Whats the setting you maintained for "Do not execute before" ?
Also Did you check any holiday in the Z1 calendar prior this day.
VJ -
How to trace the EVENT's source which triggers the process chain
hello Friends,
I am currently involved in a new project, which does'nt have any documentation of the system. There is a process chain which is triggered by the event ( say..... "BI_START") and it gets triggered every day night,.......
But the problem I have is, I could'nt trace where this EVENT gets triggered....
Can you please advice me how to trace plz...... Thanks very much for your time.....
Thanks,Check in SM37 or in the tables TBTCO or TBTCP with below selected fields.
JOBNAME = Background job name
SDLSTRTDT = Planned Start Date for Background Job
SDLSTRTTM = Planned start time for background Job
SDLUNAME = Initiator of job/step scheduling
PRDMINS = Duration period (in minutes) for a batch job
PRDHOURS = Duration period (in hours) for a batch job
PRDDAYS = Duration (in days) of DBA action
PRDWEEKS = Duration period (in weeks) for a batch job
PRDMONTHS = Duration period (in months) for a batch job
PERIODIC = Periodic jobs indicator ('X')
STATUS = State of Background Job, S = Released, F = Finished
AUTHCKMAN = Background client for authorization check
EVENTID = Background Processing Event
EVENTPARM = Background Event Parameters (Such as, Jobname/Jobcount) -
How to redirect loading flow in process chain based on logic?
Hi Experts,
I have a scenario where I want to keep data for last 3 years in 3 different cubes.e.g. lets say cube 1 holds data for current 2006 year, cube 2 holds 2005 and cube 3 holds 2004.Now in next year 2007, I want to keep data for 2007, 2006 and 2005.I want to keep data for 2007 in cube 3 which was holding 2004 data.(delete 2004 data and load 2007).
This process should be automated i.e. which cube to load should be done auto.In short, <b>data for new cube should go into cube which is holding data for oldest year.</b>
I want to know :
1) Which Options I can use to do this?
2) What about ABAP program : custom table can be maintained to know which cube is holding what data, but how to redirect loading flow?
3) What about "Decision process type" in process chain?
4) Also would custom process type solve this functionality?
Any ideas would be highly appreciated.
Thanks in advance,
SorabhHi Sorabh,
Its just an Idea, Im assuming that this would work. This should also work for INIT DELTA I guess. But would need proper testing.
Have a Custom Table ZCUBEYEAR and maintain the CUBE as the Key.
ZCUBEYEAR
CUBE YEAR
Y1 2004
Y2 2005
Y3 2006.
In the update rule->Start Routine for Cube Y1, extract this entry from the table ZCUBEYEAR for Y1, which in this case would be 2004.
DELETE DATA_PACKAGE WHERE YEAR NE YEARFORCUBEY1.
in our case YEARFORCUBEY1 = 2004.
For cube Y2 and Y3 the Delete statement would be as follows in their Start Routines.
DELETE DATA_PACKAGE WHERE YEAR NE YEARFORCUBEY2.
DELETE DATA_PACKAGE WHERE YEAR NE YEARFORCUBEY3.
This would ensure that only 2004 data would flow to Y1, 2005 for Y2 and 2006 for Y3.
Once we come to a NEW YEAR, We need to run a program or Manually change the CUSTOM TABLE "ZCUBEYEAR" updating the cube Y1 with 2007, the Deltas would flow correctly.
Please email me at [email protected], we could have a detailed discussion.
Hope the above helps your cause.
Regards,
Praveen. -
Hi all,
I just installed a couple of process chains(content). And i can see them in Process chain maintenance too .. What are the steps that need to be followed to trigger the process chains .. and how do i know, the process chians are in process or tiggered?
Thanks in Advance.
Mav.Hi Bhanu,
When i checked it .. it says "processes with errors"...
and when i save it ... its says "Version 'M' of chain 0XX_XXX_XXXX_X01 was saved without checking" ...
and when i execute it it says the same " processes with errors".
So i'm trying to reinstall the whole thing again.... Before implementing the process chains, i already have master data sitting in my info objects. DOes it in any way effect it? I dont know, whats going wrong but it aint working.
Can u think of something that i'm missing?
Thanks in advance,
Mav.
Maybe you are looking for
-
My internet connection no longer works
I'm a newbie as regards MACs. I have a MBP and it has been working OK on the internet. I have a Netgear DG814 router and a LAN connected with my PCs. Internet is OK on the PCs (I'm using one for this post). It was OK on the MBP until I tried to set u
-
Hello Experts, I have a question regarding the Tcode FB70. We post customer invoice using FB70 and when we do FB70, there appears a open item in FBL5N customer line item display. Can some one explain me the options Overdue, Due and Not due in the fie
-
Type writer in Adobe Reader XI
I want to type something into an existing document and the type writer option is grayed out.
-
Hi there, Another question....i have added widgets to my page via the html snippet option on iWeb. What I would like to do is take it a step further and customize the look of the widget. Is this possible??
-
Has anyone successfully changed their last name on the bill? I have updated Verizon Community, but can't find a way to update my name on the account. Do I need to call Customer Service or go in to a store? Or is there a way online?