Show TOC

HintergrundSubscreens auf Selektionsbildern Dieses Dokument in der Navigationsstruktur finden

 

Die Anzeige von Subscreens in Subscreen-Bereichen auf Selektionsbildern ist einfach ein Spezialfall von TabStrips auf Selektionsbildern. Um einen Subscreen-Bereich auf einem Selektionsbild zu definieren, verwendet man die beiden Anweisungen:

Syntax Syntax

  1. SELECTION-SCREEN: BEGIN OF TABBED BLOCK sub_area FOR n LINES,
  2.                   END OF BLOCK sub_area.
Ende des Codes

Die Definition eines Subscreen-Bereichs entspricht also der Definition eines TabStrip-Bereichs ohne Tab-Reiter. Vor dem Senden des Selektionsbilds muss dem Subscreen-Bereich sub_area ein Subscreen zugewiesen werden. Hierfür verwendet man die Komponenten prog und dynnr der gleichnamigen Struktur sub_area, die durch obige Anweisung automatisch erzeugt wird. Der Komponente prog muss der Programmname des Subscreens und der Komponente dynnr muss die Dynpronummer des Subscreens zugewiesen werden. Mögliche Subscreens sind:

Fehlt die Zuweisung eines Subscreens beim Senden des Selektionsbilds, kommt es zu einem Laufzeitfehler.

Syntax Syntax

  1. REPORT demo_sel_screen_with_subscreen.
  2. TABLES sscrfields.
  3. * SUBSCREEN 1
  4. SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
  5. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-010.
  6. PARAMETERS: p1(10) TYPE c,
  7.             p2(10) TYPE c,
  8.             p3(10) TYPE c.
  9. SELECTION-SCREEN END OF BLOCK b1.
  10. SELECTION-SCREEN END OF SCREEN 100.
  11. * SUBSCREEN 2
  12. SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
  13. SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-020.
  14. PARAMETERS: q1(10) TYPE c,
  15.             q2(10) TYPE c,
  16.             q3(10) TYPE c.
  17. SELECTION-SCREEN END OF BLOCK b2.
  18. SELECTION-SCREEN END OF SCREEN 200.
  19. * SUBSCREEN 3
  20. SELECTION-SCREEN BEGIN OF SCREEN 300 AS SUBSCREEN.
  21. SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-030.
  22. PARAMETERS: r1(10) TYPE c,
  23.             r2(10) TYPE c,
  24.             r3(10) TYPE c.
  25. SELECTION-SCREEN END OF BLOCK b3.
  26. SELECTION-SCREEN END OF SCREEN 300.
  27. * STANDARD SELECTION SCREEN
  28. SELECTION-SCREEN: FUNCTION KEY 1,
  29.                   FUNCTION KEY 2.
  30. SELECTION-SCREEN: BEGIN OF TABBED BLOCK sub FOR 10 LINES,
  31.                   END OF BLOCK sub.
  32. INITIALIZATION.
  33.   sscrfields-functxt_01 = '@0D@'.
  34.   sscrfields-functxt_02 = '@0E@'.
  35.   sub-prog = sy-repid.
  36.   sub-dynnr = 100.
  37. AT SELECTION-SCREEN.
  38.   CASE sy-dynnr.
  39.     WHEN 100.
  40.       IF sscrfields-ucomm = 'FC01'.
  41.         sub-dynnr = 300.
  42.       ELSEIF sscrfields-ucomm = 'FC02'.
  43.         sub-dynnr = 200.
  44.       ENDIF.
  45.     WHEN 200.
  46.       IF sscrfields-ucomm = 'FC01'.
  47.         sub-dynnr = 100.
  48.       ELSEIF sscrfields-ucomm = 'FC02'.
  49.         sub-dynnr = 300.
  50.       ENDIF.
  51.     WHEN 300.
  52.       IF sscrfields-ucomm = 'FC01'.
  53.         sub-dynnr = 200.
  54.       ELSEIF sscrfields-ucomm = 'FC02'.
  55.         sub-dynnr = 100.
  56.       ENDIF.
  57.   ENDCASE.
  58. START-OF-SELECTION.
  59.   WRITE: / 'P1:', p1,'Q1:', q1, 'R1:', r1,
  60.          / 'P2:', p2,'Q2:', q2, 'R2:', r2,
  61.          / 'P3:', p3,'Q3:', q3, 'R3:', r3.
Ende des Codes

In diesem Programm werden drei Subscreen-Selektionsbilder, 100, 200 und 300, definiert. Auf dem Standard-Selektionsbild wird ein Subscreen-Bereich sub angelegt. Weiterhin werden in der Drucktastenleiste zwei Drucktasten aktiviert.

Zum Zeitpunkt INITIALIZATION wird dem Subscreen-Bereich das Subscreen-Selektionsbild 100 zugewiesen. Zum Zeitpunkt AT SELECTION-SCREEN werden die Funktionstasten ausgewertet und entsprechend einer der anderen Subscreens zugewiesen.