第125章 Caché 函数大全 $ZUTIL 函数

109 阅读8分钟

第125章 Caché 函数大全 $ZUTIL 函数

类方法和属性,用于替换不再记录的$ZUTIL($zu)函数。

过时和不推荐使用的功能

某些$ZUTIL功能已过时或不推荐使用。从Caché2010.1版开始,删除了有关传统网络设施DDP和DCP的文档。关联的$ZUTIL函数被分类为不推荐使用;没有提供替代类方法或属性。对于其他几个$ZUTIL函数也是如此,因为它们不再按预期运行。从Caché2010.2版开始,$ZUTIL(69,39)也被弃用。以下$ZUTIL函数没有提供等效的替换;不鼓励继续使用这些$ZUTIL函数:

$ZUTIL函数描述
67, 1, …返回指定进程的活动状态,然后重置。
68, 6, …启用或禁用当前进程的可靠设置网络模式。
68, 27, …设置或清除当前进程的网络强化。网络加固仅由过时的DCP和DDP网络使用。它不适用于ECP网络。
68, 39, …启用或禁用当前进程的缓存。
68, 55, …为当前进程的TCP设备选择$X/$Y行为。
69, 6, …在系统范围内设置可靠的设置联网模式。
69, 13, …设置异步SET/KILL错误的日志记录。
69, 14, …将异步错误的日志记录设置为控制台。
69, 19, …在系统范围内设置DDP密码安全。
69, 20, …使用DSM-DDP传输下标为空的全局节点。
69, 27, …在系统范围内启用或禁用网络强化。
69, 28, …控制系统范围内的根级别(无下标)全局节点终止。
69, 31, …设置在DCP中断后在系统范围内处理的网络锁定。
69, 35, …为系统范围内的域空间连接尝试设置静默重试。
69, 39, …在系统范围内为未来进程设置缓存。
69, 55, …为系统范围的TCP设备选择$X/$Y行为。
69, 67, …在系统范围内取消或显示堆栈和寄存器使用情况消息框。
78, 28, …返回日志目录块信息。
90, 4, …在指定的命名空间(UNIX®)中启动。
100确定正在运行的Windows操作系统。
113回收例程和目录块。
130, …设置或返回域ID或索引。
133, …维护一组度量计数器。

$ZUTIL函数替换

从Caché版本2010.1开始,不再记录ObjectScrip $ZUTIL函数。与以前的版本一样,这些功能仍可供应用程序使用,但它们执行的操作现在也可以通过其他方式使用。这里给出了$ZUTIL函数的列表、它们的描述以及实现相同目标的新的首选方法。

以下三个表列出了具有等效替换的$ZUTIL函数。

  • 第一个表列出了各种不会更改配置的操作。
  • 第二个表列出了每个进程的配置操作($ZUTIL(68)个操作)。
  • 第三个表列出了系统范围的配置操作($ZUTIL(69)操作)。

与配置无关的功能

