Subscreen in dynpro einbauen !!!

Benutzeroberflächen in SAP®-Systemen.
17 Beiträge • Seite 1 von 2 (current) Nächste
17 Beiträge Seite 1 von 2 (current) Nächste

Subscreen in dynpro einbauen !!!

Beitrag von abap-strizi (ForumUser / 83 / 0 / 0 ) »
Hallo.

Ich habe mír schon alle postings in diesem forum über subscreens und so durchgelesen aber ich komm einfach nicht weiter!

ich habe einen hauptdynpro 0100 erstellt.
in diesem habe ich mit dem screenpainter ein subscreen feld namens SUBSCR gezeichnet.
dann habe ich noch einen dynpro 1111 erstellt mit dem dynprotyp: subscreen.

wenn ich jetzt mein coding aktivieren will kommt immer eine fehlermeldung.

bei dem befehl im pbo:
CALL SUBSCREEN SUBSCR INCLUDING '1111'.
fehlermeldung:
Nach "SUBSCREEN" wurde "." oder "ID ... FIELD ..." erwartet.

ich habs auch schon mit
CALL SUBSCREEN SUBSCR INCLUDING sy-repid '1111'.
versucht da kommt aber genau die gleich fehlermeldung.






Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  Z_SUBSCR_TEST                                               *
*&                                                                     *
*&---------------------------------------------------
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------

REPORT  z_subscr_test.


*----------------------------------------------------
* SUBSCREEN 2
*----------------------------------------------------

SELECTION-SCREEN BEGIN OF SCREEN 1111 AS SUBSCREEN.

SELECTION-SCREEN SKIP.                  "für die leerzeile am screen

PARAMETERS test TYPE i DEFAULT '1' obligatory.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF SCREEN 1111.



START-OF-SELECTION.
*---Aufruf des Ausgabescreens-----------------------------------------*
  CALL SCREEN 0100.


*---------------------------------------------------------------------*
*  MODULE status_0100 OUTPUT
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.

  SET PF-STATUS 'SCREEN_100'.
  CALL SUBSCREEN SUBSCR INCLUDING '1111'.

ENDMODULE.                    "status_0100 OUTPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.

  IF sy-ucomm = 'BACK' OR
      sy-ucomm = 'EXIT' OR
      sy-ucomm = 'CANCEL'.
    LEAVE PROGRAM.
  ENDIF.

  CALL SUBSCREEN SUBSCR.

ENDMODULE.                 " USER_COMMAND_0100  INPUT


bin für jede hilfe dankbar

mfg strizi

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Strizi,

die Anweisung CALL SUBSCREEN muss im PBO und PAI des Dynpro (hier 0100) aufgerufen werden.

Es ist ein reiner Dynpro-Befehl der in 'normalem' ABAP nichts zu suchen hat.
=> im Dynpro Hilfe dazu aufrufen...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von abap-strizi (ForumUser / 83 / 0 / 0 ) »
hallo egelram,

danke für die schnelle antwort.

du meinst ich soll wenn ich den dynpro 0100 doppelklicke in der ablauflogik:

Code: Alles auswählen.


PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
CALL SUBSCREEN SUBSCR INCLUDING z_subscr_test '1111'.


PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
CALL SUBSCREEN SUBSCR.


Beitrag von abap-strizi (ForumUser / 83 / 0 / 0 ) »
sry name falsch geschrieben =(

meinte ereglam =)

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Strizi,

richtig. Nur sollte der CALL SUBSCREEN vor dem Modul USER_COMMAND_0100 platziert werden, weil durch den CALL SUBSCREEN auch der PAI bzw. PBO des Subscreen in entsprechender Reihenfolge ausgelöst wird.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

noch eine frage =)

Beitrag von abap-strizi (ForumUser / 83 / 0 / 0 ) »
ok danke das habe ich jetzt geschafft.

Nun habe ich allerdings noch eine frage:

der eigentliche sinn warum ich einen subscreen einfügen will ist, dass ich in einen mit dem screepainter gezeichneten dynpro einen subscreen einfüge in dem ich zB: ein select-options einbaue!

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  Z_SUBSCR_TEST                                               *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  z_subscr_test.


TABLES:  nbew.


*---------------------------------------------------------------
* SUBSCREEN 2
*---------------------------------------------------------------

