Entwicklung > Tools > Patches > Anlage Patches 

Mit dieser Funktion können Sie ein Archiv anlegen, das die in einem gegebenen Ordner (standardmäßig dem aktuellen Ordner) angelegten Entwicklungen sowie einige Parametrisierungselemente enthält. Dies ist vor allem dann interessant, wenn Sie eine Reihe kohärenter Änderungen in einem Test- oder Parameterordner in einen Betriebsordner übertragen möchten.

Neben den Gruppierungsmöglichkeiten für Elemente bietet diese Patch-Generierung über die Schaltfläche Kopie die Möglichkeit, einen einzelnen oder verbundenen Server zu duplizieren.

Die Funktion basiert auf folgendem Prinzip: Ausgabe der Datendictionary-Elemente in einen Ordner sowie Ausgabe der (in der Regel aufgrund des nicht besonders kompakten Formats mengenmäßig beschränkten) (Parametrisierungs)daten. Alle so ausgegebenen Elemente werden in einer Datei archiviert, die mit der Funktion 'Patch-Integration' in einen anderen Ordner übernommen werden kann. Mit diesem Tool wird die Mehrsprachigkeit des Dictionarys verwaltet, wobei die Meldungen zu den gepatchten Elementen in mehrere Sprachen übersetzt werden können.

Jedes ausgegebene Element wird über einen Code für den gepatchten Elementtyp (Maske, Report, Tabellendaten) und über den Code für einen zusätzlichen Informationstyp (Masken- oder Objektcode, Auswahlkriterium) definiert.

Verwendung:

  • Standardentwicklungsteams: zur Anlage von Patches oder für die Auslieferung zusätzlicher Funktionalitäten
  • Partner: zur Installation zusätzlicher Module
  • Entwickler: zur Übertragung spezifischer Fakten

Maskenverwaltung

Erfassungsmaske

Übersicht

In der Erfassungsmaske definieren Sie folgende Informationen:

  • Allgemeine Parameter des Patches
  • Sprachencodes für die Textausgabe
  • Tabellarische Liste der zu patchenden Elemente

Die Erfassung erfolgt in nur einem Register.

Schließen

 

Felder

In diesem Register befinden sich die folgenden Felder :

Datei

  • Feld AW

 

  • Zieltyp (Feld TYPEXP)

 

  • Dateiname (Feld VOLFIL)

 

Patchtyp

  • Patchtyp (Feld TYPPTC)

Der Patchtyp kann folgende Werte annehmen:

  • Standard
    Patch, der für eine bei Integration vorgegebene Liste von Ordnern installiert werden kann. Diese Liste enthält in der Regel den Supervisor-Ordner. In den meisten Fällen (auch bei Spezial- bzw. Vertikalentwicklungen) ist der Standard-Patch der zu verwendende Patch. Die Auslieferung von Spezial- und Vertikalentwicklungen wird nicht über den Patchtyp, sondern über eine Liste von Aktivitätscodes gesteuert, die einer entsprechenden Tabelle zu entnehmen sind.
  • Supervisor
    Der Patch wird lediglich in den Supervisor-Ordner integriert. Dieser Typ wird zur Integration von Prä-Parametrisierungselementen wie Import-/Exportvorlagen, Automatik-Buchungen, Workflowregeln verwendet, die zuvor in den verschiedenen Ordnern geändert worden sein können. Damit vorgenommene Änderungen nicht überschrieben werden, wird nur der Supervisor-Ordner aktualisiert. Bei Anlage eines neuen Ordners sind somit alle Parameterwerte aktuell. Darüber hinaus können nach Verwendung der vorhandenen Vergleichswerkzeuge in jedem Ordner monatliche Aktualisierungskopien durchgeführt werden.
  • Spezifisch
    Ein spezifischer Patch ist ein Standardpatch, mit dem beim Patchen einer Maske spezifische, nicht im Patch vorhandene (SPE)-Aktionen gelöscht werden können. Sie müssen diesen Wert verwenden, um den Namen einer spezifischen Verarbeitung für eine Dictionary-Aktion in den Masken zu ändern. Dies gilt auch für Masken, Objekte, Reports, Formeln und Anzeigen.
    Weitere Informationen finden Sie im detaillierten technischen Anhang.
  • Vertikal
    Ein vertikaler Patch ist ein Standardpatch, mit dem beim Patchen einer Maske vertikale, nicht im Patch vorhandene (SPV)-Aktionen gelöscht werden können. Sie müssen diesen Wert verwenden, um den Namen eines vertikalen Skripts für eine Dictionary-Aktion in den Masken zu ändern. Dies gilt auch für Masken, Objekte, Reports, Formeln und Anzeigen.
    Weitere Informationen finden Sie im detaillierten technischen Anhang.
  • Add-On
    Ist ein Patch für das Add-On. Es ermöglicht das Speichern der Aktionen auf vertikalen Feldern (SPV) und der spezifischen Aktionen (SPE).

