Magic to create items on (947) page dynamically

This commit is contained in:
Jan Kvetina 2022-02-21 21:20:34 +01:00
parent a1e2298ce4
commit bde13ea6f6
11 changed files with 385 additions and 183 deletions

View File

@ -70,7 +70,7 @@ wwv_flow_api.create_flow(
' &CORE_SCHEMA..app.exit_session(); ',
'END;',
''))
,p_runtime_api_usage=>'T:O'
,p_runtime_api_usage=>'T:O:W'
,p_security_scheme=>'MUST_NOT_BE_PUBLIC_USER'
,p_rejoin_existing_sessions=>'N'
,p_csv_encoding=>'Y'
@ -91,7 +91,7 @@ wwv_flow_api.create_flow(
,p_substitution_string_11=>'DEFAULT_LANG'
,p_substitution_value_11=>'EN'
,p_last_updated_by=>'DEV'
,p_last_upd_yyyymmddhh24miss=>'20220216201417'
,p_last_upd_yyyymmddhh24miss=>'20220221195742'
,p_file_prefix => nvl(wwv_flow_application_install.get_static_app_file_prefix,'')
,p_files_version=>64
,p_ui_type_name => null

View File

@ -20,7 +20,7 @@ wwv_flow_api.create_page(
,p_page_template_options=>'#DEFAULT#'
,p_protection_level=>'D'
,p_last_updated_by=>'DEV'
,p_last_upd_yyyymmddhh24miss=>'20220215062908'
,p_last_upd_yyyymmddhh24miss=>'20220221190224'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(16222516003514114)
@ -645,28 +645,13 @@ wwv_flow_api.create_report_columns(
,p_derived_column=>'N'
,p_include_in_export=>'Y'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(22939890463325303)
,p_plug_name=>'TRANSLATIONS'
,p_region_css_classes=>'HIDDEN'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9049155795569902)
,p_plug_display_sequence=>20
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_grid_row_css_classes=>'HIDDEN'
,p_plug_grid_column_css_classes=>'HIDDEN'
,p_plug_display_point=>'REGION_POSITION_05'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_attribute_01=>'N'
,p_attribute_02=>'HTML'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(23726400898559213)
,p_plug_name=>'NOTIFICATIONS'
,p_region_css_classes=>'HIDDEN'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9049155795569902)
,p_plug_display_sequence=>30
,p_plug_display_sequence=>20
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_grid_row_css_classes=>'HIDDEN'
,p_plug_display_point=>'REGION_POSITION_05'

View File

@ -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=>'20220220062943'
,p_last_upd_yyyymmddhh24miss=>'20220221195742'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(24140000721306134)
@ -59,7 +59,7 @@ wwv_flow_api.create_page_plug(
,p_plug_display_sequence=>10
,p_plug_display_point=>'BODY'
,p_plug_source=>wwv_flow_string.join(wwv_flow_t_varchar2(
'The idea behind is to extract all important texts from pages (page names, region titles, help text, buttons, column names, field labesl...)<br />',
'The idea behind is to extract all important texts from pages (page names, region titles, help text, buttons, column names, field labels...)<br />',
'and create relevant record in translation table and also to create items on relevant pages, so you can just start using these items instead of texts.<br />',
'The names are based on static_id of the component or on its name.'))
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
@ -1382,11 +1382,14 @@ wwv_flow_api.create_ig_report_column(
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(24894718739542456)
,p_view_id=>wwv_flow_api.id(24893313917542452)
,p_display_seq=>2
,p_display_seq=>3
,p_column_id=>wwv_flow_api.id(24855596377704423)
,p_is_visible=>true
,p_is_frozen=>false
,p_width=>360
,p_sort_order=>1
,p_sort_direction=>'ASC'
,p_sort_nulls=>'LAST'
);
wwv_flow_api.create_ig_report_column(
p_id=>wwv_flow_api.id(24895657408542458)
@ -1448,19 +1451,6 @@ wwv_flow_api.create_page_plug(
,p_attribute_01=>'N'
,p_attribute_02=>'HTML'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(24357401411954748)
,p_plug_name=>'TRANSLATIONS'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9049155795569902)
,p_plug_display_sequence=>20
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_display_point=>'BODY'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_plug_display_condition_type=>'NEVER'
,p_attribute_01=>'N'
,p_attribute_02=>'HTML'
);
wwv_flow_api.create_page_button(
p_id=>wwv_flow_api.id(22467884641652546)
,p_button_sequence=>10
@ -1500,6 +1490,18 @@ wwv_flow_api.create_page_button(
,p_button_redirect_url=>'f?p=&APP_ID.:945:&SESSION.::&DEBUG.:945::'
,p_icon_css_classes=>'fa-refresh'
);
wwv_flow_api.create_page_button(
p_id=>wwv_flow_api.id(25346457993653207)
,p_button_sequence=>20
,p_button_plug_id=>wwv_flow_api.id(45292227752629868)
,p_button_name=>'REBUILD_PAGE_947'
,p_button_action=>'SUBMIT'
,p_button_template_options=>'#DEFAULT#'
,p_button_template_id=>wwv_flow_api.id(9145249029569999)
,p_button_image_alt=>'Rebuild Translations'
,p_button_position=>'RIGHT_OF_TITLE'
,p_button_css_classes=>'&P945_REBUILD_HOT.'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(22941582140325320)
,p_name=>'P945_USECASE'
@ -1508,66 +1510,6 @@ wwv_flow_api.create_page_item(
,p_display_as=>'NATIVE_HIDDEN'
,p_attribute_01=>'Y'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(24853399277704401)
,p_name=>'T945_REGION_PAGE_ITEMS'
,p_item_sequence=>10
,p_item_plug_id=>wwv_flow_api.id(24357401411954748)
,p_prompt=>'T945 Region Page Items'
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>30
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(24853437637704402)
,p_name=>'T945_REGION_MESSAGES'
,p_item_sequence=>20
,p_item_plug_id=>wwv_flow_api.id(24357401411954748)
,p_prompt=>'T945 Region Messages'
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>30
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(24853583574704403)
,p_name=>'T945_REGION_EXTRACTS'
,p_item_sequence=>30
,p_item_plug_id=>wwv_flow_api.id(24357401411954748)
,p_prompt=>'T945 Region Extracts'
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>30
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25092560969660514)
,p_name=>'T945_REGION_UNUSED'
,p_item_sequence=>40
,p_item_plug_id=>wwv_flow_api.id(24357401411954748)
,p_prompt=>'T945 Region Unused'
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>30
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25094815385660537)
,p_name=>'P945_PAGE_ID'
@ -1576,6 +1518,14 @@ wwv_flow_api.create_page_item(
,p_display_as=>'NATIVE_HIDDEN'
,p_attribute_01=>'Y'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25346732388653210)
,p_name=>'P945_REBUILD_HOT'
,p_item_sequence=>20
,p_item_plug_id=>wwv_flow_api.id(45292227752629868)
,p_display_as=>'NATIVE_HIDDEN'
,p_attribute_01=>'Y'
);
wwv_flow_api.create_page_computation(
p_id=>wwv_flow_api.id(22941627257325321)
,p_computation_sequence=>10
@ -1588,6 +1538,26 @@ wwv_flow_api.create_page_computation(
'''and/or page specific translations as '' || app.get_translation_prefix() || ''{page_id}_{name} items on page {page_id}.'''))
,p_security_scheme=>wwv_flow_api.id(9556407311505078)
);
wwv_flow_api.create_page_computation(
p_id=>wwv_flow_api.id(25346867453653211)
,p_computation_sequence=>20
,p_computation_item=>'P945_REBUILD_HOT'
,p_computation_point=>'BEFORE_BOX_BODY'
,p_computation_type=>'QUERY'
,p_computation=>wwv_flow_string.join(wwv_flow_t_varchar2(
'SELECT ''t-Button--hot'' AS hot',
'FROM translated_items t',
'LEFT JOIN apex_application_items i',
' ON i.application_id = t.app_id',
' AND i.item_name = t.item_name',
'LEFT JOIN apex_application_page_items p',
' ON p.application_id = t.app_id',
' AND p.item_name = t.item_name',
'WHERE t.app_id = app.get_app_id()',
' AND i.item_name IS NULL',
' AND p.item_name IS NULL;',
''))
);
wwv_flow_api.create_page_process(
p_id=>wwv_flow_api.id(24925748826543610)
,p_process_sequence=>10
@ -1640,6 +1610,19 @@ wwv_flow_api.create_page_process(
,p_attribute_06=>'N'
,p_error_display_location=>'INLINE_IN_NOTIFICATION'
);
wwv_flow_api.create_page_process(
p_id=>wwv_flow_api.id(25346663373653209)
,p_process_sequence=>10
,p_process_point=>'ON_SUBMIT_BEFORE_COMPUTATION'
,p_process_type=>'NATIVE_PLSQL'
,p_process_name=>'REBUILD_PAGE_947'
,p_process_sql_clob=>wwv_flow_string.join(wwv_flow_t_varchar2(
'app_actions.rebuild_page_947();',
''))
,p_process_clob_language=>'PLSQL'
,p_error_display_location=>'INLINE_IN_NOTIFICATION'
,p_process_when_button_id=>wwv_flow_api.id(25346457993653207)
);
wwv_flow_api.component_end;
end;
/

View File

@ -0,0 +1,175 @@
prompt --application/pages/page_00947
begin
-- Manifest
-- PAGE: 00947
-- 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_page(
p_id=>947
,p_user_interface_id=>wwv_flow_api.id(9169746885570061)
,p_name=>'TRANSLATIONS'
,p_step_title=>'TRANSLATIONS'
,p_autocomplete_on_off=>'OFF'
,p_group_id=>wwv_flow_api.id(9240371448352386)
,p_page_template_options=>'#DEFAULT#'
,p_last_updated_by=>'ORDS_PLSQL_GATEWAY'
,p_last_upd_yyyymmddhh24miss=>'20220221193745'
);
wwv_flow_api.create_page_plug(
p_id=>wwv_flow_api.id(25409776701925256)
,p_plug_name=>'TRANSLATIONS'
,p_region_template_options=>'#DEFAULT#'
,p_plug_template=>wwv_flow_api.id(9049155795569902)
,p_plug_display_sequence=>10
,p_include_in_reg_disp_sel_yn=>'Y'
,p_plug_grid_row_css_classes=>'HIDDEN'
,p_plug_display_point=>'BODY'
,p_plug_query_options=>'DERIVED_REPORT_COLUMNS'
,p_attribute_01=>'N'
,p_attribute_02=>'HTML'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25409847265925256)
,p_name=>'T945_REGION_EXTRACTS'
,p_item_sequence=>10
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25409988715925256)
,p_name=>'T945_REGION_MESSAGES'
,p_item_sequence=>20
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25410000871925256)
,p_name=>'T945_REGION_PAGE_ITEMS'
,p_item_sequence=>30
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25410159518925256)
,p_name=>'T945_REGION_UNUSED'
,p_item_sequence=>40
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25410213328925256)
,p_name=>'T_GRID_SAVE'
,p_item_sequence=>50
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25410349692925257)
,p_name=>'T_GRID_SUCCESS'
,p_item_sequence=>60
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25410431115925257)
,p_name=>'T_PAGE_NAME'
,p_item_sequence=>70
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25410566070925257)
,p_name=>'T_PAGE_TITLE'
,p_item_sequence=>80
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.create_page_item(
p_id=>wwv_flow_api.id(25410603824925257)
,p_name=>'T_TEST'
,p_item_sequence=>90
,p_item_plug_id=>wwv_flow_api.id(25409776701925256)
,p_prompt=>' '
,p_display_as=>'NATIVE_TEXT_FIELD'
,p_cSize=>2000
,p_field_template=>wwv_flow_api.id(9142775823569991)
,p_item_template_options=>'#DEFAULT#'
,p_attribute_01=>'N'
,p_attribute_02=>'N'
,p_attribute_04=>'TEXT'
,p_attribute_05=>'BOTH'
);
wwv_flow_api.component_end;
end;
/

