[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2002
    Beiträge
    331

    Embedded SQL in ILE RPG Service PGM

    Moin moin,

    ich habe ein Service Programm (ILE RPG) in welchem ich sämtliche I/O Operationen auf eine bestimmte Datei durch führe.
    Nun brauch ich aus n Datensätzen den Datensatz zwischen welchen ein bestimmtes Datum fällt.
    Beispiel:

    Satz A gültig vonDat 01.01.2001 bisDat 01.01.2002
    Satz B gültig vonDat 02.01.2002 bisDat 01.01.2003
    Satz C gültig vonDat 02.01.2003 bisDat 01.01.2004

    Angefordertes Datum : 07.05.2002 (folglich Satz B)

    Ich habe mir auch ein nettes SQL Statement zusammen gebastelt was (meiner Meinung nach) funktionieren sollte.

    PHP-Code:
       c/exec sql                                                        
     c
    +   select from Datei where                                   
     c
    +                                 Gebiet  =  :In_Gebiet and      
     
    c+                                 Ort     =  :In_Ort    and      
     
    c+                                 Hotel   =  :In_Hotel  and      
     
    c+                                 ReiArt  =  :In_ReiArt and      
     
    c+                                 VonDat  >  :In_ReiDat and      
     
    c+                                 BisDat  <  :In_ReiDat          
     c
    /end-exec 
    Problem ist nun die Umwandlung Es soll ein *SRVPGM werden aus einem Modul erstellt. Das Statement befindet sich übrigens in einer internen Prozedur innerhalb des Service Programmes.
    Da meine Kenntnisse im Bereich SQL bisher eher ...... bescheiden (um es mal nett zu formulieren) sind bekomme ich es einfach nicht hin.
    Ich habe probiert:
    QSYS/CRTSQLRPGI OBJ(SRV_OB_ORA) COMMIT(*NONE)
    und
    QSYS/CRTSQLPKG PGM(SRV_OB_ORA) OBJTYPE(*SRVPGM) MODULE(*ALL)
    leider führten keiner der Wege nach Rom.....
    Gibt es hier jemanden der mir einen kurzen Klaps auf den Hinterkopf geben kann?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    CRTSQLRPGI ... OBJTYPE(*SRVPGM)

    Du solltest zur Sicherheit noch

    H DFTACTGRP(*NONE) ACTGRP(*CALLER)

    und ggf.

    exec sql set option commit=*none;

    angeben.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hallo,

    embedded SQL-(Service)Programme können genau wie normale RPG-(Service)Programme in 2 Stufen erstellt werden:

    • Erstellen Modul z.B. mit Auswahl 15 im PDM.
    • Binden des Module in ein Service-Programm mittels CRTSRVPGM.


    Ansonsten hat man beim Befehl CRTSQLRPGI eine Option "Art der Kompilierung" bzw. ObjType bei der man die Option *SRVPGM angeben kann, wodurch direkt ein Service-Programm erstellt wird.
    (Allerdings habe ich es bislang noch nie auf diesem Weg versucht, da ich immer 2-stufig kompiliere).

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Jul 2002
    Beiträge
    331
    Super danke für den Klaps ...... das mit *SRVPGM hab ich komplett übersehen ...... ist halt auch schon spät

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. embedded SQL in RPG
    By muadeep in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 03-08-06, 13:25
  3. RPG mit Embedded SQL, JOIN ..
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 18-06-06, 12:14
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. embedded SQL in ILE RPG, UPDATE
    By Zupfl50 in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 06-10-04, 21:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •