処理定義に関する詳細な相違について説明します。処理コマンドの相違については,オンラインヘルプを参照してください。
(1) 処理全般
処理全般の相違について説明します。
(a) メッセージ
Groupmax Form Clientでは,伝票発行業務を実行しているとき,エラーメッセージや通知メッセージが表示されるため,処理定義の実行状況を知ることができます。
Groupmax Form for ASPでは,エラーメッセージや通知メッセージが表示されません。また,処理定義でエラーが発生した場合,処理はそのまま続行されます。そのため,処理定義で¥ERRTNや¥ERMSGを使って,エラーが発生した場合の処理を作成してください。
(b) 後処理
Groupmax Form Clientでは,後処理を実行するには,データが入力されていなければなりません。
Groupmax Form for ASPでは,データが入力されていなくても,後処理は実行されます。
(2) 処理の流れ
処理の流れの相違について説明します。
(a) 空白を含んだ文字列の判定
Groupmax Form Clientでは,データの後ろの空白は無視して判定されます。このため,「A」と「A'△'」は一致します。ただし,「''(空文字列)」と「'△'」は不一致となります。
Groupmax Form for ASPでは,データの後ろの空白も含めて判定されます。このため,「A」と「A'△'」は一致しません。
(b) 項目の未入力の判定
Groupmax Form Clientでは「@判定開始 項目='△'」及び「@判定開始 項目=¥NIL」で判定できます。
Groupmax Form for ASPでは,未入力項目を判定できません。
(3) データ操作
データ操作の相違について説明します。
(a) 項目の属性
Groupmax Form Clientでは,項目の属性(数値・文字)の組み合わせによって,代入文,演算文,及び条件文の規則が異なります。
Groupmax Form for ASPでは,項目の属性(数値・文字)に関係なく,項目の内容によって,代入文,演算文,及び条件文の規則が異なります。
(b) 項目の桁数
Groupmax Form Clientでは,入力されたデータの長さが項目長に足りない場合,項目長まで空白が追加されます。
Groupmax Form for ASPでは,入力されたデータの長さが項目長に足りなくても,空白は追加されません。
(c) スペースの表示
Groupmax Form Clientでは,データの最後の空白は無視されます。「A'△'」と入力しても,表示上は「A」となります。
Groupmax Form for ASPでは,「A'△'」と入力すると,表示も「A'△'」となります。
(d) 演算方法
Groupmax Form Clientでは,10進演算で演算します。
Groupmax Form for ASPでは,浮動小数演算で演算します。Groupmax Form Clientとの演算方法の違いのため,演算誤差が発生する場合があります。
(e) 文字列操作
Groupmax Form Clientでは,コンボボックスの文字列を操作できます。
Groupmax Form for ASPでは,コンボボックスの文字列は操作できません。
(4) 案件処理
案件処理の相違について説明します。
(a) 伝票終了時の案件遷移
Groupmax Form Clientでは,伝票を終了すると自動的に案件が遷移します。
Groupmax Form for ASPでは,伝票を終了しても自動的に案件は遷移しません。
(5) SQL操作
SQL操作の相違について説明します。
(a) 接続情報
Groupmax Form Clientでは,@SQL接続でデータソース名,ユーザID,及びパスワードを省略すると,マネージャウィンドウで設定した値が使用されます。
Groupmax Form for ASPでは,マネージャウィンドウで設定できないため,@SQL接続でデータソース名,ユーザID,及びパスワードを必ず指定してください。
(b) トランザクション
Groupmax Form for ASPでは,WWWサーバ上のADOを経由してデータベースにアクセスします。アクセス中にクライアントとADOとの接続が切れると,すべてのトランザクションはロールバックされ,データベースとの接続が解除されます。このため,Groupmax Form ClientとGroupmax Form for ASPでは,次に示すような相違が生じます。
(c) NULL値の扱い
Groupmax FormClientでは,データベースからnullを検索すると格納先の項目や変数に,スペース(文字属性の場合)又は0(数値属性の場合)が設定されます。
Groupmax Form for ASPでは,属性に関係なく常に""(空文字列)が設定されます。
(d) SQL文の構成要素
Groupmax Form Clientでは,一つのSQL文中に指定できるバインド指定(項目名や変数名の前に「:」を付けたもの)やINTO句の数に制限があります。
Groupmax Form for ASPでは,一つのSQL文中に指定できるバインド指定やINTO句の数に制限はありません。
(e) 入力件数が0件の場合のレコードの追加
Groupmax Form Clientでは,入力件数が0件の場合,レコードは追加されません。
Groupmax Form for ASPでは,入力件数が0件の場合でも,レコードは追加されます。
(f) 検索結果の代入
検索結果の代入に関する相違について説明します。
(g) SQL文の解析結果
@SQL実行を実行したとき,SQL文中のINTO句の解析結果がGroupmax Form ClientとGroupmax Form for ASPでは異なります。
(h) ORACLEデータベースに付属されているODBCドライバの使用
Groupmax Form for ASPでORACLEデータベースを使う場合,ORACLEに付属されているODBCドライバでは,文字型の項目を条件に指定した検索ができないことがあります。これは,検索条件に指定した内容が,次に示す条件をすべて満たしている場合に発生します。
この場合の対策を次に示します。
(i) Microsoft SQL Serverの数値型項目に対する指定
Groupmax Form for ASPで Microsoft SQL Serverを使う場合,Microsoft SQL Serverの数値型項目に対してデータをバインド指定(:項目名,:変数名)したSQL文を実行するとエラーになることがあります。これは,次に示す条件をすべて満たしている場合に発生します。
この場合には,CONVERTを使ってデータベースの型に変換するようなSQL文に変更します。例を次に示します。