4.15 GET_INFOファンクション

このファンクションを使用すると、ソース・ファイルからインストール情報を取得できます。

構文

FUNCTION GET_INFO (
    p_source                   IN apex_t_export_files )
    RETURN t_file_info;
 

パラメータ

表4-2 GET_INFOのパラメータ

パラメータ 説明

p_source

ソース・コード。通常のOracle Application Expressアプリケーションの場合は単一レコードを、エクスポート時に分割されたアプリケーションの場合は複数レコードを含む、(名前、内容)という表。

複数のアプリケーションを渡すことはサポートされていません。

parameter_2

説明。

parameter_3

説明。

戻り値

このファンクションは、インストールの構成に使用できる、アプリケーションに関する情報を戻します。

Raises

このファンクションにより、WWV_FLOW_IMP_PARSER.RUN_STMT_ERROR: 無効な文がソースに含まれていますと表示される場合があります。

次の例では、アプリケーションをリモートURLからフェッチし、そのインストール情報を出力します。

declare
    l_source apex_t_export_files;
    l_info   apex_application_install.t_file_info;
begin
    l_source := apex_t_export_files (
                    apex_t_export_file (
                        name     => 'f100.sql',
                        contents => apex_web_service.make_rest_request (
                                        p_url         => 'https://www.example.com/apps/f100.sql',
                                        p_http_method => 'GET' )));
    l_info   := apex_application_install.get_info (
                    p_source      => l_source );
    sys.dbms_output.put_line (apex_string.format (
         p_message => q'!Type ................. %0
                      !Workspace ............ %1
                      !Version .............. %2
                      !App ID ............... %3
                      !App Name ............. %4
                      !Alias ................ %5
                      !Owner ................ %6
                      !Build Status ......... %7
                      !Has Install Script ... %8
                      !App ID Usage ......... %9
                      !App Alias Usage ...... %10!',
       p0        => l_info.file_type,
       p1        => l_info.workspace_id,
       p2        => l_info.version,
       p3        => l_info.app_id,
       p4        => l_info.app_name,
       p5        => l_info.app_alias,
       p6        => l_info.app_owner,
       p7        => l_info.build_status,
       p8        => apex_debug.tochar(l_info.has_install_script),
       p9        => l_info.app_id_usage,
       p10       => l_info.app_alias_usage,
       p_prefix  => '!' ));
end;