[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.944
    Zitat Zitat von ChookaA Beitrag anzeigen
    Hast du da bitte mal einen Link für mich zur Dokumentation? Ich such mir da grade den Wolf ...
    Hier ist der Link: Create Or Replace Procedure (External)

    Man kann COBOL, CL oder auch RPG Programme zwar direkt aus einer SQL-Umgebung aufrufen, aber das geht allenfalls solange gut solange es sich nur um alphanumerische Parameter mit fixer Länge handelt. Deshalb wird immer empfohlen die (HLL) Programme oder Prozeduren als SQL Stored Procedures oder User Defined Functions zu registrieren.

    Was mir an Deinem SQL Skript (CREATE OR REPLACE PROCEDURE) auffällt ist zweierlei:
    1. Wenn Du in Deiner Umgebung mit Dezimal-Trennzeichen Komma arbeitest, musst Du, wenn das Komma als Trennzeichen im SQL-Befehl verwendet wird, ein Blank hinzufügen.
    IN IBELNR_ETTIK DECIMAL(1,0) müsste zu einem Fehler Führen, da nach dem Komma kein Blank folgt.
    2. Du gibst PROGRAM TYPE SUB and, was eigentlich nur für Prozeduren in Service-Programmen erlaubt ist. Ändere den PROGRAM TYP auf MAIN ab.

    Ansonsten kann ich mit deinem SQL-Skript auf meinem System problemlos eine Stored Procedure erstellen.

    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

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.796
    Normalerweise braucht man nicht darauf zu achten, wenn man CBL in CBLLE ändert.
    Nun musst du allerdings auf die Spezialität der COBOL-Rununit da noch eingehen.
    RPG kennt dieses Konzept da so nicht.

    CBL und CBLLE laufen auch hier in unterschiedlichen ACTGRP's und somit auch in unterschiedlichen COBOL-Rununits.
    Was du auch noch ausprobieren kannst, denn ich glaube nicht dass SQL dies zur Laufzeit prüft, zwar COBOLLE anzugeben, aber das Programm auf OPM CBL zu belassen.
    Falls es nicht funktioniert, dann halt CBLLE.
    Achte dann aber auf deine COBOL-Rununit.
    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
    Oct 2019
    Beiträge
    32
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Normalerweise braucht man nicht darauf zu achten, wenn man CBL in CBLLE ändert.
    Nun musst du allerdings auf die Spezialität der COBOL-Rununit da noch eingehen.
    RPG kennt dieses Konzept da so nicht.

    CBL und CBLLE laufen auch hier in unterschiedlichen ACTGRP's und somit auch in unterschiedlichen COBOL-Rununits.
    Was du auch noch ausprobieren kannst, denn ich glaube nicht dass SQL dies zur Laufzeit prüft, zwar COBOLLE anzugeben, aber das Programm auf OPM CBL zu belassen.
    Falls es nicht funktioniert, dann halt CBLLE.
    Achte dann aber auf deine COBOL-Rununit.
    Sowas in der Art wäre auch meine Vermutung bzw. Probiermöglichkeit gewesen -> mach ich mal ..

  4. #4
    Registriert seit
    Oct 2019
    Beiträge
    32
    Ich konnte es jetzt noch nicht erfolgreich aufrufen, aber das Parameter "Mapping" passt auch noch nicht ganz ... da brauche ich nochmal Informationen von dem Ersteller -> Dokumentation? Fehlanzeige ...

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.796
    Und die Quelle steht dir nicht zur Verfügung?
    Zu beachten ist:
    Strukturen sind mit SQL nicht übergebbar!!!
    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

  6. #6
    Registriert seit
    Oct 2019
    Beiträge
    32
    Hallo, aus den 51 Parametern wurden jetzt 2 zusammenhängende Strings, also nur 2 Parameter. Das Programm reagiert schon aber noch nicht wie gewünscht.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.796
    Ohne die Quelle wirst du da nun nicht weiterkommen.
    Du kannst mal STRDBG versuchen, ob eine Quelle eingebettet ist (List/Source-Ansicht).
    Wenn du aber kein Quellprogramm hast, dass dein gewünschtes Zielprogramm mit den passenden Parametern aufruft, kannst du das wohl leider gleich vergessen.
    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

  8. #8
    Registriert seit
    Oct 2019
    Beiträge
    32
    Melde Verzug, die Library wo das Programm liegt wurde nicht gefunden .. per CL nachgebessert ..

  9. #9
    Registriert seit
    Oct 2019
    Beiträge
    32
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Hier ist der Link: Create Or Replace Procedure (External)

    Man kann COBOL, CL oder auch RPG Programme zwar direkt aus einer SQL-Umgebung aufrufen, aber das geht allenfalls solange gut solange es sich nur um alphanumerische Parameter mit fixer Länge handelt. Deshalb wird immer empfohlen die (HLL) Programme oder Prozeduren als SQL Stored Procedures oder User Defined Functions zu registrieren.

    Was mir an Deinem SQL Skript (CREATE OR REPLACE PROCEDURE) auffällt ist zweierlei:
    1. Wenn Du in Deiner Umgebung mit Dezimal-Trennzeichen Komma arbeitest, musst Du, wenn das Komma als Trennzeichen im SQL-Befehl verwendet wird, ein Blank hinzufügen.
    IN IBELNR_ETTIK DECIMAL(1,0) müsste zu einem Fehler Führen, da nach dem Komma kein Blank folgt.
    2. Du gibst PROGRAM TYPE SUB and, was eigentlich nur für Prozeduren in Service-Programmen erlaubt ist. Ändere den PROGRAM TYP auf MAIN ab.

    Ansonsten kann ich mit deinem SQL-Skript auf meinem System problemlos eine Stored Procedure erstellen.

    Birgitta
    zu1: das sind doch Blanks nach dem Komma in dem CREATE STATEMENT bei DECIMAL Felddeklaration oder verstehe ich da jetzt was falsch
    zu2: hab ich abgeändert

Similar Threads

  1. Anzahl offener Datenpfade mittels API auslesen
    By wilfried in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-07-17, 08:49
  2. Datei-Übertragung mittels Websphere MQ
    By jlindner in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 02-12-16, 15:02
  3. ILE aus /36 aufrufen
    By Norbertf in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 14-10-14, 21:32
  4. Erstellen einer STMF mittels CL-Programm
    By systemer in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 19-02-03, 09:33
  5. Entfernen externer HDD's mittels STRSST
    By vogeste0 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 03-04-02, 14:21

Berechtigungen

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