Anhang : Transformationen (Parameterdatei)
  
Transformationen (Parameterdatei)
<Transformation> ist der äußerste Tag im Parameterfile und muß immer vorhanden sein.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
</Transformation>
Variablen
Während der Programmausführung sind bestimmte Werte gesetzt durch
den angemeldeten Anwender
die Funktion der Software
die verwendete Datenbank
die ausgeführte Transformation
 
Auf diese Werte kann während der Ausführung einer Transformation über sogenannte Applikationsvariablen zugegriffen werden.
Transformationsvariablen
Diese Variablen beziehen sich auf die aktuell laufende Transformation:
Variable
Datentyp
Beschreibung
&appl_jobprotokollid&
Number
ID des Jobprotokolls der Transformation wird ersetzt
&appl_rptname&
String
Namen der Transformation wird ersetzt
&appl_rpttitel&
String
sprachabhängigen Namen der Transformation wird ersetzt
&appl_stammid&
Number
ID des aktuell angewählten Stammdatensatzes wird ersetzt
&appl_ansprechid&
Number
ID des ausgewählten Ansprechpartners des aktuell angewählten Stammdatensatzes ersetzt
Anwenderspezifische Variablen
Diese Variablen beziehen sich auf den angemeldeten Anwender, der die Transformation ausführt:
Variable
Datentyp
Beschreibung
&appl_userid&
Number
ID des Anwenders
&appl_userhistnr&
Number
HISTNR des Anwenders
&appl_usermanr&
String
Mitarbeiternummer des Anwenders
&appl_usermanrzus&
String
Mitarbeiternummernzusatz des Anwenders
&appl_usersprachid&
Number
Sprachcode des Anwenders z.B. 49 für Deutsch
&appl_usergroups&
String
zugeordnete Gruppen des Anwenders z.B. (1,2,3)
&appl_uservertrieb&
String
zulässige Vertriebswege des Anwenders z.B. (1,2)
&appl_usertelefon&
String
Telefonnummer des Anwenders
&appl_username&
String
Name des Anwenders
&appl_userfax&
String
Faxnummer des Anwenders
&appl_usermobile&
String
Handynummer des Anwenders
&appl_useremail&
String
Emailadresse des Anwenders
&appl_userhomepage&
String
Homepage des Anwenders
Datum-, Zeitvariablen
Datum- und Zeitvariablen unter Berücksichtigung der Datenbankspezifika:
Variable
Datentyp
Beschreibung
&appl_year&
Number
aktuelle Jahr als vierstellige Zahl, YYYY z.B. 2012
&appl_month&
Number
aktueller Monat als zweistellige Zahl, MM z.B. 12
&appl_day&
Number
aktueller Tag als zweistellige Zahl, DD z.B. 31
&appl_aktdate_iso&
String
aktuelles Datum im ISO-Format, YYYY-MM-DD z.B. 2012-12-31
&appl_aktdate_german&
String
aktuelles Datum in deutschem Format, DD.MM.YYYY z.B. 31.12.2012
&appl_akttime24&
String
aktuelle Zeit in 24-Stunden-Format, HH:MM:SS z.B. 19:25:30
&appl_dblowdate&
String
Lowdate in ISO-Format, 0001-01-01
&appl_dbaktdate&
String
aktuelles Datum in ISO-Format, 2012-12-31
&appl_dbhighdate&
String
Highdate in ISO-Format, 9999-12-31
Datenbankvariablen
Auf folgende Informationen und Datenbankfunktionen kann zugegriffen werden:
Variable
Datentyp
Beschreibung
&appl_mandantid&
Number
ID des Mandanten ersetzen
&appl_maindbschema&
String
Name des Datenbankschemas
„&appl_Sq_" + Sequencer + „_Sq&
String
liefert den String für den Sequencer, z.B. Oracle = TbFgJobProtokoll_Id.Nextval
 
Anwendungsbeispiel:
“Applikationsvariablen” auf Seite 344
Dialog (optional)
Den Tag <dialog> dürfen Sie innerhalb des Tags <Transformation> nur einmal verwenden. Über diesen Tag können Sie einen Dialog definieren über den der Anwender vor der Ausführung der Verarbeitung, des Exports oder Reports zusätzliche Selektionskriterien eingeben kann. Auf die Werte dieser Dialogelemente können Sie innerhalb der SQL-Statements zugreifen indem Sie die varID in „&" stellen.
 
