ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

バッチの処理回数

このトピックの投稿一覧へ

なし バッチの処理回数

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009-2-26 16:17
mizkoba  常連   投稿数: 48
みなさん、こんにちは。

バッチの処理回数なのですが、通常はメインソースのレコード分の
数だけ処理が繰り返されると思います。
(終了条件や、チェック時期によっては違いますが、デフォルトでは)

しかし、レコード分以上の処理回数が起こってしまい、
結果が変になってしまうのですが、何故なのでしょう?


1.番号(文字型 4桁)
2.到着日(日付型<##/##/##>)
3.出発日(日付型<##/##/##>)
4.増加日数(数値型 2桁)
でDB(DB名:TEMP-DBで番号は2とします)を定義します。

ここにAPGで2レコードのみ登録しました。
番号には3桁数字の1桁アルファベット(951Nやら903S)
2と3には単純に日付(ほぼ同日)を
4に7を登録しました。

このDBをメインソースにしてバッチ処理でDBを書き換えて
いくのですが、処理が上手くいきません。
処理内容は一回のバッチサイクルで番号に1を足し、
(901N⇒902N : 933S⇒934S)
到着日・出発日にDの増加日数を足すというだけです。

メインソース(TEMP-DB)
A.番号(文字型 4桁)
B.到着日(日付型<##/##/##>)
C.出発日(日付型<##/##/##>)
D.増加日数(数値型 2桁)

ロジックビュー
レコード後
項目更新 A.番号
<式> MID(A,1,1)&Str(Val(MID(A,2,2),'2')+1,'2')&MID(A,4,1)
*番号の1桁目は年数の下一桁なので固定
2,3桁目が変更部分
4桁目はアルファベットなので固定
項目更新 B.到着日
<式> B+D
項目更新 C.出発日
<式> C+D

これも単純に計算されずに、変な日付の結果になってしまいます。

アクティビテモニタを見ると
10回くらい処理を繰り返してます(COUNTER=10と同じ) 。
終了条件をCOUNTER(0)=DBRECS('2'DSOURCE,'')
チェック時期 A:後
にすると、バッチの処理は1サイクルしかしません。

これって何ででしょう???
投票数:0 平均点:0.00

投稿ツリー

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約