Ansicht
Dokumentation

CRM_WEBREQ_SIGNATURE_READ - Lesen der Signaturdaten zu einem Vorgang

CRM_WEBREQ_SIGNATURE_READ - Lesen der Signaturdaten zu einem Vorgang

General Material Data   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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_DOCUMENT
ET_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_DATA
GET_SIGNATURE_ERROR
NO_SIGNATURE
VERIFICATION_ERROR

Funktionsgruppe

CRM_WEBREQ_DIGSIG

ABAP 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 )