SELECTION-SCREEN BEGIN OF SCREEN 1111 AS SUBSCREEN.

SELECTION-SCREEN SKIP.                  "für die leerzeile am screen

SELECT-OPTIONS datum FOR nbew-bwidt obligatory. "von bis feld für datum

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF SCREEN 1111.


START-OF-SELECTION.

*---Aufruf des Ausgabescreens-----------------------------------------*
  CALL SCREEN 0100.


*---------------------------------------------------------------------*
*  MODULE status_0100 OUTPUT
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.

  SET PF-STATUS 'SCREEN_100'.


ENDMODULE.                    "status_0100 OUTPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.

  IF sy-ucomm = 'BACK' OR
      sy-ucomm = 'EXIT' OR
      sy-ucomm = 'CANCEL'.
    LEAVE PROGRAM.
  ENDIF.

ENDMODULE.                 " USER_COMMAND_0100  INPUT

Bekomme beim aktivieren immer die fehlermeldung:

Fehler beim Generieren des Selektionsbilds "1111" des Reports "Z_SUBSCR_TEST"

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Probier mal den Report RSDBGENA...
Der liefert genauere Informationen

Gruß,
Enno

Beitrag von abap-strizi (ForumUser / 83 / 0 / 0 ) »
in dem report wird einfach mit einem low und high field ein select-options nachsimuliert oder ??

btw. ihr müsst verzeihen bin totaler neuling
(3 wochen abap und sap)

gruß strizi

Re: noch eine frage =)

Beitrag von Jupp (ForumUser / 47 / 0 / 2 ) »
abap-strizi hat geschrieben:ok danke das habe ich jetzt geschafft.

Nun habe ich allerdings noch eine frage:

der eigentliche sinn warum ich einen subscreen einfügen will ist, dass ich in einen mit dem screepainter gezeichneten dynpro einen subscreen einfüge in dem ich zB: ein select-options einbaue!

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  Z_SUBSCR_TEST                                               *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  z_subscr_test.


TABLES:  nbew.


*---------------------------------------------------------------
* SUBSCREEN 2
*---------------------------------------------------------------

SELECTION-SCREEN BEGIN OF SCREEN 1111 AS SUBSCREEN.

SELECTION-SCREEN SKIP.                  "für die leerzeile am screen

SELECT-OPTIONS datum FOR nbew-bwidt obligatory. "von bis feld für datum

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF SCREEN 1111.


START-OF-SELECTION.

*---Aufruf des Ausgabescreens-----------------------------------------*
  CALL SCREEN 0100.


*---------------------------------------------------------------------*
*  MODULE status_0100 OUTPUT
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.

  SET PF-STATUS 'SCREEN_100'.


ENDMODULE.                    "status_0100 OUTPUT

*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.

  IF sy-ucomm = 'BACK' OR
      sy-ucomm = 'EXIT' OR
      sy-ucomm = 'CANCEL'.
    LEAVE PROGRAM.
  ENDIF.

ENDMODULE.                 " USER_COMMAND_0100  INPUT

Bekomme beim aktivieren immer die fehlermeldung:

Fehler beim Generieren des Selektionsbilds "1111" des Reports "Z_SUBSCR_TEST"
Wenn dein PBO

Code: Alles auswählen.

PROCESS BEFORE OUTPUT. 
MODULE STATUS_0100. 
CALL SUBSCREEN SUBSCR INCLUDING z_subscr_test '1111'. 
lautet dann wird der Programm-Name als ein Feld mit dem Namen z_subscr_test interpretiert.
Den Programm-Namen groß und in Hochkomma setzen

Code: Alles auswählen.

PROCESS BEFORE OUTPUT. 
MODULE STATUS_0100. 
CALL SUBSCREEN SUBSCR INCLUDING 'Z_SUBSCR_TEST' '1111'. 
oder aber du deklarierst im Report spasseshalber ein Feld namens z_subscr_test.

Code: Alles auswählen.

data z_subscr_test type sy-repid. 
und schiebst vor ersten Aufruf PBO den Wert von sy-repid ein

Code: Alles auswählen.

z_subscr_test = sy-repid. 

[/code]
Always Better Alternatives Possible.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Jupp,

