Anwendung / Praxis

Excel Dokument (.xls) ohne WRITE direkt aus F-Script erstellen

Es ist möglich, mit einem Applikationsserver-Script direkt ein Excel Dokument zu erstellen. Dabei ist es nicht notwendig via WRITE Befehl eine Datei zu schreiben.
Das Erstellen des Excel-Dokuments erfolgt direkt durch OpaccERP. Im F-Script müssen lediglich die Ausgabeattribute definiert werden.

Eigenschaften der Auswertung in BC 84100

Typ der Auswertung: Tabellen-Blatt
Hier wird auch der Default-Speicherort (Pfad und Dateiname) vorgegeben. Dieser kann zur Laufzeit überschrieben werden.
excel_01.jpg
Die Auswertung Artikel ausgeben. Für jeden gefundenen Artikel wird der /body des Applikationsserver-Scripts abgearbeitet.
excel_02.jpg
In den Eigenschaften der Auswertung wird auf der Registerkarte Ausgabe-Attribute das Applikationsserver-Script eingetragen.
Die darin definierten Ausgabeattribute werden automatisch in der Liste der Applikationsserver-Attribute angezeigt.
excel_03.jpg

Beispiel

# ******************************************************************************************************
# Ausgabeattribute definieren.
/GetInfoScriptCol
«XFAS(heads=Column,DataTypeCd,Format,RelationshipCd,RelatedObject,RelatedIndex,RelatedConstraint)»
«XFAS(heads=OnDemand,MlsKey)»
# ------------------------------------------------------------------------------------------------------
# Werte für 1. Spalte                                
«XFAS(cells=Artikel,A,100,0,,,,0,Art.Number)»
«XFAS(cells=Bezeichnung,A,100,0,,,,0,Art.Keyword1)»
«XFAS(cells=ArtGr,N,10.0,0,,,,0,ArtMisC1)»
«XFAS(cells=Umsatz,R,10.4,0,,,,0,MisSal.TurnOver)»
«XFAS(cells=Menge,R,10.4,0,,,,0,MisSal.Quantity)»
/
 
/headerreport
/
 
/body
# Prüfen ob Umsatz vorhanden. Wenn nein, Artikel nicht ausgeben.
«nMARK(1,OFF)»
«/GetUms»
«nz MARK(1)\I»«GOTO(/)»
# Setzen der Ausgabeattribute.
«nz ARTBEZ-ACTIVE(«ART-INR»,£1)\I»
# 
«XFAS(cell=«ART-NR»)»
«XFAS(cell=«ARTBEZ-BEZ1»)»
«XFAS(cell=«ART-GR»)»
«XFAS(cell=«+1X(UMS)\N»)»
«XFAS(cell=«+2X(MENGE)\N»)»
/
 
/totalreport
# Ausgabe der Total-Zeile
«XFAS(cell=Total)»«XFAS(cell=)»«XFAS(cell=)»«XFAS(cell=«SUM(1)»)»«XFAS(cell=«SUM(2)»)»
/
 
/GetUms
# Prüfen ob Umsatz vorhanden. Wenn nein, MARK(1) aktiv setzen.
«nz~VUMS(ART,$,JAHR2015,MONAT12/12)>0»«MARK(1,ON)»
# 
«X(UMS=«VUMS(ART,$,JAHR2015,MONAT12/12)\N»)»
«X(MENGE=«VUMS(ART,#,JAHR2015,MONAT12/12)\N»)»
/

Ausgabe

excel_04.jpg