ADDREPORT (機能:REPORT文の追加)

■ 構文

CALLP ADDREPORT('REPORTタグの番号')

■ 戻り値

なし

■ 引数

REPORTタグの番号(4A) '4桁以内の数値'

■ 解説

REPORT文をSETFLDのトリガーによる暗黙的な追加ではなく明示的に追加したい場合に使用してREPORT文を
追加します。

例えば、トリガーとなるSETFLD操作がない場合や空のREPORT文だけを追加させたいような場合に使用します。
#への埋め込みを含んでいないREPORT文の場合は、その典型的な例です。
#への埋め込みがないわけですからSETFLDによるREPORT文の暗黙的な追加は行えません。

このようなときにADDREPORTを使用するとREPORT文を追加することができます。

引数は何番目のREPORT文に追加するかを4桁以内の数字で指定します。

● 使用例

HTMLテンプレートではREPORTタグ内に埋め込み対象の$(FIELD)を記載します。

	<h1><FLD NAME=STITLE>##########</FLD></h1>
	<table>
	<REPORT><tr>
		<td>$(SHCODE)</td>
		<td>$(SHNAME)</td>
	</tr></REPORT>
	</table>
	<table>
	<REPORT><tr>
		<td align="right">$(SHTANK)</td>
		<td>$(SHSCOD)</td>
	</tr></REPORT>
	</table>

RPGではADDREPORTでREPORT文を追加して$(FIELD)への埋め込みを行います。

     C     1             DO        MAXGYO        RECORD            4 0
                                     :
     C                   CALLP     ADDREPORT('0001')           
     C                   CALLP     ADDREPORT('0002')           
                                     :
     C                   CALLP     SETFLD('$(SHCODE)': SHCODE) 
     C                   CALLP     SETFLD('$(SHNAME)': SHNAME) 
     C                   CALLP     SETFLD2('$(SHTANK)':        
     C                             %CHAR(SHTANK):7:0:10:'J')   
     C                   CALLP     SETFLD('$(SHSCOD)': SHSCOD) 
     C                   ENDDO                                 

この例では、最初の ADDREPORT('0001') で最初の<table>タグ内に
REPORTタグが追加され、次の ADDREPORT('0002') で2つ目の<table>タグ内に
REPORTタグが追加されます。

● 注意点

※ADDREPORTを使用する場合、HTMLテンプレート内のREPORT文は全て$(FIELD)への埋め込みのみを
 使用するようにしてください。
 REPORT文中で<FLD NAME=XXXX> …###…#… </FLD> への埋め込みとの併用は避けてください。

【正しい使用例】

REPORT文中で$(FIELD)のみを使用している例

	<h1><FLD NAME=STITLE>##########</FLD></h1>
	<table>
	<REPORT><tr>
		<td>$(SHCODE)</td>
		<td>$(SHNAME)</td>
	</tr></REPORT>
	</table>
	<table>
	<REPORT><tr>
		<td align="right">$(SHTANK)</td>
		<td>$(SHSCOD)</td>
	</tr></REPORT>
	</table>

【誤った使用例】

下記のようにREPORT文中で<FLD NAME=XXXX> …###…#… </FLD>が混在すると
正しく動作しない場合があります。

	<h1><FLD NAME=STITLE>##########</FLD></h1>
	<table>
	<REPORT><tr>
		<td>$(SHCODE)</td>
		<td>$(SHNAME)</td>
	</tr></REPORT>
	</table>
	<table>
	<REPORT><tr>
		<td align="right">$(SHTANK)</td>
		<td><FLD NAME=SHSCOD>####</FLD></td>
	</tr></REPORT>
	</table>