View File

@ -1,21 +0,0 @@
prompt --application/shared_components/logic/application_items/t_button_refresh
begin
-- Manifest
-- APPLICATION ITEM: T_BUTTON_REFRESH
-- 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_flow_item(
p_id=>wwv_flow_api.id(24851985574747818)
,p_name=>'T_BUTTON_REFRESH'
,p_protection_level=>'I'
);
wwv_flow_api.component_end;
end;
/

View File

@ -1,21 +0,0 @@
prompt --application/shared_components/logic/application_items/t_button_submit
begin
-- Manifest
-- APPLICATION ITEM: T_BUTTON_SUBMIT
-- 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_flow_item(
p_id=>wwv_flow_api.id(24851725972746653)
,p_name=>'T_BUTTON_SUBMIT'
,p_protection_level=>'I'
);
wwv_flow_api.component_end;
end;
/

View File

@ -1,21 +0,0 @@
prompt --application/shared_components/logic/application_items/t_page_name
begin
-- Manifest
-- APPLICATION ITEM: T_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_flow_item(
p_id=>wwv_flow_api.id(24852157682748486)
,p_name=>'T_PAGE_NAME'
,p_protection_level=>'I'
);
wwv_flow_api.component_end;
end;
/

View File

@ -1,21 +0,0 @@
prompt --application/shared_components/logic/application_items/t_page_title
begin
-- Manifest
-- APPLICATION ITEM: T_PAGE_TITLE
-- 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_flow_item(
p_id=>wwv_flow_api.id(24852375983749298)
,p_name=>'T_PAGE_TITLE'
,p_protection_level=>'I'
);
wwv_flow_api.component_end;
end;
/

