SlideShare ist ein Scribd-Unternehmen logo
Seite 1
Gerd Volberg
OPITZ CONSULTING Deutschland GmbH
Nürnberg, 21. November 2017
Forms Community Demo Server
Seite 2
Agenda
1. Forms Demo Server
 Loginvarianten
 Datenbank
 RSS
2. Github
 DOAG / Forms
 Tools
3. Community Plattform
 Einstieg
 Navigation
4. Demos
Seite 3
0 Demo Server, Git und Community
Seite 4
Demo Server, Git und Community
 Forms Demo Server
 Frank Hoffmann
 frank.hoffmann@forms12c.de
 https://www.forms12c.de
 Github
 Gerd Volberg
 gerd.volberg@forms12c.de
 https://github.com/Doag/Forms
 Community Plattform
 Jürgen Menge
 juergen.menge@forms12c.de
 https://community.oracle.com/community/other-languages/deutsche-oracle-entwickler-community/forms-developer-community
Seite 5
1 Forms Demo Server
Seite 6
Forms Demo Server
https://forms12c.com/
Seite 7
Forms Demo Server
Seite 8
https + FSAL
Seite 9
Datenbank
 Auf dem Demoserver läuft eine 12er Oracle Datenbank
 Wer für seine Demo-Forms Daten in der Datenbank
speichern möchte, erzeugt alle
notwendigen Skripte und lässt
uns diese zukommen.
 Wir erzeugen den User, das
Datenmodell und die Daten.
Danach publizieren wir diese
Skripte auf Github, damit sie
für jeden zugängig sind, der
die Demo bei sich nachbauen
möchte.
Seite 10
Startbildschirm
 https://forms12c.com/forms/frmservlet?config=demo0001
Seite 11
RSS
https://www.forms12c.com/plsql/rss_forms12c_demo
Seite 12
2 Github
Seite 13
Github DOAG / Forms
https://github.com/Doag/Forms
Seite 14
Github DOAG / Forms / demos
Seite 15
Github DOAG / Forms / demos / demo0001
Seite 16
Sourcetree
Seite 17
https://www.sourcetreeapp.com/
Seite 18
Upload (Commit + Push) neuer Inhalte
Seite 19
Upload neuer Inhalte
 1) Übersicht aller Unstaged Files
Seite 20
Upload neuer Inhalte
 2) Markieren der neuen Files
 3) Klick auf Stage Selected
Seite 21
Upload neuer Inhalte
 4) Commit-Kommentar eingeben
 5) Commit klicken
Seite 22
Upload neuer Inhalte
 Vorher
 Nachher
Seite 23
3 Community Plattform
Seite 24
Community Plattform
https://community.oracle.com/community/other-languages/deutsche-oracle-entwickler-
community/forms-developer-community/
Seite 25
Community Plattform Struktur
 Blog
 Infos zu den Forms Community Treffen + Forms Days
 Dokumente
 Best Practices, Installationsbeschreibungen, Infos vom PM
 Diskussionen
 Allgemeiner Bereich, Fragen und Antworten
 Umfragen
 Aktuelle Umfrage bez. Reporting Day
 Ereignisse
 Treffen, Webinare and more
 Ideen
Seite 26
Diskussionsforum
 Fragen und Antworten in Deutsch !
Seite 27
4 Demos
Seite 28
Demo 001 - webutil demo
Seite 29
Demo 001 - webutil demo
Seite 30
Demo 001 - webutil demo
Oracle Demos
Seite 31
Demo 002 – One Time Timer
Seite 32
Demo 002 – One Time Timer
Seite 33
Demo 002 – One Time Timer
Gerd Volberg
One_Time_Timer.Initialize (Const_local.ott_Query);
PROCEDURE When_Timer_Expired IS
V_Item VARCHAR2 (61);
BEGIN
V_Item := Act.Item;
IF One_Time_Timer.Get_Value = Const_local.ott_Query THEN
Goto_Block_and_Query (Const_local.blk_Mainblock);
Go_Item (V_Item);
END IF;
END;
Seite 34
Demo 003 – Undo + Generisches Listitem
Seite 35
Demo 003 – Undo + Generisches Listitem
Gerd Volberg
Undo
Seite 36
Demo 003 – Undo + Generisches Listitem
Generisches Listitem
Seite 37
Demo 004 - Resolving Locks
Seite 38
Demo 004 - Resolving Locks
Jürgen Bader
Seite 39
Demo 004 - Resolving Locks
v_DDL_Text := 'alter system disconnect session ''‚
|| to_char(:v$session.SID) || ',' || to_char(:v$session.Serial#)
|| ''' immediate';
Forms_DDL(v_DDL_Text);
Seite 40
Demo 005 - Timeoutdemo
Seite 41
Demo 005 - Timeoutdemo
Frank Hoffmann
:maxinactivity := 500;
:sleeptime := 100;
:debug := 'true';
:events := 'true';
:timername := 'ST500ms';
:intervaltimer := '';
:standardtimer := 'true';
pl_start;
Seite 42
Demo 005 - Timeoutdemo
PROCEDURE pl_start IS
BEGIN
:when_timer_expired_event := null;
:when_custom_item_event := null;
:custom_time := null;
:expired_time := null;
:starttime := :system.current_datetime;
synchronize;
set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'TIMER_NAME',:timername);
if :standardtimer is not null then
set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_STANDARDTIMER',:standardtimer);
end if;
if :intervaltimer is not nul then
set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_INTERVALTIMER',:intervaltimer);
end if;
if :events = 'true' then
set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'RECORDING_EVENTS','ALL');
else
set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'RECORDING_EVENTS','');
end if;
set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_DEBUGGING',:debug);
set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'TIMER_SLEEP_TIME',:sleeptime); -- ms
set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'START_TIMER',:maxinactivity);
END;
Seite 43
Demo 006 - Timeoutdemo with 12c Client Idle
Seite 44
Demo 006 - Timeoutdemo with 12c Client Idle
Frank Hoffmann
-- idle heartbeat time (sec)
:heartbeat := 10;
-- idle max_time (sec)
:max_time := 10;
:parameter.p_timer_countdown := null;
:countdown:=1;
p_clear_diagnostic_items;
-- Set Client Idle Timer (sec)
SET_APPLICATION_PROPERTY(CLIENT_IDLE_TIME,10);
Seite 45
Demo 007 - Exceldemo, create a CSV File
Seite 46
Demo 007 - Exceldemo, create a CSV File
Frank Hoffmann
declare vch_return_value varchar2(2000);
begin
:last_query := get_block_property('ALL_OBJECTS',last_query);
vch_return_value := pdw_gen.make_blob(:last_query,'EXCEL');
synchronize;
p_get_blob('EXCEL');
if vch_return_value != '0'
then
message(vch_return_value);
end if;
end;
Seite 47
Demo 008
Frank Hoffmann
Seite 48
Demo 009 - Migration tool from 6i
Seite 49
Demo 009 - Migration tool from 6i
Friedhold Matz
Seite 50
Demo 010 - FFI Sample with DLLs
Seite 51
Demo 010 - FFI Sample with DLLs
Friedhold Matz
DECLARE
StringBuffer varchar2(255) := 'An initial value that will be overwritten';
StringLength pls_integer := length(StringBuffer);
rc pls_integer;
f_handle Webutil_c_api.FUNCTIONHANDLE;
args Webutil_c_api.parameterlist;
param1 Webutil_c_api.ParameterHandle;
param2 Webutil_c_api.ParameterHandle;
loc VARCHAR2(512);
BEGIN
prc_show('Before Calling the C program the value of the string is:"'||chr(10)||
StringBuffer||'" with a length of '||to_char(StringLength));
f_handle := WEBUTIL_C_API.register_function('FFIdll32.dll', 'PopulateString');
--prc_show('-- After register_function(<FFIdll32.dll>) ---');
args := WEBUTIL_C_API.create_parameter_list;
param1 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_CHAR_PTR
,WEBUTIL_C_API.PARAM_INOUT,StringBuffer, 255);
Seite 52
Demo 010 - FFI Sample with DLLs
param2 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_INT_PTR
,WEBUTIL_C_API.PARAM_INOUT
,StringLength);
rc := WEBUTIL_C_API.Invoke_Int( 'FFIdll32.dll', 'PopulateString', args);
--prc_show('-- After Invoke_Int(<FFIdll32.dll>) --- : '||to_char(rc));
--- SUCCESS !!! ---
------------------------------------------------------------------------------------------
prc_show('The New value for String is: "'||chr(10)||
WEBUTIL_C_API.Get_Parameter_String(args, param1)||
'" with a length of ' ||
to_char(WEBUTIL_C_API.Get_Parameter_Number(args, param2)));
--prc_show('The New value for String is: "'||WEBUTIL_C_API.Get_Parameter_String(args,
-- param2)||'" with a length of '
||to_char(WEBUTIL_C_API.Get_Parameter_Number(args, param2)));
--prc_show('RC was : '||to_char(rc));
WEBUTIL_C_API.Destroy_Parameter_List(args);
WEBUTIL_C_API.Deregister_Function(f_handle);
END;
Seite 53
Demo 011 - webutil demo with OLE (++jacob.jar)
Seite 54
Demo 011 - webutil demo with OLE (++jacob.jar)
Seite 55
Demo 011 - webutil demo with OLE (++jacob.jar)
Oracle Demos
Seite 56
Demo 012 – PDF Viewer
Seite 57
Demo 012 – PDF Viewer
Mark Striekwold
Seite 58
Demo 012 – PDF Viewer
declare
hBean ITEM:= FIND_ITEM('BL.BEAN');
timer_id Timer ;
begin
fbean.register_bean(hBean, 1, 'com.sun.pdfview.PDFViewer');
fbean.invoke( hBean, 1, 'doOpenUrl',
'http://forms12c.com/customer_bvi_eng.pdf');
--fbean.invoke( hBean, 1, 'doOpenUrl', 'c:tempMusterreport.pdf');
fbean.invoke( hBean, 1, 'doThumbs', 'false');
timer_id := Create_Timer( 'pageTimer', 10, NO_REPEAT ) ;
end;
Seite 59
Demo 013 - Slider
Francois Degrelle
Seite 60
Demo 013 - Slider
PKG_SLIDER.Set_Value ( 'BL1.R', 1, :BL1.VR) ;
:GLOBAL.Red := Ltrim( To_Char( :BL1.R ) ) ;
:GLOBAL.Color := 'r' || :GLOBAL.Red || 'g' ||
:GLOBAL.Green || 'b' || :GLOBAL.Blue ;
Set_Item_Property( 'BL1.COLOR',
BACKGROUND_COLOR, :GLOBAL.Color ) ;
Seite 61
Demo 013 - Slider
If LC$BGColor is not null Then
LC$Color := Translate( LC$BGColor, '0123456789gbr','0123456789,,' ) ;
Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ;
Elsif LC$CVBColor is not null Then
LC$Color := Translate( LC$CVBColor, '0123456789gbr','0123456789,,' ) ;
Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ;
Else
LC$Color := PKG_SLIDER.GC$CurScheme ;
Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ;
End if ;
-- ForeGround color --
If LC$FGColor is not null Then
LC$Color := Translate( LC$FGColor, '0123456789gbr','0123456789,,' ) ;
Set_Custom_Property( PC$Name, PN$Num, 'SETFGCOLOR', LC$Color ) ;
Elsif LC$CVFColor is not null Then
LC$Color := Translate( LC$CVFColor, '0123456789gbr','0123456789,,' ) ;
Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ;
End if ;
-- Bounds --
Set_Custom_Property( PC$Name, PN$Num, 'SETBOUNDS', PC$Bounds ) ;
Seite 62
Demo 014 - Accordion
Andreas Weiden
Seite 63
Demo 014 - Accordion
Seite 64
Demo 014 - Accordion
Seite 65
Demo 014 - Accordion
 Tree-Select
 Buttons
SELECT -1 NODE_STATE,
LEVEL NODE_DEPTH,
LAST_NAME || ', ' || FIRST_NAME NODE_LABEL,
NULL NODE_ICON,
EMPLOYEE_ID NODE_VALUE
FROM EMPLOYEES
CONNECT BY PRIOR EMPLOYEE_ID=MANAGER_ID
START WITH MANAGER_ID IS NULL
ORDER SIBLINGS BY LAST_NAME
Seite 66
Eure Ansprechpartner
 Forms Demo Server
 Frank Hoffmann
 frank.hoffmann@forms12c.de
 https://www.forms12c.de
 Github
 Gerd Volberg
 gerd.volberg@forms12c.de
 https://github.com/Doag/Forms
 Community Plattform
 Jürgen Menge
 juergen.menge@forms12c.de
 https://community.oracle.com/community/other-languages/deutsche-oracle-entwickler-community/forms-developer-community

Weitere ähnliche Inhalte

Ähnlich wie Forms Community Server

Logging und Debugging in Oracle Forms
Logging und Debugging in Oracle FormsLogging und Debugging in Oracle Forms
Logging und Debugging in Oracle Forms
OPITZ CONSULTING Deutschland
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
Ulrich Krause
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
Mayflower GmbH
 
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
Verein FM Konferenz
 
Datenbindung und Performance in Angular 2
Datenbindung und Performance in Angular 2Datenbindung und Performance in Angular 2
Datenbindung und Performance in Angular 2
Manfred Steyer
 
Forms 12c und der Oracle SB
Forms 12c und der Oracle SBForms 12c und der Oracle SB
Forms 12c und der Oracle SB
OPITZ CONSULTING Deutschland
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
Ralf Schwoebel
 
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
NETWAYS
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
inovex GmbH
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
inovex GmbH
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
Ulrich Krause
 
Visuelle Gestaltung und Testdatenentwicklung mit BizDataX
Visuelle Gestaltung und Testdatenentwicklung mit BizDataXVisuelle Gestaltung und Testdatenentwicklung mit BizDataX
Visuelle Gestaltung und Testdatenentwicklung mit BizDataX
Dragan Kinkela
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
Torsten Kleiber
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
Dirk Ginader
 
Dojo Und Notes
Dojo Und NotesDojo Und Notes
Dojo Und Notes
dominion
 
Html5 einführung
Html5 einführungHtml5 einführung
Html5 einführung
Hans Mittendorfer
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
Christian Mücke
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
hpaustria
 
Typescript
TypescriptTypescript
Typescript
Sebastian Springer
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
Andreas Koop
 

Ähnlich wie Forms Community Server (20)

Logging und Debugging in Oracle Forms
Logging und Debugging in Oracle FormsLogging und Debugging in Oracle Forms
Logging und Debugging in Oracle Forms
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
FMK2014: Ein Warenwirtschaftssystem, das mit Scannern, Waagen und Mitarbeiter...
 
Datenbindung und Performance in Angular 2
Datenbindung und Performance in Angular 2Datenbindung und Performance in Angular 2
Datenbindung und Performance in Angular 2
 
Forms 12c und der Oracle SB
Forms 12c und der Oracle SBForms 12c und der Oracle SB
Forms 12c und der Oracle SB
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
 
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
OSMC 2013 | 10 Jahre Monitoring mit Open Source Software bei der DB Systel by...
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
 
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbindenConnecting Android - Externe Hardware mit dem grünen Roboter verbinden
Connecting Android - Externe Hardware mit dem grünen Roboter verbinden
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
Visuelle Gestaltung und Testdatenentwicklung mit BizDataX
Visuelle Gestaltung und Testdatenentwicklung mit BizDataXVisuelle Gestaltung und Testdatenentwicklung mit BizDataX
Visuelle Gestaltung und Testdatenentwicklung mit BizDataX
 
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
 
Dojo Und Notes
Dojo Und NotesDojo Und Notes
Dojo Und Notes
 
Html5 einführung
Html5 einführungHtml5 einführung
Html5 einführung
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
 
Typescript
TypescriptTypescript
Typescript
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 

Mehr von OPITZ CONSULTING Deutschland

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
OPITZ CONSULTING Deutschland
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
OPITZ CONSULTING Deutschland
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
OPITZ CONSULTING Deutschland
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
OPITZ CONSULTING Deutschland
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
OPITZ CONSULTING Deutschland
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
OPITZ CONSULTING Deutschland
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
OPITZ CONSULTING Deutschland
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OPITZ CONSULTING Deutschland
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OPITZ CONSULTING Deutschland
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
OPITZ CONSULTING Deutschland
 

Mehr von OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 

Forms Community Server

  • 1. Seite 1 Gerd Volberg OPITZ CONSULTING Deutschland GmbH Nürnberg, 21. November 2017 Forms Community Demo Server
  • 2. Seite 2 Agenda 1. Forms Demo Server  Loginvarianten  Datenbank  RSS 2. Github  DOAG / Forms  Tools 3. Community Plattform  Einstieg  Navigation 4. Demos
  • 3. Seite 3 0 Demo Server, Git und Community
  • 4. Seite 4 Demo Server, Git und Community  Forms Demo Server  Frank Hoffmann  frank.hoffmann@forms12c.de  https://www.forms12c.de  Github  Gerd Volberg  gerd.volberg@forms12c.de  https://github.com/Doag/Forms  Community Plattform  Jürgen Menge  juergen.menge@forms12c.de  https://community.oracle.com/community/other-languages/deutsche-oracle-entwickler-community/forms-developer-community
  • 5. Seite 5 1 Forms Demo Server
  • 6. Seite 6 Forms Demo Server https://forms12c.com/
  • 9. Seite 9 Datenbank  Auf dem Demoserver läuft eine 12er Oracle Datenbank  Wer für seine Demo-Forms Daten in der Datenbank speichern möchte, erzeugt alle notwendigen Skripte und lässt uns diese zukommen.  Wir erzeugen den User, das Datenmodell und die Daten. Danach publizieren wir diese Skripte auf Github, damit sie für jeden zugängig sind, der die Demo bei sich nachbauen möchte.
  • 13. Seite 13 Github DOAG / Forms https://github.com/Doag/Forms
  • 14. Seite 14 Github DOAG / Forms / demos
  • 15. Seite 15 Github DOAG / Forms / demos / demo0001
  • 18. Seite 18 Upload (Commit + Push) neuer Inhalte
  • 19. Seite 19 Upload neuer Inhalte  1) Übersicht aller Unstaged Files
  • 20. Seite 20 Upload neuer Inhalte  2) Markieren der neuen Files  3) Klick auf Stage Selected
  • 21. Seite 21 Upload neuer Inhalte  4) Commit-Kommentar eingeben  5) Commit klicken
  • 22. Seite 22 Upload neuer Inhalte  Vorher  Nachher
  • 23. Seite 23 3 Community Plattform
  • 25. Seite 25 Community Plattform Struktur  Blog  Infos zu den Forms Community Treffen + Forms Days  Dokumente  Best Practices, Installationsbeschreibungen, Infos vom PM  Diskussionen  Allgemeiner Bereich, Fragen und Antworten  Umfragen  Aktuelle Umfrage bez. Reporting Day  Ereignisse  Treffen, Webinare and more  Ideen
  • 26. Seite 26 Diskussionsforum  Fragen und Antworten in Deutsch !
  • 28. Seite 28 Demo 001 - webutil demo
  • 29. Seite 29 Demo 001 - webutil demo
  • 30. Seite 30 Demo 001 - webutil demo Oracle Demos
  • 31. Seite 31 Demo 002 – One Time Timer
  • 32. Seite 32 Demo 002 – One Time Timer
  • 33. Seite 33 Demo 002 – One Time Timer Gerd Volberg One_Time_Timer.Initialize (Const_local.ott_Query); PROCEDURE When_Timer_Expired IS V_Item VARCHAR2 (61); BEGIN V_Item := Act.Item; IF One_Time_Timer.Get_Value = Const_local.ott_Query THEN Goto_Block_and_Query (Const_local.blk_Mainblock); Go_Item (V_Item); END IF; END;
  • 34. Seite 34 Demo 003 – Undo + Generisches Listitem
  • 35. Seite 35 Demo 003 – Undo + Generisches Listitem Gerd Volberg Undo
  • 36. Seite 36 Demo 003 – Undo + Generisches Listitem Generisches Listitem
  • 37. Seite 37 Demo 004 - Resolving Locks
  • 38. Seite 38 Demo 004 - Resolving Locks Jürgen Bader
  • 39. Seite 39 Demo 004 - Resolving Locks v_DDL_Text := 'alter system disconnect session ''‚ || to_char(:v$session.SID) || ',' || to_char(:v$session.Serial#) || ''' immediate'; Forms_DDL(v_DDL_Text);
  • 40. Seite 40 Demo 005 - Timeoutdemo
  • 41. Seite 41 Demo 005 - Timeoutdemo Frank Hoffmann :maxinactivity := 500; :sleeptime := 100; :debug := 'true'; :events := 'true'; :timername := 'ST500ms'; :intervaltimer := ''; :standardtimer := 'true'; pl_start;
  • 42. Seite 42 Demo 005 - Timeoutdemo PROCEDURE pl_start IS BEGIN :when_timer_expired_event := null; :when_custom_item_event := null; :custom_time := null; :expired_time := null; :starttime := :system.current_datetime; synchronize; set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'TIMER_NAME',:timername); if :standardtimer is not null then set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_STANDARDTIMER',:standardtimer); end if; if :intervaltimer is not nul then set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_INTERVALTIMER',:intervaltimer); end if; if :events = 'true' then set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'RECORDING_EVENTS','ALL'); else set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'RECORDING_EVENTS',''); end if; set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_DEBUGGING',:debug); set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'TIMER_SLEEP_TIME',:sleeptime); -- ms set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'START_TIMER',:maxinactivity); END;
  • 43. Seite 43 Demo 006 - Timeoutdemo with 12c Client Idle
  • 44. Seite 44 Demo 006 - Timeoutdemo with 12c Client Idle Frank Hoffmann -- idle heartbeat time (sec) :heartbeat := 10; -- idle max_time (sec) :max_time := 10; :parameter.p_timer_countdown := null; :countdown:=1; p_clear_diagnostic_items; -- Set Client Idle Timer (sec) SET_APPLICATION_PROPERTY(CLIENT_IDLE_TIME,10);
  • 45. Seite 45 Demo 007 - Exceldemo, create a CSV File
  • 46. Seite 46 Demo 007 - Exceldemo, create a CSV File Frank Hoffmann declare vch_return_value varchar2(2000); begin :last_query := get_block_property('ALL_OBJECTS',last_query); vch_return_value := pdw_gen.make_blob(:last_query,'EXCEL'); synchronize; p_get_blob('EXCEL'); if vch_return_value != '0' then message(vch_return_value); end if; end;
  • 48. Seite 48 Demo 009 - Migration tool from 6i
  • 49. Seite 49 Demo 009 - Migration tool from 6i Friedhold Matz
  • 50. Seite 50 Demo 010 - FFI Sample with DLLs
  • 51. Seite 51 Demo 010 - FFI Sample with DLLs Friedhold Matz DECLARE StringBuffer varchar2(255) := 'An initial value that will be overwritten'; StringLength pls_integer := length(StringBuffer); rc pls_integer; f_handle Webutil_c_api.FUNCTIONHANDLE; args Webutil_c_api.parameterlist; param1 Webutil_c_api.ParameterHandle; param2 Webutil_c_api.ParameterHandle; loc VARCHAR2(512); BEGIN prc_show('Before Calling the C program the value of the string is:"'||chr(10)|| StringBuffer||'" with a length of '||to_char(StringLength)); f_handle := WEBUTIL_C_API.register_function('FFIdll32.dll', 'PopulateString'); --prc_show('-- After register_function(<FFIdll32.dll>) ---'); args := WEBUTIL_C_API.create_parameter_list; param1 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_CHAR_PTR ,WEBUTIL_C_API.PARAM_INOUT,StringBuffer, 255);
  • 52. Seite 52 Demo 010 - FFI Sample with DLLs param2 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_INT_PTR ,WEBUTIL_C_API.PARAM_INOUT ,StringLength); rc := WEBUTIL_C_API.Invoke_Int( 'FFIdll32.dll', 'PopulateString', args); --prc_show('-- After Invoke_Int(<FFIdll32.dll>) --- : '||to_char(rc)); --- SUCCESS !!! --- ------------------------------------------------------------------------------------------ prc_show('The New value for String is: "'||chr(10)|| WEBUTIL_C_API.Get_Parameter_String(args, param1)|| '" with a length of ' || to_char(WEBUTIL_C_API.Get_Parameter_Number(args, param2))); --prc_show('The New value for String is: "'||WEBUTIL_C_API.Get_Parameter_String(args, -- param2)||'" with a length of ' ||to_char(WEBUTIL_C_API.Get_Parameter_Number(args, param2))); --prc_show('RC was : '||to_char(rc)); WEBUTIL_C_API.Destroy_Parameter_List(args); WEBUTIL_C_API.Deregister_Function(f_handle); END;
  • 53. Seite 53 Demo 011 - webutil demo with OLE (++jacob.jar)
  • 54. Seite 54 Demo 011 - webutil demo with OLE (++jacob.jar)
  • 55. Seite 55 Demo 011 - webutil demo with OLE (++jacob.jar) Oracle Demos
  • 56. Seite 56 Demo 012 – PDF Viewer
  • 57. Seite 57 Demo 012 – PDF Viewer Mark Striekwold
  • 58. Seite 58 Demo 012 – PDF Viewer declare hBean ITEM:= FIND_ITEM('BL.BEAN'); timer_id Timer ; begin fbean.register_bean(hBean, 1, 'com.sun.pdfview.PDFViewer'); fbean.invoke( hBean, 1, 'doOpenUrl', 'http://forms12c.com/customer_bvi_eng.pdf'); --fbean.invoke( hBean, 1, 'doOpenUrl', 'c:tempMusterreport.pdf'); fbean.invoke( hBean, 1, 'doThumbs', 'false'); timer_id := Create_Timer( 'pageTimer', 10, NO_REPEAT ) ; end;
  • 59. Seite 59 Demo 013 - Slider Francois Degrelle
  • 60. Seite 60 Demo 013 - Slider PKG_SLIDER.Set_Value ( 'BL1.R', 1, :BL1.VR) ; :GLOBAL.Red := Ltrim( To_Char( :BL1.R ) ) ; :GLOBAL.Color := 'r' || :GLOBAL.Red || 'g' || :GLOBAL.Green || 'b' || :GLOBAL.Blue ; Set_Item_Property( 'BL1.COLOR', BACKGROUND_COLOR, :GLOBAL.Color ) ;
  • 61. Seite 61 Demo 013 - Slider If LC$BGColor is not null Then LC$Color := Translate( LC$BGColor, '0123456789gbr','0123456789,,' ) ; Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ; Elsif LC$CVBColor is not null Then LC$Color := Translate( LC$CVBColor, '0123456789gbr','0123456789,,' ) ; Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ; Else LC$Color := PKG_SLIDER.GC$CurScheme ; Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ; End if ; -- ForeGround color -- If LC$FGColor is not null Then LC$Color := Translate( LC$FGColor, '0123456789gbr','0123456789,,' ) ; Set_Custom_Property( PC$Name, PN$Num, 'SETFGCOLOR', LC$Color ) ; Elsif LC$CVFColor is not null Then LC$Color := Translate( LC$CVFColor, '0123456789gbr','0123456789,,' ) ; Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ; End if ; -- Bounds -- Set_Custom_Property( PC$Name, PN$Num, 'SETBOUNDS', PC$Bounds ) ;
  • 62. Seite 62 Demo 014 - Accordion Andreas Weiden
  • 63. Seite 63 Demo 014 - Accordion
  • 64. Seite 64 Demo 014 - Accordion
  • 65. Seite 65 Demo 014 - Accordion  Tree-Select  Buttons SELECT -1 NODE_STATE, LEVEL NODE_DEPTH, LAST_NAME || ', ' || FIRST_NAME NODE_LABEL, NULL NODE_ICON, EMPLOYEE_ID NODE_VALUE FROM EMPLOYEES CONNECT BY PRIOR EMPLOYEE_ID=MANAGER_ID START WITH MANAGER_ID IS NULL ORDER SIBLINGS BY LAST_NAME
  • 66. Seite 66 Eure Ansprechpartner  Forms Demo Server  Frank Hoffmann  frank.hoffmann@forms12c.de  https://www.forms12c.de  Github  Gerd Volberg  gerd.volberg@forms12c.de  https://github.com/Doag/Forms  Community Plattform  Jürgen Menge  juergen.menge@forms12c.de  https://community.oracle.com/community/other-languages/deutsche-oracle-entwickler-community/forms-developer-community