Word-Datei anzeigen?

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Word-Datei anzeigen?

Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo,

ich möchte in SAP eine Word-Datei anzeigen. Leider habe ich keine passenden Beispiele gefunden und in OO kenne ich mich nicht aus. :(

Kann mir jemand Tipps geben?

Danke.

khb

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von edwin (Specialist / 300 / 9 / 68 ) »
Hallo,
Suche mal nach SAP Office Integration

Beispiel Progs :
SAPRDEMOWORD97INTEGRATION
SAPRDEMODOCUMENTCONTAINER
SAPRDEMODOCUMENTCONTAINER2

Gruss Edwin

Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo,
Danke für den Tipp. Word kann ich mittlerweile öffnen, aber ich weiß nicht, wie ich den Pfad und das Dokument mitgegen

Beitrag von edwin (Specialist / 300 / 9 / 68 ) »
Hallo,

es gibt eine Methode im "I_OI_DOCUMENT_PROXY" -
"OPEN_DOCUMENT", da musst Du den Dateinamen
im Parameter "DOCUMENT_URL" mitgeben,
dieser Parameter muss wie folgt aufgebaut sein :

'file://<Dein Dateinamen auf dem lokalen PC>'


Gruss Edwin

Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo Edwin,

das würde ich ja gerne ... aber wie bereits gesagt, ich kenne mich im OO-Umfeld überhaupt nicht aus :oops: .

Wie muss der Aufruf aussehen? :?:

Beitrag von edwin (Specialist / 300 / 9 / 68 ) »
Hallo khb,

ich werde Dir heute abend ein kleines Beispiel basteln.

Gruss Edwin

Beitrag von edwin (Specialist / 300 / 9 / 68 ) »
Hallo khb,
im Anschluss ein kleines Beispiel,
Du musst noch einen Screen 0100 anlegen
mit einem Custom Container Namens 'CONTAINER' und einen
PF-Status 'STAT0100' mit den "Pfeilen" = "BACK"
läuft unter ERP2005 und R4.7

Code: Alles auswählen.

REPORT  zshowworddoc MESSAGE-ID zerr.
TYPE-POOLS: sbdst.
INCLUDE officeintegrationinclude.
INCLUDE ole2incl.

PARAMETERS : pm_file TYPE rlgrap-filename DEFAULT 'c:\testword.doc'.

DATA: control          TYPE REF TO i_oi_ole_container_control.
DATA: document         TYPE REF TO i_oi_document_proxy.

DATA: container        TYPE REF TO cl_gui_custom_container.
DATA: activeX.
DATA: ok_code          TYPE sy-ucomm.
DATA: doc_url(255)     TYPE c.

DATA: retcode          TYPE t_oi_ret_string,
      document_type    TYPE soi_document_type,
      document_format  TYPE soi_document_type.

START-OF-SELECTION.
* Die URL !
  CONCATENATE 'file://' pm_file INTO doc_url.
  CALL SCREEN 100.

END-OF-SELECTION.
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STAT0100'.
*  SET TITLEBAR 'xxx'.
* Nur erzeugen falls noch nicht geschehen.
  IF control IS INITIAL.

    CALL FUNCTION 'GUI_HAS_ACTIVEX'
      IMPORTING
        return = activex.

    IF activex IS INITIAL.
      MESSAGE e000 WITH 'No ActiveX'.
    ENDIF.
* Container
    CALL METHOD c_oi_ole_control_creator=>get_ole_container_control
      IMPORTING
        control = control
        retcode = retcode.

    CALL METHOD c_oi_errors=>raise_message
      EXPORTING
        type = 'E'.

    CREATE OBJECT container
           EXPORTING container_name = 'CONTAINER'.

    CALL METHOD control->init_control
      EXPORTING
        r3_application_name      = 'Word97 Container'
        inplace_enabled          = 'X'
        inplace_scroll_documents = 'X'
        parent                   = container
        register_on_close_event  = 'X'
        register_on_custom_event = 'X'
      IMPORTING
        retcode                  = retcode.

    IF retcode NE c_oi_errors=>ret_ok.
      CALL METHOD c_oi_errors=>raise_message
        EXPORTING
          type = 'E'.
      EXIT.
    ENDIF.
* Word
    CALL METHOD control->get_document_proxy
      EXPORTING
        document_type   = 'Word.Document.8'
        document_format = document_format
      IMPORTING
        document_proxy  = document
        retcode         = retcode.

    IF retcode NE c_oi_errors=>ret_ok.
      CALL METHOD c_oi_errors=>raise_message
        EXPORTING
          type = 'E'.
      EXIT.
    ENDIF.

    IF NOT document IS INITIAL.
      CALL METHOD document->close_document.
    ENDIF.

* Open Dokument with URL -> filename
    CALL METHOD document->open_document
      EXPORTING
        document_url  = doc_url
        open_inplace  = 'X'
        open_readonly = 'X'
      IMPORTING
        retcode       = retcode.

    CALL METHOD c_oi_errors=>show_message
      EXPORTING
        type = 'E'.

    IF retcode NE c_oi_errors=>ret_ok.
      EXIT.
    ENDIF.
  ENDIF.
ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  DATA: l_ok_code   TYPE sy-ucomm.

  l_ok_code = ok_code.

  CLEAR ok_code.

  CALL METHOD cl_gui_cfw=>dispatch.

  CASE l_ok_code.
    WHEN 'BACK'.
      PERFORM free_all.
      LEAVE TO SCREEN 0.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Form  free_all
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM free_all .
  IF NOT document IS INITIAL.
* Sichern beim Schliessen ?
*     CALL METHOD document->close_document
*             EXPORTING do_save = 'X'.
    FREE document.
  ENDIF.
  IF NOT control IS INITIAL.
    CALL METHOD control->destroy_control
      IMPORTING
        retcode = retcode.
    FREE control.
  ENDIF.

ENDFORM.  
Ablauflogik:

Code: Alles auswählen.

PROCESS BEFORE OUTPUT.
 MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
 MODULE USER_COMMAND_0100.
Gruss Edwin

Beitrag von khb (Specialist / 184 / 7 / 1 ) »
Hallo Edwin,

Vielen Dank :D :D , funzt super!!!

Das werde ich mir mal genau ansehen, dfamit ich auch begreife, was da passiert.


Viele Grüße khb

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1424
Views
Dateien wie Excel, Word, Textdateien anzeigen
von tom1986 » 05.03.2009 11:14 • Verfasst in ABAP® für Anfänger
8
Antw.
2992
Views
OLE - Word-Datei
von Kerstin » 16.07.2008 11:38 • Verfasst in ABAP® Core
0
Antw.
1421
Views
Word-Datei laden, bearbeiten und wieder speichern ???
von chfreise » 29.05.2008 16:54 • Verfasst in ABAP® Core
4
Antw.
2216
Views
Excel-Datei anzeigen
von khb » 17.02.2009 14:47 • Verfasst in ABAP® Core
3
Antw.
2362
Views
HTML Datei in SAP anzeigen
von bouba » 06.08.2012 03:46 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.