Skip to main content

OTN Nordic ACE Tour : A Tale of Three Cities

3 days - 3 cities - 6 presentations (4 different ones)

My tour started on Monday afternoon when I left my house around 1.30PM to get on the bus to the train station. The 2PM train left exactly on time for the Amsterdam airport. I arrived at Schiphol around 3:30PM, perfectly on time to catch the 5PM flight to Copenhagen.
The flight to Copenhagen was very uneventful. From the airport I took the train / metro into the city. I already received an email message from one of my co-travellers, Martin Widlake, who was sitting al alone in a bar downtown. The poor guy. So I rescued him and was briefly after that joined by Sten Vesterli - another ACE Director from the organising country. After just one beer we head over to the restaurant where we met the rest of the board of the Danish Oracle User Group and the other two co-travellers, John King and Ludovico Caldera, for a very nice dinner.
As the city was crowded due to another - slightly larger - conference all hotel rooms were either booked or extremely expensive or far far away, the speakers were invited to stay the night at one of the board member's houses. I had the honour to stay at Sten's place and had a good night sleep.

The next morning we had a short drive to the Oracle office were breakfast was served and about 70 attendees showed up for the sessions. My two sessions - about JavaScript and APEX 5.1 - were well attended and went smooth (in my opinion). The lunch was excellent and the Miracle beer during the afternoon "coffee" break was very welcome. When the last speaker was done we went straight to the airport for our flight to Oslo. We killed the time by talking and drinking just one beer.
In Oslo we took the high speed train into town, walked a few 100 metres to our hotel and were welcomed by Ã˜yvind. After dropping off our bags we quickly went to something called the "Beer Palace" at a very short distance of the hotel. But before we enjoyed the local drinks we went to the burger joint next door to grab a bite (we took it back into the bar to be exact). Not much later Ann-Sofie (another OUGN Board member) joined us as well. And after a drink or two we called it a night.

The venue in Oslo was very close by, so after an excellent breakfast we walked down there in just 5 minutes. I estimate about 50 attendees here. All 4 presenters had to deliver 3 presentations each - so at the end of the day we were quite "done". We declined the invitation to "have just one beer" (sorry Bjørn) and went to the train station and straight to the airport. While waiting for our next flight to Helsinki we grabbed a beer and a sandwich.
The flight to Helsinki took just over an hour, but included a time zone shift. When we arrived at the airport we took a shared cab that brought us to our hotel downtown were we arrived around 10:30PM. And the bar would close at 11PM. So a quick check-in, drop off the bags and use the remaining bar time properly.

For the next morning Heli had invited us for a tour through downtown Helsinki. So after breakfast we walked around enjoying the cool air (just above freezing) of Finland! This is were the local "Glögi" was more than welcome!
After returning safely back to the hotel, grabbed our stuff, checked out and walked 30 meteres to the Accenture office where the OUGF event was held. The event started with an excellent lunch, after which myself and Martin did our talks. And there is where our paths split. While Martin and I left for the airport to catch our 6PM'ish flights back home, John and Ludo stil had to do their presentations and will later catch their flights to the last stop, Stockholm.

As this was my very first ACED tour, I have to say it was quite an experience. It feels like: get into a taxi, onto a plane, into a train, find the hotel, do a presentation and then start this sequence all over again. So busy, very busy, But with the good company of Martin, John and Ludo it actually quite enjoyable!
Thanks to the local user groups for inviting me and thanks for the OTN ACE Program for the support! It was a blast.
(now in the lounge waiting for my flight back home....)

Comments

Popular posts from this blog

Filtering in the APEX Interactive Grid

Remember Oracle Forms? One of the nice features of Forms was the use of GLOBAL items. More or less comparable to Application Items in APEX. These GLOBALS where often used to pre-query data. For example you queried Employee 200 in Form A, then opened Form B and on opening that Form the Employee field is filled with that (GLOBAL) value of 200 and the query was executed. So without additional keys strokes or entering data, when switching to another Form a user would immediately see the data in the same context. And they loved that. In APEX you can create a similar experience using Application Items (or an Item on the Global Page) for Classic Reports (by setting a Default Value to a Search Item) and Interactive Reports (using the  APEX_IR.ADD_FILTER  procedure). But what about the Interactive Grid? There is no APEX_IG package ... so the first thing we have to figure out is how can we set a filter programmatically? Start with creating an Interactive Grid based upon the good old Employ

apex_application.g_f0x array processing in Oracle 12

If you created your own "updatable reports" or your custom version of tabular forms in Oracle Application Express, you'll end up with a query that looks similar to this one: then you disable the " Escape special characters " property and the result is an updatable multirecord form. That was easy, right? But now we need to process the changes in the Ename column when the form is submitted, but only if the checkbox is checked. All the columns are submitted as separated arrays, named apex_application.g_f0x - where the "x" is the value of the "p_idx" parameter you specified in the apex_item calls. So we have apex_application.g_f01, g_f02 and g_f03. But then you discover APEX has the oddity that the "checkbox" array only contains values for the checked rows. Thus if you just check "Jones", the length of g_f02 is 1 and it contains only the empno of Jones - while the other two arrays will contain all (14) rows. So for

Stop using validations for checking constraints !

 If you run your APEX application - like a Form based on the EMP table - and test if you can change the value of Department to something else then the standard values of 10, 20, 30 or 40, you'll get a nice error message like this: But it isn't really nice, is it? So what do a lot of developers do? They create a validation (just) in order to show a nicer, better worded, error message like "This is not a valid department".  And what you then just did is writing code twice : Once in the database as a (foreign key) check constraint and once as a sql statement in your validation. And we all know : writing code twice is usually not a good idea - and executing the same query twice is not enhancing your performance! So how can we transform that ugly error message into something nice? By combining two APEX features: the Error Handling Function and the Text Messages! Start with copying the example of an Error Handling Function from the APEX documentation. Create this function