$ZUTIL函数描述属性或方法
4, …终止Caché进程。%SYSTEM.ProcessTerminate()
5, …返回当前命名空间或切换到另一个命名空间。<Special variable>$NAMESPACE $NAMESPACE不是$ZUTIL(5)的确切替代品;但是,$NAMESPACE几乎总是更可取的,应该逐步淘汰$ZUTIL(5)的现有使用。$NAMESPACE通过为系统例程建立默认映射来完全支持隐含的名称空间。$ZUTIL(5)对隐含命名空间的处理不会建立此默认映射。
9, …向指定设备广播消息。%Library.DeviceBroadcast()
9, …向系统控制台日志cconsole.log写入一条消息。%SYS.SystemWriteToConsoleLog()
12, …将文件名或目录名转换为规范格式。%Library.FileNormalizeDirectory()
15, …将RMS文件名转换为规范格式。%Library.FileNormalizeFilename()
18, …设置当前进程的未定义变量处理。%SYSTEM.ProcessUndefined()
20, …指定包含例程数据集的命名空间。%SYSTEM.ProcessUserRoutinePath()
21删除所有进程私有全局变量。%SYSTEM.ProcessKillPrivateGlobals()
22, 0, …指定换页符或退格键控制代码序列。%Library.DeviceSetFFBS()
28, …执行归类转换。%SYSTEM.UtilCollation()
39, …指定百分比(%)例程的搜索路径。%SYSTEM.ProcessSysRoutinePath()
49, …获取数据库信息。SYS.Database<various class properties>
53将TCP设备名称传递给子进程。%SYSTEM.INetInfoTCPName()
53, …返回TCP统计信息。%SYSTEM.INetInfoTCPStats()
55, …返回或更改当前语言模式。%SYSTEM.ProcessLanguageMode()
56, 2查找上次ObjectScript错误的源文件和代码行。%SYSTEM.ProcessErrorLine()
56, 6返回顺序文件错误的操作系统错误代码。%SYSTEM.ProcessOSError()
62, …执行命令行代码的语法检查。%Library.RoutineCheckSyntax()
67, 0, …返回指定进程的活动状态。%SYS.ProcessQuery%SYSTEM.ProcessIsGhostIsGhost()
67, 4, …返回进程状态。%SYS.ProcessQuery%SYSTEM.ProcessStateState()
67, 5, …返回指定进程的例程名称。%SYS.ProcessQuery%SYSTEM.ProcessRoutineRoutine()
67, 6, …返回指定进程的命名空间名称。%SYS.ProcessQuery%SYSTEM.ProcessNameSpaceNameSpace()
67, 7, …返回指定进程的设备名称。%SYS.ProcessQuery%SYSTEM.ProcessCurrentDevice,CurrentDevice()
67, 8, …返回指定进程执行的行数。%SYS.ProcessQuery%SYSTEM.ProcessLinesExecuted,LinesExecuted()
67, 9, …返回指定进程进行的全局引用的数量。%SYS.ProcessQuery%SYSTEM.ProcessGlobalReferences,GlobalReferences()
67, 10, …返回指定进程的JOB类型。%SYS.ProcessQuery%SYSTEM.ProcessJobType,JobType()
67, 11, …返回指定进程所有者的用户名。%SYS.ProcessQuery%SYSTEM.ProcessUserName,UserName()
67, 12, …返回客户端应用程序的系统名称。%SYS.ProcessQuery%SYSTEM.ProcessClientNodeName,ClientNodeName()
67, 13, …返回客户端应用程序的可执行文件的名称。%SYS.ProcessQuery%SYSTEM.ProcessClientExecutableName,ClientExecutableName()
67, 14, …以前返回运行客户端应用程序的操作系统。现在返回CSP会话ID。%SYS.ProcessQuery%SYSTEM.ProcessCSPSessionID,CSPSessionID()
67, 15, …返回客户端应用程序的IP地址。%SYS.ProcessQuery%SYSTEM.ProcessClientIPAddress,ClientIPAddress()
71, …将当前进程的日期设置为固定值。%SYSTEM.ProcessFixedDate()
78, 21在日记文件中搜索未清事务。%SYS.Journal.SystemGetImageJournalInfo()
78, 22, …返回日记信息。%SYS.Journal.System<various class methods>
78, 23, …删除日志文件。%SYS.Journal.FilePurgeOne()
78, 29刷新日志缓冲区。%SYS.Journal.SystemSync()
82, 12, …重定向I / O操作。%Library.DeviceReDirectIO()
86返回配置文件的路径名和配置名称。%SYS.SystemGetCPFFileName()
90, 10, …测试是否定义了名称空间。%SYS.NamespaceExists()
94, …将消息广播到指定的进程。%SYSTEM.ProcessBroadcast()
96, 3, …用户定义命令的返回错误号。%SYSTEM.ProcessThrowError()
96, 4, …设置$TEST以反映I / O重定向。%SYSTEM.ProcessIODollarTest()
96, 5, …设置$DEVICE特殊变量。<Special variable>$DEVICE
96, 10返回调用例程数据库。%SYSTEM.ProcessCallingDatabase()
96, 14返回当前设备类型。%Library.DeviceGetType()
110返回正在运行的系统的名称。%SYS.SystemGetNodeName()
114, …确定以太网地址。%SYSTEM.INetInfoEthernetAddress()
115, 11, …指定是否可以将值插入身份列。%SYSTEM.SQLGetIdentityInsert(), SetIdentityInsert()
128, 1返回调试过程中最后一步的位置。%SYSTEM.ProcessStepInfo()
132使最后使用的设备成为主体I / O设备。%Library.DeviceChangePrincipal()
140, 1, …返回文件,目录和磁盘信息并执行文件操作。%Library.File<various class methods>
140, 7, …返回文件属性的位图。%Library.FileAttributes()
147, …在主机平台的路径名中处理空格。%Library.FileNormalizeFilenameWithSpaces()
158, 0返回当前安装的打印机数量。%Library.DeviceInstalledPrinters()
158, 1列出当前安装的打印机。%Library.DeviceGetPrinters()
168, …返回当前工作目录的位置,或设置当前工作目录。%SYSTEM.ProcessCurrentDirectory()
186, …在终端提示下设置当前进程的显示。%SYSTEM.ProcessTerminalPrompt()
188返回系统范围内的本地日期和时间,以小数秒为单位。<Function>$NOW不是$ZUTIL(188)的确切替代品。$ZUTIL(188)返回当前本地时间(小数秒),并根据当地时间变量(如夏令时(DST))进行调整。$NOW可以返回当前本地时间(小数秒),但不会根据本地时间变量进行调整。$HOROLOG返回根据本地时间变量调整的当前本地时间,但不支持小数秒。
189检查TCP设备是否已断开连接。%SYSTEM.INetInfoConnected()
193, …将世界标准时间(UTC)转换为本地日期和时间(反之亦然)。<Function>$ZDATETIMEH

