Recent Posts

APEX im Jahr 2015

Von Tobias Arnhold → 4.20.2015
Mit dem erscheinen von APEX 5 dreht die Community jetzt so richtig auf.

Neben der APEX Connect im Juni (bis 08.05. Frühbucherrabatt) wird es schon einen Monat später eine Reihe von APEX 5 Webinaren unter dem Motto #apexsummer15 geben.



Was mir bei den ganzen Aktivitäten auffällt, ist der starke Community Faktor. Umso mehr wundert es mich, dass sich nach Veröffentlichung von APEX 5 keine große IT-News Plattform intensiver mit der Materie befasst hat. In Zeiten in denen über jeden noch so kleinen IT-Krümel geschrieben wird, verstehe ich es einfach nicht, wie man das Thema APEX komplett ignorieren kann. Sind die Medien erblindet? Haben Sie kein Interesse an Oracle, weil kein Open Source?

Imho: Was auch immer es ist, ich rate allen mal einen Blick auf die APEX Connect zu werfen und vor Ort selbst Teil dieser großartigen Community zu werden.

Ps.: Auf heise.de gab es eine kurze Meldung zum APEX 5 Release. Der Rest schweigt sich aus.

APEX 5.0 IST DAAAAAA!

Von Tobias Arnhold → 4.15.2015
Endlich ist es geschafft.

Wen interessiert Heute die Champions League, wenn du Oracle APEX 5 downloaden kannst:
http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html



APEX CONNECT: Noch 59 Tage (1.428 Stunden)

Von Tobias Arnhold → 4.10.2015
Die APEX CONNECT rückt immer näher.

Viele Vortragende erstellen ihre Vorträge immer kurz vor knapp. Da ich aufgehört habe APEX mit Hilfe von PowerPoint zu präsentieren, muss ich jetzt schon loslegen um Stück für Stück die optimale Präsentations-Beispiel-Anwendung aufzubauen.

Meine Präsentation wird sich um die maßgerechte Verwendung von APEX Plug-Ins drehen.
Details zum Vortrag:


Ziel ist es, einen realistischen Blick auf Plug-Ins zu vermitteln und Ihnen die atemberaubenden Möglichkeiten, aber auch die Gefahren anhand von realen Beispielen aufzuzeigen.

Hier ein paar erste Screenshots:

Es wird ein großartiges Event das kein APEX Nutzer im deutschsprachigen Raum verpassen sollte.
Ich freu mich alte Bekannte und ganze neue APEX Enthusiasten kennenzulernen.

APEX 5 & Hackathon der Deutschen Bahn in Frankfurt

Von Tobias Arnhold → 3.13.2015
Wir alle wissen wie schnell es möglich ist mit Hilfe von Oracle APEX professionelle Anwendungen zu bauen. Nun wird es Zeit das Ganze in einer Challenge zu beweisen.

Die Deutsche Bahn veranstaltet am 20. und 21. März in Frankfurt am Main die DB Open Data-Train Challenge.

Ich werde Teil eines 4-Mann Teams sein und alles geben um APEX scheinen zu lassen. Um den Ganzen noch mehr Würze zu geben, werden wir die Anwendung mit einem APEX 5 Prototypen erstellen. ;)

Wer im Raum Frankfurt wohnt und bereit ist für eine richtige Challenge der kann sich hier anmelden:
https://www.eventbrite.com/e/db-open-data-train-challenge-tickets-16026244930

Links rund um das Thema:
http://www.heise.de/developer/meldung/Hackathon-der-Deutschen-Bahn-in-Frankfurt-2571719.html
http://www.informatik-aktuell.de/aktuelle-meldungen/2015/maerz/hackathon-bei-der-bahn-eisenbahn-spielen-fuer-grosse.html
https://www.aixpro.de/hackathon-der-deutschen-bahn-in-frankfurt/
http://www.hackevents.co/hackathon/frankfurt/db-open-data-train-challenge/

Oracle SQL: Calculate the amount of workdays (Mon-Fri) between two dates

Von Tobias Arnhold →
I searched the net for a problem in finding a way to calculate the workdays between two date values. After I tested a couple of solutions I focused to one where I didn't necessarily need a extra select to solve that issue.

I found a post at asktom.oracle.com
The described function itself looked like that:
-- Created by Sonali Kelkar from Newton, MA USA
CREATE OR REPLACE FUNCTION num_business_days(start_date IN DATE, end_date IN DATE)
   RETURN NUMBER IS
