-- merging changes from IDEMPIERE-1160 and IDEMPIERE-1149 CREATE OR REPLACE VIEW AD_FIELD_V AS SELECT t.AD_Window_ID, f.AD_Tab_ID, f.AD_Field_ID, tbl.AD_Table_ID, f.AD_Column_ID, f.NAME, f.Description, f.Help, f.IsDisplayed, f.DisplayLogic, f.DisplayLength, f.SeqNo, f.SortNo, f.IsSameLine, f.IsHeading, f.IsFieldOnly, f.IsReadOnly, f.IsEncrypted AS IsEncryptedField, f.ObscureType, c.ColumnName, c.ColumnSQL, c.FieldLength, c.VFormat, COALESCE(f.DefaultValue, c.DefaultValue) AS DefaultValue, c.IsKey, c.IsParent, COALESCE(f.IsMandatory, c.IsMandatory) AS IsMandatory, c.IsIdentifier, c.IsTranslated, COALESCE(f.AD_Reference_Value_ID, c.AD_Reference_Value_ID) AS AD_Reference_Value_ID, c.Callout, COALESCE(f.AD_Reference_ID, c.AD_Reference_ID) AS AD_Reference_ID, COALESCE(f.AD_Val_Rule_ID, c.AD_Val_Rule_ID) AS AD_Val_Rule_ID, c.AD_Process_ID, COALESCE(f.Isalwaysupdateable , C.Isalwaysupdateable) As Isalwaysupdateable, COALESCE(f.Readonlylogic, c.Readonlylogic ) As Readonlylogic, COALESCE(f.Mandatorylogic , C.Mandatorylogic) As Mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.IsEncrypted AS IsEncryptedColumn, c.IsSelectionColumn, tbl.TableName, c.ValueMin, c.ValueMax, fg.NAME AS FieldGroup, vr.Code AS ValidationCode, f.Included_Tab_ID, fg.FieldGroupType, fg.IsCollapsedByDefault, COALESCE(f.InfoFactoryClass, c.InfoFactoryClass) as InfoFactoryClass, c.IsAutocomplete, COALESCE(f.IsAllowCopy, c.IsAllowCopy) AS IsAllowCopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton, c.FormatPattern, f.isadvancedfield, f.IsDefaultFocus FROM AD_FIELD f INNER JOIN AD_TAB t ON (f.AD_Tab_ID = t.AD_Tab_ID) LEFT OUTER JOIN AD_FIELDGROUP fg ON (f.AD_FieldGroup_ID = fg.AD_FieldGroup_ID) LEFT OUTER JOIN AD_COLUMN c ON (f.AD_Column_ID = c.AD_Column_ID) INNER JOIN AD_TABLE tbl ON (c.AD_Table_ID = tbl.AD_Table_ID) LEFT OUTER JOIN AD_VAL_RULE vr ON (vr.AD_Val_Rule_ID = COALESCE(f.AD_Val_Rule_ID, c.AD_Val_Rule_ID)) WHERE f.IsActive = 'Y' AND c.IsActive = 'Y'; CREATE OR REPLACE VIEW AD_FIELD_VT AS SELECT trl.AD_LANGUAGE, t.AD_Window_ID, f.AD_Tab_ID, f.AD_Field_ID, tbl.AD_Table_ID, f.AD_Column_ID, trl.NAME, trl.Description, trl.Help, f.IsDisplayed, f.DisplayLogic, f.DisplayLength, f.SeqNo, f.SortNo, f.IsSameLine, f.IsHeading, f.IsFieldOnly, f.IsReadOnly, f.IsEncrypted AS IsEncryptedField, f.ObscureType, c.ColumnName, c.ColumnSQL, c.FieldLength, c.VFormat, COALESCE(f.DefaultValue, c.DefaultValue) AS DefaultValue, c.IsKey, c.IsParent, COALESCE(f.IsMandatory, c.IsMandatory) AS IsMandatory, c.IsIdentifier, c.IsTranslated, COALESCE(f.AD_Reference_Value_ID, c.AD_Reference_Value_ID) AS AD_Reference_Value_ID, c.Callout, COALESCE(f.AD_Reference_ID, c.AD_Reference_ID) AS AD_Reference_ID, COALESCE(f.AD_Val_Rule_ID, c.AD_Val_Rule_ID) as AD_Val_Rule_ID, c.AD_Process_ID, COALESCE(f.Isalwaysupdateable , C.Isalwaysupdateable) As Isalwaysupdateable, COALESCE(f.Readonlylogic, c.Readonlylogic ) As Readonlylogic, COALESCE(f.Mandatorylogic , C.Mandatorylogic) As Mandatorylogic, COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.IsEncrypted AS IsEncryptedColumn, c.IsSelectionColumn, tbl.TableName, c.ValueMin, c.ValueMax, fgt.NAME AS FieldGroup, vr.Code AS ValidationCode, f.Included_Tab_ID, fg.FieldGroupType, fg.IsCollapsedByDefault, COALESCE(f.InfoFactoryClass, c.InfoFactoryClass) as InfoFactoryClass, c.IsAutocomplete, COALESCE(f.IsAllowCopy, c.IsAllowCopy) AS IsAllowCopy, f.isdisplayedgrid, f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton, c.FormatPattern, f.isadvancedfield, f.IsDefaultFocus FROM AD_FIELD f INNER JOIN AD_FIELD_TRL trl ON (f.AD_Field_ID = trl.AD_Field_ID) INNER JOIN AD_TAB t ON (f.AD_Tab_ID = t.AD_Tab_ID) LEFT OUTER JOIN AD_FIELDGROUP fg ON (f.AD_FieldGroup_ID = fg.AD_FieldGroup_ID) LEFT OUTER JOIN AD_FIELDGROUP_TRL fgt ON (f.AD_FieldGroup_ID = fgt.AD_FieldGroup_ID AND trl.AD_LANGUAGE=fgt.AD_LANGUAGE) LEFT OUTER JOIN AD_COLUMN c ON (f.AD_Column_ID = c.AD_Column_ID) INNER JOIN AD_TABLE tbl ON (c.AD_Table_ID = tbl.AD_Table_ID) LEFT OUTER JOIN AD_VAL_RULE vr ON (vr.AD_Val_Rule_ID=COALESCE(f.AD_Val_Rule_ID, c.AD_Val_Rule_ID)) WHERE f.IsActive = 'Y' AND c.IsActive = 'Y'; SELECT register_migration_script('201308011601_IDEMPIERE-1149.sql') FROM dual ;