Logging und Debugging in Oracle Forms

50 %
50 %
Information about Logging und Debugging in Oracle Forms
Technology

Published on February 26, 2014

Author: opitzconsulting

Source: slideshare.net

Description

http://www.opitz-consulting.com/go/3-4-894

Jede Applikation braucht in der einen oder anderen Form die Möglichkeit, Debugging von Source Code und Logging von Fehlern während der Laufzeit anzubieten. Dieser Vortrag zeigt, wie einfach das ist und wie man Forms-Applikationen auch noch nachträglich mit dieser Technik ausrüsten kann.

Gerd Volberg, Solution Architect und Forms-Experte unserer IT-Beratung, hielt diesen Vortrag am 20. Februar 2014 beim Regionaltreffen NRW der Deutschen Oracle Anwendergruppe DOAG e. V. Das Treffen bot den Auftakt zu einer Serie von Regionaltreffen NRW mit dem Fokus auf Oracle Forms.

--
Über uns:
Als führender Projektspezialist für ganzheitliche IT-Lösungen tragen wir zur Wertsteigerung der Organisationen unserer Kunden bei und bringen IT und Business in Einklang. Mit OPITZ CONSULTING als zuverlässigem Partner können sich unsere Kunden auf ihr Kerngeschäft konzentrieren und ihre Wettbewerbsvorteile nachhaltig absichern und ausbauen.

Über unsere IT-Beratung: http://www.opitz-consulting.com/go/3-8-10
Unser Leistungsangebot: http://www.opitz-consulting.com/go/3-8-874
Karriere bei OPITZ CONSULTING: http://www.opitz-consulting.com/go/3-8-5

Logging und Debugging in Forms Gerd Volberg OPITZ CONSULTING Deutschland GmbH Bochum, 20. Februar 2014 Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 1

Agenda 1. Logging  Datenmodell  Tabellen  Views 2. Debugging  Debug-Package  Funktionen  Prozeduren  Ein erster Test  Best Practices Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 2

1 Logging Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 3

Datenmodell Um Applikationen zu überwachen und diese Daten auf einfachste Art und Weise speichern zu können, benötigen wir eine Tabelle namens Logging und eine Sequence für den Primary Key. CREATE TABLE Logging ( ID SESSION_ID INSERT_DATE TEXT NUMBER(8,0) NOT NULL, NUMBER(8,0), DATE NOT NULL, VARCHAR2(2000) NOT NULL); CREATE SEQUENCE Logging_SEQ; Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 4

Datenmodell Über diese Tabelle legen wir eine View, die die Daten der Tabelle 1:1 selektiert und sortiert. CREATE OR REPLACE VIEW V_Logging_desc (ID, SESSION_ID, INSERT_DATE, TEXT) AS SELECT ID, SESSION_ID, INSERT_DATE, TEXT FROM Logging ORDER BY SESSION_ID DESC, ID DESC; Die Sortierung ist wichtig, damit im SQL Developer oder TOAD die Analyse der Logging-Daten so einfach wie möglich ist. Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 5

2 Debugging Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 6

Debug-Package Damit Fehlermeldungen und Debuginformationen protokolliert werden können, benötigen wir ein Package pk_Debug. CREATE OR REPLACE PACKAGE PK_Debug IS FUNCTION Debug_allowed RETURN BOOLEAN; FUNCTION Next_ID RETURN NUMBER; PROCEDURE Disable; PROCEDURE Enable; PROCEDURE Destroy; PROCEDURE Init (P_Debug_allowed IN BOOLEAN DEFAULT TRUE); PROCEDURE Write (P_Text IN VARCHAR2, P_Session_ID IN NUMBER DEFAULT NULL); G_Debug_allowed BOOLEAN := TRUE; G_Session_ID NUMBER; END; Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 7

Funktionen pk_Debug stellt folgende Funktionen zur Verfügung: Debug_Allowed – TRUE, wenn Debugging enabled ist Next_ID – Gibt die nächste Sequence zurück. CREATE OR REPLACE PACKAGE BODY PK_Debug IS FUNCTION Debug_allowed RETURN BOOLEAN IS BEGIN RETURN (G_Debug_allowed); END; FUNCTION Next_ID RETURN NUMBER IS V_ID NUMBER; BEGIN SELECT Logging_SEQ.nextval INTO V_ID FROM DUAL; RETURN (V_ID); END; Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 8

Prozeduren Wenn man größere Teile Source Code untersucht, kann es hilfreich sein, Teile, die schon untersucht wurden, vom Debugging auszuschließen. Dazu benötigen wir folgende Prozeduren: PROCEDURE Disable IS BEGIN G_Debug_allowed := FALSE; END; PROCEDURE Enable IS BEGIN G_Debug_allowed := TRUE; END; Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 9

