Erscheinungsbild
SignaturePad
Erlaubt dem Anwender, eine handschriftliche Unterschrift mit Maus, Stift oder Finger zu erfassen. Die Unterschrift wird als PNG-Bild im Base64-Format zurückgegeben und kann z.B. in einem Image angezeigt oder als XSTRING im SAP-System gespeichert werden.
Designer-Attribute
| Attribut | Beschreibung | Default |
|---|---|---|
controlId | Eindeutige ID | automatisch generiert |
width | Breite (CSS-Wert) (nur lesend) | 400px |
height | Höhe (CSS-Wert) (nur lesend) | 200px |
textClearButton | Beschriftung des Löschen-Buttons | Clear |
textSaveButton | Beschriftung des Speichern-Buttons | Save |
visible | Sichtbar | true |
value | Aktueller Wert (nur lesend) | – |
ABAP-API
Zugriff über me->get_signature_pad( '<controlId>' ).
| Methode | Zweck |
|---|---|
GET_VALUE | Liefert die Unterschrift als data:image/png;base64,... |
INIT | Pad leeren |
GET_TEXT_CLEAR_BUTTON / SET_TEXT_CLEAR_BUTTON | Beschriftung Löschen-Button |
GET_TEXT_SAVE_BUTTON / SET_TEXT_SAVE_BUTTON | Beschriftung Speichern-Button |
Geerbte Methoden: siehe Control.
Beispiel: /mobbuild/cl_ex_signature
Das Beispiel liest die Unterschrift bei einem Save-Event und übergibt sie direkt an eine Image-Komponente:
abap
METHOD on_pai.
IF me->get_event( )->get_event_key( ) EQ 'Save'.
DATA(lo_signature_pad) = me->get_signature_pad( 'signaturePad' ).
DATA(lo_signature_img) = me->get_image( 'imgSignature' ).
" The signature is transferred as data:image/png;base64
DATA(lv_data) = lo_signature_pad->get_value( ).
lo_signature_img->set_src( lv_data ).
ENDIF.
ENDMETHOD.
METHOD on_pbo.
me->init_controls( ).
ENDMETHOD.Unterschrift im SAP-System speichern
Der Rückgabewert von get_value() ist eine Daten-URL der Form data:image/png;base64,iVBORw0KGgo.... Trennen Sie den Präfix data:image/png;base64, ab und konvertieren Sie den Base64-Anteil mit cl_http_utility=>decode_x_base64() in ein XSTRING – damit lässt sich das Bild z.B. in einem MIME-Repository oder als BLOB in einer Tabelle ablegen.
Beispiel und Tipp gelten für On-Prem. In der S/4HANA Cloud tragen die Framework-Klassen das Präfix zmobbuild_ statt des Namensraums /mobbuild/, und es stehen nur freigegebene APIs zur Verfügung – siehe Unterschiede zu On-Prem und Mobile-Builder-API in der Cloud.
Events im Designer
| Event | Auslöser |
|---|---|
onSave | Unterschrift erfasst / gespeichert |