H DFTNAME(PGM116) DATEDIT(*YMD/) F********** 気象データ・ランキング ******************************* FPGM116FM CF E WORKSTN "F EXTFILE('QTROBJ/PGM116FM') "F HANDLER(HANDLER:HPARM) F SFILE(SFREC01:RRN1) F INFDS(INFDS) FJAPANL01 IF E K DISK F***************************************************************** " *( 2017/02/24 13:45:29 ) 5250 ハンドラーを組み込みました。 "D HANDLER S 20A INZ('ASNET.COM/P5250HLR') " " * ハンドラーに渡すパラメータの定義 * "D HPARM DS QUALIFIED "D HSIZE 4S 0 INZ(%SIZE(HPARM)) "D STATUS 1A "D HTMTYPE 10A INZ('TONAKAI ') "D HTM_DIR 128A INZ('/AS400-NET.USR/PROJECT/- "D PGM116') "D INFDSF_PTR * INZ(%ADDR(INFDS)) "D INFDSP_PTR * INZ(%ADDR(INFDSP)) "D INGID_PTR * INZ(%ADDR(*IN)) "D CFKEY_PTR * INZ(%ADDR(CFKEYS)) " * 現在の SFL コントロール・レコード名 "D SFLCTL 10A " *ラ 注意 ン - - - - - - - - - - - - - - - - - - - - - - - - - - - - " * SFL の表示行数を拡張するには DSPF の SFLSIZ を拡張して " * この行数 (HPARM.GYOSU) の分だけ SFL レコードを出力してください。 "D GYOSU 10I 0 "D EOF 1N " * 現在の DSPF の SFLPAG, SFLSIZ を取出します。 "D SFLPAG 4S 0 "D SFLSIZ 4S 0 " /COPY ASNET.USR/QRPGLESRC,CFKEYS " "D*( プログラム状況データ構造 ) "D INFDSP SDS "D PROC_NAM *PROC "D ROUTINE *ROUTINE "D PGM 1 10 "D 512A "D PGMINFO 1 512 "D LINE_NUM 21 28 "D ERRMSGID 46 51 "D JOB 244 253 "D USER 254 263 "D NBR 264 269 "D RUN_DATE 276 281S 0 " D SAVDTA S 1 DIM(1024) SAVE-ゴーn D* 読み取り ハィay の FORMAT を外部 DS として READ D DATADS E DS EXTNAME(JAPANL01) D DSPDTA 1 1024 D DIM(1024) 入力 ゴーn D* D* -( iバヲハィay の ハィay 情報 )- D* D INFDS DS D*( eーmy の行と桁の取り込み ) D LINE 370 371B 0 D* TOPRRN: 今表示している iバヲハィay の先頭の RRN D TOPRRN 378 379B 0 D* BRRN : iバハィay の z[ーq゙NO ( 2 進数 ) D BRRN 376 377B 0 D*( WORK 日付 YYMMDD ゴーn 構造 ) D DATEDS DS D SRY 1 2 0 D SRYMD 1 8 0 D YYMMDD 3 8 0 D YYMM 3 6 0 D MMDD 5 8 0 D YY 3 4 0 D MM 5 6 0 D DD 7 8 0 C* : KEYをファイルにセット C*----------------------------------------------------+ C SETKEY KLIST | C KFLD AVTMP | C KFLD AVMAX | C KFLD JPCODE | C*----------------------------------------------------+ C*( *LOVAL のセット ) C MOVE *HIVAL AVTMP C MOVE *HIVAL AVMAX C* | C SETKEY SETGT JAPANL01 C EXSR SFLCLR C* : ファイルの読み取り C Z-ADD 1 TOPRRN C EXSR READ C Z-ADD 1 DSPREC C*( サブ・ファイルの表示 ) C WRITE DSPEND01 C*----------------------------------------------------+ C DSPLY TAG | C SETON 4142 |SFL-DSPLY C EXFMT SFCTL01 | C SETOFF 4142 | C*----------------------------------------------------+ C SETOFF 99 C*( CF03 )- 終了 C *IN03 IFEQ *ON CF03 C SETON LR C LR RETURN C GOTO DSPLY C END CF03 C*( ROLL UP )- 次ページ C *IN14 IFEQ *ON C EXSR ROLLUP C GOTO DSPLY C END C*( 実行キー ) C GOTO DSPLY C* C END TAG C****************************************************** C *INZSR BEGSR C****************************************************** C SETON 45 C MOVE 14 GYOSU 2 0 行数 C MOVE 07 STRGYO 2 0 開始行Y C MOVE 20170101 SRYMD C MOVE 910101 DATE 6 0 C ENDSR C****************************************************** C READ BEGSR C****************************************************** C MOVE *BLANKS EOF 1 C SETOFF 5945 C*( データ・ベースの検索 ) C EVAL GYOSU = HPARM.GYOSU C RTNRED TAG C* C TOPRRN ADD GYOSU ENDRRN 4 0 C SUB 1 ENDRRN C* C TOPRRN DO ENDRRN RRN1 4 0 READ C AGAIN TAG C SETOFF 50 C READP JAPANL01 50 C 50 MOVE 'E' EOF 1 C 50 GOTO REDEND C*( 行 NO に入れる ) C MOVE RRN1 GYO C*( マイナス温度は赤色で表示 ) C AVMIN COMP 0 61 C*( iバハィay へ更新 ) C*----------------------------------------------------+ C WRITE SFREC01 | C*----------------------------------------------------+ C N59 Z-ADD RRN1 DSPREC C N59 SETON 59 C Z-ADD RRN1 LSTRRN 4 0 C END READ C REDEND ENDSR C****************************************************** C SFLCLR BEGSR C****************************************************** C*( SFL クリヤー ) C*----------------------------------------------------+ C SETON 44 | C WRITE SFCTL01 | C SETOFF 44 | C*----------------------------------------------------+ C ENDSR C****************************************************** C ROLLUP BEGSR C****************************************************** C EOF IFEQ 'E' C SETON 6199 ERRMSG C 99 Z-ADD LSTRRN DSPREC C 99 GOTO UPEND C END C ENDRRN ADD 1 TOPRRN C EXSR READ C UPEND ENDSR