Patches, die Dokumentationselemente enthalten, werden auf eine etwas spezielle Art behandelt, wie im entsprechenden Anhang beschrieben.

Tabelle Sprachen

Diese Tabelle gibt die zu patchenden Sprachen an.

Alle Texte im Daten-Dictionary (Code vom Typ ATX) werden in einer separaten Tabelle gespeichert (Tabelle ATEXTE) und sind über eine Nummer identifizierbar (diese Nummer ist für Standardtexte kleiner als 100.000, für andere Texte größer als 100.000). Diese Texte werden per Patch in verschiedene Sprachen übersetzt (die Nummern können sich unterscheiden und werden nicht übersetzt). Der vorliegenden Tabelle ist die Liste aller Sprachen zu entnehmen, in denen Texte integriert werden können.

Blocknummer 6

  • Kommentar (Feld COMMENT)

Mit diesem zu Informationszwecken erfassten Kommentar wird die Patch-Datei beschrieben (bezüglich Zweck und Inhalt). Der Kommentar wird in der Logdatei zur Patch-Integration angezeigt.

Name des Ordners, aus dem die Patchelemente ausgegeben werden.

  • Minimum Release (Feld VERSION)

Durch den Mindestversionscode wird verhindert, dass ein Patch in eine ältere Anwendungsversion intergriert wird.

  • Produkt (Feld PRODUIT)

Dieses Feld identifiziert den Artikel, aus dem der Patch ausgegeben wird. Dieses Feld kann nicht erfasst werden.

Tabelle Objekte

  • Typ (Feld TYPOBJ)

In dieser Tabelle werden die patchbaren Objekte aufgelistet. Die Liste wird über einen Objekttyp und einen Namen beschrieben. Im Anhang findet sich eine Definition der verschiedenen Typen sowie die Beschreibung ihrer Namen.

  • Objektname (Feld NOMOBJ)

Hier wird der Schlüssel des Elements erfasst, dessen Code oder Datenzusatz (im Falle eines Datenpatches) erfasst wurde. Besteht der Schlüssel des zu patchenden Datenblatts aus mehreren Teilen, werden diese mit dem Tilde-Zeichen (~) voneinander getrennt.

  • Bezeichnung (Feld INTITOBJ)

Ermöglicht die Definition einer Bezeichnung für jeden Datensatz.

Tabelle Aktivitätscode

In dieser Tabelle kann eine Liste von speziellen oder vertikalen, mit X, Y oder Z beginnenden Aktivitätscodes erfasst werden.

