-
Wenn du ein kleines Codebeispiel hast, was bei dir nicht geht, probiere ich gerne mal aus, ob das Autocomplete in meinem RDi geht.
Bei mir geht die Autocomplete Funktion meistens.
-
Also ich hab hier mal ein Beispielprogramm:
DDS Source:
Code:
A R PFA002R
A
A FLD01 2S 0 COLHDG('FELD 01 ')
A FLD02 10A COLHDG('FELD 02 ')
Inhalt der Datei PFA002P:
Code:
*...+....1..
01Text 1
02Text 2
03Text 3
04Text 4
05Text 5
06Text 6
07Text 7
08Text 8
09Text 9
10Text 10
Und hier der Programmcode:
PHP-Code:
**free ctl-opt decedit('0,') datedit(*dmy) dftactgrp(*no) option(*nodebugio:*srcstmt:*nounref);
dcl-pr GibText char(10); $1id zoned(2) const; end-pr;
dcl-s i int(3); dcl-s text char(10);
text = *blanks; i = 5; text = GibText(i); dsply text;
*inlr = *on;
// Subprozedur dcl-proc GibText; // Datei und Host-DS einbinden dcl-f pfa002p disk usage(*input); dcl-ds pfa002rDS likerec(pfa002r); // "pfa002r" wird im likerec auch nicht erkannt :( // Prozedure-Interface dcl-pi GibText char(10); $1id zoned(2) const; end-pi; // Lokale Felder dcl-s x1id like($1id); // $1id wurde bereits verwendet -> wird auch vorgeschlagen dcl-s result like(pfa002rDS.fld02); // Teilweise wurde hier schon die Autocomplete verweigert // Beginn der Programmlogik x1id = $1id; // Muss selber tippen, da x1 noch nicht verwendet wurde read pfa002r pfa002rDS; // Auch hier musste ich den Namen selber schreiben. Vorgeschlagen wird nur der Dateiname, nicht der Satzformatname dow (not %eof(pfa002p)); if (pfa002rDS.fld01 = x1id); // Ab hier kannte RDi den Namen "pfa002rDS" result = pfa002rDS.fld02; leave; endif; read pfa002r pfa002rDS; enddo;
return result; end-proc;
Probier mal das ganze nachzustellen/nachzuschreiben. Vielleicht hast Du ja auch bei den Kommentierten Stellen das Problem.
So, wie das Programm oben aussieht (bzw eigentlich die Subprozedur "GibText", bau ich im Normalfall alle meine Unterprozeduren auf (Zuerst die Datei, dann Host-DS, PI, Lokale Felder und dann erst der Programmcode).
-
Ich habe das bei mit probiert. Bei mir gibt es aus meiner Sicht keine Probleme mit dem Autocomplete.
Bei mir ist es folgendenmaßen:
In den folgenden Zeilen wird beim dcl kein Inhalt beim Autocomplete vorgeschlagen:
Code:
// Datei und Host-DS einbinden
dcl-f pfa002p disk usage(*input);
dcl-ds pfa002rDS likerec(pfa002r); // "pfa002r" wird im likerec auch nicht erkannt :(
Das ist auch OK, denke ich. RDi kann ja nicht wissen, welche Datei du irgendwann mal einbinden willst. Beim Likerec wird bei mir auch nur die allgemeine Hilfe "Likerec(record-name)" vorgeschlagen. Hier könnte RDi tatsächlich intelligenter sein. Schließlich steht ja links der Dateiname.
Beim Rest des Codes (also ab //Lokale Felder) kommt beim mir überall der korrekte Autocomplete. Allerdings wird bei read der Dateiname, nicht der Recordname vorgeschlagen. Da könnte RDi vielleicht beides vorschlagen, denke ich. Es wäre ja beides zulässig.
Noch ein paar Anmerkungen zum Code:
Die Prototype-Deklaration
Code:
dcl-pr GibText char(10);
$1id zoned(2) const;
end-pr;
kannst du dir sparen, denke ich. Das macht der Compiler von selber.
Und die dcl-Reihenfolge innerhalb der Procedure finde ich ungewöhnlich (ist aber natürlich Geschmackssache): Bei mir kommt nach der declaration der Procedure immer direkt die pi-Deklaration, da dass ja die Kommunikation der Procedure nach außen beschreibt.
Erst danach kommen beim mir Dateien und lokale Variablen. Es ist jedenfalls nicht so wie früher, dass man zwingend erst die Dateien und danach den Rest deklarieren muss. Es sind ja alles dcl- Anweisungen. Und die sind (meines Wissens nach) gleichrangig.
Gruß,
Dieter
Similar Threads
-
By lorenzen in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-05-03, 11:46
-
By Carsten in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 05-10-01, 08:42
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