[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Apr 2005
    Beiträge
    1

    PHP-AS/400 Programmaufruf mit Parameterrückgabe

    Hallo David,
    auch ich habe das gleiche Problem. Die Ausführung funktioniert, aber ich bekomme keinen Parameter von meinem aufgerufenem Programm auf der AS/400 zurück.
    Hier mein Testprogramm:

    try {
    $db = new PDO('odbc:AS400', conn_user, conn_password);
    } catch (Exception $e) {
    echo "Fehler beim Connect :" . $e->getMessage();
    }

    $parm1 = "'A'";

    $stmt = $db->prepare("CALL Bibliothek.Testprogramm($parm1)");
    $stmt->bindParam(1, $parm1, PDO::PARAM_INT|PDO::PARAM_INPUT_OUTPUT, 4000);

    if(isset($_POST['mail_abschicken']) && $_POST['mail_abschicken'] == 'Befehl auf der AS/400 aufrufen') {

    $stmt->execute();

    echo '
    ';
    echo 'Parm1 :' . $parm1;
    echo '
    ';
    }

    Der Parameter $parm1 bleibt auf A, obwohl das Programm auf der AS/400 ein B zurückgeben soll.

    Als ODBC-Treiber verwende ich den normalen iSeries Access ODBC Treiber.

    Du schriebst, dass ihr erst etwas einspielen musstet. Was war das denn?
    Bei mir ist die ganze PDO-Geschichte offenbar in meiner PHP-Installation schon dabei (PHP-Vers. 5.3.0).

    Auch ich arbeite mich in die mit PHP und As/400 Zugriffe ein.

    Danke für Deine Antwort.

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.716
    Das normale CALL-Kommando kann keine Parameter zurückgeben.
    Wenn du die ODBC-Schnittstelle verwenden willst, musst du eine externe SQL-Procedure definieren (siehe ganz oben bei Create Pocedure) und diese dann aufrufen.

    Für PHP gibts aber eine AS/400-AddOn-Lib in der auch Programmaufrufe mit Parametern möglich sein sollen.
    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. #15
    Registriert seit
    Jan 2001
    Beiträge
    851

    Smile

    Hallo zusammen,

    mit PDO und ODBC kenne ich micht nicht aus.
    Aber mit der i5_Toolkit Library geht es so:
    PHP-Code:
    function load_the_RPG_program_as_test($conn )
    {
            
    //*********************************************
            // Anmeldung vom Programm vorbereiten
            //*********************************************
            
    $desc=array(
                    array(
    "name"=>"p_delay",     "io"=>I5_INOUT"type" => I5_TYPE_CHAR"length"=>"1"),
                    array(
    "name"=>"p_xmldta",     "io"=>I5_INOUT"type" => I5_TYPE_CHAR"length"=>"32000"),
                     );
            
    $prog=i5_program_prepare("MK/A_PHPXML",$desc$conn );
                if (!
    $prog) {
                    
    display_error("i5_pgm_prepare");
                    exit();
                }
            
    //**************************************************************
            // Programmm starten
            // $parms sind die Werte die an das RPG übergeben werden
            // $retval damit werden die variablen vom RPG Programm gesetzt
            //**************************************************************
            
    $parms = array ("p_delay"=> $_POST['delay'],
                            
    "p_xmldta"=>' '
                            
    );
            
    $retval= array(    "p_delay"=>"thedelayparm",
                            
    "p_xmldta"=>"the_xml_from_rpg_program"
                            
    );
            
            
    $ret=i5_program_call($prog$parms$retval);
                    if (!
    $ret){
                           
    display_error("i5_pgm_call");
                            exit();
                       }

    return 
    $the_xml_from_rpg_program ;


    i5_program_close($prog);



    Gruß
    Michael

Similar Threads

  1. Frage zum Befehl STRPCCMD
    By stoerfang in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 24-01-13, 10:27
  2. Frage zu WDSC bzw. CODE400
    By Mr.iSeries in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 02-09-08, 10:16
  3. Antworten: 4
    Letzter Beitrag: 21-01-07, 20:46
  4. Frage zu SQL UserDefinedFunction
    By cbe in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 24-08-06, 17:30
  5. AS/400, PHP, Novell Server
    By Asti in forum NEWSboard Server Software
    Antworten: 3
    Letzter Beitrag: 07-12-05, 14:56

Berechtigungen

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