[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2012
    Beiträge
    360

    Create Tabl/CPYF

    Hallo,

    ich erstelle/Kopiere mir eine Workfile in die Qtemp.
    Die Orginaldatei hat aber ein Keyfeld, welches ich nicht brauche.

    Ist es möglich die Keyfelder zu entfernen, habe es auch schon mit Sql Create Table versucht.


    Code:
    CPYF FROMFILE(HOMDTA/ZPTOPT) 
         TOFILE(QTEMP/QWRKF)    
         FROMMBR(*FIRST)          
         TOMBR(*FIRST)            
         MBROPT(*REPLACE)         
         CRTFILE(*YES)            
         FMTOPT(*NOCHK)
    Gruß

    Tarki

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Der CPYF erstellt eine genaue Kopie der Felder aber ohne Index.
    Benötigst du nicht alle Felder kannst du das per SQL erledigen:

    create table as
    (select f1, f2, f3 from mytable)
    with data
    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
    Apr 2012
    Beiträge
    360
    Hallo Fuerchau,

    mein Problem ist es das ein Keyfeld eine fortlaufende Nummer ist, die ich aber manchmal mehrere Sätze mit der gleichen Nummer belegen möchte.

    Bin ich da ganz auf dem Holzweg?

    Gruß

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Wie Baldur geschrieben hat:

    create table as DeineDatei
    (select dec(0, 7, 0) as KeyNr, f1, f2, f3 from mytable)
    with data

    Dann hast due eine Datei mit Key, 7 0 und die Felder f1, f2 und f3

    in die Keynr kannst du schreiben was du willst

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wenn ich von deinem ersten Post ausgehe, möchtest du eine temporäre Tabelle, die nicht alle Felder der Quelltabelle enthalten soll.

    Dies geht wirklich am einfachsten mit obigem Create Table.
    Du kannst dabei natürlich auch neue Felder dazuerfinden.
    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

  6. #6
    Registriert seit
    Apr 2012
    Beiträge
    360
    Zitat Zitat von Robi Beitrag anzeigen
    Wie Baldur geschrieben hat:

    create table as DeineDatei
    (select dec(0, 7, 0) as KeyNr, f1, f2, f3 from mytable)
    with data

    Dann hast due eine Datei mit Key, 7 0 und die Felder f1, f2 und f3

    in die Keynr kannst du schreiben was du willst

    Robi
    Hallo,

    Dec(0, 7, 0):
    für was steht eigentlich die erste Null?

    Tarki

  7. #7
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    mein Problem ist es das ein Keyfeld eine fortlaufende Nummer ist, die ich aber manchmal mehrere Sätze mit der gleichen Nummer belegen möchte.
    (die 1. null muß in hochkomma)
    damit erzeugst du ein 7 stelliges numerisches Feld mit 0 um später nach deinen kriterien die Nr hinzu zu fügen

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da muss nix in Hochkomma.
    Wobei mir die genaue Aufgabenstellung nun immer noch nicht klar 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

  9. #9
    Registriert seit
    Apr 2012
    Beiträge
    360
    Die Aufgabenstellung war das eine neue detailreichere Statistik erwünscht war.

    Ein Uralt-Programm aus dem Jahre 88 befüllt diese Datei aber genau nur mit einem Satz.

    Nun gibt es aber zu einer Buchung, mehrere Sätze, und 5 neue Felder.

    Ich dachte mir, wieso alles neu erfinden, da ja viele gar nicht mehr wissen, ob das Feld überhaupt gebraucht wird, bzw. nach einem halben Jahr auf der Matte stehen und frage wieso das Feld es nicht mehr vorhanden ist.

    Die befüllte Datei wird ja von anderen Pgm auch benutzt.

    Gruß

    Tarki

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Tut mir leid, aber diese Aufgabenbeschreibung kann ich mit obigem Copy noch nicht in Einklang bringen.

    Du kannst natürlich eine neue Datei erstellen (per DDS/SQL) und beim CPYF ... FMTOPT(*MAP *DROP) nur die passenden Felder aus Datei1 in Datei2 kopieren.
    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. CREATE VIEW
    By Franz Karl in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 20-01-07, 08:04
  2. CREATE FUNCTION mit select im Bauch ?
    By cheffe1008 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 21-09-06, 16:05
  3. create view oder constraint oder trigger oder ... ?
    By antvik in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 02-08-06, 18:04
  4. SQL -> CREATE VIEW
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 17
    Letzter Beitrag: 11-05-06, 14:57
  5. UNION/UNION ALL beim CREATE VIEW
    By KB in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 24-07-01, 15:43

Berechtigungen

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