Excel

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

Excel

Beitrag von sap_all (ForumUser / 23 / 0 / 0 ) »
Hallo,

ich versuche mit DOI Methoden Daten ins Excel zu bringen.

Das Problem bei mir ist, dass ich das Excel-Template aus dem Business Dokument Services ( BDS ) mit open_document aufmache. Bis hierhin ist alles okay!
In diesem template habe ich auch ein Makro produziert, das dann ins Excel ein neuer Sheet mit Vorlage einfügt. Diesen rufe ich mit execute_makro auf. Wie kann ich ab diesem Zeitpunkt gewaehrleisten, dass das neue geöffnete Sheet mit Daten gefüllt wird. ich benutze danach die Methode
set_ranges_data. Aber das bringt kein Ergebnis!

Gibt es eigentlich ein anderer Weg, ohne Makro ein neues Sheet mit Vorlage zu erzeugen. Und mit welcher Methode kann ich das neue Blatt befüllen?

Grüsse
sap_all

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


Beitrag von black_adept (Top Expert / 4117 / 130 / 953 ) »
Hallo sap_all,

zuerst mal das Problem mit dem Öffnen der Blätter mit Vorlage.
Die Methode ist zwar genau das Gegenteil von dem was dumachst - aber es funktioniert gut.

Leg deine Vorlage mit z.B. 10 Sheets an, die alle der Vorlage entsprechen.
Beim Bearbeiten löscht du dann z.B. nicht benötigte 7 Sheets und du hast eine Excel-Worksheet mit 3 Blättern die so aussehen wie die Vorlage.

Zu dem Füllen der Daten.
Die Methode ist schon die Richtige. Was gibt es denn für einen Returncode?
Hast du alle Zellen in den Ranges übergeben - auch solche die leer bleiben sollen?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Excel

Beitrag von sap_all (ForumUser / 23 / 0 / 0 ) »
Hallo Stefan,

Danke für die rasche Antwort! Wie kann ich das Excelblatt auswaehlen, das ich befüllen möchte.
etwa mit select_sheet? ich habe es versucht mit select_sheet aber vergebens es wird immer zuletzt ausgewaehlte Blatt befüllt. ich setze das ganze im Loop um. Daher wird immer mit select_sheet das zuletzt ausgewaehlte Blatt befüllt.

Kannst du mir da helfen?

Grüsse
sap_all

Re: Excel

Beitrag von black_adept (Top Expert / 4117 / 130 / 953 ) »
sap_all hat geschrieben:Hallo Stefan,

Danke für die rasche Antwort! Wie kann ich das Excelblatt auswaehlen, das ich befüllen möchte.
etwa mit select_sheet? ich habe es versucht mit select_sheet aber vergebens es wird immer zuletzt ausgewaehlte Blatt befüllt. ich setze das ganze im Loop um. Daher wird immer mit select_sheet das zuletzt ausgewaehlte Blatt befüllt.

Kannst du mir da helfen?

Grüsse
sap_all
Ich versteh dich da nicht. Wenn immer das zuletzt gewählte Blatt befüllt wird wählst du halt Blatt x aus, schreibst deine Daten da rein, danach wählst du Blatt y aus, schreibst deine Daten da rein etc...

So hört sich das doch alles ok an.

Ein Tipp noch - zum Testen bei allen Methoden den generischen Parameter "no_flush" auf "X" setzen, damit du die returncodes im Debugger direkt auswerten kann. Wenn dann alles funktioniert die "X" sinnvoll durch " " ersetzen, um möglichst viel Geschwindigket zu erlangen.

test eintrag bitte löschen

Beitrag von Gast ( / / 0 / 3 ) »
Initialisierung der Fehlersteuerung und -analyse

Der Funktionsbaustein CM_F_INITIALIZE muß dann aufgerufen werden, wenn
beabsichtigt ist, Nachrichten mit Hilfe der Funktion CM_F_MESSAGE zu
sammeln und diese Nachrichten einer Analyse zu unterziehen bzw. gewisse
Informationen zu den gesammelten Nachrichten zu erhalten. Wird der
Funktionsbaustein CM_F_MESSAGE aufgerufen ohne das zuvor die Funktion
CM_F_INITIALIZE aufgerufen wurde, so gibt CM_F_MESSAGE die durch die
Importparameter klassifizierte Nachricht auf dem Bildschirm aus,
entsprechend dem ABAP/4 Befehl MESSAGE. Dem Funktionsbaustein wird als
Import-Parameter eine Objekt-ID mitgegeben, die bestimmt zu welchem
Objekttyp (z.B. Material, Plan, Fertigungs- oder Planauftrag) evtl.
auftretende Fehler gesammelt und zugeordnet werden sollen. Weierhin
bestimmt der Objekttyp die Oberfläche und Funktionen der Analyse
(Dialogroutine CM_F_ANALYSIS). Über die ApplikationsID wird gesteuert ob
das Fehlerprotokoll gesichert werden kann und ob die
Nachrichtensteuerung aktiviert ist. In Abhängigkeit von dieser ID werden
verschiedene interne Steuerungs- parameter gesetzt.

Excel

Beitrag von sap_all (ForumUser / 23 / 0 / 0 ) »
Hallo Stefan,
Hallo Gast,

