[NEWSboard IBMi Forum]
  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005

    Fehler bei Stored Procedure

    Hallo,

    ich habe folgendes Problem...

    Wir haben ein relativ kompliziertes RPGLE-Programm, das zu einem Artikel den Standardpreis und den Aktionspreis ermittelt. Darin wird unter anderem auch ein OUT auf die *LDA durchgeführt. Jetzt habe ich für dieses Programm eine Stored Procedure als Wrapper erstellt mit 3 Input-Parametern und 2 Output-Parametern (Standardpreis und Aktionspreis). Wenn ich das z.B. mit Java teste, funktioniert das auch ohne Probleme.

    Jetzt habe ich um diese Stored Procedure herum auch noch eine SQL-Funktion erstellt, mit der ich jeweils nur einen der beiden Preise erhalten möchte. Beim Aufruf dieser SQL-Funktion, die im Prinzip nur die Stored Procedure aufruft, erhalte ich folgenden Fehler:

    Code:
    Programmstatus . . . . . . . . . . . . :   00413                                                 
                 Während der Verarbeitung von Datenbereich  ist ein E/A-Fehler aufgetreten (C G D F).
    Code:
    Funktion CHGDTAARA nicht zulässig.
    Das passiert genau an der Stelle, an der im RPGLE-Programm der OUT auf die *LDA durchgeführt wird.

    Kann mir jemand sagen warum ich die Stored Procedure ohne Fehler aufrufen kann, aber bei der SQL-Funktion (als Wrapper) dieser Fehler auftritt?

    Vielen Dank,
    KM

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.304
    Change Data Area (CHGDTAARA)

    Vielleicht CPF180B oder CPF180C ?

    "Changing the special data areas (*LDA, *GDA and *PDA) is allowed from the initial thread only and will fail if attempted from a secondary thread."

  3. #3
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Das mit den weiteren Threads könnte die Erklärung sein. Das ist ja doof.

    Stimmt, ich erhalte die CPF180C.

    Danke,
    KM

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... eigentlich leiste ich ja ungern Beihilfe zum Huddel (LDA aus SQL Function benutzen: es schüttelt mich). Was hast Du denn für Parameter beim create function? Vielleicht hilft ja disallow parallel.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Ich weiß, mich nervt es selbst, dass es nicht einfacher gelöst werden kann. Aber es ist halt ein "historisches" Programm.

    Disallow Parallel hat leider nichts gebracht.

    Gruß,
    KM

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    Ergänzend könnte vielleicht noch "NOT FENCED" etwas bringen.
    Ansonsten musst du da wahrscheinlich ein OPM-CLP als Wrapper verwenden, der dann den CHGDTAARA durchführen könnte. OPM's werden in einer anderen ACTGRP aufgerufen und sind nicht Threadfähig.
    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

  7. #7
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Die Option "NOT FENCED" hat die Lösung gebracht. Damit funktioniert es nun und hat mir einiges an Arbeit erspart.

    Vielen Dank,
    KM

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.206
    NOT FENCED ist i.Ü. die einzige Möglichkeit, die externe Prozedur mittels STRSRVJOB/STRDBG von einem anderen Job aus zu debuggen. Innerhalb des SQL-Jobs (z.B. STRSQL) klappt das einfach nicht.
    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. Frage SQL Stored Procedure
    By mk in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 19-05-17, 11:24
  2. Stored Procedure SQLSTATE 428B3
    By mk in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-12-14, 16:31
  3. Stored Procedure endlos
    By lorenzen in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-12-02, 17:46
  4. Java stored procedure
    By Sven Schneider in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-09-02, 08:31
  5. Stored Procedure
    By lorenzen in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 27-08-02, 15:59

Berechtigungen

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