通过rexx限制sdsf信息

时间:2016-06-10 08:14:02

标签: mainframe jcl rexx

I wrote this code,它将SDSF中的信息写入文件(如选项S)。 所以,我的问题,我可以写不是所有信息(来自SDSF的JESMSGLG,JESJCL,JESYSMSG .._?我只需要DVGLOG DDNAME

parse upper arg prefix owner hiqual                        
rc=isfcalls("on")                                          
isfprefix = prefix                                         
isfowner  = owner                                          
ADDRESS SDSF "ISFEXEC ST"                                  

do ix=1 to JNAME.0                                         
    do until isfnextlinetoken=''                           
        ADDRESS SDSF "ISFBROWSE ST TOKEN('"token.ix"')"    
        say token.ix                                       
        isfstartlinetoken = isfnextlinetoken               
    end                                                    

DSN = userid()||'.'||JNAME.IX||'.'||JOBID.IX               

ADDRESS TSO                                                
 "ALLOC DA('"DSN"') F(DATA3)                              
  LIKE('userid.TEMP2') NEW"                                
  "EXECIO * DISKW DATA3 (STEM isfline."                    
  "EXECIO 0 DISKR DATA3 (FINIS"                            
  "FREE FI(DATA3)"                                         
drop isfline.                                              
end                                                        

rc=isfcalls("off")                                         
exit                                                       

1 个答案:

答案 0 :(得分:2)

这里有一些可能有用的代码。它适用于z / OS V1(我认为你是V2)因此它没有使用ISFBROWSE。它使用ISFCOL var来限制返回的列。

exec将列出JES2队列中所有作业的所有作业名称和所有者(SDSF vars JNAME和OWNERID)。

/* REXX */                                                    
rc=isfcalls('ON')                                             
     /* Access the ST panel */                                
Address SDSF "ISFEXEC ST"                                     
ISFCOLS = 'JNAME OWNERID'                                     
if rc<>0 then                                                 
  Exit rc                                                     
     /* Get fixed field name from first word */               
     /* of isfcols special variable          */               
fixedField = word(isfcols,1)                                  
Say "Number of rows returned:" isfrows                        
       /* Process all rows */                                 
do ix=1 to isfrows                                            
  Say "Now processing job:" value(fixedField"."ix)            
          /* List all columns for row */                      
  do jx=1 to words(isfcols)                                   
    col = word(isfcols,jx)                                    
    Say "  Column" col"."ix "has the value:" value(col"."ix)  
  end                                                         
end                                                           
rc=isfcalls('OFF')                                            
exit   

我没有对其进行修改以测试其对DDNAME的检索 - 为此,我认为您必须发布?命令对每一个输出。我不确定DVGLOG的含义,但这不是我在我的SDSF版本中可以找到的字段。