[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Dec 2003
    Beiträge
    106
    äh, wenn ich dich richtig verstehe meinst du den Aufruf vom qcmdexc, oder ?

    z.Bsp so....

    d qcmdexc pr extpgm('QCMDEXC')
    d parm1 10000a
    d parm2 15p 5

    ..
    ..
    d cmdtxt s 10000a inz
    d cmdlen s 15p 5 inz(%size(cmdtxt))


    callp(e) qcmdexc (cmdtxt:cmdlen);

    geht auch mit dem api: system

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich würde den Prototyp wie folgt definieren.

    Die maximale Länge, die der Command (Parameter 1) haben kann beträgt 32702 Byte. Und dann gibt es noch einen dritten, optionalen Parameter.

    Da alles Input-Parameter sind, können sie mit dem Schlüssel-Wort CONST definiert werden. Damit können abweichende Feldlängen, Konstanten und Literale als Parameter übergeben werden. Beim Aufruf werden temporäre Felder mit den erwarteten Feld-Definitionen erstellt und die Adresse dieser Felder an das aufgerufene Programm übergeben.

    PHP-Code:
    D QCMDEXC         PR                  ExtPgm('QCMDEXC')   
    D   P$Cmd                    32702A   const  options(*VARSIZE
    D   P$CmdLen                    15P 5 const                          
                                                                         
    D   P$IGC                        3A   const  options(*NoPass)        

    D Cmd             S            256    varying
     
    *******************************************
     /
    Free
          Cmd 
    'CHGCURLIB CURLIB(SMS)';
          
    QCmdExc(Cmd: %Len(Cmd));   
          *
    InLR = *On;
     /
    End-Free 
    Das API system hat den Vorteil, dass die Feldlänge nicht angegeben werden muss.
    Dafür kann man im Fehlerfall allenfalls an die Message-Id, jedoch nicht an die variablen Message-Texte oder den aufbereiteten Message-Text heran kommen.

    Bei der Verwendung von QCMDEXC erhält man den Message-Text in der Programm-Status-Datenstruktur auf Stelle 90-170 und die Message-Id auf Stelle 40-46.

    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

  3. #3
    Registriert seit
    Oct 2004
    Beiträge
    48

    Danke B

    ..., jetzt klappt es. Dass gibt der Sache einen ganz neuen und interessanten Blickwinkel.

Similar Threads

  1. SRC B42740A6 an 270er V5R3
    By moskito in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 22-01-07, 13:45
  2. Einrichtung SFTP auf iSeries V5R3
    By Stephan/400 in forum NEWSboard Server Job
    Antworten: 7
    Letzter Beitrag: 15-12-06, 13:39
  3. 270 #2248 von V5R1 auf V5R3
    By arnoldma1 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 13-11-06, 21:14
  4. V5R3 ohne Software Maintenance
    By Miggi in forum NEWSboard Server Software
    Antworten: 2
    Letzter Beitrag: 07-07-06, 09:46
  5. QCMDEXC & OVRPRTV
    By muadeep in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 24-06-06, 23:59

Berechtigungen

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