[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    6

    Zeichenumsetzung x'41' auf Blank

    Hallo zusammen,

    ich muss für eine Schnittstelle eine Datei mit fixer Satzlänge erstellen. Die Datei wird mit dem RequiredBlank x'41' an der letzten Stelle gekennzeichnet, damit die Sätze danach abgeschnitten werden beim Befehl:
    CPYTOSTMF STMFCODPAG(*STDASCII) ENDLINFMT(*CRLF)

    Wie schaffe ich es, dass auf der Zieldatei das X'41' auf ein "echtes" Blank ersetzt wird?

    Danke für eure Unterstützung.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Du darfst dann kein x'41' in deine Datei schreiben.
    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
    Sep 2005
    Beiträge
    6
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Du darfst dann kein x'41' in deine Datei schreiben.
    Das war die falsche Antwort ;-)

    Wie bekomme ich sonst Blanks nach dem letzten Zeichen in die Datei, damit ich am Ende zu der gewünschten fixen Satzlänge komme ?

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das ist schon die richtige Antwort.
    Der CPY-Befehl kann keine Zeichenersetzung durchführen.
    Da dein ENDLINFMT aber *CRLF ist, werden Leerzeichen am Ende entfernt.
    Mit *FIXED bekommst du aber kein *CRLF.
    Lösung:
    Schreibe das CRLF an Stelle des X'41' ans Ende deiner Sätze und gib mit *FIXED dann aus.

    Machst du eine Code-Wandlung musst du CRLF in EBCDIC X'0D25' ausgeben, ansonsten in ASCII X'0D0A'.
    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
    Sep 2005
    Beiträge
    6
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Das ist schon die richtige Antwort.
    Der CPY-Befehl kann keine Zeichenersetzung durchführen.
    Da dein ENDLINFMT aber *CRLF ist, werden Leerzeichen am Ende entfernt.
    Mit *FIXED bekommst du aber kein *CRLF.
    Lösung:
    Schreibe das CRLF an Stelle des X'41' ans Ende deiner Sätze und gib mit *FIXED dann aus.

    Machst du eine Code-Wandlung musst du CRLF in EBCDIC X'0D25' ausgeben, ansonsten in ASCII X'0D0A'.

    Danke dir, ich wollte nur die Änderung der Datei umgehen.

    Dabei kommt mir noch diese Frage hoch: wozu brauche ich dann das x'41' ?

    Danke dir nochmals für die Nachhilfe !

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich weiß ja nicht, wie du auf das x'41' gekommen bist.
    Ich kann nur vermuten, dass damit eben die Leereichen vor dem X'41' erhalten bleiben sollten, da dieses nun mal kein Blank ist und in EBCDIC nicht dargestellt wird.

    Allerdings kannst du im CPYTOSTMF auch explizit eine Tabelle angeben.
    Die Tabelle QUSRSYS/Q273337437 (PC-ASCII-Englisch) bzw. QUSRSYS/Q273337850 (PC-ASCII-Deutsch) wandelt X'41' auch in Blank X'20' um.

    Versuchs doch mal damit.
    Ich weiß allerdings nicht, wann der CPY-Befehl die Leerzeichen abschneidet.
    Probleme gibts auch ggf. mit Umlauten.
    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. Nachricht CPDB053 beim Zugriff auf Windows Freigabe
    By schatte in forum NEWSboard Windows
    Antworten: 7
    Letzter Beitrag: 21-11-06, 11:37
  2. QNTC Zugriff auf CD Laufwerk Fehlerhaft
    By pwrdwnsys in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-11-06, 15:34
  3. Datei von S/36 auf AS/400 holen
    By WeKaSys in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 06-11-06, 17:34
  4. A5 mit Host Print Transform auf HP
    By dirkus in forum NEWSboard Drucker
    Antworten: 4
    Letzter Beitrag: 26-10-06, 17:52
  5. Drop Down Liste auf Feldebene
    By codierknecht in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 23-08-06, 11:30

Berechtigungen

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