Attribute mit invertiertem Datum erzeugen

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>

...