Excel Inplace (Tricktresor)

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Excel Inplace (Tricktresor)

Beitrag von Betze (ForumUser / 50 / 0 / 0 ) »
[b]HILFE[/b]

Habe mir das Beispiel Programm für Excel Inplace von Tricktresor genommen und wollte es gerne auf meine Wünsche umprogrammieren. Aber wenn ich es ausführe bekomme ich keine Daten. Er zeigt mir zwar das Excel Inplace an und auch die Farben aber die Daten nicht.

Weiß jemand wo der Fehler liegt??

Grüße und Danke

Bettina

[code]*----------------------------------------------------------------------*
* Instanz zum Custom Container anlegen
*----------------------------------------------------------------------*
CREATE OBJECT my_container
EXPORTING
* PARENT =
container_name = 'CC'
* STYLE =
* LIFETIME = lifetime_default
* REPID =
* DYNNR =
* NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE i398(00) WITH 'Fehler' sy-subrc
'beim Anlegen des Custom Container Controls'.
ENDIF.
*----------------------------------------------------------------------*
* Instanz zur zentralen Desktop Office Verwaltung erzeugen
*----------------------------------------------------------------------*
CALL METHOD c_oi_container_control_creator=>get_container_control
IMPORTING
control = obj_doi_control
error = obj_error.
* RETCODE =
IF NOT ( obj_error->has_succeeded = 'X' AND
obj_error->has_failed = ' ' ).
MESSAGE i398(00) WITH 'Fehler' obj_error->error_code
'beim Anlegen des DOI-Verwaltungsobjektes'.
ENDIF.
*----------------------------------------------------------------------*
* Zentrales Verwaltungs-Objekt an Dynpro-Container anbinden
*----------------------------------------------------------------------*
CALL METHOD obj_doi_control->init_control
EXPORTING
inplace_enabled = 'X'
no_flush = 'X'
r3_application_name = 'Flugliste'
parent = my_container
IMPORTING
error = obj_error.
IF NOT ( obj_error->has_succeeded = 'X' AND
obj_error->has_failed = ' ' ).
MESSAGE i398(00)
WITH 'Fehler' obj_error->error_code
'beim Initialisieren des DOI-Verwaltungsobjektes'.
ENDIF.
*----------------------------------------------------------------------*
* Instanz zum Excel-Dokument anlegen
*----------------------------------------------------------------------*
CALL METHOD obj_doi_control->get_document_proxy
EXPORTING
document_type = soi_doctype_excel_sheet
no_flush = 'X'
IMPORTING
document_proxy = obj_doi_document
error = obj_error.
IF NOT ( obj_error->has_succeeded = 'X' AND
obj_error->has_failed = ' ' ).
MESSAGE i398(00) WITH 'Fehler' obj_error->error_code
'beim Anlegen des XLS-Dokumentes'.
ENDIF.
*----------------------------------------------------------------------*
* Dokument (Excel-Sheet) anlegen
*----------------------------------------------------------------------*
CALL METHOD obj_doi_document->create_document
EXPORTING
document_title = 'Flugliste'
no_flush = 'X'
open_inplace = 'X'
IMPORTING
error = obj_error.
IF NOT ( obj_error->has_succeeded = 'X' AND
obj_error->has_failed = ' ' ).
MESSAGE i398(00) WITH 'Fehler' obj_error->error_code
'beim Anlegen des Excel-Sheets'.
ENDIF.
*----------------------------------------------------------------------*
* Instanz zum Spreadsheet (Excel-Schnittstelle) anlegen
*----------------------------------------------------------------------*
CALL METHOD obj_doi_document->get_spreadsheet_interface
EXPORTING
no_flush = ' '
IMPORTING
error = obj_error
sheet_interface = obj_doi_spreadsheet.
IF NOT ( obj_error->has_succeeded = 'X' AND
obj_error->has_failed = ' ' ).
MESSAGE i398(00) WITH 'Fehler' obj_error->error_code
'beim Anlegen der Excel-Schnittstelle'.
ENDIF.


DATA: t_ranges TYPE soi_range_list,
t_contents TYPE soi_generic_table.
DATA: rows TYPE i,
columns TYPE i.

columns = 60.
DESCRIBE TABLE wa_itab LINES rows.
* Datenbereich benennen
CALL METHOD obj_doi_spreadsheet->insert_range_dim
EXPORTING
no_flush = 'X' " Reicht bei nächstem Aufruf
name = 'ALL'
left = 1
top = 10
rows = rows
columns = columns
IMPORTING
error = obj_error.

* Faul sein - und Rangestabelle zurückgeben lassen
CALL METHOD obj_doi_spreadsheet->get_ranges_names
IMPORTING
error = obj_error
ranges = t_ranges.


DATA: error TYPE REF TO i_oi_error,
wa_range LIKE LINE OF t_ranges,
wa_content LIKE LINE OF t_contents.