Die einzelnen Dialogvariablen werden im fachlichen Jobprotokoll mit ihrem Namen und dem von Anwender eingegebnenen oder ausgewählten Wert ausgegeben. Im technischen Jobprotokoll werden die Dialogvariablen mit allen Parametern, wie Schlüssel etc. ausgegeben.
 
Anwendungsbeispiele
“Dialogvariablen” auf Seite 342
“Applikationsvariablen” auf Seite 344
 
Achtung: Wenn ein Dialog definiert wurde, kann diese Transformation nicht mehr im Batchmodus ausgeführt werden.
_
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<dialog>
___</dialog>
</Transformation>
dlgvar (optional)
Den Tag </dlgvar> können Sie innerhalb des Tags <dialog> beliebig oft verwenden. Über ihn definieren Sie die einzelnen Dialogelemente.
 
Eine Dialogelement wird definiert durch:
varID = Name der Variable
varTYPE = Typ der Variable, folgende Typen sind zulässig:
“dlgvar (String)” auf Seite 315)
“dlgvar (Number)” auf Seite 315
“dlgvar (Date)” auf Seite 317
“dlgvar (StringList)” auf Seite 317
“dlgvar (StringListWithKey)” auf Seite 319
“dlgvar (SqlStringListWithKey)” auf Seite 320
“dlgvar (DialogList)” auf Seite 321
varTITEL = Titel der Variable
varLBLWIDTH = Breite des Labels in Pixel
varEDITWIDTH = Breite des Editfeldes in Pixel
varEDITROW = Reihenfolge für die Anzeige der Dialogfelder auf dem Dialog
 
Diese Dialogelemente werden in einen Vector ausgelesen, der wiederum pro Dialogelement einen Vector enthält, der folgende Einträge beinhaltet:
varID = alle Variablentypen
varTYPE = alle Variablentypen
varTITEL = alle Variablentypen
varLBLWIDTH = alle Variablentypen, Breite des Labels in Pixel
varEDITWIDTH = alle Variablentypen, Breite des Editfeldes in Pixel
varLEN = String, Number
varDEC = Number
varDATA = Stringlist
varKEY = StringlistWithKey
varSQL = Dialoglist
varCOLNAMES = Dialoglist
varCOLVISIBLE = Dialoglist
varCOLWIDTH = Dialoglist
varCOLHEADER = Dialoglist
dlgvar (String)
Mit diesen Argumenten am Tag </dlgvar> erstellen Sie auf dem Dialog ein Editfeld, in das Text eingegeben werden kann.
 
erforderliche Definitionstags:
varLEN gibt die Länge des Editfeldes in Columns an
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
<dialog>
<dlgvar varID="var01"
varType="String"
varTITEL="StringVariable
varLBLWIDTH="125"
varEDITWIDTH="200">
<varLEN>10</varLEN>
</dlgvar>
</dialog>
</Transformation>
dlgvar (Number)
Mit diesen Argumenten am Tag </dlgvar> erstellen Sie auf dem Dialog ein Editfeld, in dem ausschließlich numerische Werte erfasst werden können.
 
erforderliche Definitionstags:
varLEN gibt die Länge des numerischen Feldes in Columns an
varDEC gibt die Anzahl der Dezimalstellen an
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
<dialog>
<dlgvar varID="var02"
varType="String"
varTITEL="NumberVariable"
varLBLWIDTH="125"
varEDITWIDTH="200">
<varLEN>10</varLEN>
<varDEC>2</varDEC>
</dlgvar>
</dialog>
</Transformation>
dlgvar (Date)
Mit diesen Argumenten am Tag </dlgvar> erstellen Sie auf dem Dialog ein Datumsfeld mit Datumsauswahl.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
<dialog>
<dlgvar varID="var03"
varType="Date"
varTITEL="DateVariable"
varLBLWIDTH="125"
varEDITWIDTH="200">
</dlgvar>
</dialog>
</Transformation>
dlgvar (StringList)
Mit diesen Argumenten am Tag </dlgvar> erstellen Sie auf dem Dialog eine Listbox mit Stringwerten.
 
Mögliche Rückgabewerte:
der ausgewählte String
die Listenposition, wenn der Variablenname mit „_LISTPOS" endet
 
