プロジェクトメソッドを作成したら、名称やプロパティを変更できます。プロジェクトメソッドのプロパティは主に実行アクセスやセキュリティ条件 (ユーザーアクセス権やWebサーバー、Webサービスからのメソッド利用可否) に関する設定が含まれます。
他のタイプのメソッドには専用のプロパティがありません。これらのメソッドのプロパティは、それらが関連付けられているオブジェクトに基づいて決定されます。
プロジェクトメソッドのプロパティを変更するには:
WA SET URL FILTERS でメソッド メニューからメソッドプロパティ... を選択します。 または エクスプローラーのCurrent form table でプロジェクトメソッドを選択し、コンテキストメニューまたはオプションメニューからメソッドプロパティ... を選択します。 メソッドプロパティダイアログボックスが表示されます。 注: 一回の処理で複数のプロジェクトメソッドの属性を設定するために、属性の一括設定を使用できます (属性一括設定 参照)。
メソッドプロパティウィンドウの"名前"エリアまたはエクスプローラー でプロジェクトメソッド名を変更できます。
新しい名前は4Dの命名規則に沿っていなければなりません (4Dランゲージリファレンスマニュアルの識別子 参照)。同じ名前のメソッドが既に存在する場合、4Dはその旨を知らせるダイアログを表示します。名称を変更したら、4Dはメソッドリストをソートします。
警告: プロジェクトメソッドの名前を変更すると、そのメソッドを呼び出している他のメソッドやメニューの機能が無効になるリスクがあります。このため名称変更 で説明されているメソッド名の名称変更機能を使用することを強く推奨します。この機能を使用すれば、データベース中でメソッド名が参照されている箇所がすべて自動的に変更されます (ただしEXECUTE METHOD など文字列としてメソッド名が参照される個所を除きます)。
4D Serverでは変更はサーバーに反映されます。複数のユーザーが同時に名称を変更しようとすると、最後に行われた変更の名称が適用されます。メソッドのオーナーを指定すれば特定のユーザーしかメソッド名を変更できないようにできます。
注: プロジェクトメソッド以外のメソッドの名称を変更することはできません。
ユーザーグループをアクセス権およびオーナーに設定して、メソッドへのアクセスを制御できます。ユーザーやグループの作成とその有効化についてはユーザー&グループ を参照してください。
アクセス権ドロップダウンリストではそのメソッドを実行できるグループを設定します。指定されたグループに属さないユーザーがメソッドを実行しようとすると、4Dはユーザーにメソッド実行権限がない旨のメッセージを表示します。 オーナードロップダウンリストではデザインモードでそのメソッドを編集できるグループを設定します。指定されたグループに属さないユーザーがメソッドの編集を試みると、4Dはユーザーにメソッド編集権限がない旨のメッセージを表示します。 両方のグループの属するユーザーは制限なしにそのメソッドを編集および実行できます。
属性を使用して、プロジェクトメソッドがどの版で利用可能かを設定できます。エクスプローラーを使用して複数のメソッドに対し属性をいかっつして設定することもできます (後述)。
特定のメソッドを、ユーザーに対し実行 メニューのメソッド... から実行させたくない場合、このオプションを選択すればそのメソッドを非表示にできます。非表示のメソッドはメソッド実行ダイアログボックスに表示されなくなります (メソッド実行ダイアログボックスからメソッド実行 参照)。
プロジェクトメソッドを非表示にしても、データベースプログラマーはそれを使用することができます。メソッドを非表示にしてもエクスプローラーのCurrent form table やメソッドエディターのメソッドリストには表示されます。
このオプションは4D Webサーバーのセキュリティを強化するために使用されます。このオプションが選択されていない場合、そのメソッドは4DACTIONや4DMETHOD URLを使用したHTTPリクエスト、および4DSCRIPT/4DTEXT/4DHTMLタグ (さらには4DVARや4DHTMLVARタグ) から直接呼び出すことができません。詳細は4Dランゲージリファレンスマニュアルの接続セキュリティ を参照してください。
エクスプローラー中ではこの属性が設定されたプロジェクトメソッドには特別なアイコンが表示されます 。
セキュリティのためこのオプションはデフォルトで選択されていません。Web機能から直接呼び出されるメソッドには明示的にこのオプションを選択しなければなりません。
この属性を使用してSOAPリクエストに応答するようメソッドを構成することができます。詳細は[#title id="591"/]を参照してください。このオプションを選択すると、WSDLで公開する オプションを選択できるようになります。
エクスプローラーではWebサービスとして提供されるプロジェクトメソッドには以下のアイコンが表示されます 。
注: メソッド名がXMLの命名規則に準拠しない文字 (例えばスペース) を含む場合、そのメソッドをWebサービスとして公開することはできません。この場合、設定は保存できません。
この属性は"Webサービスとして公開する"属性が設定されたメソッドでのみ設定できます。この属性を設定すると、そのメソッドが4DアプリケーションのWSDLに含まれます。詳細はWSDL ファイルを生成する を参照してください。
エクスプローラーではWSDLで公開されたWebサービスメソッドには以下のアイコンが表示されます 。
この属性はコンポーネントのフレームワークで使用されます。このオプションが選択されていると、アプリケーションがホストデータベースとして実行されている場合、そのメソッドがコンポーネントから実行可能になります。またアプリケーションがコンポーネントとして実行されている場合、そのメソッドはホストデータベースから実行可能となります。
コンポーネントについては4Dコンポーネントの開発とインストール を参照してください。
この属性が選択されていると、そのプロジェクトメソッドは4DのSQLエンジンから実行可能となります。デフォルトでは選択されておらず、明示的に許可されない限り、4Dメソッドを4D SQLエンジンから呼び出すことはできません。
このプロパティはすべての内部および外部SQLクエリ (ODBCドライバー経由、Begin SQL /[#cmd id="949"/]タグ内のSQLコード、またはQUERY BY SQL からの呼び出し) に適用されます。
注:
メソッドに"SQL利用可"属性が設定されていても、メソッドの実行時にはデータベース設定およびメソッドプロパティに設定されたアクセス権が考慮されます。 ODBCのSQLProcedure 関数はこの属性が設定されているプロジェクトメソッド名のみを返します。 詳細はSQLマニュアルの4DでSQLを使用する を参照してください。
この属性はクライアント/サーバーモードの4Dアプリケーションでのみ考慮されます。このオプションが選択されていると、そのプロジェクトメソッドは常にサーバー上で実行されます。
このオプションに関する詳細は4D Serverリファレンスマニュアルのサーバー上で実行属性 を参照してください。
"メソッド属性"ダイアログボックスを使用して、一回の操作で複数のプロジェクトメソッドに対して属性を設定することができます。この機能は多数のプロジェクトメソッドの属性を一括して設定する場合に便利です。
メソッド属性の一括設定を行うには:
エクスプローラーのCurrent form table のツールメニューから属性一括設定... コマンドを選択します。 "メソッド属性"ダイアログボックスが表示されます: "検索するメソッド名"エリアに属性を一括設定するメソッドを決定するための名前条件を入力します。 入力した文字列を使用してメソッド名が検索されます。 "@"をワイルドカード文字として使用し、メソッドグループを選択できます。すべてのメソッドを選択するには"@"のみを入力します。 注:大文字と小文字は区別されません。 "@"は複数回使用できます (例: "dtro_@web@pro@") "更新属性"エリアではドロップダウンリストから更新対象の属性を選択し、True または False ラジオボタンを選択します。注: "WSDLとして公開"属性をTrueに設定しても、この属性は"Webサービスとして公開"属性がTrueに設定されたメソッドにのみ適用されます。 適用 をクリックします。 属性変更は検索条件に合致するメソッドに対し、即座に反映されます。