How to get current task ID in BPM
Hi guys,
I have a requirement where I need to get the current active UWL task id in BPM context. I have seen the following code to create a direct execution url for a BPM task.
// begin session
IUWLSession uwlSession;
uwlSession = uwlService.beginSession(uwlContext, sessionIdleTimeout);
uwlContext.setSession(uwlSession);
IUWLItemManager itemManager = uwlService.getItemManager(uwlContext);
QueryResult result = itemManager.getItems(uwlContext, null, null);
ItemCollection items = result.getItems();
Item item = null;
for (int i = 0; i < items.size(); i++) {
item = items.get(i);
Map params = new HashMap();
params.put("taskId", item.getExternalId());
String executionURL = WDURLGenerator.getApplicationURL("sap.com/tc~bpem~wdui~taskinstance", "ATaskExecution", params);
This works fine, but this is looping through all the tasks assigned to a user. How do I get the current task ID. I want to use the code inside webdynpro application which is caled as a human activity in BPM. When this WebDynpro application is called I would like to know the current task ID.
As an FYI , UWL configuration passes the current task ID as a Dynamic parameter to "sap.com/tcbpemwdui~taskinstance"
application.
Please help if someone can identify how to get this value in my custom WD.
Thanks,
Yomesh.
Yes. there is no API to get the current task.
Try this:
WDProtocolAdapter.getProtocolAdapter().getRequestObject().getParameter("wi_id");
But i still say a bit confused with your requirement.
The task id gets created only upon creation of a task. And you want this current task id in the BPM Process context? How is it possible unless and until some action takes place and the data is passed from WDJ to BPM Context?
Please clear my doubt.
Similar Messages
-
How to get current view name on clicking device back button?
Hi,
iam wriing a function for handling device back button(in android) press in my app.controller.js .How to get current viewname when clicking device back button.
code samples will be helpful.
my app.controller.js looks like below
sap.ui.controller("com.opensap.App", {
onInit : function() {
document.addEventListener("deviceready", onDeviceReady, false);
onBeforeShow : function(evt) {
navButtonTap : function(evt) {
function onBackKeyDown(){
//alert("hai");
//sap.ui.getCore().byId("SalesDetail").app.backToPage("ProductList");
//sap.ui.getCore().byId("ProductList").app.backToPage("Dashboard");
//sap.ui.getCore().byId("SupplierDetail").app.backToPage("Dashboard");
function onDeviceReady(){
document.addEventListener("backbutton", onBackKeyDown, false);I somehow managed to find the solution
function onBackKeyDown(){
var app = sap.ui.getCore().byId("LoginDetail").app;
app.back(); -
How to get current row data in table control
Hi , expert ,
I am professional in oracle , but now I am a new guy in SAP ABAP .
I have a question in UI
How to get current row data and click pushbutton in table control to open next screen ?
I want to get the current data and open next screen to carry out detail detail .
Thansk for all your suggestion .GET CURSOR LINE SY-CUROW .
READ TABLE internal_table index SY-CUROW. -
How to get current version of safari. without having safari browser?
how to get current version of safari. without having safari browser?
I don't understand the question. Safari is a browser.
Can you elaborate on what your are trying to do that initiated the question? People may be able to come up with some other option that gets you working the away you want.
When you respond, please post the version of the Mac OS and the version of Safari you currently have. Otherwise, people are guessing and the quailty of help you get plummets. -
How to get current rowindex of clicked object in cr2008 preview control
hi
i want to get selected raw data when user click on crystal report 2008 preview control.
i can achieve using following code for particular row no.
Dim repReport as new ReportDocument
repReport.Rows(RowIndex).Item(ColumnIndex)
how to get current rowindex ?
Thanks
Sanjiv SharmaOnly way I can think of is to use the rowset controller from the InProc RAS SDK. Here is a snippet of a sample code on how to:
//Load the report
if (clientDoc != null) {
//create metadata structure
RowsetMetaData rowSetMetaData = new RowsetMetaData(); rowSetMetaData.setDataFields
(clientDoc.getDataDefinition().getResultFields());
Fields fields = rowSetMetaData.getDataFields();
String colName,colTypeName;
int colType, len;
Field field;
HashMap colNames = new HashMap();
HashMap colTypes = new HashMap();
for (int i = 0; i < fields.size(); i++) {
field = (Field) fields.get(i);
colName =field.getDisplayName(FieldDisplayNameType.description, Locale
.ENGLISH);
colNames.put("COL"+i,colName);
colType = getColTypeFromVariant(field.getType().toVariantTypeString());
len=field.getLength();
//Placeholder
//add column metadata to data structure or XML
Object colValue;
int rowCount=0;
if (getMaxRows() != 0) {
RowsetCursor rowsetCursor = clientDoc.getRowsetController(). createCursor
(null, rowSetMetaData);
//Setting the batch size to make sure that you get back all the
//rows by setting the batch size.
clientDoc.getRowsetController().setRowsetBatchSize (rowsetCursor
.getRowset().getTotalRecordCount());
//Getting the Results back starting from the first row
RowsetCursor resultCursor = clientDoc.getRowsetController(). createCursor(null,
rowSetMetaData);
resultCursor.moveTo(0);
while (!resultCursor.isEOF()) {
for (int i = 0; i < fields.size(); i++) {
colName=(String)colNames.get("COL"+i);
colTypeName=(String)colTypes.get("COL"+i);
colValue=record.getValue(i);
//Placeholder
//add row data to data structure or XML
resultCursor.moveNext();
For more details, consult the Report Application Server .NET SDK Developer Guide
Ludek
Follow us on Twitter http://twitter.com/SAPCRNetSup
Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports] -
How to get Current row of ViewObject in the DoDML methode
Hi all
I have two ViewObject EmplyesView and DeptView
How to get Current row of ViewObject DeptView in the DoDML methode of EmplyesViewOK, we can play this game on and on...
I'll ask for a use case (http://en.wikipedia.org/wiki/Use_case) and you don't give any info we don't already know. After an other 10 posts we probably know what you real problem is and can give you the advice which you could have gotten in the fist place.
So please take some time and describe the problem as if you would ask your mother for help. Tell us how the data model is build and how the VO are related. Is there any input from an user involved? Which information from the other view do you need? How do you get to the doDML method? Is there a button in the ui involved?
Timo -
How to get current month and last month dynamically??
how to get current month and last month dynamically
like
month = getCurrentMonth();
lastmonth = getcurrentMonth() -1;
please help
thankshi :-)
/* depracated but can be still useful */
java.util.Date dtCurrent = new java.util.Date();
int month = dtCurrent.getMonth();
int lastmonth = dtCurrent.getMonth() - 1;
System.out.println("* " + month);
System.out.println("* " + lastmonth);
/* better to use this one */
Calendar cal = new GregorianCalendar();
int imonth = cal.get(Calendar.MONTH);
int ilastmonth = cal.get(Calendar.MONTH) - 1;
System.out.println("*** " + imonth);
System.out.println("*** " + ilastmonth);
regards, -
Hi,
does anybody know how to get IUser for the current user?
I know how to get current IUser from com.sap.security.api package:
IWDClientUser wdcu = WDClientUser.getCurrentUser();
IUser sapUser = wdcu.getSAPUser();
but I need to have IUser from com.sapportals.portal.security.usermanagement package.
Regards,
LadislavLadislav,
Try this:
Get the IUser uisng the API com.sap.security.api.IUser and store it in a variable, say <i>sapUser</i>.
Then,
// Convert the logged in user to old EP5 usermanagement API
com.sapportals.portal.security.usermanagement.IUser user = null;
try
com.sapportals.portal.security.usermanagement.IUser user = WPUMFactory.getUserFactory().getEP5User(sapUser);
catch (UserManagementException e)
e.printStackTrace();
Bala -
How to get current assigned participant id?
Hi mates,
This might be a basic questions, but useful for me :)
How to get current assigned participant id from screenflow? Or How to pass it as an argument from interactive activity?
Below is what I tried.
Participant.id or Instance.participant.id - returns login user id
ThanksHi,
Please correct me if I understood wrong.
You want to know whether an instance is assigned or not and if assigned then you want to fetch the assigned participant id.
If this is your requirement then please find the code below and make the necessary changes into it.
Write the following code in screen flow automatic activity but before that you need to pass the instanceid as argument to the screen flow.
In the process as well as screen flow layer make an instance variable instanceid as Int.
Then make an argument variable instanceidArg as Int in both the screenflow and process layer and map accordingly so that it will take the instanceid from process layer to the screen flow layer.
Assign instanceid = id.number; in process layer automatic activity but before the global interactive activity where you have maped the screen flow.
Write the following code in screen flow automatic activity.
logMessage("============= instanceid ==============" + instanceid); //instanceid is the id of the instance that you have passed from process layer.
ProcessService ps;
InstanceFilter instF = InstanceFilter();
ps.connectTo(url : Fuego.Server.directoryURL, user : "<userid>", password : "<password>"); //In studio the userid and password will be same
logMessage("Connected");
instF.create(processService : ps);
instF.searchScope = SearchScope(participantScope : ParticipantScope.ALL, statusScope : StatusScope.ONLY_INPROCESS);
//<ProessId Name> is the id of the process where you want to know the assighed participant id
instF.addAttributeTo(variable : VarDefinition.processid, comparator : Comparison.CONTAINS, value : "/" + "<ProessId>");
instF.addAttributeTo(variable : VarDefinition.INSTANCE_NUMBER, comparator : Comparison.IS, value : Int(instanceid));
Fuego.Papi.Instance[] instances = getInstancesByFilter(ps, filter : instF);
foreach (instance in instances) {
logMessage("Assigned ?: " + instance.participantId.empty);
logMessage("instance.participantId: " + instance.participantId);
ps.disconnectFrom();
Bibhu -
How to get current date for posting date
hi,
how to get current date for posting date ? any sample code ?
ThanksHi......
Use
Select getdate()
for current date.......
Regards,
Rahul -
Urgent : How to get current user id
Hello,
fnd_global.user_id returns -1
fnd_profile.get('user_id',x_user_id) return null
can anyone help how to get current logged in user to apps.
Regards,
Dinesh.Hi Dinesh,
You must also make sure you have initialised the app.
If you run this from sqlplus then it will return -1.
If however you run this from within a concurrent program then the user id will be returned.
Try using this from sqlplus fnd_global.apps_initialize
Eg.
begin
dbms_output.put_line(fnd_global.user_id);
fnd_global.apps_initialize(user_id => 3551,
resp_id => 1,
resp_appl_id => 1);
dbms_output.put_line(fnd_global.user_id);
end;
/ -
How to get current time and date??
How to get current time and date from my PC time and date to the java application??
i use java.util.* package but got error, that is:
- java.util.* and java.sql.* class are match
- abstract class cannot be instantiated
so what can i do, pls guide...thanks...There is a method in the System class that will return the current system time. You could also instantiate a Date, Time, Timestamp, or Calendar object, all of which get created with the system time by default.
Don't import *. Import the specific classes you need.
Next time, post the actual text of the exceptions/compile errors. If you make people guess, most just won't bother. -
How to get Process Task Retry Count using API (OIM 10g)
Hi ,
I want to get all the process task which are failed after retried 5 times.
For e.g Create user task in AD retried for 5 times but still it is in failed state. I want to get all such process task.
I am stuck at point how to get process task retry count from process definition?
ThanksYou can reference the code in the "Task Timed Retry" scheduled task to get what you are looking for. Here is the decompiled code:
>
package com.thortech.xl.schedule.tasks;
import Thor.API.Operations.tcScheduleTaskOperationsIntf;
import com.thortech.util.logging.Logger;
import com.thortech.xl.dataaccess.tcDataSetException;
import com.thortech.xl.dataobj.tcDataSet;
import com.thortech.xl.scheduler.tasks.SchedulerBaseTask;
import com.thortech.xl.util.logging.LoggerMessages;
import java.sql.Date;
import java.util.Hashtable;
public class tcTskTimedRetry extends SchedulerBaseTask
private static Logger logger = Logger.getLogger("Xellerate.Scheduler.Task");
Date isCurrentDate;
public void init()
logger.debug(LoggerMessages.getMessage("EnteredMethodDebug", "tcTskTimedRetry/init"));
this.isCurrentDate = new Date(System.currentTimeMillis());
logger.debug(LoggerMessages.getMessage("LeftMethodDebug", "tcTskTimedRetry/init"));
public void execute()
logger.debug(LoggerMessages.getMessage("EnteredMethodDebug", "tcTskTimedRetry/execute"));
tcDataSet localtcDataSet1 = new tcDataSet();
tcDataSet localtcDataSet2 = new tcDataSet();
tcDataSet localtcDataSet3 = new tcDataSet();
try
if (isStopped())
return;
localtcDataSet2.setQuery(getDataBase(), "select osi_retry_on from osi where 1=2");
localtcDataSet2.executeQuery();
if (isStopped())
return;
localtcDataSet2.setDate("osi_retry_on", this.isCurrentDate);
localtcDataSet1.setQuery(getDataBase(), "select osi.sch_key, osi.mil_key, osi.orc_key, osi.osi_rowver, sch.sch_rowver, osi.osi_retry_for, osi.osi_retry_on, osi.osi_retry_counter, sch.sch_note from osi osi,sch sch where osi.osi_retry_on <=" + localtcDataSet2.getSqlText("osi_retry_on") + " and osi.sch_key = sch.sch_key" + " and sch.sch_status='R'" + " and osi_retry_counter>0 order by osi.sch_key");
localtcDataSet1.executeQuery();
if (isStopped())
return;
int i = localtcDataSet1.getRowCount();
logger.debug("tcTskTimedRetry:execute:Number of Process tasks retrieved is=" + i);
tcScheduleTaskOperationsIntf localtcScheduleTaskOperationsIntf = (tcScheduleTaskOperationsIntf)getUtility("Thor.API.Operations.tcScheduleTaskOperationsIntf");
tcDataSet localtcDataSet4 = new tcDataSet();
localtcDataSet4.setQuery(getDataBase(), "select osi_retry_for, osi_retry_counter from osi where 1=2");
localtcDataSet4.executeQuery();
Hashtable localHashtable = new Hashtable();
if (isStopped())
return;
for (int j = 0; j < i; j++)
if (isStopped())
return;
localtcDataSet1.goToRow(j);
localtcDataSet3.setQuery(getDataBase(), "select count(*) as counter from osi osi,sch sch where osi.sch_key = sch.sch_key and osi_retry_for=" + localtcDataSet1.getLong("sch_key"));
localtcDataSet3.executeQuery();
if (isStopped())
return;
if (localtcDataSet3.getInt("counter") > 0)
continue;
localHashtable.put("osi_retry_for", String.valueOf(localtcDataSet1.getLong("sch_key")));
localHashtable.put("sch_note", localtcDataSet1.getString("sch_note"));
long l = localtcDataSet1.getLong("osi_retry_counter");
if (isStopped())
return;
try
localtcScheduleTaskOperationsIntf.createScheduleItem(localtcDataSet1.getString("orc_key"), localtcDataSet1.getString("mil_key"), localHashtable, l - 1L);
catch (Exception localException2)
logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localException2.getMessage()), localException2);
catch (tcDataSetException localtcDataSetException)
logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localtcDataSetException.getMessage()), localtcDataSetException);
logger.debug("PJ:tcTskTimedRetry:execute:DataSetexception has occured");
catch (Exception localException1)
logger.error(LoggerMessages.getMessage("ErrorMethodDebug", "tcTskTimedRetry/execute", localException1.getMessage()), localException1);
logger.debug(LoggerMessages.getMessage("LeftMethodDebug", "tcTskTimedRetry/execute"));
public boolean stop()
logger.debug("tcTskTimedRetry:stop:Task being stopped");
return true;
>
-Kevin -
How to get workflow task list ID?
I created simple workflow in Office 365 SharePoint 2013 using SharePoint Designer 2013.
The action Assign a task to user (Task outcome to Variable: Outcome |Task ID to Variable: TaskID) was used.
The variable TaskID had a value something look like
902aa0e9-0d58-47c0-a3ba-da96ebd47651, but I need ID from a task list.
How to get the task list ID in SharePoint Designer Workflow?
I am very grateful in advance for any help.
bnossovI created dictionary and create two variables:
Name: Accept; Type: string; Value:
application/json;odata=verbose;
Name: Content-Type ; Type: string; Value: application/json;odata=verbose;
Output variable: JSonRequestHeader.
I called HTTP web service:
https://xxxxxx/_api/web/Lists/getbytitle('WorkflowTaskList')/items?$select=ID
I used Count Items in Variables: JsonRequestHeader(Output to Variable: count)
The output variable count had value equals 2.
When I printed service url in browser it gave me xml with all the items ID in the
WorkflowTaskList. There were eight .
How can I take data from web service and put them in dictionary?
I would be grateful for any help.
bnossov -
How to get current viewed task
For an external synchronization requirement I need to maintain or be able to retrieve the current viewed task by a user. I'm hopeful that this has been solved before. Does anyone have any insight there? I'm considering setting up a table to maintain the current viewed taskid for the user, but even that is proving challenging with my lack of ADF exposure. I see the 'TaskSelectedEvent' in the wizard generated task form I'm using but I'm not sure how I might leverage that.
Any help is appreciated.Yes. there is no API to get the current task.
Try this:
WDProtocolAdapter.getProtocolAdapter().getRequestObject().getParameter("wi_id");
But i still say a bit confused with your requirement.
The task id gets created only upon creation of a task. And you want this current task id in the BPM Process context? How is it possible unless and until some action takes place and the data is passed from WDJ to BPM Context?
Please clear my doubt.
Maybe you are looking for
-
SM59: Remote Log on: nothing happens
We have the problem to access remote a SAP system from another SAP system (SOLMAN) via SM 59 --> Remote Logon. Following was allready done: - the same user is exist on both system - the appropriate user in SM59 has S_RFCACL object - the settings in S
-
I have a serious problem with a invoice report that doesn't display all the lines and only prints on one page but the total is correct please help not a guru
-
HT201328 how can i unlock my phone using itunes i cant remember the passcode
ive accidentially pressed the wrong passcode multiple time and now my phone is locked its says connect to itunes, im not really sure what to do after that.. id appriciate any help. thanks
-
After upgrading to new itunes application I attempted to set-up home sharing between my macpro lap top and my imac. Used same apple id on both machines. When I turn on home sharing the icon shows up in menu. When I hit "done" icon disappears and ther
-
How to get asm diskgroups read/writes per hour or day
Hi , we have 2 production databases sitting on same server (2 node RAC) and using the same ASM disk groups. we have been having issues since past 2 days where we see lot of I/O from one of the dabase . I was asked to provide the disk I/O stats from p