cancel
Showing results for 
Search instead for 
Did you mean: 

How to trigger event when changing user status?

Former Member
0 Kudos

hi,

I'm having problems in triggering my workflow.

In CIC0, When a status of a service request is changed to 'solution provided' then after saving service request, it should send a notification mail. I'm using ZBUS200116 which is deligated to BUS2000116. I've created event 'change' in ZBUS200116 which is in the start events of my workflow.

I've tried creating an action profile which uses my workflow. The action profile is attached to the transaction but still it doesn't trigger my workflow.

i've checked other existing workflows which uses the same object type BUS2000116 or ZBUS200116. These workflows were triggered by 'created' and 'completed' events only. Other added events in ZBUS200116 like 'changed' is not triggered. How is this possible when ZBUS200116 is deligated to BUS2000116?

Your response would be highly appreciated.

Thanks in advance.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi

If you go for the custom loggin table scenario. You should check the table in the check function module and populate the table as the first step of the workflow.

If you populate the table in the check function module and something goes wrong with the event, you can't trigger the workflow again.

If you populate it as the first step in the wf and something goes wrong there, you can easily restart the worfklow (just make sure that the method used for inserting the entry in the table uses updatin and not inserting, else you'll get a insert duplicate record short dump when restarting the flow)

Regards

Manohar

Former Member
0 Kudos

hi,

What do you mean by custom loggin table? is it CIC0?

the basic concept of my workflow is to send email notification when status of service request changed/saved to solution provided. The main problem is triggering my workflow. Is there a way that i can find a triggering event that can be used to trigger my workflow?

ashish_nagpal
Active Contributor
0 Kudos

hi

to trigger the workflow an event should be there without which workflow cant be started

just use t code SWETYPV and there see whether the event with which you have created your workflow is there or not,if not that then make a manual entry

i think event is missing there you just need to create one there

by the way wityh which event you are creating your workflow ,i mean in the basic data tab of your worklfow

as u mentioned previously you were using changed event ,i think

see if you are using copied object or enhanced object then you need to delegate it to the original object so that methods and events inside the original object can be used for the enhanced object

,hope it will solve your probs,it is pretty simple probs,not to worry

best regards

ashish

Former Member
0 Kudos

Hi,

i've used tcode SWETYPV and the event is already there where:

object category = BOR Object type

ObjectType = ZBUS200116

Event = changed

Receiver = WSXXXXXXXX

Type Linkage active = checked (should it be checked or not?)

Status = no errors.

i've checked that event 'changes' is in an enhanced object ZBUS200116 and is deligated to its original object BUS2000116.

ashish_nagpal
Active Contributor
0 Kudos

hi

ok so when event is there

then you need to check these two things

since this event change is of enhanced object

just check whether this event is reflecting inside the original object ,it should be there as enhanced object has been delegated to the original object

next thing you do is go inside your mail step which must be a background step there you see inside which object you are using ,original object or enhanced

it should be original object not the Z one

and there will be a method for the original object which u have create for ur enhanced object

also tell me whether you have created just a new event by enhancing an object or also the method you have created ,the method should have been used for sending the mails

just check these things

then i will tell you what u should do next

besides when you try to trigger action what log is there ,i mean what actually happens

have you tried to trigger that workflow manually

go inside the SWDD and there try to test if manually,ands see what result you get ,whether mail is being send

get back to me with your observations

best regards

ashish

Former Member
0 Kudos

Hello,

I've checked that the enhanced object (ZBUS200116) is deligated to its original object (BUS2000116).

In mail step, i'v now changed the object that i'm using to its original object (BUS2000116).

The new event 'change' was added to the enhanced object (ZBUS200116) that should trigger my workflow. The task that i'm using in sending mail uses the ff:

object type: SELFITEM

method: SENDTASKDESCRIPTION

When i trigger the workflow manually in SWDD, error appears on log since in the mail task:

recipient type = e-mail address

e-mail address = &SERVOBJECT.ACTIVITYPARTNER&

Thanks! (_)

ashish_nagpal
Active Contributor
0 Kudos

hi

tell me whether you are using standard workflow

what is the number of workflow u r using ,is it in R3 or CRM

also if you are not using standard workflow then u can change the method inside the send mail step and there give description as

object type: ur object

method: Z method u create for urself by enhanced object in the same way you have created ur event

i have some doubt that you are using event produced by enhancing the object in the standard workflow

how is it possible

did you create new event or it was like getting used inside the workflow itself

please clear this thing

also give me the number of the workflow u r using so that i can see the process you are following

by the way isnt it the way that while creating service contract you tryt o send mail to partner function being identified on run time

or mail is being send to the same person again and again

please clear these things

best regards

ashish

Former Member
0 Kudos

Hello,

I'm using a customized workflow which uses standard tasks from object type ZBUS200116/BUS2000116 and SELFITEM to send email.

after saving service request in CIC0 where status is 'solution provided' workflow should be triggered. Workflow should send an email notification to its defined activity partner.

ashish_nagpal
Active Contributor
0 Kudos

hi

ok so you are using customisedworkflow

check one thing whether task has been made general,else action wont trigger and workflow wont start

there are at two stesp where you need to make it as general

first in the basic data where you have described the evnt in workflow go

and there you make the task as general

and other is when if the send mail task you havent made as background ,then agent assignment ,there you have to make it general,after making it general generate the index also

so if task is also general

then i come to the conclusion that either the send mail step you are using is not performing its task

i think you should create you own method for sending mail to that activity partner which is being determined

do one thing use that enhnaced object and there you create a new method and there you give your logic insid the method to send the mail to the partner function being determined,i guess you are versed with it

after that crate a task in which you use the original object and that method

i think that way you will solve your problem

do tell me if still there is any probs

check all the binding s the whether the send mail step has been binded to the workflow properly or not

its very crucial

best regards

ashish

Former Member
0 Kudos

hi,

*in basic data, then Goto menu then Agent Assignment for task.

*Choose general.

*In attributes, select general task.

*Refresh index.

Did i do it right?

The send mail step is working because i tried using 'create' event from object type BUS2000116 to trigger my workflow and it worked.

The binding is ok but it still doesn't trigger my workflow.

ashish_nagpal
Active Contributor
0 Kudos

hi

yeah you are right but u din tell whether you have made ur send mail step as background or not because if its not background step then you need to create task as general at agent assignment in send mail step too in the same way u did for the basic data

if you find everything right then i suppose the code with which yiu have created your change event isnt working accordingly

tell me what all you have coded inside the change event,what you want from that event

because if that event is not working you wont be able to trigger the workflow

best regards

ashish

Former Member
0 Kudos

hi,

send mail step is a background step.

i've created event in ZBUS200116 where:

event = changed

object type = zbus200116

release = 620

status = implemented

That's all i did in creating the event 'change'. This event should be triggered when service request is saved in CIC0.

ashish_nagpal
Active Contributor
0 Kudos

hi

juan i beleieve you should use the event created instead of change ,but by the way will you tell me why you in the first hand you have created the event changed

because when you create and save the contract created event will be triggered ,not the change event so to use the change event you need to create a sub workflow where you have to use this change event

i believe you cant trigger you workflow with this change event

you got to use the created event

because you are not changing a document ,but creating a document,

best regards

ashish

Former Member
0 Kudos

i see. ok, i'll take that advice. I'll use 'create' event instead to trigger my workflow. But as i understand, the workflow will only be triggered upon creation. In most of our cases, upon creation of service request, the status is 'in process'. After a few hours or so, we need to retrieve the service request and change the status to 'solution provided'. Should i use loop to check the status?

ashish_nagpal
Active Contributor
0 Kudos

hi juan

so here we are,now i got complete understanding of what u r doing and why

you know you need not have created that change event because it wont serve your purpose anyway

the reason is that because the way process in your workflow is flowing ,it wont happen that way using change event

you just follow these steps:

1, use created event in your workflow

2. that way when your contract ios created in rpocess status the event will be triggered only because you are creating a transaction whatever may be the status,so in all such cases you should use event created.

3. now coming to the point of change in status or documents in contract

in this case using loop will put you in deadlock and you will only be haing the error in such case

you use WAIT step instead ,inside it use wait using conditions out of every option

there you give your condition as change in whatever status

like if you are chaning the status from in process to some other status ,put that status inside the condition

as soon as that conditioon is met ,the WAIT step will be executed,

that way you will be able to trigger the change in status through thje workflow

so thats the solution with the approach you are using

there are many approaches you can follow in workflows ,so depending upon that you can follow the different worlkflow tools u have there.

also remember when your wait step gets executed there is always the time lag of 20-25 minutes after which changes will be reflected

hope it will solve ur probs

best regards

ashish

Former Member
0 Kudos

hi,

thank you very much for patiently helping me. I'll try using WAIT EVENT. Hopefully it will work.

Thanks again!

Regards,

Juan

Former Member
0 Kudos

hello again,

i've never used wait for event before.

in Wait for event step, what should be in the container element? Should it be the enahanced object type that i created or the original? In the event, i've used 'created'. Do I still have to bind it?

And also, what should be placed in the conditions tab?

Thanks!

Former Member
0 Kudos

hi,

my workflow was triggered but when it comes to the wait for event step, it stopped and there is the status is 'Logically Deleted'. what do you mean by that?

ashish_nagpal
Active Contributor
0 Kudos

hi juan

i told you in previous post too,don use wait for event

instead with in the wait step you have number of options

you use wait for condition

for example your current staus is in process,you want that when you change the staus then workflow shlould be triggered again

so use wait for condition,and specify there the condition

for example next status you want is approved

so set the condition accordingly

so as soon as your this condition will be met your wait step will be executed

do like what i said

also please tell you are doing it this way only or not

1. first you have created the transaction with in process status

2,so workflow will be triggered as soon as you save it

3. next up you are going inside the transaction and you change the status and you want your workflow to be triggered again

here i am having some confusion that on change in status what action you have described within the workflwo

.i.e. when you are chaning the status what you want your workflow to do,i mean there must be some action you want thet workflow should do that thing

so what is that thing ,can you please tell me

best regards

ashish

Former Member
0 Kudos

hi,

can you please guide me in using WAIT FOR CONDITION. I'm not familiar with this step.

Thanks a lot!

Former Member
0 Kudos

hi again,

I've used wait for condition but i'm getting the message 'Logically Deleted' and my workflow is on hold. Why is this happenning?

In the conditions tab, i've placed my condition in the complete work item tab.

Edited by: Juan Dela Cruz on May 12, 2008 4:55 AM

ashish_nagpal
Active Contributor
0 Kudos

hi juan

it seems you are placing conditions under condition tab too

listen

when you chose option of wait using condition there in the window which is infront of you there only

you need to place your condition ,not inside the condition tab

in condition tab there are three options in which you can place your options

but there you must not put any conditions under any tab

put your condition inside the tab in which you place the option that wait using condition

hope its clear to you now

tell me still having any confusion

best regards

ashish