diff --git a/apex/f770/application/pages/page_00900.sql b/apex/f770/application/pages/page_00900.sql index 5a5a20e..74dcb4a 100644 --- a/apex/f770/application/pages/page_00900.sql +++ b/apex/f770/application/pages/page_00900.sql @@ -22,7 +22,7 @@ wwv_flow_api.create_page( ,p_page_template_options=>'#DEFAULT#' ,p_required_role=>wwv_flow_api.id(9823062898204869) ,p_last_updated_by=>'DEV' -,p_last_upd_yyyymmddhh24miss=>'20220129094158' +,p_last_upd_yyyymmddhh24miss=>'20220129172623' ); wwv_flow_api.create_page_plug( p_id=>wwv_flow_api.id(9263989035429040) @@ -791,6 +791,9 @@ wwv_flow_api.create_page_plug( ,p_plug_template=>wwv_flow_api.id(9070356145569920) ,p_plug_display_sequence=>30 ,p_plug_display_point=>'BODY' +,p_plug_source=>wwv_flow_string.join(wwv_flow_t_varchar2( +'Logs matching all columns in setup table wont be logged,
', +'unless there is an error or you are in debug mode.')) ,p_plug_query_options=>'DERIVED_REPORT_COLUMNS' ,p_plug_required_role=>wwv_flow_api.id(9556407311505078) ,p_plug_display_condition_type=>'ITEM_IS_NOT_NULL' @@ -916,19 +919,29 @@ wwv_flow_api.create_region_column( ,p_source_expression=>'USER_ID' ,p_data_type=>'VARCHAR2' ,p_is_query_only=>false -,p_item_type=>'NATIVE_TEXT_FIELD' +,p_item_type=>'NATIVE_POPUP_LOV' ,p_heading=>'User Id' ,p_heading_alignment=>'LEFT' ,p_display_sequence=>40 ,p_value_alignment=>'LEFT' -,p_attribute_05=>'BOTH' +,p_attribute_01=>'POPUP' +,p_attribute_02=>'FIRST_ROWSET' +,p_attribute_03=>'N' +,p_attribute_04=>'N' +,p_attribute_05=>'Y' +,p_attribute_06=>'0' +,p_attribute_08=>'640' ,p_is_required=>false -,p_max_length=>240 +,p_lov_type=>'SHARED' +,p_lov_id=>wwv_flow_api.id(22067838698249746) +,p_lov_display_extra=>true +,p_lov_display_null=>true ,p_enable_filter=>true ,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP' ,p_filter_is_required=>false ,p_filter_text_case=>'MIXED' -,p_filter_lov_type=>'NONE' +,p_filter_exact_match=>true +,p_filter_lov_type=>'LOV' ,p_use_as_row_header=>false ,p_enable_sort_group=>false ,p_enable_hide=>true @@ -943,16 +956,29 @@ wwv_flow_api.create_region_column( ,p_source_expression=>'PAGE_ID' ,p_data_type=>'NUMBER' ,p_is_query_only=>false -,p_item_type=>'NATIVE_NUMBER_FIELD' +,p_item_type=>'NATIVE_POPUP_LOV' ,p_heading=>'Page Id' -,p_heading_alignment=>'RIGHT' +,p_heading_alignment=>'LEFT' ,p_display_sequence=>50 -,p_value_alignment=>'RIGHT' -,p_attribute_03=>'right' +,p_value_alignment=>'LEFT' +,p_attribute_01=>'POPUP' +,p_attribute_02=>'FIRST_ROWSET' +,p_attribute_03=>'N' +,p_attribute_04=>'N' +,p_attribute_05=>'Y' +,p_attribute_06=>'0' +,p_attribute_08=>'640' ,p_is_required=>false +,p_lov_type=>'SHARED' +,p_lov_id=>wwv_flow_api.id(22069438611267708) +,p_lov_display_extra=>true +,p_lov_display_null=>true ,p_enable_filter=>true +,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP' ,p_filter_is_required=>false -,p_filter_lov_type=>'NONE' +,p_filter_text_case=>'MIXED' +,p_filter_exact_match=>true +,p_filter_lov_type=>'LOV' ,p_use_as_row_header=>false ,p_enable_sort_group=>true ,p_enable_control_break=>true @@ -968,20 +994,29 @@ wwv_flow_api.create_region_column( ,p_source_expression=>'FLAG' ,p_data_type=>'VARCHAR2' ,p_is_query_only=>false -,p_item_type=>'NATIVE_TEXT_FIELD' +,p_item_type=>'NATIVE_POPUP_LOV' ,p_heading=>'Flag' ,p_heading_alignment=>'CENTER' ,p_display_sequence=>60 ,p_value_alignment=>'CENTER' -,p_attribute_05=>'BOTH' +,p_attribute_01=>'POPUP' +,p_attribute_02=>'FIRST_ROWSET' +,p_attribute_03=>'N' +,p_attribute_04=>'N' +,p_attribute_05=>'Y' +,p_attribute_06=>'0' +,p_attribute_08=>'480' ,p_is_required=>false -,p_max_length=>1 +,p_lov_type=>'SHARED' +,p_lov_id=>wwv_flow_api.id(22069796307284852) +,p_lov_display_extra=>true +,p_lov_display_null=>true ,p_enable_filter=>true ,p_filter_operators=>'C:S:CASE_INSENSITIVE:REGEXP' ,p_filter_is_required=>false ,p_filter_text_case=>'MIXED' ,p_filter_exact_match=>true -,p_filter_lov_type=>'DISTINCT' +,p_filter_lov_type=>'LOV' ,p_use_as_row_header=>false ,p_enable_sort_group=>true ,p_enable_control_break=>true @@ -1065,6 +1100,18 @@ wwv_flow_api.create_region_column( ,p_is_primary_key=>true ,p_include_in_export=>false ); +wwv_flow_api.component_end; +end; +/ +begin +wwv_flow_api.component_begin ( + p_version_yyyy_mm_dd=>'2021.04.15' +,p_release=>'21.1.7' +,p_default_workspace_id=>9014660246496943 +,p_default_application_id=>770 +,p_default_id_offset=>0 +,p_default_owner=>'CORE' +); wwv_flow_api.create_interactive_grid( p_id=>wwv_flow_api.id(44340299650565423) ,p_internal_uid=>44340299650565423 @@ -1100,18 +1147,6 @@ wwv_flow_api.create_interactive_grid( '}', '')) ); -wwv_flow_api.component_end; -end; -/ -begin -wwv_flow_api.component_begin ( - p_version_yyyy_mm_dd=>'2021.04.15' -,p_release=>'21.1.7' -,p_default_workspace_id=>9014660246496943 -,p_default_application_id=>770 -,p_default_id_offset=>0 -,p_default_owner=>'CORE' -); wwv_flow_api.create_ig_report( p_id=>wwv_flow_api.id(44433758789786192) ,p_interactive_grid_id=>wwv_flow_api.id(44340299650565423) diff --git a/apex/f770/application/shared_components/user_interface/lovs/lov_core_flags_name_value.sql b/apex/f770/application/shared_components/user_interface/lovs/lov_core_flags_name_value.sql new file mode 100644 index 0000000..b4c044e --- /dev/null +++ b/apex/f770/application/shared_components/user_interface/lovs/lov_core_flags_name_value.sql @@ -0,0 +1,53 @@ +prompt --application/shared_components/user_interface/lovs/lov_core_flags_name_value +begin +-- Manifest +-- LOV_CORE_FLAGS (NAME, VALUE) +-- Manifest End +wwv_flow_api.component_begin ( + p_version_yyyy_mm_dd=>'2021.04.15' +,p_release=>'21.1.7' +,p_default_workspace_id=>9014660246496943 +,p_default_application_id=>770 +,p_default_id_offset=>0 +,p_default_owner=>'CORE' +); +wwv_flow_api.create_list_of_values( + p_id=>wwv_flow_api.id(22069796307284852) +,p_lov_name=>'LOV_CORE_FLAGS (NAME, VALUE)' +,p_lov_query=>wwv_flow_string.join(wwv_flow_t_varchar2( +'SELECT', +' UPPER(REGEXP_SUBSTR(s.text, ''flag_([a-z]+)'', 1, 1, NULL, 1)) AS flag_name,', +' REGEXP_SUBSTR(s.text, '':=\s*''''([^'''']+)'', 1, 1, NULL, 1) AS flag_value,', +' REGEXP_SUBSTR(s.text, ''--\s*(.*)$'', 1, 1, NULL, 1) AS flag_comment', +'FROM user_source s', +'WHERE s.name = ''APP''', +' AND s.type = ''PACKAGE''', +' AND s.line <= 100', +' AND s.text LIKE ''%flag_%CONSTANT%logs.flag\%TYPE%'' ESCAPE ''\'';', +'')) +,p_source_type=>'SQL' +,p_location=>'LOCAL' +,p_use_local_sync_table=>false +,p_return_column_name=>'FLAG_VALUE' +,p_display_column_name=>'FLAG_NAME' +,p_group_sort_direction=>'ASC' +,p_default_sort_column_name=>'FLAG_NAME' +,p_default_sort_direction=>'ASC' +); +wwv_flow_api.create_list_of_values_cols( + p_id=>wwv_flow_api.id(22077393048900459) +,p_query_column_name=>'FLAG_VALUE' +,p_heading=>'Flag Code' +,p_display_sequence=>10 +,p_data_type=>'VARCHAR2' +); +wwv_flow_api.create_list_of_values_cols( + p_id=>wwv_flow_api.id(22077629040900459) +,p_query_column_name=>'FLAG_NAME' +,p_heading=>'Flag Name' +,p_display_sequence=>20 +,p_data_type=>'VARCHAR2' +); +wwv_flow_api.component_end; +end; +/ diff --git a/apex/f770/application/shared_components/user_interface/lovs/lov_core_pages_page_id_page_name.sql b/apex/f770/application/shared_components/user_interface/lovs/lov_core_pages_page_id_page_name.sql new file mode 100644 index 0000000..04dc27c --- /dev/null +++ b/apex/f770/application/shared_components/user_interface/lovs/lov_core_pages_page_id_page_name.sql @@ -0,0 +1,60 @@ +prompt --application/shared_components/user_interface/lovs/lov_core_pages_page_id_page_name +begin +-- Manifest +-- LOV_CORE_PAGES (PAGE_ID, PAGE_NAME) +-- Manifest End +wwv_flow_api.component_begin ( + p_version_yyyy_mm_dd=>'2021.04.15' +,p_release=>'21.1.7' +,p_default_workspace_id=>9014660246496943 +,p_default_application_id=>770 +,p_default_id_offset=>0 +,p_default_owner=>'CORE' +); +wwv_flow_api.create_list_of_values( + p_id=>wwv_flow_api.id(22069438611267708) +,p_lov_name=>'LOV_CORE_PAGES (PAGE_ID, PAGE_NAME)' +,p_lov_query=>wwv_flow_string.join(wwv_flow_t_varchar2( +'SELECT', +' p.page_id,', +' p.page_name,', +' p.page_title,', +' p.page_alias,', +' p.page_group', +'FROM apex_application_pages p', +'WHERE p.application_id = NVL(app.get_app_id(), :APP_ID);', +'')) +,p_source_type=>'SQL' +,p_location=>'LOCAL' +,p_use_local_sync_table=>false +,p_query_table=>'NAVIGATION' +,p_return_column_name=>'PAGE_ID' +,p_display_column_name=>'PAGE_ID' +,p_group_sort_direction=>'ASC' +,p_default_sort_column_name=>'PAGE_ID' +,p_default_sort_direction=>'ASC' +); +wwv_flow_api.create_list_of_values_cols( + p_id=>wwv_flow_api.id(22075308778885815) +,p_query_column_name=>'PAGE_ID' +,p_heading=>'Page Id' +,p_display_sequence=>10 +,p_data_type=>'NUMBER' +); +wwv_flow_api.create_list_of_values_cols( + p_id=>wwv_flow_api.id(22075716636885815) +,p_query_column_name=>'PAGE_ALIAS' +,p_heading=>'Page Alias' +,p_display_sequence=>20 +,p_data_type=>'VARCHAR2' +); +wwv_flow_api.create_list_of_values_cols( + p_id=>wwv_flow_api.id(22076188011885816) +,p_query_column_name=>'PAGE_TITLE' +,p_heading=>'Page Title' +,p_display_sequence=>30 +,p_data_type=>'VARCHAR2' +); +wwv_flow_api.component_end; +end; +/ diff --git a/apex/f770/application/shared_components/user_interface/lovs/lov_users_user_id_user_id_active_y.sql b/apex/f770/application/shared_components/user_interface/lovs/lov_users_user_id_user_id_active_y.sql new file mode 100644 index 0000000..1485c09 --- /dev/null +++ b/apex/f770/application/shared_components/user_interface/lovs/lov_users_user_id_user_id_active_y.sql @@ -0,0 +1,51 @@ +prompt --application/shared_components/user_interface/lovs/lov_users_user_id_user_id_active_y +begin +-- Manifest +-- LOV_USERS (USER_ID, USER_ID, ACTIVE=Y) +-- Manifest End +wwv_flow_api.component_begin ( + p_version_yyyy_mm_dd=>'2021.04.15' +,p_release=>'21.1.7' +,p_default_workspace_id=>9014660246496943 +,p_default_application_id=>770 +,p_default_id_offset=>0 +,p_default_owner=>'CORE' +); +wwv_flow_api.create_list_of_values( + p_id=>wwv_flow_api.id(22067838698249746) +,p_lov_name=>'LOV_USERS (USER_ID, USER_ID, ACTIVE=Y)' +,p_source_type=>'TABLE' +,p_location=>'LOCAL' +,p_use_local_sync_table=>false +,p_query_table=>'USERS' +,p_query_where=>'is_active = ''Y''' +,p_return_column_name=>'USER_ID' +,p_display_column_name=>'USER_ID' +,p_group_sort_direction=>'ASC' +,p_default_sort_column_name=>'USER_ID' +,p_default_sort_direction=>'ASC' +); +wwv_flow_api.create_list_of_values_cols( + p_id=>wwv_flow_api.id(22068433905263192) +,p_query_column_name=>'USER_ID' +,p_heading=>'User Id' +,p_display_sequence=>10 +,p_data_type=>'VARCHAR2' +); +wwv_flow_api.create_list_of_values_cols( + p_id=>wwv_flow_api.id(22068700511263192) +,p_query_column_name=>'USER_LOGIN' +,p_heading=>'User Login' +,p_display_sequence=>20 +,p_data_type=>'VARCHAR2' +); +wwv_flow_api.create_list_of_values_cols( + p_id=>wwv_flow_api.id(22069126029263193) +,p_query_column_name=>'USER_NAME' +,p_heading=>'User Name' +,p_display_sequence=>30 +,p_data_type=>'VARCHAR2' +); +wwv_flow_api.component_end; +end; +/ diff --git a/apex/f770/install.sql b/apex/f770/install.sql index 0fc3903..78e6272 100644 --- a/apex/f770/install.sql +++ b/apex/f770/install.sql @@ -23,6 +23,9 @@ prompt --install @@application/shared_components/navigation/tabs/standard.sql @@application/shared_components/navigation/tabs/parent.sql @@application/shared_components/user_interface/lovs/login_remember_username.sql +@@application/shared_components/user_interface/lovs/lov_core_flags_name_value.sql +@@application/shared_components/user_interface/lovs/lov_core_pages_page_id_page_name.sql +@@application/shared_components/user_interface/lovs/lov_users_user_id_user_id_active_y.sql @@application/pages/page_groups.sql @@application/comments.sql @@application/shared_components/navigation/breadcrumbs/breadcrumb.sql diff --git a/packages/app.spec.sql b/packages/app.spec.sql index 10c8a75..f70da84 100644 --- a/packages/app.spec.sql +++ b/packages/app.spec.sql @@ -1273,6 +1273,17 @@ CREATE OR REPLACE PACKAGE app AS + -- + -- Get flag from flag_name + -- + FUNCTION get_flag ( + in_flag_name VARCHAR2 + ) + RETURN logs.flag%TYPE + RESULT_CACHE; + + + diff --git a/packages/app.sql b/packages/app.sql index 62d7706..880ab25 100644 --- a/packages/app.sql +++ b/packages/app.sql @@ -2870,6 +2870,36 @@ CREATE OR REPLACE PACKAGE BODY app AS + FUNCTION get_flag ( + in_flag_name VARCHAR2 + ) + RETURN logs.flag%TYPE + RESULT_CACHE + AS + PRAGMA UDF; + -- + out_flag logs.flag%TYPE; + BEGIN + -- I bet you didnt expected this + SELECT REGEXP_SUBSTR(s.text, ':=\s*''([^'']+)', 1, 1, NULL, 1) INTO out_flag + FROM user_source s + WHERE s.name = $$PLSQL_UNIT + AND s.type = 'PACKAGE' + AND s.line <= 100 + AND s.text LIKE '%flag_%CONSTANT%logs.flag\%TYPE%' ESCAPE '\' + AND in_flag_name = UPPER(REGEXP_SUBSTR(s.text, 'flag_([a-z]+)', 1, 1, NULL, 1)); + -- + RETURN out_flag; + EXCEPTION + WHEN NO_DATA_FOUND THEN + RETURN NULL; + END; + + + + -- + -- @TODO: + -- PROCEDURE call_custom_procedure ( in_name VARCHAR2 := NULL, in_arg1 VARCHAR2 := NULL,