[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    den Namen des aufgerufenen Programmes!

    Zitat Zitat von Squall
    Also den Programmnamen meines VARPG das den CALL auf dieses ILE RPG Programm macht?

    Dann bekomme ich bei PI diesen Fehler:
    "Prototyp mit nicht definiertem aufgerufenem Programm oder Variable."

    Tut mir Leid hatte mit ILERPG nicht viel am Hut bisher.

    EDIT: Habs gefunden hatte die " ' " vergessen. ;( Konnte das Programm via "14" erstellen.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #2
    Registriert seit
    Sep 2006
    Beiträge
    132
    Ok danke.

    So habe das Programm erstellt. Wollte es nun über "CALL" aus VARPG aufrufen.

    Musst mir vorher noch einen Constante definieren da ich LINKAGE(*SERVER) angeben musste.

    PHP-Code:
    Dtestlangua       C                   const('testlangua'linkage(*server
    Testlangua heißt das programm und Testlangua steht auch bei extpgm im Porgramm.

    Habe mir in VARPG dann noch eine PLIST definiert um die werte zu übergeben und zurückbekommen.

    Ich rufe dann das Programm mittels:

    PHP-Code:
    C                   call      testlangua    parml 
    auf und bekomme aber diese Fehlermeldung:

    0202 Der Aufruf an testlangua wurde fehlerhaft beendet.
    Ursache . . . . : Ist der Name *N, handelte es sich bei dem Aufruf
    um einen Bindeaufruf nach Prozedurzeiger.
    Fehlerbeseitigung: Die Fehlerprotokolldatei FVDCERRS.LOG auf weitere
    Informationen über die Fehlerursache prüfen.

    Im Logfile steht:

    Testsubf.EXE Fri Sep 8 13:12:19 2006 ** Error logging begins **
    Testsubf.EXE Fri Sep 8 13:12:19 2006 MCH3401 Auflösung zu Objekt testlangua nicht möglich. Art und Subart X'0201', Berechtigung X'0000'.
    Testsubf.EXE Fri Sep 8 13:12:29 2006 *** Error logging ends ***

    Hat jm eine Idee was diesen Fehler verursacht hat?

    Gruß Martin

    [EDIT]
    Hab das Problem mittlerweile gelöst.
    [/EDIT]

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Wenn ich da nochmal hinsehe,

    da steht was von Berechtigungsfehler, da solltest du das Programm mal mit ausreichender Public Berechtigung versehen

    mfg

    Dieter Bender

    PS: wobei ich zu dem VARPG Kram nix sagen kann, was der da treibt

    Zitat Zitat von Squall
    Ok danke.

    So habe das Programm erstellt. Wollte es nun über "CALL" aus VARPG aufrufen.

    Musst mir vorher noch einen Constante definieren da ich LINKAGE(*SERVER) angeben musste.

    PHP-Code:
    Dtestlangua       C                   const('testlangua'linkage(*server
    Testlangua heißt das programm und Testlangua steht auch bei extpgm im Porgramm.

    Habe mir in VARPG dann noch eine PLIST definiert um die werte zu übergeben und zurückbekommen.

    Ich rufe dann das Programm mittels:

    PHP-Code:
    C                   call      testlangua    parml 
    auf und bekomme aber diese Fehlermeldung:

    0202 Der Aufruf an testlangua wurde fehlerhaft beendet.
    Ursache . . . . : Ist der Name *N, handelte es sich bei dem Aufruf
    um einen Bindeaufruf nach Prozedurzeiger.
    Fehlerbeseitigung: Die Fehlerprotokolldatei FVDCERRS.LOG auf weitere
    Informationen über die Fehlerursache prüfen.

    Im Logfile steht:

    Testsubf.EXE Fri Sep 8 13:12:19 2006 ** Error logging begins **
    Testsubf.EXE Fri Sep 8 13:12:19 2006 MCH3401 Auflösung zu Objekt testlangua nicht möglich. Art und Subart X'0201', Berechtigung X'0000'.
    Testsubf.EXE Fri Sep 8 13:12:29 2006 *** Error logging ends ***

    Hat jm eine Idee was diesen Fehler verursacht hat?

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

  4. #4
    Registriert seit
    Sep 2006
    Beiträge
    132
    Zitat Zitat von BenderD
    Wenn ich da nochmal hinsehe,

    da steht was von Berechtigungsfehler, da solltest du das Programm mal mit ausreichender Public Berechtigung versehen

    mfg

    Dieter Bender

    PS: wobei ich zu dem VARPG Kram nix sagen kann, was der da treibt
    Hm das kanns nicht sein...
    Habe gerade via edtobjaut dem *PGM bei *PUBLIC ALL - Rechte gegeben. der Fehler ist der Gleiche und das Protokol sagt auch das gleiche.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Da du beim CALL keine LIB angibst, muss die LIB, in der du das Programm erstellt hast, in der Bibliotheksliste sein.
    Ansonsten wird das Programm halt nicht gefunden.
    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
    Sep 2006
    Beiträge
    132
    Zitat Zitat von Fuerchau
    Da du beim CALL keine LIB angibst, muss die LIB, in der du das Programm erstellt hast, in der Bibliotheksliste sein.
    Ansonsten wird das Programm halt nicht gefunden.
    Das Programm liegt in meiner Curlib, diese ist auch in meiner Libl enthalten.

    Wo müsste ich die Lib noch mit angeben? Bei const?

    PHP-Code:
    Dtestlangua       C                   const('testlangua')
         
    D                                     linkage(*server
    Also jetzt 'lib/testlangua' ?

    PS: Ist es möglich das 'xxxxxx/testlangua' zulange ist?

  7. #7
    Registriert seit
    Sep 2006
    Beiträge
    162
    Schreibe Dtestlangua C const('testlangua')

    TESTLANGUA in großbuchstaben und versuche es noch einmal.

    Gruß
    DVE

  8. #8
    Registriert seit
    Sep 2006
    Beiträge
    162
    Nur zur Klarstellung die Konstante und nicht die Variable muss in Großbuchstaben geschrieben werden.

    Gruß
    DVE

  9. #9
    Registriert seit
    Sep 2006
    Beiträge
    132
    Zitat Zitat von DVE
    Nur zur Klarstellung die Konstante und nicht die Variable muss in Großbuchstaben geschrieben werden.

    Gruß
    DVE
    Ah vielen Dank. Die Fehlermeldung kommt nicht mehr nur bekomme ich die Variablen nicht zurück. Werde mir mal das RPG-PGM anschauen müssen...

  10. #10
    Registriert seit
    Sep 2006
    Beiträge
    132
    Hallo,

    nochmal eine Frage zum zurückgeben von Werten. Ich will in einem ILE RPG Programm einen Select ausführen und dessen Ergebnisse an VARPG zurückübergeben. Da es ja nicht nur eine Zeile sondern mehrere sein können bietet sich hier ein Array an. (Oder gibt es da eine bessere Variante/Weg?)

    Die Frage ist nur wie ich das definiere. So Zb.?

    Dtest pr extpgm(test)
    DKeyArr DS Dim(100) qualified
    D KeyFld 6S 2 Dim(1)
    D KeyNam 10A Dim(1)
    D KeyTxt 20A Dim(1)

    Oder muss ich nur sagen:

    Dtest pr extpgm(test)
    DKeyArr

    Wobei ich das Array darüber genau definiere.

    Wie muss ich es definieren und gib es vtl noch eine andere Möglichkeit?

    Danke!

    Gruß Martin

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ein Array ist da nicht so gut, da
    1. sehr große Datenmengen übergeben werden
    2. die Anzahl der Sätze ja nicht bestimmbar ist.

    Wenn du also ein Array mit 100 Einträgen als Return definierst werden immer 100 Einträge zurückgegeben, auch wenn vielleicht gar keine Daten vorliegen.

    Besser ist da eine Satzweise Übergabe wobei das auch nicht so optimal ist.

    Ich sehe, dass VARPG da wohl doch nicht so die beste Lösung ist.
    Entweder brauche ich DB2/Connect für direktes SQL oder ich verwende weiter RecordLevel-Access (was wohl keine weitere Lizenz erfordert?).
    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. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  3. DDS in ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 82
    Letzter Beitrag: 19-10-06, 15:37
  4. ILE RPG und dynamisches Array
    By Squall in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 10-10-06, 08:53
  5. Rechnen mit Datumsfeldern in ILE RPG
    By Angela in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-08-06, 10:11

Berechtigungen

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