Dynamische Selektionsbildschirme

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Dynamische Selektionsbildschirme

Beitrag von BesenWesen (Specialist / 183 / 0 / 0 ) »
Hallo Zusammen,

ich hab da ein Problem mit einer Selektionsmaske.
Auf dieser ist eine Checkbox.
Ist diese Checkbox aktiv, sollen 2 Felder zu Mussfeldern und ein weiteres Feld eingeblendet werden.
Kann mir jmd. sagen wie ich das in ABAP realisiere?
Danke!


so long
BesenWesen
Gruss
BesenWesen

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


Beitrag von AndreaK (ForumUser / 15 / 0 / 0 ) »
Hallo BesenWesen,

versuch Deinen Screen nach AT SELECTION-SCREEN zu modifizieren.

AT SELECTION-SCREEN.

LOOP AT SCREEN.

IF SCREEN-NAME = '<field1>'. (gleiches mit feld2)
IF CHECKBOX = 'X'.
SCREEN-REQUESTED = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.

IF SCREEN-NAME = '<field3>'.
IF CHECKBOX = 'X'.
SCREEN-INVISIBLE = 0.
MODIFY SCREEN.
ELSE.
SCREEN-INVISIBEL = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.

ENDLOOP.

Beitrag von BesenWesen (Specialist / 183 / 0 / 0 ) »
Danke,
ich werds gleich mal testen.
Gruss
BesenWesen

Beitrag von BesenWesen (Specialist / 183 / 0 / 0 ) »
also irgendwie funktioniert das nicht.
was meinst du denn mit '<field1>'
und screen-...?
Gruss
BesenWesen

Beitrag von Olaf P. (ForumUser / 61 / 0 / 0 ) »
Moin,
schau Dir am Besten die F1-Doku zu "LOOP AT SCREEN" an, dort ist alles beschrieben. Anbei ein Beispiel zu Deinem Problem.

Code: Alles auswählen.

PARAMETERS:
  f1 TYPE c        MODIF ID     m1,  "Mussfeld 1
  f2 TYPE c        MODIF ID     m1,  "Mussfeld 2
  f3 TYPE c        MODIF ID     m2,  "Einblenden, bzw. nicht ausblenden
  cb AS   CHECKBOX USER-COMMAND xyz. "UC f.Auslösen Screen-Verarbeitung

AT SELECTION-SCREEN OUTPUT.
* Screen ist eine interne Systemtabelle (siehe F1 LOOP AT SCREEN)
  LOOP AT SCREEN.
    CASE screen-group1. 
      WHEN 'M1'.
        CHECK cb <> space.
        screen-required  = '1'. "Mussausgabe setzen
        MODIFY SCREEN.
      WHEN 'M2'.
        CHECK cb = space.
        screen-invisible = '1'. "Unsichtbar
        screen-active    = '0'. "Deaktivieren
        MODIFY SCREEN.
    ENDCASE.
  ENDLOOP.
VG Olaf

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Problem an dem Beispiel-Coding ist nur, dass man die Markierung der Checkbox nicht zurücknehmen kann, so lange die Mussfelder nicht gefüllt sind.

Irgendwann hatte ich SAP schon mal gefragt, wann es zu USER-COMMAND xyz einen Zusatz gibt, um den Funktionstyp festzulegen, z.B. auf E zu setzen.
Damit sollten sich (ähnlich wie bei einem Modul mit Zusatz AT EXIT-COMMAND unmittelbar nach PAI in Dialog-Dynpros) die Standard-Prüfungen des Systems ausschalten lassen.

Beitrag von Olaf P. (ForumUser / 61 / 0 / 0 ) »
Moin Frank,
das stimmt, leider kann man noch nicht Exit-Commands einfach in Selektionsdynpros definieren, das habe ich auch schon häufiger vermisst.

Bei 1/2 Feldern wird diese Lösung von Anwendern akzeptiert, ansonsten bleibt einem nichts anderes übrig als die Felder auf Kann-Eingabe zu lassen und sie zu Fuß zu prüfen. Was auch nicht weiter schlimm ist.

VG Olaf

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3698
Views
Dynamische SQL
von Gabriel99 » 22.06.2015 17:59 • Verfasst in ABAP® für Anfänger
9
Antw.
5141
Views
dynamische Erzeugung
von allgrinder » 25.03.2015 08:11 • Verfasst in ABAP Objects®
2
Antw.
2053
Views
Dynamische PERFORMs
von autohandel7 » 27.04.2015 10:14 • Verfasst in ABAP® für Anfänger
1
Antw.
2519
Views
Dynamische Anzeige
von hyyd1e » 14.06.2013 09:15 • Verfasst in ABAP® für Anfänger
3
Antw.
5557
Views
Dynamische Struktur
von PeterPaletti » 13.07.2015 16:05 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

BAPI zur ABSO?
vor 2 Tagen von DeathAndPain 2 / 496
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 1145
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46814
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4720

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

BAPI zur ABSO?
vor 2 Tagen von DeathAndPain 2 / 496
Materialstammerweiterung: Neuer Reiter
vor einer Woche von DeathAndPain gelöst 4 / 1145
Ermittlung der Arbeitstage (Mosid)
vor einer Woche von Radinator 11 / 46814
LSMW-Problem
vor 3 Wochen von DeathAndPain gelöst 6 / 4720