erforderliche Definitionstags:
varDATA für das Stringarray innerhalb von CDATA
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
<dialog>
<dlgvar varID="var04"
varType="StringList"
varTITEL="StringListVariable"
varLBLWIDTH="125"
varEDITWIDTH="200">
<varDATA><![CDATA[{"Wert1","Wert2","Wert3"}]]></varDATA>
</dlgvar>
</dialog>
</Transformation>
dlgvar (StringListWithKey)
Mit diesen Argumenten am Tag </dlgvar> erstellen Sie auf dem Dialog eine Listbox mit Stringwerten.
 
Mögliche Rückgabewerte:
der ausgewählte String
die Listenposition, wenn der Variablenname mit „_LISTPOS" endet
der Listenkey, wenn der Variablenname mit „_LISTKEY" endet
 
erforderliche Definitionstags:
varDATA für das Stringarray innerhalb von CDATA
varKEYS für das Numberarray innerhalb von CDATA
 
Achtung: Die Anzahl der Arrayelemente in varDATA muß exakt mit der Anzahl der Arrayelemente in varKEYS übereinstimmen.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
<dialog>
<dlgvar varID="var05"
varType="StringListWithKey"
varTITEL="StringListVariableWithKey"
varLBLWIDTH="125"
varEDITWIDTH="200">
<varDATA><![CDATA[{"Wert1","Wert2","Wert3"}]]></varDATA>
<varKEYS><![CDATA[{"Key1","Key2","Key3"}]]></varKEYS>
</dlgvar>
</dialog>
</Transformation>
dlgvar (SqlStringListWithKey)
Mit diesen Argumenten am Tag </dlgvar> erstellen Sie auf dem Dialog eine Listbox mit Stringwerten. Die Bestückung der Listbox mit Werten erfolgt über ein SQL-Statement.
 
Mögliche Rückgabewerte:
der ausgewählte String
die Listenposition, wenn der Variablenname mit „_LISTPOS" endet
der Listenkey, wenn der Variablenname mit „_LISTKEY" endet
 
erforderliche Definitionstags:
varSQLDATA SQL-Statement für die Datenbeschaffung für die Listbox.
1. Column muß als String mit Namen varSTRDATA geliefert werden
2. Column muß als Number mit Namen varNUMKEYS geliefert werden
varLISTPOST gibt die Position des Cursor innerhalb der Listbox nach dem Laden an. Die Zählung beginnt mit 0
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
<dialog>
<dlgvar varID="var06"
varType="SqlStringListWithKey"
varTITEL="SqlStringListVariableWithKey"
varLBLWIDTH="125"
varEDITWIDTH="200">
<varSQLDATA>
<![CDATA[select ??? as varSTRDATA,
??? as varNUMKEYS
________________ from TableName
_________________ where ???
_________________ _order by ???]]>
</varSQLDATA>
<varLISTPOS><![CDATA[0]]></varLISTPOS>
</dlgvar>
</dialog>
</Transformation>
dlgvar (DialogList)
Dieser Dialogvariablentyp wird erst in einer späteren Version realisiert.
 
Mit diesen Argumenten am Tag </dlgvar> erstellen Sie auf dem Dialog eine Liste von Werten und Matchcode für die Suche. Die Bestückung der Liste mit Werten erfolgt über ein SQL-Statement.
 
erforderliche Definitionstags:
varSQL SQL-Statement für die Datenbeschaffung
varColName Stringarray mit den Namen der Columns für das
Oberflächengrid
varColVisible Boolarray mit den Kennzeichen für die
Sichtbarkeit der Columns auf dem
Oberflächengrid
varColWidth Numberarray für die Breite der Columns.
Die Breiten der unsichtbaren Columns sind jeweils
mit 0 anzugeben
varColHeader Namen für die Columns für die Überschriften des
Oberflächengrid.
Die Namen der unsichtbaren Columns sind jeweils
mit mindestens „ „ anzugeben
 