* ACHTUNG - es müssen ALLE einträge in der Rangelist versorg werden
* und dort müssen auch ALLE Zellen ( auch wenn sie leer sind ) einmal
* auftauchen
DELETE t_ranges WHERE NOT name = 'ALL'.
CLEAR t_contents.
LOOP AT t_ranges INTO wa_range.
CASE wa_range-name.
WHEN 'ALL'.
LOOP AT wa_itab INTO itab.
CLEAR wa_content.
* Row und Column beziehen sich auf die linke obere Ecke des Bereichs
wa_content-row = sy-tabix.
wa_content-column = 1.

wa_content-value = itab-vbeln.
APPEND wa_content TO t_contents. ADD 1 TO wa_content-column.

wa_content-value = itab-inter.
APPEND wa_content TO t_contents. ADD 1 TO wa_content-column.

wa_content-value = itab-kunnr.
APPEND wa_content TO t_contents. ADD 1 TO wa_content-column.

wa_content-value = itab-anredf.
APPEND wa_content TO t_contents. ADD 1 TO wa_content-column.

wa_content-value = itab-anredh.
APPEND wa_content TO t_contents. ADD 1 TO wa_content-column.


wa_content-value = itab-name1.
APPEND wa_content TO t_contents. ADD 1 TO wa_content-column.


ENDLOOP.

WHEN OTHERS.
BREAK-POINT.STOP. " sollte nicht vorkommen, wenn korrekt
ENDCASE.
ENDLOOP.

* ACHTUNG! Formatierung VOR dem Setzen der Daten. Sonst kommt es bei
* z.B. Datumsfeldern zu seltsamen Effekten. Zum Testen die
* Formatierungsroutine mal HINTER die Datensetzenroutine setzen
* und staunen.
DATA t_cells TYPE soi_cell_table.
DATA wa_cell LIKE LINE OF t_cells.

wa_cell-top = 1.
wa_cell-left = 1.
wa_cell-rows = 60.
wa_cell-columns = 2.
* wa_cell-front = 5. " Blau - siehe Doku in SAP-Bibliothek
wa_cell-back = 27.
wa_cell-bold = 1.
wa_cell-number = 0.
wa_cell-font = 'Courier New'.
wa_cell-size = -1. " Default
APPEND wa_cell TO t_cells.

* Und ein paar Zellen formatieren - Bereiche lassen sich mit einer
* anderen Methode schnell komplett formatieren.
CALL METHOD obj_doi_spreadsheet->cell_format
EXPORTING
no_flush = 'X'
cells = t_cells
IMPORTING
error = error.

* Und jetzt die Daten in Spreadsheet schießen
CALL METHOD obj_doi_spreadsheet->set_ranges_data
EXPORTING
ranges = t_ranges
contents = t_contents
updating = -1
no_flush = 'X'
IMPORTING
error = error.

* Spaltenbreiten Optimieren
CALL METHOD obj_doi_spreadsheet->fit_widest
EXPORTING
no_flush = ' '
name = 'ALL'
IMPORTING
error = error.

[/code]

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


Beitrag von Grayhound (ForumUser / 37 / 0 / 0 ) »
Hi Betze,
ruf mal das Excel auf und geh mal unter Excel/Makro/Sicherheit.
Sieh mal nach, ob die Sicherheitsstufe auf Mittel steht und bei Vertrauenswürdige Herausgeber 'Zugriff auf Visual-Pasic Projekte vertrauen' und 'Allen installierten...vertrauen' angeklickt ist. Sonst werden keine Daten übertragen.
Viel Spaß noch,
Grayhound

Beitrag von Betze (ForumUser / 50 / 0 / 0 ) »
Also diese Einstellung habe ich alle so. Es kommt bei ausführen von CALL METHOD obj_doi_spreadsheet->cell_format der Fehler "CALL_NOT_FLUSH".
Was hat es eigentlich mit diesem Flush auf sich?

Beitrag von Betze (ForumUser / 50 / 0 / 0 ) »
Habe in zwischen den Fehler selber gefunden.

Seite 1 von 1

Vergleichbare Themen

5
Antw.
3602
Views
Excel Inplace
von Mr. ABAP » 14.03.2006 11:19 • Verfasst in ABAP Objects®
1
Antw.
2320
Views
Excel Inplace SAP R3
von Gast » 14.06.2005 11:23 • Verfasst in ABAP® Core
46
Antw.
13755
Views
ALV-OO und Excel Inplace
von Kerstin » 21.10.2013 15:45 • Verfasst in ABAP® Core
4
Antw.
4684
Views
i_oi_spreadsheet und Excel InPlace
von christop » 25.04.2005 14:53 • Verfasst in ABAP Objects®
4
Antw.
3744
Views
Begrenzung bei EXCEL-Inplace
von littleJohn » 06.06.2007 12:01 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 18 Stunden von black_adept gelöst 23 / 3836
User Exit EXIT_RQCPRM10_001
vor 18 Stunden von a-dead-trousers 2 / 325
Trennen Strasse und Hausnummer
Gestern von payten 13 / 10695
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1379

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.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 18 Stunden von black_adept gelöst 23 / 3836
User Exit EXIT_RQCPRM10_001
vor 18 Stunden von a-dead-trousers 2 / 325
Trennen Strasse und Hausnummer
Gestern von payten 13 / 10695
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1379

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2909
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9504