form aufrufen aus include

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

form aufrufen aus include

Beitrag von azubi ( / / 0 / 3 ) »
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

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: form aufrufen aus include

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
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
kannst Du mal beispielhaft einen Include und das Hauptprogramm hier posten?
Ich kann mir die Struktur noch nicht so richtig vorstellen.

PS: ich vermute doch mal, dass Du die FORM's per PERFORM in Deinem Hauptprogramm aufrufst.

PPS: was machst Du im Debugger, damit Du die Meldung '...nicht erreichbar' bekommst...

mein code (auszug)

Beitrag von azubi ( / / 0 / 3 ) »
Hier mein Code (Auszug)


Hauptprogramm:

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.

INCLUDE:

Code: Alles auswählen.

* Daten-Deklaration
form Verarbeitung USING v_KUNNR.
GET TIME.
aktDate =  sy-datum.
* ... *
endform.

zu PS : ja...

zu PPS : ich gehe auf die Schaltfläche prüfen in der ABAP-Workbench

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
schau Dir mal bitte den Befehl START-OF-SELECTION an...

Technisch ist es so, dass SAP bestimmte sogenannte Events im Programmablauf anspringt.
In Deinem Beispiel hast Du durch das Einfügen des INCLUDES implizit das Event START-OF-SELECTION zwischen die Anweisung REPORT und der Anweisung INCLUDE bzw. die Anweisung FORM innerhalb des Includes gelegt.

Damit weiß SAP aber nicht, wie es den PERFORM anspringen soll, denn der SELECT-OPTIONS ist nur ein Platzhalter für das implizite Dynpro 1000, das daraus generiert wird und der anschließende PERFORM steht somit mitten im Raum.

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...
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...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Include mit Form Routinen.

Beitrag von meinrad (ForumUser / 67 / 0 / 0 ) »
Hallo,
ich halte mich bei Reports immer an die Einteilung,
wie sie bei Dialog-Programmen üblich ist.
Includes mit globalen Daten am Anfang.
Includes mit Ereignissen in der Mitte.
Includes mit Form-Routinen am Schluss.
Ich hatte so noch nie Probleme.
Meines Erachtens sollte schon aus Gründen der Übersichtlickeit immer EXPLIZIT das Éreignis Start of selection enthalten sein.

Lösung: form aufrufen aus include

Beitrag von Nemesis ( / / 0 / 3 ) »
Hallo azubi,

ich habe das gleiche Problem bei einem Report von mir. Eine Lösung: Aufruf des Unterprogramms mittels PERFORM und erst danach das Unterprogramm mit INCLUDE einbinden. Dann funktioniert es bei mir (und das stinkt mir auch). Start-Of-Selection hat bei mir keinen Effekt gehabt. Wenn jemand eine elegantere Lösung hat, die es erlaubt das INCLUDE ordentlich oben zu vermerken und später den PERFORM zu machen, her damit!


Grüsse von der Weser


Nemesis

Beitrag von azubi ( / / 0 / 3 ) »
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...
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. :wink:

Vielen Dank für eure Hilfe.

Seite 1 von 1

Vergleichbare Themen

5
Antw.
3004
Views
Wo finde ich FORM's zu INCLUDE's ?
von KleinerEisbaer » 12.09.2007 15:29 • Verfasst in ABAP® für Anfänger
1
Antw.
2789
Views
Smart Form: Standardtext als Include einbinden?
von Kleenmex » 01.09.2004 11:32 • Verfasst in ABAP® Core
5
Antw.
7894
Views
Form-routine dynamisch aufrufen
von Pyro » 20.08.2010 09:20 • Verfasst in ABAP® für Anfänger
1
Antw.
10499
Views
Unterschied Include und Top-Include
von TomTom » 01.12.2005 08:45 • Verfasst in ABAP® für Anfänger
1
Antw.
1630
Views
Include
von swonny » 13.02.2008 13:40 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

RFC FuBa Call - Korrupte Daten
vor einer Stunde von a-dead-trousers 4 / 41
SELECT CHAR16 in CHAR12-Feld
vor 10 Stunden von Shortcut IT 3 / 39
alv_grid aktualisieren
vor 10 Stunden von a-dead-trousers gelöst 3 / 76

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

RFC FuBa Call - Korrupte Daten
vor einer Stunde von a-dead-trousers 4 / 41
SELECT CHAR16 in CHAR12-Feld
vor 10 Stunden von Shortcut IT 3 / 39
alv_grid aktualisieren
vor 10 Stunden von a-dead-trousers gelöst 3 / 76

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 170