- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 11:42 AM
Hi all!
I have a custom table u_classroom_codes with 86 records. Every 3 months I replace data in the table with a scheduled data import. I have an email notification set up so that I receive an email letting me know that the table has been updated with current data. I get 86 emails. I assume I'm getting one email for every record that has been updated. I just want to get one single email so that I know the table has been updated. Can someone suggest how to setup my email notification correctly? Below is a screen shot of how it is currently set. Please note I'm a newbie with no scripting experience.
I think the problem is that the table I selected within 'Email Notifications' is my table with 86 records. The notification is doing as it's told and alerting me every time a record is updated. Maybe I can select a different table such as one that that will only have one records which updates upon my successful data load or maybe when my scheduled job has been completed...?
Components:
- Table: u_classroom_codes (always 86 records)
- Data Source: auto_load_classroom_codes
- Table Transform Map: Auto Classroom Code load
- Scheduled Data Import: Classroom Codes
- Registry: classroom_codes_update.completed
- System Policy > Notifications: "Notify that Classroom Codes table data updated"
Much thanks!!
Cathy
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 11:59 AM
Hello Cathy,
You can follow these steps to get the notification you want.
1. Create event in System Policy -> Events -> Registry
Name: classroom.import.completed
Table: Import Set
2. Go to the Auto Classroom Code load transform map and select the Transform scripts tab. Create a new transform map script:
When: onComplete
Script:
gs.eventQueue("classroom.import.completed", import_set);
3. Edit your notification to be sent when an event is triggered and select the classroom.import.completed event.
EDIT: Maybe you don't have to create a new event and you can use the one you already have.classroom_codes_update.completed.
Who should receive this email? is it always going to be you? or the person who runs the import?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 05:01 PM
Thank you. I set the email notification so that the subject is: Classroom Codes data updated for ${u_quarter}
I added the 3rd parameter to my Transform Script as you suggested.
I tested and it did not work (I got the email, without the "u_quarter field" populated.
You mentioned I can "access it from the notification as: event.parm1." However I am not sure what you mean by that, or what steps I need to take. Could you elaborate?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 05:14 PM
Can you please share again how the event is appearing in the log? Just want to make sure that parm1 contains the value you want.
I'm not sure if you can use event.parm1 directly in the subject (maybe it will work). But I'm sure that you can do something like this in the message of the email:
<mail_script>
email.setSubject("Classroom Codes data updated for" + event.parm1);
</mail_script>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 05:20 PM
I just tested that, and it almost works - except it seems to return the SysID:
Classroom Codes data updated for0afc45eefcd6e14007055fafd85f0f3a
If it helps, it doesn't matter if the field "u_quarter" is in the subject or the body of the email...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 05:28 PM
Cathy,
I'm assuming u_quarter is a choice field? If so, try using this as your event.parm1:
target.u_quarter.getDisplayValue()
If it's a reference field, you might need to do something like:
target.u_quarter.(name of field you want to add)
For example: target.u_quarter.quarter_name;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 05:36 PM