- 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:51 PM
Cathy,
Can you try this code?
- gs.eventQueue("classroom_codes_import.completed", import_set, target.u_quarter, target.u_quarter);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 06:01 PM
Thanks Edwin. I just tried that and still, I only see the SysID.
Here's what I currently have:
1. Email script:
email.setSubject("Test6 Classroom Codes data updated for" + event.parm1);
2. Transform script:
gs.eventQueue("classroom_codes_import.completed", import_set, target.u_quarter, target.u_quarter);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 06:15 PM
Cathy,
And you are still not seeing the correct value of u_quarter in any of parm1 or parm2 in the event log? according to the documentation "target" has the last row of the target table so it should have u_quarter.
You can write another test by writing this line after the gs.eventQueue statment:
gs.log("The quarter value is " + target.u_quarter );
If the correct value is being logged, then the problem is in the event creation. If you still get a sys_id, then we will have to figure out another method to get the quarter value.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 06:25 PM
Here is what I see in the Event logs - only the SysID (see pic below). Also below are the scripts I am currently using.
1. Email script:
email.setSubject("Test6 Classroom Codes data updated for" + event.parm1);
2. Transform script:
gs.eventQueue("classroom_codes_import.completed", import_set, target.u_quarter, target.u_quarter);
Thank you so much for your help! I will check back tomorrow to see if there are any other suggestions to try. Have a good night!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-11-2015 06:33 PM
Sorry I missed your suggestion to add the test. I just updated my script to read:
gs.eventQueue("classroom_codes_import.completed", import_set, target.u_quarter, target.u_quarter);
gs.log("The quarter value is " + target.u_quarter );
and still, the same results. After running that test, I only see the SysId in column Parm1 of event log.