Funktion Startet einen modalen Dialog
Beispiel myresult =
s10dialog( "change_order" ).
Aufruf data:
  myscreenid type string,
  myanchor type string,
  myheight type i,
  myleft type i,
  mytop type i,
  mywidth type i,
  myresult type string.

myresult =
  s10dialog(
    exporting
      screenid = myscreenid
      anchor = myanchor
      height = myheight
      left = myleft
      top = mytop
      width = mywidth ).
Parameter
Name Typ Bedeutung
screenid string
Neue Bildschirmkennung (HTML-Datei)
anchor string
Popup HTML Anker Element Id oder Name
height i
Popup-Höhe
left i
Popup links
top i
Popup oben
width i
Popup-Breite
result string
Ergebniswert
Beschreibung   Durch s10dialog() wird ein modaler Dialog gestartet. Nach Beenden des modalen Dialogs mit s10exitdialog() wird die Verarbeitung hinter der Anweisung s10dialog() fortgesetzt.

Beispiel

In einer Adressanzeige wird eine Drucktaste zur Adressänderung angeboten. In der entsprechenden ABAP Methode wird dazu durch s10dialog() ein modaler Dialog gestartet:


* show dialog to change address

    s10dialog
'address_change_dialog).

Der modale Dialog wird standardmässig als "fullscreen" angezeigt. Sie können durch Angabe einer Breite und Höhe stattdessen den Dialog als Popup anzeigen; optional kann dabei auch die obere linke Ecke des Popup-Dialogs festgelegt werden.

* show dialog to change address
    s10dialog
(
            
screenid 'address_change_dialog'
            height 
500
            width 
400 ).

 

Es ist in diesem Fall empfehlenswert, die Dialog-HTML-Seite mit einem schmalen Rand zu versehen:

<body style="border: 2px solid gray;" onload='init();'> 

Bei kleinen Bildschirmen (Smartphone-Grösse) wirken Popups oft unübersichtlich, sodass eine Fullscreen-Anzeige der Dialoge besser ist. Sie können die Werte
  s10session->devicewidth
  s10session->deviceheight
abfragen, wenn Sie je nach Bildschirmgrösse die Fullscreen oder die Popup-Darstellung wählen möchten. 

Falls die Koordinaten der linken oberen Ecke, also die Parameter "top" und "left", nicht angegeben sind, wird die Position des Popups automatisch bestimmt. Die Position des Popups kann auch relativ zu einem HTML-Element angegeben werden. Hierzu geben Sie mit dem Parameter "anchor" die in der HTML-Seite bei dem gewünschten Element mit id= oder name= gesetzen Wert mit.

Der Pfad der Dialog-HTML-Datei wird wie folgt gebildet:

Der Wert des Parameters "screenid" wird mit dem Namen der S10 Klasse zu einem Dateinamen zusammengesetzt, und zwar im Format "classname.screenid.html". Ein eventueller Namensraum im Klassennamen entfällt dabei zunächst. Beispielsweise wird bei screenid = "address_change_dialog" und Klassenname "/s10/customer" der Dateiname "customer.address_change_dialog.html" gebildet.

Diese Datei wird nun im in dem Projektpfad unter

classes/[classname]/views.[XX]/[Dateiname]

gesucht, wobei der Namensraum im Klassennamen mit einem Punkt abgetrennt wird und XX der zweistellige Sprachenschlüssel ist. Im Beispiel oben und Sprache Deutsch wäre das

classes/s10.customer/views.de/customer.address_change_dialog.html

Falls die Datei auf diese Weise innerhalb des Projekts nicht gefunden wird, erfolgt ein zweiter Zugriff im MIME-Repository im Pfad

sap/bc/bsp/[Namensraum]/public/classes/[classname]/views.[XX]/[Dateiname]

In unserem Beispiel:

sap/bc/bsp/s10/public/classes/customer/views.de/
                                                      customer.address_change_dialog.html

Damit können Dialoge zu globalen Klassen projektunabhängig abgelegt werden.

Der Resultatwert von s10dialog() ist der bei s10exitdialog() mitgegebene String.

Komponente S10 Framework