Soll ein Patch mit Entwicklungen dieser Typen integriert werden, müssen die betroffenen Aktivitätscodes angegeben werden. Dictionary-Elemente, deren Aktivitätscodes nicht aufgelistet sind, werden bei der Patch-Integration übergangen. Diese Vorsichtsmaßnahme ist erforderlich, da sonst Objekte mit spezifischem oder vertikalem Aktivitätscode von Standard-Patches aktualisiert werden könnten. Werden in der Kopfzeile eines Standardpatches keine spezifischen Aktivitätscodes definiert, erfolgt die Verarbeitung nämlich genau auf diese Art.

Die Aktivitätscodes sind also nicht zum Filtern der Patch-Objektausgabe gedacht, sondern zur Markierung der Elemente mit den spezifischen Aktivitätscodes, die bei der Patch-Integration aktualisiert werden. Das Laden der Elemente mit diesen Aktivitätscodes kann über eine Aktion über das Symbol Aktionenauf Ebene der Tabelle, die den Patch-Inhalt definiert, erfolgen.

Schließen

 

Symbol Aktionen

Zwischenladen

Mit dieser Aktion können Sie alle Ordnerelemente mit den in der entsprechenden Tabelle aufgelisteten Aktivitätscodes in die Tabelle laden.

Differenz aktuelles Objekt

Mit dieser Aktion können Sie prüfen, ob die aktuelle Position mit der im anderen Ordner übereinstimmt. Hierfür öffnet sich ein Fenster, in dem die beiden Ordnercodes erfasst werden können. Nach Erfassung der Daten in diesem Fenster wird in einem Logfenster das Ergebnis angezeigt. Wird der Elementname nicht als abweichend erwähnt, sind die beiden Elemente in den verglichenen Ordnern identisch.

Es gibt Objekttypen, zu denen kein Vergleich möglich ist; in diesem Fall wird im Logfenster eine Meldung angezeigt.

Differenz alle Objekte

Mit dieser Aktion können Sie prüfen, ob sämtliche Patchobjekte in den beiden Ordnern übereinstimmen. Hierfür öffnet sich ein Fenster, in dem die beiden Ordnercodes erfasst werden können. Nach Erfassung der Daten in diesem Fenster wird in einem Logfenster das Ergebnis angezeigt.

Parametrisierungsvorlagen

Mit dieser Aktion können Sie eine Parametrisierungsvorlage aufrufen, um eine Liste von Patches vom Typ AAA anzugeben (eine Position pro in der Maske angegebenen Datenmodell).

Im Gegensatz zur Funktionsweise im Rahmen der Funktion 'Kopie Parametrisierung' werden an dieser Stelle lediglich AAA-Positionen generiert (darunter nicht die modellbeschreibende APH-Position). Darüber hinaus wird in diesem Schritt kein Rechtsordnungscode erfasst, und jeglicher Filter auf die Rechtsordnung wäre an dieser Stelle fehl am Platz.

Es ist hingegen möglich, eine AAA-Position für ein einheitliches Datenmodell zu generieren, indem Sie auf Datenmodell über das Symbol Aktionenim Feld Objektnameklicken. Es öffnet sich ein Auswahlfenster, in dem Sie das Modell, die Rechtsordnung, den Schlüssel oder die Auswahlformel auswählen können, um eine Position mit allen Elementen anzulegen.

 

Schließen

 

Patchbare Elementtypen

Diese Tabelle ermöglicht die Erfassung einer Liste der zu patchenden Objekte. Die Liste wird über einen Objekttyp und einen Namen beschrieben. Im Folgenden eine Definition der verschiedenen Typen sowie die Bedeutung ihrer Namen. Die Spalte Rang gibt die Reihenfolge der Elementtypen in der Patchdatei an (siehe Absatz unten). Elemente mit Rangnummer 100in der Tabelle werden stets am Ende des Patches positioniert (alphabetisch nach Elementcode sortiert).

Code

Bedeutung

Name

Rang

AAA

Positionen aus einer Parametrisierungsvorlage

Sonderformat, siehe entsprechenden Absatz

100

ABA

Batch Wiederkehrende Aufgabe

Code Wiederkehrende Aufgabe

46

