Hallo,

zur Umwandlung von embedded SQL gibt es für Programme, Module und Service-Programm nur einen einzigen Befehl CRTSQLRPGI.

Vor der eigentlichen Compilierung läuft der SQL-Precompiler über den Source Code. Der Precompiler verarbeitet lediglich die SQL-Statements und ersetzt diese durch API-Aufrufe. Die RPG-Commands (mit Ausnahme der D-Bestimmungen) bleiben unberücksichtigt. Deshalb werden auch die H-Bestimmungen ignoriert und das SET OPTION-Statement jedoch verarbeitet.
Nach der Verarbeitung durch den SQL-Precompiler werden die eigentlichen Create-Befehle, CRTBNDRPG oder CRTRPGMOD ausgeführt, je nachdem, ob mit 14 oder 15 umgewandelt wird.

Vielleicht noch eine Anmerkung zum SET OPTION-Statement.
  1. Es darf nur ein einziges SET OPTION-Statement pro Quelle angegeben werden
  2. Seit Release V5R4 muss das SET OPTION-Statement in der Quelle das 1. SQL-Statement sein. Befindet sich das SET OPTION-Statement z.B. in der *INZSR-Routine, die am Ende der Quelle steht, gibt es einen Compile-Fehler mit einer ziemlich undurchsichtigen Fehlermeldung.


Birgitta