Excel Intagration

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Excel Intagration

Beitrag von Ornella ( / / 0 / 3 ) »
Hi,

wie die Probleme sich ähneln ;-) meins ist allerdings etwas Schwerer.

ich habe ein Problem mit dem Excelaufruf und finde irgendwie keine Lösung. Nachdem ich mit der Methode 'get_spreadsheet_interface' Spreadsheet-Instanz angelegt habe, rufe ich die Methode 'insert_range' auf. Da bekomme ich sofort als Retcode = 'CALL_NOT_FLUSHED' und 'DP_ERROR_TAB'. Ich hab im OSS danach gesucht aber nix gefunden. Ist einem dieser Fehler bekannt? Bin einfach verzweifelt.

Wir haben Basisreleses 6.20

Küsschen

Ornella Santini

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


Beitrag von Gast ( / / 0 / 3 ) »
Hi Ornella,

kannst Du bitte den relevanten Teil Deines Codings posten? Thnx.

mico

Coding zu der Excel-Integration

Beitrag von Ornella ( / / 0 / 3 ) »
Hallo mico,

ich poste hier nochmals die Coding.


* Methodenaufrufe

call method c_oi_container_control_creator=>get_container_control
importing
control = control
error = error
retcode = retcode.

append error to error_table.




create object container
exporting
* PARENT =
container_name = 'CONTAINER'
* 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 ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.





call method control->init_control
exporting
* DYNPRO_NR = SY-DYNNR
* GUI_CONTAINER = ' '
inplace_enabled = 'X'
* INPLACE_MODE = 0
* INPLACE_RESIZE_DOCUMENTS = ' '
inplace_scroll_documents = 'X'
* INPLACE_SHOW_TOOLBARS = 'X'
no_flush = 'X'
* PARENT_ID = cl_gui_cfw=>dynpro_0
r3_application_name = 'kundenliste'
* REGISTER_ON_CLOSE_EVENT = ' '
* REGISTER_ON_CUSTOM_EVENT = ' '
* REP_ID = SY-REPID
* SHELL_STYLE = 1384185856
parent = container
* NAME =
* AUTOALIGN = 'x'
importing
error = error
retcode = retcode.

append error to error_table.





call method control->get_document_proxy
exporting
document_format = document_format
document_type = document_type
* NO_FLUSH = ' '
* REGISTER_CONTAINER = ' '
importing
document_proxy = document
error = error
retcode = retcode.


append error to error_table.




call method document->create_document
exporting
create_view_data = ' '
document_title = 'Kundenliste'
* NO_FLUSH = ' '
open_inplace = ' '
* OPEN_READONLY = ' '
* ONSAVE_MACRO = ' '
* STARTUP_MACRO = ''
importing
error = error
retcode = retcode.

append error to error_table.




call method document->get_spreadsheet_interface
exporting
no_flush = 'X'
importing
error = error
sheet_interface = spreadsheet
retcode = retcode .


append error to error_table.



sort it_schema by znr.

* Erstmal die Verdichteten Gruppenwerte ausgeben

loop at it_ksthier into fl_ksthier where level lt '2'.

* Bezugszeile für die Prozentrechnung lesen

perform lesen_bezugz.

loop at it_schema into fl_schema.

case fl_schema-summz.

* Titel der verdichtung ausgeben

when 'T'. "Titelzeile


perform ausg_titel.


* Einzelzeile der verdichtung ausgeben


when 'E'. "Einzelwertzeile

perform ausg_einzel_v.


* Summenzeile der verdichtung ausgeben


when 'S'. "Summenzeile

perform ausg_summe_v.



endcase.

endloop.



* Neues Blatt einfügen



call method spreadsheet->add_sheet
exporting
name = fl_ksthier-kstid
no_flush = 'X'
importing
error = error
retcode = retcode.

******hier liefert das Programm call_no_flushed****

call method spreadsheet->insert_range
exporting
columns = 20

rows = 25
no_flush = 'X'
name = 'Deckung'
* UPDATING = -1
importing
error = error
retcode = retcode.

append error to error_table.



call method spreadsheet->insert_one_table
exporting
ddic_name = 'ZCO_DB_EXCEL'
data_table = it_excel
* FIELDS_TABLE =
rangename = 'Deckung'
no_flush = 'X'
wholetable = spreadsheet->spreadsheet_insertall
* UPDATING = -1
importing
error = error
retcode = retcode
.

append error to error_table.




* Formatieren

call method spreadsheet->cell_format
exporting
no_flush = ' '
cells = it_cells
importing
error = error
retcode = retcode.
append error to error_table.



Wenn ich die fehlermeldung anzeige , kommt der Text " Fehler beim Lesen einer Objekt-Property".

Das dumme ist, das Programm läuft auf meinem MiniWAS ohne Probleme, auf unserem Testsystem von der Firma kommt es zu dem Fehler. Ich habe noch testweise die Beipielprogramm von dem Buch "Enjoy SAP Controls" von Frank Wolf auf unserem Entwicklungssystem hochgeladen, da brechen die Programme auch ab. Für eine brauchbare Antwort bekommt derjenige ein feines Essen beim nächsten Antwerpen besuch bei Kerzenschein ;-) gespendet.

Ornella

Beitrag von Gast ( / / 0 / 3 ) »
Hi!

Habe in meinem Programm den gleichen Fehler. Das Programm funktioniert ohne Probleme und auf einmal bekomme ich diesen "CALL_NOT_FLUSHED" Fehler.

Mein Coding

Code: Alles auswählen.

* Erstellen eines Containers
  CALL METHOD c_oi_container_control_creator=>get_container_control
    IMPORTING
      control = control
      retcode = gs_retcode.

