H***************************************************************** H* * H* システム名 :                     * H* サブシステム名 :          * H* プログラム名 : MQ送信サンプル           * H* プログラムID : MQSND  * H* * H* 作 成 者 : HRM                 * H* 作 成 日 : * H* * H* 変 更 者 :                    * H* 変 更 日 :                    * H* * H* プログラム概要 * H*C H*C H***************************************************************** H Y/ 1 F**************************************************************** F* F I L E * F**************************************************************** F*INPUTファイル FINPUTF IF F 128 DISK E**************************************************************** E* ARRAY * E**************************************************************** I**************************************************************** I* D S * I**************************************************************** I*<<INPUT エリア>> IINPUTF AA 01 I 1 128 AREA I* I*<<MQセーブ用DS>> I* IMES DS I 1 74 \MES1 IMQOD1 DS 300 IMQMD1 DS 500 IMQPMO1 DS 300 IHOBJ1 DS 10 I*  I*------------------------------------------------ I*  I*------------------------------------------------------- I*<<MQI名称定義>> I/COPY QMQM/QRPGSRC,CMQR I* I*<< OBJECTDESCRIPTOR >> IMQOD DS I/COPY QMQM/QRPGSRC,CMQODR I* I*<< MESSAGE DESCRIPTOR >> IMQMD DS I/COPY QMQM/QRPGSRC,CMQMDR I* I*<< PUT MESSAGE DESCRIPTOR >> IMQPMO DS I/COPY QMQM/QRPGSRC,CMQPMOR I*<<MQPUT用バッファ>> IBUFFER DS I 1 128 B#128 C**************************************************************** C* PARM LIST * C**************************************************************** C* C**************************************************************** C* KEY LIST  * C**************************************************************** C* C**************************************************************** C*C MAIN ROUTINE * C**************************************************************** C* C*<<MQのオープン>> C EXSR #MQOPN オープン C*<<MQ送信処理>> C EXSR #MQSND メイン C*<<MQのクローズ>> C EXSR #MQCLS クローズ C*<<終了処理>> C EXSR #END 終了処理 C* C**************************************************************** C*CMQ送信処理 C**************************************************************** C #MQSND BEGSR C* C DO *HIVAL C*EOF DLY C READ INPUTF 9990送信データ C *IN99 IFEQ *ON C EXSR #ERR DBエラー C ENDIF C* C Z-ADD128 LENGS 40 C CLEARBUFFER データ部  C MOVELAREA BUFFER データ部  C EXSR #MQPUT MQPUT C* C ENDDO C* C ENDSR C**************************************************************** C*Cエラー処理(DB・MQエラー) C**************************************************************** C #ERR BEGSR C* C* エラーメッセージ出力処理を追加する。 C* C ENDSR C**************************************************************** C*C終 了 処 理 C**************************************************************** C #END BEGSR C* C SETON LR C RETRN C* C ENDSR C* C**************************************************************** C*C全MQOPEN C**************************************************************** C #MQOPN BEGSR C* C MOVE *BLANK ODON C*RMT MQM QUE名(SNDQUE) C MOVEL'SNDQ1 ' ODON C EXSR #MQOP1 MQ OPEN C MOVELMQOD MQOD1 バッファセーブ C MOVELMQMD MQMD1 バッファセーブ C MOVELMQPMO MQPMO1 バッファセーブ C MOVELHOBJ HOBJ1 バッファセーブ C* C ENDSR C* C**************************************************************** C*CMQ OPEN C**************************************************************** C #MQOP1 BEGSR C* C Z-ADDHCDEFH HCONN C* C OOOUT ADD OOFIQ OPTS C* C Z-ADDMQOPEN CID オープン C CALL 'QMQM' MQ OPEN C PARM CID 90 オープン C PARM HCONN 90 C PARM MQOD バッファリカバ C PARM OPTS 90 C* C PARM HOBJ 90 バッファリカバ C PARM OCODE 90 C PARM REASON 90 C* C* <<エラーチェック処理>> C EXSR #MQERC ERR CHECK C* C ENDSR C* C**************************************************************** C*CMQ PUT C**************************************************************** C #MQPUT BEGSR C* <<MQPUT>> C EXSR #MQPU1 MQPUT C* <<エラーチェック処理>> C EXSR #MQERC ERR CHECK C* C ENDSR C* C**************************************************************** C*CMQ PUT   C**************************************************************** C #MQPU1 BEGSR C* C MOVELMQOD1 MQOD バッファリカバ C MOVELMQMD1 MQMD バッファリカバ C MOVELMQPMO1 MQPMO バッファリカバ C MOVELHOBJ1 HOBJ バッファリカバ C* C* <<MQPUT>> C* C Z-ADDPMSYP PMOPT C Z-ADDPEPER MDPER C Z-ADDLENGS BUFLEN C* C MOVELFMSTR MDFMT C* C Z-ADDMQPUT CID オープン C CALL 'QMQM' MQ PUT C PARM CID 90 オープン C PARM HCONN 90 C PARM HOBJ 90 バッファリカバ C PARM MQMD バッファリカバ C* C PARM MQPMO バッファリカバ C PARM BUFLEN 90 C PARM BUFFER データ部  C* C PARM CCODE 90 C PARM REASON 90 C* C COMIT C* C* <<バッファセーブ>> C* C MOVELMQOD MQOD1 バッファセーブ C MOVELMQMD MQMD1 バッファセーブ C MOVELMQPMO MQPMO1 バッファセーブ C MOVELHOBJ HOBJ1 バッファセーブ C* C ENDSR C* C**************************************************************** C*C全 MQCLOSE C**************************************************************** C #MQCLS BEGSR C* C MOVELMQOD1 MQOD バッファリカバ C MOVELMQMD1 MQMD バッファリカバ C MOVELMQPMO1 MQPMO バッファリカバ C MOVELHOBJ1 HOBJ バッファリカバ C EXSR #MQCL1 MQ CLOSE C* C ENDSR C* C**************************************************************** C*CMQ CLOSE C* オープンされているときのみクローズ処理を行う * C**************************************************************** C #MQCL1 BEGSR C* C OCODE IFNE CCFAIL C Z-ADDMQCLOS CID クローズ C Z-ADDCONONE OPTS C CALL 'QMQM' MQCLOSE C PARM CID 90 オープン C PARM HCONN 90 C PARM HOBJ 90 バッファリカバ C PARM OPTS 90 C* C PARM CCODE 90 C PARM REASON 90 C* C* <<エラーチェック処理>> C EXSR #MQERC ERR CHECK C* C ENDIF C* C ENDSR C* C**************************************************************** C*CMQエラーチェック C**************************************************************** C #MQERC BEGSR C* C CCODE IFEQ CCFAIL MQ異常 C EXSR #ERR C ENDIF C* C CCODE IFEQ CCWARN MQ警告 C EXSR #ERR C ENDIF C* C ENDSR C* C**************************************************************** HOME http://wague.zero-city.com