Prozeduren Das Debugging kann initialisiert und destroyed werden: PROCEDURE Init ( P_Debug_allowed BEGIN G_Debug_allowed G_Session_ID Write ('--start IN BOOLEAN DEFAULT TRUE) IS := P_Debug_allowed; := Next_ID; ' || to_char (G_Session_ID) || '----------------------'); END; PROCEDURE Destroy IS BEGIN Write ('----------------------stopp ' || to_char (G_Session_ID) || '--'); G_Session_ID := NULL; END; Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 10

Prozeduren Die wichtigste Routine ist Write, mit der man einzelne LoggingDatensätze erzeugt: PROCEDURE Write ( P_Text IN VARCHAR2, P_Session_ID IN NUMBER DEFAULT NULL) IS PRAGMA AUTONOMOUS_TRANSACTION; BEGIN IF Debug_allowed THEN IF G_Session_ID IS NULL THEN Init; END IF; INSERT INTO Logging (ID, Session_ID, Insert_Date, Text) VALUES (Next_ID, NVL (P_Session_ID, G_Session_ID), Sysdate, P_Text); COMMIT; END IF; END; END; / Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 11

Ein erster Test In diesem Beispiel wird eine Variable V_Test untersucht und ins Logging geschrieben: pk_Debug.Init; pk_Debug.Write ('Hello World: ' || V_Test); pk_Debug.Destroy; Das Ergebnis in der Loggingtabelle sieht dann so aus: ID Session Insert-Date Text ============================================ 24 21 10.09.-12:38:48 -----------------------stopp 21-23 21 10.09.-12:38:48 Hello World: 42 22 21 10.09.-12:38:48 --start 21----------------------Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 12

Best Practices Wenn man in einer Routine Fehler sucht, sollte man jeden Bereich, den man autark untersuchen möchte, mit pk_debug.Init beginnen und mit Destroy enden lassen Wenn die Debug-Prozeduren im Source Code dauerhaft enthalten sein sollen, kann man das Debugging mit pk_Debug.Disable unterbrechen und mit Enable wieder fortführen. Beim Start kann die Routine Init automatisch enabled oder disabled starten. Just use it! Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 13

Download Das Package inkl. der DDL-Skripte zusammen mit dieser Präsentation sind ab Freitag, 21.02.2014, unter folgender URL zu finden: http://code.google.com/p/forms-framework/ Dort dann einfach auf "Downloads" klicken Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 14

Ihr Ansprechpartner Gerd Volberg Solution Architect OPITZ CONSULTING Deutschland GmbH Kirchstr. 6, 51647 Gummersbach Tel. +49 (2261) 60 01-0 gerd.volberg@opitz-consulting.com talk2gerd.blogspot.com Oracle Forms Tipps und Tricks © OPITZ CONSULTING GmbH Seite 15

Add a comment

Related presentations

Related pages

**Debugging Oracle forms*** | Oracle Community

... **Debugging Oracle forms*** 221488 Jun 6, ... Starting by Selecting the Debug button in Forms 6i 3.a. A debugging window will be displayed. 3.b.
Read more

Tracing and Diagnostics - Oracle Help Center

12 Tracing and Diagnostics. ... You use Forms debugging to find out what happens ... (session-level logging) Monitoring of Oracle Forms-related network ...
Read more

Forms Tipps - Oracle | Integrated Cloud Applications and ...

Home Community Forms Tipps & Tricks. ADF. WebCenter. ... Oracle Forms - Logging und Debugging. ... Investitionssicherheit und Kostenreduktion durch Oracle ...
Read more

Apps - Debug Forms in Oracle eBusiness Suite

... Debugging Oracle ... Home Technical Articles Miscellaneous Technology Debug Forms in Oracle ... Use FND Logging to debug messages in Oracle form ...
Read more

Forms Survival DOAG

Forms Client – Logging der ... • Forms (Remote) Debugging • Forms Trace ... java oracle.forms.diagnostics.Xlate datafile= outputfile= Read more

how to enable logging for oracle forms on application server

This is very verbose and is intended mainly for debugging and support purposes. ... how to enable logging for oracle forms on applicat...
Read more

10 Running and Debugging Java Application Projects

10 Running and Debugging Java Application Projects. ... 10.8.1 Debugging Free-form ... Architecture home page at http://docs.oracle.com/javase/7/docs ...
Read more

Oracle Applicatons: Oracle Form Debugging

Oracle Form Debugging Debugging Forms. ... There are many ways to debug Oracle Apps Forms. Few of them are list as below.
Read more