[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    43

    Schnittstellenparameter mit variabler Länge

    Hallo zusammen,

    ich habe folgendes Problem:
    Ich möchte aus einen Java-Programm über eine SQL Procedure ein RPGLE-Programm aufrufen.
    • In Java ist der Parameter als string definiert.
    • In der SQL Procedure und dem RPGLE-Programm ist der Parameter als CHARACTER 32766 definiert.
    Wenn in dem Parameter nur 100 Zeichen - also nicht die anschließenden Leerzeichen - drin sind, kommen im Java-Programm 32722 Zeichen an.

    Wie kann die Schnittstelle variabel gestaltet werden?

    Danke schonmal für die Hilfe.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Definiere das Feld als VARCHAR(32766) und im RPGLE als VARYING.
    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
    Nov 2004
    Beiträge
    43
    Das hatte ich schon probiert. Im Detail:
    In der SQL-Procedure habe ich 3 Parameter mit VARCHAR(32766) definiert. Als ich das Script zur Erstellung der Procedures ausführen wollte, kam ein Fehler, dass bei VARCHAR die maximale Länge 32740 sein kann. Habe ich gemacht.

    Im RPGLE Programm habe ich die 3 Parameter ebenfalls mit 32740 und dem Schlüsselwort varying definiert.

    Ergebnis:
    Der 1. Parameter so gefüllt ist, wie ich es erwartet habe.
    Der 2. Parameter ist leer, obwohl Daten enthalten sein sollten.
    Der 3. Parameter wird in einem Dump als Not Adressable angegeben.

    Was mache ich falsch?

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Wie sieht deine Prozedurdeklaration beim CREATE PROCEDURE und dein *ENTRY aus ?
    Irgendwas passt da nicht so ganz.

    Jeder Parameter wird als eigener Eintrag und nicht als Array übergeben!
    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

  5. #5
    Registriert seit
    Nov 2004
    Beiträge
    43
    Hier das Script für die Erstellung der Procedure:
    CREATE PROCEDURE MCCRTVDOMLEVEL1
    (IN USR CHAR (10),
    IN PWD CHAR (10),
    IN SID CHAR (10),
    OUT STS DEC (3, 0),
    OUT SND CHAR (10),
    IN E1MAX DEC (5, 0),
    IN E1STR DEC (5, 0),
    OUT E1CNT DEC (5, 0),
    OUT E1OVF DEC (1, 0),
    IN E1TYP CHAR (5),
    OUT E1OID VARCHAR (32740),
    OUT E1KNZ VARCHAR (32740),
    OUT E1PMT VARCHAR (32740))
    LANGUAGE RPGLE NOT DETERMINISTIC
    MODIFIES SQL DATA EXTERNAL NAME
    HTDOMSP001 PARAMETER STYLE GENERAL;

    Die Entry-List sieht so aus:
    parm E1USR 10
    parm E1PWD 10
    parm E1SID 10
    parm E1STS 3 0
    parm E1SND 10
    parm E1MAX 5 0
    parm E1STR 5 0
    parm E1CNT 5 0
    parm E1OVF 1 0
    parm E1TYP 5
    parm E1OID
    parm E1KNZ
    parm E1PMT

    Die Definition der Parameter E1OID, E1KNZ, E1PMT wir folgt:
    D E1OID S 32740A varying
    D E1KNZ S 32740A varying
    D E1PMT S 32740A varying

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Ggf. gibt es die Einschränkung, dass die Pufferlänge aller Parameter zusammen 32740 nicht übersteigen darf.

    Ggf. funktioniert es dann besser, wenn als Typ CLOB gewählt wird, oder verkürze die Parameter mal testweise auf 8000.
    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

Similar Threads

  1. STRPCCMD - Länge beschränkt
    By Bau in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 03-01-07, 15:13
  2. Länge Zeichenkette bei Barcode PDF417?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-11-06, 07:31
  3. Bildschirmfeld variabler Länge
    By harkne in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-12-05, 17:46
  4. Funktion mit variabler länge
    By Xanas in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 20-09-05, 13:52
  5. Zugriff auf Datei wo Keyfeld vom Typ variabler Länge
    By holly in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 07-12-04, 13:23

Berechtigungen

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