14 de diciembre de 2012
Oracle eBs: Código para esperar a que termine una solicitud (concurrent) - Oracle eBS apps
Algunas cando realizamos desarrollos Oracle en e-Business Suite veces en nuestros programas necesitamos lanzar alguna solicitud pero es necesario esperar para ver como termina.
Aquí os adjuntamos un código para solucionarlo.
BEGIN
fnd_file.put_line (fnd_file.output,
'*** Call The XXXX Import Program ***');
fnd_global.apps_initialize (
user_id => fnd_profile.VALUE ('USER_ID'),
resp_id => fnd_profile.VALUE ('RESP_ID'),
resp_appl_id => fnd_profile.VALUE ('RESP_APPL_ID'),
security_group_id => 0);
fnd_file.put_line (fnd_file.LOG, 'Batch ID:' || ln_group_id);
ln_req_id :=
fnd_request.submit_request ('--', -- Sustituir por el codigo de la aplicacion
'----',---Sustituir por SHORT CODE de nuestro programa
NULL,
SYSDATE,
FALSE,
'BATCH',
ln_group_id);
COMMIT;
IF ln_req_id = 0
THEN
fnd_file.put_line (
fnd_file.LOG,
'Error al ejecutar "' || fnd_message.get || '".');
ELSE
fnd_file.put_line (
fnd_file.LOG,
'El programa se generó correctamente. Solicitud id :' || ln_req_id);
END IF;
IF ln_req_id > 0
THEN
LOOP
lv_req_return_status :=
fnd_concurrent.wait_for_request (ln_req_id,
60,
0,
lv_req_phase,
lv_req_status,
lv_req_dev_phase,
lv_req_dev_status,
lv_req_message);
EXIT WHEN UPPER (lv_req_phase) = 'COMPLETED'
OR UPPER (lv_req_status) IN
('CANCELLED', 'ERROR', 'TERMINATED');
END LOOP;
IF UPPER (lv_req_phase) = 'COMPLETED'
AND UPPER (lv_req_status) = 'ERROR'
THEN
fnd_file.put_line (
fnd_file.LOG,
'El programa termino con error. Ver el log para el request_id');
fnd_file.put_line (fnd_file.LOG, SQLERRM);
ELSIF UPPER (lv_req_phase) = 'COMPLETED'
AND UPPER (lv_req_status) = 'NORMAL'
THEN
Fnd_File.PUT_LINE (
Fnd_File.LOG,
'El programa terminó correctamente. Id de la solicitud: '
|| ln_req_id);
ELSE
Fnd_File.PUT_LINE (
Fnd_File.LOG,
'Error en el programa ');
Fnd_File.PUT_LINE (Fnd_File.LOG, SQLERRM);
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
fnd_file.put_line (
fnd_file.LOG,
'WHEN OTHERS ERROR: '
|| SQLERRM);
END;
13 de diciembre de 2012
Conector QlikView - Oracle e-Business Suite apps
Como saben los desarrolladores de QlikView, el proceso de extracción de datos es uno de los que lleva más tiempo a la hora de crear nuestros cuadros de mando en QlikView.
El modelo de datos de la eBS requiere de conocimiento para la extraccion ya que es un modelo complejo.
Cualquier necesidad de ayuda en la ETL de datos para QlikView puede ser solucionado rápidamente por el equipo de insiemeIT que tienen una amplía experiencia en desarrollos tanto con QlikView como con Oracle e-Business Suite en sus versiones 11.5.9, 11,5,10, 12.x.
Para más información: www.insiemeit.es
El modelo de datos de la eBS requiere de conocimiento para la extraccion ya que es un modelo complejo.
Cualquier necesidad de ayuda en la ETL de datos para QlikView puede ser solucionado rápidamente por el equipo de insiemeIT que tienen una amplía experiencia en desarrollos tanto con QlikView como con Oracle e-Business Suite en sus versiones 11.5.9, 11,5,10, 12.x.
Para más información: www.insiemeit.es
Tablas de personalizaciones de forms - Forms personalizations
Estas son algunas tablas que contienen los datos de nuestras personalizaciones de Oracle apps.
En esta primera es donde nos muestra la función asociada a la personalizacion
FND_FORM_CUSTOM_RULES
Esto es válido cuando nuestro proyecto tiene demasiadas pantallas personalizadas y es difícil de controlar pases a producción,....
FND_FORM_CUSTOM_SCOPES
FND_FORM_CUSTOM_ACTIONS
FND_FORM_CUSTOM_PARAMS
FND_FORM_CUSTOM_PROP_VALUES
FND_FORM_CUSTOM_PROP_LIST
Aquí disponéis de una select para poder obtener el nombre de la pantalla y el nombre de usuario.
SELECT DISTINCT FNDF.FUNCTION_NAME , FNDF.USER_FUNCTION_NAME , FNDR.CONDITION
FROM FND_FORM_FUNCTIONS_VL FNDF ,
FND_FORM_CUSTOM_RULES FNDR
WHERE FNDF.FUNCTION_NAME = FNDR.FUNCTION_NAME
ORDER BY 1 ASC
www.insiemeit.es
En esta primera es donde nos muestra la función asociada a la personalizacion
FND_FORM_CUSTOM_RULES
Esto es válido cuando nuestro proyecto tiene demasiadas pantallas personalizadas y es difícil de controlar pases a producción,....
FND_FORM_CUSTOM_SCOPES
FND_FORM_CUSTOM_ACTIONS
FND_FORM_CUSTOM_PARAMS
FND_FORM_CUSTOM_PROP_VALUES
FND_FORM_CUSTOM_PROP_LIST
Aquí disponéis de una select para poder obtener el nombre de la pantalla y el nombre de usuario.
SELECT DISTINCT FNDF.FUNCTION_NAME , FNDF.USER_FUNCTION_NAME , FNDR.CONDITION
FROM FND_FORM_FUNCTIONS_VL FNDF ,
FND_FORM_CUSTOM_RULES FNDR
WHERE FNDF.FUNCTION_NAME = FNDR.FUNCTION_NAME
ORDER BY 1 ASC
www.insiemeit.es
Suscribirse a:
Entradas (Atom)