I'm using the variables browser from the task editor and that's the item I find a little clunky. I don't have any suggestions on how to make it less clunky so i thought I'd make a suggestion for an alternative.
The job I'm working on has 7 tasks - it behaves like a standard SSIS ETL task.
1. Identify the data flow task by name and set the CET (current extract time) datetime. Return the data flow id, LSET and CET values.
2. Insert event record and return the event id.
3. Clear the staging table data - SQL task
4. Import data - SQL task to run a stored procedure - return some row counts - on error go to task 7. Stored Procedure parameters include CET and LSET from a loop on task 1 output.
5. Update event log - loop on the row counts and use the event id from task 2 and return the event log row
6. Update LSET (last successful extract time) in data flow table - uses the data flow id from event log row returned task 5.
7. Exception handler - update event log with various items from task 4 - Name, StdErr and ExitCode as well as the event id from task 2.
One strange thing is that when I force the stored procedure in task 4 to raise an error, the job doesn't go to task 7 even though I have set task 4 "on error" to go to that task.
I can't see how I can avoid using GUIDs altogether.