Selektion mit Eingabefenster statt PARAMETERS etc.

Alles Rund um SAP®.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Selektion mit Eingabefenster statt PARAMETERS etc.

Beitrag von vwaadenm (ForumUser / 63 / 0 / 0 ) »
Hallo,
wir benötigen für eine spezielle Anforderung eine Selektionsmaske die wie folgt aufgebaut ist:

PARAMETERS: feld1 type char128.
<<< gesuchtes Selektionsfenster >>>
PARAMETERS p_datei LIKE rlgrap-filename.

Es sollen also folgende Objekte realisiert werden:
- eine Eingabezeile z.B. für eine Überschrift (erledigt)
- ein Eingabefeld mit frei definierbaren Text ***Problem***
- eine Pfadangabe z.B. für eine verknüpfte Bilddatei (erledigt)

Das Eingabefeld stelle ich mir vor, wie das in den Zusatzdaten des Materialstamms, also ein richtiges Textfeld und keine Einzelzeilen.

Im Prinzip soll der Textbaustein des Selektionsbilds als Kommentar auf der Grundliste ausgegeben werden. Ich muss also einfach nur den Bereich 1:1 auslesen und unter/über/etc. dem Rest der Ausgabe abbilden

Hoffentlich habe ich die Problemstellung korrekt erläutert, sonst bitte fragen...

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


Re: Selektion mit Eingabefenster statt PARAMETERS etc.

Beitrag von JHM (Top Expert / 1221 / 2 / 204 ) »
vwaadenm hat geschrieben:Hoffentlich habe ich die Problemstellung korrekt erläutert, sonst bitte fragen...
Ist doch schön erklärt.

Da nur der Tabreiter im SelectionScreen Subscreens einbinden kann, muss der für meine Lösung herhalten.

Was macht das Program?
Es wird ein Tabreiter auf dem SelectionScreen erzeugt, der das Dynpro 1001
als Subscreen einbindet. Das Dynpro 1001 bringt den Texteditor mit, über zwei weitere SubScreen-Bereiche werden die Subscreens 1002 und 1003 in das Dynpro 1001 eingebunden. Die Suubscreens 1002/1003 bringen die Felder für Überschrift bzw. Pfad-/Datei mit.

Bild davon in der Anlage

Neben dem unten angebotenen Sourcen, muss das Dynpro 1001 als Subscreen angelegt werden.

ElementListe des Dynpros 1001:

Code: Alles auswählen.

SUB_HEAD	SubSc	1	1	75	7	3
CONTROL	CuCtr	5	1	75	75	6 
SUB_FOOT	SubSc	12	1	75	75	3
Also von oben nach unten ein Subscreen-Bereich "SUB_HEAD", dann ein CUSTOMER CONTROL "CONTROL", dann wieder ein Subscreenbereich "SUB_FOOT". Größen können selber angepasst werden, jedoch nicht breiter als 79.
Ablauflogik des Dynpros:

Code: Alles auswählen.

 
PROCESS BEFORE OUTPUT.
* SubScreen für Überschrift einbinden
 CALL SUBSCREEN sub_head INCLUDING sy-repid '1002'.
* SubScreen für Datei einbinden
 CALL SUBSCREEN sub_foot INCLUDING sy-repid '1003'.

*Texteditcontroll erstellen
 MODULE INIT_1001.

PROCESS AFTER INPUT.
* SubScreen für Überschrift
 CALL SUBSCREEN sub_head.
* SubScreen für Datei 
 CALL SUBSCREEN sub_foot.
* Text aus Texteditcontrol hohlen
 MODULE GET_TEXT_1001.
Rest des Reports:

Code: Alles auswählen.

REPORT irgendwas.

************************************************************************
*                     DATA-DEFINITION                                  *
************************************************************************
DATA:
*   texteditor
    g_editor    TYPE REF TO cl_gui_textedit,
*   Custom Controll
    g_container TYPE REF TO cl_gui_custom_container,
*   Text des Editos
    gt_tab(256) TYPE c OCCURS 0,
    gw_tab(256) TYPE c.

************************************************************************
*                     SELECTION SCREEN                                 *
************************************************************************
* Selection-Screen mit 1 Tabreiter, welcher das Dynpro 1001 als Subscreen einbindet
  SELECTION-SCREEN BEGIN OF TABBED BLOCK tab1 FOR 10 LINES.
  SELECTION-SCREEN TAB (50) tb1 USER-COMMAND '' DEFAULT SCREEN 1001.
  SELECTION-SCREEN END OF BLOCK tab1.

* Selection Screen für die Überschrift, wird von Dynpro 1001 als Subscreen eingebunden
  SELECTION-SCREEN BEGIN OF SCREEN 1002 AS SUBSCREEN.
  PARAMETERS: p_ueber TYPE char128.
  SELECTION-SCREEN END   OF SCREEN 1002.

* Selection Screen für die Datei, wird von Dynpro 1001 als Subscreen eingebunden
  SELECTION-SCREEN BEGIN OF SCREEN 1003 AS SUBSCREEN.
  PARAMETERS p_datei LIKE rlgrap-filename.
  SELECTION-SCREEN END   OF SCREEN 1003.
************************************************************************
*                      INITIALIZATION                                  *
************************************************************************
INITIALIZATION.
  tb1 = '@3J@Text pflegen'. "Tabreiter mit Überschrift und Icon versorgen