Die Anzahl der Arrayelemente in varColVisible, varColWidth und varColHeader muß mit der Anzahl in varColName übereinstimmen.
_
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
<dialog>
<dlgvar varID="var07"
varType="DialogList"
varTITEL="DialogList"
varLBLWIDTH="125"
varEDITWIDTH="200">
<varSQL><![CDATA[SQL-Statment]]></varSQL>
<varColNames>
<![CDATA[{"ColName1","ColName2"}]]>
</varColNames>
<varColVisible>
<![CDATA[{false,true}]]>
</varColVisible>
<varColWidth>
<![CDATA[{0, 100}]]>
</varColWidth>
<varColHeader>
<![CDATA[{"ColHead1","ColHead2"}]]>
</varColHeader>
</dlgvar>
</dialog>
</Transformation>
Dialog des Anwenderreports
Das nachfolgende Bild zeigt Ihnen den Dialog für den Report der Anwender mit Gruppenzuordnung und den daraus resultierenden Zugriffsrechten.
Dieser Report ist im Lieferumfang des enthalten. Er wird benutzt, um zu dokumentieren, welcher Anwender, welchen Anwendergruppen zugeordnet ist und welche Rechte daraus resultieren.
Definition
<Transformation>
<dialog>
<dlgvar varID="dlgUserNameVon"
varType="SqlStringListWithKey"
varTITEL="von Anwendername:"
varLblWidth="125" varEditWidth="200">
______ <varSQLDATA>
______ <![CDATA[select uidname as varSTRDATA,
______ id as varNUMKEYS
______ from TbFgUser
______ where status = 2
______ order by uidname]]>
______ </varSQLDATA>
______ <varLISTPOS><![CDATA[0]]></varLISTPOS>
</dlgvar>
<dlgvar varID="dlgUserNameBis"
varType="SqlStringListWithKey"
varTITEL="bis Anwendername:"
varLblWidth="125"
varEditWidth="200">
______ <varSQLDATA>
______ <![CDATA[select uidname as varSTRDATA,
______ id as varNUMKEYS
______ from TbFgUser
______ where status = 2
______ order by uidname]]>
______ </varSQLDATA>
______ <varLISTPOS><![CDATA[0]]></varLISTPOS>
</dlgvar>
</dialog>
<Transformation>
 
globalVars (optional)
Manchmal ist es notwendig, Werte die innerhalb eines <stmt>-Tags ermittelt wurden in einem andern <stmt>-Tag weiter zu verarbeiten.
 
Aus diesem Grund wurde der Tag <globalvars> geschaffen.
 
Dieses Tag, das innerhalb eines Parameterfiles nur einmal verwendet werden darf und vor dem ersten <stmt>-Tag stehen muss, gibt Ihnen die Möglichkeit globale Variablen zu definieren.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<globalvars>
___</globalvars>
</Transformation>
globalvar (optional)
Tag für die Defintion eines Parameters. Innerhalb des <globalvars>-Tags können beliebig viele Parameter definiert werden. Auf die einzelnen Variablen kann innerhalb eines <stmt>-Tags zugegriffen werden, indem der parNAME zwischen &-Zeichen gestellt wird.
 
Eine <globalvar>-Tag wird definiert durch:
parNAME = Name der Variable
parDATATYPE = Datentyp der Variable, zulässig sind:
String
Integer
Long
Double
Date
Timestamp
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<globalvars>
______<globalvar parNAME="par01" parDATATYPE="String">
______</globalvar>
______<globalvar parNAME="par02" parDATATYPE="Integer">
______</globalvar>
___</globalvars>
</Transformation>
stmt (notwendig)
Diesen Tag dürfen Sie nicht schachtel. Sie können ihn jedoch innerhalb eines Parameterfiles beliebig oft verwenden.
 
Eine <stmt>-Tag wird definiert durch:
stmtID = Bezeichnung des Statements
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
___</stmt>
</Transformation>
parcols (optional)
Damit Sie Daten innerhalb eines <stmt>-Tag zwischen <sql>-Tags austauschen können, wurde dieser Tag geschaffen. Hier können Sie z.B. die Parameter definieren die bei verschachtelten SQL-Statements in der WHERE-Klausel benutzt werden.
Dieser Tag kann pro <stmt>-Tag nur einmal vorkommen und muß vor dem <sql>-Tag definiert werden.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<parcols>
______</parcols>
___</stmt>
</Transformation>
parcol (optional)
Tag für die Defintion eines Parameters. Innerhalb des <parcols>-Tags können beliebig viele Parameter definiert werden. Auf die einzelnen Variablen kann innerhalb eines <stmt>-Tags zugegriffen werden, indem der parNAME zwischen &-Zeichen gestellt wird.
 
Anwendungsbeispiele
“geschachteltes SQL” auf Seite 341
“Dialogvariablen” auf Seite 342
“Applikationsvariablen” auf Seite 344
 
