PDA

View Full Version : Proceduraufruf auf variable ?



Seiten : 1 [2]

BenderD
20-01-05, 15:02
Hallo,

wenn man die bereits geladenen Procedures cached, dann ist das genauso schnell, wie statisch gebunden. Wenn man die nicht cached, macht auch nicht soviel aus, weil die Aktiviwerung erhalten bleibt solange die Activation Group lebt.
Diese Technik des dynamischen bindens ist inter anderem im Einsatz in einem Ladeprozess für ein Datawarehouse mit Millionen von Transaktionen, wo es in erster Linie auf optimale Performance und erst in zweiter Hinsicht auf Flexibilität ankommt.

mfg

Dieter Bender


Haben die Definitionen von Dieter kopiert und integriert.
funktioniert Prima. ist auch schnell genug
Danke Dieter und Brigitta

@Fuerchau
So hätten wir es früher gemacht. Die halbe Software arbeitet so. (siehe fragestellung oben) Dies ist mal was neues. und irgendwie sexy

Wenn ich alles richtig verstanden habe, müßte ich, wenn ich Proceduren immer so rufe, diese jederzeit im laufenden Betrieb tauschen können, da die PRC immer neu geöffnet / ermittelt wird. Hört sich langsam an, is aber ok

Gruß
Robi

BenderD
20-01-05, 15:10
@Baldur: Das ist doch gerade der Witz an der Sache mit dem API, dass kein statisches Binden erforderlich ist. Den Hauptvorteil bei der Verwendung von Procedures versus Programme sehe ich in:
- Langnamen möglich
- Call by Value möglich
- Rückgabe Variablen möglich
- multi entrante Serviceprogramme
Dass die Performance optimal ist, ist nur ein Nebeneffekt, der feinstkörnige Modularisierung ermöglicht.
Ein anderer Nebeneffekt ist, dass die Schwächen des originalen Aktivierungsprozesses überwunden werden; beim RCLACTGRP kann ich im Errorhandler einfach nachbinden.

mfg

Dieter


Dann würde ich empfehlen, die Funktionen als eigenständige Programme aufzurufen anstatt Serviceprogramme zu verwenden.
Vorteile:
- Kein Binden von Serviceprogrammen
- Aufruf mit Variable
Die Performance ist weiterhin gut, da nur der 1. Aufruf eines Programmes etwas dauert.