[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    68

    Post NULL in CSV Datei

    Hallo *all,

    kopiere per CPYTOIMPF eine AS400 Datei in eine CSV Datei. Die Felder, die den Inhalt BLANKS auf der AS400 haben, werden auch als BLANKS kopiert. Nun würde ich aber gerne bei diesen Feldern den NULL Inhalt, also keine BLANKS, generieren. Die Feldtrennzeichen sollen direkt hintereinander stehen. Gibt es da eine Möglichkeit ??

  2. #2
    Registriert seit
    Mar 2001
    Beiträge
    34

    Post

    hallo alex,
    wie wärs mit einem kleinen bereitstellungsprogramm, daß die relevanten *Blanks-Felder zuerst mit NULL belegt (SQL oder RPG). Das Pgm. erstellt eine temp. Arbeitsdatei mit NULL-Feldern, diese Datei wird anschließend beim CPYTOIMPF verwendet.
    Gruss
    Frank

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    68

    Post

    Hallo Rukober,

    wie kann ich denn die Felder per RPG mit dem NULL Wert versehen ???

  4. #4
    Registriert seit
    Nov 2002
    Beiträge
    57

    Post

    Hi alex,

    im RPG 3
    move '000000' feld2
    oder
    movel'000000' feld2
    writedateifm bzw updatdateifm

    Für alle Fälle umwandeln mit dezimalfehler *yes

    Gruss Thomas



  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Post

    Hallo Alex,

    du benötigst erstens eine Datei, in der die Felder im DDS mit ALWNULL definiert sind.
    (Alternativ kann die Datei auch mit SQL erstellt werden mit Nullwerte zulässig)

    Beispiel DDS:
    A____________NFKND__________9A_________ALWNULL


    Im RPG benötigtst Du in den H-Bestimmungen das Schlüssel-Wort ALWNULL(*USRCTL).
    Bei dem Feld, in das Nullwerte geschrieben werden soll, setzt du einfach die Built-in-Function %NULLIND(Feld) auf *OFF:

    Beispiel RPG:
    H ALWNULL(*USRCTL)
    /Free
    if NFKND = *Blanks;
    %Nullind(NFKND) = *ON;
    endif;
    /End-Free

    Ich würde allerdings embedded SQL vorziehen:
    (Auch die Ausgabe-Felder bei der OutFile müssen Null-Werte zulassen)
    Beispiel:
    c/Exec SQL
    C+ INSERT INTO OutFile
    C+ SELECT nullif(:NLFELD1, ' '),
    C+ nullif(:NLFELD2, 0)
    C+ FROM InFile
    C/End-Exec

    Birgitta

    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    68

    Post

    Vielen Dank für die Tipps. Werde sie gleich mal austesten.

Similar Threads

  1. Darstellung der Null im LPEX-Editor (WDSC)
    By Ewald in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 25-01-07, 07:52
  2. Wert aus CSV Datei
    By mk in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 21-12-06, 08:56
  3. NOT NULL WITH DEFAULT
    By deni87991 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 04-08-06, 10:32
  4. Datei aus IFS holen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 15-05-06, 13:47
  5. IFS Datei berechtigungen
    By PGMR in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 15-06-05, 15:37

Berechtigungen

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