Social Icons

Mostrando las entradas con la etiqueta ORACLE. Mostrar todas las entradas
Mostrando las entradas con la etiqueta ORACLE. Mostrar todas las entradas

martes, 26 de abril de 2022

CREAR UN TRIGGER PARA AUTO INCREMENTAR UN ATRIBUTO

 

1.- Creamos una secuencia y especificamos desde que valor inicia

CREATE SEQUENCE bitacora_novedad1 START WITH 1;

2.- Creamos el trigger llamando a la secuencia en el atributo donde se va a incrementar

CREATE OR REPLACE TRIGGER BITACORA_NOVEDAD_AUTO_1 

BEFORE INSERT ON GISTIC.BITACORA_GENERACION_SEIP_01 

FOR EACH ROW

BEGIN

  SELECT bitacora_novedad1.NEXTVAL

  INTO   :new.ATRIBUTO5

  FROM   dual;

END;

/


El campo Atributo5 es donde se va almacenar el incremental dentro de la tabla

martes, 4 de junio de 2019

CONSULTAR TODAS LAS TABLAS QUE CONTIENEN UN NOMBRE

Select owner, table_name
from all_tables
where table_name like upper('%SURVEY%')
order by owner, table_name;

jueves, 16 de agosto de 2018

Consultar los registros que no están en otra tabla


Lo que se requiere es consultar la información que no hace join de las dos tablas
En la primera tabla tenemos lo siguiente:

En la Segunda Tabla:
Aquí tenemos 850 registros

En un principio vamos hacer un join entre las dos tablas utilizando la clausula inner join, la cual nos ayudata a sacar la informaicon que esta en ambas

A la tabla USUARIOS_AD la llamamos t1
A la tabla MD_SITE_USER la llamamos t2


select t1.cuenta,t2.user_name from USUARIOS_AD t1
inner join MD_SITE_USER t2
on UPPER(t1.cuenta)=UPPER(t2.user_name)

Tenemos un total de 590 registros intersecados

Ahora el punto principal es saber que registros de la tabla 2 no están en la tabla 1, para esto vamos apoyarnos en la clausula LEFT OUTER JOIN




miércoles, 17 de enero de 2018

Fallos de validación de pantalla: Se debe introducir un valor para Proyecto


Este error es debido a que el usuario tiene asignado una responsabilidad de solicitante para proyectos
Se le debe asignar una responsabilidad o perfil de solicitante que no sea de proyectos, como EC Soliciante Materiales, en este caso de ejemplo.

martes, 7 de noviembre de 2017

Pedido o estado de linea en Oracle EBS esta con estado shipped

1.- Nos conectamos con la responsabilidad EP PE SUPERUSURIO

2.- Seleccionamos la pantalla "Pantalla de Transacciones de Envío"
3.- Debemos tener claro cuál es le numero de pedido, lo ponemos en el campo Desde Nro Pdo y en el campo estado de linea le dejamos en blanco, ponemos en el bóton encontrar
4.- Nos aparecerá la siguiente pantalla


Ya con la información revisada que efectivamente esta en estado shipped y que es de la bodega PAY, el siguiente paso es ejecutar unos concurrectes para solucionarlo

5.- Para cambiar el estado cambiamos la responsabilidad a EP IN ALMACEN
6.- Le damos en Cambiar Organización para especificar la correcta en base a la organización que esta el pedido

6.1 Si vamos a ejecutar todos los concurrentes por cierre de mes, abrimos la pantalla de interface de transacción, en Organización seleccionamos la bodega y en error le dejamos en blanco, luego le damos en encontrar

6.2 Seleccionamos origen y marcamos todos, luego le damos en el boton guardar y cerramos


6.2 Abrimos la opción Solicitudes: Interfaces de Envio


7.- Seleccionamos Solicitud de Interface de envío y nos aparecera una pantalla, seleccionamos Solicitud única.

8.- Se nos abrira una pantalla, en nombre colocamos Order Management Interface - SRS



y ponemos ejecutar
Nos aparece que llenemos el campo Trip StoP, asi que ponemos el % en ese campo para seleccionar, en este caso, el más actual.

9.- Hacemos lo mismo pero ahora para 





10.- Fin, verificamos

lunes, 2 de octubre de 2017

DEPURACION DE CARGOS EN ORACLE EBS

1.- Seleccionar las posiciones o cargos que no están siendo utilizadas
2.- Creamos una tabla en Oracle para estos cargos
     CREATE TABLE DFF_CARGOS(

     CARGOS VARCHAR2 (100));
3.- Importamos los datos del punto 1 en la nueva tabla llamada DFF_CARGOS

4.- Se idéntico el nombre de la tabla donde se debe desactivar el cargo, para este caso el nombre de la tabla es FND_FLEX_VALUES
5.- Se construyó el siguiente escrip
MERGE into FND_FLEX_VALUES t1
using (SELECT * FROM PAM_TEMPORAL) t2
on (UPPER(t1.FLEX_VALUE)=UPPER(t2.VALOR1))
when matched then update set t1.ENABLED_FLAG='N',t1.ATTRIBUTE50='CC 4134',END_DATE_ACTIVE=SYSDATE
6.- De igual manera para desactivar los puestos se identico a la tabla, la cual es PER_ALL_POSITIONS


Realizamos una prueba de inserción y verificamos en la aplicación.
UPDATE PER_ALL_POSITIONS SET STATUS='INVALID',DATE_END=SYSDATE WHERE NAME='B12 -PPF COORDINADOR MATERIALES MTL'


7.- Efectivamente ya no nos deja seleccionar

jueves, 6 de julio de 2017

ORA-02292: integrity constraint

Antecedentes: Estamos trabajando con la aplicación OpenWells y queremos eliminar un pozo, pero esto no se deja borrar ya que sale el siguiente error:

[Oracle][ODBC][Ora]ORA-02292: integrity constraint (EDMADMIN.CD_AC_FISH_TOOL_PARENT) violated - child record found ,Caused by SQL: delete from CD_WELL where well_id = 'IMGqfV5Jw2'

Este mensaje nos indica que es imposible borrar el registro con el codigo well_id='IMGqfV5Jw2' debido a que existe un constraint llamado CD_AC_FISH_TOOL_PARENT que esta asociado a una tabla hija, en la cual debemos borrar primero aquí los registros de este pozo y luego se nos deja borrar el pozo completo

Consultamos el constraint

select * from all_constraints where constraint_name ='CD_AC_FISH_TOOL_PARENT'
Se observa que la tabla hija se llama CD_ASSEMBLY_COMP_FISH_TOOL_T

Consultamos estos registros de la tabla hija

Borramos los registros de esta tabla hija
delete from CD_ASSEMBLY_COMP_FISH_TOOL_T where well_id = 'B4LluxPE3U'

commit

Borramos el pozo o el registro de la tabla padre

Listo.!

miércoles, 21 de junio de 2017

INSERTAR REGISTROS DE UNA TABLA EN OTRA

Para insertar registros de una tabla en otra se puede utilizar la forma del siguientre codigo SQL, donde la tabla vacía es PK.COMPLETION2 y la tabla con los registros es CD_COMPLETION

INSERT INTO PK.CD_COMPLETION2 (KEY_ID,WELL_ID, WELLBORE_ID,COMPLETION_ID,COMPLETION_NAME )
SELECT COMPLETION_ID,WELL_ID, WELLBORE_ID,COMPLETION_ID,COMPLETION_NAME
FROM CD_COMPLETION

martes, 4 de abril de 2017

COMO SABER LA VERSION DEL CLIENTE DE ORACLE

A continuación se indica como saber si el cliente de oracle instalado es de 32bits o de 64bits.

Para esto se debe realizar lo siguiente:
1.- Abrimos cmd
2.- Ejecutamos el comando tnsping y le damos enter.


En la imagen podemos observar que en este caso el cliente de oracle instalado es de 32 bits y la versión es la 11.2.0.1.0

Otro ejemplo al ejecutar el mismo comando en otra maquina
En este caso el cliente es de 64 bits

miércoles, 27 de julio de 2016

Error: ORA-00904


Al intentar ejecutar por ejemplo la siguiente consulta:

SELECT USER_NAME,O.USER_FULL_NAME,C.CREATED
FROM DBA_USERS C,MD_SITE_USER O
WHERE C.USERNAME = O.USER_NAME AND TRUNC(CREATED)=TO_DATE('07/22/2016','MM/DD/YYYY')

Nos da el siguiete error

Error report -
SQL Error: ORA-00904: "O"."USER_FULL_NAME": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:  
*Action:

Generalmente ocurre cuando algun campo esta mal tipiado y al no existir en la tabla sale este error

Consultemos la tabla
Observamos que el campo se llama"USER_NAME_FULL" y no USER_FULL_NAME


CONSULTAR LOS USUARIOS CREADOS EN ORACLE EN UNA FECHA DETERMINADA

Con el siguiente código podemos consultar el listado de usuarios creados en una cierta fecha

SELECT USER_NAME,O.USER_NAME_FULL
FROM DBA_USERS C,MD_SITE_USER O
WHERE C.USERNAME = O.USER_NAME AND TRUNC(CREATED)=TO_DATE('07/22/2016','MM/DD/YYYY')

Error: ORA-01722: invalid number

Este error es generado porque estamos haciendo una comparación de campos que no tienen el mismo tipo de dato:

Por ejemplo tenemos la siguiente tabla
SELECT * FROM DBA_USERS
DESCRIBE DBA_USERS
Observamos que el campo USER_ID es numerico

Ahora en otra tabla tenemos lo siguiente
SELECT * FROM MD_SITE_USER
DESCRIBE MD_SITE_USER
Observamos que el campo USER_ID tiene el tipo de dato Char

Por lo tanto al ejecutar la siguiente sentencia
SELECT USER_NAME,C.USER_ID
FROM DBA_USERS C,MD_SITE_USER O
WHERE C.USER_ID = O.USER_ID

Es logico que nos salga este error

Estamos comparando un dato numérico con un char, ese es el error
Dependiendo de los datos para solucionar este caso podríamos usar la función TO_CHAR(USER_ID)


Data Analyzer Error Excel

Error en copiar las celdas no se abre el Excel:  Haz clic en YES (Sí) en el mensaje de error y busca manualmente el archivo EXCEL.exe. Depen...

 
 
Blogger Templates