[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2014
    Beiträge
    15

    CPYF mit unterschiedlicher Anzahl Felder

    Hallo Leute,

    ich möchte gerne aus meinen Reorg-Dateien ein paar Sätze wiederherstellen und diese per CPYF an die Originaldatei anhängen. Die Sätze habe ich schon rausgeholt, aber die Reorgdateien haben 7 Felder mehr.

    Weiß jemand, ob es reicht, wenn ich die Optionen *MAP und *DROP verwende oder zerschieße ich mir damit die Datenbank?

    Viele Grüße,

    Sabine

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Hallo Sabine,
    soweit ich mich erinnern kann, geht das mit MAP/DROP problemlos. Wichtig ist, dass alle Felder, die in beiden Dateien vorhanden sind (also die *MAP Felder), den gleichen Typ haben.

    Wenn dir das zu unsicher ist, kannst du ja auch SQL nehmen. Insert into ... select ... from

    Da kannst du alle Felder einzeln angeben.

    Dieter

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... ob Du Dir damit die Datenbank zerschießt, das kann Dir aus der Ferne niemand wirklich beantworten, das hängt doch von den Daten ab und eventuell auch von den Beziehungen untereinander.
    In jedem Fall empfiehlt es sich bei solchen Aktionen die Datei mit STRJRNPF zu jornalisieren und die Aktion in einer SQL session, die man mit commit startet (STRSQL mal mit F4 prompten); dann kann man die Daten mit insert reinschieben, dann kontrolliern, wenn es passt commit, war es nix rollback. Und nicht vergessen alles genau zu dokumentieren, falls man erst in ein paar Tagen merkt, dass diese Aktion nur die zweitbeste Idee war.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Wichtig ist noch der Parameter MBROPT(*ADD) beim CPYF, damit die Sätze auch hinzugefügt werden.

  5. #5
    Registriert seit
    Aug 2014
    Beiträge
    15
    Ja, den *add schreib ich immer als erstes rein (bevor ich irgendwelche Namen eintrage).
    Ich probier dann mal den insert, scheint mir am sichersten.

    Ich danke Euch,

    LG, Sabine

  6. #6
    Registriert seit
    Dec 2004
    Beiträge
    203
    Hi,
    und falls ein Key auf der / die Datei / en liegen Vorsicht. Nehmen wir ma an das es sich um Auftragsdateien (Kopf/Position) handelt und nach dem Reort wurden auch dort evtl. Felder wieder auf 1 (Auftragsnummer) gesetzt und aus den REORT Dateien sollen nun diese wieder angefügt werden geht das nicht. Es kann sogar sein das dann evtl. bei der Positionsdatei Sätze mit höheren Positionnummern in die Originaldatei eingefügt werden und man somit völlig verkehrte Auftragsdateien erhällt !
    Gruß,
    Ralf

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ob du nun CPYF *MAP *DROP oder den SQL-Insert nimmst ändert am Risiko nichts, nur das Verfahren ist halt ein anderes.
    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

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... das sehe ich etwas anders, da gibt es schon beträchtliche Unterschiede:
    Risiken CPYF
    - *REPLACE putzt alles
    - keine rollback Unterstützung
    - kein where exists möglich
    Risiken insert into select
    - kein automatisches *MAP *DROP (falsche Feldlisten können Murks verursachen)
    - Abbrüche wg. dupkey unkontrolliert

    Ich habe insert select empfohlen wg, der ROLLBACK Unterstützung und halte das für das überwiegende Argument, trotz der Feldlisten Problematik.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Omnifind, Anzahl der Indexspalten
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 20-10-14, 14:16
  2. SQL mit Vergleich ANzahl Sätzen pro Kunde
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 06-06-14, 12:44
  3. SQL Anzahl wenn mehrer Felder gleich sind
    By post in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 28-04-14, 10:39
  4. CPYF
    By Liebhoff in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 13-02-03, 08:35
  5. Beschränkung auf Anzahl Felder in Tabelle????
    By KB in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 07-09-01, 10:56

Tags for this Thread

Berechtigungen

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