Eingabe-/Ausgabegeräte

#### Search Results

Search

# Eingabe-/Ausgabegeräte

Dieses Kapitel enthält zusätzliche Informationen zu den von Natural unterstützten Ein-/Ausgabegeräten.

Folgende Themen werden behandelt:

- Terminal-Unterstützung

- Unterstützung von Lichtstiften (Light Pens)

- Drucker-Unterstützung

## Terminal-Unterstützung

Natural unterstützt eine Vielzahl von Terminaltypen für die Verwendung mit Großrechnern. In TP-Monitor-Umgebungen, in denen die Informationen zum Terminaltyp nicht automatisch an Natural geliefert werden, können Sie den Natural-Profilparameter `TTYPE` verwenden, damit Natural die entsprechende Konvertierungsroutine zum Betrieb eines bestimmten Terminaltyps aktivieren kann.

Links zu verwandten Themen:

- NTDVCE - Terminal-Gerätespezifikationstabelle

- Terminal-Kommunikation - Profilparameter sortiert nach Kategorien (Parameter-Referenz-Dokumentation)

- NATCONFG-Modul (verschiedene Themen zur E/A-Umsetzung)

- Natural-Terminalkommandos

## Unterstützung von Lichtstiften (Light Pens)

Die Unterstützung von Lichtstiften wurde durch das Terminalkommando `%RM` verbessert. Dieses Kommando bewirkt, dass alle lichtstiftempfindlichen Felder auf dem Bildschirm schreibgeschützt werden, d.h. der Benutzer kann sie mit einem Lichtstift anwählen, aber ihren Inhalt nicht überschreiben.

Damit ein Feld lichtstiftempfindlich ist, muss es intensiviert (Session-Parameter AD`=I`) oder blinkend (`AD=B`) dargestellt werden, und das erste Zeichen des Feldes muss ein Lichtstift-Funktionszeichen sein (siehe unten). Die Auswahl eines Feldes mit einem Lichtstift bewirkt eine Änderung des Funktionszeichens, daher können Sie die Verarbeitung von mit einem Lichtstift ausgewählten Feldern von den Werten der Funktionszeichen abhängig machen.

Die folgenden Lichtstift-Funktionszeichen sind verfügbar:

Zeichen | Bedeutung
--- | ---
`?` | Sie können mehrere Felder auswählen, bevor Sie ENTER drücken.
`>` | Es wurde ausgewählt, und wenn es erneut ausgewählt wird, wird es zu einem Fragezeichen `?`. Die Zeichen `?` und `>` wechseln sich ab.
`&` | Sie können nur ein Feld auswählen und es wird als ENTER sowohl für das Feld als auch für das MDT (Modified Data Tag) verwendet.
`' '` (leer) | Sie können nur ein Feld auswählen, und es wird nur das MDT angezeigt.

Bei Funktionszeichen müssen Sie zwischen Auswahlfeldern (`?`, `>`) und Achtungsfelder (&, leer oder Null) unterscheiden. Auswahlfelder lösen keine sofortige Datenübertragung aus, so dass Sie mehrere Felder auswählen können. Achtungsfelder führen zu einer sofortigen Aktion.

Die Taste SELECT CURSOR emuliert eine Auswahl mit dem Lichtstift. Wenn Sie den Cursor auf das Feld bewegen, das Sie auswählen möchten, und SELECT CURSOR drücken, wird dieses Feld ausgewählt.

