printerAssociation

Verwenden Sie die Systemvariable converseVar.printerAssociation, um zur Laufzeit das Ausgabeziel anzugeben, wenn Sie ein Formular drucken.Bei bestimmten Dateitypen können mehrere Druckdateien gleichzeitig geöffnet werden.

Sie können diese Variable auf eine der folgenden Arten verwenden:
Merkmale von converseVar.printerAssociation sind folgende:
Basistyp
CHAR
Datenlänge
Variiert nach Dateityp
SEGMENTED CONVERSE-übergreifendes Speichern des Wertes?
Ja

converseVar.printerAssociation wird mit dem Systemressourcennamen initialisiert, der während der Generierung oder für das Debugging angegeben wurde. Wenn das Programm die Steuerung an ein anderes Programm übergibt, wird der Wert von converseVar.printerAssociation auf den Standardwert für das empfangende Programm gesetzt.

Um das Vermischen von Seiten verschiedener Druckausgaben zu vermeiden, wird die Druckdatei offen gelassen, bis eine der folgenden Situationen eintritt: Die Anweisung 'close' schließt nur die Datei, die im aktuellen Wert von converseVar.printerAssociation enthalten ist. Wenn Sie den Wert von converseVar.printerAssociation ändern, tritt Folgendes auf:

Kompatibilität

Tabelle 1. Hinweise zur Kompatibilität für 'printerAssociation'
Plattform Problem
Java™-Generierung
Für die Java-Generierung legen Sie converseVar.printerAssociation auf eine zweiteilige Zeichenfolge mit einem zwischengeschalteten Doppelpunkt fest:
  jobID:destination
jobID
Eine Folge von Zeichen (ohne Doppelpunkt), die jeden Druckjob eindeutig kennzeichnet. Bei der Angabe der Zeichen muss die Groß-/Kleinschreibung beachtet werden (job01 unterscheidet sich von JOB01) und Sie können jobID nach dem Schließen eines Druckjobs wiederverwenden.
Sie können verschiedene Jobs verwenden, um eine andere Art von Ausgabe oder eine andere Reihenfolge von Ausgabe hochzustufen, abhängig von dem Verarbeitungsablauf in Ihrem Code. Betrachten Sie beispielsweise die folgende Sequenz von EGL-Anweisungen:
  converseVar.printerAssociation = "job1"; 
  print form1;
  converseVar.printerAssociation = "job2";
  print form2;
  converseVar.printerAssociation = "job1";
  print form3;
Wenn das Programm beendet wird, werden zwei Druckjobs erstellt:
  • form1 gefolgt von form3
  • form2
destination
Der Drucker oder die Datei, der bzw. die die Ausgabe empfängt.
Die Zeichenfolge destination ist optional und wird ignoriert, wenn der Druckjob noch geöffnet ist. Die folgenden Anweisungen gelten, wenn die Zeichenfolge fehlt:
  • Sie können den Doppelpunkt vor destination übergehen.
  • In den meisten Fällen zeigt das Programm einen Druckvorschaudialog an, in dem der Benutzer einen Drucker oder eine Datei für die Ausgabe angeben kann. Eine Ausnahme tritt auf, wenn die Curses-Bibliothek unter UNIX verwendet wird. In diesem Fall wird der Druckjob an den Standarddrucker übergeben.
Die folgenden Anweisungen gelten für die Einstellung von destination, wenn Sie für Windows 2000/NT/XP generieren:
  • Gehen Sie wie folgt vor, um Ausgaben an den Standarddrucker zu senden:
    • Geben Sie einen Wert an, der mit der Eigenschaft fileName im Abschnitt mit den Ressourcenzuordnungen übereinstimmt.
    • Ändern Sie die Java-Laufzeiteigenschaften so, dass spool (und nicht seqws) der Wert des zugehörigen Dateityps ist. Wenn beispielsweise im Ressourcenzuordnungsabschnitt der Wert der Eigenschaft fileName myFile lautet und der Wert von systemName printer ist, müssen Sie die Einstellungen von Java-Laufzeiteigenschaften so ändern, dass 'vgj.ra.myFile.fileType' auf spool statt auf seqws gesetzt ist. Nach der Änderung sehen die Eigenschaften wie folgt aus:
        vgj.ra.myFile.systemName=printer
        vgj.ra.myFile.fileType=spool
  • Geben Sie zum Senden von Ausgaben an eine Datei einen Wert an, der mit der Eigenschaft fileName im Ressourcenzuordnungsabschnitt übereinstimmt, wobei seqws der Wert der zugehörigen Eigenschaft fileType im Ressourcenzuordnungsabschnitt ist. Die Eigenschaft systemName im Ressourcenzuordnungsabschnitt enthält den Namen der Betriebssystemdatei, die die Ausgabe empfängt.
  • Geben Sie nicht printer als Wert von destination an. Falls Sie es tun, wird dem Benutzer der Druckvorschaudialog angezeigt, aber dieses Verhalten kann sich in späteren Versionen von EGL ändern.
Die folgenden Anweisungen gelten für die Einstellung von destination, wenn Sie für UNIX generieren:
  • Geben Sie zum Senden von Ausgaben an den Standarddrucker (unabhängig davon, ob die Curses-Bibliothek verwendet wird), einen Wert an, der mit der Eigenschaft fileName im Ressourcenzuordnungsabschnitt übereinstimmt, wenn spool der Wert der zugehörigen Eigenschaft fileType im Ressourcenzuordnungsabschnitt ist.
  • Geben Sie zum Senden von Ausgaben an eine Datei einen Wert an, der mit dem Wert der Eigenschaft fileName im Ressourcenzuordnungsabschnitt übereinstimmt, wenn seqws der Wert der zugehörigen Eigenschaft fileType im Ressourcenzuordnungsabschnitt ist. Die Eigenschaft systemName im Ressourcenzuordnungsabschnitt enthält den Namen der Betriebssystemdatei, die die Ausgaben empfängt.
  • Geben Sie nicht printer als Wert von destination ein. Falls Sie es tun (und wenn die Curses-Bibliothek nicht verwendet wird), wird dem Benutzer der Druckvorschaudialog angezeigt, aber dieses Verhalten kann sich in späteren Versionen von EGL ändern.
CICS
Unter CICS bestimmt der Wert der Erstellungsdeskriptoroption printDestination den Anfangswert von converseVar.printerAssociation oder interagiert mit der Systemfunktion vgLib.startTransaction(), um den Anfangswert zu bestimmen:
  • Wenn printDestination auf PROGRAMCONTROLLED gesetzt ist, ist der Anfangswert von converseVar.printerAssociation der Wert, der für den Dateinamen printer während der Generierung angegeben wird.
  • Wenn die folgenden Bedingungen alle wahr sind, ist der Anfangswert von converseVar.printerAssociation der Wert, der für den Parameter 'prID' dieser Funktion angegeben wird:
    • printDestination ist auf TERMINALID gesetzt.
    • Die Transaktion startet mit dem Aufruf der Funktion vgLib.startTransaction().
    • Der Parameter 'termID' der Funktion vgLib.startTransaction() ist auf binäre Nullen gesetzt.

Wenn ein CICS-Batchprogramm nicht über die Funktion vgLib.startTransaction() gestartet wurde, nimmt converseVar.printerAssociation den Standardwert CICS EIBTRMID an, wie das für ein als Terminal gestartetes Programm geeignet ist.

Es werden nur die folgenden Dateitypen unterstützt:
SPOOL
Der Wert von converseVar.printerAssociation ist der Ausgabedateiname für eine JES SPOOL-Datei, die mit einer seriellen Datei verknüpft ist. Es können mehrere Dateien gleichzeitig offen sein.
Der Ausgabedateiname hat das folgende Format und kann bis zu 19 Byte lang sein:
  nodeid.userid.class

nodeid ist entweder eine ein bis acht Zeichen lange Systemknoten-ID oder ein Stern (*). userid ist entweder eine ein bis acht Zeichen lange Systembenutzer-ID oder ein Stern (*). class ist optional und üblicherweise eine ein Zeichen lange Spoolklasse, deren Standardwert A lautet. Wenn class nicht angegeben ist, ist userid auch optional und verwendet standardmäßig den Wert für die CICS-Benutzer-ID (den in sysVar.userID gespeicherten Wert).

Weitere Informationen hierzu finden Sie im Handbuch 'CICS Customization Manual'.

