Advertisements

Monday, May 27, 2013

How to "select count(*) from table" with oraext:query-database

Me ha pasado que al intentar usar un query con la funcion de XPATH oraext:query-database, me marca error.

Estoy queriendo usar un simple "select count(*) from tabla".

Encontre que para poder realizar este count dentro de la expresión es ejecutar algo como se muestra:


oraext:query-database(concat('select count(no_viaje) as count FROM xbol.xxdi_map_ap_otm_interface WHERE no_viaje = ',$noViaje,' and line_id is not null'),true(),true(),'jdbc/ebs')

Como se observa, se ocupa poner un alias al campo en la cosulta, de paso también especifique un campo dentro del count y funciono.

gg hf!

Tuesday, April 30, 2013

Jndi Name is null or empty ERROR FIXED

Ahora me he encontrado con la siguiente excepción:


weblogic.connector.exception.RAException: Jndi Name is null or empty.

La cual nos impide realizar despliegues en la consola de BPEL puesto que el aplicativo DBAdapter.rar se encuentra inhabilitado.

Para solucionar este problema se tiene que ejecutar lo siguiente:

  1. Borrar el adaptador de aplicaciones "DbAdapter" desde la consola de Weblogic.
  2. Reinstalar el componente desde la consola de Weblogic usando el botón "Install".

Nota: Esta solución necesitara crear nuevamente el archivo Plan.xml por lo tanto hay que respaldar todas las configuraciones de fabrica de conexion ej. eis/DB/test




Tuesday, April 23, 2013

Customizing JVM Weblogic/SOA resources

Actualizando el archivo de configuracion para iniciar weblogic y el modulo de soa tenemos el siguiente apoyo:

if [ "${SERVER_NAME}" = "soa_server1" ]; then
 DEFAULT_MEM_ARGS="-Xms768m -Xmx1536m"
 PORT_MEM_ARGS="-Xms768m -Xmx1536m" 
else
 DEFAULT_MEM_ARGS="-Xms256m -Xmx512m"
 PORT_MEM_ARGS="-Xms256m -Xmx512m" 
fi
 

Thursday, April 4, 2013

Java singleton sample

Ejemplo de como implementar el patron de diseño "Singleton".
    private synchronized static void createInstance(){
        if(INSTANCE == null){
          INSTANCE = new StockCountMRG();
        }
    }
    
    public static StockCountMRG getInstance(){
      createInstance();
      return INSTANCE;
    }

How to build a XSD property-value?


A continuacion se muestra un ejemplo de un XSD para poder establecer una estructura de (property-value).
 
  
   
    
   
  
 
 
  
   
    
     
      
       
      
     
    
   
  
   
  
  
 
 
    
      
        
        
      
    

XML de Ejemplo:


  
    Valor
  


Thursday, March 28, 2013

How to get parameters from WF_BPEL_QTAB?

Con este query podemos obtener el valor del parametro deseado a partir del event_key que normalmente nos da una ejecución de un "Evento de Negocio".


SELECT   q.q_name
,        q.msgid
,        q.state
,        TO_CHAR(q.enq_time,'DD-MON-YYYY HH24:MI:SS') "ENQ_TIME"
,        q.user_data.event_name "EVENT_NAME"
,        (select value from table(q.user_data.getParameterList()) where name='CUSTOMER_PRODUCT_ID') instance_id
FROM     WF_BPEL_QTAB q
WHERE   1=1
and q.user_data.event_key = 'oracle.apps.csi.instance.update3451'

En este escenario estamos probando el busines event de ""Install Base" de update en el cual obtenemos el instance_ide (id del item) el cual nos va a permitir poder acceder a su información completa.

Wednesday, March 6, 2013

How to query collections types in PL SQL

Tenemos definido los siguientes objetos type:


 CREATE OR REPLACE TYPE "SOAADM"."AP_INVOICES_IF_T" AS OBJECT (
 INVOICE_ID NUMBER,
 INVOICE_NUM VARCHAR2(50 BYTE),
 INVOICE_TYPE_LOOKUP_CODE VARCHAR2(25 BYTE),
 INVOICE_DATE DATE,
 VENDOR_ID NUMBER
 )

 CREATE OR REPLACE TYPE "SOAADM"."AP_INVOICES_IF_TBL_T" AS TABLE OF AP_INVOICES_IF_T;


Ahora probamos con el siguiente script como saber si se pobló de manera correcta:
declare
  v_ap_if_tbl AP_INVOICES_IF_TBL_T;
  v_ap_if_t AP_INVOICES_IF_T;
  v_count number;
begin
  v_ap_if_t.INVOICE_ID:=1;
  v_ap_if_tbl := AP_INVOICES_IF_TBL_T(v_ap_if_t);
  select count(*) into v_count from table(cast(v_ap_if_tbl as AP_INVOICES_IF_TBL_T);
  dbms_output.put_line('length: '||v_count);
end;