### Beispiel für ein Natural-Programm zur Verwendung eines Lichtstiftes

    RESET #FIELD-1 (A8)
      #FIELD-2 (A8) #FIELD-3 (A8) #CV-1 (C) #CV-2 (C) #CV-3 (C)
    SET KEY ALL
    /* SET CONTROL 'RM' IS A TOGGLE. AFTER IT IS EXECUTED ONCE MAKE IT A
    /* COMMENT, SO THAT YOU DO NOT TOGGLE IT 'OFF'.
    **SET CONTROL 'RM'
    REPEAT
      IF *PF-KEY NOT = 'ENTR' AND *PF-KEY NOT = 'PEN' ESCAPE BOTTOM
      MOVE (AD=I CD=YE) TO #CV-1
      MOVE (AD=I CD=RE) TO #CV-2
      MOVE (AD=I CD=BL) TO #CV-3
      MOVE ' FIELD-1' TO #FIELD-1
      MOVE '&FIELD-2' TO #FIELD-2
      MOVE '?FIELD-3' TO #FIELD-3
      INPUT (SG=OFF IP=OFF)
        01/01 #FIELD-1 (CV=#CV-1 AD=M)
        03/01 #FIELD-2 (CV=#CV-2 AD=M)
        05/01 #FIELD-3 (CV=#CV-3 AD=M)
      WRITE 'PF-KEY =' *PF-KEY
      IF #CV-1 MODIFIED WRITE '#CV-1 MODIFIED' #FIELD-1
      IF #CV-2 MODIFIED WRITE '#CV-2 MODIFIED' #FIELD-2
      IF #CV-3 MODIFIED WRITE '#CV-3 MODIFIED' #FIELD-3
    LOOP
    END

## Drucker-Unterstützung

Folgende Themen werden behandelt:

- Drucker-Vorschubsteuerzeichen

- Natural-Unterstützung für Laserdrucker

### Drucker-Vorschubsteuerzeichen

In einem Natural-Programm können Sie Steuerzeichen für den Druckervorschub mit dem Statement `DEFINE PRINTER` wie folgt erzeugen:

    ....
    DEFINE PRINTER (n) OUTPUT 'name'
    DEFINE PRINTER (n+1) OUTPUT 'CCONTROL'
    ....

Beide `DEFINE PRINTER`-Statements wirken zusammen, so dass alle Natural-Ausgaben für den Drucker (`n`) den normalen Natural-Report-Ausgaberegeln folgen und alle Natural-Ausgaben für den Drucker (`n+1`) auch auf den Drucker (`n`) geschrieben werden. Natural erzeugt für diesen Report kein Druckervorschubsteuerzeichen. Daher ist das erste Zeichen in der Ausgabevariablen das Steuerzeichen.

Mit dieser Methode ist es möglich, Steuerzeichen für Laserdruckersysteme und Kanalvorschubzeichen für Zeilendrucker in einem normalen Natural-Ausgabereport zu mischen.

> Natural-Programmbeispiel für Drucker-Vorschubsteuerzeichen

>       ...
>       DEFINE PRINTER (1) OUTPUT 'CMPRT01'
>       DEFINE PRINTER (2) OUTPUT 'CCONTROL'
>       WRITE (1) 'TEST'
>       WRITE (2) NOTITLE '+TEST'
>       MOVE H'5A' TO A(A1)
>       WRITE (2) A '....'
>       ...

>   Die entsprechenden hexadezimalen Daten in der Spooldatei, beginnend mit Spalte `0`, sind:

>       I..I..I..I..I..I..I..I..I..I..I..I..I..I..I
>       F1 E3 C5 E2 E3
>       1  T  E  S  T
>       4E E3 C5 E2 E3
>       +  T  E  S  T
>       5A ....

>   `CCONTROL` ist der Name einer speziellen Druckersteuertabelle, die dem Drucker `n-1` zugeordnet ist. Dieser Name darf nicht geändert werden.

### Natural-Unterstützung für Laserdrucker

Natural unterstützt Laserdruckersysteme des Typs IBM 3800.

Mit dem Statement `DEFINE PRINTER` können Sie einen Report für das Druckersystem 3800 steuern und zuordnen. Mit diesem Statement können Sie festlegen, dass die Natural-Druckausgabe für Report 1 an ein Druckersystem 3800 weitergeleitet wird.

    DEFINE PRINTER (1) OUTPUT 'LAS3800'
     I I => 1-31 for CMPRT01 to CMPRT31
     ....

Je nach Einstellung des Parameters `INTENS` wiederholt Natural jede Zeile bis zu viermal und erkennt die Natural-Attribute `AD=D`, `AD=I`, `AD=C` und `AD=V` (siehe Session-Parameter `AD`).

Die erste Zeile enthält in der ersten Spalte den ASA-Steuercode und in der zweiten Spalte das 3800-Font-Steuerzeichen (hexadezimal `F0`) für den ersten Font. Die Spalten `2` bis `nnn` enthalten die Druckdaten, die nicht mit dem Attribut `AD=I`, `AD=C` oder `AD=V` gekennzeichnet sind.

Die zweite Zeile enthält in der ersten Spalte den ASA-Steuercode `+` (für Druck ohne Zeilenvorschub) und in der zweiten Spalte das 3800-Font-Steuerzeichen (hexadezimal `F1`) für den zweiten Font. Die Spalten `2` bis `nnn` enthalten die Druckdaten, die mit `AD=I` gekennzeichnet sind.

Die dritte Zeile enthält in der ersten Spalte den ASA-Steuercode `+` (für Druck ohne Zeilenvorschub) und in der zweiten Spalte das 3800-Font-Steuerzeichen (hexadezimal `F2`) für die dritte Schriftart. Die Spalten `2` bis `nnn` enthalten die Druckdaten, die mit `AD=C` gekennzeichnet sind.

Die vierte Zeile enthält in der ersten Spalte den ASA-Steuercode `+` (für Druck ohne Zeilenvorschub) und in der zweiten Spalte das 3800-Font-Steuerzeichen (hexadezimal `F3`) für den vierten Font. Die Spalten `2` bis `nnn` enthalten die Druckdaten, die mit `AD=V` gekennzeichnet sind.

Wenn `INTENS` mit einem Wert kleiner als `4` angegeben wird, werden alle nicht unterstützten Schriften mit dem Hexadezimalzeichen `F0` gedruckt.

> Beispiel für ein Natural-Programm zur Verwendung von Laserdruckern

>       ....
>       DEFINE PRINTER (1) OUTPUT 'LAS3800'
>       WRITE (1) 'FIRST' 'SECOND' (AD=I) 'THIRD' (AD=C) 'FOURTH' (AD=V)
>       ....

>   Die entsprechenden hexadezimalen Daten in der Spooldatei, beginnend mit Spalte `0`, sind:

>       I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I
>       40 F0 C6 C9 D9 E2 E3 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 (hex)
>           0  F I R S T
>       4E F1 40 40 40 40 40 40 E2 C5 C3 E4 D5 C4 C4 40 40 40 40 40 40 40 (hex)
>       + 1                      S E C O N D
>       4E F2 40 40 40 40 40 40 40 40 40 40 40 40 40 E3 C8 C9 D9 D4 40 40 (hex)
>       + 2                                           T H I R D
>       4E F3 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 C5 (hex)
>       + 3                                                             F

> Beispiel-JCL für die Verwendung von Laserdruckern

>       ....
>       //xxxx JOB xxxxx,....
>       .
>       //xxxxx EXEC PGM= XXXXXX;......
>       .
>       // PARM='INTENS=4,XXXX,.......
>       .
>       .
>       //OUT1 OUTPUT PAGEDEF=XXXX,FORMDEF=XXXX,TRC=ON
>       .                      I             I
>       .                      I             I => 3800 form definition
>       .                      I
>       .                      I => 3800 page definition .
>       //CMPRT01 DD SYSOUT=Y
>       //        DCB=(RECFM=FBA,LRECL=133),OUTPUT=*,OUT1
>       //        CHARS=(WWWW,XXXX,YYYY, ZZZZ)
>                         I
>                         I => IBM font names
>       ...

### On this page

- Terminal-Unterstützung
- Unterstützung von Lichtstiften (Light Pens)
- Drucker-Unterstützung