Ansicht
Dokumentation

RS_POOL_SPLIT - Splitting von Programmen und Funktionsgruppen

RS_POOL_SPLIT - Splitting von Programmen und Funktionsgruppen

BAL_S_LOG - Application Log: Log header data   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Beschreibung

Das Programm RS_POOL_SPLIT zerlegt

  • alle bestehenden Includes in Modulepools, Subroutinepools und Funktionsgruppen oder
  • ein einzelnes Include.

Als zu splittendes Programm werden im 1. Fall nur Programme akzeptiert, die mit SAPM*, SAPF* und SAPL* beginnen.

Das Programm RS_POOL_SPLIT durchsucht die Pools nach Includes, die mehrere Forms bzw. Modules enthalten. Außerdem kann auf dem Selektionsbild eine Untergrenze für die Länge (Zeilenzahl) eines Includes angegeben werden, so daß kürzere Includes nicht zerlegt werden. In Funktionsgruppen werden die Unn-Includes nicht behandelt.

Findet RS_POOL_SPLIT in einem (hinreichend langen) Include mehrere Forms bzw. Modules, legt es für jede Form bzw. jedes Module ein neues Include an und schreibt in das alte Include eine Include-Anweisung und einen Kommentar, der den Namen der Form bzw. des Includes enthält (s. Beispiel unten). Bei Funktionsgruppen wird der Name des Includes, d.h. die letzten zwei Stellen, sukzessive hochgezählt.

Werden Subroutinepools oder Modulepools zerlegt, wird versucht, den Namen der Form bzw. des Moduls an den Namen des alten Includes anzuhängen. Ist dies nicht möglich, weil der Name nicht eindeutig ist, werden die letzten beiden Stellen hochgezählt.

Bei der Zerlegung eines einzelnen Includes wird analog verfahren. Möglicherweise darin enthaltene Includes werden aber nicht behandelt.

Das Programm kann sowohl im Batch, als auch im Dialog ablaufen. Man erhält stets ein Protokoll als Ausgabe nach Beendigung des Jobs.

Es empfiehlt sich stets das Programm zunächst im Testmodus laufen zu lassen (Testmodus = X). Man erhält dann eine Analyse, die Auskunft darüber gibt, wieviele neue Includes entstehen würden. Im Testmodus ist es nicht notwendige einen Auftrag anzugeben.

Voraussetzungen

Die zu bearbeitenden Objekte dürfen nicht gesperrt sein, keine Editorsperren und auch keine inaktiven Includes enthalten. Achten Sie darauf, daß Sie einen geeigneten Auftrag angeben. Ist dies nicht der Fall werden die Objekte nicht bearbeitet. Zu dem Auftrag müssen zwei Aufgaben (eine Reparatur und eine Korrektur) angelegt sein, damit sowohl neue Objekte angelegt werden können, als auch Reparaturen durchgeführt werden können.

Ausgabe

Testmodus:

Splitting von Programmen und Funktionsgruppen

SAPLSMSG enthält nur 0/1 Einheit
LSMSGE10 enthält nur 0/1 Einheit
LSMSGF10 13 Includes erzeugbar
LSMSGF11 hat nur 29 Zeilen
LSMSGO10 enthält nur 0/1 Einheit
LSMSGTOP enthält nur 0/1 Einheit


Programm SAPLSMSG wurde untersucht
Forms und Modules = 14
Includes vorher = 5
anzulegende Includes = 13

Laufzeit = 18.587.019 Mikrosekunden

Bei dem oben aufgeführten Beispiel bedeutet dies, daß das Include LSMSGF10 in 13 Subincludes zerlegt werden würde. Die anderen Includes enthalten 0 oder 1 Einheiten oder sind zu kurz und werden nicht zerlegt.

Arbeitsmodus:

Splitting von Programmen und Funktionsgruppen

SAPLSMSG enthält nur 0/1 Einheit
LSMSGE10 enthält nur 0/1 Einheit
LSMSGF02 O.K.
LSMSGF03 O.K.
LSMSGF04 O.K.
LSMSGF05 O.K.
LSMSGF06 O.K.
LSMSGF07 O.K.
LSMSGF08 O.K.
LSMSGF09 O.K.
LSMSGF0A O.K.
LSMSGF0B O.K.
LSMSGF0C O.K.
LSMSGF0D O.K.
LSMSGF0E O.K.
LSMSGF10 Zerlegung O.K.
....alt: Zeilen = 398 Einheiten = 13
....neu: Zeilen = 21 Sub-Includes = 13
LSMSGF11 hat nur 29 Zeilen
LSMSGO10 enthält nur 0/1 Einheit
LSMSGTOP enthält nur 0/1 Einheit


Programm SAPLSMSG wurde zerlegt
Forms und Modules = 14
Includes vorher = 5
neu angelegte Includes = 13

Laufzeit = 33.336.763 Mikrosekunden

Bei dem oben aufgeführten Beispiel sind 13 neue Includes (LSMSGF02 bis LSMSGF0E) angelegt worden. Das Anlegen verlief erfolgreich (O.K.). Abschließend wurden Includeanweisungen in das alte Include LSMSGF10 eingefügt und dieses einem Syntaxcheck unterworfen. Es traten dabei keine Fehler auf (Zerlegung O.K.). Die anderen Includes enthalten 0 oder 1 Einheiten oder sind zu kurz und wurden nicht zerlegt.

Beispiel

Vorher:

*-----------------------------------------
***INCLUDE LSUMOF01 .
*-----------------------------------------

FORM TYPE_CHECK.
...
ENDFORM.

FORM IS_TRANSPARENT.
...
ENDFORM.

FORM ASK_FOR_CHANGE.
...
ENDFORM.

Nachher:

*-----------------------------------------
***INCLUDE LSUMOF01 .
*-----------------------------------------

INCLUDE LSUMOF0B . " TYPE_CHECK

INCLUDE LSUMOF0A . " IS_TRANSPARENT

INCLUDE LSUMOF09 . " ASK_FOR_CHANGE

INCLUDE LSUMOF08 . " EXECUTE_CHANGE






ABAP Short Reference   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6285 Date: 20240531 Time: 114824     sap01-206 ( 87 ms )