[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2004
    Beiträge
    18

    Variablen in QCMDCHK zulassen

    Hallo zusammen,

    kennt jemand eine Möglichkeit Variablen im QCMDCHK zuzulassen, ohne dass die Nachricht CPD0103 ausgegeben wird. Die Werte &xy werden nämlich vom Programm später vorm QCMDEXC mit anderen Werten ersetzt.

    Code:
          /free
              p_cmd = 'CPYF FROMFILE(&FROMLIB/&FILE) ' +
                  'TOFILE(&TOLIB/&FILE) FROMMBR(*ALL) TOMBR(*FROMMBR) ' +
                  'FROMRCD(1) COMPRESS(*YES)';
              p_cmd = '?' + p_cmd;
    
              callp(e) qcmdchk(p_cmd: 250);
          /end-free
    Merci...
    Dirk

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Hierfür ist folgendes API besser geeignet:
    Process Commands (QCAPCMD) API

    Mit Type of command=4 und Promt=0 könnte das Ergebnis das gewünschte sein.

    QCMDCHK ist die vereinfachte Form und unterstützt eben keine Variablen.
    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
    Feb 2004
    Beiträge
    18
    @Fuerchau: Danke für den Tip!

    So tuts:
    Code:
          *** externe Prozeduren ***
         D qcapcmd         pr                  extpgm('QCAPCMD')                    Befehl prüfen
         D                              200                                          Command
         D                               10i 0 const                                   Len
         D                               20    const                                 Options
         D                               10i 0 const                                   Len
         D                                8    const                                 Options format
         D                              200                                          Changed Command
         D                               10i 0 const                                   Len avail
         D                               10i 0 const                                   Len returned
         D                              515                                          API-Error
         
          *** Datenstrukturen ***
         D cpop0100        ds                  qualified                            CPOP0100-Format
         D  cmdType                      10i 0 inz(4)                                Comand type
         D  dbcsHandling                  1    inz('0')                              DBCS data handling
         D  promptAction                  1    inz('1')                              Prompt action
         D  cmdSyntax                     1    inz('0')                              Comand syntax
         D  msgRtvKey                     4    inz(*allx'00')                        Messange rtv. Key
         D  ccsid                        10i 0 inz(0)                                CCSID of Command
         D  res1                          5    inz(*allx'00')                        Reserviert
    
         D apiError        ds                  qualified                            API-Error
         D  bytesProv                    10i 0 inz(%len(apiError))                   Länge erw.
         D  bytesAvail                   10i 0                                       Länge verf.
         D  msgId                         7                                          MsgId
         D  res1                          1                                          reserved
         D  msgData                     500                                          MsgData
    
          *** Felder ***
         D p_cmd           s            200
         D p_cmdLen        s             10i 0
    
          /free
    
           // Anfangswerte setzen
           // ===================
              p_cmd = 'CPYF FROMFILE(&TSYSSLIB/&FILE) ' +
                  'TOFILE(&TSYSTLIB/&FILE) FROMMBR(*ALL) TOMBR(*FROMMBR) ' +
                  'FROMRCD(1) COMPRESS(*YES)';
    
           // Befehl prüfen
           // =============
              callp(e) qcapcmd(p_cmd: %len(p_cmd): cpop0100: %len(cpop0100):
                  'CPOP0100': p_cmd: %len(p_cmd): p_cmdLen: apiError);
    
              if apiError.bytesAvail > 0;
                  ...

Similar Threads

  1. QueryManager / Query ---> Aufruf mit Variablen
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-11-06, 18:07
  2. RUNQRY mit Variablen
    By zannaleer in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 07-11-06, 11:01
  3. SQL mit variablen Tabellennamen
    By THH in forum NEWSboard Programmierung
    Antworten: 18
    Letzter Beitrag: 19-10-06, 14:16
  4. Physische Datei mit variablen Feldern
    By Linscheidt in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 13-09-05, 07:20
  5. SQLRPGLE /V5R3: Eindeutige Variablen
    By Karl23 in forum NEWSboard Programmierung
    Antworten: 22
    Letzter Beitrag: 05-07-05, 08:56

Berechtigungen

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