midrange.com code scratchpad
Name:
Execute QWCRSSTS 100 times (for timing purposes)
Scriptlanguage:
Plain Text
Tabwidth:
4
Date:
02/15/2010 07:07:59 am
IP:
Logged
Description:
It had been reported that execution of QWCRSSTS (Retrieve System Status) API from IBM can be a lengthy process. This program will execute that API 100 times, so that some idea of API time cost may be derived (in debug mode).
Code:
  1. D/Include QSYSINC/QRPGLESRC,QWCRSSTS                     
  2.                                                          
  3. D rtvssts         PR                  ExtPgm('QWCRSSTS') 
  4. D  receiver                           Like(QWCS0100)     
  5. D  rcvrLength                   10I 0 Const              
  6. D  formatName                    8    Const              
  7. D  resetStats                   10    Const              
  8. D  errorCode                          LikeDS(apiUSEC)    
  9.                                                          
  10.                                                          
  11. D apiUSEC         DS                  Qualified Inz      
  12. D  QUSBPRV                      10I 0 Inz(%Size(apiUSEC))
  13. D  QUSBAVL                      10I 0                    
  14. D  QUSEI                         7                       
  15. D  reserved                      1                       
  16. D  QUSED01                    1024                       
  17.                                                          
  18.                                                          
  19. D I               S              5U 0                    
  20. D timeStart       S               Z                      
  21. D elapsedSecs     S             11P 3                               
  22.                                                                     
  23.                                                                     
  24. D myUSEC          DS                  LikeDS(apiUSEC) Inz(*LikeDS)  
  25.                                                                     
  26.  /Free                                                              
  27.                                                                     
  28.   timeStart = %TimeStamp() ;                                        
  29.   For I=1 to 100 ;                                                  
  30.      rtvssts(qwcs0100: %Size(qwcs0100): 'SSTS0100': '*NO': myUSEC) ;
  31.   EndFOR ;                                                          
  32.   elapsedSecs = %Diff(%TimeStamp(): timeStart: *MS) / 1000000 ;     
  33.   *INLR = *On ;                                                     
  34.   Return ;                                                          
  35.                                                                     
  36.  /End-free                                                          
© 2004-2019 by midrange.com generated in 0.005s valid xhtml & css