先の紹介で 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 台座2001 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'