2016-03-26 5 views
1

Ich studiere this Buch und zitiert aus Kapitel 5:START-OF-SELECTION in ABAP nicht ausgelöst?

Sie sind für den Fall eingeführt werden START-OF-SELECTION. Die erste Sache, die man über ein Ereignis versteht, ist zu wissen, wann ein Ereignis ausgelöst wird: das heißt, wenn die Programmsteuerung zu dem Code unter einem Ereignis springt.

Szenario-I Wenn es keine Parameter-Anweisungen in einem Programm, die Funktionstaste F8 drücken, wird die Ausführung des Programms ausgehend von der ersten nondeclarative Anweisung im Programm beginnen.

Im Szenario-I (keine PARAMETERS-Anweisung/s), wenn das Programm ausgeführt wird, springt die Steuerung zum Ereignis START-OF-SELECTION.

hier So habe ich meinen Beispielcode:

REPORT ZTMP_TEST_INNBOUND. 

WRITE 'Hello World!'. 

START-OF-SELECTION. 
WRITE 'Big-Bang first..'. 

Und ich erwarte, dass "Bing-Bang First" zuerst gedruckt wird, aber es ist nicht der Fall. Hier

ist die Ausgabe:

Hello World! 
Big-Bang first.. 

Warum ist der Ausgang nicht umgekehrt? Ist mein Verständnis von dem, was im Buch erklärt wird, falsch bezüglich START-OF-SELECTION?

Antwort

7

Pro SAP werden in einem ausführbaren Programm alle nicht-deklarativen Anweisungen, die zwischen der Anweisung REPORT oder PROGRAMM und dem ersten Verarbeitungsblock auftreten, ebenfalls im Block START-OF-SELECTION verarbeitet. In Ihrem Codebeispiel wird also der erste Schreibvorgang und dann der zweite ausgeführt.

Here is a good reference

+0

[hier] (http://help.sap.com/saphelp_470/helpdata/EN/fc/eb2d67358411d1829f0000e829fbfe/content.htm?frameset=/EN/fc/eb2d74358411d1829f0000e829fbfe/frameset.htm)‘ s der Abschnitt der Referenz, der sich speziell auf Ereignisblöcke bezieht. – gkubed

+0

Es wird einen impliziten START-OF-SELECTION-Block geben. – Christian