Posts

Showing posts from April, 2013

APEX - Item ID (XXX) is not an item defined on the current page

Environment: 
APEX4.2 application migrated from 3.

Problem:
Error message: "Item ID (XXX) is not an item defined on the current page"

Solution:
Determine what is the object with ID XXX;select * from apex_application_page_items where item_id = XXX;
Go to the conflicting item and change from "Display as" "Text Field" to "Text Area"Save After performing this solution i could even return and change it back to "Display as" Text Field.


Oracle - Importar datos desde otra dase datos (impdb)

El siguiente script transfiere datos del esquema AAA de una base de datos usando el database link BBB. Porque deseamos guardar las trazas de la operaciĆ³n en el fichero de nombre CCC tendremos que informar Oracle que debe hacerlo en el directory object DDD:

impdp system/system_user_password schemas=AAA directory=DDD network_link=BBB logfile=CCC  remap_schema=AAA:AAA remap_tablespace=AAA:AAA

Nota:
1- El script arriba parte del principio que el tablespace tiene el mismo nombre que el  esquema

2- Para hacer la importacion de los datos, ademas de las tablas, views, etc, puede ser necesario hacer el drop al shcema. Para ello sear necesario cerrar todas las conexiones a dicho esquema (TOAD, SqlDeveloper, etc) y finalmente entrar en el sqlpplus y ejecutar:

drop user XXX cascade;

Oracle - Importing data from another database (impdb)

The following script transferes the schema AAA from a database using the database link BBB. Because we want to store the log of this operation in file CCC we have to inform oracle to save it int the directory object DDD:

impdp system/system_user_password schemas=AAA directory=DDD network_link=BBB logfile=CCC  remap_schema=AAA:AAA remap_tablespace=AAA:AAA

Nota:
1- The above script takes into consideration that the tablespace has the same name as the schema

2- In order to import the data, instead of only the databale elements (tables, views, etc) droping the schema might also be necesary.
To do it close all the connectiosn to that schema (TOAD, SqlDeveloper, etc), enter sqlpplus and drop the user:

drop user XXX cascade;

Oracle - Concatenate several columns in one cell separeted by newline

In order to concatenate the values of the same column across several records do:


   select replace( wm_concat(<FIELD_NAME>), ',', chr(13))
   from <TABLE_NAME>;

Examples:
Add all distinct values in the same cell separated by ":"          select distict(wm_concat(<FIELD_NAME>), ',', ':')
         from <TABLE_NAME>;
Add all values in the same cell separated by a new line "chr(13)"         replace(wm_concat(<FIELD_NAME>), ',', chr(13))

ORACLE - Concatenar varias lineas en una celda

Seguidamente un ejemplo de como juntar en una misma celda el contenido de varios registros.

Ejemplo de una table estudiantes con varios periodos

StudentId FromDate ToDate
28 01-Oct-08 31-Dec-07
28 01-Jan-09 31-Mar-09
34 01-Feb-11 30-Jun-11
35 01-Feb-11 30-Jun-11
36 01-Nov-10 31-Dec-10
36 01-Mar-11 31-May-11

Si queremos ensenar todos los periodos de cada uno de los estudiantes en una misma celda:

-- Juntar las varias celdas de las varias lineas en una misma celda
select f_student_id, wm_concat( date1)
from
   -- Juntar todos los pares (juntamos las celdas de la misma linea) FromDate//ToDate en una celda
   (select f_student_id, wm_concat(f_from_date || ' to ' || f_to_date) date1
   from npi_student_osite_periods
   group by f_student_id)
   --
group by f_student_id;

Oracle - Converter varchar2 para Clob

De modo a convertir una columna tipo varchar2 para clob es necesario:

paso 1 - adicionar una nueva columna con del tipo clob:

alter table add( clob);

paso 2 - copiar los datos de la columna tipo varchar2 para la nueva tipo clob:

update <tabla> set <nombre_nueva_columna> = ;

paso 3 - finalmente, renombrar el nombre de la nueva columna para el nombre de original:

alter table <tabla> rename column to ;
alter table
<tabla> rename column <nombre_columna_paso_1> to <columna_fuente>;

Oracle - Convert varchar2 to Clob datatype

In order to convert a column datatype from varchar2 to clob do:

step 1 - add a column with clob datatype:

alter table add( clob);

step 2 - copy data from the source column to the new one:

update set = ;

step 3 - rename the new column created in the step 1 in order to complete the process:

alter table rename column to ;
alter table
rename column to ;