Forums: Open Discussion (Thread #19399)

コントロールブレークと入力チェックの連携について (2008-07-24 22:39 by kevin_vain #37801)

以下の案で試していましたが、コントロールブレークが入力チェックの前に実行されてしまうので、業務の仕様に合っていません。
(仕様:入力チェックを通したデータがコントロールブレーク対象)

案:
<bean class="jp.terasoluna.fw.batch.validation.ValidationExecutorFactory">
<property name="collectedDataHandlerFactory">
<bean
class="jp.terasoluna.fw.batch.controlbreak.ControlBreakChunkerFactory">
<property name="controlBreakDef" ref="controlBreakDef" />
<property name="chunkSize" ref="chunkSize" />
</bean>
</property>
<property name="validator">
<bean parent="validator" />
</property>
<property name="validationResultHandler">
<bean parent="validationResultHandler" />
</property>
</bean>

何かいい方法をご教授いただければ助かります。

以上
よろしくお願いします。

Reply to #37801×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: コントロールブレークと入力チェックの連携について (2008-07-25 18:49 by kuramotoki #37818)

functionsampleのSAMPLE008-01ジョブで、検証したところ問題なく動作しました。
SAMPLE008-01ジョブのコレクタを以下のように変更しました。

<!-- コレクタ -->

<bean id="collector"
class="jp.terasoluna.fw.batch.ibatissupport.IBatisDbCollectorImpl">
<property name="sql" value="SAMPLE008.getSeikyuData" />
<property name="queryDAO" ref="queryDAO" />
<property name="collectedDataHandlerFactory">
<bean class="jp.terasoluna.fw.batch.validation.ValidationExecutorFactory">
<property name="collectedDataHandlerFactory">
<bean class="jp.terasoluna.fw.batch.controlbreak.ControlBreakChunkerFactory">
<property name="controlBreakDef" ref="controlBreakDef" />
<property name="chunkSize" ref="chunkSize" />
</bean>
</property>
<property name="validator"><bean parent="validator" /></property>
<property name="validationResultHandler"><bean parent="validationResultHandler" /></property>
</bean>
</property>
</bean>

また、以下のように入力チェック設定を入れました。

<form name="seikyuData">
<field property="seikyugaku" depends="intRange">
<arg key="請求金額" position="0" resource="false"/>
<arg key="${var:intRangeMin}" position="1" resource="false"/>
<arg key="${var:intRangeMax}" position="2" resource="false"/>
<var>
<var-name>intRangeMin</var-name>
<var-value>100000</var-value>
</var>
<var>
<var-name>intRangeMax</var-name>
<var-value>200000</var-value>
</var>
</field>
</form>

上記の設定を行い、SAMPLE008-01ジョブを実行した結果全てのデータが入力チェックで外され、
コントロールブレーク処理が行われませんでした。
つまり、コントロールブレイク処理の前に入力チェックが行われていることになります。

この結果を見る限り、入力チェックが正しく動作していなかったのではないかと思います。
もう一度設定を確認してもらえますか。

以上、よろしくお願いします。
Reply to #37801

Reply to #37818×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login