第五十七章 开发Productions - ObjectScript Productions - 不常见的任务 - 以编程方式使用查找表

news/2025/1/12 13:12:48/

文章目录

  • 第五十七章 开发Productions - ObjectScript Productions - 不常见的任务 - 以编程方式使用查找表
        • `TableName`
        • `KeyName`
        • `DataValue`
        • `%ClearTable()`
        • `%Import()`
        • `%Export()`
  • 定义自定义存档管理器

第五十七章 开发Productions - ObjectScript Productions - 不常见的任务 - 以编程方式使用查找表

IRIS 提供了名为 Lookup() 的实用函数,以便可以轻松地从业务规则或 DTL 数据转换中执行表查找。此功能仅在创建至少一个查找表并用适当的数据填充后才起作用。

有关定义查找表的信息,请参阅配置产品中的定义数据查找表。

如果需要比管理门户提供的更直接的查找表操作,请在类中使用 Ens.Util.LookupTable。此类公开查找表以通过对象或 SQL 进行访问。此外,它还提供类方法来清除表、将数据导出为 XML 以及从 XML 导入数据。

Ens.Util.LookupTable提供以下字符串属性:

TableName

查找表的名称,最多 255 个字符。可以通过在 IRIS 门户中选择“互操作性”、“配置”和“数据查找表”,然后选择“打开”来查看命名空间中定义的查找表。

KeyName

查找表中条目的键,最多 255 个字符。这是互操作性 > 配置 > 数据查找表页面上键字段的值。

DataValue

查找表中与此键关联的值,最多 32000 个字符。这是互操作性 > 配置 > 数据查找表页面上的值字段中的值。

示例 SQL 查询是:

SELECT KeyName,DataValue FROM Ens_Util.LookupTable WHERE TableName = 'myTab'

Ens.Util.LookupTable还提供了以下类方法:

%ClearTable()

删除指定查找表的内容。

  do ##class(Ens.Util.LookupTable).%ClearTable("myTab")

%Import()

从指定的 XML 文件导入查找表数据。要成功导入,文件必须使用与此类的 %Export() 方法提供的相同的 XML 格式。

  do ##class(Ens.Util.LookupTable).%Import("myFile.xml")

%Export()

将查找表数据导出到指定的 XML 文件。如果该文件存在, IRIS 会用新数据覆盖它。如果该文件尚不存在, IRIS 将创建它。以下示例仅导出指定查找表 myTab 的内容:

  do ##class(Ens.Util.LookupTable).%Export("myFile.xml","myTab")

以下示例导出命名空间中所有查找表的内容:

  do ##class(Ens.Util.LookupTable).%Export("myFile.xml")

生成的 XML 文件类似于以下示例。请注意,所有表中的所有条目都显示为单个 <lookupTable> 元素内的同级 <entry> 元素。

<?xml version="1.0"?>
<lookupTable><entry table="myOtherTab" key="myKeyA">aaaaaa</entry><entry table="myOtherTab" key="myKeyB">bbbbbbbbb</entry><entry table="myTab" key="myKey1">1111</entry><entry table="myTab" key="myKey2">22222</entry><entry table="myTab" key="myKey3">333333</entry>
</lookupTable>

对于每个 <entry>,表属性标识包含该条目的表。 key 属性给出了键的名称。 <entry> 元素的文本内容提供条目的值。

除了上述 XML 格式之外,还可以使用 SQL 导入向导导入列出表和键的逗号分隔值 (CSV) 文件。

定义自定义存档管理器

对于 IRIS,管理门户提供了一个名为 Archive Manager 的工具;这在管理制作中进行了描述。可以定义和使用自定义存档管理器。为此,请创建一个类,如下所示:

  • 可以使用 Ens.Archive.Manager作为超类。
  • 它必须定义DoArchive()方法,该方法具有以下签名:
ClassMethod DoArchive() As %Status

另一种选择是使用企业消息库,它使能够存档来自多个产品的消息。有关概述,请参阅定义企业消息库。


http://www.ppmy.cn/news/866100.html

相关文章

EPSON3590扫描文稿为PDF

办公桌上有一台EPSON3590扫描仪&#xff0c;以前只是扫描少量的文稿或照片。周六&#xff0c;一同事联系扫描一本文档&#xff0c;希望直接做成电子书。当时想这工作量可够大的&#xff0c;八十多页&#xff0c;先要一张张扫成图片&#xff0c;然后还得用工具把它们编辑成PDF。…

c++从源文件到可执行文件经历了什么

1.c从源文件到可执行文件经历了什么 在linux平台上 main.c —> a.out 在windows平台上 main.c --> xx.exe gcc -E main.c -o main.i // 预处理 gcc -S main.i -o main.s // 编译 gcc -c main.s -o main.o // 汇编 gcc main.o -o hello //链接

Spring MVC异步上传、跨服务器上传和文件下载

一、异步上传 之前的上传方案&#xff0c;在上传成功后都会跳转页面。而在实际开发中&#xff0c;很多情况下上传后不进行跳转&#xff0c;而是进行页面的局部刷新&#xff0c;比如&#xff1a;上传头像成功后将头像显示在网页中。这时候就需要使用异步文件上传。 1.1 JSP页面 …

背景渐变色

背景渐变色 css3&#xff1a;linear-gradient .gradient{background: -moz-linear-gradient(top, #000000 0%, #ffffff 100%);background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#000000), color-stop(100%,#ffffff));background: -webkit-linear-…

css 径向渐变实现渐变小圈

效果如下图&#xff1a; 代码如下&#xff1a; .b-list .ceil .line {height: 20px;width: 100%;margin: 0 auto;background: radial-gradient(rgba(235,116,63,0.9), rgba(235,116,63,0.3), rgba(235,116,63,0), rgba(235,116,63,0)); } background:radial-gradient(rgba(235…

js渐变色

1、效果图 2、RGB颜色大概分类&#xff1a;RGB&#xff08;R:红色&#xff0c;G:绿色&#xff0c;B:蓝色&#xff09; 红色&#xff1a; 255,0,0 黄色&#xff1a;255,255,0 绿色&#xff1a;0,255,0 青色&#xff1a;0,255,255 蓝色&#xff1a;0,0,255 紫色&#xff1a;255,…

Android如何设置渐变色背景 渐变shape

Android如何设置渐变色背景 Android开发过程中&#xff0c;会用到android:backgroud属性来设置背景的颜色&#xff0c;一般情况下我们直接设置一个类似#FFFF0000的值代表是背景颜色&#xff0c;如果想设置渐变背景颜色&#xff0c;就需要用到gradient了。 我们分&#xff1a;线…

css实现模糊镜效果及渐变字体和text-shadow冲突解决方案

前言 今天主要介绍2个css特效&#xff0c;一个是css实现模糊镜效果&#xff0c;就是一个返回顶部标签&#xff0c;或者固底标签&#xff0c;网页滑动的时候看到网页滑动过的部分是模糊的。类型模糊镜子的效果&#xff0c;看哪里哪里背景是模糊的。还有就是解决一个渐变字体或者…