Ansicht
Dokumentation
RS_POOL_SPLIT - Splitting von Programmen und Funktionsgruppen
BAL_S_LOG - Application Log: Log header data TXBHW - Original Tax Base Amount in Local CurrencyDiese Dokumentation steht unter dem Copyright der SAP AG.
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 )