Ansicht
Dokumentation

CL_HRPAYDE_DIST_REP_IMP_EXP - Bearbeitung für verteiltes Reporting

CL_HRPAYDE_DIST_REP_IMP_EXP - Bearbeitung für verteiltes Reporting

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Diese Klasse implementiert Hilfsmethoden zum verteilten Reporting zur standardisierten Verwendung in Reports, die als Technik für das verteilte Reporting den Report HR: Scheduler für paralleles und verteiltes Reporting (RPMREP00) verwenden.

Dazu implementiert die Klasse die beiden folgenden Interfaces:

Für den Import der im Zielsystem generierten Daten im zentralen System definiert der Report RPMREP00 eine feste Schnittstelle und versorgt diese beim Aufruf der Formroutine REDEFINE, die es in jedem Report, der das verteilte Reporting über den RPMREP00 nutzt, geben muss.

Es empfiehlt sich grundsätzlich folgender Aufbau innerhalb des Reports, der verteilt ausgeführt werden soll:

  • Formroutine MEMORY_EXPORT:
    Zum Beginn dieser Routine wird mit Hilfe der Methode IS_DIST_REP_AKTIV geprüft, ob Report per verteiltem Reporting ausgeführt wird. Wenn dies der Fall ist, werden zunächst die reportspezifischen Anwendungsdaten in die Tabellen DATEN1, DATEN2 und DATEN3 mit Hilfe der Methoden PACK_DATEN1, PACK_DATEN2 und PACK_DATEN3 des Interfaces IF_HRPAYDE_DIST_REP_TARGET_SYS konvertiert. Sofern ein Report zur Protokollierung den Message Handler verwendet, wird zusätzlich die Methode GET_ERRORTAB_AND_WRITE_NT aufgerufen. Sie konvertiert die Fehler-, Warn- und Infonachrichten in die für den Export notwendige ERRORTAB und schreibt diese noch ins Notification Tool im Zielsystem, wenn dieses an den Message Handler angebunden ist.
    Für ein Report mit Protokollierung ohne Message Handler, steht die Methode ADD_ERRORTAB_TO_NT zur Verfügung, um die Fehler-, Warnnachricheten ins Notification Tool des Zielsystems zu übertragen.
    Im Anschluss erfolgt der gemeinsame Export der Tabellen DATEN1, DATEN2, DATEN3 und ERRORTABdurch Aufruf der Methode EXPORT_TO_MEMORY.
  • Formroutine REDEFINE:
    Sie wird dynamisch aus dem Report RPMREP00 im zentralen System aufgerufen und ist daher zwingend notwendig. Ihre Aufgabe ist es, die Daten aus den Zielsystem über die Tabellen DATEN1, DATEN2, DATEN3 sowie ERRORTAB ins zentrale System zu importieren. Durch Aufruf der Methoden UNPACK_DATEN1, UNPACK_DATEN2und UNPACK_DATEN3 des Interfaces IF_HRPAYDE_DIST_REP_CENTR_SYS werden diese wieder in die reportspezifischen Datentabellen zurückkonvertiert.
    Die importierte ERRORTAB wird mit der Hilfe der Methode SET_ERRORTAB zwischengespeichert. Dies ist notwendig, um Fehler aus den Zielsystemen von den Fehlern aus der weiteren Verarbeitung im zentralen System zu trennen, da die Fehler aus den Zielsystemen zwar im Reportprotokoll erscheinen sollen, nicht jedoch im Notification Tool des zentralen Systems. Die Endverarbeitung wird über den Aufruf der Formroutine FINAL_PROCESSING(siehe unten) gestartet. Sofern FINAL_PROCESSINGglobale Instanzen benötigt, die beim Reportlauf ohne verteiltes Reporting zu den Zeitpunkten INITIALIZATION oder START-OF-SELECTIONinstanziiert werden, müssen diese innerhalb von REDEFINE ebenfalls instanziiert werden. Sofern in der Endverarbeitung auch Reportparameter oder Select-Options benötigt werden, können diese mit Hilfe des Funktionsbausteins RS_VARIANT_CONTENTSermittelt werden. Als Beispiel hierfür dient die Routine RESTORE_SELECT_SCREEN des Reports RPSAGOD0 (Altersgeldstatistik).
  • Formroutine FINAL_PROCESSING:
    Diese Routine übernimmt die komplette restliche Endverarbeitung wie z.B. Protokollausgabe, Datenbank-Updates etc. Sie soll sowohl beim Start mit verteiltem als auch ohne verteiltes Reporting ausgeführt werden, daher wird sie einmal in der Formroutine REDEFINE gerufen, aber auch regulär zu END-OF-SELECTION. Hierbei muss jedoch sichergestellt werden, dass der letztgenannte Aufruf nur erfolgt, wenn das verteilte Reporting nicht genutzt wird. Dies wird durch den Aufruf des Befehls LEAVE PROGRAMinnerhalb der Formroutine MEMORY_EXPORT umgesetzt.
    Innerhalb der Routine FINAL_PROCESSING kann nun auch die Methode GET_ERRORTAB des Interfaces IF_HRPAYDE_DIST_REP_CENTR_SYS gerufen werden, um die dort enthaltenen Fehler entsprechend in die Protokollausgabe zu übertragen.

Mit Hilfe dieser Struktur bleibt der Report sehr schlank zum Zeitpunkt END-OF-SELECTION: Dort werden nur die Formroutinen MEMORY_EXPORTund FINAL_PROCESSING(in der genannten Reihenfolge) aufgerufen. Die Formroutine REDEFINE wird nur dynamisch über den RPMREP00 im zentralen System aufgerufen, nicht jedoch bei einem regulären Reportlauf. Bei verteiltem Reporting wird im zentralen System dann aber auch nur das aufgerufen, was in der Formroutine REDEFINEimplementiert ist und sonst nichts.

Beziehungen

Beispiel

Hinweise






CL_GUI_FRONTEND_SERVICES - Frontend Services   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7087 Date: 20240419 Time: 183230     sap01-206 ( 124 ms )