Eine parcol - Tag wird definiert durch:
parNAME = Name der Variable
parDATATYPE = Datentyp der Variable, zulässig sind:
String
Integer
Long
Double
Date
Timestamp
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<parcols>
_________<parcol parNAME="par01" parDATATYPE="String">
_________</parcol>
_________<parcol parNAME="par02" parDATATYPE="Integer">
_________</parcol>
______</parcols>
___</stmt>
</Transformation>
sqls (notwendig)
Der Tag <sqls> enthält die SQL-Statements. Pro <stmt>-Tags dürfen Sie nur einen <sqls>-Tag verwenden.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<parcols>
_________<parcol parNAME="par01" parDATATYPE="String">
_________</parcol>
_________<parcol parNAME="par02" parDATATYPE="Integer">
_________</parcol>
______</parcols>
______<sqls>
______</sqls>
___</stmt>
</Transformation>
sql (notwendig)
Innerhalb eines <sqls>-Tags können Sie beliebig viele <sql>-Tags definieren. Ein <sql>-Tags kann auch innerhalb eines anderen <sql>-Tags definiert werden, was dazu führt, daß das SQL-Statement des übergeordneten <sql>-Tags als Schleife ausgeführt wird.
 
Ein <sql>-Tag wird definiert durch:
sqlID = Bezeichnung des SQL-Statements
sqlLOG = Kennzeichen für Protokollierung
YES = bei jeder Ausführung protokollieren
NO = nur im Fehlerfall protokollieren
sqlCONN = Name der Connection gegen die dieses Statement ausgeführt werden soll. (One, Two, Three, Four, ...) Die Anzahl der möglichen Connections hängt davon ab, wie viele definiert wurden. Die Definition der Datenbankconnections erfolgt über den entsprechenden Dialog in der Configuration.
sqlTAG = Bei Report- und Exporttransformationen muss ein sqlTAG angegeben werden. Dieses Tag umschließt in der XML-Datei die Ausgabe des SQL-Statements.
Wird das sqlTAG=“NoOutput“ angegeben, so werden die Ergebnisse des SQL-Statements unterdrückt, d.h. nicht in die XML-Datei ausgegeben.
Das SQL-Statement oder weitere Befehle müssen immer innerhalb CDATA stehen.
 
Beispiel: einfaches SQL
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="Bezeichnung des SQL-Statements"
_________ sqlLOG="NO"
_________ sqlCONN="One">
_________ <![CDATA[select ???
_________ from ???
_________ where ???]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
CreatePdf (optional)
Diesen Tag dürfen Sie nur bei Berichtstransformationen verwenden. Dieser Tag wurde eingeführt, damit große PDF Dokumente in Einzelteilen erzeugt werden können und dadurch die Speicherauslastung auf dem Server reduziert wird.
 
Wenn Sie innerhalb eines <sql>-Tags CreatePdf verwenden, wird die Verarbeitung an dieser Stelle unterbrochen und aus den bis dahin erzeugten Daten eine PDF-Datei erzeugt.
 
Wird dies in einer Schleife ausgeführt, werden anschließend die einzelnen PDF Dateien zu einer Gesamt Datei zusammengefügt.
 
Durch diese Verfahrensweise kann zum Beispiel ein PDF Dokument erzeugt werden, das die Abrechnungen sämtlicher Vertriebsmitarbeiter enthält und bei jedem Vertriebsmitarbeiter wieder mit Seite eins beginnt.
 
Achtung: sqlTAG ist hier auf NoOutput zu setzen.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="Pdf erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
sqlTAG="NoOutput"
_________ <![CDATA[CreatePdf]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
CreateExcelLayout (optional)
Diesen Tag dürfen Sie nur bei Exporttransformationen verwenden. Dieser Tag wurde eingeführt, damit Exceltabellen unter zu Hilfe nahme einer Layoutdatei in Excel erstellt werden können.
 
Wenn Sie innerhalb eines <sql>-Tags CreateExcelLayout verwenden, wird die Verarbeitung an dieser Stelle unterbrochen und aus den bis dahin erzeugten Daten und der hinterlegten Layoutdatei eine Excel-Datei erzeugt.
 
Achtung: sqlTAG ist hier auf NoOutput zu setzen.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________ <sql sqlID="ExcelPdf erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
sqlTAG="NoOutput"
_________ <![CDATA[CreateExcelLayout]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
SaveToFileSystem (optional)
Mit diesem Tag können Sie bei Report- und Exporttransformationen die erstellte Datei direkt auf dem Dateisystem ablegen.
 
Wenn Sie innerhalb eines <sql>-Tags SaveToFileSystem verwenden, wird die Verarbeitung an dieser Stelle unterbrochen und die erstellte Datei auf dem Dateisystem abgelegt.
 
Achtung: Dieses Tag kann nur im Anschluss an die Tags CreatePdf und CreateExcelLayout verwendet werden. sqlTAG ist hier auf NoOutput zu setzen.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="SaveToFileSystem erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
sqlTAG="NoOutput"
_________ <![CDATA[SaveToFileSystem; Datei mit Pfadangaben]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
SaveToDatabase (optional)
Mit diesem Tag können Sie bei Report- und Exporttransformationen die erstellte Datei direkt in einer Datenbanktabelle ablegen.
 
Wenn Sie innerhalb eines <sql>-Tags SaveToDatabase verwenden, wird die Verarbeitung an dieser Stelle unterbrochen und die erstellte Datei direkt in der Tabelle gespeichert.
 
Achtung: Dieses Tag kann nur im Anschluss an die Tags CreatePdf und CreateExcelLayout verwendet werden. sqlTAG ist hier auf NoOutput zu setzen.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="SaveToDatabase erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
sqlTAG="NoOutput"
_________ <![CDATA[SaveToDatabase;
Tablename;
FkTableId;
ContentName
]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
SaveToSharepoint (optional)
Mit diesem Tag können Sie bei Report- und Exporttransformationen die erstellte Datei direkt auf einem Sharepointserver ablegen.
 
Wenn Sie innerhalb eines <sql>-Tags SaveToSharepoint verwenden, wird die Verarbeitung an dieser Stelle unterbrochen und die erstellte Datei direkt in der Tabelle gespeichert.
 
Achtung: Dieses Tag kann nur im Anschluss an die Tags CreatePdf und CreateExcelLayout verwendet werden. sqlTAG ist hier auf NoOutput zu setzen.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="SaveToSharepoint erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
sqlTAG="NoOutput"
_________ <![CDATA[SaveToSharepoint; Datei mit Pfadangaben]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
SendFileAsEmail (optional)
Mit diesem Tag können Sie bei Report- und Exporttransformationen die erstellte Datei direkt an eine Emailadresse verschicken.
 
Wenn Sie innerhalb eines <sql>-Tags SendFileAsEmail verwenden, wird die Verarbeitung an dieser Stelle unterbrochen und die erstellte Datei direkt in der Tabelle gespeichert.
 
Achtung: Dieses Tag kann nur im Anschluss an die Tags CreatePdf und CreateExcelLayout verwendet werden. sqlTAG ist hier auf NoOutput zu setzen.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="SendFileAsEmail erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
sqlTAG="NoOutput"
_________ <![CDATA[SendFileAsEmail;
Empfängeremail;
Betreff;
Text;
Tabellenname-Id-Histnr
]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
ChangeClientFileName (optional)
Mit diesem Tag können Sie bei Report- und Exporttransformationen den Namen für die Ausgabedatei ändern.
 
Wenn Sie innerhalb eines <sql>-Tags ChangeClientFileName verwenden, wird die Verarbeitung an dieser Stelle unterbrochen und der Name für die Ausgabedatei wird geändert.
 
Achtung: sqlTAG ist hier auf NoOutput zu setzen.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="ChangeClientFileName erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
sqlTAG="NoOutput"
_________ <![CDATA[ChangeClientFileName; Name der Datei]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
 
Analog dazu gibt es das Tag ChangeServerFileName. Dieses Tag macht prinzipiell das Gleiche wie das Tag ChangeClientFileName jedoch nur dann, wenn als Zielpfad ein Pfad auf dem Server ausgewählt wurde.
FachProt (optional)
Da Parameterfiles auch für Datenimporte und -exporte verwendet werden, können diese sehr umfangreich werden.
 
Aus diesem Grund werden Sie sicherlich an vielen Stellen Informationen an die Fachabteilung ausgeben wollen.
 
Um das zu ermöglichen, wurde innerhalb des <sql>-Tags der Punkt Fachprot implementiert.
 
Über diesen Punkt können Sie jede gewünschte Information in das Fachprotokoll schreiben, das anschließend über die Oberfläche der Software eingesehen, exportiert und ausgedruckt werden kann.
 
Der Text innerhalb CDATA muss mit „Fachprot“ + „;“ beginnen.
Danach können folgende Typen verwendet werden:
Start, wird im Protokoll als Start in blau ausgegeben
Info, wird im Protokoll als Information in schwarz ausgegeben
InfoFixed, wird im Protokoll als Information in schwarz und mit fester Zeichenbreite ausgegeben
Warn, wird im Protokoll als Warnung in orange ausgegeben
WarnFixed, wird im Protokoll als Warnung in orange und mit fester Zeichenbreite ausgegeben
Error, wird im Protokoll als Fehler in rot ausgegeben
ErrorFixed, wird im Protokoll als Fehler in rot und mit fester Zeichenbreite ausgegeben
Result, wird im Protokoll als Ergebnis in grün ausgegeben
ResultFixed, wird im Protokoll als Ergebnis in grün und mit fester Zeichenbreite ausgegeben
Sql, wird im Protokoll als Sql-Statement in schwarz ausgegeben
SqlFixed, wird im Protokoll als Sql-Statement in schwarz und mit fester Zeichenbreite ausgegeben
Finish, wird im Protokoll als Ende in blau ausgegeben
 
Hinter dem Typ muss ein „;“ stehen. Danach können Sie die Information ausgeben.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="Pdf erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
_________ <![CDATA[FachProt; Info; für Fachabteilung]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
TechProt (optional)
Da Parameterfiles auch für Datenimporte und -exporte verwendet werden, können diese sehr umfangreich werden.
 
Aus diesem Grund werden Sie sicherlich an vielen Stellen Informationen an die Technik ausgeben wollen.
 
Um dies zu ermöglichen, wurde innerhalb des <sql>-Tags der Punkt Techprot implementiert.
 
Über diesen Punkt können Sie jede gewünschte Information in das technisch Protokoll schreiben, das anschließend über die Oberfläche der Software eingesehen, exportiert und ausgedruckt werden kann.
 
Der Text innerhalb CDATA muss mit „Techprot“ + „;“ beginnen.
Danach können folgende Typen verwendet werden:
Start, wird im Protokoll als Start in blau ausgegeben
Info, wird im Protokoll als Information in schwarz ausgegeben
InfoFixed, wird im Protokoll als Information in schwarz und mit fester Zeichenbreite ausgegeben
Warn, wird im Protokoll als Warnung in orange ausgegeben
WarnFixed, wird im Protokoll als Warnung in orange und mit fester Zeichenbreite ausgegeben
Error, wird im Protokoll als Fehler in rot ausgegeben
ErrorFixed, wird im Protokoll als Fehler in rot und mit fester Zeichenbreite ausgegeben
Result, wird im Protokoll als Ergebnis in grün ausgegeben
ResultFixed, wird im Protokoll als Ergebnis in grün und mit fester Zeichenbreite ausgegeben
Sql, wird im Protokoll als Sql-Statement in schwarz ausgegeben
SqlFixed, wird im Protokoll als Sql-Statement in schwarz und mit fester Zeichenbreite ausgegeben
Finish, wird im Protokoll als Ende in blau ausgegeben
 
Hinter dem Typ muss ein „;“ stehen. Danach können Sie die Information ausgeben.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="Pdf erzeugen"
_________ sqlLOG="NO"
_________ sqlCONN="One">
_________ <![CDATA[TechProt; Info; für IT-Betrieb]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
Subtransformationen
Damit Sie einzelne Funktionalitäten, die sie bereits in einem Parameterfile definiert und getestet haben, wieder verwenden können, wurde die Möglichkeit geschaffen Transformationen zu schachtel.
 
Wird eine Transformation in einer anderen eingebunden, so werden aus dem untergeordneten Parameterfile die <stmt>-Tags mit ihren Inhalten an dieser Stelle in das übergeordnete Parameterfile eingefügt.
 
Danach wird die Transformation ausgeführt, als wäre sie in einem einzigen Parameterfile definiert gewesen.
 
Der Text innerhalb CDATA muss mit „SubTransformation-“ beginnen und danach die ID der einzubindenden Transformation enthalten. Die ID der jeweiligen Transformation wir in den Dialogen der Transformationen angezeigt.
 
Im nachfolgenden Screenshot durch das rote Viereck markiert.
 
Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<sqls>
_________<sql sqlID="Subtransformation einbinden"
_________ sqlLOG="NO"
_________ sqlCONN="One">
_________ <![CDATA[SubTransformation-400019]]>
_________<sql>
______</sqls>
___</stmt>
</Transformation>
Beispiele
geschachteltes SQL
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
___<stmt stmtID="Bezeichnung des Statements">
______<parcols>
_________<parcol parNAME="par01" parDATATYPE="String">
_________</parcol>
_________<parcol parNAME="par02" parDATATYPE="Integer">
_________</parcol>
______</parcols>
______<sqls>
_________<sql sqlID="Äußeres SQL-Statements"
_________ sqlLOG="NO"
_________ sqlCONN="One">
____________<![CDATA[select ??? as par01, ??? as par02
______________________from ???
_____________________where ???]]>
_________ <sql sqlID="Inneres SQL-Statements"
_________ sqlLOG="NO"
_________ sqlCONN="One">
_________ <![CDATA[select ??? as par01, ??? as par02
_________________________from ???
________________________where ??? = '&par01&'
__________________________and ??? = &par02&]]>
____________</sql>
_________</sql>
______</sqls>
___</stmt>
</Transformation>
Dialogvariablen
<?xml version="1.0" encoding="UTF-8"?>
<Transformation>
<dialog>
<dlgvar varID="var01" varType="String"
varTITEL="StringVariable"
varLBLWIDTH="125" varEDITWIDTH="200">
_________<varLEN>10</varLEN>
</dlgvar>
<dlgvar varID="var02" varType="Number"
varTITEL="NumberVariable"
varLBLWIDTH="125" varEDITWIDTH="200">
_________<varLEN>15</varLEN>
_________<varDEC>2</varDEC>
</dlgvar>
___</dialog>
___<stmt stmtID="Bezeichnung des Statements">
______<parcols>
_________<parcol parNAME="par01" parDATATYPE="String">
_________</parcol>
_________<parcol parNAME="par02" parDATATYPE="Integer">
_________</parcol>
______</parcols>
______<sqls>
_________<sql sqlID="Äußeres SQL-Statements"
_________ sqlLOG="NO"
_________ sqlCONN="One">
____________<![CDATA[select ??? as par01, ??? as par02
______________________from ???
_____________________where ??? >= '&var01&'
______________________ and ??? <= &var02&]]>
____________<sql sqlID="Inneres SQL-Statements"
_________ sqlLOG="NO"
_________ sqlCONN="One">
_______________<![CDATA[select ??? as par01, ??? as par02
_________ _______________from ???
________________________where ??? = '&par01&'
__________________________and ??? = &par02&]]>
____________</sql>
_________</sql>
______</sqls>
___</stmt>
</Transformation>
Applikationsvariablen
<?xml version="1.0" encoding="UTF8"?>
<Transformation>
___<dialog>
______<dlgvar varID="var01" varType="String"
______ varTITEL="StringVariable"
______ varLBLWIDTH="125" varEDITWIDTH="200">
_________<varLEN>10</varLEN>
_____</dlgvar>
_____<dlgvar varID="var02" varType="Number"
______ varTITEL="NumberVariable"
______ varLBLWIDTH="125" varEDITWIDTH="200">
_________<varLEN>15</varLEN>
_________<varDEC>2</varDEC>
_____ </dlgvar>
___</dialog>
___<stmt stmtID="Bezeichnung des Statements">
______<parcols>
_________<parcol parNAME="par01" parDATATYPE="String">
_________</parcol>
_________<parcol parNAME="par02" parDATATYPE="Integer">
_________</parcol>
______</parcols>
______<sqls>
_________<sql sqlID="Äußeres SQLStatements"
_________ sqlLOG="NO"
_________ sqlCONN="One">
____________<![CDATA[select ??? as par01, ??? as par02
______________________from ???
_____________________where ??? = &appl_usersprachid&
______________________ and ??? >= '&var01&'
______________________ and ??? <= &var02&]]>
____________<sql sqlID="Inneres SQLStatements"
_________ sqlLOG="NO"
_________ sqlCONN="One">
_______________<![CDATA[select ??? as par01, ??? as par02
_________________________from ???
________________________where ??? = '&par01&'
__________________________and ??? = &par02&]]>
____________</sql>
_________</sql>
______</sqls>
___</stmt>
</Transformation>
Anwender-Report
Die Tabelle zeigt das Druckergebnis des Reports User mit Gruppenzuordnung