EPO Consulting Wiki - Anzeige von UBL XML und Anhängen aus SAP ArchivLink

This is an old version of this page. To the new page please click here

Das ist eine alte Version dieser Seite. Zur neuen Seite klicken sie hier

Funktion Anzeige aus DZO / GOS

Nach Aufruf der Anlagenliste in "Dienste zum Objekt" / "Global Object Service" / kurz GOS wird nicht nur das archivierte UBL XML angezeigt, sondern zusätzlich

  • wird das UBL XML in das EPO UBL PDF umgewandelt und das resultierende PDF angezeigt, sowie
  • alle in das UBL XML eingebetteten Anhänge extrahiert und angezeigt.

Anlage eines Enhancements im Funktionsbaustein ARCHIVOBJECT_DISPLAY

Im Funktionsbaustein ARCHIVOBJECT_DISPLAY muss am Anfang ein implizites Enhancement implementiert werden.

Folgende Logik soll implementiert werden. Siehe auch das anschließende Coding Beispiel:

  1. Abfrage der Customizing Tabelle /EPO1/GOSARCH, ob das Archivobjekt und die Dokumentenart eingetragen sind. Es müssen also die für die UBL XML Archivierung verwendeten Dokumentenarten in die Tabelle /EPO1/GOSARCH eingetragen werden.
  2. Aufruf der Methode lo_xre_fetch->display_xrechnung( archiv_id = archiv_id arc_doc_id = archiv_doc_id ) aus der Klasse /epo1/cl_xre_fetch

Coding Beispiel für das GOS Enhancement

Beispielcoding für Enhancement (Aufruf über SE37 und den Funktionsbaustein ARCHIVOBJECT_DISPLAY oder über SE20 und das Enhancement OPTA mit ZF_DISPLAY_XINVOICE).

Enhancement zu OPTA für UBL XML.png

  1function archivobject_display.
  2"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$"$\SE:(1) Funktionsbaustein ARCHIVOBJECT_DISPLAY, Anfang                                                                                                    A
  3*$*$-Start: (1)---------------------------------------------------------------------------------$*$*
  4ENHANCEMENT 1  ZF_DISPLAY_XINVOICE.    "active version
  5*
  6  data: lo_xre_fetch type ref to /epo1/cl_xre_fetch,
  7        lv_reserve type toa01-reserve,
  8        lv_ar_object type /epo1/gosarch-AR_OBJECT,
  9        ls_toaom type toaom.
 10
 11* Display XML-Invice in separate dialog
 12*  check if document exists
 13   select single * from toaom into ls_toaom
 14     where sap_object = objecttype
 15       and ar_object = ar_object
 16       and ar_status = 'X'.
 17   if sy-subrc is initial.
 18     select single reserve from (ls_toaom-connection) into lv_reserve where archiv_id = archiv_id and arc_doc_id = archiv_doc_id.
 19     if sy-subrc eq 0.
 20       select single ar_object from /epo1/gosarch into lv_ar_object
 21         where sap_object = objecttype
 22           and ar_object = ar_object
 23           and reserve = lv_reserve.
 24       if  sy-subrc is initial.
 25         CREATE OBJECT lo_xre_fetch.
 26         lo_xre_fetch->display_xrechnung( archiv_id = archiv_id arc_doc_id = archiv_doc_id ).
 27         return. "leave function module
 28       endif.
 29     endif.
 30   endif.
 31
 32ENDENHANCEMENT.
 33*$*$-End:   (1)---------------------------------------------------------------------------------$*$*
 34*"----------------------------------------------------------------------
 35*"*"Lokale Schnittstelle:
 36*"  IMPORTING
 37*"     VALUE(ARCHIV_DOC_ID) LIKE  SAPB-SAPADOKID OPTIONAL
 38*"     VALUE(ARCHIV_DOC_INDEX) LIKE  SAPB-SAPADOKID DEFAULT SPACE
 39*"     VALUE(ARCHIV_ID) LIKE  TOAAR-ARCHIV_ID OPTIONAL
 40*"     VALUE(OBJECTTYPE) LIKE  TOAV0-SAP_OBJECT DEFAULT SPACE
 41*"     VALUE(OBJECT_ID) LIKE  TOAV0-OBJECT_ID DEFAULT SPACE
 42*"     VALUE(AR_OBJECT) LIKE  TOAV0-AR_OBJECT DEFAULT SPACE
 43*"     VALUE(LANGUAGE) DEFAULT SPACE
 44*"     VALUE(SIGN) LIKE  SAPB-SAPBZZ DEFAULT SPACE
 45*"     VALUE(WINDOW_ID) LIKE  SAPB-SAPWINID DEFAULT SPACE
 46*"     VALUE(WINDOW_TITLE) LIKE  SAPB-SAPWINTITL DEFAULT SPACE
 47*"     VALUE(DOC_TYPE) LIKE  TOAOM-DOC_TYPE DEFAULT SPACE
 48*"     VALUE(POSITIONINALFFILE) DEFAULT SPACE
 49*"     VALUE(NOGET) DEFAULT SPACE
 50*"     VALUE(PATHOFFILE) DEFAULT SPACE
 51*"     VALUE(EOF) DEFAULT SPACE
 52*"     VALUE(DALENGTH) LIKE  TOADL-DATALENGTH DEFAULT SPACE
 53*"     VALUE(PFSTATUS) LIKE  SY-PFKEY DEFAULT SPACE
 54*"     VALUE(REPORT) LIKE  RS38M-PROGRAMM DEFAULT SPACE
 55*"     VALUE(MULTIPLE) DEFAULT SPACE
 56*"  EXPORTING
 57*"     VALUE(RETURNCODE)
 58*"  TABLES
 59*"      DISPDOCS STRUCTURE  TOADI OPTIONAL
 60*"  EXCEPTIONS
 61*"      ERROR_ARCHIV
 62*"      ERROR_COMMUNICATIONTABLE
 63*"      ERROR_KERNEL
 64*"----------------------------------------------------------------------
 65
 66* if document class is missing, try to get it from the archive system
 67  if doc_type is initial and multiple <> 'X'.
 68    call function 'ARCHIVOBJECT_STATUS'
 69      exporting
 70        archiv_doc_id = archiv_doc_id
 71        archiv_id     = archiv_id
 72      importing
 73        document_type = doc_type
 74      exceptions
 75        others        = 0.
 76  endif.
 77
 78*  call function 'ALINK_DISPLAY_IMC'
 79*    exporting
 80*      archiv_doc_id  = archiv_doc_id
 81*      archiv_id      = archiv_id
 82*      window_id      = window_id
 83*      window_title   = window_title
 84*      document_class = doc_type
 85*      object_type    = objecttype
 86*      object_id      = object_id
 87*      document_type  = ar_object
 88*      multiple       = multiple
 89*    tables
 90*      dispdocs       = dispdocs
 91*    exceptions
 92*      others         = 1.
 93
 94CALL FUNCTION 'ALINK_DISPLAY_IMC'
 95    exporting
 96      archiv_doc_id  = archiv_doc_id
 97      archiv_id      = archiv_id
 98      window_id      = window_id
 99      window_title   = window_title
100      document_class = doc_type
101      object_type    = objecttype
102      object_id      = object_id
103      document_type  = ar_object
104      multiple       = multiple
105    tables
106      dispdocs       = dispdocs
107    exceptions
108    ERROR_IMC                           = 1
109    ERROR_CONTENTREPOSITORY             = 2
110    ERROR_ARCHIVELINK_CUSTOMIZING       = 3
111    OTHERS                              = 4
112          .
113if sy-subrc <> 0.
114    message id sy-msgid type sy-msgty number sy-msgno
115            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
116            raising error_archiv.
117
118endif.
119endfunction.

Anwendersicht in VF03 Faktura anzeigen

Faktura - Anlagenliste

Anlagenliste in VF03.png

Anzeige wählen

UBL XML aus Archiv auswählen zur Anzeige.png

UBL XML und PDF und Anhänge auswählen.png

UBL XML Anzeige aller Dokumente.png