Die Reportausgabe im INTERNAL-Format speichern

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:


Nach oben

x
Syntax: Feldauffüllung in HOLD-Dateien unterdrücken
SET HOLDLIST = PRINTONLY
TABLE FILE filename 
display_command fieldname/[In|Pn.d]
.
.
ON TABLE HOLD AS name FORMAT INTERNAL
END

Hierbei gilt:

PRINTONLY
Bewirkt, dass Ihre Reportanfrage die HOLD-Datei so weitergibt, dass nur die angegebenen Felder in der Reportausgabe angezeigt werden. Wenn Sie die Einstellung nicht verwenden, wird ein zusätzliches Feld mit der aufgefüllten Feldlänge in die HOLD-Datei aufgenommen. Siehe Felder in einer HOLD-Masterdatei steuern.
fieldname/[In|Pn.d]
Geben Sie die richtigen Längen für die Formate für ganzzahlige und gepackte Felder an, wenn Sie die Auffüllung unterdrücken möchten. Diese Formate überschreiben die ACTUAL-Formate, die als Anzeigeformate in der Masterdatei verwendet werden. Siehe Verwendungshinweise für das Unterdrücken der Auffüllung von Feldern in HOLD-Dateien.

Beachten Sie, dass die Gleitkomma-Doppelpräzision (D) und Gleitkomma-Einfachpräzision (F) von HOLD FORMAT INTERNAL nicht beeinflusst werden.

FORMAT INTERNAL
Speichert die HOLD-Datei, ohne angegebene ganzzahlige und gepackte dezimale Felder aufzufüllen.

Eine Abbildung finden Sie unter Eine HOLD-Datei mit HOLD FORMAT INTERNAL erstellen.


Nach oben

x
Referenz: Verwendungshinweise für das Unterdrücken der Auffüllung von Feldern in HOLD-Dateien


Beispiel: Eine HOLD-Datei ohne HOLD FORMAT INTERNAL erstellen

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    ,$


Beispiel: Eine HOLD-Datei mit HOLD FORMAT INTERNAL erstellen

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