Migaro. 技術Tips

                       

ミガロ. 製品の技術情報
IBMiの活用に役立つ情報を掲載!


RPGから画像パスを指定して画像を表示する方法

SmartPad4i(Cobos4i)アプリケーションでは、HTMLのimgタグに設定されたsrc属性のファイル名をRPG側から指定して置換表示することができます。
SmartPad4i(Cobos4i)アプリケーションでは動的に画像を変更して表示することが可能です。

SmartPad4i(Cobos4i)でのIMGタグの設定

SmartPad4i(Cobos4i)で画像を使用する場合には、HTML側でimgタグを使用します。
imgタグにid属性を設定後、DesignerでHTMLを読込んで属性の設定を行います。

例えば、以下の画像のように、HTML上にレコード毎に異なる画像を表示する方法を例として説明します。

HTMLのタグ定義

「間取り」で表示している画像は、HTMLでは以下のように定義しています。

例) HTMLタグ

<img src="images/jacitr/SAMPLE.JPG" style="width: 465px;" id="JMLN1">

src属性には、画像が配置されているディレクトリのパスを定義しておきます。
/images/jacitr/****

Designerの設定

Designerの設定では、id属性 JMLN1 の定義で「IBMi Type」をAlpha 、「Usage」をOutputに設定します。

「Usage」をOutputに設定すると、IBMi側にはOUTPUT用のフィールド OJMLN1 が定義されます。

IBMiプログラム(RPG)側の設定

IBMiプログラムでは、OUTPUT用のフィールド OJMLN1に画像ファイル名を設定します。

例) RPG

0392.00      C           HOMLN1    IFEQ *BLANK            
0393.00      C                     MOVEL'NO2.JPG' OJMLN1  
0394.00      C                     ELSE                   
0395.00      C                     MOVELHOMLN1    OJMLN1  
0396.00      C                     ENDIF                  

ファイルのLHOMLN1フィールドには、画像ファイル名が格納されており、OUTPUT用のフィールド OJMLN1に画像ファイル名が設定されます。

出力結果

OUTPUT用のフィールド OJMLN1に「BK0017A.JPG」が設定された場合、HTMLタグは以下のようにファイル名のみが書き換わります。

例) テンプレートのHTML

<img src="images/jacitr/SAMPLE.JPG" style="width: 465px;" id="JMLN1">

例) RPGプログラムからの指定後

<img src="images/jacitr/BK0017A.JPG" style="width: 465px;" id="JMLN1">

ファイル名のみが書き換わりますので、別サーバーの画像ファイルを表示するようなことも可能です。
*****.JPGの箇所のみがIBMiプログラムから置換されます。

<img src="https://www.migaro.co.jp/img/*****.JPG" style="width: 465px;" id="JMLN1">

以上で、今回のTipsは終了です。