-
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
-
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
-
... 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
-
Wichtig ist noch der Parameter MBROPT(*ADD) beim CPYF, damit die Sätze auch hinzugefügt werden.
-
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
-
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
-
Ob du nun CPYF *MAP *DROP oder den SQL-Insert nimmst ändert am Risiko nichts, nur das Verfahren ist halt ein anderes.
-
... 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
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 16
Letzter Beitrag: 20-10-14, 14:16
-
By malzusrex in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 06-06-14, 12:44
-
By post in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 28-04-14, 10:39
-
By Liebhoff in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 13-02-03, 08:35
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks