星期三, 11月 01, 2023

2001-10-18 如何於 Interactive SQL 環境中直接執行 CL Command?


如何於 Interactive SQL 環境中直接執行 CL Command?

當你執行 STRSQL 指令,進入輸入 SQL 指令畫面,執行某些 SQL 指令(如 Select * from
library/file)後,有時可能會需要執行某些CL 指令(如 WRKACTJOB),這時你必須離開 SQL
環境,回到 Command Line 才能執行 CL 指令,然後再執行 STRSQL 指令,進入輸入 SQL 指令
畫面執行為完成的 SQL 指令,如此進進出出非常浪費時間,有四兩種方式可以直接於 SQL 環境中直
接執行 CL 指令,兩種使用 SQL PROCEDURE,另兩種直接呼叫系統程式,以上四種你高興用哪個就用哪個。

1. 於 SQL 環境中,建立 呼叫系統程式 QCMDEXC 的 PROCEDURE 如下:

Command Line : STRSQL 進入 輸入 SQL 指令畫面,並輸入如下:

                              Enter SQL Statements                              
                                                                                
 Type SQL statement, press Enter.                                               
 ===> CREATE PROCEDURE your-library/exccmd                                            
      (IN cmd CHAR (32000), IN len DEC (15,5))                                  
      LANGUAGE CL                                                               
      NOT DETERMINISTIC                                                         
      NO SQL                                                                    
      EXTERNAL NAME QSYS/QCMDEXC                                                
      PARAMETER STYLE GENERAL                                                   
                                                                                
                                                                        Bottom  
 F3=Exit   F4=Prompt   F6=Insert line   F9=Retrieve   F10=Copy line             
 F12=Cancel            F13=Services     F24=More keys                           
                                                                                
你要將 your-library 改成你自己的 library ,接著按執行鍵產生 exccmd PROCEDURE,
此 cmd PROCEDURE第一個參數是 CL 指令,第二個參數是 CL 指令的長度。

你可在 Enter SQL Statements 畫面輸入 Call exccmd ('WRKACTJOB', 9),此時系統會
執行 WRKACTJOB 指令的畫面,按 F3 回到 Enter SQL Statements 畫面。

2.  於 SQL 環境中,建立 呼叫系統程式 QUSCMDLN 的 PROCEDURE 如下:

Command Line : STRSQL 進入 輸入 SQL 指令畫面,並輸入如下:

                              Enter SQL Statements                              
                                                                                
 Type SQL statement, press Enter.                                               
 ===> CREATE PROCEDURE chancy/cmd                                               
      LANGUAGE CL                                                               
      NOT DETERMINISTIC                                                         
      NO SQL                                                                    
      EXTERNAL NAME QSYS/QUSCMDLN                                               
      PARAMETER STYLE GENERAL                                                   
                                                                                
                                                                        Bottom  
 F3=Exit   F4=Prompt   F6=Insert line   F9=Retrieve   F10=Copy line             
 F12=Cancel            F13=Services     F24=More keys                           

你要將 your-library 改成你自己的 library ,接著按執行鍵產生 cmd PROCEDURE,
你可在 Enter SQL Statements 畫面輸入 Call cmd,此時會出現在 SEU 環境中按 F21
相同的指令畫面視窗,按 F12 回到 Enter SQL Statements 畫面。

3. 於 SQL 環境中,直接呼叫 QCMD 進入 Command Entry 畫面,按 F3  回到 Enter SQL Statements 畫面。

Command Line : STRSQL 進入 輸入 SQL 指令畫面,並輸入如下:

                              Enter SQL Statements                              
                                                                                
 Type SQL statement, press Enter.                                               
 ===> call qcmd                                                                 
                                                                        Bottom  
 F3=Exit   F4=Prompt   F6=Insert line   F9=Retrieve   F10=Copy line             
 F12=Cancel            F13=Services     F24=More keys                           
                                                                                

     Command Entry                         WTWNAS01 
                                                           Request level:   2   
 Previous commands and messages:                                                
                                                                                
   (No previous commands or messages)                                           
                                                                         Bottom 
 Type command, press Enter.                                                     
 ===>                                                                           
                                                                                
                                                                                
                                                                                
 F3=Exit   F4=Prompt   F9=Retrieve   F10=Include detailed messages              
 F11=Display full      F12=Cancel    F13=Information Assistant   F24=More keys  

4. 於 SQL 環境中,直接呼叫 QUSCMDLN 進入 Command 視窗畫面,按 F12  回到 Enter SQL Statements 畫面。

Command Line : STRSQL 進入 輸入 SQL 指令畫面,並輸入如下:

                              Enter SQL Statements                              
                                                                                
 Type SQL statement, press Enter.                                               
 ===> call QSYS/QUSCMDLN                                                        

         Bottom  
 F3=Exit   F4=Prompt   F6=Insert line   F9=Retrieve   F10=Copy line             
 F12=Cancel            F13=Services     F24=More keys                           

                                Enter SQL Statements                           
                                                                               
Type SQL statement, press Enter.                                               
===> call QSYS/QUSCMDLN                                                        
                                                                               
.............................................................................. 
:                                  Command                                   : 
:                                                                            : 
:  ===>                                                                      : 
:  F4=Prompt   F9=Retrieve   F12=Cancel                                      : 
:                                                                            : 
:............................................................................: 



沒有留言: