[NEWSboard IBMi Forum]

Thema: CPYF

  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    133

    Post CPYF

    Ich möchte mit CPYF eine Datei (Datei1) in eine andere (Datei2) kopieren.

    Problem: Datei 1 enthält nur 1 Zeichenfeld Datei2 dagegen einzelne Datenbankfelder. Der Satzaufbau ist aber gleich, so daß zumindest schon mal alle CHAR Felder sauber übertragen werden. Numerische Felder ohne Aufbereitung im String ebenfalls. z.B. wird aus 0001230 dann im entsprechnden Feld in Datei2 12,30. Habe ich aber in Datei1 -12,30 stehen, so erfolgt keine Übertragung. Wie kann ich den Kopiebefehl dazu bewegen, die Formatierung richtig zu berücksichtigen, Vorzeichen und Komma ? Den weg über ein Umsetztprogamm möchte ich vermeiden.

    Danke für Eure Vorschläge

    Thomas

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241

    Post

    Der CPYF ist dafür leider nicht geeignet.
    Aber versuch es doch mal mit SQL:

    insert into datei2
    select substr(satz, 1, 10), substr(satz, 11, 5), dec(substr(satz, 16, 4)) / 100, ...
    from datei1

    In dieser Form wird das erste Feld des Select in das 1. Feld der Datei2 übertragen, das 2. in das 2. usw.
    Alternativ kannst du die Felder auch aufzählen:

    insert into datei1 (F1, f2, F3, ...)
    values (select ... )

    Als "Satz" ist das einzeige Feld aus Datei1 gemeint.
    Mit substr(feld, pos, len) kannst du die einzelnen Felder aus dem Satz entnehmen.
    Mit dec(xxx) formatierst du ein Zeichenfeld in Dezimal um. Dabei ist folgendes zu beachten:
    Das Zeichenfeld darf nur Zahlen, ein Komma und ein Vorzeichen (rechts) enthalten.
    Ist das Zielfeld mit Nachkomma und der Quellwert enthält kein Komma aber eine entsprechende Aufbereitung, so dividiere einfach durch 10^n, wobei n die Anzahl Nachkomma ergeben soll, also 10, 100, 1000 usw.
    Enthält ein Feld keine gültigen Zahlen, bricht der SQL-Befehl leider ab.
    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. Cpyf und alternativer Tabellenname
    By Joe in forum IBM i Hauptforum
    Antworten: 15
    Letzter Beitrag: 04-09-06, 10:42
  2. CPYF Fehler handling
    By RLPforum in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 05-07-06, 14:04
  3. 30000 CPYF am Tag!?
    By V_P in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 14-09-05, 11:04
  4. Problem beim Kopieren von Datenbanktabellen
    By schojo in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 17-05-05, 10:24
  5. CPYF
    By ASMaus in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-02-05, 13:15

Berechtigungen

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