ALV-OO und Excel Inplace

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

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
47 Beiträge • Vorherige Seite 3 von 4 (current) Nächste
47 Beiträge Vorherige Seite 3 von 4 (current) Nächste

Re: ALV-OO und Excel Inplace

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Hallo Kerstin,

ich modifiziere (noch) gar nichts - das Einzige was das Beispielcoding macht ist, wenn du den "EXCEL-Inplace" button des ALV drückst, du nachher einen OLE2-Handle auf das geöffnete EXCEL-Sheet bekommst.
Ob das mit deinen Zwischensummen geht? Wenn du das händisch hinbekommen würdest im EXCEL, dann wirst du es wahrscheinlich auch via OLE2 automatisieren können.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

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


Re: ALV-OO und Excel Inplace

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Stefan,
wenn ich Dein Coding starte, bekomme ich bereits eine fertige Excel-Datei-Anzeige.

Was das ändern der Zwischensummen angeht, ich kann das natürlich händisch tun, im Makro steht dann natürlich die feste Zellangabe. Ich weiß aber im Programm nicht, in welcher Zeile eine Zwischensumme existiert.

Gruß
Kerstin

Re: ALV-OO und Excel Inplace

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Hi Kerstin,
Kerstin hat geschrieben:Ich weiß aber im Programm nicht, in welcher Zeile eine Zwischensumme existiert.
warum nicht?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ALV-OO und Excel Inplace

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Stefan,

weil die Bildung der Zwischensummen nicht programmiert ist, sondern durch das Layout passiert.

Gruß
Kerstin

Re: ALV-OO und Excel Inplace

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Kerstin hat geschrieben:weil die Bildung der Zwischensummen nicht programmiert ist, sondern durch das Layout passiert.
Schon klar. Aber dann brauchst du doch nur das aktuelle Layout auszulesen und kannst dann leicht errechnen wo sich welche Zwischensummen befinden.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ALV-OO und Excel Inplace

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Gute Idee und wie mach ich das?

Re: ALV-OO und Excel Inplace

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
CL_GUI_ALV_GRID=>GET_FRONTEND_LAYOUT
CL_GUI_ALV_GRID=>GET_FRONTEND_FIELDCATALOG
CL_GUI_ALV_GRID=>GET_SUBTOTALS

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

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ALV-OO und Excel Inplace

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Stefan,

ich habe das Layout (is_layout), den Feldkatalog (it_fieldcat) und die Subtotals:

Code: Alles auswählen.

alv_grid_tn->get_subtotals(
   IMPORTING
     ep_collect00 = it_zs0  "Summe über alles
     ep_collect01 = it_zs1  "ZwischenSumme über 1.Spalte Kostl
     ep_collect02 = it_zs2  "ZwischenSumme über 2.Spalte  Name
     ep_collect03 = it_zs3  "ZwischenSumme über 3.Spalte  Pernr
     ep_collect04 = it_zs4  "ZwischenSumme über 4.Spalte  Jahr
     ep_collect05 = it_zs5 ).  "ZwischenSumme über 5.Spalte  Monat
Ich kann aber nicht erkennen, in welchen Zeilen der Excel-Datei die Zwischensummen erscheinen werden. Um sie mit OLE2 ändern zu können, muß ich doch aber die Zeilen genau adressieren.
Wie kann ich die denn leicht errechnen?

Gruß
Kerstin

Re: ALV-OO und Excel Inplace

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Schick mir doch mal eine solche EXCEL-Datei zu wie du sie momentan generierst und einen Screenshot des zugehörigen ALV bevor du exportierst. Meine EmailAddy kennst du ja.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ALV-OO und Excel Inplace

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Stefan,

ich habe Dein Coding für das Holen des OLE2-Handles bei mir eingebaut.
Du selektierts beim Durchlesen der childrens die Zeile: ->{O:183*\CLASS=C_OI_CONTAINER_CONTROL_PROXY}, um den Proxy zu erhalten.
Wenn ich bei mir dasselbe Coding ansetze sehe ich in der childrenTabelle nur den alv_gui-Eintrag ->{O:28*\CLASS=CL_GUI_ALV_GRID}. Der Proxy-Eintrag existiert gar nicht. Hast Du eine Ahnung, woran das nun wieder liegen könnte?

Viele Grüße
Kerstin

Re: ALV-OO und Excel Inplace

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
black_adept hat geschrieben: Hinweis: Es nützt nichts im Eventhandler direkt zu versuchen den OLE2-Handle zu ergattern. Das funktioniert (warum auch immer) erst wenn du den PAI angetriggert und dich aus dem ALV-Event heraus bewegt hast.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ALV-OO und Excel Inplace

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo Stefan,
hat geklappt. Vielen Dank.

Ich habe jetzt ein OLE2 Handle (OLE2_something) und weiß, welche Zeilen der ExcelDatei Zwischensummen enthalten.

Bisher habe ich per OLE2 neue Excel-Dateien erzeugt (ohne ALV) und habe die Objekte so erzeugt:

Code: Alles auswählen.

*== create excel application
      create object excel 'EXCEL.APPLICATION'.
*== do not display excel
      set property of excel   'Visible'   = 0.  "nicht sichtbar
*== get workbook
      call method of excel 'Workbooks' = workbook.
      call method of workbook 'Add' = map.
* Blatt anlegen
      call method of excel 'Worksheets' = sheet
        exporting
        #1 = 1.
* Namen vergeben und aktiv setzen Blatt
      set property of sheet 'Name' = sy-cprog.
      call method of sheet 'Activate'.

         call method of sheet 'RANGE' = item
          exporting
          #1 = 'a2:f3'.
        set property of item 'NumberFormat' = '0.00'.
*
jetzt habe ich aber die Situation, dass ich aus dem ALV heraus bzw. mit dem erzeugten OLE2-Handle arbeiten muß.

Wie muß das dann aussehen?

Gruß
Kerstin

Re: ALV-OO und Excel Inplace

Beitrag von black_adept (Top Expert / 4131 / 130 / 955 ) »
Guten Abend Kerstin,

OLE2: Schau dich im Netz um und such dir ein Tutorial welches dir zusagt damit die Grundlagen vorhanden sind.

Danach überlege dir wie du das, was du automatisieren möchtest manuell in EXCEL durchführen würdest. Und wenn das geschehen ist mach eine Makro-Aufzeichnung der Aktionen die du benötigst. Dann kannst du dir das erzeugte VBA-Coding anschauen und machst das, was du dort siehst halt mit OLE2 im ABAP nach.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: ALV-OO und Excel Inplace

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hi Stefan,

mir ist schon klar, wie ich die Änderungen der Zellen im OLE2 machen muß, wenn ich die Ausgabe der Excel-Datei selbst organisiere. Was ich nicht weiß ist, wie ich mit diesem geholten ole2Handle umgehen muß (Zugriff auf meine Tabelle) . Wenn ich in einem normalen Report (nicht ALV) eine interne Tabelle aufbaue und diese dann per OLE als ExcelDatei ausgebe, habe ich sowas nicht in der Form, jedenfalls ist es mir nicht bewußt. Im Internet habe ich bereits gegrast, bin aber nicht fündig geworden. (oder habe falsch gesucht). Ich möchte doch die Ausgabe der Excel-Datei nicht selbst organisieren,sondern nur zur Änderung der Zeilen vor der Ausgabe eingreifen.

Gruß
Kerstin

Re: ALV-OO und Excel Inplace

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

hast du dir schon einmal das Projekt - abap2xlsx (findest du im SCN) - angeschaut ? Vielleicht kommst du damit ja besser und einfacher an das gewünschte Ergebnis - bevor du hier immer etwas warten musst bevor du eine Antwort hast auf dein Posting :)

Gruss
thanks Jens

Vergleichbare Themen

5
Antw.
3691
Views
Excel Inplace
von Mr. ABAP » 14.03.2006 11:19 • Verfasst in ABAP Objects®
1
Antw.
2385
Views
Excel Inplace SAP R3
von Gast » 14.06.2005 11:23 • Verfasst in ABAP® Core
3
Antw.
4117
Views
Excel Inplace (Tricktresor)
von Betze » 15.06.2007 10:18 • Verfasst in ABAP Objects®
4
Antw.
3794
Views
Begrenzung bei EXCEL-Inplace
von littleJohn » 06.06.2007 12:01 • Verfasst in ABAP® Core
4
Antw.
4748
Views
i_oi_spreadsheet und Excel InPlace
von christop » 25.04.2005 14:53 • Verfasst in ABAP Objects®

Ü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

Aktuelle Forenbeiträge

DIN Norm Klassifizierung
vor 2 Tagen von Radinator 2 / 2770
Login Daten Management
vor 3 Tagen von sap_enthusiast gelöst 5 / 943

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

DIN Norm Klassifizierung
vor 2 Tagen von Radinator 2 / 2770
Login Daten Management
vor 3 Tagen von sap_enthusiast gelöst 5 / 943

Unbeantwortete Forenbeiträge