-
Wie erstelle ich ein SEU UserExit Programm?
Hallo zusammen,
ich bräuchte mal Hilfe von Vollprofis ;-)
Ich möchte ein UserExit Programm schreiben, welches mir gewisse Codeblöcke automatisch in die RPGLE Quelle einfügt (Kommantarbloc bei KOM, eine KeyList bei KEY etc).
Leider habe ich absolut keinen Plan wie ich das angehen soll. Muss das dahinterligende Programm einen speziellen Aufbau haben (*Entry Parms... )?
Das zweite Problem es sollen ja mehrere Sachen generiert werden, ich kann aber ja nur ein ExitProgramm hinterlegen, schreibe ich das ein Sammelprogramm für alles was anhand des Zeilenbefehls unterscheidet, oder hinterlege ich dort mehrere Programme?
Danke an alle Helfenden.
-
Beschreibung und Beispiele gibt es im SEU-Handbuch:
http://publib.boulder.ibm.com/infoce...s/c0926050.pdf
Bruno
-
Halo ExAzubi,
Ein nettes Beispiel, welches ich auch selbst einsetze, findest Du hier:
http://www.mcpressonline.com/mc/.5bfadc7d
Gruß Holger
-
Danke für die Hinweise, besonder die Bsp. von Hollly haben mir geholfen und das PDF war auch sehr Hilfreich.
Allerdings habe ich ein Problem, ich kann keine Zeilen einfügen, da knallt mir der SEU. Kann mir vielleicht jemand noch zu diesem Problem ein Tipp geben?
-
Beim Einfügen von Zeilen musst du SEU noch mitteilen, wieviele Zeilen vom Exit-Programm zurückkommen. Hast du das in deinem Programm?
Bruno
-
Also der Code-Block sieht folgendermaßen aus.
Code:
D RETINF DS BASED(P2)
D RRETC 1 1
D RRSV2 2 4
D RRECO 5 8B 0
D RSEQN 9 15
D RRSV3 16 37
Paramterds für den 2 Parameter
Und der Codeblock (Jetzt nur testweise, soll bei Funktionieren noch verschönert werden.
Code:
C SKOMB BEGSR
*
C 1 DO 3
C IF HRLEN<100
C MOVEL *ALL'*' LTXT1
C ELSE
C MOVEL *ALL'*' LTXT2
C ENDIF
*
C MOVEL '0000001' RSEQN
C EVAL RRECO = 1
C EVAL RRETC = '0'
C ENDDO
C EVAL LCMD1 = *BLANK
*
C EKOMB ENDSR
Was muss ich anders machen?
Trotzdem Danke für alle bisherigen Tipps.
-
Zitat von ExAzubi
Und der Codeblock (Jetzt nur testweise, soll bei Funktionieren noch verschönert werden.
Code:
C SKOMB BEGSR
*
C 1 DO 3
C IF HRLEN<100
C MOVEL *ALL'*' LTXT1
C ELSE
C MOVEL *ALL'*' LTXT2
C ENDIF
*
C MOVEL '0000001' RSEQN
C EVAL RRECO = 1
C EVAL RRETC = '0'
C ENDDO
C EVAL LCMD1 = *BLANK
*
C EKOMB
ENDSR
Bist du dir Sicher das die SR zu Begin SKOMB und am Ende EKOMB heißt ?
Was muss ich anders machen?
Trotzdem Danke für alle bisherigen Tipps.
Gruß AS400.lehrling
-
Zitat von AS400.lehrling
Bist du dir Sicher das die SR zu Begin SKOMB und am Ende EKOMB heißt ?
Gruß AS400.lehrling
Ja warum nicht?
Die Benennung der SR ist nun doch ganz egal, und die des Ende TAG's ja auch!?!
-
Versuch doch mal Folgendes:
Vor der Schleife
MOVEL 'A000001' RSEQN
Damit teilst du SEU mit, dass du nach Zeile 1 was einfügen willst. Statt der 1 kannst du aus der Eingabestruktur auslesen, in welcher Zeile der Befehl eingegeben wurde und das entsprechend setzen, damit nicht nach Zeile 1 sondern nach der aktuellen Zeile eingefügt wird.
In der Schleife
die Zeilen mit dem einzufügenden Text füllen. Den Pointer auf die Zeile dabei jeweils erhöhen.
Nach der Schleife
EVAL RRECO = Anzahl der eingefügten Zeilen
EVAL RRETC = '0'
Ich mache das in einem Cobol-Programm und das funktioniert so.
Bruno
-
Danke Bruno für den Tipp, der hat geholfen.
Similar Threads
-
By Souljumper in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 13-05-09, 19:50
-
By schatte in forum NEWSboard Programmierung
Antworten: 19
Letzter Beitrag: 10-01-07, 11:32
-
By codierknecht in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 04-07-06, 11:52
-
By Robi in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 25-07-01, 14:02
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