[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2016
    Beiträge
    3

    Red face PList, Parm und Call in Free.

    Wie sieht dieser Code in Free aus?
    Code:
         C                   Call      'CT0001CL'
         C                   parm      USER          PUSER            10
         C                   parm      'QPGMR'       PCHK             10
         C                   parm                    XQPGMR            1
    Und welchen Ersatz gibt es zu PList in Free?
    Code:
         C     *ENTRY        PLIST
         C                   PARM                    PWORT
         C                   PARM                    PKZ
         C                   PARM                    XMBR
         C                   PARM                    XMBRART
         C                   PARM                    PIREF            70

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Um PGM wie proceduren aufzurufen musst du das PGM einfach nur als Prototype definieren
    Code:
    DCL-PR   deinName      EXTPGM('CT0001CL'); 
      parm1 char(10) OPTIONS(*VARSIZE) CONST;
      parm2 char(10) OPTIONS(*VARSIZE) CONST;
      parm3 char(1) const;
    Um die *ENTRY durch Prototype ersetzen zu können, packst du den Source deines PGMs in eine Prozedur und definierst diese in den H-Specs als Haupteinstiegspunkt

    Code:
    CTL-OPT MAIN(deinEingang);
    
    DCL-PROC deinEingang;
     DCL-PI *n EXTPGM;
      parm1 char(10);
      parm2 char(10);
     END-PI;
    Je nach Release gibt es Unterschiede in der Deklaration.
    Die oben beschriebene Variante geht ab 7.1.

    lg Andreas

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Den CALL kann man nicht direkt umsetzen. Du musst einen Prototype definieren kannst das dann mit call ct0001cl(puser:chk:xqpgmr) aufrufen.


    Die Entry Plist solltest du so umsetzen, dass die Variablen direkt deklariert werden,

    z.B.:

    Code:
    dcl-pi *n;
      pwort char(...);
      pkz packed(5:2);
    end-pi
    Ich kenne natürlich nicht deine konkreten Defitionen! Du kannst die Parameter in der dcl-pi-Anweisung auch mit like definieren, wenn du eine passende Referenzvariable hast.

    Dieter

Similar Threads

  1. CMD PARM mit Eingabe eines einzelnen "?"
    By cbe in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 05-10-15, 13:24
  2. Cobol und Call und Variablen
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 19-02-15, 16:42
  3. *ENTRY PLIST versus dcl-pi
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 25-06-14, 16:19
  4. Call Programm vs. Service-PGM
    By malzusrex in forum NEWSboard Programmierung
    Antworten: 17
    Letzter Beitrag: 15-11-13, 11:21
  5. Remote Function Call -> SAP
    By areichelt in forum NEWSboard SAP
    Antworten: 2
    Letzter Beitrag: 24-02-02, 16:44

Berechtigungen

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