SBMJOB時のCALL 引数その２

# CALLの動的引数
`SBMJOB時のCALL 引数その１` の続きで、**V7R5** の新機能、`CALL` コマンドの動的引数で、明示的に `SBMJOB` した場合どうなるか？試してみました。

CLサンプルソースは以下の通り
```clle:USC_SBMJ21
PGM                                                               
     DCL VAR(&@PSTR1 )  TYPE(*CHAR) LEN(01  )         /* 文字列 */
     DCL VAR(&@PSTR2 )  TYPE(*CHAR) LEN(50  )         /* 文字列 */
     DCL VAR(&@PDEC1 )  TYPE(*DEC ) LEN(08 0)         /* 数値   */
                                                                  
     CHGVAR  VAR(&@PSTR1 ) VALUE('+                               
                                 U+                               
                                ')                                
                                                                  
     CHGVAR  VAR(&@PSTR2 ) VALUE('+                               
                                 ABCDEFGHIJ+                      
                                 KLMNOPQRST+                      
                                 abcdefghij+                      
                                 klmnopqrst+                      
                                 uvwxyzZYXW+                      
                                ')
     CHGVAR  VAR(&@PSTR2 ) VALUE('+                
                                 ABCDEFGHIJ+       
                                 KLMNOPQRST+       
                                 abcdefghij+       
                                 klmnopqrst+       
                                 uvwxyzZYXW+       
                                ')                 
                                                   
     CHGVAR  VAR(&@PDEC1 ) VALUE(+                 
                                 12345678+         
                                )                  
                                                   
                                                   
      SBMJOB     CMD(                              + 
                  CALL USC_SBMJ22                  + 
                       PARM(                       + 
                            (&@PDEC1 (*DEC 8 0))   + 
                            (&@PSTR1 (*CHAR 01))   + 
                            (&@PSTR2 (*CHAR 50))   + 
                       )                           + 
                 ) JOBQ(QBATCH)    
```

```clle:USC_SBMJ22
PGM PARM(                   +                                                 
         &@PDEC1            +                                                 
         &@PSTR1            +                                                 
         &@PSTR2            +                                                 
    )                       +                                                 
                                                                              
                                                                              
     DCL VAR(&@PSTR1 )  TYPE(*CHAR) LEN(01  )         /* 文字列 */            
     DCL VAR(&@PSTR2 )  TYPE(*CHAR) LEN(50  )         /* 文字列 */            
     DCL VAR(&@PDEC1 )  TYPE(*DEC ) LEN(08 0)         /* 数値   */            
/*   DCL VAR(&@PDEC1 )  TYPE(*DEC ) LEN(15 5)  */     /* 数値   */
     DMPCLPGM                                                         
                                                                      
     SNDPGMMSG  MSG('&@PSTR1 を参照 ')                                
     IF COND(&@PSTR1 *EQ ' ') THEN(DO)                                
     ENDDO                                                            
                                                                      
     SNDPGMMSG  MSG('&@PSTR2 を参照 ')                                
     IF COND(&@PSTR2 *EQ ' ') THEN(DO)                                
     ENDDO                                                            
                                                                      
     SNDPGMMSG  MSG('&@PDEC1 を参照 ')                                
     IF COND(&@PDEC1 *EQ 12345678) THEN(DO)                           
             SNDUSRMSG  MSG('&@PDEC1 を参照出来た ') MSGTYPE(*INFO) + 
                          TOUSR(USHIDAY)                              
     ENDDO
```

結果は、良い感じに変数が渡っています。*V7R5* からはこれまでの `TYPE(*DEC) LEN(15 5)` 縛りから開放されますね。因みに `(&@PSTR3 (*CHAR 32767))` のCL文字列最大長でも正常に動作しました。
最新ほやほやの機能すぎて、開発側としては、まだ使いづらいですが、ロジックの見通しが良くなっていく事には変わりありませんので、歓迎です！

```text:CLダンプ_QPPGMDMP
 変数                   タイプ      長さ           値                            16 進値                                      
                                                   *...+....1....+....2....+     * . . . + . . . . 1 . . . . + . . . . 2 . . .
&@PDEC1                  *DEC           8 0        12345678                                                                   
&@PDEC2                  *DEC           1 1        0.1                                                                        
&@PSTR1                  *CHAR            1       'U'                            E4                                           
&@PSTR2                  *CHAR           50       'ABCDEFGHIJKLMNOPQRSTabcde'    C1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E381828
                                    +26           'fghijklmnopqrstuvwxyzZYXW'    86878889919293949596979899A2A3A4A5A6A7A8A9E9E
&@PSTR3                  *CHAR        32767       'X*X*                     '    E75CE75C4040404040404040404040404040404040404
                                    +26           '                         '    404040404040404040404040404040404040404040404
                                    +51           '                         '    404040404040404040404040404040404040404040404
```