Anmelden

View Full Version : copy / include



woodstock99
02-10-09, 06:41
Hallo zusammen,

jetzt bitte nicht hauen :) aber was ist eigentlich der genaue unterschied zwischen

/INCLUDE xxx/QCPYSRC,DATxxx_D

und

/Copy xxx/QCPYSRC,DATxxx_D....

..

Sprich also Copy und Include???

Fuerchau
02-10-09, 08:23
Der Unterschied besteht i.W., dass der Include auch IFS-Pfade unterstützt.
Zusätzlich kann ein Include auch geschachtelt werden (also Include in einer Include-Datei), ein Copy aber nicht.

Beide unterstützen auch Preprozessor-Anweisungen, die bei geschachtelten Includes wichtig sind (Verhinderung von Mehrfach-Includes):

#ifndef _MyInclude
#define _MyInclude
:
:
#endif

rmittag
02-10-09, 08:25
Suchmaschinen sind was schönes (kann man nur empfehlen ;-):

With /INCLUDE, SQL doesn't expand the copy member, but instead just passes the /INCLUDE on to the compiler. The compiler sees the /INCLUDE and opens the copy member. So SQL doesn't see all the things in copy members that it doesn't like (like nested /copy and all the stuff that's supposed to be conditionally excluded).

You can use /INCLUDE everywhere you use /COPY; for both SQLRPGLE and RPGLE programs. /COPY is only required when the copy file contains things that SQL needs to see, like host variables or embedded SQL.

B.Hauser
02-10-09, 09:15
Hallo,

COPY und INCLUDE funktionieren absolut identisch, d.h. verschachtelte /COPY-Strecken sind ebenso möglich, wie die Definition von IFS-Dateien im /COPY.

Der einzige Unterschied ist, dass der SQL-Precompiler /COPY auflöst während /INCLUDE vom SQL-Precompiler übergangen wird.

Birgitta

woodstock99
02-10-09, 09:17
danke für eure antworten,

aber @fuerchau.. copy können doch verschachtelt werden.....

beim umwandeln (SQLRPGLE) muß man halt nur den entsprechenden parameter RPGPPOPT auf level 2 setzten....

Fuerchau
02-10-09, 09:42
Muss ich dann alles wissen ;) ?

Bei Include braucht man keine Compiler-Optionen.

Pikachu
02-10-09, 09:44
Das schreib IBM zu /COPY und /INCLUDE. (http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/topic/com.ibm.etools.iseries.langref.doc/c092508643.htm#HDRCDCOPY)

woodstock99
02-10-09, 09:45
@fuerchau

nein musst du nicht.. ich wär ja froh wenn ich soviel wissen würde wie du oder wie birgitta oder oder.... :).
aber ich wollt dir halt evtl auch mal was schreiben das du noch nicht kennst :)))

Fuerchau
02-10-09, 09:48
Da bin ich ja immer offen für, man lernt schließlich auch in meinem Altern ;) immer noch dazu.