====== Générer un doc Office depuis SAP ====== ===== Via un template BDS ===== [[https://wiki.scn.sap.com/wiki/display/ABAP/Handling+Data+in+Excel+In-place+Display+Using+BDS|Sauce]] La procédure consiste à : * créer un template du document dans ''OAOR'' * l'ouvrir depuis le serveur SAP sur le poste de l'utilisateur * le manipuler en lançant une macro * l'enregistrer Les classes utilisées en ABAP sont : * cl_bds_document_set * i_oi_spreadsheet * cl_gui_custom_container * i_oi_container_control * i_oi_document_proxy * i_oi_error ===== Spreadsheet Excel à partir d'un ALV ===== Pour produire des documents xlsx à aprtir d'un ALV (y compris en background), il existe quelques autres méthode : * CL_SALV_TABLE=>to_xml * Avantages : * Simule les effets du layout (y comrpis les filtres et les sous-totaux) * Plusieurs XLST sont disponibles (xml_type) * Standard * Inconvenients : * N'utilise pas les fonctions natives d'excel (ex. : les sous-totaux sont en durs) * ZCL_EXCEL (ABAP2XLSX) * Avantages : * Utilise les fonctions natives d'excel (ex. : les filtres) * Permet d'aller loin au niveau manipulation des cellules * Inconvenients : * Spé * Ne prend pas en compte le layout (seulement le fieldcat)