警告一覧

 

データ管理

 

 

ロジックフロー

 

 

最適化

 

 

SQL

 

 

 

データ管理

DMA001 : データソースは書込モードでオープンしていますが、更新していません

影響:

データソースが書込モードででオープンされるプログラムは、マルチユーザ環境においてレコードをロックすることができます。不適当なロックメカニズムは、アプリケーションで予測出来ない動作を起こす可能性があります。

対応:

データソースの[アクセスモード]を「読込」に変更してください。

DMA002 : データソースは読込モードでオープンしていますが、データを更新しています

影響:

データソースにデータを書き込む必要がある場合、書込モードでオープンする必要があります。そうしないと、「読込専用テーブルは更新できません.」というエラーメッセージが表示されます。

対応:

データソースの[アクセスモード]を「書込」に変更してください。

DMA003 : キャッシュ=Yesで定義しているデータソースをオープンしています

影響:

クライアントPC上のデータのキャッシュは、ネットワーク上のデータ転送に影響しますが、アプリケーションが生データを使用して常に作動しているわけではないことを意味しています。テーブル検索のキャッシュは意味がありますが、より高度な状況では、データのキャッシュは未知のエラーを発生させる場合があります。

対応:

データソースのキャッシュの設定を「No」に変更してください。

DMA004 : キャッシュ=Yesで定義しているデータソースを書込モードでオープンしています

影響:

クライアントPC上のデータのキャッシュは、ネットワーク上のデータ転送に影響しますが、アプリケーションが生データを使用して常に作動しているわけではないことを意味しています。テーブル検索のキャッシュは意味がありますが、より高度な状況では、データのキャッシュは未知のエラーを発生させる場合があります。

対応:

データソースのキャッシュの設定を「No」に変更してください。

DMA005 : メインデータソースのインデックスが定義されていません

影響:

インデックスを使用しないでデータソースを開いた場合、インデックス順でデータがソートされないことを意味しています。

対応:

テーブルのデータにアクセスする場合は、インデックスを使用してください。

DMA006 : 登録モードのバッチタスクでタスク終了条件が設定されていません

影響:

バッチの作成タスクは、新しいレコードを作成するために使用されます。動作を終了させるための条件が設定されていない場合、エラーによって終了するまで、新しいレコードが作成され続けることになります。

対応:

新しいレコードを挿入する処理を終了させる必要がある場合は、タスクの[終了条件]特性を設定してください。

DMA007 : リンクコマンドのインデックスが定義されていません

影響:

カラムをリンクする際、インデックスを指定しないとパフォーマンスが低下します。

対応:

インデックスを使用してください。適切なインデックスが定義されていない場合は、作成してください。仮想インデックスを使用することでもデータアクセスの性能が改善されます。

DMA008 : 照会リンク、結合リンクまたは外部リンクの[位置付]が定義されていません

影響:

意図的でなくても、位置付の設定が行われていない場合、Magicは常にデータソースの最初のレコード上に位置付けられます。

対応:

特定のレコードにリンクするには、位置付式を使用してください。

DMA009 : リンクコマンドで[範囲]が定義されています

影響:

[RM互換]ロジックユニットに多くのロジックを実装した場合、[位置付]カラムの代わりに[範囲]カラムに設定されます。

対応:

範囲式を[位置付]に移動してください。

DMA010 : リンクコマンドで、インデックスの第一セグメント項目の[位置付]が定義されていません

影響:

この場合、Magic xpaは指定されたインデックスを使用しません。似たようなインデックスがあるか、データのシーケンシャル読み込みで使用される場合、そのインデックスが使用されます。

対応:

インデックスの最初のセグメントに対して位置付値を追加するか、異なる/新規のインデックスを使用/作成を行ってください。

DMA011 : 書込リンクの全てのセグメントの項目の[位置付]が定義されていません

影響:

リンクが特定のレコードにリンクするために使用されている場合、インデックスがユニークでも同じ値で位置付されるレコードが存在することができるため、処理が失敗する可能性があります。

対応:

インデックスセグメントの全てのカラムに位置付設定を行ってください。

DMA012 : 書込/登録リンクで、ユニークインデックスの全てのセグメント項目が使用されていません

影響:

重複インデックスのエラーが発生する可能性があります。

対応:

インデックスセグメントの全てのカラムに初期値を設定するか項目更新を行ってください。

DMA013 : ユニークインデックスが定義されていないデータソースです

影響:

ほとんどの場合、データソースはユニークなレコードのみを持っています。そうでなければ、データ操作で特定のレコードを位置付けすると問題が発生します。

対応:

データソースにユニークなレコードが必要でないことを確認してください。

MDMA014 : 変数項目の[範囲]を使用しています

影響:

範囲が実数項目の代わりに変数項目に設定された場合、範囲は正しく作動しない可能性があります。

対応:

範囲値が正しく設定されていることを各確認してください。

DMA015 : 遅延トランザクションが使用されています

影響:

遅延トランザクションはインターネット開発用で、オンラインタスクでの使用は推奨されません。

対応:

トランザクションを物理に変更するか、タスクのフローを再設計してください。

DMA016 : 登録リンクの代入値が未設定です

影響:

 [登録リンク]コマンド内のカラムが初期値で使用される場合、必要なすべての設定を忘れてしまう場合があります。

対応:

初期値に値を設定する必要があるかどうかを確認してください。

DMA017 : 書込リンクの代入値が未設定です

影響:

 [書込リンク]コマンド内のカラムが初期値で使用される場合、必要なすべての設定を忘れてしまう場合があります。

対応:

初期値に値を設定する必要があるかどうかを確認してください。

DMA018 : 削除モードのタスクで、メインソースに読込でアクセスしています

影響:

メインソースが読込モードでオープンされているため、レコードが削除できません。

対応:

メインソースの[アクセス]特性を「W=書出」に変更してください。

DMA019 : 照会モードのバッチタスクで、テーブルのアクセス/共有がW/Wになっています

影響:

タスクの実行モードが照会の場合、データソースのデフォルトのオープンモードはR/Wです。W/Wにするとオープンモードが毎回変更されオーバヘッドとなります。

対応:

テーブルのオープンモードをR/Wに変更してください。

DMA020 : データビューのメインソース・リンクテーブルのカラムが指定されていません

影響:

タスクにデータソースやリンクテーブルが定義されていてもカラムが定義されていなくても、データソースのオープン/クローズが発生し、オーバヘッドとなります。

対応:

下位のタスクでデータソースを使用するなどの意図が無い場合は、定義を削除してください。

DMA021 : バッチタスク(削除モード)のメインソースにインデックスが設定されています

影響:

範囲を指定して削除を行う必要が無ければ、インデックスを定義する必要はありません。

対応:

範囲指定を削除指定してください。

DMA022 : 外部/結合リンクで[条件]特性が'False'と評価される式になっています

影響:

外部/結合リンクで[条件]特性は利用できません。

対応:

[条件]特性を「Yes」に変更してください。

 

ロジックフロー

WFL001 : 実行されないコマンドがあります(条件=No)

影響:

実行されない処理コマンドは、ワークフローには影響しないまさにオーバヘッドなコードです。一方では、これらはテストやデバッグ目的のために無効にすることができ、後で有効にすることはありません。

対応:

これらの処理コマンドが、ワークフローには不要です、削除すべきかどうかを確認してください。

WFL002 : 入出力ファイルの式に同一タスクの項目を含む式が使用されています

影響:

現在のタスクの項目が定義される前に入出力ファイルを定義すると、入出力ファイルの名前が正しく設定されない可能性があります。入出力ファイルが定義される前にパラメータはデータを受け取るため、Magic Optimizerはすべてのパラメータをスキップします。

対応:

必要な項目をタスクの定義行の上位に移動してください。

WFL003 : コールタスク/プログラムのパラメータが一致しません

影響:

Magic の初期バージョンからアプリケーションを移行する場合、パラメータの不整合ワークフローに大きく影響します。例えば、" が Ver9.4の論理型項目に渡される場合、'False'として扱われるVer8と異なり 'True'という結果になります。

対応:

パラメータのデータ型を変更してください。定義された全てのパラメータを変更して、構文チェッカー(F8)ですべてのパラメータの組み合わをチェックした方が賢明です。

