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

パスワード:


パスワード紛失

Re: 連番ファイルの最終連番確保処理について

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

通常 Re: 連番ファイルの最終連番確保処理について

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2007-5-30 22:31 | 最終変更
atushi  半人前 居住地: 長野県  投稿数: 30
LIMS008様、こんにちは

<質問事項と予想対策>
(1)V4、V7でうまく動作していたことを考えると、V9での
 タスク特性のロック方式の設定が気になる所ではあります。
 ロック方式によって、レコードロックがかかっていない
 状態で処理されたのかもしれません。
 バッチタスクデフォルトの[I=即時]以外は要確認です。

(2)リンクQは照会、リンクCは登録とわかりますが、
 DSは[降順]、ASは[昇順]という意味でしょうか?

(3)単純に、親タスクのリンクと、子タスクのリンクのみで、
 メインテーブルがないのであれば、1つのタスクで
 まとめて2つリンク定義しても良いのでは?

(4)連番ファイルのデータ構造は、連番がキー項目になっていて、
 常に最終の連番が追加登録された複数行のレコードということ
 でしょうか?

 その場合は、1レコードしかないデータ構造に変更して、
 そこに最終の連番が入るようにすると処理しやすいと思います。

 例えば、管理番号という項目を追加して、それをキーにします。
 管理番号は、常に[1]を代入及び位置付とします。
 そうすれば、管理番号[1]のレコードに対して、
 レコードロックがかかり、連番には最終の連番が入ります。

以下、そのときのサブプログラム例です。
タスクはバッチタスクを1つ作成し後置終了とします。

<レコードメイン>
セレクト パラメータ P_連番
リンク書込 連番ファイル 管理番号で[昇順]
セレクト 管理番号 [代入][位置付の小大]に[1]を設定
セレクト 連番
リンク終了

<レコード後>
項目更新 P_連番 式[連番+1] 代入
項目更新 連番  式[連番+1] 代入

(5)(4)によるデータ構造の変更を行わないで対応する方法として、
 サブプログラム内の連番ファイルのDB設定をアクセスW、
 共有Rでテーブルロックをかければ、A端末が実行中は、
 B端末は必ずテーブルロックエラーとなり、バッチ処理の
 完了待ちになると思います。
 原因がわからず、緊急回避したい場合に有効です。
投票数:1 平均点:10.00

投稿ツリー

  条件検索へ


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