(57)【特許請求の範囲】
【請求項１】
ソースコードに含まれる関数が、当該ソースコード上における特定の項目の有無をチェックして当該特定の項目への置き換えを行うシステム関数であるか否かを判別する関数判別手段と、
前記関数判別手段による判別結果が前記システム関数である場合、当該システム関数の引数を解析する解析手段と、
前記解析手段により解析された引数に含まれる前記特定の項目がソースコードに含まれるか否かを判別する判別手段と、
前記判別手段の判別結果に基づいて、前記ソースコードに含まれるシステム関数を前記解析手段により解析された引数に置き換える置換手段と、
を備えるデータ処理装置。
【請求項２】
前記解析手段は、前記特定の項目を含む第１の引数、及び、当該特定の項目がソースコードに含まれない場合に置き換えるべき値を含む第２の引数を解析し、
前記置換手段は、前記判別手段の判別結果が前記特定の項目を含む場合、前記ソースコードに含まれるシステム関数を前記第１の引数に置き換える請求項１に記載のデータ処理装置。
【請求項３】
前記解析手段は、前記特定の項目を含む第１の引数、及び、当該特定の項目がソースコードに含まれない場合に置き換えるべき値を含む第２の引数を解析し、
前記置換手段は、前記判別手段の判別結果が前記特定の項目を含まない場合、前記ソースコードに含まれるシステム関数を前記第２の引数に置き換える請求項１に記載のデータ処理装置。
【請求項４】
コンピュータを、
ソースコードに含まれる関数が、当該ソースコード上における特定の項目の有無をチェックして当該特定の項目への置き換えを行うシステム関数であるか否かを判別する関数判別手段、
前記関数判別手段による判別結果が前記システム関数である場合、当該システム関数の引数を解析する解析手段、
前記解析手段により解析された引数に含まれる前記特定の項目がソースコードに含まれるか否かを判別する判別手段、
前記判別手段の判別結果に基づいて、前記ソースコードに含まれるシステム関数を前記解析手段により解析された引数に置き換える置換手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来から、ＷＳ（Work Station）やＰＣ（Personal Computer）等の業務処理を行うデータ処理装置では、汎用的なプログラム言語を用いて作成されたアプリケーションプログラムにより、上記業務処理を行っている。具体的には、プログラム言語を用いて処理を記述したソースコードをＣＰＵ（Central Processing Unit）が実行可能なオブジェクトコードに変換するコンパイル処理を行うことで、業務処理に関するアプリケーションプログラムを作成する。データ処理装置は、上記コンパイル処理により作成されたアプリケーションプログラムとＣＰＵとの協働により業務処理を実行する。
【０００３】
データ処理装置において、アプリケーションプログラムを作成する有用な技術としては、特許文献１〜３が知られている。この特許文献１〜３には、ソースコードをコンパイルしてアプリケーションプログラムを生成するアプリケーション生成装置、コンパイル装置等が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２２６３５８号公報
【特許文献２】特開平１０−１３３８８３号公報
【特許文献３】特開平１１−２１２８０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特に業務処理に関するアプリケーションプログラムの作成では、業務分野のデータ処理をモデル化し、各種業務処理ごとにプログラムを部品化して再利用する開発手法が知られている。例えば、伝票作成に関するアプリケーションプログラムを作成する場合は、伝票に記載する売上、数量などの項目に関するプログラム部品や、参照すべきデータベースへのアクセスに関するプログラム部品を組合せることでソースコードを作成し、コンパイルして、業務処理に関するアプリケーションプログラムを作成している。
【０００６】
また、業務処理における項目処理については、他の項目の値を使用して処理を行うものがある。このため、項目に関するプログラム部品を組み合わせてアプリケーションプログラムを作成する際には、各項目の存在をチェックするシステム関数を組み込む必要があった。
【０００７】
しかしながら、上記システム関数を組み込んだアプリケーションプログラムについては、実行時において各項目の存在をチェックする処理が行われるため、本来行うべき業務処理の処理速度に影響が生じる虞があった。
【０００８】
本発明は、プログラム部品を組み合わせてアプリケーションプログラムを作成する際に、本来行うべき処理の処理速度への影響を低減させる技術を提供することである。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、
ソースコードに含まれる関数が、当該ソースコード上における特定の項目の有無をチェックして当該特定の項目への置き換えを行うシステム関数であるか否かを判別する関数判別手段と、
前記関数判別手段による判別結果が前記システム関数である場合、当該システム関数の引数を解析する解析手段と、
前記解析手段により解析された引数に含まれる前記特定の項目がソースコードに含まれるか否かを判別する判別手段と、
前記判別手段の判別結果に基づいて、前記ソースコードに含まれるシステム関数を前記解析手段により解析された引数に置き換える置換手段と、
を備える。
【発明の効果】
【００１２】
本発明によれば、プログラム部品を組み合わせてアプリケーションプログラムを作成する際に、本来行うべき処理の処理速度への影響を低減させる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態に係るデータ処理装置の機能的構成を模式的に示すブロック図である。
【図２】業務処理に関するソースコードの作成から業務実行までの処理を示す概念図である。
【図３】データ処理装置における業務アプリケーション処理の概要を示す概念図である。
【図４】データ処理装置が実行するソースコード作成処理を示すフローチャートである。
【図５】ソースコード作成処理における編集画面を例示する概念図である。
【図６】項目値をチェックするシステム関数を例示する概念図である。
【図７】ソースコードの記載内容を例示する概念図である。
【図８】データ処理装置が実行するコンパイル処理を示すフローチャートである。
【図９】項目値を取得するシステム関数の置き換えを例示する概念図である。
【図１０】コンパイル処理により作成されたオブジェクトコードの実行を例示する概念図である。
【図１１】業務処理に関するソースコードの作成から業務実行までの処理の変形例を示す概念図である。
【図１２】実行モード設定時の表示画面例を示す概念図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図を参照して説明するが、この発明の範囲は以下の実施の形態に限定されない。
【００１５】
先ず、本実施の形態に係るデータ処理装置の構成について、図１を参照して説明する。図１は、データ処理装置１の機能的構成を模式的に示すブロック図である。
【００１６】
図１に示すように、データ処理装置１は、制御装置１１、記憶装置１２、表示装置１３、入力装置１４、通信装置１５、印刷装置１６を有する。上記データ処理装置１の各部はバス１７により電気的に接続されている。データ処理装置１は、ＷＳやＰＣ等の情報機器などであってよい。
【００１７】
制御装置１１は、ＣＰＵ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）などを有しており（いずれも図示しない）、データ処理装置１の動作を中央制御する。具体的には、制御装置１１は、ＲＡＭの作業領域に展開されたＲＯＭや記憶装置１２に記憶されたプログラムデータとＣＰＵとの協働により各部を統括制御する。
【００１８】
記憶装置１２は、プログラムデータや各種設定データ等のデータを制御装置１１から読み書き可能に記憶する。例えば、記憶装置１２は、ＨＤＤ（Hard Disk Drive）、半導体メモリであってよい。
【００１９】
上記記憶装置１２が記憶するデータとしては、業務プログラムファイル１２１、業務スケルトンテンプレート１２２、項目部品１２３、印刷部品１２４、ＤＢ処理部品１２５、業務処理部品１２６、設定ファイル１２７、各種参照ファイル１２８及び業務アプリケーション生成プログラム１２９などがある。
【００２０】
業務プログラムファイル１２１は、業務処理に関するアプリケーションプログラムである。業務プログラムファイル１２１は、制御装置１１のＣＰＵとの協働により、データ処理装置１における業務アプリケーションの実行処理を実行させる。具体的には、業務プログラムファイル１２１は、制御装置１１においてＣＰＵが実行可能なオブジェクトコードであり、コンパイル処理によりソースコードから生成されたデータである。
【００２１】
業務スケルトンテンプレート１２２は、売上伝票入力処理、請求書処理、顧客情報管理処理などの事務処理業務における処理の雛形をソースコードで定義したファイルである。業務スケルトンテンプレート１２２は、コンパイル処理により業務プログラムファイル１２１を生成する際の元となるソースコードである。すなわち、業務プログラムファイル１２１は、処理の雛形である業務スケルトンテンプレート１２２に業務処理の詳細を部品化したソースコードである項目部品１２３、印刷部品１２４、ＤＢ処理部品１２５、業務処理部品１２６を挿入したソースコードをコンパイルして生成される。なお、業務スケルトンテンプレート１２２は、上述した各種処理ごとにソースコードが分割された、各種処理ごとのデータファイルであってよい。
【００２２】
項目部品１２３は、業務スケルトンテンプレート１２２における各処理の雛形において、各項目における入力や表示を行うための定義や処理に関するソースコードを含むデータファイルである。ここにおける項目とは、例えば販売管理に関する売上伝票や受注伝票をユニークに扱う伝票番号、取引先や得意先を示す得意先コード、商品を示す商品コード、当該商品コードに対応する商品名などである。項目部品１２３は、上述した各項目ごとに定義や処理に関するソースコードが分割された、各項目ごとのデータファイルであってよい。
【００２３】
印刷部品１２４は、業務スケルトンテンプレート１２２における各処理の雛形において、伝票や帳票などの印刷を行うための定義情報、書式情報、印字制御などに関するソースコードを含むデータファイルである。なお、印刷部品１２４については、印刷する項目単位に定義や処理に関するソースコードが分割された、各項目ごとのデータファイルであってよい。
【００２４】
ＤＢ処理部品１２５は、業務処理における顧客情報、商品情報、売買記録などの業務情報を格納するデータベースＤＢに対し、データの更新、登録又は抽出など、当該データベースＤＢへの整合性の取れたデータアクセスを行う処理内容や定義情報に関するソースコードを含むデータファイルである。
【００２５】
業務処理部品１２６は、上述した部品で呼び出させて使用されるサブルーチン的な処理に関するソースコードを含むデータファイルである。業務処理部品１２６におけるサブルーチン的な処理の例としては、入力可能な項目をリスト表示し、選択することでデータ入力の補助を行う処理、伝票入力などのトランザクション処理の途中で新たにデータベースに対してレコード追加する処理、各部品で共通な処理又は問い合わせ・確認のダイアログを表示する処理などがある。
【００２６】
設定ファイル１２７は、アプリケーションプログラムを作成する際に必要な補助的な情報を管理するためのファイルである。具体的には、設定ファイル１２７には、その業務アプリケーションプログラムの実行時に参照する各種参照ファイル１２８を、その実体が格納されたフォルダから実行時に参照可能なフォルダへコピーするためのデータなどが格納されている。
【００２７】
例えば、設定ファイル１２７は、ソースコード上で利用されるシステム関数の名目や、当該システム関数と、ライブラリデータとの対応関係などを示すシステム関数テーブルなどであってよい。データ処理装置１では、このシステム関数テーブルを参照することで、コンパイル時におけるシステム関数のチェックを行うことができる。また、データ処理装置１では、システム関数テーブルを参照することで、ソースコードをコンパイルする際に、ソースコードに含まれるシステム関数に対応するライブラリデータを、アプリケーションプログラムの実行時に参照可能なフォルダへコピーすることが可能となる。
【００２８】
各種参照ファイル１２８は、上述した業務スケルトンテンプレート１２２やプログラム部品で組み合わされた業務処理において、画面表示や演算等の処理で参照されるデータファイルである。具体的には、ＣＰＵが直接読み出して処理が可能なライブラリデータ（オブジェクトファイル）であり、ソースコードのシステム関数として予め用意されたライブラリデータ、業務処理時の処理に関する実行モジュール、ＪＰＥＧ（Joint Photographic Experts Group）等の業務処理時の表示画面に関するイメージデータ、制御内容や定義内容を含むテキストデータなどがある。
【００２９】
業務アプリケーション生成プログラム１２９は、ソースコードの作成や、ソースコードのコンパイル等の処理に関するアプリケーションプログラムである。業務アプリケーション生成プログラム１２９は、制御装置１１のＣＰＵとの協働により、データ処理装置１におけるソースコード作成処理を実行させる。また、業務アプリケーション生成プログラム１２９は、制御装置１１のＣＰＵとの協働により、データ処理装置１におけるコンパイル処理を実行させる。
【００３０】
表示装置１３は、制御装置１１から出力された表示制御信号に基づいた画像を表示画面に表示する。表示装置１３は、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）などのディスプレイであってよい。
【００３１】
入力装置１４は、ユーザからの操作入力を受け付け、当該操作入力に応じた操作信号を制御装置１１へ出力する。例えば、通信装置１５は、文字入力キー、数字入力キー、その他各種機能に対応付けられたキーを備えたキーボード、マウス等のポインティングデバイスであってよい。
【００３２】
通信装置１５は、制御装置１１の制御の下、所定の通信プロトコルを用いて、互いに通信可能に接続する他の機器との間でデータ通信を行う。具体的には、通信装置１５は、無線通信回路及びアンテナや、有線で通信を行うための通信インターフェイスを備えた通信回路であり、無線／有線ＬＡＮ（Local Aria Network）、インターネットなどの通信ネットワークと接続し、当該通信ネットワークと接続する他の情報機器との間でデータ通信を行う。データ処理装置１は、この通信装置１５を介したデータ通信により、業務データが格納されたデータベースＤＢへのアクセスを行う。
【００３３】
印刷装置１６は、制御装置１１の制御の下、用紙などに画像形成を行う。具体的には、印刷装置１６は、電子写真方式やインクジェット方式などのプリンタなどである。
【００３４】
次に、データ処理装置１における業務アプリケーションの実行についての概要を図２、図３を参照して説明する。図２は、業務処理に関するソースコードの作成から業務実行までの処理を示す概念図である。図３は、データ処理装置１における業務アプリケーション処理の概要を示す概念図である。
【００３５】
図２に示すように、データ処理装置１では、業務スケルトンテンプレート１２２に項目部品１２３、印刷部品１２４、ＤＢ処理部品１２５、業務処理部品１２６を組み合わせてソースコードを作成するソースコード作成処理が行われ（ステップＳ１）、その作成されたソースコードをコンパイルするコンパイル処理が行われることで（ステップＳ２）、業務アプリケーションプログラムであるオブジェクトコード１２１ａが生成される。上記ステップＳ１、Ｓ２は、前述したとおり、制御装置１１のＣＰＵと業務アプリケーション生成プログラム１２９との協働により、実行される処理である。
【００３６】
ステップＳ２により生成されるオブジェクトコード１２１ａは、制御装置１１のＣＰＵとの協働により実行される業務アプリケーションプログラムである。この業務アプリケーションプログラムは、上述したステップＳ２、Ｓ３により、図３に示すように、業務処理における全体制御・画面制御・データ制御などの基本処理が定義された業務スケルトンテンプレート１２２に項目部品１２３、印刷部品１２４、ＤＢ処理部品１２５及び業務処理部品１２６を組み合わせて作成されている。
【００３７】
具体的には、制御装置１１が実行する業務アプリケーションプログラムにおいて、表示装置１３や入力装置１４で表示又は入力されるデータ項目については、業務スケルトンテンプレート１２２と項目部品１２３とで定義される。また、データベースＤＢをＳＱＬ（Structured Query Language）などで検索、更新制御する場合の動作は、業務スケルトンテンプレート１２２とＤＢ処理部品１２５とで定義される。さらに、データベースＤＢで検索した結果などのデータ出力を印刷装置１６から印刷する場合の動作は印刷部品１２４で定義される。また、上述した各処理のサブルーチン的な処理については、業務処理部品１２６で定義される。例えば、業務処理部品１２６には、日付情報を業務スケルトンテンプレート１２２と項目部品１２３との定義に従って和暦で受け付けて、その和暦を元に西暦に変化する日付変換処理などが定義されている。
【００３８】
次いで、データ処理装置１では、ステップＳ２により作成されたオブジェクトコード１２１ａを制御装置１１のＣＰＵが順次解析して実行することで、業務アプリケーションの実行処理が行われる（ステップＳ３）。このステップＳ３では、オブジェクトコード１２１ａの元となるソースコードで定義されたシステム関数など、必要に応じてシステム用ライブラリデータ１２８ａが参照される。
【００３９】
次に、ソースコード作成処理（ステップＳ１）の詳細について、図４〜図７を参照して説明する。図４は、データ処理装置１が実行するソースコード作成処理を示すフローチャートである。図５は、ソースコード作成処理における編集画面を例示する概念図である。図６は、項目値をチェックするシステム関数を例示する概念図である。図７は、ソースコードの記載内容を例示する概念図である。
【００４０】
図４に示すように、ソースコード作成処理が開始されると、入力装置１４からの操作入力に基づいて、ソースコードを作成するアプリケーション名の設定が行われる（ステップＳ１０１）。
【００４１】
次いで、入力装置１４からの操作により選択された業務処理の内容に基づいて、業務スケルトンテンプレート１２２の選択が行われる（ステップＳ１０２）。具体的には、このステップＳ１０２では、売上伝票入力処理、請求書処理、顧客情報管理処理などの業務スケルトンテンプレート１２２として用意された各種業務処理の中から、ユーザが作成を所望する処理が選択され、その選択された業務内容に関するデータファイルが選択される。
【００４２】
次いで、入力装置１４からの操作入力に基づいて、ステップＳ１０２により選択された業務スケルトンのプロパティが設定される（ステップＳ１０３）。このステップＳ１０３で設定される業務スケルトンのプロパティとは、処理の定義などであってよい。例えば、プロパティによる設定としては、売上伝票入力処理における税率設定などがある。
【００４３】
次いで、入力装置１４からの操作により選択された参照すべきデータベース名などに基づいて、ＤＢ処理部品１２５の選択が行われる（ステップＳ１０４）。例えば、ステップＳ１０４では、得意先情報が格納された得意先データベース、担当者情報が格納された担当者データベース、売上情報が格納された売上データベースなどの中から、ユーザが利用したいデータベースが選択され、その選択されたデータベースの利用に必要なＤＢ処理部品１２５が選択される。
【００４４】
次いで、ステップＳ１０２により選択された業務スケルトンテンプレート１２２の定義内容に基づいて、表示装置１３に実際の処理画面、印刷紙面を模した編集画面が表示され、項目や印刷レイアウトの編集を入力装置１４からの操作入力に基づいて行う編集作業が開始される（ステップＳ１０５）。
【００４５】
例えば、ステップＳ１０５において、ステップＳ１０２により選択された業務スケルトンテンプレート１２２が売上伝票入力である場合は、図５に示すように、売上伝票入力を行う実際の画面や、売上伝票入力時の印刷紙面と同じレイアウトの編集画面が表示装置１３に表示される。
【００４６】
この売上伝票入力に関する業務スケルトンテンプレート１２２には、入力項目としていくつかの項目テンプレートが予め用意されている。同様に、業務スケルトンテンプレート１２２には、印刷紙面や画面などの構成を示すいくつかの印刷テンプレートなど用意されている。編集開始時には、上記テンプレートの中から標準のテンプレートが使用される。例えば、図５の例では、標準の入力項目として、項目Ｋ１〜Ｋ９が使用されている。
【００４７】
次いで、編集作業が開始されると、入力装置１４からの操作入力に基づいた編集作業内容の判定処理が行われる（ステップＳ１０６）。
【００４８】
ステップＳ１０６において、入力装置１４からの操作指示が項目の削除であると判定された場合は、入力装置１４からの操作入力に基づいて、削除すべき項目テンプレートの選択が受け付けられ（ステップＳ１０７）、削除選択された項目テンプレートに基づいた項目や、その項目に関してコントロールを行うボタンなどが編集画面上から削除される（ステップＳ１０８）。
【００４９】
ステップＳ１０６において、入力装置１４からの操作指示が項目処理の編集であると判定された場合は、入力装置１４からの操作指示に基づいて、編集すべき項目テンプレートの選択が受け付けられ（ステップＳ１０９）、選択された項目テンプレートの内容を変更するテンプレート編集が行われる（ステップＳ１１０）。このテンプレート編集では、例えば、項目のプロパティの変更、編集画面上における項目の配置位置の変更などが行われる。
【００５０】
ステップＳ１０６において、入力装置１４からの操作指示が印刷処理の編集であると判定された場合は、入力装置１４からの操作指示に基づいて、編集すべき印刷テンプレートの選択が受け付けられ（ステップＳ１１１）、選択された印刷テンプレートの内容を変更する印刷レイアウト編集が行われる（ステップＳ１１２）。この印刷レイアウト編集では、例えば、印刷領域の大きさやサイズ変更、印刷位置の調整などが行われる。
【００５１】
ステップＳ１０６において、入力装置１４からの操作指示が編集作業の終了であると判定された場合は、上述したステップＳ１０７〜Ｓ１１２で変更した内容の定義ファイル（ソースコード）を保存するか否かが入力装置１４からの保存実行指示の有無などに基づいて判定される（ステップＳ１１３）。
【００５２】
ステップＳ１１３の判定において、定義ファイルを保存すると判定された場合（ＹＥＳ）は、上述したステップＳ１０７〜Ｓ１１２で変更した内容に基づいて、業務スケルトンテンプレート１２２に項目部品１２３、印刷部品１２４、業務処理部品１２６を組み込んだ定義ファイルが保存される（ステップＳ１１４）。
【００５３】
具体的には、ステップＳ１１４において、上述した編集作業において項目の削除が行われた場合は、当該削除された項目に関する項目部品１２３が組み込まれることなく、削除された項目の処理や定義を含まないソースコードが作成される。また、編集作業において項目処理の編集が行われた場合は、編集対象となった項目に関する項目部品１２３の内容が編集内容に基づいて修正される。同様に、編集作業において印刷処理の編集が行われた場合は、編集対象となった印刷テンプレートに関する印刷部品１２４の内容が編集内容に基づいて修正される。
【００５４】
ソース生成処理により、項目の削除が行われた場合に生成されるソースコードでは、当該削除された項目に関する項目部品１２３が組み込まれることがなくなるため、削除された項目を利用する他の項目がある場合にエラーとなってしまう。そこで、業務スケルトンテンプレート１２２、項目部品１２３、印刷部品１２４、ＤＢ処理部品１２５、業務処理部品１２６などにおいて、項目を利用する処理については、図６に例示した項目値の有無をチェックするシステム関数が記載されている。 
図６に示すように、項目値をチェックするシステム関数である「＠項目値取得」は、引数１で指定された項目名が画面上（ソースコード上）に存在しない場合、引数２で指定された所定値を戻す処理を行う関数である。従って、上記システム関数を利用することで、処理に必要な項目が削除された場合であっても、引数２の所定値が代入されるために、正常に処理を実行することが可能となる。
【００５５】
具体的には、図７に示すように、業務スケルトンテンプレート１２２、項目部品１２３、印刷部品１２４、ＤＢ処理部品１２５、業務処理部品１２６などにおける雛形のソースコードでは、売上単価や売上金額の項目で利用される他の項目について「＠項目値取得」の引数１で指定してチェックを行い、存在しない場合の値を引数２で指定している。例えば、売上単価の項目では、取引区分が商品割引である条件で利用される値引単価について、ソースコード上に存在しない場合は０を代入するように設定されている。
【００５６】
次に、コンパイル処理（ステップＳ２）の詳細について、図８、図９を参照して説明する。図８は、データ処理装置１が実行するコンパイル処理を示すフローチャートである。図９は、項目値を取得するシステム関数の置き換えを例示する概念図である。
【００５７】
図８に示すように、コンパイル処理が開始されると、コンパイル対象のソースコードが読み出され、当該ソースコード上の関数名が取得される（ステップＳ２０１）。
【００５８】
次いで、前述したシステム関数テーブルが読み出され、ステップＳ２０１で取得されたソースコード上の関数名と比較されることで、ソースコード上の各関数のチェックが行われ（ステップＳ２０２）、項目値を取得するシステム関数（「＠項目値取得」など）であるか否かが判定される（ステップＳ２０３）。
【００５９】
ステップＳ２０３において、項目値を取得するシステム関数でないと判定された場合（ＮＯ）は、関数の引数が取得されて値を解析する解析処理が行われ（ステップＳ２０４）、解析した引数の情報がメモリ展開される（ステップＳ２０５）。
【００６０】
次いで、関数の処理自体について、該当するライブラリデータを用いるライブラリ関数を参照するように設定される（ステップＳ２０６）。このステップＳ２０６では、ステップＳ２０２によりチェックされた関数をどのように処理するかを設定する。システム関数は、予め用意されたシステム関数用のライブラリデータを参照して処理を行っている。ステップＳ２０６では、どのライブラリデータを参照して関数の処理を行うかを設定する。
【００６１】
次いで、引数の処理自体について、該当するライブラリデータを用いるライブラリ関数及び項目を参照するように設定される（ステップＳ２０７）。このステップＳ２０７では、引数内に設定している処理について、システム関数用のライブラリデータや項目値を参照して行うように設定される。
【００６２】
従って、ステップＳ２０２でチェックされた関数について、項目値を取得するシステム関数でないと判定された場合（ＮＯ）では、既存のコンパイル処理が行われることとなる。
【００６３】
ステップＳ２０３において、項目値を取得するシステム関数あると判定された場合（ＹＥＳ）は、当該システム関数の引数が解析され（ステップＳ２０８）、引数の値が取得される（ステップＳ２０９）。具体的には、前述した「＠項目値取得」における引数１、引数２が取得される。
【００６４】
次いで、ステップＳ２０９において取得された引数１に該当する項目がソースコード上に存在するか否かがチェックされ（ステップＳ２１０）、そのチェック結果に基づいて引数１に該当する項目の存在の有無が判定される（ステップＳ２１１）。
【００６５】
ステップＳ２１１において、引数１に該当する項目がソースコード上に存在すると判定された場合（ＹＥＳ）は、本システム関数の処理が引数１で指定した項目に置き換えられる（ステップＳ２１２）。
【００６６】
具体的には、図９に示すように、項目値を取得するシステム関数として、引数１として値引単価、引数２として０が指定されており、ソースコード上に値引単価の項目が存在する場合は、引数１で指定した値引単価に置き換えられることとなる。
【００６７】
また、ステップＳ２１１において、引数１に該当する項目がソースコード上に存在しないと判定された場合（ＮＯ）は、引数２で指定された所定値に置き換えられる（ステップＳ２１３）。
【００６８】
具体的には、図９に示すように、項目値を取得するシステム関数として、引数１として値引単価、引数２として０が指定されており、ソースコード上に値引単価の項目が存在しない場合は、引数２で指定した値である０に置き換えられることとなる。
【００６９】
次いで、関数内の引数内の情報として、ステップＳ２１２、Ｓ２１３で置き換えられた情報がメモリに展開され（ステップＳ２１４）、引数の処理自体について、該当するライブラリデータを用いるライブラリ関数及び項目を参照するように設定される（ステップＳ２１５）。
【００７０】
従って、ステップＳ２０２でチェックされた関数について、項目値を取得するシステム関数であると判定された場合（ＹＥＳ）では、当該システム関数を実行した後にコンパイル処理が行われることとなる。
【００７１】
以上のように、データ処理装置１は、ソースコードをコンパイルしてオブジェクトコードに変換し、各種業務項目を処理する業務アプリケーションプログラムを作成するコンパイル手段（制御装置１１、ステップＳ２）と、コンパイル手段のコンパイル時に、ソースコードに含まれる関数が、当該ソースコード上における特定の業務項目の有無をチェックして当該特定の業務項目への置き換えを行うシステム関数であるか否かを判別する関数判別手段（制御装置１１、ステップＳ２０３）、コンパイル手段のコンパイル時に、関数判別手段による判別結果が上記システム関数である場合、当該システム関数の引数を解析する解析手段（制御装置１１、ステップＳ２０８）と、コンパイル手段のコンパイル時に、解析手段により解析された引数に含まれる特定の業務項目がソースコードに含まれるか否かを判別する判別手段（制御装置１１、ステップＳ２１０、Ｓ２１１）と、コンパイル手段のコンパイル時に、判別手段の判別結果に基づいて、ソースコードに含まれるシステム関数を解析手段により解析された引数に置き換える置換手段（制御装置１１、ステップＳ２１２、Ｓ２１３）と、を備える。
【００７２】
従って、データ処理装置１は、ソースコード上において、特定の業務項目の有無をチェックして当該特定の業務項目への置き換えを行うシステム関数がある場合に、当該システム関数を実行した後にコンパイル手段によるコンパイルが行われることとなる。
【００７３】
このため、データ処理装置１では、コンパイル処理により作成されたオブジェクトコードを実行する際において（ステップＳ３）、上記システム関数の処理を実行する必要が無くなるため、本来行うべき業務処理の処理速度への影響を低減させることができる。
【００７４】
また、データ処理装置１では、図１０に示すように、コンパイル処理により作成されたオブジェクトコードを実行する際に、上記システム関数の実行に必要なシステム用ライブラリデータ１２８ａが不要となるため、ライブラリデータの読出時間を短縮することができる。従って、データ処理装置１では、コンパイル処理により作成されたオブジェクトコードの実行時における処理速度を向上させることができる。
【００７５】
また、データ処理装置１の解析手段は、特定の業務項目を含む第１の引数、及び、当該特定の業務項目がソースコードに含まれない場合に置き換えるべき値を含む第２の引数を解析する。また、データ処理装置１の置換手段は、判別手段の判別結果が特定の業務項目を含む場合、ソースコードに含まれるシステム関数を第１の引数に置き換える。また、データ処理装置１の置換手段は、判別手段の判別結果が特定の業務項目を含まない場合、ソースコードに含まれるシステム関数を第２の引数に置き換える。
【００７６】
従って、データ処理装置１では、特定の業務項目を含む第１の引数、及び、当該特定の業務項目がソースコードに含まれない場合に置き換えるべき値を含む第２の引数により、ソースコード上における特定の業務項目の有無をチェックして当該特定の業務項目への置き換えを行うシステム関数について、対応することが可能となる。
【００７７】
［変形例］
次に、業務処理に関するソースコードの作成から業務実行までの処理の変形例について、図１１、図１２を参照して説明する。図１１は、業務処理に関するソースコードの作成から業務実行までの処理の変形例を示す概念図である。図１２は、実行モード設定時の表示画面例を示す概念図である。
【００７８】
前述した実施の形態では、項目の存在をチェックするシステム関数の処理をコンパイル処理後のアプリケーションプログラム実行時に行うのではなく、オブジェクトコードを作成する時に行うようにしている。これに対し、変形例は、図１１に示すように、前述した実施の形態の処理に実行モードを設定する処理（ステップＳ３０）を追加したものである。
【００７９】
ステップＳ３０における実行モードの設定では、前述したシステム関数「＠項目値取得」の処理をどのように行うかについてが設定される。具体的には、ステップＳ３０における実行モードの設定は、図１２に示すような画面が表示装置１３に表示され、入力装置１４からの操作入力に基づいて設定される。例えば、図１２の画面例は、システム関数「＠項目値取得」で項目が存在しない場合にエラーとするか否かの設定を行う画面である。
【００８０】
ステップＳ３０において設定された情報は、各種参照ファイル１２８と同種の制御情報１２８ｂとして保持される。従って、アプリケーションプログラム実行時には、制御情報１２８ｂも参照されることとなる。例えば、項目の非存在を許可しないようなアプリケーションプログラムを実行する場合、アプリケーションプログラムを修正することなく、ステップＳ３０における実行モードの設定で動作を切り替えて使用することができる。
【００８１】
なお、上述した実施の形態における記述は、一例を示すものであり、これに限定するものではない。上述した実施の形態における構成及び動作に関しては、適宜変更が可能である。
【００８２】
例えば、以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてＲＯＭを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ等の不揮発性メモリ、ＣＤ-ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【符号の説明】
【００８３】
１  データ処理装置
１１  制御装置
１２  記憶装置
１３  表示装置
１４  入力装置
１５  通信装置
１６  印刷装置
１７  バス
１２１  業務プログラムファイル
１２１ａ  オブジェクトコード
１２２  業務スケルトンテンプレート
１２３  項目部品
１２４  印刷部品
１２５  ＤＢ処理部品
１２６  業務処理部品
１２７  設定ファイル
１２７ａ  システム関数テーブル
１２８  各種参照ファイル
１２８ａ  システム用ライブラリデータ
１２８ｂ  制御情報
１２９  業務アプリケーション生成プログラム
ＤＢ  データベース
Ｋ１〜Ｋ９  項目
【図１】
0005594393.tif 000002
【図２】
0005594393.tif 000003
【図３】
0005594393.tif 000004
【図４】
0005594393.tif 000005
【図５】
0005594393.tif 000006
【図６】
0005594393.tif 000007
【図７】
0005594393.tif 000008
【図８】
0005594393.tif 000009
【図９】
0005594393.tif 000010
【図１０】
0005594393.tif 000011
【図１１】
0005594393.tif 000012
【図１２】
0005594393.tif 000013