与进程相关的配置功能

$ZUTIL函数描述属性或方法
68,0为当前进程设置未定义的变量处理。%SYSTEM.ProcessUndefined()
68, 1, …为当前进程启用或禁用空下标。%SYSTEM.ProcessNullSubscripts()
68, 2, …设置当前进程的顺序文件打开模式。%SYSTEM.ProcessOpenMode()
68, 3, …为当前进程设置自动顺序文件创建选项。%SYSTEM.ProcessFileMode()
68, 5, …启用或禁用当前进程的无参数BREAK命令的处理。%SYSTEM.ProcessBreakMode()
68, 7, …保留或剥离返回到当前进程的全局变量的扩展全局引用。%SYSTEM.ProcessRefInKind()
68, 11, …启用或禁用当前进程的读取行调用。%SYSTEM.ProcessLineRecall()
68, 15, …启用或禁用当前进程的I/O设备断开检测。%SYSTEM.ProcessDisconnectErr()
68, 21, …为当前进程设置同步提交模式。%SYSTEM.ProcessSynchCommit()
68, 22, …设置在为当前进程更新$X时对转义序列的处理。%SYSTEM.ProcessDX()
68, 26, …在终端提示中为当前进程设置命名空间显示。%SYSTEM.ProcessTerminalPrompt()
68, 28, …限制或允许终止当前进程的根级全局节点。%SYSTEM.ProcessGlobalKillDisabled()
68, 30, …设置当前进程的错误处理行为。%SYSTEM.ProcessPopError()
68, 32, …设置当前过程的日期范围和无效的日期行为。%SYSTEM.ProcessZDateNull()
68, 34, …设置异步错误是否可以中断当前进程。%SYSTEM.ProcessAsynchError()
68, 40, …设置当前进程的顺序文件结束处理。%SYSTEM.ProcessSetZEOF()
68, 42, …为当前进程设置$JOB格式。%SYSTEM.ProcessNodeNameInPid()
68, 43, …设置清除当前进程的全局向量。%SYSTEM.ProcessOldZU5()
68, 45, …为当前进程的字符串到数字的转换设置截断模式。%SYSTEM.ProcessTruncateOverflow()
68, 51, …设置更改名称空间是否更改当前进程的操作系统目录。%SYSTEM.ProcessSwitchOSdir()
68, 60, …设置当前进程的异步Telnet断开连接错误处理。%SYSTEM.ProcessAsyncDisconnectErr()
68, 63, …启用或禁用将“e”用作当前过程的科学符号。%SYSTEM.ProcessScientificNotation()
68, 66, …对于当前进程,请在行末禁止Telnet NUL。%SYSTEM.ProcessTelnetNUL()
68, 67, …禁止或显示当前进程的堆栈和注册使用情况消息框。%SYSTEM.ProcessExceptionLog()
68, 70, …为当前进程启用或禁用$DOUBLE返回INFNAN值。%SYSTEM.ProcessIEEEError()
68, 71, …设置当前进程的IP地址格式。%SYSTEM.ProcessIPv6Format()
68, 72, …设置当前过程未定义变量的MVBasic处理。%SYSTEM.ProcessMVUndefined()

