- Die Vorstellung
- Das Beispiel vorbereiten
- Zum Beispiel mit Dynamic Action - Change
- Das Beispiel über Dynamic Action - Enable/Disable
- Das Beispiel ưber Dynamic Action - Set Values mit der Benutzung von SQL Statement
- Das Beispiel über Dynamic Action - Set Values mit der Benutzung von PL/SQL
- Das Beispiel über Dynamic Action - Button
Die Anleitung zu Oracle APEX Dynamic Action
2. Das Beispiel vorbereiten
Sie sollen die Spalte BONUS in die TabelleEMP wenn sie existiert nicht:
-- Add/modify columns
alter table EMP add BONUS number;
Erstellen Sie eine leere Seite (blank page) mit der Code 300.
Erstellen Sie eine Region , die die Parameter enthaltet
- !
Die Information für den neu erstellten Item eingeben:
Identification:
List of Values:
- Name: P300_PARAM_EMPNO
- Type: Select List
List of Values:
- Type: SQL Query
- SQL Query: Select Ename, Empno From Emp
Erstellen Sie eine andere Region
Geben Sie ein
Identification:
- Title: Emp Form Region
- Type: Static Content
Erstellen Sie einige Item für diese Region
Die Attribute für Item setzen
No | Item | Label | Source (Type= Database Column) |
1 | P300_EMPNO | Empno | EMPNO |
2 | P300_ENAME | Ename | ENAME |
3 | P300_JOB | Job | JOB |
4 | P300_MGR | Manager | MGR |
5 | P300_HIREDATE | Hiredate | HIREDATE |
6 | P300_SAL | Salary | SAL |
7 | P300_COMM | Commission | COMM |
8 | P300_BONUS | Bonus | BONUS |
9 | P300_DEPTNO | Deptno | DEPTNO |
Bevor die Webseite gerendert wird (rendering), brauchen die Daten in Item zugewiesen werden. Sie sollen ein Prozess in Pre-Rendering/After Header erstellen um das zu tun
Geben Sie ein
Identification:
Setting:
- Name: Fetch EMP Row
- Type: Automatic Row Fetch
Setting:
- Table Name: EMP
- Primary Key Column: EMPNO
- Primary Key Item: P300_EMPNO
P300_EMPNO wird die Wert vom außen getragen, Process "Fetch EMP Row" wird die Tabelle EMP mit EMPNO = :P300_EMPNO abfragen bei der Zeitpunkt bevor die Seite gerendert wird (rendering) und die Wert in Item zuweisen
Wenn Sie die Seite laufen, hat sie keine Grundsdaten :P300_EMPNO hat die null Wert (keine Wert vom außen zuweisen).
Die Item ändern
P300_JOB
Identification:
- Name: P300_JOB
- Type: Select List
- Type: Static Values
- Static values: STATIC:CLERK;CLERK,SALESMAN;SALESMAN,PRESIDENT;PRESIDENT,MANAGER;MANAGER,ANALYST;ANALYST
P300_MGR:
Identification
List of Values
- Name: P300_MGR
- Type: Select List
List of Values
- Type: SQL Query
- SQL Query: Select ename d, empno r from emp where job in ('MANAGER', 'PRESIDENT')
P300_HIREDATE
Identification
- Name: P300_HIREDATE
- Type: Date Picker
P300_DEPTNO
Identification
- Name: P300_DEPTNO
- Type: Select List
- Type: SQL Query
- SQL Query: Select Dname,Deptno From Dept
die Webseite laufen
3. Zum Beispiel mit Dynamic Action - Change
Erstellen Sie ein Dynamic Action für item P300_PARAM_EMPNO, Wenn Sie die Wert von P300_PARAM_EMPNO ändern, wird Dynamic Action die Website übermitteln (submit)
Dynamic Action wird erstellt
Identification
- Name: Change EMPNO Param
- Even: Change
- Selection Type: Item(s)
Wenn die Bedingungen vom "Dynamic Action" den Satz im "TRUE" befriedigen, wird es implementiert, umgekehrt den Satz "FALSE" implementiert.
Erstellen Sie ein Branch (der Zweig), um nach Submit zu einer Seite weiterzuleiten (in diesem Fall ist es die aktuelle Seite).
Nach dem Submit wird die Anforderung nach der Seite mit der Code 300 (Ihre aktuelle Seite) weitergeleitet, gleichzeitig setzt es die Wert für :P300_EMPNO durch :P300_PARAM_EMPNO
Save und Ihre Website wieder laufen
Der Operationsgrundsatz
4. Das Beispiel über Dynamic Action - Enable/Disable
Außer des Gehalt bekommen die Verkaufspersonal die Kommission (commission). Deshalb bei der Änderung des Name der Arbeit (JOB) eines Mitarbeiter, wenn JOB = 'SALESMAN' ist, muss Item COMM anschalten zu typen(enable), umgekehrt sollen Sie item COMM ausschalten (disable)
Erstellen Sie ein Dynamic Action für item JOB:
Erstellen Sie ein Dynamic Action für item JOB:
Der Name vom neu erstellten Dynamic Action wird "Change JOB" gestellt
Identification
When
- Name: Change JOB
When
- Even: Change
- Select Type: Item(s)
- Item(s): P300_JOB
- Condition: equal to
- Value: SALES
Wenn P300_JOB = 'SALESMAN' behandeln
Umgekehrt wenn P300_JOB = 'SALESMAN' nicht ist, wirdder Satz im FALSE implementiert
Ihre Website wieder laufen
5. Das Beispiel ưber Dynamic Action - Set Values mit der Benutzung von SQL Statement
2 item erstellen:
Identification:
- Name: P300_LOCATION
- Type: Display Only
- Label: Location
- Save Sesion State: NO
- Type: Null
Identification:
- Name: P300_NUM_EMPLOYEES
- Type: Display Only
- Label: Location
- Save Sesion State: NO
- Type: Null
Beachten Sie: 2 item P300_LOCATION, und P300_NUM_EMPLOYEES sind die Item, deren Wert nach der Spalte in der Tabelle nicht kalkuliert werden, sondern bei der Zeitpunkt von "Page Load" deshalb sollen Sie "Save Session State = NO" setzen.
Erstellen Sie Dynamic Action für P300_DEPTNO. Wenn Sie die Abteilung vom Mitarbeiter ändern, wird Dynamic Action die Stelle und die Anzahl der Mitarbeiter der neuen Abteilung kalkulieren und die Wert für 2 items P300_LOCATION und P300_NUM_EMPLOYEES zuweisen
Das ist der Befehl SQL zur Abfrage der Position (location) und der Anzahl der Mitarbeiter in der neuen Abteilung
Select d.Loc Location
,Count(e.Empno) Num_Employees
From Dept d
,Emp e
Where d.Deptno = e.Deptno(+)
And d.Deptno = :P300_Deptno
Group By d.Loc
Identification
- Action: Set Value
- Set type: SQL Statement
- SQL Statement: .....
- Page Items to Submit: P300_DEPTNO
- Selection Type: Item(s)
- Item(s): P300_LOCATION, P300_NUM_EMPLOYEES
Ihre Website wieder laufen
6. Das Beispiel über Dynamic Action - Set Values mit der Benutzung von PL/SQL
Im Beispiel über die Kalkulation des Bonus für die Mitarbeiter wird der Bonus durch die Multiplikation des Bonuskoefficient mit dem Gehalt vom Mitarbeiter kalkuliert. Wenn der Website geladet wird, wird die Wert von Item BONUS durch PL/SQL kalkuliert
Erstellen Sie ein Dynamic Action, das bei dem Page-Load läuft
- !
Den Bonus kalkulieren
Declare
v_Multiplier Number;
Begin
-- Determine multiplier based on job.
Case :P300_Job
When 'CLERK' Then
v_Multiplier := 0.1;
When 'ANALYST' Then
v_Multiplier := 0.2;
When 'SALESMAN' Then
v_Multiplier := 0.3;
When 'MANAGER' Then
v_Multiplier := 0.4;
When 'PRESIDENT' Then
v_Multiplier := 0.5;
Else
v_Multiplier := 0;
End Case;
-- Return bonus which is calculated by
-- Multiplying Salary My Multiplier
Return :P300_Sal * v_Multiplier;
End;
Ihre Website wieder laufen
7. Das Beispiel über Dynamic Action - Button
Im Beispiel erstellen Sie ein Dynamic Action für Button. Wenn der Button geklickt wird, werden die Änderungen in Form gespeichert. Gleichzeitig wird der Button ausgeschaltet (disable) während die Seite aufgefrischt wird (refresh).
Identification:
- Button Name: APPLY_CHANGE
- Type: Apply change
- Action: Submit Page
- Database Action: SQL UPDATE action
Erstellen Sie Process um die update der Daten zu verarbeiten
Identification:
- Name: Process ROW of EMP
- Type: Automatic ROW Processing (DML)
- Table Name: EMP
- Primary Key Column: EMPNO
- Primary Key Item: P300_EMPNO
- Supported Operation: Update
TODO
Anleitungen Oracle APEX
- Was ist Oracle Application Express?
- Installieren Sie Oracle Apex 5.0
- Installieren Sie Oracle REST Data Services (ORDS) für Oracle APEX
- Die Anleitung zum Oracle APEX für den Anfänger(APEX 5.0)
- Die Anleitung zu Oracle APEX Tabular Form
- Die Anleitung zu Oracle APEX Master Details
- Benutzerdefinierte Authentifizierung in Oracle APEX
- Die Anleitung zu Oracle APEX Dynamic Action
- Dynamische Inhaltsregion in Oracle APEX erstellen (PL / SQL Dynamic Content)
- Was ist Business Intelligence?
- Installieren Sie Oracle BI 11g
Show More