Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SPOOL-Exit 097 (Steuern File Transfer)

&pagelevel(4)&pagelevel

Mit dem SPOOL-Exit 097 kann in einer Client-Server-Umgebung bei Einsatz des Produkts „Distributed Print Services“ die Anzahl der Dprint-Aufträge für den File Transfer gesteuert werden. Mit dem Einsatz des Exits ist es möglich für jeden Client eine maximale Anzahl von Aufträgen für den File Transfer festzulegen. Das führt dazu die Dprint-Systemtasks zu reduzieren, die diejenigen Dprint-Aufträge steuern, für die eine File-Transfer-Bearbeitung angestoßen wurde. Außerdem kann mit dem Exit vermieden werden, dass durch Dprint die File-Transfer-Ressourcen auf dem Client- und Server-Rechner allein beansprucht werden. Das Problem, dass Druckaufträge zu lange in einem Zwischen-Status (WFT oder FT) bleiben kann dadurch gelöst werden.

SPOOL-Hintergrund

Wurde ein von einem Client abgegebener Dprint-Auftrag von einem fernen Server angenommen, befindet er sich in der SPOOL-Auftragswarteschlange des Servers im Status WFT (wait file transfer). Auf die Anforderung der Dprint-File-Transfer-Einheit wählt SPOOL einen Auftrag aus der Warteschlange aus und übergibt ihn an Dprint. Dabei wird der Auftrag gewählt, der die höchste Priorität hat und dessen Original-Host (d.h. der Client Host, der den Auftrag abgegeben hat) verfügbar ist und freie Betriebsmittel besitzt. Hat die Dprint-File-Transfer-Einheit den Auftrag erhalten, informiert sie den Client-Host. Dann initiiert dieser den File Transfer der zu druckenden Datei und evtl. der Datei, die die für den Ausdruck benötigten Ressourcen enthält. Da die Dprint-File-Transfer-Einheit Aufträge ohne Unterbrechung anfordert, werden alle Aufträge, die vom Server angenommen wurden und File Transfer benötigen, sofort an File Transfer geleitet. Ist die Anzahl von Aufträgen sehr hoch und ist der Server nicht leistungsfähig genug, führt dies zu Performance-Problemen auf der Server-Seite und zu einer alleinigen Inanspruchnahme der File-Transfer-Ressourcen auf der Client-Seite. Der Exit 097 ist im SPOOL auf der Server-Seite lokalisiert und greift dort ein, wo ein Auftrag für die Dprint-File-Transfer-Einheit ausgewählt wird.

Folgende Informationen werden an die Exit-Routine übergeben:
R1 = A (EX096-Parameterbereich)

Im Parameterbereich sind folgende Felder versorgt:

E97HSTl@

Adresse einer Host-Tabelle, die die Namen der verfügbaren und nicht gesättigten Hosts enthält

E97HST#

Anzahl der Einträge in der Host-Tabelle

E97HSTL

Länge eines Eintrags in der Host-Tabelle

E97SVT@

Adresse der SPOOL-Vector-Tabelle

Der Returncode wird im Standardheader des Parameterbereichs abgelegt.

E97EXNOK

X'00000001' während der Bearbeitung ist ein Fehler aufgetreten.

E97EXOK

X'00000000' der Exit wurde ohne Fehler ausgeführt.

Die folgenden Felder können von der Exit-Routine versorgt werden:

E97HOK#

Anzahl in der Eingabe-Host-Liste* gebliebener Hosts

E97WFT#

Anzahl der Aufträge im Zustand WFT für die Hosts, die in der Eingabe-Host-Liste geblieben sind

E97FT#

Anzahl der Aufträge im Zustand FT für die Hosts, die in der Eingabe-Host-Liste geblieben sind

* Eingabe-Host-Liste = Eingabeliste, aus der einige Einträge entfernt wurden, d.h. die mit binären Nullen aufgefüllt wurden.

DSECT

Eine DSECT/CSECT für den Parameterbereich kann mit dem Makro EX097 erzeugt werden, wobei „prefix“ max. 3 Zeichen lang sein darf.

         EX097 D
CLREXPL  DSECT ,          File transfer balancing exit p/l
E97EXBEG DS    0H
         FHDR  MF=(C,E97),EQUATES=NO
         DS    0A
E97FHE   DS    0XL8            0   GENERAL PARAMETER AREA HEADER
*
E97IFID  DS    0A              0   INTERFACE IDENTIFIER
E97FCTU  DS    AL2             0   FUNCTION UNIT NUMBER
*                                  BIT 15    HEADER FLAG BIT,
*                                  MUST BE RESET UNTIL FURTHER NOTICE
*                                  BIT 14-12 UNUSED, MUST BE RESET
*                                  BIT 11-0  REAL FUNCTION UNIT NUMBER
E97FCT   DS    AL1             2   FUNCTION NUMBER
E97FCTV  DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER
*
E97RET   DS    0A              4   GENERAL RETURN CODE
E97SRET  DS    0AL2            4   SUB RETURN CODE
E97SR2   DS    AL1             4   SUB RETURN CODE 2
E97SR1   DS    AL1             5   SUB RETURN CODE 1
E97MRET  DS    0AL2            6   MAIN RETURN CODE
E97MR2   DS    AL1             6   MAIN RETURN CODE 2
E97MR1   DS    AL1             7   MAIN RETURN CODE 1
E97FHL   EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH
*
* 
*   EQUATES FOR EXIT RETURN INFORMATION IN &P.RET
* 
E97EXNOK EQU   1                        EXIT NOK 
E97EXOK  EQU   0                        EXIT OK 
E97UNUS  DC    XL4'00'                 ****   UNUSED   **** 
*
E97HSTL@ DS    A                       ACCESSIBLE HOST LIST
E97SVT@  DS    A                       SVT ADDRESS 
E97HST#  DS    H                       NBR OF ENTRIES IN THE LIST
E97HSTL  DS    H                       LENGTH OF AN ENTRY IN THE LIST 
* 
E97HOK#  DS    H                       OUTPUT AREA = NBR OF CORRECT HST
E97WFT#  DS    H                       TOTAL NBR OF JOB IN WFT
E97FT#   DS    H                       TOTAL NBR OF JOB IN FT 
         DS    CL20                    RESERVED FOR EXTENSION 
E97PLLEN EQU   *-E97EXBEG              LENGTH OF THE PARAMETER LIST