-
Progamm interne Tabelle in RPGIV definieren
Hallo,
habe Probleme mit der Definition einer programm internen ladbaren Tabelle
**
01Januar
02Februar
03März
04April
usw.
Wie muss die in den D-Bestimmungen definiert werden
Stehe gersde auf dem Schlauch.
Danke
-
D MONAT S 20 DIM(12) CTDATA PERRCD(1)
**
Januar
Februar
März
-
Die Tabelle sollte aber so aussehen
01Monatsname
Es ist nur ein Beispiel
-
Wozu?
MyMonatNum = %Lookup(%Trim(String):MONAT:1);
MyMonatNam = MONAT(MyMonatNum);
-
Was ich an internen Tabellen hasse ist, dass die Informationen am Ende der Quelle stehen und eine nach meinem Geschmack illustere Syntax haben.
Deshalb definiere ich i.d.R. globale/locale Datenstrukturen, die direkt initialisiert werden und innerhalb der Quelle nicht verändert werden. (...ich weiß ist nicht das gleiche, aber m.E. einfacher zu handeln und mit den richtigen Namenskonventionen sollte auch der Kollege solche Struktueen nicht überschreiben:
Code:
DCL-DS ConstDSMonat Qualified;
*N Zoned(2) inz(1);
*N Char(10) inz('Januar');
*N Zoned(2) inz(2);
*N Char(10) inz('Februar');
...
Arr Dim(12) Pos(1);
ArrNum Zoned(2) Overlay(Arr);
ArrChar Char(10) Overlay(Arr: *Next);
END-DS;
Birgitta
-
Ich hab mal was aus einem Uraltprogramm rausgeholt:
D USn S 3 DIM(11) CTDATA PERRCD(1)
D UKn S 16 DIM(11) ALT(USn)
** USn + UKn UMSATZ
0321771000000000000
0331776000000000000
0351775000000000000
0361570000000000000
0371575000000000000
0381571000000000000
0391577000000000000
03F1561000000000000
-
Oder vielleicht so?
PHP-Code:
DMONATE DS
DARRINZ INZ('01Januar +
D 02Februar +
D 03März +
D 04April +
D 05Mai +
D 06Juni +
D 07Juli +
D 08August +
D 09September +
D 10Oktober +
D 11November +
D 12Dezember ')
DARR OVERLAY(ARRINZ) DIM(12)
DARRNUM 2S 0 OVERLAY(ARR)
DARRCHAR 10A OVERLAY(ARR:*NEXT)
-
Zitat von Pikachu
Oder vielleicht so?
PHP-Code:
DMONATE DS DARRINZ INZ('01Januar + D 02Februar + D 03März + D 04April + D 05Mai + D 06Juni + D 07Juli + D 08August + D 09September + D 10Oktober + D 11November + D 12Dezember ') DARR OVERLAY(ARRINZ) DIM(12) DARRNUM 2S 0 OVERLAY(ARR) DARRCHAR 10A OVERLAY(ARR:*NEXT)
Das klappt bei gezonten und alphanumerischen Feldern mit fixer Länge. Bei gepackten Feldern und/oder Feldern mit variabler Länge wird diese Schreibweise problematisch.
Birgitta
-
Das aus dem Uraltprogramm ist das was ich in diesem Fall brauche. Danke.
Similar Threads
-
By DEVJO in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 16-09-15, 13:14
-
By svente in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 03-11-14, 12:46
-
By Bau in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 05-12-02, 16:43
-
By sufukli in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-06-02, 12:07
-
By Joachim_Scholz in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 21-11-01, 17:45
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