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

パスワード:


パスワード紛失

制約違反で変数の更新処理ができません

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2010-3-10 11:36 | 最終変更
wk1574  一人前   投稿数: 99
いつもお世話になっています。

親子のタスクがあり、親の変数を子タスクで更新するプログラムで以下のエラーが発生して、変数の更新ができません。
「制約違反.データソース: Cテーブル」

上記のエラーが画面左下のステータスバーに表示されます。
トランザクション関係の問題と仮定して1日調査しましたが、解決しませんでした。
エラーについての解決策等をご教授下さい。
よろしくお願いします。

--------補足内容--------------------------------------
<実行環境>
OS:Windows XP SP3
Magic:Magic UniPaaS Plus

<タスク構成>
Aタスク :親
  ↓
Bタスク :子

<テーブル構成>
Cテーブル
(テーブル項目)
  項目名  タイプ  桁数
・ID 数値 5桁
 ・年月    日付   YYYYMMDD
 ・個数    数値   3桁  

(index)
ID (昇順), 年月 (昇順)

<Aタスク>
タスクタイプ:バッチタスク
メインテーブル:なし
初期モード:照会
トランザクションモード:物理
トランザクション開始:レコード前の前
(変数項目)
  項目名   タイプ  桁数
 ・ID 数値 5桁
 ・年月    日付    YYYYMMDD
・個数_変数  数値    3桁 

<Bタスク>
タスクタイプ:バッチタスク
メインテーブル:Cテーブル
初期モード:修正
トランザクションモード:物理
トランザクション開始:レコード前の前

<処理の概要>
Aタスクのレコード後でBタスクがコールされる。BタスクでAタスクのIDと年月でCテーブルのデータを位置指定して、Cテーブルの個数に対して「個数+1」の処理を行う。
その結果をレコード後でAタスクの個数_変数に代入している。
この代入を行わないと、上記のエラーは発生しませんでした。
また、Aタスクの変数への代入部分を別タスクで行っても同様のエラーが発生しました。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-3-31 15:50
null  長老   投稿数: 191
似たような条件でやってみましたが問題なく更新されています。
C テーブルの制約の設定が問題ないか確認するしか無いように思えます。
あとは更新する変数の特性にある「データビューの一部」を No にしてみるとか。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-5-7 15:45
wk1574  一人前   投稿数: 99
nullさん返信ありがとうございます。

変数の特性にある「データビューの一部」を No にしてみましたが、上記のエラーが発生しました。
また、改めて見直した所、処理データによって発生しないケースがありました。データ内容の整合性が合わない場合でも「制約違反」は発生するのでしょうか?
投票数:0 平均点:0.00

  条件検索へ


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