busdays NUMBER := 0;
stDate DATE;
enDate DATE;

BEGIN

stDate := TRUNC(start_date);
enDate := TRUNC(end_date);

if enDate >= stDate
then
  -- Get the absolute date range
  busdays := enDate - stDate
        -- Now subtract the weekends
        --  this statement rounds the range to whole weeks (using
        --  TRUNC and determines the number of days in the range.
        --  then it divides by 7 to get the number of weeks, and
        --  multiplies by 2 to get the number of weekend days.
     - ((TRUNC(enDate,'D')-TRUNC(stDate,'D'))/7)*2
        -- Add one to make the range inclusive
     + 1;

  /* Adjust for ending date on a saturday */
  IF TO_CHAR(enDate,'D') = '7' THEN
    busdays := busdays - 1;
  END IF;

  /* Adjust for starting date on a sunday */
  IF TO_CHAR(stDate,'D') = '1' THEN
    busdays := busdays - 1;
  END IF;
else
   busdays := 0;
END IF;

  RETURN(busdays);
END;
/
I did had some issues with the TO_CHAR(stDate,'D') logic and my German character set.
Because of this I looked further and found a solution by Frank Kulash at the Oracle forum:
1 + TRUNC (dt)
  - TRUNC (dt, 'IW')
Finally I was able creating a logic which I could use in my select. To make it more readable for you I created a from dual select:
select 
  (end_date-start_date)
  - (((TRUNC(end_date,'D')-TRUNC(start_date,'D'))/7)*2)
  + 1
  - case when (1 + TRUNC (end_date) - TRUNC (end_date, 'IW'))  = '6' then  1  else  0  end
  - case when (1 + TRUNC (end_date) - TRUNC (end_date, 'IW'))  = '7' then  2  else  0  end
  + case when (1 + TRUNC (start_date) - TRUNC (start_date, 'IW')) = '7' then  1  else  0  end
  as amount_of_workdays
from 
  ( select
    to_date('06.03.2015','dd.mm.yyyy') as start_date,
    to_date('07.03.2015','dd.mm.yyyy') as end_date
    from dual
  )

APEX 5 EA Impressions: Page Designer (Part 3)

Von Tobias Arnhold → 3.09.2015
I think one part of the "Page Designer" is quite unfamiliar even to experienced APEX developers.

It is the "Grid Layout". Even I still struggle getting used to this new feature.
For that I will give you a small example how to read the new grid.
Maybe some of you have seen my example application about RaphaelJS.

I migrated this application into the new APEX 5 EA. Btw: No issues occurred.

What you see are three regions. The one above is including a select item and below are the other two beside each other. One is showing the harbor (report-view on the left) and the other one is showing the detail mask (on the right).

Inside the new "Page Designer" it looks like this:

You can see all three regions including all detail elements in each region.

To make it even more clear I put both views together:

What you see on the left is a shortened version of the "Pager Designer Grid View", surrounded with different rectangles to show the different regions and arrows showing to the right. There you see the application marked with the belonged rectangles.
Maybe you have seen that the button area on the left is shortened because of lack of space. But this example makes one thing clear. You need a big screen to not get the wrong perspective on the new "Grid View". For that I propose a curved 34" monitor. ;)

Sure it is not easy getting used to the new "Grid View" but on the other side if you are new to APEX it will be a really handy tool to learn and build even faster. :)
APEX-AT-WORK no image

APEX 5 EA Impressions: Page Designer (Part 2)

Von Tobias Arnhold → 3.07.2015
In part 2 I want to show you a nice collection of valuable information about the new "Page Designer"

First link will lead to a great presentation from Scott Wesley (Nov 2014). It is a "must have" if you want to know more about the topic.



Next is information about a webinar presented by David Peake on Tue, Mar 31, 2015 6:00 PM - 7:00 PM CEST:
https://attendee.gotowebinar.com/register/1981463254531772929

Until then you can watch a video created by him about the new "Page Designer":
APEX 5.0 - Page Designer Grid Layout

Also Dimitri Gielis blogged about his impressions with the new "Page Designer":
http://dgielis.blogspot.de/2014/06/apex-50-page-designer-immediate.html

Another blog post shows you some of the differences in creating regions with APEX 4.2 Tree View and APEX 5 Page Designer:
http://apextips.blogspot.de/2015/02/apex-5-creating-regions-on-existing-page.html

Finally the new Early Adopter documentation completes my list:
https://docs.oracle.com/cd/E59726_01/doc.50/e39147/toc.htm