A technical UC4 Fan Blog
Last week there was the UC4 user conference "Innovate EMEA 2013" in Munich.
If you are from the EMEA region, and you were not there, then you've really missed something!
At such a conference, you always learn many interesting things, and many of these, you learn in between the sessions. You think that the UC4-renaming-wave is over? They kept the best for the end. There hasn't been an official announcement at the Innovate conference, but there was lots of talk - in a few weeks, we'll all know more about it!
What has been officially announced in Munich is the new "UC4 DB Training": I'm developing a training together with UC4, that is for UC4 users with access to the UC4 database. It'll be available this fall in German - let me know if you're interested, but don't know German.
At the Innovate, I gave a presentation showing a few examples what you can achieve by using the UC4 database.
I'll post some or all of the examples at a later time.
Today, I want to introduce the DB-training to you, give you an idea, what it's about, and let you know all there is to know so far.
The UC4 Auto Forecast enables you to take a look at the near future.
You can get a general overview over all scheduled tasks in your UC4 environment with the SQL queries from my blog post last year at http://www.uc4blog.com/uc4blog/you-see-forward/.
Today I want to show you a way to peak into the distant future. What will run on your system a year from now?
More precisely, I want to show you how to find out, which Calendar Keyword include a specific day, and which tasks use these Calendar Keywords.
In many cases, the runtime of jobs or processes depends on the amount of processed data, the season, or other variables. Demographic reporting on China will probably run a lot longer than on Andorra, just like logistic processes of an online retailer will have more data in December than in July, or the overseas delivery of a power station generator will take longer than the delivery of small spare parts to the same address.
Many times, though, it is the same Workflow that processes small datasets on one occasion and finishes in minutes, and at other times is processes large datasets and takes hours or days.
For such Workflows, the Estimated Runtime (ERT) in UC4 is a bad measure to estimate the runtime or monitor the potential violation of SLAs, because the ERT is always calculated on the object level.
I will demonstrate an approach how you can parameterize your runtime estimations, and implement a dynamic runtime supervision based on this estimation.
One tip before I start: don't put too much work into setting up a full-featured, perfect automation of this concept for your environment, because I've heard that UC4 plans a feature for it in V10.
HOLD ON! Don't run away so fast, just because you might not want to automatically disconnect any user sessions. This post also contains a few nice little SQL queries, and it shows an undocumented feature of a UC4 Script statement.
If you really plan to automatically disconnect inactive users from the system, I want to tell you upfront that my approach in this post doesn't take into account every possible kind of user activity. It only considers following actions: Activation of an object, creation, modification or use of an object.
If that's not enough, you can always exclude individual user names, e.g. if you have read-only users that may be logged in for a long time without performing any of the above mentioned actions.
When I started to work with UC4, I started to collect handy SQL queries. Whenever I used a query to solve any specific task, I'd save the query together with a short description in my collection, so I wouldn't have to re-invent the wheel next time.
Today, I hardly use this documentation any more, I write most queries directly at the SQL prompt when I need them. One or the other of them might lead to a blog post, if it has some cool features or a good story around it, but usually I close the SQL client without saving after I'm done.
Today I want to share a few of my old collectibles with you - maybe you find something useful to you.
Silent Night is just over, and the season of contemplation has just passed, I
couldn't find the time to write. Looking at the access statistics of
UC4Blog.com, I see that you weren't spending this time reading, anyway, or you
found something more interesting to read.
To make up for my absence, I'll deliver a small automation solution you can use out-of-the-box ... at least if you have a recent AutomationEngine 9.00.
Even though everybody knows that emails pull away a lot of our productivity from us, many customers or business units around the world want reports, statistics and calculations to be sent to them by email ;-)
past, we used small Shell scripts or Powershell scripts, or we utilized the
SEND_MAIL UC4 Script function. Since V9, the Notification object (CALL) can do
it for us. In combination with :REGISTER_OUTPUTFILE, FILTER-objects and
PromptSets, this makes a handy little tool for sending external files.
This might not be less complicated than Shell scripts, but easier to use in a UC4 environment … and it fits to a UC4-Blog.
Attention: This blog post concerns MS SQL Server ant it's not all UC4 specific.
Some time ago I had to take care of a peculiar performance problem. The most obvious symptom were grayed out WPs in System Overview, and the resulting loss of system performance. Sometimes it could get so bad that the system was literally not responding anymore, but after some 10 to 20 minutes later, all symptoms vanished and within a few minutes, the system was back to normal as if nothing had happened.
The WPs' logs showed very long database queries, so that's where I started my investigation …
Yesterday, "Richie" asked the Yahoo group "UC4_US" for a method to find out what jobs on a client are not scheduled anymore.
"jimgriffith" answered he uses an SQL query to find everything that doesn't have a recent entry for AH_TIMESTAMP4, and evaluates this list.
As I saw these messages, I thought "Hey, didn't I write a blog post about this some time ago?" - Well, I didn't. But some of my older articles contain the incredients it takes.
So: Here's to you, Richie! ;-)
UC4 saves most object logs (called "Reports") in the database. There are a few exceptions, for example there is a size limit for Job reports, you can adapt it to your needs though. Inside the database, the reports are stored block-wise, the maximum block size is limited by the definition of the DB-field RT.RT_Content, where the report blocks are stored - 8000 bytes (technically this is not true for Oracle databases, but you cannot set REPORT_BLKSIZE greater than 8000, even if you use an Oracle database)
The report window in the UserInterface splits large reports into multiple pages, in the lower right corner of the window are the controls to navigate through the pages. A report can be split into very many pages, a SYNC object with a lot of activity can easily grow to 100 pages, especially since a page contains only 250 lines (messages) there.
all menu items like "Print Preview", "Print" and
"Export to file …" only refer to the current page of the report, not
to the full report. The UserInterface currently provides no way to open or
export the full report.
A few approaches to solve this:
I gave a
presentation about some UC4 use-cases at the UC4 user conference "Innovate
2012 EMEA", as I blogged
here already in March. Just recently I got the report about the feedback
questionnaire, where the visitors could give grades to the presentation in the
three categories Content, Presentation and Benefit.
I was greatly surprised and tickled pink when I learned that my presentation won in all three categories(!) - the attendees quasi gave my presentation a triple-A rating :-)
Welcome to my UC4-Tech-Blog
Here you can find technical articles on UC4 Operations Manager
(versions 6.00 and 8.00) and the UC4 Auomation Engine (version 9.00). I describe automation approaches, helpful SQL queries, and experiences with administration of a UC4 OM system and its components.
I hope you find interesting articles, and I'm looking forward to your comments.
One last small note:
I have no direct connection to UC4 or the UC4 Software GmbH other than being a User of their software. The official, non-technical UC4-Blog can be found at http://www.uc4.com/blog
Name: Philipp Elmer
UC4-User since: Summer 2006
I'm a freelancer and started in December 2000 as a Unix operator. My job always included some form of batch-processing, process-automation and scheduling.
Before working with UC4, I already scheduled with cron ;-) , Maestro and Control-M.