kannst Du mal beispielhaft einen Include und das Hauptprogramm hier posten?azubi hat geschrieben:Hi leute,
Ich habe in ABAP ein Programm im "Spaghetti-Style" geschrieben. Damit ich später für eventuelle Änderungen alles noch nachvollziehen kann, wollte ich es strukturiren, indem ich die funktionsbausteine in forms packe und über include im Hauptprogramm einbinde.
Der Include wird auch erkannt, ist syntaktisch in Ordnung (meldet jedenfalls der Debugger) und die forms stehen in geschlossenen Verarbeitungsblöcken.
Leider meldet mir der Debugger beim Hauptprogramm bei jeder perform-Anweisung :
"Anweisung ist nicht erreichbar."
Wie kann ich dafür sorgen, dass die Forms im Include vom Hauptprogramm erreicht werden ?
Falls noch Fragen dazu offen sind, beantworte ich sie gerne.
Für Lösungsvorschläge und Anregungen jeder Art wäre ich sehr dankbar.
MfG
der verzweifelte Azubi
Code: Alles auswählen.
REPORT YKO_KUNDEN_IN_BUCHUNGSKREISEN6.
include YKO_KUNDEN_IN_BUKRS_INCL.
Select-Options : v_Kunnr FOR s_Kunnr obligatory.
PERFORM Verarbeitung USING v_Kunnr.
Code: Alles auswählen.
* Daten-Deklaration
form Verarbeitung USING v_KUNNR.
GET TIME.
aktDate = sy-datum.
* ... *
endform.
Code: Alles auswählen.
REPORT....
* implizite Aufruf
CALL SCREEN 1000.
* implizites Platzieren des EventsSTART-OF-SELECTION
START-OF-SELECTION.
FORM ...
ENDFORM.
SELECT-OPTIONS: ...
* Coding, das nie erreicht wird
PERFORM...
Code: Alles auswählen.
REPORT....
*implizite Aufruf
CALL SCREEN 1000.
FORM ...
ENDFORM.
SELECT-OPTIONS: ...
* Explizit Event START-OF-SELECTION platzieren
START-OF-SELECTION.
PERFORM...
ja, nun funktioniert es. ich hab jetzt zwar noch Probleme mit der Variablenübergabe, aber das finde ich hoffentlich selber raus. Falls nicht weiss ich ja jetzt, wo die Experten sind.ereglam hat geschrieben: Dein Programm sollte demnach etwa so aussehen:Code: Alles auswählen.
REPORT.... *implizite Aufruf CALL SCREEN 1000. FORM ... ENDFORM. SELECT-OPTIONS: ... * Explizit Event START-OF-SELECTION platzieren START-OF-SELECTION. PERFORM...