我正在尝试使用jt400 lib在Java应用程序中调用RPGLE程序。调用本身可以正常工作,但问题是RPGLE程序使用程序状态数据结构中的用户名发送电子邮件。使用JT400 Lib,它将“” QUSER“作为用户名而不是我的用户名。
我该如何更改?
这取决于程序使用的用户ID字段。它可能在位置254处使用一个。这是合格作业名称的一部分,不能更改。如果它使用位置358(当前用户),则应该是登录的用户。
所有ODBC / JDBC服务器作业均由同一用户'QUSER'启动。即使您将其更改为用户配置文件,假设您的用户配置文件具有适当的权限,那么每一项作业都将从您的用户配置文件开始,而不是登录到ODBC / JDBC连接的工作。
唯一的解决方法是使用正确的字段。否则,任何调用此程序的服务器作业都不会看到当前用户的用户ID。
Job: QZDASOINIT User: QUSER Number: 002766 Status of job . . . . . . . . . . . . . . . : ACTIVE Current user profile . . . . . . . . . . . : MMURPHY
QZDASOINIT
是ODBC / JDBC服务器作业。User:
显示了PSDS位置254中的值。Current user profile
显示了PSDS位置358中的值。
注意:这是预启动作业。当它启动时,并且在没有任何人连接之前,Current user profile
是QUSER。对于交互式作业,作业用户和当前用户都是相同的,因此使用PSDS的位置358与位置254不会破坏这些作业,它只会修复服务器作业(以及更改当前用户的批处理作业)。