Sie befinden sich in der Pflege der Fortschreibungsregeln zu Ihrem InfoProvider, in der Detailansicht der Kennzahl/des Datenfeldes/Attributs, zu dem Sie eine Routine anlegen wollen.
...
1. Selektieren Sie Routine.
2. Wählen Sie Routine anlegen.
Der ABAP Editor mit dem folgenden Quellcode erscheint:
1. |
PROGRAM UPDATE_ROUTINE. |
2. |
|
3. |
*$*$ begin of global - insert your declaration only below this line *-* |
4. |
* TABLES:... |
5. |
* DATA: ... |
6. |
*$*$ end of global - insert your declaration only before this line *-* |
7. |
* |
8. |
FORM compute_characteristics |
9. |
TABLES monitor structure rsmonitor "user defined monitoring |
10. |
USING COMM_STRUCTURE LIKE /BIC/CS<infosource> |
11. |
RECORD_NO LIKE SY-TABIX |
12. |
RECORD_ALL LIKE SY-TABIX |
13. |
SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS |
14. |
CHANGING RESULT LIKE /BIC/V<infocube>T-<infoobject> |
15. |
RETURNCODE LIKE SY-SUBRC. |
16. |
* |
17. |
*$*$ begin of routine - insert your code only below this line *-* |
18. |
* fill the internal table "MONITOR" to make monitor entries |
19. |
|
20. |
* result value of the routine |
21. |
RESULT =. |
22. |
|
23. |
* if the returncode is not equal zero, the result will not be updated |
24. |
RETURNCODE = 0. |
25. |
|
26. |
* if abort is not equal zero, the update process will be canceled |
27. |
|
28. |
ABORT = 0. |
29. |
*$*$ end of routine - insert your code only before this line *-* |
30. |
* |
31. |
ENDFORM. |
Die mit <> gekennzeichneten blau-kursiven Textstellen werden automatisch durch die entsprechenden Objektnamen ersetzt.
3. In Zeile 4 und 5 zwischen *$*$ begin of global... und *$*$ end of global... können Sie globale Deklarationen (Tabellen bzw. Daten) eintragen, die dann auch für alle weiteren Routinen, die Sie anlegen, nutzbar sind.
Beim seriellen Laden bleiben diese globalen Daten erhalten, solange der Prozess bestehen bleibt. Deshalb muss hier bei internen Tabellen ein REFRESH-Statement stehen. Beim parallelen Laden nicht, da für jedes Datenpaket ein eigener Prozess erzeugt wird. Siehe dazu auch Registerkarte: Verarbeitung.
4. Fügen Sie Ihren Code unter *$*$ begin of routine ... (Zeile 17) und *$*$ end of routine ... (Zeile 29) ein. In das Feld Result = (21) stellen Sie das Ergebnis Ihrer Fortschreibungsroutine.
5. Prüfen Sie die Syntax Ihrer Routine mit der Funktion Prüfen.
6. Sichern Sie Ihre Eingaben. Durch das Verlassen des Editors beenden Sie die Pflege der Routine.