Es war mein Fehler. Ich habe die Ranges falsch eingesetzt. jetzt klappt es mit dem Befüllen der Sheets. Das einzige Problem ist beim Löschen der Sheets mit delete_sheet bekomme ich beim Ausführen des Programms ein pop Up vom Windows-Excel mit der Message 'Data may exist in the Sheets selected for DEletion. To permanently delete Data, press delete'.
Wie kann ich diese Message wegbekommen, so dass es nicht angezeigt wird.

Grüsse
Sap_all

Beitrag von black_adept (Top Expert / 4117 / 130 / 953 ) »
Hi Sap_all,

die Meldung bekommst du glaube ich gar nicht weg - daran hatte ich nicht gedacht.
Nimm doch folgende Alternative. Speicher im BOR unter demselben Schlüssel doch einfach n Vorlagen ab - Vorlage m hat dabei genau m Sheets. Bei dem Baustein, der die URL zu dem Objekt rausgibt bekommst du doch eine Tabelle zurückgegeben und aus der suchst du dann halt immer die grade passende Vorlage draus aus.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Excel

Beitrag von sap_all (ForumUser / 23 / 0 / 0 ) »
Hi Stefan,

was meinst du mit BOR? Ich habe mit der Transaktion OAER im BDS meine Vorlage abgelegt. Und hole es

mit den folgenden Methoden:

CALL METHOD bds_instance->get_info
EXPORTING
classname = doc_classname
classtype = doc_classtype
object_key = doc_object_key
CHANGING
components = doc_components
signature = doc_signature
EXCEPTIONS
nothing_found = 1
error_kpro = 2
internal_error = 3
parameter_error = 4
not_authorized = 5
not_allowed = 6.
IF sy-subrc NE 0 AND sy-subrc NE 1.
MESSAGE e003(ztt).
ENDIF.
IF sy-subrc = 1.
MESSAGE e004(ztt).
ENDIF.

CALL METHOD bds_instance->get_with_url
EXPORTING
classname = doc_classname
classtype = doc_classtype
object_key = doc_object_key
CHANGING
uris = doc_uris
signature = doc_signature
EXCEPTIONS
nothing_found = 1
error_kpro = 2
internal_error = 3
parameter_error = 4
not_authorized = 5
not_allowed = 6.
IF sy-subrc NE 0 AND sy-subrc NE 1.
MESSAGE e003(ztt).
ENDIF.
IF sy-subrc = 1.
MESSAGE e004(ztt).
ENDIF.

Wenn mit BOr nicht das gemenint ist, kannst du mir bitte schildern, wie das ganze Prozedur dazu ist?

Danke!

Grüsse
sap_all

Excel /dringend bitte um Hilfe

Beitrag von sap_all (ForumUser / 23 / 0 / 0 ) »
Hallo,

ich habe folgendes Problem:

ich baue erstmal eine ALV Liste, auf dieser Liste kann der User die Daten selektieren und im naechsten Dynpro auf Excel anzeigen lassen. Beim Excel Aufbau
holt das Program das Excel template aus der Vorlage im BDS.z.Bsp: der User hat im ALV 3 Zeilen ausgewaehlt und das Program erzeugt für diesen 3 Auswahl jeweils ein Sheet im Excel und löscht dann die 2 Sheets, die nicht befüllt werden. Soweit ist alles okay. Dann möchte aber der User nochmal zurück
zu ALV und möchte diesmal 4 auswaehlen.Das Program hat aber die 2 von 5 Sheets gelöscht. daher erzeugt das Program nochmal 3 Sheets. Wie kann ich ganz komplett neu die Sheets erneut haben.
0ch benutze die DOI-Methoden, die auch aus den vorherigen Mails ersichtlich sind.

Bitte dringend um Hilfe!
Vielen dank im voraus.

Grüsse
sap_all

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1801
Views
Excel Upload ohne Excel aber OpenOffice
von MarkusW » 23.01.2008 17:07 • Verfasst in ABAP® Core
2
Antw.
4107
Views
EXCEL Export aus SAP mit Excel 2003 / 2007
von hfahrian » 03.02.2014 11:34 • Verfasst in ABAP Objects®
1
Antw.
4147
Views
EXCEL: Ausleitung von Daten von SAP nach EXCEL
von MichaelP » 15.04.2005 09:02 • Verfasst in ABAP® Core
1
Antw.
2426
Views
SAP zu Excel (Verwendung einer Excel Formatvorlage)
von sjung3 » 28.09.2005 14:34 • Verfasst in ABAP® Core
0
Antw.
845
Views
Excel
von Nadine_2706 » 25.09.2012 09:40 • 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

Feldwerte vergleichen
vor 2 Tagen von a-dead-trousers 4 / 331
Workflow-Datenfluss mit Multi-Line-Container
vor 3 Tagen von ewx gelöst 2 / 611
Mahnung erstellen
vor 3 Tagen von Sebastian82 4 / 696

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

Feldwerte vergleichen
vor 2 Tagen von a-dead-trousers 4 / 331
Workflow-Datenfluss mit Multi-Line-Container
vor 3 Tagen von ewx gelöst 2 / 611
Mahnung erstellen
vor 3 Tagen von Sebastian82 4 / 696

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor 5 Tagen von Manfred K. 1 / 566
Export von Spools in XLSX
vor einer Woche von abapamateur 1 / 1888
Feldberechnung ME32K
vor 3 Wochen von ZF_SAPler 1 / 2288