* Initialisieren des Containers
  CALL METHOD control->init_control
     EXPORTING
       r3_application_name     = 'ZMM_DELIVERY_OF_STOCKS'
       inplace_enabled         = ''
       parent                  = excel_container
       register_on_close_event = 'X'
     IMPORTING
       retcode = gs_retcode.

* Link Server mit Control Verbinden
  CALL METHOD control->get_link_server
    IMPORTING
      link_server = link_server
      retcode     = gs_retcode.

* Link Server starten
  CALL METHOD link_server->start_link_server
    EXPORTING
      link_server_mode   = link_server->link_server_customname
      server_name_suffix = 'DELIVERY'
    IMPORTING
      retcode            = gs_retcode.

* Dokumenten Proxy starten
  CALL METHOD control->get_document_proxy
    EXPORTING
      document_type = 'excel.sheet.8'
    IMPORTING
      document_proxy = document
      retcode = gs_retcode.

  SET HANDLER event_receiver->excel_close FOR document.

* Dokument öffnen
  CALL METHOD document->open_document
    EXPORTING
      document_url     = 'http://ntsap24/Prioritaetenliste.xls'
    IMPORTING
      retcode          = gs_retcode.

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
@Ornella,

du erzeugst das spreadsheet-Objekt mittels der "GET_SPREADSHEET_INTERFACE"-Methode des document-Objekts.

Allerdings hast du beim Aufruf dieser Methode den Parameter "no_flush" doch explizit auf "X" gesetzt ( was bedeutet, dass der Flush nicht ausgeführt wird).
Das ist aber nicht so schön, weil du ja mit dem Spreadsheetobjekt jetzt weiterarbeiten willst - es aber durch den fehlenden Flush gar nicht instanziiert wurde.

Am Besten setzt du bei der Methode "GET_SPREADSHEET_INTERFACE"-Methode den Parameter "no_flush" auf " " ( so wie du es auch bei den Aufrufen davor gemacht hast ) und das Problem sollte gelöst sein.

TIPP: Lies mal in der Dokumentation von der Tabellenkalkulationsschnittstelle den (ziemlich kurzen) Abschnitt über "generische Parameter)
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
Noch ein Hinweis.

Versuch mal das Programm im Debugger durchzuspielen. Aber setzt dort zum Testen den Schalter "Automation Controller: Aufträge immer synchron verarbeiten". Damit bekommst du dann Fehlermeldungen direkt beim Ausführen der Methode statt beim Ausführen des nächsten Flush.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Nochmal ohne Erfolg probiert

Beitrag von Ornella Santini ( / / 0 / 3 ) »
Hallo Stefan,

nett, dass Du da geantwortet hast. Ich habe an der Stelle, wo Du gesagt hast, dass ich no_flush auf " " setze habe ich gemacht. Es kommt wieder zu dem selben Fehler. Was mich zum wahnsinn triebt, dass das Programm auf meinem popeligen MiniWAS läuft, wo haufenweise SP fehlen, aber auf unserem Entwicklungssystem nicht.
Noch eine Frage, wo müsste ich den beim Debuggen Schalter "Automation Controller: Aufträge immer synchron verarbeiten" setzen?

Danke

Ornella

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
Auf dem Teil, wo man auch "Systemdebugging" oder "Verbuchungsdebugging" einstellen kann.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Danke Stefan

Beitrag von Ornella Santini ( / / 0 / 3 ) »
Hallo Stefan,

bedanke mich sehr für die Hilfe. Ich habs gefunden woran es lag. Die Struktur, die ich mit der Methode "insert_one_table" mitgebe, hatte ein Feld weniger und damit kam die Methode nicht klar. Allerdings ist die Fehlermeldung ziemlich unpassend. Aber na ja......

Für Deine Hilfe bekommst Du ein grosses Küsschen....
Und natürlich wenn Du irgendwie nach Antwerpen kommst ;-) eine riesen Schachtel belgische Pralinen..

Ornella Santini, z.Zt. in Antwerpen

Beitrag von black_adept (Top Expert / 4158 / 136 / 959 ) »
Ornella Santini hat geschrieben:Für eine brauchbare Antwort bekommt derjenige ein feines Essen beim nächsten Antwerpen besuch bei Kerzenschein gespendet.
Bild
Ornella Santini hat geschrieben: Für Deine Hilfe bekommst Du ein grosses Küsschen....
:oops:
Ornella Santini hat geschrieben: Und natürlich wenn Du irgendwie nach Antwerpen kommst ;-) eine riesen Schachtel belgische Pralinen..
Bild


Wie wärs mit :oops: + Bild? Bild
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

.....

Beitrag von Ornella ( / / 0 / 3 ) »
Hallo Stefan,

must ja nicht nach Antwerpen kommen ;-) Ich werde so Ende Juli Anfang August in Deutschlan sein, wahrscheinlich im Stuttgarter Raum, dann schreibe ich Dir

Gruss

Ornella

Seite 1 von 1

Vergleichbare Themen

0
Antw.
3228
Views
Excel Upload ohne Excel aber OpenOffice
von MarkusW » 23.01.2008 17:07 • Verfasst in ABAP® Core
2
Antw.
5388
Views
EXCEL Export aus SAP mit Excel 2003 / 2007
von hfahrian » 03.02.2014 11:34 • Verfasst in ABAP Objects®
3
Antw.
1919
Views
SAP --> Excel
von supermario73 » 12.08.2008 15:33 • Verfasst in ABAP® Core
0
Antw.
1270
Views
Excel
von Nadine_2706 » 25.09.2012 09:40 • Verfasst in ABAP® für Anfänger
8
Antw.
7278
Views
Excel und SAP
von Possy » 11.07.2007 11:24 • Verfasst in Material Management & Produktionsplanung

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.