View File

@ -23,10 +23,6 @@ prompt --install
@@application/shared_components/logic/application_items/g_tomorrow.sql
@@application/shared_components/logic/application_items/g_version.sql
@@application/shared_components/logic/application_items/g_yesterday.sql
@@application/shared_components/logic/application_items/t_button_refresh.sql
@@application/shared_components/logic/application_items/t_button_submit.sql
@@application/shared_components/logic/application_items/t_page_name.sql
@@application/shared_components/logic/application_items/t_page_title.sql
@@application/shared_components/logic/application_settings.sql
@@application/shared_components/navigation/tabs/standard.sql
@@application/shared_components/navigation/tabs/parent.sql
@ -137,6 +133,7 @@ prompt --install
@@application/pages/page_00925.sql
@@application/pages/page_00940.sql
@@application/pages/page_00945.sql
@@application/pages/page_00947.sql
@@application/pages/page_00950.sql
@@application/pages/page_00951.sql
@@application/pages/page_00952.sql

View File

@ -97,18 +97,34 @@ CREATE OR REPLACE PACKAGE app_actions AS
--
-- Compute filters used on page region
--
PROCEDURE init_filters;
--
-- Compute global items
--
PROCEDURE init_globals;
--
-- Compute translations for active page
--
PROCEDURE init_translations;
--
-- Create page with page items from translation table
--
PROCEDURE rebuild_page_947;