WFL004 : リテラルを使用することを推奨します

影響:

リテラル(FILE、PROG KEY…のように)をMagic のオブジェクトを参照する際に使用していない場合、リポジトリ内でオブジェクトの移動を行うと、タスクが動作しなくなります。

対応:

必要に応じてリテラルの使用を確認してください。

WFL005 : バッチタスクにおいて、登録モード以外でカラム項目の代入式を使用しています

影響:

代入式が新しいレコード値に適用される場合、実項目の代入式は登録用バッチタスクでは動作しません。

対応:

不要な代入式を削除するか、これらの代入式が変数項目でないことを確認してください。

WFL006 : 書込/登録リンク以外のリンクコマンドで、カラム項目の代入式を使用しています

影響:

[リンク]コマンドによる実項目上の代入式は、[書込リンク]または[登録リンク]のみ有効です。他のリンクは代入式を無視します。

対応:

代入式を削除するかか、正しい[リンク]コマンドを使用しているかを確認してください。

WFL007 : バッチタスクでメインデータソースのカラム項目の[位置付]を使用しています

影響:

位置付値は、メインデータソースが定義されたバッチタスクでは無視されます。メインデータソースの項目に対する位置付定義は、オンラインタスクでのみ有効です。

対応:

メインデータソースの項目上に定義された不要な位置付値を削除してください。

WFL008 : タスク前処理にてカラム項目を使用しています

影響:

データビューが任意のレコードにパークされる前に[タスク前]が実行されるため、実項目は空です。

対応:

上位タスク内の現在のタスクの[タスク前]でデータが必要であるかどうかを確認するか、パラメータで渡してください。

WFL009 : コールコマンドでパラメータに[式]を使用して渡しています(値渡し)

影響:

データ項目が、参照渡しでなく値渡しになっています。

対応:

呼び出したプログラムまたはタスクからデータを戻す場合、参照渡しでパラメータを指定してください。

WFL010 : コントロール特性の必須入力パラメータと項目の条件欄の設定が相反している可能性があります

影響:

 [RM互換]のデータ定義の条件式に「No」または「False」が設定されている場合、フォーム上で実行されません。

対応:

条件式を変更するか必須入力の式を削除してください。

WFL011 : コントロール特性の修正パラメータと項目の条件欄の設定が相反している可能性があります

影響:

 [RM互換]のデータ定義の条件式に「No」または「False」が設定されている場合、フォーム上で実行されません。

対応:

条件式を変更するか必須入力の式を削除してください。

WFL012 : 警告モードのエラーコマンドを複数連続して設定しています

影響:

同じ条件を持つ警告モードの[エラー]処理コマンドが連続して定義されています。

対応:

必要条件を追加するか、不要な[エラー]処理コマンドを削除してください。

WFL013 : バッチタスクで表示=ボックスの警告モードのエラーコマンドを使用しています

影響:

ダイアログボックス表示の[エラー]処理コマンドをバッチタスクで実行した場合、ユーザが[OK]ボタンをクリックするまで実行が停止します。この機能はテストまたはデバッグ処理のために残っています。

対応:

意図的でなければ、ステータス行表示に変更するか、[エラー]処理コマンドを削除してください。

WFL014 : バッチタスクでエラーモードのエラーコマンドを使用しています

影響:

エラーモードの[エラー]処理コマンドがバッチタスクで実行される場合、バッチタスクを停止させてしまいます。

対応:

警告モードに変更するか、[エラー]]処理コマンドを削除してください。

WFL015 : コールコマンドのパラメータに項目を使用して渡しています(参照渡し)

影響:

データ項目が参照渡しで渡された場合、戻り値についての予期しない結果になる可能性があります。

対応:

戻り値を期待しない場合は、参照ではなく値渡しでデータ項目を渡してしてください。

WFL016 : タスク後処理でカラム項目を更新しています

影響:

[タスク後]を実行しても、[レコード後]が実行されないとデータは更新されません。

対応:

データの更新は[レコード後]で行うように変更してください。

WFL017 : 空のプログラムが使用されています

影響:

