[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    60

    AFP-Datenstrom eines Spool-Files ändern?

    Hallo zusammen!

    Ich wollte mir ein kleines Tools basteln um einige Atrribute eines AFPDS-Spools im nachhinein zu ändern (z.B. Overlay, Papierfach, etc.). Hierzu hab ich mich an Hand des Redbooks "Data Stream & Object Architectures MODCA Reference" ein bisschen in das Thema eingearbeitet. Die grobe Vorgehensweise war:
    - Daten des Spools in Userspace ausgeben
    - Die einzelnen Structured Fields des AFP-Datenstroms verarbeiten
    - Neue Spool-Datei erzeugen

    Die Structured Fields sollten ja laut Dokumentation immer folgenden Aufbau haben:
    - 2 Byte Structured Field Length
    - 3 Byte Structured Field ID
    - 1 Byte Structured Field Flag
    - 2 Byte Reserviert X'0000'
    - Rest ist für Structured Field Data

    Beim Verarbeiten der einzelnen Stuctured Fields ist mir aufgefallen das die angegeben Länge nicht immer passt. So z.B. bei dem Structured Field "Presentation Text Data X'D3EE9B'" war bei mir eine Länge von 4999 Byte angegeben, in Wahrheit sind es aber 5097 Byte.

    Ist hier jemand der sich genauer mit AFPDS-Daten auskennt und mir dieses Phänomen erklären kann? Hab ich beim Lesen was übersehen? Muss zugeben das ich mir nicht das ganze PDF durchgelesen habe da ich auch nicht zuviel Zeit in das Thema investieren wollte ...

    MfG
    Martin

  2. #2
    Registriert seit
    Aug 2004
    Beiträge
    63

    Smile AFPDS Struktur

    Hallo,
    AFPDS bzw. MOD:CA ist nicht trivial. Die Feldlängen eines übergeordneten Objekts enthalten auch die Daten des untergeordneten Objekts. Dadurch kann die Feldlänge durchaus größer angegeben sein.

    Wenn Feldlängen nicht richtig wären, dann würde das gar nicht laufen. Das Betriebssystem ist sehr restriktiv, was die korrekten Angaben der Feldparameter anbelangt. Wenn da was nicht stimmt, gibt es sofort einen Fehler.

    Man kann den Datenstrom mit dem QSPGETF in eine PF kopieren, dann die PF ändern und wieder mit QSPPUTF wieder zurückkopieren. Siehe IBM doku. im Internet.
    Gruß
    Martin

  3. #3
    Registriert seit
    Apr 2005
    Beiträge
    60
    Hi!

    Weiss mittlerweile was ich falsch gemacht habe. Ich verwende das SPFR0200 Format und hab übersehen das die Daten in einzelnen Puffern geliefert werden. Das habe ich in meinem Programm nicht berücksichtigt ...

    cu
    Martin

Similar Threads

  1. Antworten: 3
    Letzter Beitrag: 25-01-07, 09:29
  2. MCH3402 + Spool
    By Robi in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 14-12-06, 11:12
  3. FTP: Generische Uebertragung von Files
    By roman in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 05-12-06, 14:53
  4. Spool -> PDF benötigte Lizenzprogramme
    By cseitz in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 20-06-06, 14:40
  5. Restore von QHST* files
    By mtu in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 06-06-06, 08:15

Berechtigungen

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