Anmelden

View Full Version : 2 Dateien mit SQl verknüpfen, gleiche Feldnamen



marcel331
03-04-06, 11:47
Hallo,

ich möchte unsere Kopf und Positionsdateien miteinander verknüpfen jedoch heißen die Keyfelder in den beiden Dateien gleich. Deshalb will er das Programm nicht wandeln.



DSTATPF E DS EXTNAME(STATPF)
DVSH20 E DS EXTNAME(VSH20PF)
DVSH30 E DS EXTNAME(VSH30PF)
*
* Ausschalten der Journal Funktion für Dateien
C/EXEC SQL
C+ set option commit=*none
C/END-EXEC
*
C/EXEC SQL
C+ DECLARE C1 CURSOR FOR SELECT V20.CRPLZ,V30.CWNR,V30.CARTNR FROM
C+ E20V8DTA/VSH20PF V20 JOIN E20V8DTA/VSH30PF V30 ON V20.CBNR = V30.CBNR
C/END-EXEC
*


Wie gehe ich am besten vor? Bitte um eure Antworten

Danke

Marcel

Fuerchau
03-04-06, 12:25
Du musst die Felder in der DS umbenennen.

marcel331
03-04-06, 12:37
Gibt es gar keine andere Möglichkeiten?? Die Dateien sind bei uns Produktiv im Einsatz und können so in de DDS nicht ohne erheblichen Aufwand geändert werden.

Gruß

Marcel

B.Hauser
03-04-06, 12:45
Hier mehrere Fragen:

1. Wofür brauchst Du die externen Datenstrukturen?
In Deinem SQL-Statement fragst Du die Felder doch einzeln ab. Die externen Datenstrukturen sind nur für RPG erforderlich.
Als Ausgabe-Feld kannst Du die Felder benennen wie Du möchtest.

2. Was spricht dagegen, wenn Du die Datenstrukturen wirklich brauchen solltest, alle Felder mit Hilfe des Schlüssel-Wortes PREFIX im RPG umzubenennen?

Birgitta

jo400
03-04-06, 12:45
Hallo,

Fuerchau hatte geschrieben "DS" (=Datenstruktur) und nicht "DDS".

Du kannst z.B. durch die Verwendung von PREFIX(KO) bei der Kopfdatei und PREFIX(PO) bei der Positionsdateti die Felder in den beiden Datenstrukturen umbenennen.

Viel Erfolg!

Jo