系统相关的配置功能

$ZUTIL函数描述属性或方法
69, 0, …在系统范围内设置未定义的变量默认处理。Config.MiscellaneousUndefined
69, 1, …在系统范围内设置空下标模式默认。Config.MiscellaneousNullSubscripts
69, 2, …在系统范围内设置顺序文件打开模式的默认值。Config.MiscellaneousOpenMode
69, 3, …在系统范围内设置自动顺序文件创建。Config.MiscellaneousFileMode
69, 5, …在系统范围内启用无参数BREAK处理。Config.MiscellaneousBreakMode
69, 7, …保留或删除全局系统范围内的扩展全局引用。Config.MiscellaneousRefInKind
69, 8, …在系统范围内设置ZA和ZD锁定模式。Config.MiscellaneousZaMode
69, 10, …设置日志已满时的系统行为。Config.JournalFreezeOnError
69, 11, …在系统范围内设置读取行调用模式。Config.MiscellaneousLineRecall
69, 15, …在系统范围内设置输入/输出设备断开检测。Config.MiscellaneousDisconnectErr
69, 21, …在系统范围内设置同步提交模式。Config.MiscellaneousSynchCommit
69, 22, …为全系统的转义序列设置$X更新模式。Config.MiscellaneousDX
69, 26, …在系统范围内设置终端提示中的命名空间显示。Config.StartupTerminalPrompt
69, 30, …在系统范围内设置错误处理行为。Config.MiscellaneousPopError
69, 32, …在系统范围内设置日期范围和无效日期行为。Config.MiscellaneousZDateNull
69, 34, …通过系统范围的异步错误设置进程的可中断性Config.MiscellaneousAsynchError
69, 37, …在系统范围内设置物理光标模式。Config.NLS.LocalesPhysicalCursor
69, 40, …为系统范围内的顺序文件设置文件结尾处理。Config.MiscellaneousSetZEOF
69, 42, …在系统范围内设置$JOB格式默认值。Config.MiscellaneousNodeNameInPid
69, 43, …设置系统范围内全局向量的清除。Config.MiscellaneousOldZU5
69, 44, …将Nagle算法用于系统范围的远程登录传输。Config.MiscellaneousUseNagleAlgorithm
69, 45, …在系统范围内字符串到数字的转换过程中截断数字。Config.MiscellaneousTruncateOverflow
69, 49, …在系统范围内设置事务回滚的日志记录。Config.MiscellaneousLogRollback
69, 51, …在系统范围内设置命名空间默认目录分配行为。Config.MiscellaneousSwitchOSdir
69, 60, …设置系统范围内异步远程登录断开错误的处理。Config.MiscellaneousAsyncDisconnectErr
69, 63, …在系统范围内启用或禁用小写“e”作为科学符号。Config.MiscellaneousScientificNotation
69, 66, …在系统范围的行尾抑制Telnet NUL。Config.MiscellaneousTelnetNUL
69, 68, …在系统范围内启用或禁用日记文件的加密。Security.SystemDBEncJournal
69, 69, …在系统范围内启用或禁用长字符串的使用。Config.MiscellaneousEnableLongStrings
69, 70, …在系统范围内启用或禁用$DOUBLE返回INF和NAN值。Config.MiscellaneousIEEEError
69, 71, …设置系统范围的IP地址格式。Config.StartupIPv6
69, 72, …设置系统范围内未定义变量的MVBasic处理。Config.MiscellaneousMVDefined

注意:$ZUTIL功能已过时或不推荐使用