空のプログラムはワークフローの機能がありません。呼び出しても、何も実行されないし何も返しません。

対応:

[コール]処理コマンドまたは空のプログラムに関連したすべての機能を削除してください。

WFL018 : 空のプログラムをすべて表示します

影響:

空のプログラムが適切なプログラム内に定義されていると、時々紛らわしい事になるかもしれません。

対応:

空のプログラムを削除するか、空であることがわかるようにマークしてください。

WFL019 : リンクコマンドの[確認]を定義しています

影響:

Ver9の[リンク]コマンドに[確認]特性が設定されている場合、アプリケーションのワークフローが予期せず終了することがあります。

対応:

[確認]特性が意図的に定義されているものかどうかを確認してください。

WFL020 : KbPut関数を使用しています

影響:

複雑なKbPut()関数は、時々予期しない動作が発生する場合があります。

対応:

有効な[イベント実行]処理コマンドを使用してください。

WFL021 : テーブルをオープンしていますが、タスクレベルのみ通過するタスクです

影響:

データが読み込まれる前に、タスクが終了します。

対応:

タスクが正しく設計されていることを確認してください。

WFL022 : V10マイグレーション - オンラインタスクのレコードメインにコマンドが使用されています

影響:

レコードメインの概念はMagic eDeveloperやMagic uniPaaS、およびMagic xpaでは廃止されました。

対応:

 [RM互換]の処理の代わりにイベントとロジックユニットを定義してください。

WFL023 : イベントやハンドラのタイマーが 00:00:00 です

影響:

イベントは実行されません。

対応:

実行する時間を設定してください。

WFL024 : 固定のパスを使用しています

影響:

定義されている物理パスがインストール上の値と異なる可能性があります。

対応:

論理パスまたは動的なパスを定義してください。

WFL025 : コントロールがフォームからはみ出しています

影響:

フォームは、すべてのコントロールを表示することができません。

対応:

フォームのサイズを変更するか、フォーム上のコントロールを再配置してください。

WFL026 : CallProg関数 - パラメータ数が一致していません

影響:

呼び出されたプログラムは、必要なパラメータが全て送られたようには動作しないかもしれません。

対応:

必要なパラメータがプログラムに渡されていることを確認してください。

WFL027 : パラメータとして定義している変数項目

影響:

パラメータとしての変数項目が選択パラメータとして定義されていない場合、この警告は、呼出したプログラムからのすべての情報を集め、プログラムがいくつのパラメータを受け取るかを表示します。

対応:

すべてのパラメータがパラメータとして定義されていることを確認してください。

WFL028 : HTMLタグテーブルの項目の書式が、参照元項目の書式と異なっています

影響:

データ項目の[書式]特性(すでに[タグ]テーブルで使用されています)を変更しても、[タグ]テーブル内の書式は自動的に変更されません。このような場合、正しい値が表示されないかもしれません。例えば、文字型項目の書式を100から200に変更しても、[タグ]テーブル内のタグは最初に定義された書式のままで自動的に変更されず 100 のままになります。

対応:

 [タグ]テーブル内のすべての書式が対応するデータ項目の[書式]]特性の設定値と合っていることを確認してください。

WFL029 : タスク後処理でエラー処理コマンドのモードがエラーに設定されています

影響:

 [タスク後]に[エラー]処理コマンドを定義すると、エラーが解除できずに処理がロックされる可能性があります。

対応:

テストやデバッグで[エラー]処理コマンドを使用する場合は、警告モードに変更してください。必要が無い場合は処理コマンドを削除してください。

WFL030 : 無効化された処理コマンド行を含んでいます

影響:

タスクのサイズが大きくなり、読み込みに時間がかかる場合があります。

対応:

テストやデバッグで処理コマンドを使用する場合以外は削除してください。

WFL031 : コールされたりサブフォームで接続するサブタスクが空です

影響:

 [サブタスク]コントロールに定義されたサブタスクが空の場合、実行しても何も表示されません。

対応:

起動するタスク/プログラムを変更するか、フォームの設計を見直してください。

WFL032 : CallProg関数で呼出されたプログラムに戻り値の設定がありません

影響:

CallProg()関数の実行結果が正しく返りません。

