8.15 GET_INFOファンクション

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

構文

FUNCTION GET_INFO (
    p_source    IN  apex_t_export_files )
    RETURN t_file_info;

パラメータ

パラメータ 説明
p_source

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

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

戻り値

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

発生値

このファンクションにより、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;