Generate XML Publisher

来源:互联网 发布:盘古网络好进吗 编辑:程序博客网 时间:2024/05/21 10:35

使用AE调用XML Publisher 时。数据源的选择和生成报表的代码紧密相关。

XML File 数据源: 所用方法 SetRuntimeDataXMLFile

XML Doc 数据源: 所用方法 SetRuntimeDataXMLDoc

RowSet 数据源: 使用方法 SetRuntimeDataRowset

Query数据源 : SetPSQueryPromptRecord

数据源和生成方法必须一一对应。

此由如下代码控制:


Evaluate &Report.Ds_type   When = "QRY"      rem rsh ICE 1836783000;      &sDataFile = %This.sSrvTmpDir | &sDirSep | "Data" | &sDirSep | &sDataFile;      %This.GenerateXmlFileFromQuery(&sDataFile);      Break;   When = "CQR" /* Connected Query */      rem mdu XXX %This.GenerateXmlFileFromConnQuery(&sConQryOutFileName, &sProcessId);      %This.GenerateXmlFileFromConnQuery(&sConQryOutFileName, String(&ProcessInstance)); /* mdu XXX */      If Not FileExists(&sConQryOutFileName, %FilePath_Absolute) Then         throw CreateException(235, 2308, "Data file is required but not specified correctly");      Else         %This.SetRuntimeDataXMLFile(&sConQryOutFileName);      End-If;      &sDataFile = &DataXMLFile;      Break;   When = "RST"      rem rshw TODO: This function needs to be passed file path instead of returning string;      &sXmlData = %This.GenerateXmlFromRowset();      If &sXmlData = "" Then         throw CreateException(235, 2305, "Failed to generate or read data source XML file");      End-If;      rem rsh ICE 1836783000;      &sDataFile = %This.sSrvTmpDir | &sDirSep | "Data" | &sDirSep | &sDataFile;      %This.WriteXmlDataFile(&sXmlData, &sDataFile);      Break;   When = "XMD"      &sXmlData = %This.GenerateXmlFromXmlDoc();      If &sXmlData = "" Then         throw CreateException(235, 2305, "Failed to generate or read data source XML file");      End-If;      rem rsh ICE 1836783000;      &sDataFile = %This.sSrvTmpDir | &sDirSep | "Data" | &sDirSep | &sDataFile;      %This.WriteXmlDataFile(&sXmlData, &sDataFile);      Break;   When = "XML"      If &DataXMLFile = "" Then         throw CreateException(235, 2308, "Data file is required but not specified correctly");      End-If;      &sDataFile = &DataXMLFile;      Break;   When-Other      Break;   End-Evaluate;



原创粉丝点击