Vorgehensweise: Referenz: |
HOLD-Dateien füllen binäre ganzzahlige sowie gepackte dezimale Werte auf, so dass die Wortbegrenzung erreicht wird. Beispielsweise wird ein dreistelliges Ganzzahlfeld (I3) in einer HOLD-Datei mit vier Bytes gespeichert. Damit Programme der dritten Generation (z. B. COBOL) HOLD-Dateien exakt lesen können, müssen Sie die Felder in der HOLD-Datei ggf. ohne Auffüllung speichern.
Sie müssen, um die Feldauffüllung in der HOLD-Datei zu unterdrücken, die Felder in der Anfrage neu formatieren, um die Defaultformate ACTUAL, die den USAGE-Formaten in der Masterdatei entsprechen, zu überschreiben:
SET HOLDLIST = PRINTONLY TABLE FILE filename display_command fieldname/[In|Pn.d] . . ON TABLE HOLD AS name FORMAT INTERNAL END
Hierbei gilt:
Beachten Sie, dass die Gleitkomma-Doppelpräzision (D) und Gleitkomma-Einfachpräzision (F) von HOLD FORMAT INTERNAL nicht beeinflusst werden.
Eine Abbildung finden Sie unter Eine HOLD-Datei mit HOLD FORMAT INTERNAL erstellen.
Die Syntax lautet
bytes = INT (n/2) + 1
Hierbei gilt:
Stellen Sie sicher, um inkorrekte Ergebnisse zu vermeiden, dass das von Ihnen angegebene Format für die Datenwerte groß genug ist.
In diesem Beispiel werden alle Werte von ACTUAL für RETAIL_COST, DEALER_COST und SEATS so aufgefüllt, dass Sie ein vollständiges Wort ergeben. Alphanumerische Felder belegen ebenfalls vollständige Wörter.
TABLE FILE CAR PRINT CAR COUNTRY RETAIL_COST DEALER_COST SEATS ON TABLE HOLD AS DJG END
Die Anfrage erstellt die folgende Masterdatei:
FILE=DJG, SUFFIX=FIX SEGMENT=DJG, SEGTYPE=S0 FIELDNAME=CAR ,ALIAS=E01 ,USAGE=A16 ,ACTUAL=A16 ,$ FIELDNAME=COUNTRY ,ALIAS=E02 ,USAGE=A10 ,ACTUAL=A12 ,$ FIELDNAME=RETAIL_COST ,ALIAS=E03 ,USAGE=D7 ,ACTUAL=D08 ,$ FIELDNAME=DEALER_COST ,ALIAS=E04 ,USAGE=D7 ,ACTUAL=D08 ,$ FIELDNAME=SEATS ,ALIAS=E05 ,USAGE=I3 ,ACTUAL=I04 ,$
In diesem Beispiel werden DEALER_COST und RETAIL_COST in der Masterdatei als D-Felder definiert. Die Anfrage überschreibt RETAIL_COST jedoch als I2-Feld und DEALER_COST als P3-Feld.
SET HOLDLIST=PRINTONLY TABLE FILE CAR PRINT CAR COUNTRY RETAIL_COST/I2 DEALER_COST/P3 SEATS/I1 ON TABLE HOLD AS HINT3 FORMAT INTERNAL END
Dadurch wird die folgende Masterdatei erstellt:
FILE=HINT3, SUFFIX=FIX SEGMENT=HINT3, SEGTYPE=S0 FIELDNAME=CAR ,ALIAS=E01 ,USAGE=A16 ,ACTUAL=A16 ,$ FIELDNAME=COUNTRY ,ALIAS=E02 ,USAGE=A10 ,ACTUAL=A10 ,$ FIELDNAME=RETAIL_COST ,ALIAS=E03 ,USAGE=I6 ,ACTUAL=I02 ,$ FIELDNAME=DEALER_COST ,ALIAS=E04 ,USAGE=P4 ,ACTUAL=P02 ,$ FIELDNAME=SEATS ,ALIAS=E05 ,USAGE=I4 ,ACTUAL=I01 ,$
Die ACTUAL-Formate für die überschriebenen Felder sind I2, P2 und I1. DEALER_COST besitzt ein ACTUAL von P2, da die Formatüberschreibung P3 bedeutet, dass 3 angezeigte Stellen vorhanden sind, die in 2 Stellen gespeichert werden können. Beachten Sie, dass das alphanumerische Feld auch nicht aufgefüllt wird.
WebFOCUS |