Anmelden

View Full Version : Ein Programm 2 system-i unterschiedliche Ergebnisse



nico1964
08-06-10, 13:32
Hallo,

ich habe folgendes Problem: 2 system-i die eine mit V5R2 (compile funktioniert), die andere mit V5R4 (compile funktioniert nicht), folgende Statements sind in der Umwandlungsliste enthalten:

Copy im Cobol unter

01 HY1-SATZ.
COPY DD-HY1SATZ OF LEAHY1. <O:p</O:p
<O:p</O:p
'HY1-FELD-BEZEICHNUNG OF HY1SATZ OF HY1' nicht in 'HY1SATZ' definiert. Schlüsselfeld ignoriert.
I-O FORMAT:HY1SATZ FROM FILE LEAHY1 OF LIBRARY TLEAREL HY1SATZ <O:p></O:p>
HY1SATZ
THE KEY DEFINITIONS FOR RECORD FORMAT HY1SATZ HY1SATZ
NUMBER NAME RETRIEVAL ALTSEQ HY1SATZ
0001 HY1-TABELLE ASCENDING NO HY1SATZ
0002 HY1-KEY ASCENDING NO HY1SATZ
0003 HY1-DATUM ASCENDING NO HY1SATZ
0004 HY1-UHRZEIT ASCENDING NO HY1SATZ
0005 HY1-REFERENT ASCENDING NO HY1SATZ
0006 HY1-PROGRAMM ASCENDING NO HY1SATZ
0007 HY1-FELD-BEZEICHNUNG ASCENDING NO HY1SATZ
05 HY1SATZ. HY1SATZ
06 HY1-KEY PIC X(30). HY1SATZ
Key HY1SATZ
06 HY1-DATUM PIC S9(8). <O:p></O:p>
* Datum <O:p></O:p>
06 HY1-UHRZEIT PIC S9(8). <O:p></O:p>
* Uhrzeit <O:p></O:p>
06 HY1-REFERENT PIC X(10). <O:p></O:p>
* Referent <O:p></O:p>
06 HY1-PROGRAMM PIC X(10). <O:p></O:p>
* Programm <O:p></O:p>
06 HY1-TABELLE PIC X(10). <O:p></O:p>

06 HY1-KZ-NUM PIC X(1). <O:p></O:p>
* KZ num,J od SPACE <O:p></O:p>
06 HY1-KLASSE PIC X(1). <O:p></O:p>
* Klassifizierung <O:p></O:p>
06 HY1-WERT-NUM PIC S9(14)V9(4). <O:p></O:p>
* numerischer Wert
06 FILLER PIC X(32). HY1SATZ <O:p></O:p>
a <O:p></O:p>
'HY1-FELD-BEZEICHNUNG' hat eine falsche Feldart. Alphanumerische Angabe für FILLER deklariert. <O:p></O:p>
Feld Bezeichnung HY1SATZ <O:p></O:p>
(Variable length field) HY1SATZ <O:p></O:p>
06 HY1-TRANSAKTIONS-ART PIC X(1). HY1SATZ <O:p></O:p>
Transaktionsart HY1SATZ <O:p></O:p>
06 FILLER PIC X(102). HY1SATZ <O:p></O:p>
a <O:p></O:p>
'HY1-WERT' hat eine falsche Feldart. Alphanumerische Angabe für FILLER deklariert. <O:p></O:p>
Wert HY1SATZ <O:p></O:p>
(Variable length field) HY1SATZ
<O:p> </O:p>
<O:p> </O:p>
Copy im Cobol unter V5R2

01 HY1-SATZ. <O:p></O:p>
COPY DD-HY1SATZ OF LEAHY1. <O:p></O:p>
I-O FORMAT:HY1SATZ FROM FILE LEAHY1 OF LIBR<O:p></O:p>
<O:p></O:p>
THE KEY DEFINITIONS FOR RECORD FORMAT HY1SATZ <O:p></O:p>
NUMBER NAME RETRIEVAL <O:p></O:p>
0001 HY1-TABELLE ASCENDING <O:p></O:p>
0002 HY1-KEY ASCENDING <O:p></O:p>
0003 HY1-DATUM ASCENDING <O:p></O:p>
0004 HY1-UHRZEIT ASCENDING <O:p></O:p>
0005 HY1-REFERENT ASCENDING <O:p></O:p>
0006 HY1-PROGRAMM ASCENDING <O:p></O:p>
0007 HY1-FELD-BEZEICHNUNG ASCENDING <O:p></O:p>
05 HY1SATZ. <O:p></O:p>
06 HY1-KEY PIC X(30). <O:p></O:p>
* Key <O:p></O:p>
06 HY1-DATUM PIC S9(8). <O:p></O:p>
* Datum <O:p></O:p>
06 HY1-UHRZEIT PIC S9(8). <O:p></O:p>
* Uhrzeit <O:p></O:p>
06 HY1-REFERENT PIC X(10). <O:p></O:p>
* Referent <O:p></O:p>
06 HY1-PROGRAMM PIC X(10). <O:p></O:p>
* Programm <O:p></O:p>
06 HY1-TABELLE PIC X(10). <O:p></O:p>
* Tabelle <O:p></O:p>
06 HY1-KZ-NUM PIC X(1). <O:p></O:p>
* KZ num,J od SPACE <O:p></O:p>
06 HY1-KLASSE PIC X(1). <O:p></O:p>
* Klassifizierung <O:p></O:p>
06 HY1-WERT-NUM PIC S9(14)V9(4). <O:p></O:p>
* numerischer Wert <O:p></O:p>
06 HY1-FELD-BEZEICHNUNG. <O:p></O:p>
* (Variable length field) <O:p></O:p>
49 HY1-FELD-BEZEICHNUNG-LENGTH <O:p></O:p>
PIC S9(4) COMP-4.<O:p></O:p>
49 HY1-FELD-BEZEICHNUNG-DATA <O:p></O:p>
PIC X(30). <O:p></O:p>
* Feld Bezeichnung <O:p></O:p>
06 HY1-TRANSAKTIONS-ART PIC X(1). <O:p></O:p>
* Transaktionsart <O:p></O:p>
06 HY1-WERT. <O:p></O:p>
* (Variable length field) <O:p></O:p>
49 HY1-WERT-LENGTH PIC S9(4) COMP-4.<O:p></O:p>
49 HY1-WERT-DATA PIC X(100). <O:p></O:p>
* Wert