das war eigentlich auch mein Ansatz zur Korrektur.
Merkwürdigerweise scheint das aber nicht das eigentliche Problem zu sein.

Ich habe mir mal erlaubt, das Programm von Strizi bei mir im System anzulegen und bekomme auch eine Fehlermeldung beim Generieren des Dynpro:

Code: Alles auswählen.

Der Include-Block ist nicht angegeben oder nicht definiert oder falsche Schreibweise.	
Dabei bin ich mir ziemlich sicher, genau dieses Konstrukt schon selbst bei einem Kunden verwendet zu haben... :evil:
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

FEHLER GEFUNDEN !!!

Beitrag von abap-strizi (ForumUser / 83 / 0 / 0 ) »
Hmm jetzt habe ich den fehler gefunden!
Ich habe den Dynpro 1111 selber händisch in der Objektliste mit der Eigenschaft 'Subscreen' angelegt.
Allerdings wird durch

Code: Alles auswählen.

SELECTION-SCREEN BEGIN OF SCREEN 1111 AS SUBSCREEN.
SELECT-OPTIONS: datum FOR nbew-bwidt.
SELECTION-SCREEN END OF SCREEN 1111.
schon ein dynpro angelegt und wenn man nun schon einen dynpro 1111 händisch angelegt hat kann er beim ausführen des reports nicht noch einen 2ten anlegen !

also einfach den händisch angelegten gelöscht und schon funktionierts.

bin daraufgekommen durch (wie ewx schon gepostet hat)
die erweiterte prüfung und in folge mit dem
report RSDBGENA...
....

mfg strizi

Beitrag von Jupp (ForumUser / 47 / 0 / 2 ) »
ereglam hat geschrieben:Hallo Jupp,

das war eigentlich auch mein Ansatz zur Korrektur.
Merkwürdigerweise scheint das aber nicht das eigentliche Problem zu sein.

Ich habe mir mal erlaubt, das Programm von Strizi bei mir im System anzulegen und bekomme auch eine Fehlermeldung beim Generieren des Dynpro:

Code: Alles auswählen.

Der Include-Block ist nicht angegeben oder nicht definiert oder falsche Schreibweise.	
Dabei bin ich mir ziemlich sicher, genau dieses Konstrukt schon selbst bei einem Kunden verwendet zu haben... :evil:
Die Fehlermeldung könnte darauf hindeuten, dass du vergessen hast den Subscreenbereich auf deinem Dynpro anzulegen.

Jupp
Always Better Alternatives Possible.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hi Jupp,

nach dem mich ein merkwürdiger Verdacht ereilt hatte, habe ich die Definition des Bereiches auf dem Screen mir noch einmal angesehen...
:shock: Man sollte CustomerControl und Subscreen nicht verwechseln... :oops:

Dann geht's auch mit dem Dynpro...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Jupp (ForumUser / 47 / 0 / 2 ) »
Was einen zu der Frage verleiten kann, wie bekomme ich select-options in ein Customer-Control unter? :roll:
Always Better Alternatives Possible.

Beitrag von abap-strizi (ForumUser / 83 / 0 / 0 ) »
gar nicht .... oder eventuell ausprogrammieren mit high und low und in die schon im abap dicitionary bestehende select-options struktur
speichern
zB.: für eine select-options datum ->> rsodatum
gruß

Vergleichbare Themen

2
Antw.
4215
Views
Auswahlknopf in Dynpro einbauen
von cut1 » 25.04.2007 13:44 • Verfasst in Dialogprogrammierung
1
Antw.
2226
Views
Dynpro als Subscreen einbinden
von the-FoX » 19.10.2004 15:53 • Verfasst in Dialogprogrammierung
6
Antw.
2292
Views
Dynpro Containerelement in Subscreen einfügen
von KaroDo » 30.05.2014 08:44 • Verfasst in ABAP® für Anfänger
6
Antw.
4815
Views
ALV- Edit-Function auf Dynpro aus Subscreen erzeugt
von jogi » 18.03.2005 15:00 • Verfasst in ABAP Objects®
5
Antw.
3393
Views
Dynpro "Kontrakt anlegen": Subscreen CUSTSCR1 erweitern
von Nordlicht » 03.09.2015 10:28 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Interne Tabelle
vor 16 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Interne Tabelle
vor 16 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111