Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   SQL im ILE/RPG (Free) (https://www.delphipraxis.net/71890-sql-im-ile-rpg-free.html)

Andidreas 22. Jun 2006 06:43


SQL im ILE/RPG (Free)
 
hi,

so ich weiss das des hier ein delphi forum is...

aber ich hätte denoch eine frage zur ILE/RPG programmierung im freien format auf der AS/400, vielleicht gibts hier ja nochmal ein paar leute die auch das können :lol:


also ich hab folgendes problem:

ich erstell mir grad ein einfaches simples ile/rpg programm im freien format in dem ich bisl mit sql rum spielen kann, bloss ich hab jetzt da ein kleines problem beim absetzen meines sql befehls

im spalten gebundenen rpg geht das so:

Code:
C/Exec SQL                                  
C+ Select Count(*) Into :AnzPak From POKPLNOX
C/End-Exec
also der sql befehl wird halt in meiner c bestimmung abgesetzt....


wie geht das im freien format :gruebel:
da hab ich ja nicht wirklich ne c bestimmung

ich habs mal so probiert:

Code:
  /Free
   ....
   ....
   ....
  /Exec SQL                                                
   +Select CaWk, CaKMon, CaKnr, CaKkz, CaKtnr, CaKttp, CaInh
   +Into  :AWk, :AKmon, :AKnr, :AKkz, :AKtnr, :AKtyp, :AInh
   + from caexwag                                          
   +Where CaWk  = EAWk,                                  
   +And   CaKMon = EAKMon,                                
   +And   CaKNr = EAKNr,                                
   +And   CaKtNr = EAKtnr                                
  /End-Exec
   ....
   ....
   ....
  /End-Free
und wie solls anders sein ich krieg beim kompelieren nen fehler :(
der da lautet:
004300 Anweisung für das Umwandlungsprogramm nicht erkannt; die Anweisung wird ignoriert.

hat jemand vielleicht ne idee wie ich das im freien format hinkrieg????

marabu 22. Jun 2006 09:18

Re: SQL im ILE/RPG (Free)
 
Hallo Andreas,

Free-Form Calls kannst du laut Handbuch nur ... für eine SubProcedure im gleichen Modul machen. Also musst du dein SQL auf herkömmliche Weise festlegen und kannst dann später per CALLP darauf zugreifen. Lies mal im Programmer's Guide Seite 133 "Using A Prototyped Call".

Grüße vom marabu

Andidreas 22. Jun 2006 12:02

Re: SQL im ILE/RPG (Free)
 
hmm die idee ist eigentlich nicht schlecht...

aber wenn ich meine sql befehle in en anders programm pack dann muss ich imho die daten zwischen denn beiden programmen hin und her schieben... des is dann nicht wirklich gut und ausserdem wirds auch unübersichtlich... find ich...

hab jetzt halt mal vorerst mal nen zwitter aus ile/rpg free und spalten gebundenen ile/rpg gemacht...
des sieht jetzt dann mal so aus:

Code:

 /Free
 ...
 ...                                                    
 /End-Free                                                
                                                           
C**                                                       
C/Exec SQL                                                
C+ Select CaWk, CaKMon, CaKnr, CaKkz, CaKtnr, CaKttp, CaInh
C+ Into  :AWk, :AKmon, :AKnr, :AKkz, :AKtnr, :AKtyp, :AInh
C+ From CAEXWAG                                          
C+ Where CaWk  = :EAWk                                  
C+ And   CaKMon = :EAKMon                                
C+ And   CaKNr = :EAKNr                                
C+ And   CaKtNr = :EAKtnr                                
C/End-Exec                                                
                                                           
 /Free
 ...
 ...
 /End-Free
ich unterbrech hier also erst mal mein freies format, pack die sql befehel in die c bestimmung und begin danach wieder mit meinem freien format...

wäre aber schön wenn jemand noch nen anderen weg finden würde wo ich komplett im freien format bleiben kann... :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz