[ABAP] SAP-Office: Emails und Attachements lesen

* Anhänge lesen mit Funktionsbaustein: SO_ATTACHMENT_READ

CLASS lcl_salv DEFINITION FINAL.

  PUBLIC SECTION.

    CLASS-DATA: o_salv TYPE REF TO cl_salv_table.
    CLASS-DATA: it_sood TYPE STANDARD TABLE OF sood WITH DEFAULT KEY.

    CLASS-METHODS on_double_click FOR EVENT double_click OF cl_salv_events_table
      IMPORTING
        row
        column
        sender.
ENDCLASS.

CLASS lcl_salv IMPLEMENTATION.

  METHOD on_double_click.
    IF o_salv IS BOUND.

* Wert in der geklickten Zelle holen
      DATA(it_sel) = o_salv->get_selections( )->get_selected_cells( ).

      IF lines( it_sel ) > 0.
* Schlüsselwerte der selektierten Zeile holen
        DATA(lv_soodk) = VALUE soodk( objtp = it_sood[ it_sel[ 1 ]-row ]-objtp
                                      objyr = it_sood[ it_sel[ 1 ]-row ]-objyr
                                      objno = it_sood[ it_sel[ 1 ]-row ]-objno ).

        DATA: it_sood5 TYPE STANDARD TABLE OF sood5 WITH DEFAULT KEY.

* SAPoffice: Ermitteln aller Anlagen zu einem Dokument
        CALL FUNCTION 'SO_ATTACHMENT_LIST_READ'
          EXPORTING
            object_id             = lv_soodk
          TABLES
            objects               = it_sood5
          EXCEPTIONS
            system_failure        = 1
            communication_failure = 2
            OTHERS                = 3.

        IF sy-subrc = 0.

          TRY.
              DATA: o_pop TYPE REF TO cl_salv_table.

              cl_salv_table=>factory( IMPORTING r_salv_table = o_pop
                                      CHANGING  t_table      = it_sood5 ).

              o_pop->get_functions( )->set_all( abap_true ).
              o_pop->get_columns( )->set_optimize( abap_true ).
              o_pop->get_display_settings( )->set_list_header( 'Attachements' ).
              o_pop->get_display_settings( )->set_striped_pattern( abap_true ).
              o_pop->get_selections( )->set_selection_mode( if_salv_c_selection_mode=>row_column ).

              o_pop->set_screen_popup( start_column = 1
                                       end_column   = 140
                                       start_line   = 1
                                       end_line     = 20 ).
              o_pop->display( ).
            CATCH cx_root INTO DATA(e_txt).
              WRITE: / e_txt->get_text( ).
          ENDTRY.

        ENDIF.
      ENDIF.
    ENDIF.
  ENDMETHOD.

ENDCLASS.

DATA: lv_obj_type TYPE sood-objtp.
DATA: lv_user TYPE usr02-bname.

SELECT-OPTIONS: so_type FOR lv_obj_type.
SELECT-OPTIONS: so_user FOR lv_user.
PARAMETERS: p_title TYPE sood-objdes DEFAULT ''.

INITIALIZATION.

* Emails: Typ "RAW"
  so_type[] = VALUE #( ( sign   = 'I'
                         option = 'EQ'
                         low    = 'RAW' ) ).

* Benutzer
  so_user[] = VALUE #( ( sign   = 'I'
                         option = 'EQ'
                         low    = sy-uname ) ).

START-OF-SELECTION.

* unscharfe Suche nach Email-Titel (Subject) mit "%"
  DATA(lv_title) = CONV sood-objdes( |%{ p_title }%| ).

* SAPoffice: Objektdefinition
  SELECT FROM sood AS s
    FIELDS *
    WHERE s~objtp IN @so_type
      AND s~ownnam IN @so_user
      AND s~objdes LIKE @lv_title
    INTO TABLE @lcl_salv=>it_sood.

  IF sy-subrc = 0.

    TRY.
* SALV-Table
        DATA: o_salv TYPE REF TO cl_salv_table.

        cl_salv_table=>factory( IMPORTING r_salv_table = lcl_salv=>o_salv
                                CHANGING  t_table      = lcl_salv=>it_sood ).

* Grundeinstellungen
        lcl_salv=>o_salv->get_functions( )->set_all( abap_true ).
        lcl_salv=>o_salv->get_columns( )->set_optimize( abap_true ).
        lcl_salv=>o_salv->get_display_settings( )->set_list_header( 'Mails' ).
        lcl_salv=>o_salv->get_display_settings( )->set_striped_pattern( abap_true ).
        lcl_salv=>o_salv->get_selections( )->set_selection_mode( if_salv_c_selection_mode=>row_column ).

* Spaltenüberschriften: technischer Name und Beschreibungstexte, Short Text und Medium Text leer lassen für Autosize
        LOOP AT lcl_salv=>o_salv->get_columns( )->get( ) ASSIGNING FIELD-SYMBOL(<c>).
          DATA(o_col) = <c>-r_column.
          o_col->set_short_text( || ).
          o_col->set_medium_text( || ).
          o_col->set_long_text( |{ o_col->get_columnname( ) } [{ o_col->get_long_text( ) }]| ).
        ENDLOOP.

* Event-Hanlder für Link-Klick
        SET HANDLER lcl_salv=>on_double_click FOR lcl_salv=>o_salv->get_event( ).

        lcl_salv=>o_salv->display( ).

      CATCH cx_root INTO DATA(e_txt).
        WRITE: / e_txt->get_text( ).
    ENDTRY.
  ENDIF.

[SAP] SAPOffice: Sendeaufträge des SAPConnect (Workplace-Mails, EMails, Faxe …) ansehen / prüfen

Transaktionen


SOST
(SAPconnect Sendeaufträge)
SOSB (Übersicht Sendeaufträge (Benutzer))
SOSG (Übersicht Sendeaufträge (Gruppen))

  • Anzeige von Sendeaufträgen (Zeitraum, Sendestatus, Sender)
  • Mailversand manuell starten: Menü -> Sendeauftrag -> Sendeprozess für Auswahl starten

SOIN (BCS: Eingehende Sendeaufträge (SMTP))

Tabellen

SOST (SAPoffice: Statuslogtabelle)
SOOS (SAPoffice: Sendevorgang)
SOOD (SAPoffice: Objektdefinition)
SOES (SAPoffice: externer Sendevorgang)
SOFD (SAPoffice: Objektdefinition)
ADCP (Zuordnung Person/Adresse (Business Address Services))
ADRP (Personen (Business Address Services))
ADRC (Adressen (Business Address Services))
ADRCT (Texte zu Adressen (Business Address Services))
USR01 (Benutzerstamm (Runtimedaten))
USR05 (Benutzerstamm Parameter-ID)
USR06 (Zusatzdaten pro Benutzer)
SXNODES (SAPconnect: Kommunikationsknoten)
SXROUTE (SAPconnect: Routingtabelle)
SXPARAMS (SAPconnect: Parametertabelle)

Views

V_SO_SOST (Sendevorgänge Sendedatum und Titel)

Funktionsbausteine

SX_NODE_ID_DETERMINE (SAPconnect: Routingmodul (Findung des Ausgangsknotens))

  • Bestimmung CDG-Parameter für Sendergruppe (siehe Hinweis 2348016)

SO_ATTACHMENT_READ (SAPoffice: Lesen einer Anlage)
SO_ATTACHMENT_LIST_READ (SAPoffice: Ermitteln aller Anlagen zu einem Dokument)

Reports

RSCONN01 (SAPconnect: Sendeprozeß starten)

  • Variante für Mailversand über Batchjob: SAP&CONNECTINT

Paket

SO

Hinweis

Links