-
Dataara Free Form RPG
Manchmal mach ich mir das Leben schon schwör..
Alte Form von *dtaara's zu definieren:
C *dtaara define myDta myDtaFld
C in myDtaFld
Wie das in Free Form RPG mit einem Charakterfeld geht, weiss ich schon. Nur mit Numerischen Dataareas tu ich mich echt schwer (RNF7421, Kompatibilität). Ausserdem würd ich mich gern auf die Feldlänge der Data Area referenzieren.
dcl-ds myDtaFld dtaara('myDta');
*n zoned(3:0);
end-ds;
in myDtaFld;
Ergibt RNF7421 bei einem Compare mit einem gepackten Feld.
Und die DS hab ich schon mit allen möglichen numerischen Feldarten definiert.
Weiss da jemand Bescheid? Danke.
kf
-
Referenz auf die DTAARA gibt es nicht.
Die Variable in der DS benötigt einen Namen denn der Zugrif auf den Strukturnamen ist ein Zeichenfeld!
Du musst also auf die Variable in der DS zugreifen.
-
Probier erstmal mit einem eigenständigen Feld als Datenbereich.
Später kannst du das in eine Datenstuktur packen (eine DS drumherum und das S beim Feld weg).
-
Du gibts den Namen der Data-Area in der Definition, innerhalb der Hoch-Komata in Groß/Klein-Buchstaben an.
Das kann er nicht finden.
M.E. müsste die Definition wie folgt lauten:
Code:
DCL-DS MyDtaFld DTAARA(*AUTO : *USRCTL : ’MYDTA’);
Birgitta
-
Danke Baldur und Birgitta,
Hab beide Varianten versucht.
Lösung:
dcl-ds MYDTA dtaara('MYDTA');
myDtaFld zoned(3:0);
end-ds;
ergibt zumindest keinen Fehler.
@Birgitta:
die GrossKleinSchreibe hab ich nur hier im Forum verwendet.
Interessanterweise funktioniert ein direkter Zugriff auf die DS, wenn Charakter angegeben sind, wie im ET beschrieben, aber mit numerischen Daten = Bauchlandung.
kf
-
Das ist ja auch kein Wunder.
Eine DS ist vom Typ her grundsätzlich Character!
Der DS-Name ist nur für die IN/OUT relevant, der Zugriff erfolgt über den Variablennamen.
Numerische DTAARA's lassen sich nun mal nicht unterstrukturieren.
Eine Zeichen-DTAARA kann mittels Positionierung und Länge explizit auf bestimmte Bereiche zugreifen (z.B. *LDA), daher ist hier eine DS der bessere Weg.
Ggf. sollte auch eine Single-Variable (DCL-S) für numerische DTAARA's funktionieren, dann klappt ggf. auch Birgittas Referenzbeispiel.
-
Dachte, ich informier euch noch wie's richtig funktioniert:
dcl-s MYDTAFLD packed(3:0) dtaara('MYDTA');
in MYDTAFLD;
kf
-
Wie gesagt, es klappt auch mit einer DS und der korrekten benannten Unterdefinition.
Schließlich nutze ich das durchaus in Triggern.
Similar Threads
-
By ILEMax in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 08-01-16, 09:23
-
By dibe in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 13-10-15, 08:48
-
By camouflage in forum IBM i Hauptforum
Antworten: 29
Letzter Beitrag: 19-11-13, 14:52
-
By Gimli in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 03-03-03, 10:23
-
By Peter Janocha in forum NEWSboard load'n'go
Antworten: 1
Letzter Beitrag: 04-04-01, 18:38
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