TRANSIENT
Der Wert ist ein 4-Byte-DCT-Name für eine Warteschlange mit transienten Daten, die einer seriellen Datei zugeordnet ist. Die Warteschlange mit transienten Daten muss für CICS definiert werden.

Es können mehrere Dateien gleichzeitig offen sein.

IMS BMP
Die Unterstützung für converseVar.printerAssociation in einer EGL-generierten IMS BMP-Instanz kombiniert die Unterstützung für diese Variable auf den folgenden Plattformen:
  • IMS/VS, wobei converseVar.printerAssociation nur für Dateien vom Typ SMSGQ nützlich ist.
  • z/OS Batch, wobei converseVar.printerAssociation nur für Dateien vom Typ SEQRS nützlich ist.
IMS/VS

Dateien vom Typ SMSGQ werden für die Ausgabe unterstützt, aber es können nicht mehrere Dateien gleichzeitig geöffnet sein. Der Wert (ein 8 Byte langer logischer Terminalname oder Transaktionscode) wird für das IMS-System definiert und muss einer Nachrichtenschlange zugeordnet sein, die Einzelsegmentnachrichten akzeptiert. Im Ressourcenzuordnungsabschnitt, der während der Generierung verwendet wird, muss der Dateiname mit einem änderbaren alternativen PCB oder einem änderbaren, sofort wirksamen alternativen PCB verknüpft sein.

Der Wert in converseVar.printerAssociation wird nicht in Großbuchstaben umgewandelt.

iSeries COBOL

Legen Sie in Bezug auf iSeries COBOL die Systemvariable converseVar.printerAssociation auf den Wert der Eigenschaft fileName im Ressourcenzuordnungsabschnitt fest, der während der Generierung verwendet wird. Der Dateityp muss den Typ SEQ und nicht den Typ SPOOL aufweisen.

In COBOL-Programmen, die für iSeries generiert wurden, werden mehrere Druckjobs nicht unterstützt. Und wenn converseVar.printerAssociation festgelegt ist, schließt die EGL-Laufzeit die alte Datei (um die frühere Ausgabe von Daten abzuschließen), verwendet den iSeries-Befehl OVRPRTF zum Überschreiben des Dateinamens und öffnet die neue Datei.

Vor seiner Verwendung wird der Wert in converseVar.printerAssociation in Großbuchstaben umgewandelt, aber der Wert in der Systemvariablen selbst bleibt unverändert. Der Wert von converseVar.printerAssociation lautet TRUE, wenn er mit einer kleingeschriebenen Version verglichen wird, falls die Systemvariable mit einer Version in Kleinbuchstaben initialisiert wurde.

Der in converseVar.printerAssociation festgelegte Wert wird von der Aufrufebene aus weitergegeben und auf allen untergeordneten Aufrufebenen geändert. Der Wert wird jedoch nicht weitergegeben, wenn das Programm die Datei zuvor geöffnet hat.

z/OS Batch

Sie können die Systemvariable converseVar.printerAssociation nur festlegen, wenn Sie auf eine Datei vom Typ SEQRS verweisen. In einem Programm, das als z/OS Batch-Programm generiert wurde, ist der Wert der Variablen entweder ein 54 Byte langer Dateiname oder ein 8 Byte langer DD-Name und es können mehrere Dateien gleichzeitig geöffnet sein. Der Anfangswert der Variablen ist der Name der Datei, die dem DD-Namen EZEPRINT zugeordnet ist, oder (falls der DD-Name nicht angegeben ist) der Systemressourcenname, der für den Dateinamen printer während der Generierung angegeben wurde.

Wenn Sie converseVar.printerAssociation festlegen, wird die Datei über eine dynamische SVC99-Zuordnung verbunden. Die DISP-Option auf dem SVC99 ist auf SHR gesetzt, was bedeutet, dass die Datei jedes Mal neu geschrieben wird, wenn sie für die Ausgabe geöffnet wird.

Vor seiner Verwendung wird der Wert in converseVar.printerAssociation in Großbuchstaben umgewandelt, aber der Wert in der Systemvariablen selbst bleibt unverändert. Der Wert von converseVar.printerAssociation lautet TRUE, wenn er mit einer kleingeschriebenen Version verglichen wird, falls die Systemvariable mit einer Version in Kleinbuchstaben initialisiert wurde.


Feedback