Advertisements

Tuesday, June 11, 2013

Populating type table

El siguiente script de PL SQL muestra un ejemplo de como llenar una colección de tipo tabla, en la cual se definen puros tipos de datos simples.
DECLARE

  V_LIST AP_OTM_IF_TBL_T := AP_OTM_IF_TBL_T();
  V_LINE1 AP_OTM_IF_T :=    AP_OTM_IF_T(1,1,'n',SYSDATE,SYSDATE,'N','N','N',1,'N','N',1,SYSDATE,'N','N',1,1,'N','N',1,SYSDATE,1,1,SYSDATE,'N',1,1);

  V_RES CHAR(20) :='N';
BEGIN
  V_LIST.extend();
  V_LIST(V_LIST.count()) := V_LINE1;
  DBMS_OUTPUT.PUT_LINE('COUNT = ' || V_LIST.count());
  SOA_AP_INVOICES_IF_INPUT.SEND_VOUCHER(V_LIST,V_RES);
   
DBMS_OUTPUT.PUT_LINE('V_RESULT = ' || V_RES);

END;


Este es otro ejemplo de como poblar un objeto de tipo tabla usando BULK COLLECT INTO.
set serveroutput on;

DECLARE
  V_DATE_FORMAT varchar2(50) := 'DD-MON-YYYY';
  v_date varchar2(50) := '11-DEC-2013';
  v_eexp_list SWC_FA_EEXP_IFACE_TBL_T := SWC_FA_EEXP_IFACE_TBL_T();
BEGIN

select 
SWC_FA_EEXP_IFACE_T (ADMIN_REVIEWED,    
  APPROVER_TEMPLATE_PHASE,   
  APP_ID,         
  BRIEF_DESC,  
  CHANGED_BY,  
  COST_CENTER,   
  DATE_CHANGED,           
  DATE_CREATED,           
  DIVISION,    
  DIV_NAME,   
  DIV_ID,         
  LONG_DESC, 
  ORIGINATING_LOCATION,  
  PRIME_ACCOUNT,   
  PRIOR_REQUEST,    
  PRIOR_REQUEST_AMT,         
  PROJECT,   
  REQUEST_ID,         
  REQUEST_STATUS,    
  REVISED_TOTAL_AMT,         
  SENT_TO_ONBASE,           
  SITE_CITY_OTHER,   
  SITE_ID,         
  SITE_NUM_OTHER,   
  SITE_STATE_OTHER,    
  SUB_ACCOUNT,    
  SUPPORT_MAILED,    
  TOTAL_COST_AMT ,         
  DATE_APPROVED)
BULK COLLECT INTO v_eexp_list from swc_fa_eexp_v where TO_CHAR(date_created,V_DATE_FORMAT) = v_date and request_status IN ('A', 'D');
  dbms_output.put_line('COUNT: ' || v_eexp_list.count());

END;

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.