SNDBRKHEX(いったい何に使うんだ)

初めに

SNDBRKHEXとは、渡された文字列を16進数文字列に変換して、中断メッセージとして送信するためのものです。正直、実用的なものではありません。

以下にこのプログラムの注意点を提示します。

ソース

CMD

/* CMD */
             CMD        PROMPT(' 中断メッセージ 16')       
             PARM       KWD(VALUE) TYPE(*CHAR) LEN(128) +  
                          PROMPT(' 変換する値 ')           

CL

/* CL */
PGM PARM(&VALUE)                                                        
  DCL &VALUE  *CHAR 128                                                 
  DCL &LEN    *DEC (5 0)                                                
  DCL &HEX    *CHAR 256                                                 
  DCL &HEXPOS *DEC (3 0)                                                
                                                                        
  DCL &JOB    *CHAR  10                                                 
                                                                        
  CHGVAR &HEXPOS VALUE(1)                                               
  CHGVAR &LEN    VALUE(128)                                             
                                                                        
  CVTHEX VALUE(&VALUE) LEN(&LEN) TYPE(A) HEX(&HEX) HEXPOS(&HEXPOS)      
  MONMSG CPF0000 EXEC(GOTO ERROR)                                       
                                                                        
  RTVJOBA JOB(&JOB)                                                     
  SNDBRKMSG  MSG('  ' || &HEX) TOMSGQ(&JOB)                             
                                                                        
  GOTO END                                                              
                                                                        
ERROR:                                                                  
                                                                        
END:                                                                    
ENDPGM