対応:

呼び出されるプログラムの[戻り値]特性に戻り値を設定してください。

WFL033 : データ項目が自身の値によって更新されています

影響:

項目更新処理が再帰状態になり、正しい結果が返りません。

対応:

更新内容を見直してください。

WFL034 : データ項目が2回連続で更新されています

影響:

無駄な実行が発生することになりオーバヘッドとなります。

対応:

更新する式を見直して、1回の処理コマンドで更新するようにしてください。

WFL035 : パラメータとして同じデータ項目が複数回指定されています

影響:

パラメータが正しく渡らない可能性があります。

対応:

パラメータの設計を見直してください。

WFL036 : ボタンに親タスクの項目が定義されています

影響:

親タスクの項目をフォームに配置してもパークしません。また、クリックしてもイベントが発生しません。

対応:

現在のタスクにボタン用のデータ項目を定義するか、[ボタン]コントロールのデータ定義を削除してください。

WFL037 : 再帰プログラムの呼び出しが行われています

影響:

場合によっては、ループする可能性があります。

対応:

必要性を確認してください。

WFL038 : 名前が重複しています

影響:

名前が重複している場合、使用する項目を間違えたり、本当に使用すべき項目を正確に把握できなくなります。

対応:

すべての名前をユニークにしてください。これによって、間違った項目が使用されることは無くなります。

WFL039 : ボタンコントロールがバッチタスクで使用されています

影響:

バッチタスクでは、[ボタン]コントロールは、オンラインのようにユーザ操作はできません。

対応:

ボタンを削除してください。たぶん、オンラインタスクとして配置する意図があったためと思われます。

WFL040 : 空の式が使用されています

影響:

式による値は使用されないかパラメータとして渡されません。

対応:

意図的なのか、間違った式が使用されているのかを確認してください。

WFL041: Len()関数に Trim()/RTrim()関数が指定されていません

影響:

文字型のデータ項目で文字数をカウントしようとする時、Len()関数は書式長の全てを返します。A20という書式の項目は、'Magic' という文字が含まれていても 20 が返ります。Len(Var) = 20

対応:

Len()関数とRTim()関数を使用した場合のデータ長は、含まれている文字の長さが返り、書式の長さではなくなることを知っておいてください。

データ項目に 'Magic xpa'  という文字列が含まれている場合、Trim()関数を使用したLen関数は正しい値、5を返します。Len(Trim(Var)) = 5

WFL042: Counter()関数がオンラインタスクで使用されています

影響:

Counter()関数は、バッチタスクまたはリッチクライアントの非インタラクティブタスクによって実行されるレコードレベルで繰返し回数をカウントします。

対応:

LoopCounter()関数の代わりに使用されていないかを確認してください。

WFL043: エラー処理コマンドにメッセージが定義されていません

影響:

それがユーザのために重要でも、メッセージは表示されません。

対応:

間違った式がユーザ向けのメッセージの代わりに使用されていないかを確認してください。

WFL044: GUI出力/入力とテキスト出力/入力が混在しています

影響:

場合によっては、何も出力されないかもしれません。

対応:

入出力デバイスとフォームの正しい組み合わせが、実行される[フォーム入力/出力]処理コマンドで定義されていることを確認してください。タスクの中に、たくさんの入出力デバイスとフォームが定義されている場合や、名前がユニークでない場合にこのようなことが発生します。

WFL045: タブコントロールが修正許可になっていません

影響:

他のタブの内容を表示させることができません。

対応:

タスクタイプの組み合わせや、[タブ]コントロールの[照会時修正許可]特性が「True」 になっていることを確認してください。

WFL046: 式 = 'TRUE'LOG という不要な条件が定義されています

影響:

このような条件が定義された処理コマンドは常に実行されます。

対応:

たぶん、間違った条件式が使用されているか、条件自体が間違っています。

WFL047: 奇数のブロックIf/Else処理コマンドの条件があります

影響:

条件が、いくつかのポイントで実行されるために、すべてのIF/Elseブロックで許可されていない場合、これらのブロックは決して実行されません。

対応:

1つ以上のIf/Elseブロックで条件が同じでないことを確認してください。

WFL048: 不正なコントロ−ル名が使用されています

影響:

Magic xpa Studioは、[項目]ロジックユニット内や関数の中で使用されたコントロール名が存在しているかどうかをチェックしません。

対応:

すべてのコントロール名が存在していて、綴りに間違いがないことを確認してください。または、実行されないロジックユニットや関数を削除してください。

最適化

OPT001 : ウィンドウ表示=Yesのバッチタスクのフォームがブランクです

影響:

ウィンドウを表示させるとバッチ処理が遅くなります。

対応:

タスクの[ウィンドウ表示]特性を「No」に設定してください。

OPT002 : メインデータソースのないバッチタスクの[タスク終了条件]が「No」です

影響:

無限ループが発生する可能性があります。

対応:

[タスク終了条件]を設定してください。

OPT003 : バッチタスクのRM互換ロジックユニットに不正なコマンドが設定されています

影響:

バッチタスクの[RM互換]では、データ定義とリン定義のみ動作します。

対応:

 [RM互換]で実行されないすべての処理コマンドを削除してください。

OPT004 : タスク常駐が「No」のバッチタスクです

影響:

タスクがグループレベルから呼び出された場合、何回も呼び出される可能性があります。常駐させることでワークフローが高速化されるかもしれません。

対応:

 [拡張]タブの[タスク常駐]特性を設定してください。

注意:[タスク常駐]特性を多用するとメモリを圧迫する可能性があるので、推奨できません。

OPT005 : 上位タスクでテーブルをオープンすることを推奨します

影響:

タスクがグループレベルで呼び出された場合、上位のタスクでオープンされていない限り、タスクが呼び出される度にデータソースのオープン/クローズが発生します。上位タスクでデータソースをオープンすることで、タスクの実行スピードが上がります。

対応:

上位タスクでデータソースを開くようにしてください。

OPT006 : CndRange関数が使用できる可能性があります

影響:

CndRange()関数はIF関数より大きな利点があります。

対応:

利用可能なところでIF関数をCndRange()関数に置き換えてください。

OPT007 : ソート、範囲式、位置付式を設定しているタスクです

目的:

ソート、範囲、または位置付の式が定義されたタスクを検索します。

OPT008 : フォームの書式と項目の書式が異なります

影響:

書式を異なると、異なる値が表示されます。

対応:

書式が誤って変更されていないか確認してください。

 

SQL

 

SQLの警告は、アプリケーションに応じて便利な場合があります。これらの警告は、他のアプリケーションやその他に対して有効な情報になる可能性がありあります。

QSQL001 : SQL コマンドのデータベースと結果データベースが同じです

影響:

状況によっては、[データベース]欄と同じ内容を[結果データベース]に設定することは賢明ではなく、Magic が異常終了する場合があります。

対応:

 [結果データベース]にデータベース(Memoryを推奨します)に変更してください。

SQL002 : SQL コマンドのデータベースと結果データベースが異なります

影響:

利用方法によっては、ワークフローの結果が正しくない場合があります。

対応:

[結果データベース]を別のデータベースに変更してください。

SQL003 : SQL コマンドの結果データベースがMemoryデータベースです

影響:

状況によっては、間違っている場合があります。

対応:

 [結果データベース]を別のデータベースに変更してください。

SQL004 : SQLコマンドの戻り値が設定されているが使用されていません

影響:

戻り値を使用する必要がある場合、ワークフローは正しく動作しない場合があります。

対応:

戻り値の使用目的を確認するか、削除してください。

SQL005 : SQLコマンドの入力パラメータに同一タスクの項目が定義しています

影響:

現在のタスクのデータ項目の値が定義される前に、ダイレクトSQLが構成されます。パラメータは値を受け取ることができるため、Magic Optimizerはこのタスクの中に定義されたパラメータをスキップします。

対応:

SQLの入力パラメータをタスクのデータ定義の上位に移動してください。

SQL006 : SQL関数( DbDel, DbRecs, DbName, ... )を使用しています

目的:

SQL関数を使用して、すべてのタスクを検索します。

 


Copyright © 2017 Ocean Solutions

http://www.magic-optimizer.com