持久性宏函数支持在 Net.Data 中进行事务处理,这是通过帮助您定义哪些宏块在单个事务中 是持久性的来实现的。使用这些函数来定义一个事务的开头与结尾 (HTML 块在该事务中是持久性的)、 变量在事务中的作用域以及在事务中提交还是撤消更改。
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
|
| X |
|
|
|
目的
定义用于调用持久性宏的事务句柄。
格式
@DTW_ACCEPT(handle, timeout)
@DTW_ACCEPT(handle)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | handle | IN | 一个变量或文字串,指定用于此持久性事务中后继宏调用 的 URL 中的事务句柄。 |
| 整数 | timeout | IN | 一个变量或文字串,以秒为单位指定服务于此端口的作业 等待响应的时间。此值将覆盖 DTW_STATIC() 函数中指定的任何超时值。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1007 | 参数中包含了一个无效值。 |
| 8200 | 没有启用宏的持续性。 |
| 8201 | 调用持久性内部函数时的顺序不正确。 |
用法注意事项
事务句柄必须在宏中每个 HTML 块开始时调用,直至最后的逻辑块, 其中包含对 DTW_TERMINATE() 的调用。如果在文本输出到浏览器之前没有找到对 DTW_ACCEPT() 或 DTW_TERMINATE() 的调用, 则将出现 Net.Data 错误。
例
例 1:
%DEFINE handle = ""
@DTW_RTVHANLDE(handle)
%HTML(REPORT){
@DTW_ACCEPT(handle)
...
%}
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
|
| X |
|
|
|
目的
将自上一次确认界限后对确认控制资源的全部更改变为永久的更改,然后建立一个新的确认界限。
格式
@DTW_COMMIT()
参数
无。
返回码
| 返回码 | 说明 |
|---|---|
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
例
例 1:指定一个提交
@DTW_COMMIT()
%HTML (report){
%}
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
|
| X |
|
|
|
目的
重新建立最后一次确认界限,作为当前的确认界限。自上一次确认界限后正在运行的 Net.Data 进行对确认控制资源的全部更改将变为永久的更改。
格式
@DTW_ROLLBACK()
参数
无。
返回码
| 返回码 | 说明 |
|---|---|
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
例
例 1:指定一个撤消
@DTW_ROLLBACK()
%HTML (report){
%}
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
|
| X |
|
|
|
目的
生成并返回一个此宏(跨几个分开的调用)所唯一的、并根据线程信息、时间戳记和 当前用户的组合计算而得的事务句柄。
格式
@DTW_RTVHANDLE(handle)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | handle | OUT | 一个包含当前持久性宏的唯一事务句柄的变量。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
用法注意事项
事务句柄可用于确保作为持久性事务指定 的 URL 对于 HTTP 服务器是唯一的,并且可以安全地标识为有效的请求。
例
例 1:定义 handle 变量用于检索事务句柄
%DEFINE handle = "" @DTW_RTVHANLDE(handle)
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
|
| X |
|
|
|
目的
表示整个宏是持久性的。
格式
@DTW_STATIC(timeout)
@DTW_STATIC()
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 整数 | timeout | IN | 一个变量或文字串,以秒为单位指定处理此事务的进程应 等待响应的时间。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1007 | 参数中包含了一个无效值。 |
| 8202 | 无法启用持久性功能。 |
用法注意事项
例
例 1:对 DTW_STATIC() 的调用指定超时值为 60 秒。
@DTW_STATIC("60")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
|
|
|
|
|
| X |
|
|
|
目的
结束一个持久性的事务。自上一次确认界限后对确认控制资源的全部更改将变为永久的更改。
格式
@DTW_TERMINATE()
参数
无
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 8200 | 没有启用宏的持续性。 |
| 8201 | 调用持久性内部函数时的顺序不正确。 |
用法注意事项
例
例 1:终止持久性事务
%HTML(QUIT){
@DTW_TERMINATE()
...
%}