View File

@ -342,7 +342,137 @@ CREATE OR REPLACE PACKAGE BODY app_actions AS
PROCEDURE rebuild_page_947
AS
in_app_id CONSTANT apex_application_pages.application_id%TYPE := app.get_app_id();
in_page_id CONSTANT apex_application_pages.page_id%TYPE := 947;
in_group_name CONSTANT apex_application_page_groups.page_group_name%TYPE := 'DASHBOARD';
in_page_name CONSTANT apex_application_pages.page_name%TYPE := 'TRANSLATIONS';
BEGIN
app.log_module();
-- get all rows from translation table and create items on page for each of them
FOR c IN (
SELECT
a.application_id,
a.owner AS p_owner,
a.workspace_id AS p_workspace_id,
a.application_id AS p_application_id,
r.api_compatibility AS p_version,
r.version_no AS p_release,
i.user_interface_id AS p_interface_id,
g.group_id AS p_group_id,
m.template_id AS p_template_id,
f.template_id AS p_field_template,
0 AS p_region_id
FROM apex_release r
JOIN apex_applications a
ON a.application_id = in_app_id
JOIN apex_appl_user_interfaces i
ON i.application_id = a.application_id
JOIN apex_application_templates m
ON m.application_id = in_app_id
AND m.template_type = 'Region'
AND m.internal_name = 'BLANK_WITH_ATTRIBUTES'
JOIN apex_application_templates f
ON f.application_id = a.application_id
AND f.theme_number = 42
AND f.internal_name = 'OPTIONAL_FLOATING'
LEFT JOIN apex_application_page_groups g
ON g.application_id = a.application_id
AND g.page_group_name = in_group_name
) LOOP
-- fake page import
wwv_flow_api.import_begin (
p_version_yyyy_mm_dd => c.p_version,
p_release => c.p_release,
p_default_workspace_id => c.p_workspace_id,
p_default_application_id => c.application_id,
p_default_id_offset => 0,
p_default_owner => c.p_owner
);
-- drop page
wwv_flow_api.remove_page (
p_flow_id => wwv_flow.g_flow_id,
p_page_id => in_page_id
);
-- create page
wwv_flow_api.create_page (
p_id => in_page_id,
p_user_interface_id => wwv_flow_api.id(c.p_interface_id),
p_name => in_page_name,
p_alias => '',
p_step_title => in_page_name,
p_autocomplete_on_off => 'OFF',
p_group_id => wwv_flow_api.id(c.p_group_id),
p_page_template_options => '#DEFAULT#',
p_last_updated_by => USER,
p_last_upd_yyyymmddhh24miss => TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')
);
-- create region
c.p_region_id := wwv_flow_id.next_val;
--
wwv_flow_api.create_page_plug(
p_id => wwv_flow_api.id(c.p_region_id),
p_plug_name => in_page_name,
p_region_template_options => '#DEFAULT#',
p_plug_template => wwv_flow_api.id(c.p_template_id),
p_plug_display_sequence => 10,
p_include_in_reg_disp_sel_yn => 'Y',
p_plug_grid_row_css_classes => 'HIDDEN',
p_plug_display_point => 'BODY',
p_plug_query_options => 'DERIVED_REPORT_COLUMNS',
p_attribute_01 => 'N',
p_attribute_02 => 'HTML'
);
-- create items
FOR d IN (
SELECT
t.item_name,
ROW_NUMBER() OVER (ORDER BY t.item_name) * 10 AS display_sequence
FROM translated_items t
LEFT JOIN apex_application_items i
ON i.application_id = t.app_id
AND i.item_name = t.item_name
LEFT JOIN apex_application_page_items p
ON p.application_id = t.app_id
AND p.item_name = t.item_name
WHERE t.app_id = in_app_id
AND i.item_name IS NULL
AND p.item_name IS NULL
GROUP BY t.item_name
) LOOP
wwv_flow_api.create_page_item (
p_id => wwv_flow_api.id(wwv_flow_id.next_val),
p_name => d.item_name,
p_item_sequence => d.display_sequence,
p_item_plug_id => wwv_flow_api.id(c.p_region_id),
p_prompt => ' ',
p_display_as => 'NATIVE_TEXT_FIELD',
p_cSize => 2000,
p_field_template => wwv_flow_api.id(c.p_field_template),
p_item_template_options => '#DEFAULT#',
p_attribute_01 => 'N',
p_attribute_02 => 'N',
p_attribute_04 => 'TEXT',
p_attribute_05 => 'BOTH'
);
END LOOP;
--
wwv_flow_api.import_end(p_auto_install_sup_obj => nvl(wwv_flow_application_install.get_auto_install_sup_obj, false));
END LOOP;
--
app.log_success();
EXCEPTION
WHEN app.app_exception THEN
RAISE;
WHEN OTHERS THEN
app.raise_error();
END;