Die Java-Klasse com.idsscheer.ppm.xmlextractortools.extractor. sap2ppm.ZTableInvertDates_sap2ppm kann auch verwendet werden, um während des Auslesevorgangs aus einem SAP-System neue System-Event-Attribute mit invertiertem Datum zu erzeugen. Dazu werden die Werte bereits ausgelesener Datumsattribute invertiert. Ein invertiertes Datum wird berechnet, indem von 99999999 der Wert des Datums im SAP-Format, z. B. 20110529 für den 29. Juli 2011, abgezogen wird. Die neu erzeugten System-Event-Attribute können in weiteren Datentabellenkonfigurationen (XML-Element table) referenziert werden.
Beispiel
<docspec>
<doctable name="VBAP">
<pkfield name="VBELN" />
<pkfield name="POSNR" />
<pkfield name="ERDAT"/>
<pkfield name="AEDAT"/>
<pkfield name="ABDAT"/>
</doctable>
</docspec>
<table name="VBAP_DATES_INVERTED" tablename="VBAP_DATES_INVERTED" classtouse="com.idsscheer.ppm.xmlextractortools.extractor.sap2ppm.ZTableInvertDates_sap2ppm">
<pkfield name="ERDAT" fktablename="VBAP" fkfieldname="ERDAT" />
<pkfield name="AEDAT" fktablename="VBAP" fkfieldname="AEDAT" />
</table>
Wenn Sie die Klasse ZTableInvertDates_sap2ppm verwenden, müssen Sie kein fieldtoread-Element angeben. Eventuell angegebene fieldtoread-Elemente werden ignoriert. Die neuen System-Event-Attribute werden aus dem Wert des Attributs name des Elements table und dem Wert des Attributs name des Elements pkfield zusammengesetzt. Im Beispiel werden zwei neue System-Event-Attribute mit dem Namen VBAP_DATES_INVERTED-ERDAT und VBAP_DATES_INVERTED-AEDAT erzeugt.
Bei den pkfield-Elementen können die üblichen Operationen fkpart, prefix und postfix verwendet werden.
Beispiel
Ein mit obiger Konfiguration erzeugtes System-Event könnte beispielsweise wie folgt aussehen:
...
<event>
<attribute type="VBAP-ABDAT">00000000</attribute>
<attribute type="VBAP-AEDAT">19970127</attribute>
<attribute type="VBAP-ERDAT">19970121</attribute>
<attribute type="VBAP-POSNR">000010</attribute>
<attribute type="VBAP-VBELN">0000004974</attribute>
<attribute type="VBAP_DATES_INVERTED-AEDAT">80029872</attribute>
<attribute type="VBAP_DATES_INVERTED-ERDAT">80029878</attribute>
</event>
...
Die Klasse ZTableInvertDates_sap2ppm kann verwendet werden, um ein invertiertes Datum in ein normales Datum im SAP-Format zurück zu wandeln.
Beispiel
<docspec>
<doctable name="VBAP">
<pkfield name="VBELN" />
<pkfield name="POSNR" />
<pkfield name="ERDAT"/>
<pkfield name="AEDAT"/>
<pkfield name="ABDAT"/>
</doctable>
</docspec>
<table name="VBAP_DATES_INVERTED" tablename="VBAP_DATES_INVERTED" classtouse="com.idsscheer.ppm.xmlextractortools.extractor.sap2ppm.ZTableInvertDates_sap2ppm">
<pkfield name="ERDAT" fktablename="VBAP" fkfieldname="ERDAT" />
<pkfield name="AEDAT" fktablename="VBAP" fkfieldname="AEDAT" />
</table>
<table name="VBAP_DATES_INVERT_AGAIN" tablename="VBAP_DATES_INVERTED" classtouse="com.idsscheer.ppm.xmlextractortools.extractor.sap2ppm.ZTableInvertDates_sap2ppm">
<pkfield name="ERDAT" fktablename="VBAP_DATES_INVERTED" fkfieldname="ERDAT" />
<pkfield name="AEDAT" fktablename="VBAP_DATES_INVERTED" fkfieldname="AEDAT" />
<pkfield name="ABDAT" fktablename="VBAP_DATES_INVERTED" fkfieldname="ABDAT" />
</table>
Liefert z. B. folgendes Ergebnis:
...
<event>
<attribute type="VBAP-ABDAT">00000000</attribute>
<attribute type="VBAP-AEDAT">19970127</attribute>
<attribute type="VBAP-ERDAT">19970121</attribute>
<attribute type="VBAP-POSNR">000010</attribute>
<attribute type="VBAP-VBELN">0000004974</attribute>
<attribute type="VBAP_DATES_INVERTED-AEDAT">80029872</attribute>
<attribute type="VBAP_DATES_INVERTED-ERDAT">80029878</attribute>
<attribute type="VBAP_DATES_INVERT_AGAIN-AEDAT">19970127</attribute>
<attribute type="VBAP_DATES_INVERT_AGAIN-ERDAT">19970121</attribute>
</event>
...