Ansicht
Dokumentation
CRM_WEBREQ_SIGNATURE_READ - Lesen der Signaturdaten zu einem Vorgang
General Material Data BAL Application Log DocumentationDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Dieser Funktionsbaustein zeigt für eine Auftragsnummer die Informationen zur digitalen Signatur an. Optional können Sie zusätzlich die Version angegeben, falls es mehrere Versionen zum Auftrag gibt. Es muss sich dabei um einen Web-Antrag handeln, da nur hier die Signaturdaten in einer XML-Struktur abgelegt werden. Zuerst wird das entsprechende XML-Dokument zum Auftrag ermittelt. Aus dieser Struktur werden dann die Signaturdaten ausgelesen.
ev_signature_value: | PKCS#7-Format incl. Zertifikat und Dokument |
ev_signature_format: | Gibt das Format der Signatur an |
ev_doctype: | Typ des signierten Dokumentes, z.B. "HTM" |
ev_user: | Benutzername des Unterzeichners |
ev_signature_version: | Version des Signatur-Controls |
et_document: | Signiertes Dokument als Quelltext |
et_signertab: | Tabelle mit Zertifikat, ID und Returncode |
Sie erhalten die Exception no_signature falls der Antrag nicht signiert wurde. Falls das Dokument nicht verifiziert werden konnte, wird die Exception verifikation_error ausgegeben. Wenn die Tabelle et_messagegefüllt ist, sind Verifikationsfehler aufgetreten, die dem Benutzer angezeigt werden können. So kann es z.B. vorkommen, dass das Zertifikat ausgelaufen ist, die Daten aber trotzdem korrekt sind.
Beispiel
Data:
lv_order TYPE CRMT_OBJECT_ID,
lv_version TYPE UXP_VERSION,
lv_signature_value TYPE string,
lv_signature_format TYPE string,
lv_doctype TYPE string,
lv_user TYPE string,
lv_signature_version TYPE string,
lt_document TYPE ssftxttab,
lt_message TYPE UXB_T_MESSAGE,
lt_signertab TYPE SSFSIGNERTAB.
,,
CALL FUNCTION 'CRM_WEBREQ_SIGNATURE_READ' | |
EXPORTING | |
iv_order | = lv_order |
iv_version | = lv_version |
IMPORTING | |
ev_signature_value | = lv_signature_value |
ev_signature_format | = lv_signature_format |
ev_doctype | = lv_doctype |
ev_user | = lv_user |
ev_signature_version | = lv_signature_version |
et_document | = lt_document |
et_signertab | = lt_signertab |
TABLES | |
et_message | = lt_message |
EXCEPTIONS | |
verification_error | = 1 |
error_in_reading_form_data | = 2 |
get_signature_error | = 3 |
no_signature | = 4 |
OTHERS | = 5. |
IF sy-subrc <> 0. | |
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno | |
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. | |
ENDIF. |
Hinweise
Weiterführende Informationen
Parameter
ET_DOCUMENTET_MESSAGE
ET_SIGNERTAB
EV_DOCTYPE
EV_SIGNATURE_FORMAT
EV_SIGNATURE_VALUE
EV_SIGNATURE_VERSION
EV_USER
IV_ORDER
IV_ORDERGUID
IV_SIGNATURE_ID
IV_VERSION
Ausnahmen
ERROR_IN_READING_XML_DATAGET_SIGNATURE_ERROR
NO_SIGNATURE
VERIFICATION_ERROR
Funktionsgruppe
CRM_WEBREQ_DIGSIGABAP Short Reference BAL_S_LOG - Application Log: Log header data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 8160 Date: 20240523 Time: 122737 sap01-206 ( 66 ms )