How to create a BPEL dynamic process?
Hi gurus,
We have encountered the following scenario, hope somebody can help!
The client will manage some provisioning activities with an end system that will service them, BPEL is required to be the "Activity Manager", and handle these as they come; meaning, the client will send an array message describing the order in sequence on how they should be sent to the end system. This activities can have dependencies between them, also defined within the input message. The following is a muck up example of input message structure:
<ActivityOrder>
<!-- Some descriptions about the ActivityOrder>
<Id/>
<Status/>
<DateInitiated/>
<!-- This can have N number of ListActivity descriptions-->
<ListActivity>
<ListAtivityHeader>
<SequenceNumber/>
<Dependency/>
<ActivityId/>
<Status/>
<Description/>
<!-- ListActivityItem will contain message details to send to partnerLink>
<ListActivityItem>
</ListActivityItem>
</ListActivity>
</ActivityOrder>
The order in which these activities are processed in BPEL will be dynamic, and they will be sent at run time, so to support this approach, a dynamic orchestration process will be needed on the integration layer. The client will send an array containing the sequential activities described by <SequenceNumber>, and also the dependencies between them, if that activity requires it, described by <Dependency> which will contain the sequence number that has to be completed before the current activity can be performed. After the end system resolves and replies to the activity requestin BPEL, an update must be sent to the client notifying status.
All these interactions are assynchronous and could take as long as 6-8 weeks. Is it technically feasable the implementation of the above requirements? If so, how can we accomplish this?
We are on SOA Suite 10.1.3.1
Regards,
Wilver
Edited by: user633514 on Feb 4, 2010 8:21 AM
Thanks for the reply, and yes, I have taken ideas from it that sample, but this is not the case I'm stating, parterLink is wellknown at design time, so its not a Dynamic partnerLink type of scenario since its the process flow the one that needs to be determined at run time. Dependant activities can't start until reply of the activity that it depends on has being received. How can I verify that an activity sent has being received?
I've been weightin options; Can't use flowN since there could exists dependencies between processes. It can be accomplished by doing a combination of logical while structures or to call recursively another bpel process that will manage the Invoke/Receive, depending on the nature of the flow. Is there any other way of doing this that we haven't seen? What are the pros and cons I could encounter? What is the best practice recommendation for such scenario?
Right now we have the following algorithm:
Channel Initiates process
Receive Input
While Message has Activity
If Activity has no Dependencies
Invoke CurrentActivityCreationService
End-If
Else
Set $receiveStatus = 'NO'
While Activity Dependancy NOT Received
Verify Activity Dependancy Receive Status (Where I get this info??)
Update $receiveStatus with the outcome of the Verify activity above
If $receiveStatus = 'NO'
Receive ActivityCreationServiceResponse
Update Channel
End-If
Else
Invoke CurrentActivityCreationService
Set $receiveStatus = 'NO'
End-Else
End-While
getNextActivity
End-Else
While Exist a Pending Activity Responses to be Received
Receive ActivityCreationServiceResponse
Update Channel
End-While
Invoke Channel Callback
The above algorithm creates me the following restrictions:
• Activities are needed to be sent sequentially ordered.
• Each activity may only have one dependency.
• An activity can never depend on another that is later in the sequence.
• Before sending activities that depend on previous one, it needs to know the state of that previous activity dependency, if already received or not.
• For better performance, all independent activities should be first in the sequence, and activities with dependancies last.
As usual most of these restriction are a hard sell since the activity stack will be tailored by a functional end user, so their not desired. Any fresh idea will be more than welcome, thanks for the time.
Regards, Wilver
Edited by: Wilver Cortes on Feb 5, 2010 6:34 AM
Edited by: Wilver Cortes on Feb 5, 2010 6:38 AM
Similar Messages
-
How to create some columns dynamically in the report designer depending upon the input selection
Post Author: ekta
CA Forum: Crystal Reports
how to create some columns dynamically in the report designer depending upon the input selection
how export this dynamic report in (pdf , xls,doc and rtf format)
report format is as below:
Element Codes
1
16
14
11
19
10
2
3
Employee nos.
Employee Name
Normal
RDO
WC
Breveavement
LWOP
Sick
Carers leave
AL
O/T 1.5
O/T 2.0
Total Hours
000004
PHAN , Hanh Huynh
68.40
7.60
76.00
000010
I , Jungue
68.40
7.60
2.00
5.00
76.00
000022
GARFINKEL , Hersch
66.30
7.60
2.10
76.00
In the above report first column and the last columns are fixed and the other columns are dynamic depending upon the input selection:
if input selection is Normal and RDO then only 2 columns w'd be created and the other 2 fixed columns.
Can anybody help me how do I design such report....
ThanksHi Developer life,
According to your description that you want to dynamically increase and decrease the numbers of the columns in the table, right?
As Jason A Long mentioned that we can use the matrix to do this and put the year field in the column group, amount fields(Numric values) in the details, add an filter to filter the data base on this column group, but if
the data in the DB not suitable to add to the matrix directly, you can use the unpivot function to turn the column name of year to a single row and then you can add it in the column group.
If there are too many columns in the column group, it will fit the page size automatically and display the extra columns in the next page.
Similar threads with details steps for your reference:
https://social.technet.microsoft.com/Forums/en-US/339965a1-8cca-41d8-83ef-c2548050799a/ssrs-dataset-column-metadata-dynamic-update?forum=sqlreportings
If your still have any problem, please try to provide us more details information, such as the data structure in the DB and the table structure you are currently designing.
Any question, please feel free to let me know.
Best Regards
Vicky Liu -
How to create a folder dynamically in KM repository
Hi All,
Could you please let me know how to create the folder dynamically in KM...
Thanks in Advance,>
Romano Bodini wrote:
> Hi,
>
> Search the forum. And the SDN. Then ask.
>
> [Creating folders in KM dynamically|http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/1761]
>
> Romano
Actually, "look at the API documentation" should be in that list. -
How to create parent and chile process in java
i'm beginning in java, and i want to ask something, please help me...
1. i want to ask how to create parent and child process in java???
example :
if have one window and explore menu, when i click the explore menu.
new window come out.
how if i close the parent window the child window will close too...
2. what is the method from runtime class to get available memory and Active Threads countONE way to do what you wanted is this.
class Parent{
Child c = new Child
allChildren.add(c);
//if close
iterate through list
(Child)allChildren.get(index).close();
ArrayList allChildren;
class Child{
public void close(){ }
i dont know if you can get the thread count. but you can
get the current thread by using System.
Memory: Runtime.freeMemory() .maxMemory() .totalMemory()
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html
Careful though you have to do a calculation to get the
actual memory because those 3 methods refer to freeMemory
of the CURRENT heap not the total memory.
i think its: total - (max - free) -
How to create Handling Unit using Process Order no. & Packing Instruction
Hi experts,
Please guide me how to create Handling Unit using Process Order number & Packing Instruction reference?Noramlly this is done using standard transaction 'COWBPACK'.
ANY FUNCTION MODULE OR BAPI TO DO THIS.
if any solution please explain with proper example..
Thanks In advance
Thanks,
YogeshHi experts,
Please guide me how to create Handling Unit using Process Order number & Packing Instruction reference?Noramlly this is done using standard transaction 'COWBPACK'.
ANY FUNCTION MODULE OR BAPI TO DO THIS.
if any solution please explain with proper example..
Thanks In advance
Thanks,
Yogesh -
How to create adhoc chain in process chain
how to create adhoc chain in process chain
hi,
ad hoc process chain is also the process cahin which will run seperatly from main chains.
as you do for process cahin create it also.
Process chain creation
http://help.sap.com/saphelp_nw04s/helpdata/en/67/13843b74f7be0fe10000000a114084/content.htm
http://help.sap.com/erp2005_ehp_03/helpdata/EN/86/6ff03b166c8d66e10000000a11402f/frameset.htm
Ramesh -
How to create info area for process chains?
How to create info area for process chains?
Hi,
If I understand your question clearly, you want to assign display componets.
once you have created you chain you assign the components by clicking CTRL+F11
Regards,
Namrata -
How to create alv table dynamically by performing action on the button.
Hi all,
my requirement is to create alv table dynamically.
that is i will create two buttons
1) show alv table
2) close alv table
if user selects show alv table then the alv table should be displayed.
and if user selects clsoe alv table then the alv table should be closed.
to create alv table dynamically i have followed this procedure.
under view properties i have added salv_wd_table component. then under the action of showalvbutton i went to code wizard and i have selected instantiate used component component use salv_wd_table. the following code will be generated
with this code i am unable to display alv table dynamically correct me where i went wrong kindly send me the necessary steps how to create alv table dynamically
data lo_cmp_usage type ref to if_wd_component_usage.
lo_cmp_usage = wd_this->wd_cpuse_salv_wd_table( ).
if lo_cmp_usage->has_active_component( ) is initial.
lo_cmp_usage->create_component( ).
endif.
to close table i have used the following code. with this code i am able to achieve the functionality to delete the alv table
data lo_cmp_usage type ref to if_wd_component_usage.
lo_cmp_usage = wd_this->wd_cpuse_salv_wd_table( ).
if lo_cmp_usage->has_active_component( ) is initial.
else.
lo_cmp_usage->Delete_component( ).
endif.
Thanks & Regards,
Naveen
Edited by: naveen.webhelp on Feb 10, 2011 5:52 AMHi
ALV table will be shown in the viewcontainerUI element.
it is shown there empty if you dont fill the node bound to the data node of the interface controller of the comp usage
SALV_WD_TABLE.
and if you are not getting the table filled in the first place.
then check have you mapped the DATA node to some node in the comp controller
wht basically is your requirment is that you want to show ALV gird on click of one button and delete it on click of other button.
there are many ways to do so.
best way is control the visiblity of the viewcontainer UI element which containes the TABLE view of SALV_WD_table comp.
create an attribute of type WDUI_VISIBILITY name say VIS.
now go to the layout and bound hte visible property of the viewcontainer to this attribute VIS.
then in the showalv grid button's eventhandler write
wd_context->set_attribute(
name = 'VIS'
value = '02'
and in the wddoinit and delete alv grid button's event handler write
wd_context->set_attribute(
name = 'VIS'
value = '01'
thanks
sarbjeet singh -
How to create a viewobject dynamically without using wizard
Hi,
I am Using jDEV 11G, i need to create a viewobject dynamically without using wizard, without binding from any entity.
Actually my intention is to make a grid like in .Net, when a user want to create a new row in RichTable without using DB.
just like shopping cart.
i have done thsi code:
ViewObjectImpl view=new ViewObjectImpl();
view.addDynamicAttributeWithType("Att1","String",null);
view.addDynamicAttributeWithType("Att2","String",null);
view.addDynamicAttributeWithType("Att2","String",null);
Row rw=view.createRow();
rw.setAttribute("Att1","First1");
rw.setAttribute("Att2","First2");
rw.setAttribute("Att2","First3");
view.insertRow(rw);
I have a RichTable , i need bind this viewobject into that.
Edited by: vipin k raghav on Mar 10, 2009 11:39 PMHi Vipin,
You can create the view object with rows populated at run time.
[http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcquerying.htm#CEGCGFCA]
For reference of how to create an empty rwo at run time on button click
[http://kohlivikram.blogspot.com/2008/10/add-new-row-in-adf-table-on-button.html]
~Vikram -
How to create a view dynamicly in plsql?
I need to write a pl/sql package to create a view dynamic
,but i can't use 'create or replace view xxxx as select *
from db where ...',I know the dbms_sql package can parse the
'select' sentence,but i don't know how to create a view,only can
drop a view,who can help me?
thanks!
nullTry 'EXECUTE IMMEDIATE 'CREATE AS SELECT....' in your PL/SQL
xhpxorcl (guest) wrote:
: I need to write a pl/sql package to create a view dynamic
: ,but i can't use 'create or replace view xxxx as select *
: from db where ...',I know the dbms_sql package can parse the
: 'select' sentence,but i don't know how to create a view,only
can
: drop a view,who can help me?
: thanks!
null -
How to create a textfile dynamically(with in the loop) with given data?
Hi all,
Can anyone Please guide me how to create a text file in the given path dynamically? (with in the loop) with given data.
For example:
<%
String data1="name";
String data2="address";
for(int i=0;i<10;i++)
create the textfile at c:/test/sample.txt//name of the each file created being "sample.txt"
//contents of text file will be
data1+i; //to get name1,name2.....
data2+i// to get add1,add2........
delete(sample.txt) //to enable to create another file in the loop with same name
%>The code which Ashokan mentioned is not is not creating a file.
i used code given below to create and write into it.
But, not is writing into it. I don't konw, where i am going worng !
Code
String sample2="C:/Ash/sample2.txt";
FileWriter fw = new FileWriter(sample2,true);
BufferedWriter bw=new BufferedWriter(fw);
bw.write("EMP ID");
bw.newLine();
Please help
Regards
aSh -
How to create internal table dynamically based on a table entry
hi Experts,
I have table yprod_cat. It has product categories.
In my ABAP program I need to create internal table dynamically based on the number of entries in the table.
For example:
If the table has 3 entries for product category
1. Board
2. Micro
3. Syst
Then create three (3) internal tables.
i_board
i_micro
i_syst
How can we do this? Any sample code will be very usefull
Thanks & Regards
Gopal
Moderator Message: No sample codes can be given. Please search for them or work it!
Edited by: kishan P on Jan 19, 2011 4:22 PMOur APEX version is 4.2We are using below SQL query to display radio groups dynamically..
SELECT APEX_ITEM.RADIOGROUP (1,deptno,'20',dname) dt
FROM dept
ORDER BY 1;
Created a form using SQL type and given abouve SQL query as source.. But when we run the page, there were no radio groups displayed in the page..
Below is the output of the query..
<input type="radio" name="f01" value="10" />ACCOUNTING
<input type="radio" name="f01" value="20" checked="checked" />RESEARCH
<input type="radio" name="f01" value="30" />SALES
<input type="radio" name="f01" value="40" />OPERATIONS
>
If Tabular Form:
Edit Region > Report Attributes > Edit Column > Change the Column type to "Standard Report Column"
If normal Page Item:
Edit Page Item > Security > Escape special characters=No.
Pl read the help on that page item to understand the security risk associated with =NO.
Cheers,
Edited by: Prabodh on Dec 3, 2012 5:59 PM -
How to create and use dynamic queue in JMS
Plz tell me how to create and use a dynamic queue in jms and can reciever file lookup it as it lookup any server configurred queue(written in the server).
Hi,
We can use Azure File services to do this, for more information, please have a look at this article:
http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/introducing-microsoft-azure-file-service.aspx. The Azure File service exposes file shares using the standard SMB 2.1 protocol. Applications running in Azure can now easily share files between
VMs using standard and familiar file system APIs like ReadFile and WriteFile.
Best Regards,
Jambor
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
How to create a table dynamically in webdynpro
hai everybody
in webdynpro we know how to create at design time
but i want to create it at runtime that is dynmamically i want to set the rows and coloums of the table at run time
Thanks & Regards
sravanI guess this should work,
Suppose you want to dynamically create a Table (say Category) having a column called Category Code, then in the wdDoModifyView() hook method, just add the following code snippet,
if (firstTime) {
//Create the Table UI Element
IWDTable table = (IWDTable) view.createElement(IWDTable.class, null);
//Set the Table Header
IWDCaption tableCaption = (IWDCaption) view.createElement(IWDCaption.class, null);
tableCaption.setText("Category Table Contents");
table.setHeader(tableCaption);
//Create and add a Column UI element for the above table
IWDTableColumn column = (IWDTableColumn) view.createElement(IWDTableColumn.class, null);
table.addColumn(column);
//Set the required column header using the caption (Category Code here)
IWDCaption caption = (IWDCaption) view.createElement(IWDCaption.class, null);
caption.setText("Category Code");
column.setHeader(caption);
//Create a TableCellEditor and bind it to an attribute of the Category Node in the context
IWDTextView editor = (IWDTextView) view.createElement(IWDTextView.class, null);
editor.bindText("tb_Category.cat_code");
column.setTableCellEditor(editor);
//Finally add the Table UI element to the view
IWDUIElementContainer root = (IWDUIElementContainer) view.getRootElement();
root.addChild(table);
You need to follow the same procedure for adding multiple columns to the table.
Hope this answers your question!
Regards
Kishan -
How to create report with dynamic columns with static row labels
Hi All,
I am creating one report as per attached format. I have labels on the right side of the report
and data in 3 columns. The data is taken dynamically from the command query.
It gets data from 3 different result sets/command queries.
I tried creating the report horizontally instead of vertically, but the logo image I am not able to rotate in 270degrees.
Can anybody tell me how to create the report...??Hi Abhilash,
Thanks for the quick reply.
Actually the problem is with the image, as I am not able to rotate 270 degree. Crystal report cannot support the rotation of image.
i have another problem, I have to create a report in which
Lables are fixed on the left side of report and 3 columns per portrait page. Those columns are
dynamically created and shown in the report.
The format is like the above. Can you please help me in doing this report, as I tried it doing
with CrossTab. I am really stuck to this report.
Maybe you are looking for
-
Function DYNP_VALUES_UPDATE not working in PBO
Hello, I have a field 'Risk Category' whose value I need to change upon an action. The action is controlled through a button on the screen. For e.g: if the action is 'Update Credit Info', when the user chooses this action, it takes him to another loc
-
How to get sql server performance counters using query?
Hai i want to see my sql server performance counters like, Full Scans/sec, Buffer Cache Hit Ratio, Database Transactions/sec, User Connections, Average Latch Wait Time (ms), Lock Waits/sec, Lock Timeouts/sec, Number of Deadlocks/sec, Total Server M
-
Dialog Box Appears Whenever Booting Flash Player 11.2; Please Help!
Whenever Flash Player 11.2 boots, a dialog box like the one below appears. I have uinstalled and reinstalled flash, and I still get this. I have run virus scans and malwarebytes scans and neither have gotten rid of this. Sometimes, when I click the
-
I'm aware that there are a ton of topics like this already, but I figured I'd post a clean one. I have a brand new HP laptop with Vista and a brand new 4g ipod nano. When I try to install the ipod, I get a screen saying "Insert the disc that came wit
-
How to eliminate the duplicate rows in the table
How can we eliminate the duplicate rows in the table. Is it possible to write a single query or should we write a pl/sql block to do it