************************************************************************
*                     START-OF-SELECTION                               *
************************************************************************
START-OF-SELECTION.
* Eingaben vom SelectionScreen:
* Überschrift ausgeben
  WRITE: / p_ueber.
* Text ausgeben
  LOOP AT gt_tab INTO gw_tab.
    WRITE: / gw_tab.
  ENDLOOP.
* Link auf Datei ausgeben
  WRITE: / p_datei.

************************************************************************
*                          FORMS                                       *
************************************************************************
*---------------------------------------------------------------------*
*      Module  INIT_1001  OUTPUT
*---------------------------------------------------------------------*
*      Initialisieren des Controls, Aufbau des Textedit-Control
*---------------------------------------------------------------------*
MODULE init_1001 OUTPUT.
* Wenn Editor noch nicht gestartet dies hier tun:
  IF g_editor IS INITIAL.
    CREATE OBJECT g_container
       EXPORTING
           container_name = 'CONTROL'
       EXCEPTIONS
           cntl_error = 1
           cntl_system_error = 2
           create_error = 3
           lifetime_error = 4
           lifetime_dynpro_dynpro_link = 5.

    IF sy-subrc NE 0.
*      add your handling
    ENDIF.

    CREATE OBJECT g_editor
      EXPORTING
        parent                     = g_container
        wordwrap_mode              = cl_gui_textedit=>wordwrap_at_fixed_position
        wordwrap_to_linebreak_mode = cl_gui_textedit=>true.

  ENDIF.
ENDMODULE.                 " INIT_1001  OUTPUT
*---------------------------------------------------------------------*
*      Module  GET_TEXT_1001  INPUT
*---------------------------------------------------------------------*
*       Hohlt den Text aus dem Textcontrol
*---------------------------------------------------------------------*
MODULE get_text_1001 INPUT.
*-- Aktuellen Inhalt des TextEditControls lesen
  CALL METHOD g_editor->get_text_as_r3table
    IMPORTING
      table = gt_tab.
ENDMODULE.                 " GET_TEXT_1001  INPUT

************************************************************************
*                      END OF SCOURCE                                  *
************************************************************************
Gruß Hendrik

Re: Selektion mit Eingabefenster statt PARAMETERS etc.

Beitrag von black_adept (Top Expert / 4157 / 136 / 959 ) »
JHM hat geschrieben: Da nur der Tabreiter im SelectionScreen Subscreens einbinden kann, muss der für meine Lösung herhalten.
Das stimmt so aber nicht. Hier bei SAP wird erklärt wie es auch ohne Tabstrips funktioniert. Oder einfach mal hier im Forum suchen.

Wenn das Textfeld nicht zwingend zwischen den beiden anderen Feldern liegen muss könnte man alternativ auch wie folgt vorgehen um die Subscreens zu vermeiden .
Definiert dir einen Dockingcontainer an deinen Selektionsschirm ( unten oder rechts docken sieht in so einem Fall recht hübsch aus ) und schick da ein Texteditcontrol rein.

Letztendlich wäre es auch möglich gleich einen Dynpro xxxx zu definieren und in dem die Variablen und Controls so anzuordnen wie man möchte und diesen anstatt des üblichen Selektionsbildes anzusteuern. In diesem Fall verzichtet man aber über die von SAP generierten Zusätze bgzl. Variantenverwaltung.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Selektion mit Eingabefenster statt PARAMETERS etc.

Beitrag von JHM (Top Expert / 1221 / 2 / 204 ) »
black_adept hat geschrieben: Das stimmt so aber nicht. Hier bei SAP wird erklärt wie es auch ohne Tabstrips funktioniert.
Und wieder was gelernt. Die F1-Hilfe unter ERP2004 schweigt sich dazu aus.
Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

2
Antw.
11563
Views
Parameters-Name ändern
von aaaarrrggh » 10.10.2006 11:58 • Verfasst in ABAP® für Anfänger
3
Antw.
1820
Views
F4-Hilfe bei Parameters
von L0w-RiDer » 12.12.2019 18:34 • Verfasst in ABAP® für Anfänger
4
Antw.
5986
Views
Wildcards Suche in Parameters
von Oliver Hagn » 24.10.2006 15:58 • Verfasst in ABAP® Core
1
Antw.
2518
Views
Verschlüsseln eines Parameters
von gregor2001 » 22.06.2006 11:41 • Verfasst in ABAP® Core
1
Antw.
7953
Views
PARAMETERS: DEFAULT (Kommazahl)
von chrislo » 05.04.2011 11:03 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

SFP/SEGW - Fehler beim Rendering
vor einer Woche von Manfred K. 1 / 44013
Pflegeview zeigt nicht alle Daten an
vor einer Woche von sapdepp gelöst 7 / 45766
ALV Grid und Dynprofeld
vor einer Woche von PeterPaletti 5 / 43885

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

SFP/SEGW - Fehler beim Rendering
vor einer Woche von Manfred K. 1 / 44013
Pflegeview zeigt nicht alle Daten an
vor einer Woche von sapdepp gelöst 7 / 45766
ALV Grid und Dynprofeld
vor einer Woche von PeterPaletti 5 / 43885

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
vor einer Woche von Manfred K. 1 / 44013
Benutzerdefinierte Felder PSP
letzen Monat von Rabea1103 1 / 94976
Spool vereinen OTF und PDF
January 2026 von anna2205 1 / 109986
XSLT und Loipro05 Transformation
December 2025 von Torsten1965 1 / 118183