Welche Tabular Form Spalte wird auf welches Apex_Application.g_fxx Array gemapped?
Habt Ihr Euch schon mach gefragt wie Oracle APEX die Spalten einer Tabular From auf die Apex_Application.g_fxx (alias Htmldb_Application.g_fxx, alias WWV_Flow.g_fxx) mapped?
Ich glaube die meisten Entwickler verwenden eine der folgenden Methoden um auf das korrekte Mapping zu kommen:
APEX nimmt Euer Tabular Form Select Statement und basierend auf der Reihenfolge der Spalten wie sie im Select Statement stehen (nicht in der Reihenfolge wie Ihr sie am Report Attributes Tab sehen könnt!) beginnt es die Spalten zuzuordnen
Hinweis: Wenn Ihr einen "Row-Selector" habt, dann wird dieser IMMER auf g_f01 gemapped!
Beispiel:
Nehmen wir an, alle Spalten ausser EMPNO_DISPLAY werden als HTML Felder angezeigt und LAST_NAME hat eine "Condition" welche nicht aufgeht, dann würde das Mapping wie folgt aussehen
EMPNO = g_f01
EMPNO_DISPLAY = nicht gemapped
FIRST_NAME = g_f02
LAST_NAME = nicht gemapped wegen der Condition
HIRE_DATE = g_f03
Wenn wir einen "Row Selector" haben
Row-Selector = g_f01
EMPNO = g_f02
EMPNO_DISPLAY = nicht gemapped
FIRST_NAME = g_f03
LAST_NAME = nicht gemapped wegen der Condition
HIRE_DATE = g_f04
Aber wenn Ihr Euch mit dem Mapping nicht herumärgern wollt, wo Ihr auch immer Conditions/Berechtigungen berücksichtigen müsst, dann schaut Euch vielleicht mal das Plug & Play Tabular Form Handling des ApexLib Framework an.
Ich glaube die meisten Entwickler verwenden eine der folgenden Methoden um auf das korrekte Mapping zu kommen:
- Den generierten HTML Code der Seite ansehen und beim "name" Attribut des INPUT Elements nachsehen was dort steht.
- In Firebird die "Inspect" Funktion auf das Spalten Feld anwenden um wieder das "name" Attribute auszulesen.
APEX nimmt Euer Tabular Form Select Statement und basierend auf der Reihenfolge der Spalten wie sie im Select Statement stehen (nicht in der Reihenfolge wie Ihr sie am Report Attributes Tab sehen könnt!) beginnt es die Spalten zuzuordnen
- wenn es sich um eine persistente ("Saves state") Spalte handelt, das bedeutet sie wird als HTML Feld angezeigt und
- wenn die "Condition"/"Authorization" aufgeht
Hinweis: Wenn Ihr einen "Row-Selector" habt, dann wird dieser IMMER auf g_f01 gemapped!
Beispiel:
SELECT EMPNO, EMPNO AS EMPNO_DISPLAY, FIRST_NAME, LAST_NAME, HIRE_DATE FROM EMP
Nehmen wir an, alle Spalten ausser EMPNO_DISPLAY werden als HTML Felder angezeigt und LAST_NAME hat eine "Condition" welche nicht aufgeht, dann würde das Mapping wie folgt aussehen
EMPNO = g_f01
EMPNO_DISPLAY = nicht gemapped
FIRST_NAME = g_f02
LAST_NAME = nicht gemapped wegen der Condition
HIRE_DATE = g_f03
Wenn wir einen "Row Selector" haben
Row-Selector = g_f01
EMPNO = g_f02
EMPNO_DISPLAY = nicht gemapped
FIRST_NAME = g_f03
LAST_NAME = nicht gemapped wegen der Condition
HIRE_DATE = g_f04
Aber wenn Ihr Euch mit dem Mapping nicht herumärgern wollt, wo Ihr auch immer Conditions/Berechtigungen berücksichtigen müsst, dann schaut Euch vielleicht mal das Plug & Play Tabular Form Handling des ApexLib Framework an.
Labels: APEX, Oracle, Tabular Form
0 Comments:
Kommentar veröffentlichen
<< Zurück zur Startseite