-
Trigger nach Wechsel auf V5R2M0
Hallo zusammen,
ich habe zu Vorberreitung des Releasewechsels meine Trigger-Programme (RPG/400 kein ILE) dahingehend angepaßt, daß die Extraction der Daten für alten und neuen Satz über Offset und Länge stattfindet und nicht mehr über festdefinierte Bereiche (OLDERC NEWREC).
Das hat aber nicht ausgereicht, da sich auch die Parameterlänge in V5R2M0 geändert hat. Bei den entsprechenden SUBST-Operationen laufe ich auf mit Fehler RPG0100 (Wert liegt außerhalb des Gultigen Bereichs für die Zeichenfolgeoperation), weil Offset und Länge eine Posisiotn ergeben, die außerhalb des definierten PARM1 liegt; z.B. bisherige Länge 598, neue Länge 640, bisher 708 neu 800, bisher 420 neu 448.
Da ich nicht alle Programme nach ILE umstellen will (kann), meine Frage, ob es hier eine Formel zur Berechnung der richtigen Pufferlänge gibt.
Vielen Dank im Voraus
Klaus Hardy
-
Das Umstellen auf ILE geht relativ einfach mittels RTVRPGSRC.
Was die Länge der Bereiche angeht, so kann man über die Zukunft nichts sagen.
Einzig die Offset-Angabe wird immer an der gleichen Stelle stehen.
Da RPG-Strukturen auf eine maximale Länge von 9999 Zeichen beschränkt ist, wirst du ein Problem haben, wenn deine Sätze mal sehr lang werden.
Du kannst den Bereich in RPG unbedenklich mit 9999 definieren, da er ja als Parameter übergeben wird.
Tipp:
Über ILE-RPG laufen Trigger schneller (wenn LR anbleibt), da ich die Puffer nicht extrahieren muss sondern über Pointer und Pointer-Arithmetik und einer bzw. zwei BASED-Struktur/en direkt auf die Puffer zugreifen kann.
-
Herzlichen Dank,
Das hat mir sehr geholfen.
Da die Modifikationen in allen Trigger-Quellen ungefähr die gleichen sein werden und ich darüberhinaus kein Freund bin von Maßnahmen wie: "nehmen wir mal Länge 9999, wird schon reichen", überlege ich tatsächlich, alles auf ILE umzustellen.
Wenn es hierzu vielleicht irgendwo einen kleinen Quellauszug, besonders bezüglich der variablen Längendefinition von PARM1 geben würde ?
mfg
Klaus Hardy
-
Trigger in RPGIV
Hallo Klaus,
vielleicht hilft Dir das folgende Beispiel weiter.
Die Datenstruktur für Parameter 1 ist in der Bibliothek QSYSINC, Datei QRPGLESRC, Teil-Datei TrgBuf vorhanden:
Beispiel
PHP-Code:
*Defintition Parameter
/COPY QSYSINC/QRPGLESRC,TrgBuf
D trigBufLen s 10i 0
* Externe Datenstrukturen für Satz alt/neu
D newRecord e ds extname(FILEA) prefix(NEW_)
D based(pNewRecord)
D oldRecord e ds extname(FILEA) prefix(OLD_)
D based(pOldRecord)
*----------------------------------------------------------------------------
C *entry plist
C parm QDBTB
C parm trigbuflen
* 1. Neuer Satz : Pointer Triggerbuffer + Offset Beginn Neuer Satz
* 2. Alter Satz : Pointer Triggerbuffer + Offset Beginn Alter Satz
C eval pNewRecord = %addr(QDBTB) + QDBNRO
C eval pOldRecord = %addr(QDBTB) + QDBORO
* Verarbeitung
C Return
Birgitta
-
Genau das habe ich gesucht.
vielen Dank, Birgitta.
Ich denke, jetzt komme ich allein zurecht und das Thema ist (erstmal) geschlossen.
Nochmal ein Dankeschön an alle Beteiligten.
Klaus Hardy
Similar Threads
-
By svente in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 04-01-07, 21:48
-
By CZE425 in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 10-02-05, 12:35
-
By Woody in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 13-01-05, 09:49
-
By Carsten in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 19-10-01, 08:42
-
By moeller400 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 29-05-01, 14:55
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks