PROCEDURE Post_Installation_View
IS
   stmt_ CLOB;
   eol_  VARCHAR2(2) := chr(13)||chr(10);
BEGIN
   General_SYS.Init_Method(Dynamic_Calls_API.lu_name_, 'Dynamic_Calls_API', 'Post_Installation_View');
      stmt_ := 'CREATE OR REPLACE VIEW FND_TAB_VIEW_COLUMNS AS'||eol_;
      stmt_ := stmt_ || 'SELECT dv.lu_name, dv.view_name, dtc.column_name'||eol_;
      stmt_ := stmt_ || '  FROM dictionary_sys_view_column_tab dv,'||eol_;
      stmt_ := stmt_ || '       dictionary_sys_tab d,'||eol_;
      stmt_ := stmt_ || '       dba_tab_columns dtc'||eol_;
      stmt_ := stmt_ || ' WHERE dv.lu_name     = d.lu_name'||eol_;
      stmt_ := stmt_ || '   AND (dv.column_name = dtc.column_name'||eol_;
      stmt_ := stmt_ || '   OR  (dtc.column_name = ''ROWSTATE'''||eol_;
      stmt_ := stmt_ || '   AND  dv.column_name = ''STATE'')'||eol_;
      stmt_ := stmt_ || '   OR   dtc.column_name ||''_DB'' = dv.column_name)'||eol_;
      stmt_ := stmt_ || '   AND dtc.table_name = nvl(d.table_name, Dictionary_SYS.Clientnametodbname_(d.lu_name)||''_TAB'')'||eol_;
      stmt_ := stmt_ || '   AND dtc.owner      = Fnd_Session_API.Get_App_Owner'||eol_;
   IF Dictionary_SYS.Component_Is_Installed('FNDCOB') THEN
      stmt_ := stmt_ || ' UNION'||eol_;
      stmt_ := stmt_ || 'SELECT f.lu, Dictionary_SYS.Get_Base_View(f.lu), dtc.column_name'||eol_;
      stmt_ := stmt_ || '  FROM dba_tab_columns dtc,'||eol_;
      stmt_ := stmt_ || '       CUSTOM_FIELDS_TAB f'||eol_;
      stmt_ := stmt_ || ' WHERE f.table_name  = dtc.table_name'||eol_;
      stmt_ := stmt_ || '   AND dtc.column_name LIKE ''CF$/_%'' ESCAPE ''/'''||eol_;
      stmt_ := stmt_ || '   AND dtc.owner     = Fnd_Session_API.Get_App_Owner'||eol_;
      stmt_ := stmt_ || ' UNION'||eol_;
      stmt_ := stmt_ || 'SELECT v.lu, v.view_name, vc.column_name'||eol_;
      stmt_ := stmt_ || '  FROM dictionary_sys_view_column_tab vc,'||eol_;
      stmt_ := stmt_ || '       custom_field_views_tab v,'||eol_;
      stmt_ := stmt_ || '       custom_field_attributes_tab a'||eol_;
      stmt_ := stmt_ || ' WHERE vc.view_name = v.cf_view_name'||eol_;
      stmt_ := stmt_ || '   AND v.lu = vc.lu_name'||eol_;
      stmt_ := stmt_ || '   AND vc.column_name = ''CF$_'' || a.attribute_name'||eol_;
      stmt_ := stmt_ || '   AND a.custom_field_type IN (''PERSISTENT_FIELD'', ''LU_FIELD'')'||eol_;
   END IF;
      stmt_ := stmt_ || 'WITH READ ONLY';
      
      -- ifs_assert_safe codegen
      EXECUTE IMMEDIATE stmt_;
      -- ifs_assert_safe codegen
      EXECUTE IMMEDIATE 'COMMENT ON TABLE FND_TAB_VIEW_COLUMNS
         IS ''LU=DynamicCalls^PROMPT=Fnd Tab View Columns^MODULE=F1DOC^LUNAME=FndObjSubscriptionUtil^''';
      -- ifs_assert_safe codegen
      EXECUTE IMMEDIATE 'COMMENT ON COLUMN FND_TAB_VIEW_COLUMNS.lu_name
         IS ''FLAGS=A---L^DATATYPE=STRING(30)^PROMPT=Lu Name^''';
      -- ifs_assert_safe codegen
      EXECUTE IMMEDIATE 'COMMENT ON COLUMN FND_TAB_VIEW_COLUMNS.view_name
         IS ''FLAGS=A---L^DATATYPE=STRING(30)^PROMPT=View Name^''';
      -- ifs_assert_safe codegen
      EXECUTE IMMEDIATE 'COMMENT ON COLUMN FND_TAB_VIEW_COLUMNS.column_name
         IS ''FLAGS=A---L^DATATYPE=STRING(30)^PROMPT=Column Name^''';
END Post_Installation_View;