Ich bin mir recht sicher, dass das nicht möglich ist. Normalerweise hast Du ja Zugriff auf Excel über OLE bzw OLE2. Damit kannst Du (entsprechend Customizing vorausgesetzt, Registrierung Excel als OLE-Server, etc.) Excel aufrufen und von SAP die Daten ans Excel übergeben (z.B. den Inhalt einer internen Tabelle).
Das ist - denke ich - bekannt.
Auf dem Applikationsserver (Programm im Batch), sehe ich schwarz. Der 'reguläre' Weg wäre: Erzeugen der Excel-Datei auf dem Frontend. Die erzeugte Datei uploaden (CL_GUI_FRONTEND_SERVICES) und dann an die
SAP_Office (z.B. SO_DOCUMENT_SEND_API1) verschieben und als Anhang mitsenden.
sorry, dass ich erst so spät zurückposte, aber habe zwischendurch andere Programme geschrieben.
Das Programm lässt sich in der Tat realisieren. Allerdings kann man dafür nicht die OLE-Funktion von Excel nutzen.
Zunächst muss die interne Tabelle Zeile für Zeile in einen String konvertiert werden. Als Referenz habe ich das Dictionary-Feld solisti1 verwendet. Die Spalten müssen durch ein tab getrennt und mit einem crlf abgeschlossen sein.
Per FuBa SO_FOLDER_ID_GET wird anschließend die ID des jeweiligen Ordners im SAP-Office besorgt.
Anschließend wird per FuBa SO_Document_insert_API1 ein Dokument in dem Verzeichnis dieser ID erstellt.
Zu dem Dokument wird dann per FuBa SO_ATTACHMENT_INSERT_API1 der Anhang in Form einer Excel-Tabelle erstellt. Ich übergebe dem FuBa mein Feld mit den Strings einfach als ATTACHMENT_CONTENT und lege als ATTACHMENT_TYPE 'XLS'. Vorher muss noch die Dokumentgröße usw. übergeben werden.
Damit läuft das Programm einwandfrei per Job. Es muss nun nur noch gewährleistet sein, dass der jeweilige Benutzer Schreibrechte auf die Verzeichnis hat.
Bei Bedarf, kann ich ja Quellcode anhängen. Die o.a. FuBas sind allerdings auch ganz gut dokumentiert.