ABF

Faktentabelle BI

Tabellencode

54

ABG

Aufgabengruppen

Gruppencode

47

ABI

Dimension BI

Dimensionscode

55

ABM

Data Mart BI

Data-Mart-Code

56

ABO

Business Objects-Reports

Reportcode

58

ABT

Batchaufgabe

Aufgabencode

45

ABV

Synchronisationsregel BI

Regelcode

57

ACL

Prüftabelle

Tabellencode

18

ACN

Anzeige

Anzeigecode

36

ACS

Zugriffscodes

Verarbeitet als Bedingung (CODACS = "Wert")

14

ACT

Aktion

Aktionscode

16

ACV

Definition eines Aktivitätscodes

Aktivitätscode

1

ADC

Verarbeitungsbeschreibung (Dictionary)

Verarbeitungsname

9

ADF

Dokumentationslinks

Typ ~ Elementcode

50

ADI

Inhalt einer sonstigen Tabelle

Tabellennummer

24

ADO

Funktionshilfe (alle Absätze)

Typ ~ Hilfecode

49

ADP

Parameter (mit Definition und Wert, sofern auf allgemeiner Ebene vorhanden)

Parametercode

32

ADV

Parametrisierung einer sonstigen Tabelle

Tabellennummer

23

ADX

Verarbeitung (nur in kompilierter Form)

Name der Verarbeitungsdatei

11

ADZ

Feldhilfe

Hilfecode

48

AEN

Verkettung Import / Export

Verarbeitet als Bedingung (CODACC="Wert")

35

AFC

Funktion

Funktionscode

17

AGB

Globale Variable

Variablenname

20

AHH

Hierarchie BI

Hierarchiecode

59

AHI

Leerungsformeln

Formelcode

7

AIIe

Vordefinierte Bedingung FI

Code Bedingung

60

ALH

Abfrager

Abfragecode

51

ALQ

SQL-Abfrager

SQL-Abfragecode

52

ALT

Grafischer Abfrager

Abfragecode

53

AMK

Maske

Maskencode

28

AML

Lokales Menü

Nummer lokales Menü

2

ANG

Navigation

Navigationscode

10

ANM

Definition eines Nummernkreises

Nummernkreiscode

15

ANT

Parameter Widget Netvibes

Objektcode für Widget

65

AOB

Objektdefinition

Objektcode

30

AOE

Import- / Exportvorlage

Vorlagencode

34

AOP

Objekteigenschaften

Objektcode

31

APH

Parametrisierungsvorlagen

Vorlagencode

100

APR

Grafikprozess

Prozesscode

63

ARP

Reportdefinition im Dictionary

Reportcode

29

ASL

Bedingungsstil

Verarbeitet als Bedingung (COD="Wert")

19

ASU

Beschreibung eines Unterprogramms im Dictionary

Name des Unterprogramms

21

ASY

Präsentationsstil

Stilcode

61

ATB

Tabellendefinition (der Inhalt wird nicht übertragen, die Aktualisierung der Struktur erfolgt ohne Verlust der gemeinsamen Daten)

Tabellencode

25

ATN

Transaktionen

Transaktionscode

8

ATY

Datentyp

Typcode

22

AUR

URL

URL-Code

27

AVW

Ansicht

Ansichtscode

26

AWA

Workflow-Regel

Workflow-Regelcode

43

AWE

Webservice

Veröffentlichungsname

64

AWI

Fensterdefinition

Fenstercode

33

AWM

Workflow Datenmodell

Vorlagencode

41

AWR

Workflow Zuweisungsregel

Code Zuweisungsregel

42

AWW

Workflow Parameter Planungsmaske Arbeitsbereich

Code Planungsmaske Arbeitsbereich

44

BIA

BIAR-Objekte

Objektcode

4

ELT

Client-Schnittstellenelement (xsl, Bild, sonstige Datei)

Dateipfad

3

