Browsing "Older Posts"

CREATE an APEX_COLLECTION and SELECT the data via SQL Developer

Von Tobias Arnhold → 2.29.2016
Maybe this an old hat but a lot of people don't know how to use and analyze APEX_COLLECTION properly.  For myself it is a good reminder and saves me about 2 minutes instead of googling around.

In this example I will show you how to
- create an APEX_COLLECTION
- select the data in APEX reports
- analyze APEX_COLLECTION in SQL Developer

Fragen rund um die APEX Dashboard Competition

Von Tobias Arnhold → 2.23.2016
Update  14.03.2016:
Dick Dral fand einen Bug in der Tabelle : gdb_world_agriculture_area
-- Select zum nachstellen
select country
     , year
     , area_used_for_bio_cropland
     , area_used_for_forest
from   gdb_world_agriculture_area
where country in 
( select country 
from   gdb_world_agriculture_area
where  area_used_for_forest is null
intersect
select country 
from   gdb_world_agriculture_area
where  area_used_for_forest is not null
) order by 1, 2
;

-- Bugfix
update gdb_world_agriculture_area
set    area_used_for_forest        = area_used_for_bio_cropland
     , area_used_for_bio_cropland  = null
where country in 
( select country 
from   gdb_world_agriculture_area
where  area_used_for_forest is null
intersect
select country 
from   gdb_world_agriculture_area
where  area_used_for_forest is not null
) 
  and area_used_for_forest is null
;

In den letzten Tagen wurden mir mehrere Fragen rund um die APEX Dashboard Competition gestellt. Die Fragen und Antworten möchte ich gerne teilen:

Frage:
In wieweit darf man das Universal Theme verändern? Darf die Anordnung der Regions geändert werden? Darf das Menü links entfernt werden?
Antwort:
Sie können mit dem Universal Theme machen was Sie wollen.
Einzige Einschränkung: Das Theme sollte nicht unter einer anderen ID abgespeichert werden. Dann wäre es ein Custom Theme und würde nicht mehr den Wettbewerbsregeln entsprechen.

Frage:
Ist es erlaubt externe Javascript Libraries wie D3JS zu verwenden?
Antwort:
Ja, es ist sogar zu empfehlen. Einzige Regel ist, dass alle verwendeten Libraries Open Source sein müssen.
Info: Es gibt beim Thema D3JS eine ganze Menge an fertigen Plugins, zu finden in den APEX 5 Packaged Applications und unter apex.world.

Frage:
Kann ein jQueryMobile Template verwendet werden?
Antwort:
Nein.

Frage:
Müssen alle Tabellendaten verwendet werden?
Antwort:
Nein, Sie bestimmen den Umfang der Nutzung selbst. Keine der bereigestellten Daten zu verwenden wäre aber auch keine Lösung. :)

Frage:
Können eigene Daten verwendet werden?
Antwort:
DML Skripte sind nicht erlaubt. Es gibt aber die Möglichkeit sich eigene Daten via APEX-Collections oder der SQL WITH-Klausel bereitzustellen.

Frage:
Können komplexe PL/SQL Lösungen in Packages ausgelagert werden?
Anwort:
DDL und DML Skripte sind per se nicht zulässig.

APEX 5 - File Upload Bug

Von Tobias Arnhold → 2.18.2016
Today I had to suffer on a real APEX 5 bug.

When you upload a file the NLS settings in your current APEX session will be set to AMERICAN.
I check for issues like that and found a forum post where someone else was experiencing the same problems as I did:
File browse changes some NLS settings - possible bug

My purpose was to upload a CSV file and transforming it to table data. Now I couldn't handle NUMBER values anymore. I always experienced the following error:
ORA-06502: PL/SQL: numeric or value error: character to number conversion error

SQL: Texte mit Umlauten und Sonderzeichen normieren

Von Tobias Arnhold → 2.16.2016
Im heutigen Beispiel möchte ich einmal kurz aufzeigen, wie Sie einen Text nach Ihren Bedürfnissen hin normieren können. Ich habe dazu die bekanntesten Länder der Erde in einer WITH Clause zusammengefasst und bilde mir anhand des Namens einen später verwendbaren normierten String.

Der Zielstring muss GROSSGESCHRIEBEN sein und darf keine Umlaute (ÖÜÄöüäß) und Sonderzeichen (, '.()-) beinhalten.

APEX shuttle item with one direction

Von Tobias Arnhold → 2.04.2016
In one application I had the requirement to set up a shuttle item to be half readonly. All you should do was to add new values from the left to the right side. You should not be allowed to remove values from the right side.

The result should look like that:

Show all views including a specific string in the source code

Von Tobias Arnhold → 2.02.2016
Seems to be a simple problem and easy to fix. Actually it is not because if you try one of these examples then you will fail: