-
 Zitat von BenderD
wo hast du das mit den %parms her???
Hallo DBender:
Hier der entsprechende Auszug aus dem RPG-Referenzhandbuch
%PARMS returns the number of parameters that were passed to the procedure in which %PARMS is used. For the main procedure, %PARMS is the same as *PARMS.
The value returned by %PARMS is not available if the program or procedure that calls %PARMS does not pass a minimal operational descriptor. The ILE RPG compiler always passes one, but other languages do not. So if the caller is written in another ILE language, it will need to pass an operational descriptor on the call. If the operational descriptor is not passed, the value returned by %PARMS cannot be trusted.
wie schon geschrieben, wird %parms immer mit dem Wert -1 in das SRVPGM geliefert.
 Zitat von BenderD
Die Null Byte Array Lösung ist da defensiver, aber deine Abfrage ist Unfug statt %addr(feld) <> *null (denn übergeben wird hier ja ein Pointer, damit RPG das ab kann) musst du den Inhalt des entsrpechenden Null Indicators abfragen (und dann passt das Datum natürlich immer noch nur dann, wenn da kein Senf drinsteht).
Ich habe anstelle des %addr(feld) versucht die Null-Indicators anzusprechen, die sind aber nicht addressierbar (werden vermutlich auch nicht von der UDF gefüllt).
Gruss
Peder
-
du solltest dir lieber mal die SQL Reference bezüglich der Parameterübergabe ansehen!
Du hast eine Function mit 5 Parametern hin und einem zurück; daraus macht SQL (je nach Übergabe Art) so 5 bis 11 Parameter, die in der Reihenfolge, wie in der Function definiert (was anderes weiß sie ja nicht) die per Reference an die Procedure übergeben werden. Wenn du jetzt einen der Indicator abfragen willst, brauchst du für jede Procedure einen wrapper (siehe Baldur), oder du baust einen Wackelhaufen (von rückwärts erst mal mit %addr anfangen zu ermitteln ab wann da was kommt und dann die Parameter einzusortieren...)
Im übrigen scheint hier ja noch was anderes faul zu sein, wenn ich dein letztes Posting verstehe, dann passt da ja die Anzahl der Parameter.
D*B
 Zitat von Peder
Hallo DBender:
Hier der entsprechende Auszug aus dem RPG-Referenzhandbuch
wie schon geschrieben, wird %parms immer mit dem Wert -1 in das SRVPGM geliefert.
Ich habe anstelle des %addr(feld) versucht die Null-Indicators anzusprechen, die sind aber nicht addressierbar (werden vermutlich auch nicht von der UDF gefüllt).
Gruss
Peder
Similar Threads
-
By Nils_V in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 18-07-16, 09:49
-
By Peder in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 06-12-06, 08:15
-
By Jump4738 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 06-10-06, 15:08
-
By GraueEminenz in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 18-07-06, 09:05
-
By HACHIMAN in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 22-05-06, 09:48
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