ETA

Report Crystal Reports (Dateierweiterung rpt)

Reportname

13

EXE

Anfrage Verarbeitungsausführung

Verarbeitungsname

6

GAU

Automatik-Buchungen

Belegcode

40

PS1

Statistiktrigger

Triggercode

37

PS2

Statistikcode

Statistikcode

38

TAB

Vollständige Struktur und vollständiger Inhalt einer Tabelle (außer "Dictionary"-Definition).
Beim globalen Patch einer Tabelle handelt es sich um eine Flachdatei-Sicherung dieser Datei: Dies entspricht einer .dat einer Tabellensicherung im SVG-Verzeichnis. Es werden nicht alle Links auf diese Tabelle berücksichtigt, insbesondere nicht die in der Tabelle ATEXTRA enthaltenen übersetzbaren Texte.

Tabellencode

39

TFO

Formeltabelle

Formelcode

62

TRT

Verarbeitungsquelle (Die Verarbeitung wird bei Patch-Installation kompiliert)

Verarbeitungsname

12

TXT

Textdatei (im TXT-Verzeichnis)

Textname

5

Tabellenabkürzung

Teile des Tabelleninhalts

Ausgabebedingung (ausgedrückt als Where-Klausel)

100

Wichtige Hinweise

Vollständige Datenübertragung aus einer Tabelle

Mit dem Code TABkönnen Tabellendaten über ein erneutes Laden der Datenbank mitsamt ihrer Struktur und ihren Daten übertragen werden. Die Dictionary-Elemente dieser Tabelle werden hingegen nicht angelegt, weswegen die Tabelle nicht sichtbar ist. Dieser Code eignet sich also gut zum erneuten Laden einer bereits im zu patchenden Ordner angelegten Tabelle mit unveränderter Struktur. In allen anderen Fällen muss die Patch-Definition um zwei Zeilen ergänzt werden: die erste betrifft die Definition der Tabelle (ATB XXXXX), die zweite den Inhalte (TAB XXXXX). Sollten die beiden Zeilen in umgekehrter Reihenfolge eingegeben werden, werden sie von der Patch-Funktion umgeordnet. Bei Patch-Integration wird die Tabelle im Dictionary und ggf. in der Datenbank angelegt (falls sie dort bereits vorhanden ist, wird ihre Struktur ggf. aktualisiert). Danach wird die Datentabelle erneut geladen.

Teilweise Datenübertragung aus einer Tabelle

Der Inhalt einer Tabelle kann teilweise übertragen werden, wenn in der Spalte 'Typ' die Tabellenabkürzung und in der Spalte 'Name' eine logische Bedingung für die Ausgabe des Ursprungordners und für die Integration in den Zielordner formuliert wird. Wichtiger Hinweis: So ausgegebene Daten können mit den selben Schlüsseln vorhandene Daten verändern oder neue Daten anlegen. Aus Sicherheitsgründen werden aber bei der Patch-Integration niemals Daten gelöscht. So zum Beispiel in der folgenden Situation für die Ländertabelle (Abkürzung TCY):

Ursprungordner

Zielordner

Ländercode

Ländername

Ländercode

Ländername

AD

Andorra

AD

Andorra

AE

Vereinigte Arabische Emirate

AF

Afghanistan

AL

Albanien

AL

Deutschland

AR

Argentinien

AU

Australien

BE

Belgien

BE

Belgien

Wird im Patch eine Zeile mit TCY und der Bedingung CRY="AL" erfasst, enthält der Patch nur die Zeile für Albanien. Bei der Integration der Patches in den Zielordner wird erneut AL geschrieben. Dieses AL steht für Deutschland und ersetzt Albanien.

