免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: st.linux.ily
打印 上一主题 下一主题

CLP中sbmjob后立即更改LIBL和ENVVAR等等对其有何影响? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2005-08-31 15:08 |只看该作者

CLP中sbmjob后立即更改LIBL和ENVVAR等等对其有何影响?

恩……是的,是这样的:QNOTES是RSTLICPGM后才生成的,而一般在QDOMINO***或是QNOTES lib下的PGM的object authority对qnotes有最高的权限,所以对于放在其下的pgm一般使用qnotes身份来运行比较的合理,我是这么认为的。

qingzhou可以参考:Lotus Domino 6 for iSeries - Application Development Guide

呵呵……谢谢各位了……学习中!

论坛徽章:
0
22 [报告]
发表于 2005-08-31 18:49 |只看该作者

CLP中sbmjob后立即更改LIBL和ENVVAR等等对其有何影响?

DOMINO这个玩意我还是多少有些了解的,也涉及几年的管理和开发,《Lotus Domino 6 for iSeries - Application Development Guide 》我会去找来学习,谢谢先。

还需要进一步谈论的是:RSTLICPGM命令只是安装DOMINO FOR OS/400时使用,安装完DOMINO FOR OS/400后,在QSYS下也就创建了QNOTES这个LIB(严格讲是OBJECT,真正意义QSYS才是LIB)和QNOTES这个USRPRF。

但是,QNOTES是系统自动创建的USRPRF,这个USRPRF是IBM-supplied User Profile,是提供给系统内部调用程序时使用,而不对外开发给用户使用。

如下许多系统Q打头的IBM-supplied User Profile:

  1.                             Work with User Profiles                             
  2.                                                                                 
  3. Type options, press Enter.                                                     
  4.    1=Create   2=Change   3=Copy   4=Delete   5=Display                          
  5.    12=Work with objects by owner                                                
  6.                                                                                 
  7.       User                                                                     
  8. Opt  Profile     Text                                                         
  9.                                                                                 
  10.       QAUTPROF    IBM-supplied User Profile                                    
  11.       QBRMS       IBM-supplied User Profile                                    
  12.       QCLUMGT     IBM-supplied User Profile                                    
  13.       QCLUSTER    IBM-supplied User Profile                                    
  14.       QCOLSRV     IBM-supplied User Profile                                    
  15.       QDBSHR      Internal Data Base User Profile                              
  16.       QDBSHRDO    Internal Data Base User Profile                              
  17.       QDFTOWN     Default Owner for System Objects                              
  18.       QDIRSRV     OS/400 Directory Services Server User Profile                 
  19.                                                                         More...
  20. Parameters for options 1, 2, 3, 4 and 5 or command                             
  21. ===>;                                                                           
  22. F3=Exit   F5=Refresh   F12=Cancel   F16=Repeat position to   F17=Position to   
  23. F21=Select assistance level         F24=More keys                              
  24.                                                                                 
复制代码


所以我感到困惑的是,你登陆OS/400提交JOB时也用QNOTES帐户吗?即使QNOTES这个IBM-supplied User Profile具备对DOMINO下任何OBJECT有很高权限,你也不宜当作普通USRPRF来使用,因为容易给运行系统带去隐患。

我的意思就是:

1、用具备*ALLOBJ权限的用户登陆OS/400;
2、写CLP程序,直接赋值;
3、用ADDJOBSCDE或者SBMJOB提交CALL TEST程序即可。

说来说去,你是想临时测试一个TEST程序,这个TEST程序要求的环境跟当前DOMINO跑的环境有些差异,所以想先改变DOMINO环境来先运行TEST程序,然后执行完TEST后再修改回去。

是吧?   

论坛徽章:
0
23 [报告]
发表于 2005-09-01 09:48 |只看该作者

CLP中sbmjob后立即更改LIBL和ENVVAR等等对其有何影响?

SBMJOB的时候指定一个专用的JOBD, JOBD中设置好环境变量,并指定USER为QNOTES  ,或者直接使用QNOTES的JOBD就可以了 没必要搞的那么麻烦吧

