Die Möglichkeit mit den "Platzhalter"-Checkboxen habe ich auch schon im Ansatz gefunden, aber leider keine richtige Erklärung dazu.. Wie würde das funktionieren, dass dann von 4 ausgeblendeten Checkboxen automatisch mit Anpassung der Tabelle (ein Eintrag mehr -> eine zusätzliche Checkbox) nur noch 3 Checkboxen ausgeblendet werden? Das ist mir noch nicht ganz klar.ewx hat geschrieben:Einfacher ist es wahrscheinlich, wenn du eine gewisse Anzahl an checkboxen erstellst und nicht verwendete ausblendest.
Den Text kannst du dynamisch ändern:
https://www.tricktresor.de/blog/dynamis ... tionstext/
Eine andere Alternative wäre ein Docking-Container mit einem ALV-Grid und entsprechenden Einträgen. Da ist es dann einfach, Einträge dynamisch zu verwalten.
Code: Alles auswählen.
REPORT.
PARAMETERS p_anz TYPE i DEFAULT 3.
PARAMETERS p_01 AS CHECKBOX MODIF ID p01.
PARAMETERS p_02 AS CHECKBOX MODIF ID p02.
PARAMETERS p_03 AS CHECKBOX MODIF ID p03.
PARAMETERS p_04 AS CHECKBOX MODIF ID p04.
PARAMETERS p_05 AS CHECKBOX MODIF ID p05.
PARAMETERS p_06 AS CHECKBOX MODIF ID p06.
PARAMETERS p_07 AS CHECKBOX MODIF ID p07.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1+1(2) > p_anz.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
mareikemei92
Also das mit dem dynamisch ausblenden ging ohne Probleme, aber ich frage mich, wie ich den Text der Checkbox dynamisch ändern soll. Das funktioniert leider nicht wie gewollt (außer ich mache einen riesigen CASE-Block rein, der die Nummer abfragt und dementsprechend das richtige Screenelement zum Ändern auswählt). Wäre zwar funktional, aber nicht gerade schön.ewx hat geschrieben:Variante 1:Variante 2:Code: Alles auswählen.
REPORT. PARAMETERS p_anz TYPE i DEFAULT 3. PARAMETERS p_01 AS CHECKBOX MODIF ID p01. PARAMETERS p_02 AS CHECKBOX MODIF ID p02. PARAMETERS p_03 AS CHECKBOX MODIF ID p03. PARAMETERS p_04 AS CHECKBOX MODIF ID p04. PARAMETERS p_05 AS CHECKBOX MODIF ID p05. PARAMETERS p_06 AS CHECKBOX MODIF ID p06. PARAMETERS p_07 AS CHECKBOX MODIF ID p07. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF screen-group1+1(2) > p_anz. screen-active = '0'. MODIFY SCREEN. ENDIF. ENDLOOP.
https://www.tricktresor.de/blog/moderne ... -alv-grid/
Hatte ich doch oben schon geschrieben...mareikemei92 hat geschrieben: Also das mit dem dynamisch ausblenden ging ohne Probleme, aber ich frage mich, wie ich den Text der Checkbox dynamisch ändern soll.
ewx hat geschrieben:Den Text kannst du dynamisch ändern:
https://www.tricktresor.de/blog/dynamis ... tionstext/
Code: Alles auswählen.
PARAMETERS p_anz TYPE i DEFAULT 3.
PARAMETERS p_01 AS CHECKBOX MODIF ID p01.
PARAMETERS p_02 AS CHECKBOX MODIF ID p02.
PARAMETERS p_03 AS CHECKBOX MODIF ID p03.
PARAMETERS p_04 AS CHECKBOX MODIF ID p04.
PARAMETERS p_05 AS CHECKBOX MODIF ID p05.
PARAMETERS p_06 AS CHECKBOX MODIF ID p06.
PARAMETERS p_07 AS CHECKBOX MODIF ID p07.
INITIALIZATION.
TYPES tt_seltexts TYPE STANDARD TABLE OF rsseltexts WITH DEFAULT KEY.
DATA(seltexts) = VALUE tt_seltexts(
( name = 'P_01' kind = 'P' text = 'Option numero uno' )
( name = 'P_02' kind = 'P' text = 'Option no. deux' )
( name = 'P_03' kind = 'P' text = 'Option number three' )
( name = 'P_04' kind = 'P' text = 'Option Nr. Vier' ) ).
CALL FUNCTION 'SELECTION_TEXTS_MODIFY'
EXPORTING
program = sy-cprog
TABLES
seltexts = seltexts
EXCEPTIONS
OTHERS = 3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1+1(2) > p_anz.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
mareikemei92
Danke! Mit deinem Beispiel habe ich es jetzt verstanden. So funktioniert es bei mir auch wunderbar.ewx hat geschrieben:Hatte ich doch oben schon geschrieben...mareikemei92 hat geschrieben: Also das mit dem dynamisch ausblenden ging ohne Probleme, aber ich frage mich, wie ich den Text der Checkbox dynamisch ändern soll.
ewx hat geschrieben:Den Text kannst du dynamisch ändern:
https://www.tricktresor.de/blog/dynamis ... tionstext/Code: Alles auswählen.
PARAMETERS p_anz TYPE i DEFAULT 3. PARAMETERS p_01 AS CHECKBOX MODIF ID p01. PARAMETERS p_02 AS CHECKBOX MODIF ID p02. PARAMETERS p_03 AS CHECKBOX MODIF ID p03. PARAMETERS p_04 AS CHECKBOX MODIF ID p04. PARAMETERS p_05 AS CHECKBOX MODIF ID p05. PARAMETERS p_06 AS CHECKBOX MODIF ID p06. PARAMETERS p_07 AS CHECKBOX MODIF ID p07. INITIALIZATION. TYPES tt_seltexts TYPE STANDARD TABLE OF rsseltexts WITH DEFAULT KEY. DATA(seltexts) = VALUE tt_seltexts( ( name = 'P_01' kind = 'P' text = 'Option numero uno' ) ( name = 'P_02' kind = 'P' text = 'Option no. deux' ) ( name = 'P_03' kind = 'P' text = 'Option number three' ) ( name = 'P_04' kind = 'P' text = 'Option Nr. Vier' ) ). CALL FUNCTION 'SELECTION_TEXTS_MODIFY' EXPORTING program = sy-cprog TABLES seltexts = seltexts EXCEPTIONS OTHERS = 3. AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF screen-group1+1(2) > p_anz. screen-active = '0'. MODIFY SCREEN. ENDIF. ENDLOOP.