Categories
- All Categories
- Oracle Analytics Learning Hub
- 30 Oracle Analytics Sharing Center
- 18 Oracle Analytics Lounge
- 238 Oracle Analytics News
- 45 Oracle Analytics Videos
- 16K Oracle Analytics Forums
- 6.2K Oracle Analytics Idea Labs
- Oracle Analytics User Groups
- 88 Oracle Analytics Trainings
- 15 Oracle Analytics Data Visualizations Challenge
- Find Partners
- For Partners
BI Publisher 11g report bursting to supervisors emails not executing but scheduling job executes and
Summary
BI Publisher 11g report bursting to supervisors emails not executing but scheduling job executes and status shows success with output
Content
Q. I created a report called Employee Anniversary Report which I intend to burst by email to supervisors. I'm not receiving any report but when I schedule it to the supervisors emails, they receive it.
When I look at the report history,the status shows success. Why won't the bursting by email go through?

Answers
-
Why are you hard coding PARAMETER1. It should be the 'SUPERVISOR_EMAIL' column. Also I'll suggest to make 'Split By' to 'SUPERVISOR_EMAIL'.
0 -
Just realized that your parameter values are wrong. Read documentation https://docs.oracle.com/cd/E28280_01/bi.1111/e22258/add_burst_def.htm#BIPDM350
Only Parameter 1 is correct. Subject is 'PARAMETER 4, message body is 'PARAMETER5' etc..

Bursting query example.
SELECT login key, 'bipdm_rpt' template, 'en-US' locale, 'pdf' output_format, 'EMAIL' del_channel, 'Scorecard' || '_' || login AS output_name, email parameter1, 'sherrygeorge@abc.com' parameter2, 'bip@abc.com' parameter3, TO_CHAR( SYSDATE, 'Month' ) || 'Scorecard' parameter4, 'Hi ' || login || ',' || CHR(10) || CHR(10) || 'Here is your scorecard for the month of ' || TO_CHAR( SYSDATE, 'Month' ) || '.' || ' Please reach out to your supervisor if you have any questions/clarifications about your scorecard.' parameter5, 'true' parameter6FROM wc_user_email_test
Also I believe you have enabled bursting under report properties.
0 -
Here are a few things you could still do.
1.Bump up the bi publisher log and look for clues there.
2.Ask the recipients to check their junk/spam folder.
3.Check with your mail server admin if they are blocking any emails.
4.Can you confirm the bursting query returns results when run in the database (from sql developer/sql plus)? Post results here.
5. Also post the XML data from the dataset.
0 -
I removed the single quotes and scheduled report on ' run now '. Still no emails from the bursting.
I welcome all ideas. I and my colleagues have exhausted our troubleshooting ..
0 -
Why is SUPERVISOR_EMAIL in single quotes? It should be a column in the Employee_Anniversary_Report table.
0 -
I adjusted 'split by' and 'deliver by' to use 'SUPERVISOR_EMAIL' and equally removed the hard coded emails to 'SUPERVISOR_EMAIL'.
This too didn't burst to emails. Any idea?
0 -
Here is the xml data as requested
0 -
So,
1. I had enabled bursting under report properties as above.
2. No junk emails in supervisors spam folders and no blocked emails by server admin.
3. I corrected the bursting sql query to reflect the above parameter ordering..
A background:
This is the query I ran in the database to create a data model called Employee_Anniversary and a report called Anniversary Report.
SELECT ppf1.local_name Supervisor_Name
--,ppf1.full_name Supervisor_Name
--,'andyxx@xxx.com' Supervisor_Email
,ppf1.email_address Supervisor_Email
--,DECODE(ppf1.email_address,'rodxxx@xxx.com',
--'axxx@xx.com','axx@xxx.com') Supervisor_Email
,ppf.full_name Emp_Name
,ppf.last_name Emp_Last_Name
,ppf.first_name Emp_First_Name
,ppf.original_date_of_hire Emp_Orig_Hire_Date
,ppos.date_start Emp_Latest_Hire_Date
,ppf.date_of_birth
,lower(ppf.email_address) email_address
,ppf.employee_number
,ppf.national_identifier
,( CASE WHEN TRUNC(MONTHS_BETWEEN(SYSDATE, TRUNC(ppos.date_start,'Month')) / 12) <= 1 THEN '1 Year '
ELSE TRUNC(MONTHS_BETWEEN(SYSDATE, TRUNC(ppos.date_start,'Month')) / 12) || ' Years '
END ) Employment_Duration
--,(TRUNC(MONTHS_BETWEEN(SYSDATE, ppos.date_start) / 12) || ' Years '
-- ||MOD(TRUNC(MONTHS_BETWEEN(SYSDATE,ppos.date_start)),12)||' Months '
-- ||(TO_DATE(SYSDATE)- ADD_MONTHS(ppos.date_start,TRUNC(MONTHS_BETWEEN
--(SYSDATE,ppos.date_start))))|| ' Days ') Employment_Duration
,TO_CHAR(SYSDATE,'Month') Current_Month
FROM per_all_people_f ppf1
,per_all_assignments_f paaf
--
,per_all_people_f ppf
,per_person_types ppt
,per_person_type_usages_f pptu
,per_periods_of_service ppos
WHERE 1 = 1
--AND ppf1.last_name = 'Gxxxxxxxxx'
AND TRUNC(SYSDATE) BETWEEN TRUNC(ppf1.effective_start_date) AND TRUNC(NVL(ppf1.effective_end_date,SYSDATE))
AND ppf1.person_id = paaf.supervisor_id
AND ppf1.business_group_id = paaf.business_group_id
AND TRUNC(SYSDATE) BETWEEN TRUNC(ppf.effective_start_date) AND TRUNC(NVL(ppf.effective_end_date,SYSDATE))
AND paaf.assignment_number IS NOT NULL
AND paaf.primary_flag = 'Y'
AND paaf.person_id = ppf.person_id
--
AND ppf.employee_number IS NOT NULL
AND ppf.current_employee_flag = 'Y'
AND TRUNC(SYSDATE) BETWEEN paaf.effective_start_date AND paaf.effective_end_date
AND ppf.business_group_id = paaf.business_group_id
AND ppf.person_type_id = ppt.person_type_id
AND ppf.business_group_id = ppt.business_group_id
AND ppt.user_person_type = 'Employee'
AND ppf.person_id = pptu.person_id
AND ppt.person_type_id = pptu.person_type_id
AND TRUNC(SYSDATE) BETWEEN pptu.effective_start_date AND pptu.effective_end_date
AND ppf.person_id = ppos.person_id
AND ppos.actual_termination_date IS NULL
AND UPPER(SUBSTR(TO_CHAR(ppos.date_start,'DD-MON-YYYY'),4,3)) = UPPER(SUBSTR(TO_CHAR(TRUNC(SYSDATE),'DD-MON-YYYY'),4,3))
AND MONTHS_BETWEEN(TRUNC(SYSDATE),TRUNC(ppos.date_start)) > 11
ORDER BY 1,8
Below is the bursting sql query with ' split by' and 'deliver by' conditions set.
P.s I also used SUPERVISOR_EMAIL for both 'split by ' and 'deliver by'

Now,
' Error 00942 table or view doesnt exist ' when we run the above bursting query in slq developer.
We have tried the below solutions for the error above as recommended in a different blog..
https://stackoverflow.com/questions/16129912/sql-error-ora-00942-table-or-view-does-not-exist
Any solution ?
0