Generate XML Publisher

使用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;



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值