Ausnahme-Klasse mit RESUME zum Zeitpunkt AT SELECTION-SCREEN

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).

Ausnahme-Klasse mit RESUME zum Zeitpunkt AT SELECTION-SCREEN

Postby Dian3368 » Tue May 08, 2012 1:08 pm

Irgendwas an meinem Coding funktioniert einfach nicht :cry:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. REPORT  zea_tmpca001.
  2.   h_string    TYPE string,
  3.   ref_exc     TYPE REF TO zcx_mvk.
  4. *
  5. PARAMETER: pa_test TYPE xtest DEFAULT 'X'.
  6. *
  7. AT SELECTION-SCREEN.
  8. *
  9.   TRY.
  10. *
  11. *--* Prüfung 1 *-------------------------------------------------------*
  12. *
  13.       PERFORM do_check USING    1.
  14. *
  15. *--* Prüfung 2 *-------------------------------------------------------*
  16. *
  17.       PERFORM do_check USING    2.
  18. *
  19. *--* Prüfung 3 *-------------------------------------------------------*
  20. *
  21.       PERFORM do_check USING    3.
  22. *
  23.     CATCH BEFORE UNWIND zcx_mvk INTO ref_exc.
  24.       MESSAGE ref_exc TYPE 'W'.
  25.       IF ref_exc->is_resumable = 'X'.
  26.         RESUME.
  27.       ENDIF.
  28.   ENDTRY.
  29. *
  30. *
  31.   WRITE: / sy-subrc.
  32. *
  33. *&---------------------------------------------------------------------*
  34. *&      Form  DO_CHECK
  35. *&---------------------------------------------------------------------*
  36. *
  37. FORM do_check  USING    pi_zahl TYPE i
  38.                RAISING  resumable(zcx_mvk).
  39. *
  40.   TRY.
  41.     CASE pi_zahl.
  42.       WHEN 1.
  43.         h_string = 'Meldung Prüfung 1'.
  44.       WHEN 2.
  45.         h_string = 'Prüfung 2 angestoßen'.
  46.       WHEN 3.
  47.         h_string = 'jetzt kommt Prüfung 3'.
  48.     ENDCASE.
  49. *
  50.     RAISE RESUMABLE EXCEPTION TYPE zcx_mvk
  51.       EXPORTING
  52.         textid   = zcx_mvk=>msgtext
  53.         h_string = h_string.
  54.   ENDTRY.
  55. *
  56. ENDFORM.                    " DO_CHECK
GeSHi ©


Wenn ich es ausführe bekomme ich die erste Meldung als Warning wie es sein soll, aber dann sofort die Ausnahme CX_SY_ILLEGAL_HANDLER, obwohl im Feld ref_exc->is_resumable ein 'X' steht. Laut Dump ist die IF-Abfrage schon der Auslöser. Was mache ich falsch?
Dian3368
.
.
 
Posts: 4
Joined: Tue Jun 27, 2006 4:39 pm

Re: Ausnahme-Klasse mit RESUME zum Zeitpunkt AT SELECTION-SC

Postby Dian3368 » Fri Jul 13, 2012 1:03 pm

Keine Experten hier?
Dian3368
.
.
 
Posts: 4
Joined: Tue Jun 27, 2006 4:39 pm

Re: Ausnahme-Klasse mit RESUME zum Zeitpunkt AT SELECTION-SC

Postby Giuliano508 » Tue Apr 16, 2013 8:28 am

Hallo zusammen,
da ich gerade über dasselbe Problem gestolpert bin, schreibe ich hier noch mal die Lösung für die nachfolgenden Generationen hin ;-)

Das Problem liegt hier an dem Message Statement, scheinbar wird damit schon die Terminierung des Behandlers eingeleitet und ein RESUME ist nicht mehr möglich. Ich habe das jetzt so gelöst, dass ich mir die Nachrichten merke und diese dann nach dem TRY-Block ausgebe.

Vielleicht hilft das ja nochmal wem.

Viele Grüße
Sascha
Giuliano508
..
..
 
Posts: 10
Joined: Thu Feb 25, 2010 5:31 pm

Re: Ausnahme-Klasse mit RESUME zum Zeitpunkt AT SELECTION-SC

Postby Dian3368 » Tue Apr 16, 2013 9:26 am

Super!
Das war wirklich des Rätsels Lösung - Vielen Dank für den Hinweis!
Dian3368
.
.
 
Posts: 4
Joined: Tue Jun 27, 2006 4:39 pm


Return to ABAP Objects®

Who is online

Users browsing this forum: No registered users and 4 guests