Is It Possible To Start a Process Flow on Receipt of an Email?
Hi
Does anyone know if you can trigger the start of a process flow once an email has been received?
thanks ...
alternatively what you can done is:
If you are using unix/linux OS then:
create an SMTP service on unix/linux
have the email coming into unix/linux
write a unix shell scrpt to read he mails on a regular basis
if the email is existing create a "touch file" referred as flag file
use the OWB to check if the flat file exists on unix as owb can communicate with unix/linux
and then run the process flow which has the mappings
If you are using Windows OS then:
have a program which will extract the mail from your local mailbox onto a server, there are few softwares available in the market
use the option of writing it into a table or follow the flag file approach stated above.
Similar Messages
-
How to start/stop process flow from sql*plus?
Hi,
i know how to start a process flow via sqlplus_exec_template.sql, but i cannot find any information on how to stop (and rollback) a working flow from sql*plus. Any help would be appreciated.
Greetings
Christoph
Message was edited by:
ctrierweilerHi,
I've had a go.
How should I interpret the results of list_requests:
owner_owr@ORKDEV01> @list_requests
====================
DEPLOYMENTS
====================
Audit ID Status Name Date Owner
2706 READY Deployment Fri Nov 11-NOV-05 10:49:59 OWNER_OWR
11 10:46:37 CET 2
005
====================
DEPLOYMENT UNITS
====================
Audit ID Status Name Date Owner
2707 READY Unit0 11-NOV-05 10:49:59 OWNER_OWR
====================
EXECUTIONS
====================
Er zijn geen rijen geselecteerd.
owner_owr@ORKDEV01>
Whilst a process flow is executing the last query will list executions, all of which have status BUSY:
owner_owr@ORKDEV01> @list_requests
====================
DEPLOYMENTS
====================
Audit ID Status Name Date Owner
2706 READY Deployment Fri Nov 11-NOV-05 10:49:59 OWNER_OWR
11 10:46:37 CET 2
005
====================
DEPLOYMENT UNITS
====================
Audit ID Status Name Date Owner
2707 READY Unit0 11-NOV-05 10:49:59 OWNER_OWR
====================
EXECUTIONS
====================
Audit ID Status Name Date Owner
394512 BUSY PF_ONB01 04-MEI-06 09:11:12 OWNER_OWX
395328 BUSY ONB:FULL_PREPARE 04-MEI-06 09:11:55 OWNER_OWR
395324 BUSY PF_ONB01:ONB 04-MEI-06 09:11:55 OWNER_OWR
owner_owr@ORKDEV01>
As an aside, I will attempt to get rid of the READY deployment and deployment unit using deactive_deployment.sql
Now, if I attempt to use deactivate_execution.sql on any of the executions with status BUSY I get:
owner_owr@ORKDEV01> @deactivate_execution
Voer waarde voor 1 in: 396136
declare
FOUT in regel 1:
.ORA-20003: The object is not in a valid state for the requested operation
ORA-06512: at "OWNER_OWR.WB_RTI_EXCEPTIONS", line 94
ORA-06512: at "OWNER_OWR.WB_RTI_EXECUTION", line 774
ORA-06512: at "OWNER_OWR.WB_RT_EXECUTION", line 90
ORA-06512: at line 4
owner_owr@ORKDEV01>
So all the seems to remain is to use abort_exec_request.sql
This does the job, but the script itself hangs.
I think it has to do with the l_stream_id not being checked again after the initial IF. I think it should probably be part of the loop condition as it is again reset in the do_acks inside the loop.
Cheers & thanks,
Colin -
Start OWB Process Flow Schedule Job in Workflow Manager
I am trying to get the Oracle Workflow Schedule to execute my Oracle Warehouse Builder (OWB) Process Flow. Please note that execute Process Flow from the OWB deployment manager works fine. I did the following but nothing being executed:
Info:
OWB: 10g
Oracle DB: 10g
Oracle Workflow: 2.6.3
OracelAS: NONE
1. From the Oracle Workflow Manager browser, click the Background Engines->Submit New
2. Insert the following parameter:
Work Item Type: LD_STG
Run Date and Time: 10/18/2004 17:40:00
Run Every: 0 days, 00 hours, 01 minutes, 00 seconds
3. Click ok and system showed "Successfully submitted Background Engine with job number 107"
However, after the specificied schedule time, nothing happened. No error shown in the Work Item.
Any help are greatly appreciated. Thanks.This is a Oracle Workflow client problem. Can you post this to the workflow forum (Workflow
Regards:
Igor -
Is it possible to debug a process flow?
There are debug tools for mappings. Is there any equivalent for process flows? Does anyone have any ideas for how to monitor the values in variables while a process flow is running?
Thanks,
TimNo such process as per OWB 10G R1. Have to check out with other advanced versions.
-
Starting Process Flows with a database trigger
Hi all,
Is it possible to start a process flow using a trigger? I am using the sqlplus_exec_template.sql at the moment.
Thanks in advance,
Regards,
SebastianHi Javor,
Thanks for your reply. I am using version 10g . After embedding the process flow execution into a procedure, I am getting the following error.
Connecting to the database userx.
ORA-20001: Task not found - Please check the Task Type, Name and Location are correct.
ORA-06512: at "OWB_REPOS.WB_RT_API_EXEC", line 704
ORA-06512: at "userx.RUN_PF", line 27
ORA-06512: at line 2
Stage 1: Decoding Parameters
| location_name=MY_WORKFLOW
| task_type=PROCESSFLOW
| task_name=MY_PROCESS_FLOW
Stage 2: Opening Task
Process exited.
Disconnecting from the database userx.
Extract of the procedure (just like the template).
-- Initialize Return Code
exec_return_code := wb_rt_api_exec.RESULT_FAILURE;
-- Run Task
exec_return_code := wb_rt_api_exec.run_task(LOCATION_NAME,TASK_TYPE,TASK_NAME,CUSTOM_PARAMS,SYSTEM_PARAMS,OEM_FRIENDLY,OWB_BACKGROUND);
Regards,
Sebastian -
Problem in running Process flow
Hi,
I’m bit new to OWB. I made mapping which I deployed successfully. I can run through control center and it works fine (it just fills a table). However when I made the process through process flow and after its validation , tries to start it gives me error RTC-5170: The selected objects do not require deployment as they are all up to date in the Control Center, which is followed by RTC-5006 and obviously no data generated in the table. How can I pass this error? Secondly I tried to schedule this, firstly it doesnot ask for the process flow during schedule, secondly even from schedule the map doesnot run.
Appreciate any help to run the process flow.
Regards
YasirIn the process flow validate and generate the process flow. then go back to design center and go one step above to process flow package module and right click and deploy the process flow package. once the deployment is successfull then go back to the process flow and right click and start the process flow.
This should work. -
Scheduled process flow fails, run directly works ok
I've got a hard time with a process flow tthat needs to be scheduled.
When I start the process flow with wb_rt_api_exec it rus ok,
when I schedule the job calling wb_rt_api_exec in the Oracle Job scheduler it fails the moment it starts. The error message tells me I've got invalid user credentials, I cannot acces the wokflow location with the supplied userid and password.
It's the same user to schedule the job as the one that starts wb_rt_api_exec directly.
What can be rwrong?Hi,
I have not used oracle job scheduler but just a taught....If ur id is able to access the package to execute the processflow that does not mean that the same id has the rights to do such actions thru a oracle job scheduler right?hope this leads to something...Do let me know any details reagrding the same....
Regards
Bharath -
Error time of running process flow.
Hi All,
I am new to datawarehousing . I have installed 11gR2 on linux machine without any error .
Now i have imported all object of ocdm_sys and ocdm_sample_sys .Now when i am trying to start the process flow .
Its throwing me error RTC-5190 There is no location associate with current module operation abandon .
Can u please tell also the steps to running the ETL process . I am trying using ocdm_sample_sys user with all sample data.
Please tell me the steps i need to do after installation to run ETL process also like any changes need to be done.?
At the time of workflow creation i got this error is that above error related to this ..
WorkflowCA: Workflow component container deployed in OC4J: /u01/app/oracle/product/11.2.0/dbhome_1/jdk/bin/java -Doc4j.autoUnpackLockCount=-1 -Doracle.security.jazn.config=/u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/OC4J_Workflow_Component_Container/config/jazn.xml -Djava.security.properties=/u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/config/jazn.security.props -jar /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/oc4j.jar -userThreads -config /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/OC4J_Workflow_Component_Container/config/server.xml
WorkflowCA: Executing :/u01/app/oracle/product/11.2.0/dbhome_1/jdk/bin/java -jar /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/admin.jar ormi://v-agilent29:6041 oc4jadmin welcome -application WFALSNRSVCApp -testDataSource -location jdbc/WorkflowDS -username OWF_MGR
WorkflowCA: :nullError: Could not connect to the remote server. Please check if the server is down or the client is using invalid host, ORMI port or password to connect: Connection refused for app:WFALSNRSVCApp
WorkflowCA: Executing: /u01/app/oracle/product/11.2.0/dbhome_1/jdk/bin/java -jar /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/admin.jar ormi://v-agilent29:6041 oc4jadmin welcome -application WFALSNRSVCApp -installDataSource -url jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=v-agilent29)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ocdm))) -username OWF_MGR -password ->pwForOwfMgr -className com.evermind.sql.DriverManagerDataSource -location jdbc/WorkflowDS -xaLocation jdbc/xa/WorkflowDS -ejbLocation jdbc/WorkflowDS -connectionDriver oracle.jdbc.driver.OracleDriver
WFCA OUT: Error: Could not connect to the remote server. Please check if the server is down or the client is using invalid host, ORMI port or password to connect: Connection refused
WorkflowCA: Exit Val: 2
WorkflowCA: Created a redirected data source with application WFALSNRSVCApp :
WorkflowCA: Executing :/u01/app/oracle/product/11.2.0/dbhome_1/jdk/bin/java -jar /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/admin.jar ormi://v-agilent29:6041 oc4jadmin welcome -application WFMLRSVCApp -testDataSource -location jdbc/WorkflowDS -username OWF_MGR
WorkflowCA: :nullError: Could not connect to the remote server. Please check if the server is down or the client is using invalid host, ORMI port or password to connect: Connection refused for app:WFMLRSVCApp
WorkflowCA: Executing: /u01/app/oracle/product/11.2.0/dbhome_1/jdk/bin/java -jar /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/admin.jar ormi://v-agilent29:6041 oc4jadmin welcome -application WFMLRSVCApp -installDataSource -url jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=v-agilent29)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ocdm))) -username OWF_MGR -password ->pwForOwfMgr -className com.evermind.sql.DriverManagerDataSource -location jdbc/WorkflowDS -xaLocation jdbc/xa/WorkflowDS -ejbLocation jdbc/WorkflowDS -connectionDriver oracle.jdbc.driver.OracleDriver
WFCA OUT: Error: Could not connect to the remote server. Please check if the server is down or the client is using invalid host, ORMI port or password to connect: Connection refused
WorkflowCA: Exit Val: 2
WorkflowCA: Created a redirected data source with application WFMLRSVCApp :
WorkflowCA: Executing: /u01/app/oracle/product/11.2.0/dbhome_1/jdk/bin/java -Djava.security.properties=/u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/config/jazn.security.props -Doracle.security.jazn.config=/u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/OC4J_Workflow_Component_Container/config/jazn.xml -jar /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/jazn.jar -user oc4jadmin -password welcome -adduser jazn.com pwForOwfMgr <WFCA WF PASSWORD>
The specified user already exists in the system.
WorkflowCA: Created obfusticated password for redirect datasource:
WorkflowCA: Executing: /u01/app/oracle/product/11.2.0/dbhome_1/jdk/bin/java -jar /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/home/admin.jar ormi://v-agilent29:6041 oc4jadmin welcome -shutdown
WFCA OUT: Error: Could not connect to the remote server. Please check if the server is down or the client is using invalid host, ORMI port or password to connect: Connection refused
WorkflowCA: Exit Val: 2
WorkflowCA: Executed OC4J Admin script to shut down the OC4J instance :
WorkflowCA: Mon Jun 21 18:03:30 IST 2010
WorkflowCA: Workflow Configuration has completed with error.
WorkflowCA: Terminating...
I drop the owf_mgr schema 3 4 times and tried it but still i am getting the error.Hi
If you check out the post here you will see the script sqlplus_exec_template.sql mentioned, this can be used to execute mappings and process flows from the command like;
http://blogs.oracle.com/warehousebuilder/2008/11/using_3rd_party_schedulers_with_owb_1.html
Cheers
David -
RPE-02248: FTP in process flow deactivated by db-admin
Hi,
when starting a process flow with a ftp activity I get the error RPE-02248 that the ftp activity is deactivated from the db-admin because of security risks.
But no hint where and who to activate it!
Can anybody helps me, please?
Regards,
DetlefHello!
Metalink gives the following solution to this problem:
To enable these activity-types you need to edit the file:
<owb-home>/owb/bin/admin/Runtime.properties
To enable your ftp activity, you need to change the value of the property
property.RuntimePlatform.0.NativeExecution.FTP.security_constraint
to NATIVE_JAVA.
Change the below parameter from:
property.RuntimePlatform.0.NativeExecution.FTP.security_constraint = DISABLED
to
property.RuntimePlatform.0.NativeExecution.FTP.security_constraint = NATIVE_JAVA
You need to modify the file on the Oracle Home running the Control Center service,
not the client, and then bounce the Control Center service using:
<owb-home>/owb/rtp/sql/stop_service.sql
<owb-home>/owb/rtp/sql/start_service.sql -
Process Flow Parameters.
A quick question:
Does anyone know if it is possible to have a process flow pass variable values into variables defined in a sub-process? I mean, clearly I could have the main process run a transformation to write this value to a table, and then have a transformation in the sub-process retrieve it, but I would prefer a cleaner approach if possible.
Any ideas?Aha! It was the Parameters I hadn't got figured out.
Thanks a lot!
--Mike -
How to schedule mappings to process flows?
Hi,
I have shceduled a calendar (Job) which is referring to a process flow. But how can I make sure that the mappings are referring to the same process flow?
E.g. I have scheduled job at 10 AM , I have created the process flow for 10 AM referring to the same scheduled job.
My understanding here is there is a hierarchy : Scheduled jobs > Process Flows > Mappings
I have configured the process flow to run it at a scheduled job, now I want the mappings to understand to run at the same time as that of the schedule.
And also when I start the process flow all the mappings should get executed.
Is there any parameter to tell the process flow that all these mappings falls under you.
Hope I have made myself clear.
Can anyone please look into this query?
Thnks in adv..When I double click and open my process flow I am not able to see any mapping. We have stored procedures written:
ln_exists NUMBER;
LS_ERROR VARCHAR2(200);
LD_START_PERIOD_DT DATE;
LD_END_PERIOD_DT DATE;
EX_PF_NOT_VALID EXCEPTION ;
EX_SUB_PF_NOT_VALID EXCEPTION ;
EX_LAYER_NOT_VALID EXCEPTION ;
EX_MODULE_NOT_VALID EXCEPTION ;
EX_DATE_FORMAT_ERR EXCEPTION ;
BEGIN
--1: Check the Process Flow parameter value
IF IP_PF IS NOT NULL THEN
select count(*)
into ln_exists
from adm_process_flow_par
where process_flow = IP_PF;
IF ln_exists =0 THEN
RAISE EX_PF_NOT_VALID;
END IF;
END IF;
--2: Check Sub Process Flow Parameters value
IF IP_SUB_PF IS NOT NULL THEN
select count(*)
into ln_exists
from adm_sub_pf_par
where sub_pf_code = IP_SUB_PF;
IF ln_exists = 0 then
RAISE EX_SUB_PF_NOT_VALID;
END IF;
END IF;
--3:Check Layer Code Parameter Value
IF IP_LAYER IS NOT NULL THEN
select count(*)
into ln_exists
from adm_lookup_code
where lookup_type='LAYER_CODE'
and lookup_code= IP_LAYER;
IF LN_EXISTS =0 THEN
RAISE EX_LAYER_NOT_VALID;
END IF;
END IF;
--4: Check Module Code Parmeter Value
IF IP_MODULE IS NOT NULL THEN
select count(*)
into ln_exists
from adm_lookup_code
where lookup_type IN ('SOURCE_SYSTEM','SUBJECT_CODE')
and lookup_code= IP_MODULE;
IF LN_EXISTS =0 THEN
RAISE EX_MODULE_NOT_VALID;
END IF;
END IF;
--5: Check start Period date & End Period Date Format
BEGIN
IF IP_START_PERIOD_DT IS NOT NULL THEN
LD_START_PERIOD_DT := TO_DATE(IP_START_PERIOD_DT,'YYYY-MM-DD');
END IF;
IF IP_END_PERIOD_DT IS NOT NULL THEN
LD_END_PERIOD_DT := TO_DATE(IP_END_PERIOD_DT,'YYYY-MM-DD');
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE EX_DATE_FORMAT_ERR;
END;
EXCEPTION
WHEN EX_DATE_FORMAT_ERR THEN
LS_ERROR := 'Date Format is not valid ,please check (FORMAT: YYYY-MM-DD HH24 /YYYYMMDDHH24)';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20002,LS_ERROR);
WHEN EX_PF_NOT_VALID THEN
LS_ERROR := 'The Process Flow Value is not valid ,please check table adm_process_flow_par';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20002,LS_ERROR);
WHEN EX_SUB_PF_NOT_VALID THEN
LS_ERROR := 'The Sub Process Flow Value is not valid ,please check table adm_sub_pf_par';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20003,LS_ERROR);
WHEN EX_LAYER_NOT_VALID THEN
LS_ERROR := 'The Layer Code Value is not valid ,please check adm_lookup_code(lookup_type="LAYER_CODE")';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20004,LS_ERROR);
WHEN EX_MODULE_NOT_VALID THEN
LS_ERROR := 'The Layer Code Value is not valid ,please check adm_lookup_code(lookup_type IN ("SOURCE_SYSTEM","SUBJECT_CODE")';
SP_ERROR_REC(NULL,IP_PF,IP_SUB_PF,IP_MODULE,IP_LAYER,NULL,NULL,LS_ERROR,'SP_CHECK_PARAMETER_VALID',NULL);
RAISE_APPLICATION_ERROR(-20005,LS_ERROR);
END;
Can anyone throw some light on this issue?
Edited by: user11001347 on May 11, 2010 11:46 PM -
How to start a process in Business Workflow out of GP
HI!
How is it possible to start a process in SAP Business Workflow (BWF) with parameter of a GP process. The prosess starts in GP and continues in BWF. So the parameters have to be transfered and the BWF process has to be initiated - is this possible?Hi Dominik,
Yeah, it is possible, You can initiate BWF process from GP process.
like..
-->create collable object of type "SAP Transaction" and click next
-->select SAP sytem and enter Tx code. click next
--> in the Define input step if the parameter does not show up click on Add Manually and enter tx code Technical name
click next ... next fininsh and open
Regards
Srikanth -
Process Flow Error: nonexistent LOB value
Hi,
I would like to send an email of all mapping statuses of the day. I created function to retrieve all messages from OWB$WB_RT_AUDIT_MESSAGE_LINES. Sometimes it works and another time it fails. After a little investigation I got the cause of this failure: length of the message exceed the limitation of VARCHAR2 (4000 bytes).
Then I created another function for testing as follows:
CREATE OR REPLACE FUNCTION FTEST_VAR RETURN CLOB IS
tmpVar CLOB;
BEGIN
tmpVar := 'test';
RETURN tmpVar;
END FTEST_VAR;
From SQLPlus I was able to query this function:
SQL>select ftest_var tst from dual;
TST
test
Then I created a process flow like this:
START1->FTEST_VAR->EMAIL->END_SUCCESS
In the process flow I created a variable EMAILBODY to bind to the output of FTEST_VAR and then bind EMAILBODY to the MESSAGE_BODY of the EMAIL.
I deployed and run the process flow. It failed with this error message:
ORA-22922: nonexistent LOB value
ORA-06512: at line 1
Could anybody please shed a light on this?
TIA
PratI am trying to setup pretty much the same type of flow to email job messages using a CLOB. Were you able to find a solution?
Thanks! -
EMail and SQLPLUS activity in process flow
Hi Guys,
I am struggling to get the email activity working. I entered all the details but no email is sent?
Secondly, I had an easy sql plus script that I pasted into the script property box
But the sqlplus just does not execute?
truncate table xxx;
quit
Any ideas?Make sure there are no spaces after you have replaced DISABLED with NATIVE_JAVA.
Any space after the NATIVE_JAVA will not work.
Can you give details like what are you using Script or Parameter list etc ?
Did you configure the deployed location for the SQLPLus parameter ??
Regarding Your EMAIL -
Is your process flow showing any error regarding email ??
Create a simple process flow with email activity only.
Set FROM_EMAIL , TO_EMAIL , SUBJECT ,MESSAGE_BODY, SMTP_SERVER , PORT
SMTP_SERVER and PORT values are very important.
Check connection to SMTP_SERVER by running the following command on dos prompt
telnet smtp_server_name port
If this works this means your smtp server is working. Now just deploy and run your processs flow.
If it still doen't send you email, check whats in the log.
The log should give you any errors regarding email like ORA-06512: at "SYS.UTL_TCP", line 17 ,etc (if any).
Thanks,
Sam. -
Process Flow Exit Parameters, Possible?
I want to send through variables from One process to Another within a Process Flow Package, is this possible.
I'm not able to add EXIT parameters to the END Object through which I can hand over values to the next process, how is this done?Sorry, currently it is not possible. In the next release, END activity will support parameters.
Nikolai Rochnik
Maybe you are looking for
-
I am based in the UK and have just got a new iphone 6, everything works well except when i try to turn on the itunes store app - i can do a search and buy music etc that way, within the app, however, if i go to Music, Movies or the TV shows section
-
How to loop an swf a set number of times?
I need to loop a banner animation a set number of times, then get it to gotoandstop on a final frame. I know in the past I could use: counter++; if (counter<5) { gotoAndPlay (1); } At least for the looping part (don't even know yet about the stop pon
-
Hi Guys, I have a problem that when I export a BO report to Excel, the bar graph from BO gets very scrunched up and narrow, with the X-axis barely visible once it goes to Excel. But in BO, the report looks great. With all the cells aligned and matchi
-
Hi guys it had been a while since I came to the forum, last night as I was browsing the web my PB screen went dark and the fan started working to the max, after a couple of minutes I decided to shut it down since it wasn't doing anything. When I trie
-
IPhone 3GS upgraded to iOS5, vibrate doesn't work
I upgraded my iPhone 3GS to iOS5 a couple weeks back and since then vibrate hasn't worked. I've checked that vibrate is enabled in Sounds and also checked Notifications. I managed to get the iPhone to vibrate once after the upgrade, but not since. Ev