midrange.com code scratchpad
Name:
need help with QDBRJBRL (job record locks) API
Scriptlanguage:
Plain Text
Tabwidth:
4
Date:
01/23/2013 02:20:51 pm
IP:
Logged
Description:
ERRPRV = 256
ERRAVL = 0
ERRMSGID, ERRDTA are blank
LCKOSET = 16
LCKOSIZ = 36

LCKSAVAL, LCKSRTND are zero
Code:
  1. d KINAJOBSTK      PR                                                      
  2. d  JobName_in                         like(JobName)                       
  3. d  JobUser_in                         like(JobUser)                       
  4. d  JobNmbr_in                         like(JobNmbr)                       
  5.                                                                           
  6. d KINAJOBSTK      pi                                                      
  7. d  JobName                      10a                                       
  8. d  JobUser                      10a                                       
  9. d  JobNmbr                       6a                                       
  10.                                                                           
  11. d jobID           ds                                                      
  12. d  JobName@                     10a                                       
  13. d  JobUser@                     10a                                       
  14. d  JobNmbr@                      6a                                       
  15.                                                                           
  16.  *                                                                        
  17. d rcvJLcks        pr                  ExtPgm('QDBRJBRL')                  
  18. d                            32766a                                       
  19. d                               10i 0                                     
  20. d                                8a                                       
  21. d                               26a                                       
  22. d                              256a                                       
  23.  *                                                                        
  24. d errDS           ds                                                      
  25. d  errPrv                       10u 0          Inz(%Size(errDS))          
  26. d  errAvl                       10u 0                                     
  27. d  errMSGID                      7a                                       
  28. d                                1a            Inz(x'00')                 
  29. d  errDta                      240a                                       
  30.                                                                           
  31. d LockFltr        ds                  Based(lckf@)                        
  32. d FltrSiz                 1      4b 0                                     
  33. d FltrState               5      8b 0                                     
  34. d FltrScop                9     12b 0                                     
  35. d FltrStats              13     16b 0                                     
  36. d FltrFile               17     26a                                       
  37. d FltrMbrn               27     36a                                       
  38. d FltrLibn               37     46a                                       
  39. d FltrASPn               47     56a                                       
  40.                                                                           
  41. d                 ds                  Based(hdr2@)                        
  42. d lcksAval                1      4b 0                                     
  43. d lcksRtnd                5      8b 0                                     
  44. d lckOSet                 9     12b 0                                     
  45. d lckOsiz                13     16b 0                                     
  46.                                                                           
  47. d                 ds                  Based(det2@)                        
  48. d csFileNm                1     10a                                       
  49. d csLibrNm               11     20a                                       
  50. d csMembNm               21     30a                                       
  51. d csLckSts               31     31a                                       
  52. d csLckSte               32     32a                                       
  53. d csLckRRN               33     36b 0                                     
  54.                                                                           
  55. d rcvrVar2        s          32766a                                       
  56. d rcvrVarL2       s             10i 0 Inz(%Len(rcvrVar2))                 
  57. d fmt3            s              8a   Inz('RJBL0100')                     
  58. d hdr2@           s               *   Inz(%Addr(rcvrVar2))                
  59. d det2@           s               *                                       
  60. d lckf@           s               *                                       
  61. d $X              s              3i 0 Inz(1)                              
  62.                                                                           
  63.  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *    
  64.  /free                                                                    
  65.   *InLR = *On;                                                            
  66.   JobName@ = JobName ;                                                    
  67.   JobUser@ = JobUser ;                                                    
  68.   JobNmbr@ = JobNmbr ;                                                    
  69.                                                                           
  70.    // retreve the locks                                                   
  71.      rcvJLcks( rcvrVar2                                                   
  72.            : rcvrVarL2                                                    
  73.            : fmt3                                                         
  74.            : jobID                                                        
  75.            : errDS                                                        
  76.            );                                                             
  77.                                                                           
  78.    If  ERRAVL =  0 ;                                                      
  79.      det2@ = hdr2@ + lckOSet;                                             
  80.                                                                           
  81.      det2@ = det2@ + lckOSiz;                                             
  82.    EndIF  ;                                                               
  83.                                                                           
  84.                                                                           
  85.   Return;                                                                 
  86.  /end-free                                                                
  87. ****************** End of data *******************************************
© 2004-2019 by midrange.com generated in 0.007s valid xhtml & css