Wird am Patch eine Zeile mit TCY und der Bedingung (CRY,"A") erfasst, enthält der Patch die vier Zeilen AD, AE, AF und AR. Bei der Integration werden dann die Datensätze AE (Vereinigte Arabische Emirate) und AR (Argentinien) angelegt, AL (Deutschland) durch AL (Albanien) ersetzt und A (Afghanistan) sowie AU (Australien) unverändert gelassen. Letztere wurden noch nicht ausgeliefert, befinden sich aber schon im Zielordner.

Dasselbe gilt für Patches mit einer Zeile mit TCY und der Bedingung (CRY,"AD", "AE", "AL"). Der einzige Unterschied wäre, dass AR (Argentinien) nicht übertragen würde.

Daten können nur wie folgt gelöscht werden:

  • Der Inhalt einer Tabelle wird vollständig ersetzt (Patch vom Typ TAB).
  • Es wird eine EXE-Verarbeitung ausgeliefert (siehe unten). Möchte man sicherstellen, dass in den Ländern mit A lediglich die Länder mit den Codes AD, AE und AL in der Liste bleiben, könnte man eine Verarbeitung mit den (z.B. unter dem Namen MAJPATCHnnn) im obigen Beispiel beschriebenen Zeilen ausliefern.

Ausführung einer Bearbeitung

Ein Sonderfall sollte erwähnt werden: der Code EXE, der es ermöglicht, den Namen einer auszuführenden Verarbeitung oder eines Skripts anzugeben. Trotz seiner Rangnummer wird diese Verarbeitung am Ende der Patch-Integration ausgeführt (sie kann bereits vorher existieren oder mit dem Patch ausgeliefert worden sein).

Die Verarbeitung muss ein PATCH-Unterprogramm mit einem dem Ordnercode entsprechenden Parameter integrieren. Dieses Unterprogramm wird dann ausgeführt. Im obigen Fall erhält man folgendes Programm:

Subprog PATCH(NOMDOS)
Value Char NOMDOS
Local File =NOMDOS+".TABCOUNTRY" [TCU]
Trbegin [TCU]
Delete [TCU] Where pat(CRY,"A*")=1 & find(CRY,"AD","AE","AL")=0
Commit
End

Wie man oben sehen kann, müssen die Tabellen in diesem Unterprogramm unter Berücksichtigung ihrer Deklaration in einem Ordner deklariert werden, auch wenn es sich bei diesem nicht unbedingt um den aktuellen Ordner handeln muss (dies wird durch die Syntax Local File = NOMDOS + ".NOMTABLE" sichergestellt).

Auszuführende generische Bearbeitungen

Werden Patches auf Vorlagenelementen der Benutzerschnittstelle realisiert (Vorlagemasken zur Anlage von Transaktionsfenstern), ist eine erneute Freigabe der betroffenen Masken erforderlich.

Diese erneute Freigabe kann während der Wartung bei Ausführung der entsprechenden Verarbeitung ausgeführt werden. Im Folgenden werden die aufzurufenden Standardverarbeitungen nach Typ des gepatchten Elements beschrieben:

Gepatchtes Element

Aufzurufende
Verarbeitung

Ergebnis

Maske für eine parametrisierbare Anzeige

SUBGTC

Freigabe aller Anzeigemasken

Präsentationsstile

SUBASY

Stilgenerierung

Systemtransaktion

SUBAMI

Freigabe der Systemtransaktionen

Statistik-Parameter

SUBPS2

Erneute Freigabe aller Statistiken

Basismaske einer Transaktion auf Objekt XXX

SUBXXX

Erneute Freigabe der Transaktionen dieses Objekts


Dieser Funktionalitätstyp kann auch spezifisch realisiert werden (hierfür ist lediglich, wie oben beschrieben, das Unterprogramm PATCH hinzuzufügen).

Dokumentationspatch

Die Datenstruktur der Dokumentation ist relativ speziell. Standardmäßig werden bei Anlage und erneuter Freigabe von Ordnern folgende Regeln angewendet:

  • Die Dokumentationstexte und -dateien (Tabellen ADOCBLB und ADOCCLB) werden im Supervisor-Ordner ausgefüllt und nicht in die abhängigen Ordner übertragen (es können jedoch lokale Hilfetexte in einem Ordner angelegt und lokal gespeichert werden).
  • Die Dokumentationsstruktur (Dokumentationslinks, also quasi Dictionary-Elemente, sowie Absatzstruktur) wird in jedem Ordner gespeichert und im Falle einer erneuten Freigabe in die Ordner der niedrigeren Ebenen kopiert (unter Beibehaltung des vertikalen oder spezifischen Aktivitätscodes, der in einem abgeleiteten Ordner hätte definiert worden sein können).

Für Patch-Integrationen vom Typ Doc (Typ ADO), gilt Folgendes:

  • Die Dokumentationsstruktur ist in alle bei Anwendung des Patches aufgelisteten Ordner integrierbar. Dies gilt unabhängig vom Patchtyp (in Abhängigkeit der bei Integration vorgegebenen Ordnerliste).
  • Die Texte und Dateien werden nur bei Patchtyp Supervisor in den Supervisor-Ordner integriert (dies trifft auf die Standard-Dokumentationspatches zu). Bei anderen Patchtypen können Texte und Dateien in alle Ordner integriert werden.
  • Ein Patch vom Typ ADF (Links) ist auch dann in alle Ordner integrierbar, wenn es sich um einen Patch vom Typ Supervisor handelt.

Benennung der Patchdateien

Bei der Patch-Integration wird bei Patchdateien mit numerischer Sequenz im Dateinamen geprüft, ob die Integration der Dateien sequenziell erfolgte. Die Patchdateien sollten in der Form X_yyyy_zzz.dat benannt werden, wobei gilt:

  • X ist ein Zeichen (ungleich P, da P für die Standardpatches verwendet), das den Patchtyp beschreibt.
  • yyyy ist eine sequenzielle Nummer (beginnend mit 0001).
  • zzz steht für die zu integrierende Version.

Entspricht der Dateiname diesem Muster, werden bei Integration von Pachdateien in ein Verzeichnis folgende Prüfungen durchgeführt:

  • Alle integrierten Dateien müssen Patches zur selben Version sein.
  • Es darf keine Sequenznummer übersprungen werden, wenn Patches mit dem gleichen Zeichen und der gleichen Versionsnummer bereits integriert wurden. Beispiel: Wurde Patch Z_0005_150.dat bereits integriert und soll nun Z_0007_150.dat integriert werden, wird bei der Integration eine Fehlermeldung ausgegeben.

Reihenfolge der Elemente in einer Patchdatei

Bei Anlage einer Patchdatei müssen die darin enthaltenen Patchelemente so gewählt werden, dass der Ordner kohärent bleibt. Wird beispielsweise per Patch eine neue Funktion angelegt, muss der Patch auch alle zugehörigen Elemente wie Fenster, Maske, Tabelle und / oder Verarbeitungen enthalten.

Um Fehler bei der Integration zu vermeiden, werden die Patchelemente von der Patch-Anlagefunktion in eine bestimmte Reihenfolge gebracht. So wird beispielsweise beim Versuch, ein Fenster vor den zugehörigen Masken zu integrieren, bei der Freigabe die Fehlermeldung Maske nicht vorhanden ausgegeben. So müssen vor den Masken und Tabellen immer zunächst die Datentypen integriert werden, vor den Fenstern die Masken etc.

Die bei der Patchgenerierung zu beachtende Reihenfolge ist dabei der nachstehenden Tabelle zu entnehmen. Diese Reihenfolge wird auch von der Funktion Automatischer Patch vorgeschlagen.

