先の紹介で QNTC 経由で他の PC サーバーにあたかもローカルにあるかのように
他の PC サーバーにアクセスできることは理解して頂けたことと思う。
そこで次に多い質問は自社の製品などの画像と他の PC サーバーにある画像を
どのように関連づけて登録しておけばよいのか? という疑問である。
№ 部品番号 部品名 部品区分 在庫区分 基準在庫数 ====== =========== ======================= ========== =========== ============ 000001 AD-D15FF 超小型アダプター 1 2 1,000 000002 BUH-001 金型パイプ 001 2 2 1,800 000003 BUH-002 5mmネジ 1 48,000 000004 BUH-003 台座 500 X 250 1 25,000 000005 BUH-004 六角平ネジ 60 MM 1 3,000 000006 BUH-005 表示端末 2 200 000007 DIS-001 磁気ディスク装置 1 0 000008 DIS-002 フロッピー 8 インチ 1 0 000009 DIS-003 ディスケット 5 インチ 1 0 000010 EKI-054 液晶表示装置 2 0 000011 MAN-087 マニュアル一式 2 0 000012 MF333 コンピュター アクセサリー 2 100 000013 TEN-033 テンプレート 001 1 12,500 000014 TEN-034 台座200 1 1,500 000015 TEN-035 発光ダイオード 2 100,000
このような部品マスターファイル (BUHINM
) があったとする。
これに対して「部品イメージ・ファイル」 (BHIMAGE
) は次のようなファイルである。
№ 部品コード イメージ保管場所 ====== ============ ============================================ 000001 BUH-001 /QNTC/192.168.1.43/IMAGE/BIKE1.JPG 000002 BUH-002 /QNTC/192.168.1.43/IMAGE/IMG/BKTTR7.JPG 000003 BUH-003 /QNTC/192.168.1.43/IMAGE/DANCER.JPG 000004 BUH-004 /QNTC/192.168.1.43/IMAGE/KICKBD2.GIF 000005 BUH-005 /QNTC/192.168.1.43/IMAGE/PL1000.JPG 000006 BUH-006 /QNTC/192.168.1.43/IMAGE/RAILCAR.JPG 000007 DIS-001 /QNTC/192.168.1.43/IMAGE/RAILCAR.JPG 000008 DIS-002 /QNTC/192.168.1.43/IMAGE/SHP2000.JPG 000009 DIS-003 /QNTC/192.168.1.43/IMAGE/SSN125.JPG
このイメージ保管場所フィールドの値は
BHNCODE CHAIN BHIMAGE 99
のような単純な CHAIN 命令で取得できることは容易に理解できるはずである。
出力するプログラムでは
<IMG SRC="/QNTC/192.168.1.43/IMAGE/BIKE1.JPG">
のような HTML タグとして出力するだけのことである。
DSPF には HTML タグを出力するための HTML キー・ワードが
IBM によって提供されている。( 詳しくは DDS 解説書を参照 )
CRTEXDSPF
を使えば SFL 明細行にも HTML を0001.00 A*%%TS SD 20080115 153521 QTR REL-V5R4M0 5722-WDS 0002.00 A*-----------------------------------------------* 0003.00 A* サブファイル表示 PGM209FM * 0004.00 A* 0005.00 A* 部品在庫の照会 0006.00 A* 0007.00 A* SFL レコードに HTML を表示するサンプル 0008.00 A* CRTEXDSPF QTROBJ/PGM209FM SRCFILE(QTRSRC/QDSPSRC9 0009.00 A* AUT(*ALL) 0010.00 A*-----------------------------------------------* 0011.00 A*%%EC 0012.00 A DSPSIZ(27 132 *DS4) 0013.00 A MSGLOC(27) 0014.00 A PRINT 0015.00 A R SFREC01 SFL 0016.00 A*%%TS SD 20080115 153521 QTR REL-V5R4M0 5722-WDS 0017.00 A TEXT(' SFL明細行 ') 0018.00 A*------------------------------------------------* 0019.00 A*( 1 段目の表示 ) 0020.00 A GYO 4A O 4 2TEXT(' № ') 0021.00 A BZBHCD 12A O 4 7TEXT(' 部品コード ') 0022.00 A BHNAME 20O O 4 20TEXT(' 部品名 ') 0023.00 A BZSURY 7Y 0O 4 42TEXT(' 在庫数量 ') 0024.00 A EDTCDE(J) 0025.00 A BZHATZ 7Y 0O 4 54TEXT(' 発注残数 ') 0026.00 A EDTCDE(J) 0027.00 A*( 2 段目の表示 ) 0028.00 A* 画像の URL を SFL レコードの下の段に表示して実際に表示する 0029.00 A* 位置は上の段の右端に POS で移動して表示します。 0030.00 A IMGTAG 120A O 5 2TEXT('POS(4,70)') 0031.00 A* 0032.00 A R SFCTL01 SFLCTL(SFREC01) 0033.00 A*%%TS SD 20080115 151505 QTR REL-V5R4M0 5722-WDS 0034.00 A SFLSIZ(0006) 0035.00 A SFLPAG(0005) 0036.00 A TEXT(' SFL制御見出 ') 0037.00 A OVERLAY 0038.00 A 41 SFLDSPCTL 0039.00 A 42 SFLDSP 0040.00 A 43 SFLINZ 0041.00 A SFLRNA 0042.00 A 44 SFLCLR 0043.00 A 45 SFLEND(*SCRBAR) 0044.00 A 46 SFLDLT 0045.00 A ROLLUP(14 ' 次頁 ') 0046.00 A ROLLDOWN(15 ' 前頁 ') 0047.00 A N88 SFLFOLD(CF11) 0048.00 A*N88 SFLDROP(CF11) 0049.00 A CF03(03 ' 終了 ') 0050.00 A SETOF(99) 0051.00 A BLINK 0052.00 A 2 2' 部品在庫の照会 ' 0053.00 A DSPATR(HI) 0054.00 A*( 明細行の桁見出し ) 0055.00 A 3 2' № ' 0056.00 A DSPATR(HI) 0057.00 A 3 7' 部品コード ' 0058.00 A DSPATR(HI) 0059.00 A 3 21' 部品名 ' 0060.00 A DSPATR(HI) 0061.00 A 3 42' 在庫数量 ' 0062.00 A DSPATR(HI) 0063.00 A 3 54' 発注残数 ' 0064.00 A DSPATR(HI) 0065.00 A 88 3 66' 画像イメージ ' 0066.00 A DSPATR(HI) 0067.00 A R DSPEND01 0068.00 A TEXT(' 機能キーの表示 ') 0069.00 A*%%TS SD 19930612 144015 QUATTRO REL-V2R1M0 5738-PW1 0070.00 A*----------------------------------------------------* 0071.00 A OVERLAY 0072.00 A CF03(03 ' 終了 ') 0073.00 A 23 2'F3= 終了 ' 0074.00 A COLOR(BLU)
0001.00 H DFTNAME(PGM209) DATEDIT(*YMD/) 0002.00 F********** 部品在庫の照会 ****************************************** 0003.00 FPGM209FM CF E WORKSTN 0004.00 F SFILE(SFREC01:RRN1) 0005.00 F INFDS(INFDS) 0006.00 F INFSR(*PSSR) 0007.00 FBHZAIKO IF E K DISK 0008.00 FBUHINM IF E K DISK 0009.00 FBHIMAGE IF E K DISK 0010.00 F********************************************************************** 0011.00 D INFDS DS 0012.00 D NUM_COLS 154 155B 0 0013.00 D TOPRRN 378 379B 0 0014.00 D BRRN 376 377B 0 0015.00 D LINE_NUM 8A OVERLAY(INFDS:21) 0016.00 D CPFID 7A OVERLAY(INFDS:40) 0017.00 D PGMID 10A OVERLAY(INFDS:334) 0018.00 D EXCP_ID 4A OVERLAY(INFDS:171) 0019.00 D EXCP_DATA 80A OVERLAY(INFDS:91) 0020.00 D PROC_MOD 10A OVERLAY(INFDS:344) 0021.00 0022.00 D BEG_IMG C CONST('<IMG SRC="') 0023.00 D END_IMG C CONST('" WIDTH="36" HEIGHT="24"- 0024.00 D ALIGN="ABSMIDDLE" - 0025.00 D ONCLICK="IMAGECLICK(event,this)"> 0026.00 D VALUE S 512A 0027.00 0028.00 C EXSR SFLCLR 0029.00 C EXSR READ 0030.00 C Z-ADD 1 TOPRRN 0031.00 C*---------------------------------------------------- 0032.00 C DSPLY TAG 0033.00 C WRITE DSPEND01 0034.00 C SETON 4142 0035.00 C EXFMT SFCTL01 0036.00 C SETOFF 4142 0037.00 C*---------------------------------------------------- 0038.00 C SETOFF 99 0039.00 C*( CF03 )- 終了 0040.00 C *IN03 IFEQ *ON 0041.00 C SETON LR 0042.00 C RETURN 0043.00 C END 0044.00 C*( 実行キー ) 0045.00 C GOTO DSPLY 0046.00 C***************************************************** 0047.00 C *INZSR BEGSR 0048.00 C***************************************************** 0049.00 C NUM_COLS IFNE 132 0050.00 C 'DSPSIZ ERR' DSPLY ANS 1 0051.00 C ENDIF 0052.00 C*( U8: HTML の表示 ) 0053.00 C U8 SETON 0888 0054.00 C*( 引用符 ) 0055.00 C BITOFF '06' QUOT 1 0056.00 C BITON '123457' QUOT 0057.00 C ENDSR 0058.00 C***************************************************** 0059.00 C READ BEGSR 0060.00 C***************************************************** 0061.00 C 1 DO *HIVAL RRN1 4 0 0062.00 C SETOFF 50 0063.00 C READ BHZAIKO 50 0064.00 C 50 LEAVE 0065.00 C MOVE RRN1 GYO 0066.00 C SETOFF 99 0067.00 C BZBHCD CHAIN BUHINM 99 0068.00 C* 画像イメージの追加 0069.00 C EXSR ADD_IMAGE 0070.00 C* 0071.00 C*----------------------------------------------------+ 0072.00 C WRITE SFREC01 0073.00 C*----------------------------------------------------+ 0074.00 C END 0075.00 C ENDSR 0076.00 C***************************************************** 0077.00 C ADD_IMAGE BEGSR 0078.00 C***************************************************** 0079.00 C SETOFF 99 0080.00 C BZBHCD CHAIN BHIMAGE 99 0081.00 C *IN99 IFEQ *OFF 0082.00 C QUOT CAT(P) BEG_IMG:0 VALUE 0083.00 C CAT BMIMAGE:0 VALUE 0084.00 C CAT END_IMG:0 VALUE 0085.00 C CAT QUOT:0 VALUE 0086.00 C CAT X'00':0 VALUE 0087.00 C MOVEL(P) VALUE IMGTAG 0088.00 C END 0089.00 C ENDSR 0090.00 C***************************************************** 0091.00 C SFLCLR BEGSR 0092.00 C***************************************************** 0093.00 C*----------------------------------------------------+ 0094.00 C SETON 44 0095.00 C WRITE SFCTL01 0096.00 C SETOFF 44 0097.00 C*----------------------------------------------------+ 0098.00 C ENDSR 0099.00 C****************************************************** 0100.00 C *PSSR BEGSR 0101.00 C****************************************************** 0102.00 C 'MSGID=' CAT(P) PGMID:0 DSP40 40 0103.00 C DSP40 DSPLY ANS 1 0104.00 C ENDSR '*CANCL'