PDA

View Full Version : Initialisieren von Datenstrukturfeldern



Seiten : 1 [2]

BUG
12-10-04, 14:24
Kleine Ergänzung:



D dsOldMLSSDC E DS Qualified ExtName(MLSPFSDC)
D Based(pOldData)
D dsNewMLSSDC E DS Qualified ExtName(MLSPFSDC)
D Based(pNewData)
// Schlüsselstruktur der ersten Datei
D dsKey01 DS Qualified
D LNGG Like(dsOldMLSSDC.LNGGDC)
D FLDD Like(dsOldMLSSDC.FLDDDC)

// Ähnlicher, aber eben doch nicht ganz der selbe Schlüssel in der zweiten Datei:
[...]
D dsKey02 DS Qualified
D FDLG Like(dsOldMLS0DC.FDLGDC)
D FLDD Like(dsOldMLS0DC.FLDDDC)
[...]


Jetzt soll ich eine Methode bauen, die die Informationen über die Schlüsselstrukturen für den Primary-Key der Logdatei aufbereitet. Die Aufbereitung ist natürlich banal, aber in diese Richtung soll es gehen:



*****************************************
***** GetSArt ... Liefere Satzart
*****************************************
** Funktionsschnittstelle
P GetSArt B
D GetSArt PI 10A
** Interne Variablen
**---------------------------------------
/Free

// Das war meine Vorstellung bei meiner ursprünglichen Frage:
// Es sind daten in den Feldern der DS -> diese Datei ist im Zugriff
// und Schlüsselart 01 wird zurückgeliefert

Select;
When dsKey01.LNGG <> '' and
dsKey01.FLDD <> '';
Return '01';

// Einfacher wäre es natürlich so, aber das darf ich nicht.

When iBuffer.FleName = 'MLSPFSDC';
Return '02';


// In dem Stil geht's noch n bisschen weiter
/End-Free
**--------------------------------------------------------------------
P GetSArt E

Fuerchau
12-10-04, 16:20
Das ist leider eine Aufgabenstellung die mit Trigger NICHT gelöst werden kann.
Die Art des Schlüssels für eine Änderung ist vollkommen irrelevant !!!

Denke dir nur einen SQL "update ... where ...". In der Where-Klausel kannst du unabhängig vom jeweiligen Schlüssel (Zugriffspfad) Sätze verändern.

Per DFU (z.B. UPDDTA) kannst du auch per Satz-Nr ändern usw. usw.

Wenn du 30 Dateien hast, benötigst du auch 30 Trigger-PGM'e. Schließlich musst du ja gezielt auf einzelne Felder zugreifen.

Da der Trigger auf der PF liegt, bekommst du gar nicht mit, ob eine Operation über eine LF erfolgt !!!

Jede Datei hat (oder auch nicht) einen Primär-Schlüssel.
Verwende genau diesen als einzigen Schlüssel der jeweiligen Datei, wobei ggf. darauf zu achten ist, dass auch Schlüsseländerungen möglich sind, will heißen, dass im Before- und After-Immage unterschiedliche Werte auch in Schlüsseln vorkommen können !!!!!

BUG
14-10-04, 08:34
Guten Morgen,

na, da ist alles in allem doch eine Menge an Info die ich verwerten kann!
Herzlichen Dank, speziell an Fuerchau, für die Mithilfe!


Mein Betreuer wird sich schon irgendwas dabei gedacht haben als er mir diese
Aufgabenstellung hat zuteil werden lassen. Sobald ich weiss was das ist und wenn
es euch interessiert lass ich euch wissen was es war.

Schönen Tag, Björn

BUG
14-10-04, 10:04
Hi,

also ich wollte 2 Schritte in einen packen. Es ging darum, den Dateinamen
vom Schlüssel zu entkoppeln. Dateiname -> Schlüsselart 'XY' -> Schlüsselinformation
anhand der Datenstruktur in Teil des Logschlüssels umsetzen.

Die von mir ursprünglich angedachte direkte Abfrage der Informationen zm Schlüssel durch eine Intialisierung war also Käse.

Nochmal herzlichen Dank für eure Zeit, Björn