Jedoch können dennoch immer wieder Probleme auftreten - eine völlig konfliktfreie Reihenfolgendefinition ist nicht möglich. Beispielsweise kann ein Datentyp eine Aktion referenzieren, diese Aktion kann ein Fenster referenzieren, das wiederum eine Maske referenzieren kann, der genau diesen Datentyp referenzieren kann. Um solche (seltenen) Konflikte aufzulösen, kann es erforderlich sein, die Patchdatei in zwei Dateien aufzuteilen. Die erste lieferte dabei alle Elemente mit einem die Aktion nicht referenzierenden Datentyp, die zweite den Datentyp der Aktion.

Nicht gepatchte Dictionary-Elemente

Wenn Sie einen Patch mit Dictionary-Elementen installieren, werden bestimmte Felder als parametrisierbare Dictionary-Elemente betrachtet. Sie bleiben auch über den Schutz durch ihren Aktivitätscode hinaus unverändert. Dies gilt z.B. für das Standardempfängerkonto in einem Report.

Diese geschützten Felder sind im Technischen Anhang aufgeführt.

Sonderformat der AAA-Elemente

Ein Patch vom Typ AAA entspricht einer Position aus einer Parametrisierungsvorlage. Für den Elementcode benutzt diese Position ein spezielles Format. Hierbei handelt es sich um eines der beiden folgenden Formate:

MODELE~CODE_LEG~CODE_TRS~='FORMULE_SELECTION'

MODELE~CODE_LEG~CODE_TRS~CLE~SOUS_CLE~SOUS_SOUS_CLE...

In diesen Zeilen:

  • entspricht MODELE dem Datenmodell, das zur Beschreibung der auszugebenden Tabellen verwendet wird
  • entspricht CODE_LEG dem möglicherweise leeren Rechtsordnungscode (es können zwei aufeinander folgende ~ vorhanden sein)
  • entspricht CODE_TRS dem möglicherweise leeren Transaktionscode
  • entspricht FORMULE_SELECTION einer Filterbedingung. Da die Formel 'in einfachen Anführungszeichen' eingeschlossen wird, müssen Zeichenketten in "doppelten Anführungszeichen" eingeschlossen werden.
  • entspricht CLE~SOUS_CLE~SOUS_SOUS_CLE dem Sonderfall, wenn lediglich ein Schlüsselwert zur Haupttabelle des Modells gewählt werden soll (die Anzahl von Unterschlüsseln ist nicht fest). Dieser Typ ist nur dann möglich, wenn ein Modell (Code AAA) aus der Patchanlage aufgerufen wird, und wenn außerdem das Fenster zur Modellauswahl geöffnet und dort der Schlüssel per Direktsuche erfasst wird.

Reports

Standardmäßig sind der Funktion folgende Reports zugeordnet :

 PRTSCR : Druck Maske

Dies kann durch geeignete Parameter geändert werden.

Batchaufgabe

Diese Funktion kann im Batch gestartet werden,. Zu diesem Zweck ZPATCHC ist die Standardaufgabe vorgesehen.

Spezifische Aktionen

Mit dieser Funktion kann die in der Patchdatei enthaltene Elementliste abgerufen werden, um diese ggf. zu ergänzen und eine neue Patchdatei anzulegen. Im Fenster, das sich öffnet, kann die zu lesende Patchdatei ausgewählt werden.

Fehlermeldungen

Während der Erfassung können außer den generischen Meldungen folgende Fehlermeldungen auftreten: :

…. : Verzeichnis existiert nicht

Der Zugriffspfad auf die Patchdatei existiert nicht

Objekttyp nicht korrekt

Der Objekttyp entspricht weder einem vordefinierten Objekttyp, noch der Abkürzung einer vorhandenen Tabelle.

XXXX Kein Dictionary vorhanden.

Es wurde versucht, Daten aus einem nicht vorhandenen Dictionary auszugeben.

Wert nicht korrekt

Die Ausgabebedingung für die Ausgabe von Tabellendaten ist syntaktisch nicht korrekt.

Verwendete Tabellen

SEEREFERTTO Siehe Dokumentation Umsetzung