免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3423 | 回复: 3
打印 上一主题 下一主题

修改prtf后,出现重复打印两次的问题,请教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-17 14:38 |只看该作者 |倒序浏览
我们的收货单打印文件(PRTF)SHD中,对DEV和OUTQ参数都是指定的,为了实现不同用户登录打印到不同的打印机,参考领料单的打印文件(领料单一直都可以用不同用户登录打印到不同的打印机),我做了如下修改:
CHGPRTF FILE(SHD)
修改
DEV   将shdprt 改为 *JOB
SPOOL *YES   
OUTQ  将shdprt 改为 *JOB   

修改后,每次打印收货单会打两次,其中第一次是错的,打印的第一行字变小了,第二次是通过spool系统的,正常。
好象这多出来的一次是没有经过spool的。我们将SPOOL改为*NO,则只会打印出不正常的一次。
我们现在的处理办法是,先将队列hold住,收到打印文件后再释放,这样就只会打印出正常的一次,不正常的哪次就没了,整个过程中,打印机一直是varyon的。
另外,在同一台工作站打印领料单正常,领料单打印文件的两个参数都是*JOB。
现在经常hold、release队列很不方便,请大家帮忙想想原因,多出来的哪次是怎么回事?多谢了!

[ 本帖最后由 hr_winning 于 2006-5-17 15:26 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-05-18 09:50 |只看该作者
原帖由 hr_winning 于 2006-5-17 14:38 发表
我们的收货单打印文件(PRTF)SHD中,对DEV和OUTQ参数都是指定的,为了实现不同用户登录打印到不同的打印机,参考领料单的打印文件(领料单一直都可以用不同用户登录打印到不同的打印机),我做了如下修改:
CHGPRTF ...

我刚才在本地测试了一下,“为了实现不同用户登录打印到不同的打印机”,可以采用如下简便的处理办法来对应:

1)修改登陆帐户的PRTDEV和OUTQ的默认参数:
===> CHGUSRPRF USRPRF(LIU) PRTDEV(TRFSCN) OUTQ(QUSRSYS/TRFSCN)

2)自行写个简单的CLP程序,实现指定SPLF产生后存放的默认的OUTQ,以及直接转向指定的OUTQ:
CLP:LIU/QCLSRC(MYPRINT)

Columns . . . :    1  71           Browse                           LIU/QCLSRC
SEU==>                                                                 MYPRINT
FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  
        *************** Beginning of data *************************************
0001.00 /**  TOHOKU RICOH (FUZHOU) PRINTING PRODUCTS CO.,LTD.             **/   
0002.00 /**  MADE BY IT/S LIU YUANYAO                                     **/   
0003.00 /**                                                               **/   
0004.00              PGM                                                        
0005.00              CHGJOB     OUTQ(TRFSCN)                                    
0006.00              WRKOUTQ    OUTQ(TRFSCN)                                    
0007.00              ENDPGM                                                     
        ****************** End of data ****************************************
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
F3=Exit   F5=Refresh   F9=Retrieve   F10=Cursor   F11=Toggle   F12=Cancel      
F16=Repeat find        F24=More keys                                          
                                         (C) COPYRIGHT IBM CORP. 1981, 2002.   

3)修改帐户的初始化加载程序,加载CLP:MYPRINT:
===> CHGUSRPRF USRPRF(LIU) INLPGM(LIU/MYPRINT)

4)使用定制好后的帐户登陆OS/400,发觉直接转向指定的OUTQ中:

                           Work with Output Queue                             
                                                                                
Queue:   TRFSCN         Library:   QUSRSYS        Status:   RLS               
                                                                                
Type options, press Enter.                                                     
   1=Send   2=Change   3=Hold   4=Delete   5=Display   6=Release   7=Messages   
   8=Attributes        9=Work with printing status                              
                                                                                
Opt  File        User        User Data   Sts   Pages   Copies  Form Type   Pty
      MFE67RJ     LIU                     RDY      49       1   *STD         5  
      MPI68P      LIU                     RDY       5       1   *STD         5  
      MPE10DJ     LIU                     RDY      23       1   *STD         5  
      MPE10RJ     LIU                     RDY      79       1   *STD         5  
      MPI21RE     LIU                     RDY     125       1   *STD         5  
      MPI62R      LIU                     RDY      55       1   *STD         5  
      MPI64RE     LIU                     RDY      62       1   *STD         5  
      MPI66R      LIU                     RDY      42       1   *STD         5  
      MPI68R      LIU                     RDY      38       1   *STD         5  
                                                                        More...
Parameters for options 1, 2, 3 or command                                      
===>                                                                           
F3=Exit   F11=View 2   F12=Cancel   F20=Writers   F22=Printers                 
F24=More keys

这样是否就不要去动PRTF文件而达到你的要求呢?

还是其他意思。。。。?

论坛徽章:
0
3 [报告]
发表于 2006-05-18 22:56 |只看该作者
轻舟,原因找到了,多谢!
因为程序运行时产生的输出表格,先暂放在job的OUTQ里,再通过prtf格式化,格式化后的输出放在prtf指定的outq中,同时删除OUTQ里未经格式化的第1次输出。故障环境下,这OUTQ和outq是同一个队列,都连接到打印机,程序还来不及删除,就送打印机了。

你的测试我还不明白,再请教一下:
测试的目的是不是想说明虽然usrprf对outq做了定义,但可以通过clp程序在用户登录时将其修改掉。
第2步:实现指定SPLF产生后存放的默认的OUTQ
是由  CHGJOB     OUTQ(TRFSCN)  实现的吧,这里的TRFSCN和usrprf里的OUTQ不是一样的吗?没有体现出修改呀?

论坛徽章:
0
4 [报告]
发表于 2006-05-19 09:37 |只看该作者
CHGJOB  OUTQ(TRFSCN)主要目的是让该用户登陆OS400后,指定如果产生了SPLF后的默认存放OUTQ。

事实上,效果等效于CHGUSRPRF USRPRF(LIU) OUTQ(QUSRSYS/TRFSCN),所以在CLP中追加那句语句,会更加保险些,不要也可以的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP