Excel über OLE-Schnittstelle Nachkommastellen

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

Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Hallo,
ich habe folgendes Problem.
Ich lese Daten aus einer DB-Tabelle aus. Die werden per OLE-Schnittstelle in eine Excel-Datei geschrieben. So weit, so schön.
Das Dumme an der Sache: bei Dezimalwerten mit Nachkomma-Stellen verschwinden die Nachkomma-Stellen auf unerklärliche Weise. Ich erhalte nur die Werte vor dem Komma.
Ich habe schon im ABAP-Programm nachgeschaut. Da werden die Werte korrekt übergeben.
Das Problem muss meines Erachtens irgendwo an Excel liegen.
Hat da jemand vielleicht eine Idee?

Gruß
Peter

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


Re: Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von black_adept (Top Expert / 3944 / 105 / 886 ) »
Hallo Peter,

1.) Kommen die Zahlen ohne Nachkomma im Excel an oder werden sie nur ohne Nachkommastellen angezeigt?
2.) Was für ein Datenelement enthält die Daten, die du nach Excel rüberschiebst
3.) Dein Aufruf zum Schreiben der Zelle sieht etwa so aus, oder?

Code: Alles auswählen.

        SET PROPERTY OF me->ms_ole2_cell 'Value' = <ls_field> NO FLUSH.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Der Aufruf sieht so aus:

Code: Alles auswählen.

PERFORM set_cell_value USING lv_zeile 4 wa_period-kondwert_n lc_no_bold lc_no_underln lc_align_left.

FORM set_cell_value USING p_zeile p_spalte p_wert p_bold p_ul p_align.

  CALL METHOD OF o_excel 'Cells' = o_cell
         EXPORTING
            #1 = p_zeile                                            "Zeile
            #2 = p_spalte.
  PERFORM check_excel_error.

  SET PROPERTY OF o_cell 'Value' = p_wert.
  PERFORM check_excel_error.

  GET PROPERTY OF o_cell 'Font' = o_font.
  PERFORM check_excel_error.

  SET PROPERTY OF o_font 'Underline' = p_ul.
  PERFORM check_excel_error.

  SET PROPERTY OF o_font 'Bold' = p_bold.
  PERFORM check_excel_error.

* "
*  SET PROPERTY OF o_cell 'HorizontalAlignment'    = p_align.
*  PERFORM err_handler USING 'HorizontalAlignment'.

  FREE OBJECT o_cell.
  FREE OBJECT o_font.
Das Datenelement ist ein Z-Element. vom Type DEC 15,2

Die Zahlen kommen ohne Nachkomma in Excel an.

Re: Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von black_adept (Top Expert / 3944 / 105 / 886 ) »
Schaufel die Daten mal vor dem SET PROPERTY in ein Float-Feld und schick dann das Float-Feld an Excel und schau im Debugger, ob das Float-Feld auch wirklich den Wert hat, den es haben soll.

Code: Alles auswählen.

FORM set_cell_value USING p_zeile p_spalte p_wert p_bold p_ul p_align.

data: f type f.
  CALL METHOD OF o_excel 'Cells' = o_cell
         EXPORTING
            #1 = p_zeile                                            "Zeile
            #2 = p_spalte.
  PERFORM check_excel_error.

f = p_wert.
  SET PROPERTY OF o_cell 'Value' = f.
  PERFORM check_excel_error.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
PeterPaletti

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Ich sag mal ganz vorsichtig,
Es scheint zu klappen.

Mein Problem ist, dass der Fehler nur beim Kunden auftritt, bei mir arbeitet das Programm auch so richtig.

Re: Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Zu früh gefreut,
jetzt werden nicht nur die Nachkomma-Stellen abgeschnitten, sondern auch drei Stellen vor dem Komma.

Re: Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von black_adept (Top Expert / 3944 / 105 / 886 ) »
Hast du im Debugger geschaut, dass auch wirklich die richtige Zahl in das FloatFeld geschrieben wird?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von black_adept (Top Expert / 3944 / 105 / 886 ) »
Und hast du dir die Formatierung des Excelsheets angesehen, ob das nicht eventuell als "keine Nachkommastellen" angegeben ist oder eine Längenbegrenzung hat?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Excel über OLE-Schnittstelle Nachkommastellen

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Das Problem ist:
Wenn ich auf dem Kundensystem die Aktion ausführe, bekomme ich die richtigen Daten, ganz egal ob der ABAP-Typ P decimals ist oder float, alles läuft korrekt.
Ich habe auch im Debugger nachgeschaut, alles korrekt.
Wenn der Kunde die Aktion ausführt, kommt es auf Tagesform an, mal erhält er die richtigen Daten, mal sind die Nachkommstellen weg.
An der Formatierung der Zelle kann es eigentlich nicht liegen, weil die Nachkommastellen angezeigt werden, nur sind die eben .00.
Ich finde das Ganze völlig rätselhaft.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1625
Views
ole: excel übernimmt keine nachkommastellen bei zahlenfeld
von cedre » 14.06.2004 14:03 • Verfasst in ABAP® Core
1
Antw.
1760
Views
Desktop Integration Excel Schnittstelle
von Johannes » 30.06.2005 12:32 • Verfasst in ABAP Objects®
5
Antw.
2395
Views
Nachkommastellen ab der dritten abschneiden.
von Nordlicht » 02.02.2021 09:32 • Verfasst in ABAP® für Anfänger
0
Antw.
1159
Views
2
Antw.
1372
Views
Nachkommastellen bei einfügen in Tabelle
von Andrzej » 07.05.2017 18:31 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 74

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

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 74

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 132
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 166