Check grid for changed columns, region may need syncing
This commit is contained in:
parent
8558d30d8d
commit
3592664276
@ -22,7 +22,7 @@ wwv_flow_api.create_page(
|
||||
,p_page_template_options=>'#DEFAULT#'
|
||||
,p_required_role=>wwv_flow_api.id(9556407311505078)
|
||||
,p_last_updated_by=>'DEV'
|
||||
,p_last_upd_yyyymmddhh24miss=>'20220121201328'
|
||||
,p_last_upd_yyyymmddhh24miss=>'20220121203111'
|
||||
);
|
||||
wwv_flow_api.create_page_plug(
|
||||
p_id=>wwv_flow_api.id(9192009232668637)
|
||||
@ -927,7 +927,7 @@ wwv_flow_api.create_region_column_group(
|
||||
);
|
||||
wwv_flow_api.create_region_column_group(
|
||||
p_id=>wwv_flow_api.id(16467599205696723)
|
||||
,p_heading=>'Flags'
|
||||
,p_heading=>'Grid Checks'
|
||||
);
|
||||
wwv_flow_api.create_region_column_group(
|
||||
p_id=>wwv_flow_api.id(16467678112696724)
|
||||
@ -1061,7 +1061,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Display Sequence'
|
||||
,p_heading_alignment=>'LEFT'
|
||||
,p_display_sequence=>170
|
||||
,p_display_sequence=>190
|
||||
,p_value_alignment=>'LEFT'
|
||||
,p_attribute_02=>'VALUE'
|
||||
,p_attribute_05=>'PLAIN'
|
||||
@ -1116,7 +1116,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Auth Scheme'
|
||||
,p_heading_alignment=>'LEFT'
|
||||
,p_display_sequence=>160
|
||||
,p_display_sequence=>180
|
||||
,p_value_alignment=>'LEFT'
|
||||
,p_attribute_02=>'VALUE'
|
||||
,p_attribute_05=>'PLAIN'
|
||||
@ -1157,7 +1157,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
|
||||
,p_heading=>'Condition'
|
||||
,p_heading_alignment=>'CENTER'
|
||||
,p_display_sequence=>150
|
||||
,p_display_sequence=>170
|
||||
,p_value_alignment=>'CENTER'
|
||||
,p_attribute_01=>'N'
|
||||
,p_attribute_02=>'Y'
|
||||
@ -1185,7 +1185,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Items'
|
||||
,p_heading_alignment=>'RIGHT'
|
||||
,p_display_sequence=>130
|
||||
,p_display_sequence=>150
|
||||
,p_value_alignment=>'RIGHT'
|
||||
,p_attribute_02=>'VALUE'
|
||||
,p_attribute_05=>'PLAIN'
|
||||
@ -1210,7 +1210,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Buttons'
|
||||
,p_heading_alignment=>'RIGHT'
|
||||
,p_display_sequence=>140
|
||||
,p_display_sequence=>160
|
||||
,p_value_alignment=>'RIGHT'
|
||||
,p_attribute_02=>'VALUE'
|
||||
,p_attribute_05=>'PLAIN'
|
||||
@ -1307,7 +1307,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Query Type Code'
|
||||
,p_heading_alignment=>'LEFT'
|
||||
,p_display_sequence=>180
|
||||
,p_display_sequence=>200
|
||||
,p_value_alignment=>'LEFT'
|
||||
,p_attribute_02=>'VALUE'
|
||||
,p_attribute_05=>'PLAIN'
|
||||
@ -1334,7 +1334,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
|
||||
,p_heading=>'INS'
|
||||
,p_heading_alignment=>'CENTER'
|
||||
,p_display_sequence=>100
|
||||
,p_display_sequence=>120
|
||||
,p_value_alignment=>'CENTER'
|
||||
,p_group_id=>wwv_flow_api.id(16467794224696725)
|
||||
,p_use_group_for=>'BOTH'
|
||||
@ -1364,7 +1364,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
|
||||
,p_heading=>'UPD'
|
||||
,p_heading_alignment=>'CENTER'
|
||||
,p_display_sequence=>110
|
||||
,p_display_sequence=>130
|
||||
,p_value_alignment=>'CENTER'
|
||||
,p_group_id=>wwv_flow_api.id(16467794224696725)
|
||||
,p_use_group_for=>'BOTH'
|
||||
@ -1394,7 +1394,7 @@ wwv_flow_api.create_region_column(
|
||||
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
|
||||
,p_heading=>'DEL'
|
||||
,p_heading_alignment=>'CENTER'
|
||||
,p_display_sequence=>120
|
||||
,p_display_sequence=>140
|
||||
,p_value_alignment=>'CENTER'
|
||||
,p_group_id=>wwv_flow_api.id(16467794224696725)
|
||||
,p_use_group_for=>'BOTH'
|
||||
@ -1415,36 +1415,74 @@ wwv_flow_api.create_region_column(
|
||||
,p_include_in_export=>true
|
||||
);
|
||||
wwv_flow_api.create_region_column(
|
||||
p_id=>wwv_flow_api.id(16467841847696726)
|
||||
,p_name=>'IS_CORRECT_SETUP'
|
||||
p_id=>wwv_flow_api.id(16467907216696727)
|
||||
,p_name=>'FIX_SETUP'
|
||||
,p_source_type=>'DB_COLUMN'
|
||||
,p_source_expression=>'IS_CORRECT_SETUP'
|
||||
,p_source_expression=>'FIX_SETUP'
|
||||
,p_data_type=>'VARCHAR2'
|
||||
,p_is_query_only=>true
|
||||
,p_item_type=>'NATIVE_SINGLE_CHECKBOX'
|
||||
,p_heading=>'Correct'
|
||||
,p_label=>'Correct Setup'
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Fix Setup'
|
||||
,p_heading_alignment=>'CENTER'
|
||||
,p_display_sequence=>90
|
||||
,p_value_alignment=>'CENTER'
|
||||
,p_group_id=>wwv_flow_api.id(16467599205696723)
|
||||
,p_use_group_for=>'BOTH'
|
||||
,p_attribute_01=>'N'
|
||||
,p_attribute_02=>'Y'
|
||||
,p_is_required=>false
|
||||
,p_attribute_05=>'HTML'
|
||||
,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=>'NONE'
|
||||
,p_use_as_row_header=>false
|
||||
,p_enable_sort_group=>true
|
||||
,p_enable_control_break=>true
|
||||
,p_enable_sort_group=>false
|
||||
,p_enable_hide=>true
|
||||
,p_is_primary_key=>false
|
||||
,p_include_in_export=>true
|
||||
);
|
||||
wwv_flow_api.create_region_column(
|
||||
p_id=>wwv_flow_api.id(16468006987696728)
|
||||
,p_name=>'FIX_SYNC'
|
||||
,p_source_type=>'DB_COLUMN'
|
||||
,p_source_expression=>'FIX_SYNC'
|
||||
,p_data_type=>'VARCHAR2'
|
||||
,p_is_query_only=>true
|
||||
,p_item_type=>'NATIVE_DISPLAY_ONLY'
|
||||
,p_heading=>'Fix Sync'
|
||||
,p_heading_alignment=>'CENTER'
|
||||
,p_display_sequence=>100
|
||||
,p_value_alignment=>'CENTER'
|
||||
,p_group_id=>wwv_flow_api.id(16467599205696723)
|
||||
,p_use_group_for=>'BOTH'
|
||||
,p_attribute_05=>'HTML'
|
||||
,p_item_attributes=>'title="&FIX_SYNC_TITLE."'
|
||||
,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_use_as_row_header=>false
|
||||
,p_enable_sort_group=>false
|
||||
,p_enable_hide=>true
|
||||
,p_is_primary_key=>false
|
||||
,p_include_in_export=>true
|
||||
);
|
||||
wwv_flow_api.create_region_column(
|
||||
p_id=>wwv_flow_api.id(16468156952696729)
|
||||
,p_name=>'FIX_SYNC_TITLE'
|
||||
,p_source_type=>'DB_COLUMN'
|
||||
,p_source_expression=>'FIX_SYNC_TITLE'
|
||||
,p_data_type=>'VARCHAR2'
|
||||
,p_is_query_only=>false
|
||||
,p_item_type=>'NATIVE_HIDDEN'
|
||||
,p_display_sequence=>110
|
||||
,p_attribute_01=>'Y'
|
||||
,p_use_as_row_header=>false
|
||||
,p_enable_sort_group=>false
|
||||
,p_is_primary_key=>false
|
||||
,p_duplicate_value=>true
|
||||
,p_include_in_export=>false
|
||||
);
|
||||
wwv_flow_api.create_interactive_grid(
|
||||
p_id=>wwv_flow_api.id(12336381739960932)
|
||||
,p_internal_uid=>12336381739960932
|
||||
@ -1649,10 +1687,26 @@ wwv_flow_api.create_ig_report_column(
|
||||
,p_is_frozen=>false
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(16716986937812983)
|
||||
p_id=>wwv_flow_api.id(16728766597910957)
|
||||
,p_view_id=>wwv_flow_api.id(12685246753022330)
|
||||
,p_display_seq=>18
|
||||
,p_column_id=>wwv_flow_api.id(16467841847696726)
|
||||
,p_display_seq=>19
|
||||
,p_column_id=>wwv_flow_api.id(16467907216696727)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(16729646169910960)
|
||||
,p_view_id=>wwv_flow_api.id(12685246753022330)
|
||||
,p_display_seq=>20
|
||||
,p_column_id=>wwv_flow_api.id(16468006987696728)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(16730546928910962)
|
||||
,p_view_id=>wwv_flow_api.id(12685246753022330)
|
||||
,p_display_seq=>21
|
||||
,p_column_id=>wwv_flow_api.id(16468156952696729)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
);
|
||||
@ -1676,6 +1730,32 @@ wwv_flow_api.create_ig_report_view(
|
||||
,p_srv_only_display_columns=>true
|
||||
,p_edit_mode=>false
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(4007672000005)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>8
|
||||
,p_column_id=>wwv_flow_api.id(16467907216696727)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(4501659000005)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>9
|
||||
,p_column_id=>wwv_flow_api.id(16468006987696728)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(8166605000008)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>19
|
||||
,p_column_id=>wwv_flow_api.id(16468156952696729)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(16668453289837402)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
@ -1688,7 +1768,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(16683685482758545)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>16
|
||||
,p_display_seq=>17
|
||||
,p_column_id=>wwv_flow_api.id(16466904212696717)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
@ -1721,15 +1801,6 @@ wwv_flow_api.create_ig_report_column(
|
||||
,p_is_frozen=>false
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(16716448649812982)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>9
|
||||
,p_column_id=>wwv_flow_api.id(16467841847696726)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
,p_width=>80
|
||||
);
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(29352372551831459)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
@ -1792,7 +1863,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(29363203096831489)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>17
|
||||
,p_display_seq=>18
|
||||
,p_column_id=>wwv_flow_api.id(12337640462960945)
|
||||
,p_is_visible=>true
|
||||
,p_is_frozen=>false
|
||||
@ -1801,7 +1872,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(29364098029831492)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>15
|
||||
,p_display_seq=>16
|
||||
,p_column_id=>wwv_flow_api.id(12337737938960946)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
@ -1810,7 +1881,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(29364948775831494)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>14
|
||||
,p_display_seq=>15
|
||||
,p_column_id=>wwv_flow_api.id(12337844311960947)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
@ -1819,7 +1890,7 @@ wwv_flow_api.create_ig_report_column(
|
||||
wwv_flow_api.create_ig_report_column(
|
||||
p_id=>wwv_flow_api.id(29365886406831496)
|
||||
,p_view_id=>wwv_flow_api.id(29351871347831455)
|
||||
,p_display_seq=>13
|
||||
,p_display_seq=>14
|
||||
,p_column_id=>wwv_flow_api.id(12337933001960948)
|
||||
,p_is_visible=>false
|
||||
,p_is_frozen=>false
|
||||
|
||||
@ -8,6 +8,65 @@ WITH x AS (
|
||||
JOIN apps a
|
||||
ON a.app_id = app.get_app_id()
|
||||
WHERE u.user_id = app.get_user_id()
|
||||
),
|
||||
c AS (
|
||||
SELECT
|
||||
r.region_id,
|
||||
c.table_name,
|
||||
--c.data_length, c.nullable
|
||||
c.column_name || '|' ||
|
||||
CASE REGEXP_REPLACE(c.data_type, '\(\d+\)', '')
|
||||
WHEN 'CHAR' THEN 'VARCHAR2'
|
||||
WHEN 'INTERVAL DAY TO SECOND' THEN 'INTERVAL_D2S'
|
||||
WHEN 'TIMESTAMP WITH TIME ZONE' THEN 'TIMESTAMP_TZ'
|
||||
ELSE REGEXP_REPLACE(c.data_type, '\(\d+\)', '')
|
||||
END AS column_desc
|
||||
FROM user_tab_cols c
|
||||
JOIN apex_application_page_regions r
|
||||
ON r.table_name = c.table_name
|
||||
JOIN x
|
||||
ON x.app_id = r.application_id
|
||||
WHERE r.source_type_code = 'NATIVE_IG'
|
||||
AND r.query_type_code = 'TABLE'
|
||||
),
|
||||
b AS (
|
||||
SELECT
|
||||
c.region_id,
|
||||
r.table_name,
|
||||
--c.max_length, c.is_required,
|
||||
c.source_expression || '|' || c.data_type AS column_desc
|
||||
FROM apex_appl_page_ig_columns c
|
||||
JOIN apex_application_page_regions r
|
||||
ON r.application_id = c.application_id
|
||||
AND r.region_id = c.region_id
|
||||
JOIN x
|
||||
ON x.app_id = r.application_id
|
||||
WHERE r.source_type_code = 'NATIVE_IG'
|
||||
AND r.query_type_code = 'TABLE'
|
||||
AND c.source_type_code = 'DB_COLUMN'
|
||||
AND c.data_type NOT IN ('ROWID')
|
||||
),
|
||||
d AS (
|
||||
SELECT
|
||||
NVL(c.region_id, b.region_id) AS region_id,
|
||||
NVL(c.table_name, b.table_name) AS table_name,
|
||||
--
|
||||
MAX(CASE
|
||||
WHEN c.table_name IS NULL THEN app.get_icon('fa-warning')
|
||||
WHEN b.table_name IS NULL THEN app.get_icon('fa-warning')
|
||||
END) AS fix_sync,
|
||||
--
|
||||
LISTAGG(CASE
|
||||
WHEN c.table_name IS NULL THEN 'Removed ' || b.column_desc
|
||||
WHEN b.table_name IS NULL THEN 'Added ' || c.column_desc
|
||||
END, ', ') WITHIN GROUP (ORDER BY b.column_desc, c.column_desc) AS fix_sync_title
|
||||
FROM b
|
||||
FULL JOIN c
|
||||
ON c.region_id = b.region_id
|
||||
AND c.table_name = b.table_name
|
||||
AND c.column_desc = b.column_desc
|
||||
WHERE NVL(c.column_desc, '-') != NVL(b.column_desc, '-')
|
||||
GROUP BY NVL(c.region_id, b.region_id), NVL(c.table_name, b.table_name)
|
||||
)
|
||||
SELECT
|
||||
p.page_group || ' ' || r.page_id || ' ' || p.page_title AS page_group,
|
||||
@ -55,15 +114,6 @@ SELECT
|
||||
in_values => r.table_name
|
||||
) AS table_link,
|
||||
--
|
||||
NULLIF(r.items, 0) AS items,
|
||||
NULLIF(r.buttons, 0) AS buttons,
|
||||
--
|
||||
CASE WHEN r.condition_type_code IS NOT NULL THEN 'Y' END AS condition_type,
|
||||
--
|
||||
r.authorization_scheme,
|
||||
r.display_sequence,
|
||||
r.query_type_code,
|
||||
--
|
||||
CASE WHEN g.edit_operations LIKE '%i%' THEN 'Y' END AS is_ins_allowed,
|
||||
CASE WHEN g.edit_operations LIKE '%u%' THEN 'Y' END AS is_upd_allowed,
|
||||
CASE WHEN g.edit_operations LIKE '%d%' THEN 'Y' END AS is_del_allowed,
|
||||
@ -76,8 +126,22 @@ SELECT
|
||||
AND g.toolbar_buttons = 'SEARCH_COLUMN:SEARCH_FIELD:ACTIONS_MENU:SAVE'
|
||||
--
|
||||
AND REGEXP_REPLACE(g.javascript_code, '\s+', ' ') LIKE 'function(config) { return unified_ig_toolbar(config%'
|
||||
THEN 'Y'
|
||||
END AS is_correct_setup
|
||||
THEN NULL
|
||||
ELSE app.get_icon('fa-warning')
|
||||
END AS fix_setup,
|
||||
--
|
||||
d.fix_sync,
|
||||
d.fix_sync_title,
|
||||
--
|
||||
--
|
||||
NULLIF(r.items, 0) AS items,
|
||||
NULLIF(r.buttons, 0) AS buttons,
|
||||
--
|
||||
CASE WHEN r.condition_type_code IS NOT NULL THEN 'Y' END AS condition_type,
|
||||
--
|
||||
r.display_sequence,
|
||||
r.query_type_code,
|
||||
r.authorization_scheme
|
||||
FROM apex_application_page_regions r
|
||||
JOIN apex_application_pages p
|
||||
ON p.application_id = r.application_id
|
||||
@ -89,6 +153,8 @@ LEFT JOIN user_objects t
|
||||
LEFT JOIN apex_appl_page_igs g
|
||||
ON g.application_id = r.application_id
|
||||
AND g.region_id = r.region_id
|
||||
LEFT JOIN d
|
||||
ON d.region_id = r.region_id
|
||||
WHERE r.application_id = x.app_id
|
||||
AND r.parent_region_id IS NULL
|
||||
AND (x.page_id = p.page_id OR x.page_id IS NULL)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user