Funktion Beendet den aktuellen Dialogschritt mit einer Fehlermeldung
Beispiel s10errormessage( 'Prozentsatz muss zwischen 0 und 100 liegen' ).
Aufruf data:
  myexplanation type string,
  myhtmlformat type string,
  mymsgid type sy-msgid,
  mymsgno type sy-msgno,
  mynoexplanation type string,
  mypar1 type string,
  mypar2 type string,
  mypar3 type string,
  mypar4 type string,
  mytext type string.

  s10errormessage(
    exporting
      explanation = myexplanation
      htmlformat = myhtmlformat
      msgid = mymsgid
      msgno = mymsgno
      noexplanation = mynoexplanation
      par1 = mypar1
      par2 = mypar2
      par3 = mypar3
      par4 = mypar4
      text = mytext ).
Parameter
Name Typ Bedeutung
explanation string
Erklärung der Nachricht
htmlformat string
'X' = Nachrichtentext ist in HTML
msgid sy-msgid
Message Id Tabelle T100
msgno sy-msgno
Meldungsnummerntabelle T100
noexplanation string
'X' = Keine Erklärung anzeigen
par1 string
Meldungsparameter 1
par2 string
Nachrichtenparameter 2
par3 string
Meldungsparameter 3
par4 string
Meldungsparameter 4
text string
Messagetext
Beschreibung Durch s10errormessage() wird der aktuelle Dialogschritt abgebrochen und eine Fehlermeldung angezeigt. Beispiel:

if vtimehhmm > etimehhmm.
  s10errormessage
'Anfangszeit liegt nach Endezeit' ).
endif.

Falls Sie in der HTML-Seite ein Element der Klasse "messagearea" definiert haben

 <div class="messagearea"></div>

wird die Nachricht dort eingeblendet. Andernfalls erscheint sie als Popup:

Das Popup wird unterhalb des HTML Elements angezeigt, das die Aktion ausgelöst hat, im Beispiel die Drucktaste "Speichern".

Wenn mit der Fehlermeldung eine Erläuterung angezeigt werden soll, wird immer die Darstellung als Popup verwendet.

Falls die Fehlermeldung aus einer Prüfmethode des Objekts ausgegeben wurde, erhält das zu prüfende Attribut den Eingabefokus. Falls mehrere Attribute geprüft werden, erhält das erste Attribut den Eingabefokus.

validations
   
methods:
      
validate_time
        
importing
          
vtimehhmm type string
          etimehhmm
 type string.

  method validate_time.

* correct times?
    
if vtimehhmm > etimehhmm.
      s10errormessage
'Anfangszeit liegt nach Endezeit' ).
    
endif.

  endmethod.

Der Meldungstext kann entweder direkt mitgegeben oder in der SAP Nachrichtentabelle T100 sprachenabhängig abgelegt werden. Für Tabelle T100 geben Sie die Parameter "msgid" und "msgno" an. Für anwendungsspezifische sprachabhängige Nachrichten können Sie auch die Funktion s10localize() verwenden:

s10errormessages10localize'TIME_INTERVAL_ERROR' ) ).

Die Platzhalter &1, &2, &3, &4 werden im Text durch die angegebenen Variablenwerte ersetzt. Denken Sie bei der Übergabe der Parameter daran, das externe Format herzustellen, damit z.B. eine Kundennummer ohne führende Nullen angezeigt wird. Beispiel:

s10errormessage
      exporting
 
          msgid
 'F2' 
         
msgno '153' 
         
par1 s10getuservalue'kunnr) ).

Falls Sie eine Nachricht aus Tabelle T100 verwenden, wird die im SAP System abgelegte Erläuterung der Nachricht mit angezeigt.

Beispiel der Verwendung einer SAP-Standardmeldung mit Erläuterung:

  s10errormessage(
         
exporting
           msgid
 '00'
           msgno
 '058'
           par1 
search_land1
           par4 
'T005').

 

Sie können die Erläuterung durch den Parameter "noexplanation = 'X' " unterdrücken.

Die Nachricht selbst wird als Text ohne Formatierungen ausgegeben. Falls Sie spezielle Formatierungen benötigen, können Sie den Parameter "htmlformat = 'X' " setzen und im Nachrichtentext HTML verwenden :

     s10errormessage(
         
exporting
          
text |Länderschlüssel <span style='font-weight:bold;color:red'>|
                 && search_land1 && |</span>| 
                 && | nicht 
in Tabelle <b>T005</b> enthalten|
          htmlformat 
'X' ).

Das bezieht sich dann auch auf eine mit "explanation" mitgegebene Erläuterung:

s10errormessage(
         
exporting
          
text |Länderschlüssel <span style='font-weight:bold;color:red'>|
                 && search_land1
                 && |</span> nicht 
in Tabelle <b>T005</b> enthalten|
          
explanation  |<b>Hinweis</b>|
                 && |<
br>Die Ländertabelle T005 wird von SAP im |
                 && |Mandant 000
durch Support Packages gepflegt.|
          
htmlformat  'X' ).

 

Komponente S10 Framework