Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1066404
  • 博文数量: 106
  • 博客积分: 9093
  • 博客等级: 中将
  • 技术积分: 2770
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-01 17:22
文章分类

全部博文(106)

文章存档

2014年(1)

2012年(29)

2011年(32)

2010年(20)

2008年(24)

分类: 系统运维

2012-03-23 16:51:46

有时候我们需要知道outq中的spooled files的list。对此我们可以用API 。

对此IBM又提供了两种方法,但是和API QUSLSPL不同,这两种方法是在spooled files产生或为RDY时,把spooled files的信息发送给data queue,然后可以通过API 来取得list。

IBM信息中心可以找到关于data queue对spooled files支持的资料,如下

下面代码是对第一种支持的例子

     d* Receive Data Queue (QRCVDTAQ) API prototype
     d RcvDataQ        pr                  extpgm('QRCVDTAQ')
     d  DataQName                    10A   Const
     d  LibName                      10A   Const
     d  Lenght                       10U 0
     d  Data                        128A
     d  WaitTime                      5P 0 Const
     d* Record type 01 data queue entry format
     d OutData         ds
     d  Function                     10
     d  RcdType                       2
     d  QJobName                     26
     d  SplfName                     10
     d  SplfNum                      10u 0
     d  QOutqName                    20
     d  SysName                       8
     d  SplfCrtDat                    7
     d  Reserved1                     1
     d  SplfCrtTim                    6
     d  Reserved2                    34
     d*
     d  DataQName      s             10A   Inz('MRPDTAQ')
     d  LibName        s             10A   Inz('PTRLIB')
     d  WaitTime       s              5P 0 Inz(2)
     d  Data           s            128A   Inz(*blanks)
     d  Lenght         s              5P 0 Inz(*zero)
     C* Receive Data Queue
     c                   DoW       1 = 1
     C                   CallP     RcvDataQ(DataQName
     C                                     :LibName
     C                                     :Lenght
     C                                     :Data
     C                                     :WaitTime
     c                                     )
     C                   If        Lenght <> *zero
     c                   eval      OutData = Data
     C     SysName       Dsply
     c                   Else
     c                   Leave
     C                   EndIf
     c                   EndDo
     c*
     c                   seton                                        lr
     c                   return
对于第二种支持我们需要把DS OutData为如下就可以了。

     d OutData         ds                        
     d  Function                     10          
     d  RcdType                       2          
     d  QJobName                     26          
     d  SplfName                     10          
     d  SplfNum                      10U 0       
     d  QOutqName                    20          
     d  CrtQJobName                  26          
     d  UserData                     10          
     d  ThreadID                     10U 0       
     d  SysName                       8          
     d  SplfCrtDat                    7          
     d  SplfCrtTim                    6          
     d  Reserved                      9          

阅读(2376) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~