Über die Konfigurationsdateien MaskDataContextMapping können Maskenfeldern zu Platzhaltern ernannt werden. Die Platzhalter können anschließend innerhalb von ObjectSelectoren verwendet werden, um die angezeigte Datenmenge dynamisch über die in den Maskenfeldern eingegebenen Daten einzuschränken.
Die Konfigurationsdateien werden in den durch die ENV Variable "FRMCFGPATH" definierten Verzeichnissen unter den folgenden Namen gesucht:
MaskDataContextMapping_base.xml
MaskDataContextMapping_proj.xml
MaskDataContextMapping_vorort.xml
Einstellungen aus einer vorgelagerten Basiskonfiguration können nicht durch nachgelagerte Konfigurationen überschrieben werden.
Die Konfiguration hat folgenden Aufbau:
<?xml version="1.0" encoding="utf-8"?>
<MaskDataContextMapping xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Masks>
<MaskDataContextMappingMaskEntry>
<Name>p102v1</Name>
<Fields>
<MaskDataContextMappingFieldEntry>
<Placeholder>#KONTO#</Placeholder>
<Name>konto</Name>
<TargetSelectionTypes>
<string>f010</string>
<string>f010lief</string>
</TargetSelectionTypes>
</MaskDataContextMappingFieldEntry>
<MaskDataContextMappingFieldEntry>
<Placeholder>#PROJEKTTEIL#</Placeholder>
<Name>projektteil</Name>
<TargetNames>
<string>m_projektteil</string>
</TargetNames>
</MaskDataContextMappingFieldEntry>
<MaskDataContextMappingFieldEntry>
<Placeholder>#BEISPIEL#</Placeholder>
<Name>projektteil</Name>
<AwlNames>
<string>Auswahllistenname</string>
</AwlNames>
</MaskDataContextMappingFieldEntry>
<MaskDataContextMappingFieldEntry>
<Placeholder>#BEISPIEL#</Placeholder>
<Name>projektteil</Name>
<TargetNames>
<string>*</string>
</TargetNames>
</MaskDataContextMappingFieldEntry>
</Fields>
</MaskDataContextMappingMaskEntry>
</Masks>
</MaskDataContextMapping>
Die Elemente haben folgende Bedeutung:
MaskDataContextMappingMaskEntry definiert die auf einer Maske festgelegten Datenfelder.
Über "Name" wird hier definiert, für welche Maske im nachfolgenden Platzhalter festgelegt werden.
MaskDataContextMappingFieldEntry definiert einen Platzhalter.
Über "Placeholder" wird die Platzhalter festgelegt. Pro Maske kann jeder Platzhalter nur ein mal festgelegt werden. Standardplatzhalter können nicht überschrieben werden.
Über "Name" der Name des mit dem Platzhalter verknüpften Maskenfeldes.
Über Target-Einträge kann gesteuert werden, in welchen Datenfeldern des ObjectSelectors der Platzhalter zur Auswahl angeboten wird.
Zur Auswahl der Zieldatenfelder stehen dabei 3 Möglichkeiten zur Verfügung.
TargetSelectionTypes definiert die Zieldatenfelder über einen "Selektionstypen". Damit können z.B. sehr schnell alle Datenfelder identifiziert werden, die Konto- oder Artikelnummern enthalten.
AwlNames erlaubt die Auswahl von Zieldatenfeldern über mit diesen verknüpften Auswahllisten.
TargetNames erlaubt die Auswahl von Zieldatenfeldern über deren Namen. Bei dieser Art von Auswahl kann mithilfe des Zeichens "*" dafür gesorgt werden, dass der Platzhalter in allen Datenfeldern zur Auswahl zu Verfügung steht.
Sie können mehr als eine Methode zur Auswahl der Zieldatenfelder nutzen. In jeder Methode können sie jeweils mehr als einen Selektionstype, Awlnamen oder Zieldatenfeldnamen festlegen.