[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2003
    Beiträge
    31

    Drucken 2 Formulare aus einer Spooldatei

    Guten Morgen an die EDV-Gemeinde.
    Wir sollen (bzw. dürfen) mit einem Rechnungsdruckprogramm Rechnungen und Zahlscheine, zu einem Kunden, hintereinander drucken. Ich habe eine PRTF definiert, die die Beschreibung beider Formulare enthält. Zwei Programme beutzen ein und dieselbe PRTF und in der Spooldatei sieht alles richtig gut aus. Aber wie kann ich jetzt unterschiedliche Formulare drucken? Mit DRAWER geht nicht, (da verschiedene CPI), OVRPRTF geht nicht (da nach jedem CLOSE eine Spooldatei), also stehe ich vor einem Rätsel, ODER? Die Formulare sind NICHT gescannt und das Ganze ist in Cobol geschrieben.
    Besten Dank für Eure Hilfe, die Cobolaner

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da die Attribute Zeilenhöhe, Anzahl Zeilen und Überlauf PRTF-Spezifisch sind, kann man 2 Formulare nur mittels OVRPRTF hinbekommen und das bedeutet nun mal 2 Spoolfiles !
    Sind die Attribute identisch, gibts keine Probleme.

    Alternativ können die CPI- und LPI-Angaben auch auf Feldebene des Satzformates angegeben werden, das erfordert aber eine PRTF als AFPDS.
    Das Positionieren auf den korrekten Formularanfang gestaltet sich allerdinsg schwierig (wenn nicht sogar unmöglich), wenn die Zeilelänge der Formulare unterschiedlich ist.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jan 2003
    Beiträge
    759
    Hallo,

    Es gibt noch die Möglichkeit aus einem zweiten Programm (CALL) in einen gemeinsamen Spool zu drucken. Das sieht in etwa so aus:

    Steuer-CL mit OVRTPRTF MYPRTF SHARE(*YES)

    Leseschleife im Hauptprogramm MY1PGM, je Vorgang
    WRITE MYPRTFF1
    CALL MY2PGM -> WRITE MYPRTFF2

    Aus Performance Gründen sollte MY2PGM jeweils ohne LR verlassen werden, am Ende des Programmes MY1PGM dann einen zusätzlichen Aufruf MY2PGM für LR durchführen.

    Viel Erfolg,
    Robert

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    In COBOL siehts da etwas anders aus:

    GOBACK (bzw. EXIT PROGRAM) beendet das Programm und läßt es aktiv im Hauptspeicher.
    Ein Zurücksetzen des Programmes analog *INLR in RPG gibt es nicht !
    Hier hilft dann nur im übergeordnete Programm ein
    CANCEL "MY2PROG", was zur Deaktivierung des aufgerufenen Programmes führt.

    Ein STOP RUN verbietet sich, da damit ALLE aktiven COBOL-Progamme bis zur höchsten Call-Ebene sofort geschlossen werden !
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jun 2003
    Beiträge
    31

    Hallo Robert, genauso geht es, nur

    Ich habe bereits eine Spooldatei mit den unterschiedlichen Druckaufbereitungen, aber ich muß jetzt jeden einzelnen Druck einem Formular zuordnen. Mit DRAWER funktioniert es nicht, da unterschiedliche CPI. Eine Speicherung in eine PF geht nicht, da dann Werte verloren gehen. Gruß Cobolaner

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Was verstehst du nun unter "Druck einem Formular zuordnen" ?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Jun 2003
    Beiträge
    31

    Ein Beispiel

    In der PRTF MYPRT_DR ist der Record MYPRT01 und MYPRT02 definiert. MYPRT01 soll auf einem (vorgedruckten) Rechnungsformular (aus Schacht 1) und MYPRT02 soll auf einem (vorgedruckten) Zahlschein (aus Schacht 2) gedruckt werden. Vorab schon besten Dank für Eure Antworten.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    AHA, ein Licht geht auf !

    Das DDS-Schlüsselwort DRAWER hilft dir da bestimmt weiter.
    http://publib.boulder.ibm.com/iserie...dmstptdraw.htm

    Das kann man bei jedem Satzformat angeben, und gilt so lange, bis man was anderes auswählt.
    Das hat nichts mit dem DRAWER der Spoolfile selber zu tun.
    Einziger Nachteil:
    Ein OVRPRTF DRAWER(X) funktioniert dann nicht mehr, da der Drawer ja in den Spooldaten festgelegt wird.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Drucken und Heften
    By Karo in forum NEWSboard Drucker
    Antworten: 14
    Letzter Beitrag: 28-07-09, 14:48
  2. ASCII drucken
    By kug in forum NEWSboard Drucker
    Antworten: 4
    Letzter Beitrag: 23-09-06, 07:40
  3. Spooldatei sofort anzeigen
    By dino in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 30-05-06, 13:38
  4. negative Rückmeldung mit Prüfdaten beim Drucken
    By horni in forum NEWSboard Drucker
    Antworten: 8
    Letzter Beitrag: 29-05-06, 11:32
  5. CA Anzeige drucken
    By Joe in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 27-04-06, 08:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •