Nieuwe BL-klasse voor de verwerking van de FOP-Data, i.e. FopTask.Doc, DocMulti, SeqItemDocBase, ... Deze BL moet geïnstantieerd worden. BL.Sys.FOP.Common 1 %RegisteredObject Data als Proxy-object (moet erven van %XML.Adaptor) %RegisteredObject DataType voor FOP %String Data voor FOP (als tekst) %String Data voor FOP (als stream-object) %Stream.Object TopTag voor output XML, bij omzetting van DataProxy %List XsltParams voor de Render-task %List Output Action can be PRINT, FAX, MAIL, FTP, FILE %String %Status TECH.Query.QueryAPI 1 initvalue:%CacheString 1 1 %Status 1 Set blFOPData=##class(BL.Sys.FOP.DataMgr).Instantiate(...) 1 ParentBL:%RegisteredObject BL.Sys.FOP.DataMgr Task:Sys.FOP.Task,Doc:Sys.FOP.emDoc XsltParams bijhouden in het BL-object. Doc:Sys.FOP.emDoc Fetch Data from Doc into SeqItem data. Data from Doc can be defined in many different ways : - path to xml-file - url for xml - a charstream /binary stream - via DocDefs (e.g. for FlowDocs: $LB("Levering","GetFopXml",$LB(BONNr,)) ) - ... SeqItem data is prepared to be used in WS-proxy object: - data in string or stream Doc:Sys.FOP.emDoc,SeqItem:Sys.FOP.emSeqItem Convert Data from Doc into temporary properties of the BL-object. Data from Doc can be defined in many different ways - see method FetchData() Doc:Sys.FOP.emDoc Doc:Sys.FOP.emDoc when AllowEmptyProxy=1 , or set ErrorStatus and return "" when AllowEmptyProxy=0 (=default). ]]> StreamClass:%String="%FileBinaryStream",TopTag:%String,blnIndentTags:%Boolean=0,AllowEmptyProxy:%Boolean=0 %Stream Copy the fetched data into SeqItem data. The fetched data is contained in properties ..FOPDataType, ..FOPData and/or ..FOPDataStream SeqItem:Sys.FOP.emSeqItem De data in Doc fetchen/genereren en als XML file opslaan. Doc : data (meestal via DefsLB) moet volledig gedefinieerd zijn, zoals wanneer het toegevoegd wordt aan een Sys.FOP.Task FilePath : volledige path van file opgeven (t.o.v. Caché-server) 1 1 Doc:Sys.FOP.emDoc,FilePath:%String %Status De FOPData (reeds gefetched) als XML file opslaan. FilePath : volledige path van file opgeven (t.o.v. Caché-server) 1 FilePath:%String %Status Copy data from FileName ... NOT IMPLEMENTED, will not occur Else Do . Set sc=FileStream.Write(..FOPData) ;d WL^vhDBG("FileStream.Size: "_FileStream.Size) // Close objects Do FileStream.Close() Set FileStream="" Quit sc ]]> PrinterNaam:%String TECH.ResultSet ActionPrint_Printer = ? ) " #dim ResultSet As TECH.ResultSet = ..QueryAPI.GetResultSet(##class(TECH.DynamicQuery).%New(SqlStatement, $LB(PrinterNaam) )) Quit ResultSet ]]> PrinterNaam:%String %Status ActionPrint_Printer = ? ) " #dim ResultSet As TECH.ResultSet = ..QueryAPI.GetResultSet(##class(TECH.DynamicQuery).%New(SqlStatement, $LB(PrinterNaam) )) Do ResultSet.Next(.Status) Quit Status ]]>