Die Klasse com.idsscheer.ppm.xmlextractortools.extractor.
sap2ppm.ZTableConcatFKs_sap2ppm kann verwendet werden, um während des Auslesevorgangs aus einem SAP-System neue System-Event-Attribute
zu erzeugen, indem die Werte bereits ausgelesener Attribute konkateniert werden. Die
neu erzeugten System-Event-Attribute können in weiteren Datentabellenkonfigurationen
(XML-Element table) referenziert werden.
Beispiel
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xmlextractor_tableconfiguration SYSTEM
'xmlextractor_tableconfiguration.dtd'>
<xmlextractor_tableconfiguration>
<configuration name="SD">
<docspec>
<doctable name="RBKP">
<condition logicaloperator="eq" fieldname="GJAHR">
<value>2005</value>
</condition>
<pkfield name="BELNR"/>
<pkfield name="GJAHR"/>
</doctable>
</docspec>
<table name="RBKP_NEW" classtouse="com.idsscheer.ppm.
xmlextractortools.extractor.
sap2ppm.ZTableConcatFKs_sap2ppm">
<pkfield name="BELNR" fktablename="RBKP"
fkfieldname="BELNR"/>
<pkfield name="GJAHR" fktablename="RBKP"
fkfieldname="GJAHR"/>
<fieldtoread name="AWKEY_GENERATED"/>
</table>
</configuration>
</xmlextractor_tableconfiguration>
Wenn Sie die Klasse ZTableConcatFKs_sap2ppm verwenden, müssen Sie genau ein fieldtoread-Element angeben. Das Element enthält den Namen des zu erzeugenden System-Event-Attributs.
Im Beispiel wird ein neues System-Event-Attribut mit dem Namen RBKP_NEW-AWKEY_GENERATED erzeugt. Der Wert des Attributs setzt sich aus den Werten der angegebenen pkfield-Elemente zusammen.
Bei den pkfield-Elementen können die üblichen Operationen fkpart, prefix und postfix verwendet werden.
Ein mit obiger Konfiguration erzeugtes System-Event könnte beispielsweise wie folgt aussehen:
...
<event>
<attribute type="RBKP-BELNR">5105601204</attribute>
<attribute type="RBKP-GJAHR">2005</attribute>
<attribute type="RBKP_NEW-AWKEY_GENERATED">51056012042005
</attribute>
</event>
...
Sonderfall
In der table-Konfiguration kann das spezielle pkfield-Element MANDANT verwendet werden, welches beim Auslesen automatisch die Nummer des SAP-Mandanten hinzufügt. Hierbei müssen die XML-Attribute name, fktablename und fkfieldname den Wert MANDANT haben.
Beispiel (inkl. postfix-Element)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xmlextractor_tableconfiguration SYSTEM
'xmlextractor_tableconfiguration.dtd'>
<xmlextractor_tableconfiguration>
<configuration name="SD">
<docspec>
<doctable name="RBKP">
<condition logicaloperator="eq" fieldname="GJAHR">
<value>2005</value>
</condition>
<pkfield name="BELNR"/>
<pkfield name="GJAHR"/>
</doctable>
</docspec>
<table name="RBKP_NEWER" classtouse="com.idsscheer.
ppm.xmlextractortools.extractor.
sap2ppm.ZTableConcatFKs_sap2ppm">
<pkfield name="MANDANT" fktablename="MANDANT"
fkfieldname="MANDANT">
<postfix>
<value> test </value>
</postfix>
</pkfield>
<pkfield name="BELNR" fktablename="RBKP"
fkfieldname="BELNR"/>
<pkfield name="GJAHR" fktablename="RBKP"
fkfieldname="GJAHR"/>
<fieldtoread name="AWKEY_GENERATED"/>
</table>
</configuration>
</xmlextractor_tableconfiguration>
Ein System-Event, das beim Auslesen aus dem Mandanten 800 erzeugt wird, könnte bspw. wie folgt aussehen:
...
<event>
<attribute type="RBKP-BELNR">5105601204</attribute>
<attribute type="RBKP-GJAHR">2005</attribute>
<attribute type="RBKP_NEWER-AWKEY_GENERATED"
>800 test 51056012042005</attribute>
</event>
...
Das neu erzeugte Attribut RBKP_NEWER-AWKEY_GENERATED kann anschließend wie jedes andere SAP-Tabellenfeld in weiteren table-Konfigurationen referenziert werden.
Beispiel
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xmlextractor_tableconfiguration SYSTEM
'xmlextractor_tableconfiguration.dtd'>
<xmlextractor_tableconfiguration>
<configuration name="SD">
<docspec>
<doctable name="RBKP">
<condition logicaloperator="eq" fieldname="GJAHR">
<value>2005</value>
</condition>
<pkfield name="BELNR"/>
<pkfield name="GJAHR"/>
</doctable>
</docspec>
<table name="RBKP_NEW" classtouse="com.idsscheer.
ppm.xmlextractortools.extractor.
sap2ppm.ZTableConcatFKs_sap2ppm">
<pkfield name="BELNR" fktablename="RBKP"
fkfieldname="BELNR"/>
<pkfield name="GJAHR" fktablename="RBKP"
fkfieldname="GJAHR"/>
<fieldtoread name="AWKEY_GENERATED"/>
</table>
<table name="BKPF">
<pkfield name="AWKEY" fktablename="RBKP_NEW"
fkfieldname="AWKEY_GENERATED"/>
<fieldtoread name="BELNR"/>
</table>
</configuration>
</xmlextractor_tableconfiguration>
Ein mit dieser Konfiguration erzeugtes System-Event könnte bspw. wie folgt aussehen:
...
<event>
<attribute type="RBKP-BELNR">5105601204</attribute>
<attribute type="RBKP-GJAHR">2005</attribute>
<attribute type="RBKP_NEW-AWKEY_GENERATED"
>51056012042005</attribute>
<attribute type="BKPF-BELNR">5100004691</attribute>
</event>
...