<O:pDie DDS ist in beiden Fällen gleich definiert.<O:p></O:p>
<O:p> </O:p>
DDS-Quelle
<O:p></O:p>
REF(LEAFR)
**** UNIQUE
R HY1SATZ
*** KEY 20A ALIAS(HY1_KEY)
KEY 30A ALIAS(HY1_KEY)
COLHDG('Key')
DATUM R ALIAS(HY1_DATUM) <O:p></O:p>
REFFLD(DATUM) <O:p></O:p>
COLHDG('Datum') <O:p></O:p>
UHRZEIT 8S 0 ALIAS(HY1_UHRZEIT) <O:p></O:p>
COLHDG('Uhrzeit') <O:p></O:p>
REFERENT R ALIAS(HY1_REFERENT) <O:p></O:p>
REFFLD(REFERENT) <O:p></O:p>
COLHDG('Referent') <O:p></O:p>
PROGRAMM 10A ALIAS(HY1_PROGRAMM) <O:p></O:p>
COLHDG('Programm') <O:p></O:p>
TABELLE 10A ALIAS(HY1_TABELLE) <O:p></O:p>
COLHDG('Tabelle') <O:p></O:p>
*
KZNUM R ALIAS(HY1_KZ_NUM) <O:p></O:p>
REFFLD(TEXT1) <O:p></O:p>
COLHDG('KZ num,J od SPACE') <O:p></O:p>
KLASSE R ALIAS(HY1_KLASSE) <O:p></O:p>
REFFLD(TEXT1) <O:p></O:p>
COLHDG('Klassifizierung') <O:p></O:p>
WERTNUM 18S 4 ALIAS(HY1_WERT_NUM) <O:p></O:p>
COLHDG('numerischer Wert') <O:p></O:p>
<O:p></O:p>
FELDBEZ 30A ALIAS(HY1_FELD_BEZEICHNUNG) <O:p></O:p>
VARLEN(8) <O:p></O:p>
COLHDG('Feld Bezeichnung') <O:p></O:p>
TRANSART 1A ALIAS(HY1_TRANSAKTIONS_ART) <O:p></O:p>
COLHDG('Transaktionsart') <O:p></O:p>
WERT 100A ALIAS(HY1_WERT) <O:p></O:p>
VARLEN(8) <O:p></O:p>
COLHDG('Wert') <O:p></O:p>
<O:p></O:p>
K TABELLE <O:p></O:p>
K KEY
K DATUM <O:p></O:p>
K UHRZEIT <O:p></O:p>
K REFERENT <O:p></O:p>
K PROGRAMM <O:p></O:p>
K TABELLE <O:p></O:p>
K FELDBEZ
Kann mir vielleicht jemand weiterhelfen?

mfg
Andreas

Pikachu
08-06-10, 14:03
Sieht nach 'nem Problem mit Feldern variabler Länge beim Wandeln aus.

Fuerchau
08-06-10, 14:37
CRTCBLPGM CVTOPT(*VARCHAR)

Ggf. kann man das auch als PROCESS-Anweisung in der Quelle angeben.

nico1964
08-06-10, 14:41
CRTCBLPGM CVTOPT(*VARCHAR)

Ggf. kann man das auch als PROCESS-Anweisung in der Quelle angeben.
Danke, habe jetzt mal auch auf der V5R2 compiliert und dann genau diesen unterschied gefunden. Das gute am RTCp ist, das ich diese Optionen generell in den BuildSpec's definieren kann und diese werden dann von allen Entwicklern innerhalb des Projektes verwendet und keiner kann was vergessen.

mfg
Andreas

Pikachu
08-06-10, 14:50
... und keiner kann was vergessen.
Außer beim Releasewechsel von V5R2 nach V5R4 zum Beispiel. ;)

nico1964
08-06-10, 15:29
Außer beim Releasewechsel von V5R2 nach V5R4 zum Beispiel. ;)
Nein, hat nichts mit dem Releasewechsel zu tun, da wir unter V5R2 mit dem guten alten ADM arbeiten und erst auf der V5R4 mit RTCp und da habe ich einfach nicht aufgepasst, beim anpassen der Compileroptions
:rolleyes: