-
 Zitat von dschroeder
Eine konkrete Empfehlung habe ich aber auch noch: Wenn ihr mit Profound arbeitet, könnt ihr in Displayfiles mit langen Feldnamen (Stichwort "alias") arbeiten. Bei uns heißt ein normales Displayformat F1. Wenn es ein zweites gibt, heißt das dann F2 usw. Wenn es eine Subfile ist, heißt das Format S1. (Bei mehreren Subfiles S2, S3, usw...).
Die Felder in den Formaten habe dann ganz "normale" Namen, wie z.B. "name" oder "rechnungsbetragBrutto". Sie brauchen keine eigene Kennung als Variablen von Display-Files, da sie über die Displayfiles-Datenstrukturen angesprochen werden. Also z.B. "f1.name" oder "s1.rechnungsbetragBrutto".
Hallo Dominic,
leider ist mir bei der Beschreibung ein Fehler unterlaufen. Ich hoffe, ich habe dich nicht in die Irre geführt.
Die Formate in Display heißen bei uns nicht F1 und F2, sondern FMT1 bzw. SFL1.
F1 und S1 sind im Programm definierte Strukturen, um die Alias-Namen zu verarbeiten.
Hier ein Beispiel:
Das Displayfile heißt "sis45ad", das erste Format im Display heißt fmt1, die erste Subfile im Display heißt sfl1.
Dann wäre folgendes die Deklaration der Display-File im RPG:
Code:
dcl-f sis45ad WORKSTN handler('PROFOUNDUI(HANDLER)') alias qualified
sfile(sfl1:f1.s1_satznr);
Die Datenstrukturen für die Formate sind dann folgendermaßen zu deklarieren:
Code:
// Qualifizierte Datenstrukturen für Bildschirm-Handling:
dcl-ds f1 likerec(sis45ad.fmt1:*all); // Alle Felder des normalen Formates
dcl-ds s1 likerec(sis45ad.sfl1:*all); // Alle Felder von sfl1
Die Strukturen verwenden wir dann beim Zugriff auf das Format oder die Subfile,
also z.B.:
Code:
exfmt sis45ad.fmt1 f1;
oder
chain satznr sis45ad.sfl1 s1;
Der Zugriff auf die Felder erfolgt dann qualifiziert. Wenn es also in der Subfile ein Feld rechnungsbetrag gibt und im normalen Format ebenso, kann man die Felder so ansprechen:
Code:
if f1.rechnungsbetrag > 0,
...
bzw.
Code:
if s1.rechnungsbetrag > 0,
...
Das Schöne an den langen Namen ist insbesondere, dass man alle Attribute mit klaren Begriffen benennen kann. Wenn der Rechnungsbetrag sichtbar/unsichtbar geschaltet werden soll, würde man die Variable dafür im Display eben "rechnungsbetrag_visible"
nennen.
Entschuldige meine langen Ausführungen, falls du das sowieso schon alles wusstest. Aber ich dachte, bevor du lange rumprobierst...
Übrigens: Das Schlüsselwort *all bei der Deklaration der Datenstrukturen geht noch nicht so lange. Ich glaube, man braucht das OS Version 7.1 und ein bestimmtes Technology Refresh.
Dieter
Similar Threads
-
By NEWSolutions Redaktion in forum NEWSolutions artikel
Antworten: 1
Letzter Beitrag: 07-12-15, 06:30
Tags for this Thread
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