问题标签 [sqr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
135 浏览

peoplesoft - Delay delete SQL transactions in an SQR

I am wondering if there is a way to delay Delete transactions in an SQR program? I am having an issue where I am deleting data from a table that has a trigger on it that inserts rows into another (Audit) table and the only key on the table that can be altered is a date/time stamp, but because these transactions are occuring at the exact same time (down to the hundreth of a second) it is causing duplicate insert errors on the sql trigger. I was hoping if there is a way to delay each row to be deleted in SQR that would be a good work-around to this issue. Thanks!

#xA;
0 投票
1 回答
512 浏览

sql - 触发仅将变量的 1 个字符插入表中

PS_AUDIT_PSROLEUSR我有以下 sql 触发器,它根据相关表上发生的 Delete 操作将数据插入名为的表中。

当应用程序中的在线用户触发表更新(删除角色行)时,整个 OPRID 被正确插入PS_AUDIT_PSROLEUSR,但是当触发器通过我编写的批处理程序运行时,它只得到第一个字母AUDIT_OPRID. _ 我已经通过在另一个下运行程序来确认这一点OPRID,它仍然只将第一个字符插入到列中。请原谅我对 SQL 触发器不是很熟悉。

插入行示例PS_AUDIT_PSROLEUSR

我似乎无法访问 'DELETE' 表,SELECT * FROM DELETED所以我不确定这是否只是在运行时动态生成的。

旁注 - 奇怪的是我查询 PS_AUDIT_PSROLEUSR 如下值'K'我得到0行返回。我检查了字母后面没有尾随空格。

LIKE如果我使用运算符,我只会获得“K”的数据

编辑:如果我运行下面的代码,我会得到 12 个字符长度的行插入 'K' 所以有些东西会添加额外的尾随空格......

我也尝试将这个简单的 IF 语句添加到触发器中,但它似乎也不起作用:我认为从二进制 (context_info) 到 varchar 的转换将允许逻辑过滤掉值“K”。

0 投票
1 回答
255 浏览

postgresql - 使用 PostgreSQL 编译 SQR 报告的命令行参数是什么?

我正在尝试使用 PostgreSQL 编译 SQR 报告。这是我的 Oracle 命令行:

PostgreSQL 的连通性参数是什么?我需要将ads/ads@gabdbg参数替换为将连接到 PostgreSQL 的参数。

0 投票
1 回答
194 浏览

peoplesoft - 从导致错误的日期变量中减去 1 天

我有一个使用名为 $EFFDT 的字段的 SQR 程序。它没有在程序中显式声明为日期变量。它目前所做的是最初设置为''(空白),如下所示:

LET $EFFDT = ' '

$EFFDT然后通过从名为$INPUT

read 1 into $Input:80 LET $EFFDT = substr($INPUT,53,8)

然后它重新格式化日期以使其格式为 YYYY-MM-DD

do Format-DateTime($EFFDT,$EFFDT,{Prompt-Mask},'','native')

我想在后面的过程中将 $EFFDT 设置为 $EFFDT 值减去 1 天

我在后面的过程中尝试添加的是:

LET $EFFDT = DATEADD($EFFDT, 'day', -1)

当我尝试运行 SQR 时,我收到SQR 4045错误(函数或运算符 'dateadd' 需要日期参数'

根据我的阅读,这意味着需要将 $EFFDT 变量声明为日期变量。所以我明确地将这个变量声明为一个日期,但是当程序运行这部分代码时它会出错:

LET $EFFDT = ' '

SQR 1944- 日期 ' ' 不是 SQR_DB_DATE_FORMAT 指定的格式,也不是下面列出的可接受格式之一....

所以我不确定如何继续解决原始错误或上面的第二个错误。我最终需要使用 $EFFDT - 1(day) 作为 SQL 插入命令中的字段。任何帮助表示赞赏!

0 投票
1 回答
86 浏览

encoding - 由于特殊字符,无法在 SQR 进程中处理文件

我目前在 SQR 过程中工作,并且在文件处理过程中遇到了一个问题,因为它由于特殊字符、倾斜撇号 (') 而导致错误。它是一个保存为UTF-8的平面文件。我尝试将其更改为ANSI并且运行良好,但是如何在不更改编码的情况下使我的代码工作?

0 投票
1 回答
257 浏览

error-handling - (SQR 4008) 表达式中的未知函数或变量

我有一个这样的 SQR 码:

开始程序 SPL-REMOVE($Vndr_Name_Shrt_Usr, :$outputshrt)

设 $valid_chars_shrt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -.:/'@0123456789@()=+%*"£$'

让 $invalid_chars_shrt = translate($Vndr_Name_Shrt_Usr, $valid_chars_shrt, '')

让#invalid_shrt = 长度($invalid_chars_shrt)

如果#invalid_shrt

让 $outputshrt = translate($Vndr_Name_Shrt_Usr, $invalid_chars_shrt, '')

别的

令 $outputshrt = $Vndr_Name_Shrt_Usr

万一

结束程序

在运行 SQR 时,我收到此错误:

(SQR 4008) 表达式中的未知函数或变量:@0123456789@ 令 $valid_chars_shrt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -.:/'@0123456789@()=+%*"£$'

我可以知道为什么会这样吗?我怎样才能避免出现这样的错误?

0 投票
1 回答
34 浏览

installation - 在 solaris 中安装 SQR

我们正在将应用程序从 hp-ux 系统迁移到 solaris。现在我们需要在solaris中安装SQR。有没有办法在 Solaris 10 中安装 SQR。

0 投票
1 回答
41 浏览

sqr - SQR 按位置而不是多个 IF LET ENDIF 替换

在将代码从一个数据库翻译到另一个数据库时,我必须为每个代码使用一个 IF LET ENDIF。IF $CODE = 'A11' LET $CODE = 'AAA' END-IF IF $CODE = 'B11' LET $CODE = 'BBB' END-IF IF $CODE = 'C11' LET $CODE = 'CCC' END-如果。. .ad 恶心

SQR 有没有办法进行位置替换?替换('A11','B11','C11')IN('AAA','BBB','CCC')

谢谢,大卫

0 投票
1 回答
68 浏览

sqr - SQR - Last-Page() 在打印 1000000 页时打印 ****

我正在创建非常简单的 SQR 报告,每页上都打印有页码。它在页数较少的情况下工作正常。但是当我尝试打印 1000000 页时,它停止打印最后一个页码。相反,它打印Page 1 of *****.

我也找不到任何保存最后页码的全局变量;就像我们#page-count对当前页面所做的那样。

以下代码用于打印页码。

0 投票
2 回答
89 浏览

report - 有没有办法检查 PeopleSoft SQR 中出现的新页面操作?

我想知道是否有一种方法可以在 SQR 自动到达最后一行并调用分页符时,是否有与可以检查的新页面函数关联的全局变量或过程?问题:我正在打印一份报告,虽然我个人可以管理一个新页面,但设置一个 $First_Row = 'Y' 来控制第一行的打印位置,当数据集溢出到下一页时程序会自动执行它,这个变量不会被触发,导致调用不同的打印位置。如何在没有线路计数器的情况下进行检查?