-
COBOL mit Programm-System-Übergabefeld
Hallo Specialists!
Ich als COBOL-Newbie will wie in RPG ein DSPF mit Programm-System-Übergabefelder im DSPF arbeiten. Das DSPF ist soweit OK. Das Attribut zu setzen (Hidden und Protect) funktioniert auch. Nur beim Drücken der ENTER Taste verschiebt sich der Feldinhalt um 2 Byte - vermutlich ein Fehler im Bildschirmbuffer???
Es gibt sicher Spezialisten die hierfür eine Idee haben!
Codeausschnitte:
PROCESS MAP DATETIME VARCHAR NOMONOPRC
.
.
SELECT MSKERLEFM
ASSIGN TO WORKSTATION-MSKERLEFM
ORGANIZATION IS TRANSACTION
ACCESS MODE IS SEQUENTIAL
CONTROL-AREA IS MSKERLEFM-CONTROL.
.
.
FD MSKERLEFM.
01 MSKERLE1.
COPY DDS-ALL-FORMATS OF MSKERLEFM.
* Setzen DSPF Attribute
MOVE ATRHIDDEN TO XERLPOST OF MSKERLE1-O.
MOVE ATRPROTHIDD TO XERLPOS OF MSKERLE1-O.
*
PERFORM AUSWAHL.
CLOSE MSKERLEFM.
GOBACK.
* MASKENSTEUERUNG UND GÜLTIGKEITSPRÜFUNG
AUSWAHL SECTION.
AUS-0.
WRITE MSKERLE1 FORMAT "MSKERLE1"
INDICATORS ARE SCREEN-INDICATORS.
MOVE ZEROES TO SCREEN-INDICATORS
READ MSKERLEFM FORMAT "MSKERLE1".
.
.
.
Ich kann Daten in die Maske eintragen. Doch beim Drücken der ENTER Taste werden die Feldinhalte immer um 2 Byte verschoben!.
Was muss ich berücksichtigen, damit COBOL die Zeichen in der Maske richtig darstellt?
Vielen Dank im Voraus
Hermann
-
Im Gegensatz zu RPG unterscheidet COBOL zwischen Input- und Output-Formaten.
D.h., beim Read gibt es nur Input-Felder und ggf. INxx, beim Write nur Output-Felder, wobei ein Input- auch ein Output-Feld sein kann.
Wenn du dir die Definition des DDS-ALL-Formats ansiehst, kannst du jede Menge Redefinitionen der unterschiedlichen Formate entdecken.
Programm-Übergabefeld sind, wie der Name schon sagt, eben nur Ausgabefelder und fehlen daher bei der Eingabe.
I.d.R. legt man sich daher in der WORKING-Storage Section je Input- und Output einzelne Satzstrukturen an, so dass man per READ ... INTO und WRITE .... FROM ganz genau unterscheiden kann.
Da COBOL nun mal tippintensiv ist, erhöht sich da etwas der Aufwand:
w-s section.
01 Formate.
copy dds-format-i of dspfile
copy dds-format-o of dspfile
read dspfile into format-i format is "FORMAT"
move corr format-i to format-o
write dsprecord from format-o format is "FORMAT"
Die Namen "format" hängen dann halt von deinen tatsächlichen Formatnamen ab und der Zugriff erweitert sich leider mit
feld of format-i
feld of format-o
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 30-01-17, 13:36
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 26-01-17, 13:16
-
By Claudia Lange in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 23-07-02, 11:32
-
By activ in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 24-05-02, 07:32
-
By Wirnitzer in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 09-08-01, 10:31
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