Funktion Ruft eine ABAP-Methode aus HTML auf
Beispiel <button type='button' class='button'
    onclick='S10Apply("save")'>
       Sichern
 
</button>
Parameter
Nr Description
1
Name der aufzurufenden Methode
2
Parameter string
3
Anker- Objekt
4
true wenn kein Datentransport von Eingabefeldern gewünscht ist
5
true wenn keine Prüfung von Pflichteingaben gewünscht ist

Beschreibung  Im aktuellen ABAP-Objekt wird die angegebene parameterlose Methode aufgerufen. Der Methodenname kann in Groß- oder Kleinbuchstaben angegeben werden.

Wenn die Methode nicht existiert, erfolgt kein Abbruch, sondern eine Warnmeldung im SAP-Anwendungslog, Transaktion SLG2, wenn der Loglevel auf 2 oder höher gesetzt ist. Einzelheiten finden Sie in der Referenz ABAP, s10applicationlog().

Der optional als zweiter Parameter angegebene String kann in der ABAP-Methode mit xxx  s10actionparameter() abgerufen werden. Sie können damit z.B. den Wert einer Auswahlliste direkt übergeben, wenn Sie den Wert nicht über name="..." an ein Klassenattribut binden wollen:

<select size="1" style="width: 120px;" class="inputselect"
    
onchange='S10Apply("navigate", this.value)'>
      <option value="">Springen...</option>
      <option value="addr">Addresse</option>
      <option value="bank">Bankdaten</option>
     
<option value="tax">Steuer</option>
</select>

Mit einem "externen Breakpoint" in ABAP können wir in der aufgerufenen Methode anhalten. Der übergebene String "bank" ist über s10actionparameter( ) zugänglich:

 

Wenn die Verarbeitung in der aufgerufenen Methode länger dauert, wird automatisch ein "processing icon" angezeigt, um dem Benutzer eine Rückmeldung zu geben:

Optional können Sie hier auch einen eigenen Zusatztext ausgeben, indem Sie hinter dem HTML-Element, das die Aktion auslöst, einen Text als "Verarbeitungsmeldung" angeben:

<!-- Display processing message -->
<div class="processingmessage">
   Daten werden eingelesen...
</div>

Während die von S10Apply() aufgerufene Methode läuft, kann der Benutzer keine zweite Aktion starten, die einen Methodenaufruf auslösen würde.
Der dritte Parameter in S10Apply(), das Ankerelement, wird selten benötigt. Sie können ihn verwenden, um anzugeben, an welchem HTML-Element die Verarbeitungsmeldung angezeigt werden soll. Wenn Sie kein Ankerelement angeben, nimmt S10Apply() das Element, das die Aktion ausgelöst hat.

Im folgenden Beispiel wird die Aktion bei "Bankdaten" ausgelöst, während die Verarbeitungsmeldung bei "Aktuelle Ansicht" angezeigt wird:

<div class="infoblock" style="width:150px;  height:50px;">
 
<label class='label'>Current view</label><br />
  <div class='output'
     style
="font-size:14px;  padding-top: 6px;  font-weight: bold;"
     name
='current_view' id='current_view'>
  </
div>
</div>

<div class="infoblock" style="width:150px;  height:50px;">
  
<select size="1" style="width: 120px;" class="inputselect"
      
onchange='S10Apply("navigate", this.value, document.getElementById("current_view"))'>

         <option value="">Springen...</option>
         <option value="addr">Addresse</option>
         <option value="bank">Bankdaten</option>
        
<option value="tax">Steuer</option>

   
</select>
</div>

<!-- Display processing message -->
<div class="processingmessage">
   Sicht wird gewechselt
</div>

Die Meldungen der aufgerufenen Methode werden in  der Nähe des Ankerelements ausgegeben:

navigate to special screen
  
method navigate.

    
case s10actionparameter( ).
      
when 'addr'.   "....
      
when 'bank'.
          s10ErrorMessage
'Bankdaten nicht vorhanden' ).
      
when 'tax'.    "....
    
endcase.

  
endmethod.

Bei speziellen Anwendungsfunktionen, z.B. "Abbrechen" oder "Hilfe", sollen die eingegebenen Werte in der Regel noch nicht in die Objektattribute transportiert werden. Dies können Sie erreichen, indem Sie den vierten Parameter auf "true" setzen.

Bevor S10Apply() die ABAP-Methode aufruft, prüft es automatisch, ob alle als obligatorisch gekennzeichneten Eingabefelder gefüllt sind:

<label class='label' for="bstnk">Customer reference</label>
<br />
<input class='input' required type="text" id='bstnk' name='bstnk'
      
maxlength="35"  style="width: 150px; " />


Wenn Sie als fünften Parameter von S10Apply() "true" angeben, z.B. für eine Funktion wie "Abbrechen", "Hilfe" oder "Wertehilfe", entfällt diese Prüfung.

In der aufgerufenen Methode können Sie mit  s10contextinfo()  auf weitere Werte der HTML-Seite zugreifen. Dies ist z.B. bei Tabellendarstellungen notwendig, wenn sich die Aktion auf die Tabellenzeile beziehen soll, in der der Benutzer die Aktion ausgelöst hat.
Komponente S10 Framework