论坛徽章:
0
24 [报告]
发表于 2005-09-01 10:26 |只看该作者

CLP中sbmjob后立即更改LIBL和ENVVAR等等对其有何影响?

qingzhou分析得很有道理,这个usrprf的确有它的特殊性,他甚至连password都没有,是不能用来登陆的。但是它是启动domino server服务及相关任务所必需的profile,这是来自原文:
All Domino applications must run under jobs that use the QNOTES user profile.
The user profile defines operational characteristics for jobs, and is the source for the
special authorities that jobs need. The following processes run under the QNOTES
profile when they are started:
• The Domino server
• Programs that the Domino server starts as a result of ServerTasks or
ServerTasksAt settings in the NOTES.INI file
• Programs that start as a result of Program documents in the Domino Directory
• Hook drivers and extension manager applications that run in the Domino server
• Agents that run on the Domino server
• Programs that start when you enter the Load command on the Domino server
console
If your application is not designed to run in the above processes (such as an
interactive application), you must modify your application so that it runs under the
QNOTES user profile using one of the following methods:
• Inside your application, switch to the QNOTES profile by using the following
system APIs:
• QSYGETPH - get profile handle
• QWTSETP - set profile
• Use the Submit Job command (SBMJOB) to submit the job to run under
QNOTES.
• Use the RUNDOMCMD utility that ships with Domino 6 for iSeries and is
available as a download from the following Web address:
http://www.ibm.com/eserver/iseries/domino/devtools/rundomcmd/rundomcmd.
htm
This utility switches to the QNOTES user profile, runs your application, sets up
the PATH and current directory correctly and then switches back to the user
profile you were using. Using this utility, you do not need to write additional
code in your applications.
• Use the SETDOMENV CL command

我选用的是其中的SBMJOB的方式来以QNOTES的USRPRF运行test。
另外:
说来说去,你是想临时测试一个TEST程序,这个TEST程序要求的环境跟当前DOMINO跑的环境有些差异,所以想先改变DOMINO环境来先运行TEST程序,然后执行完TEST后再修改回去。

我测试的环境与domino要求的环境有些差异,所以先改变当前环境来符合domino的环境(为什么是QNOTES),再来运行该test程序,然后再恢复回去。

论坛徽章:
0
25 [报告]
发表于 2005-09-01 10:55 |只看该作者

CLP中sbmjob后立即更改LIBL和ENVVAR等等对其有何影响?

SBMJOB的时候指定一个专用的JOBD, JOBD中设置好环境变量,并指定USER为QNOTES  ,或者直接使用QNOTES的JOBD就可以了 没必要搞的那么麻烦吧


wrkenvvar的这些变量、curdir也能够在jobd中设置吗?

如果PGM已经SUBMIT出去了(RUN状态) 你再更改任何环境变量都不会影响到这个PGM的

如果这个PGMSUBMIT出去了,但还在JOBQ中排队,如果你更改了JOBD中的参数 那是能影响到PGM的

HANYU的意思是说一般会做一个专门的JOBD 专用于SUBMIT动作


如果是这样的话我在调用之后就不会有太大的问题了!
我所关心的有两个问题:
1、“试图”保证调用前后系统环境一致;
2、万一job提交后,系统环境变量(curdir/libl/envvar)改变,PGM任能够不受影响的正常运行。

论坛徽章:
0
26 [报告]
发表于 2005-09-01 11:39 |只看该作者

CLP中sbmjob后立即更改LIBL和ENVVAR等等对其有何影响?

原帖由 "st.linux.ily" 发表:


如果是这样的话我在调用之后就不会有太大的问题了!
我所关心的有两个问题:
1、“试图”保证调用前后系统环境一致;
2、万一job提交后,系统环境变量(curdir/libl/envvar)改变,PGM任能够不受影响的正常运?.........



sbmjob的时候是可易直接更改一些环境变量的 加上JOBD中的设置应该完全没问题,你所修改的环境变量都是SBMJOB时,参数是*CURRENT的地方,多注意注意SBMJOB时的参数以及JOBD中的参数吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP