Advertisements

Friday, January 24, 2014

Get DDL from objects in PL-SQL

First you should find some information before try to get a DDL, this is related to the object type(Package, table, etc.) you want to find.

Use this query:

select * from all_objects where upper(object_name) = upper('swc_file_ctl_utl');


Now from the query above use the following fields "owner" and "object_type" you will need these values when you try to get its DDL.

Execute this query for obtaining the DDL:

select dbms_metadata.get_ddl(object_type => 'PACKAGE',name =>'SWC_FILE_CTL_UTL',schema => 'APPS')
 ddl from dual;

Monday, January 20, 2014

Process is not visible in BPM Workspace

A continuacion muestro un escenario donde no puedo ver un proceso en BPM para iniciarlo dentro de la consola de BPM Workspace.

Al diseƱar el proceso en el JDeveloper ya esta actualmente configurado como pueden ver.


Despues al intentar buscar el proceso en el BPM workspace no aparece!!


A pesar que podemos ver nuestro proceso en el "Enterprise Manager".


Para solucionar este problema fue muy simple, lo que hay que hacer es lo siguiente:

Solucion:


1. Primero que nada hay que revisar que el usuario este creado en el "Security Realms" en la consola de weblogic.


2. Ir a la consola del "Enterprise Manager" hay que dirigirse a la ruta: farm_nombre/Application Deployments/OracleBPMProcessRolesApp

3. Clic derecho sobre "OracleBPMProcessRolesApp" y sobre el menu nos dirigimos a: Security/Application Roles

4. Presionamos el boton donde lo indica la flecha y a continuacion se mostrara una lista en la cual identificamos nuestro rol que hemos definido en nuestro proceso "HelloWorld.Requester".

5. Seleccionamos el rol para agregar el usuario requerido.
6 Ahora nos aparecera la descripcion del rol que seleccionamos y presionamos el boton de "Add" para agregar el usuario que queremos registrar.


7. En la ventana que aparece hay que buscar el  usuario que deseamos, seleccionamos en "Type" como "User" primeramente, introducimos el usuario que queremos buscar y presinamos el boton con la flecha y por ultimo seleccionamos el usuario de la lista dando clic y presionamos el  boton "Ok".


8. Y por ultimo presionamos "Ok".


Prueba

Para probar entramos a la consola de "BPM Workspace" con el usuario que registramos en el rol de "HelloWorld.Requester" y nos dirigimos al tab de "Applications" para ver si ahora si aparece nuestro proceso de BPM.


GG HF!!

Friday, January 17, 2014

Extending custom EBO Sample - AIA 11g

Ahora voy a mostrar como extender un EBO. Por ejemplo en este ejemplo mostrare como extender el "Custom EBO" para "PayableInvoice" el cual se utiliza cuando se requiere hacer una integracion con el modulo de "Oracle AP" para la cuestion de facturas.

Primero vamos a encontrar la ruta donde se encuentra el esquema del "Custom EBO", y esta ruta se puede tomar de referencia para cualquier otro EBO que se requiera extender (Podemos usar el JDeveloper y la conexion a MDS para buscar la ruta).

/apps/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Core/Custom/EBO/PayableInvoice

El esquema sin modificar se muestra como sigue:
En este caso voy a extender dos elementos del esquema que serian los siguientes:

  • CustomPayableInvoiceEBOType
  • CustomPayableInvoiceLineType
Y agregare en cada uno algunos campos, lo cual primero necesito hacer una copia del XSD anterior y es necesario modificar la copia del archivo de manera local. En este caso pueden usar cualquier editor de archivos.



Una vez modificado el archivo hay que reemplazarlo en el archivo original que se encuentra fisicamente en nuestro servidor donde se encuentra instalado AIA, en mi caso que estoy usando un servidor de Windows, lo pondremos en su ruta correspondiente (via FTP o compartir carpeta) como se muestra en la siguiente figura:


Les recomiendo primero hacer una copia del archivo original antes de copiar el que modificaron.

Ahora que tenemos nuestro archivo listo para usar, primero hay que actualizarlo en el repositorio "MDS", para esto tenemos que correr el siguiente comando:

ant -f UpdateMetaData.xml

El archivo "UpdateMetaData.xml" se encuentra en la ruta:

E:\oracle\middleware\aia11g\Infrastructure\Install\config (tomando como referencia mi instalacion".

Probar

Ahora vamos a ver si se ha actualizado nuestro archivo en el repositorio "MDS" desde nuestro JDeveloper (Hay que hacer refresh a la conexion antes).

Para esto no abrire directamente el EBO, si no mas bien el EBM "PayableInvoiceEBM.xsd".

Ahora que lo tenemos abeirtos podemos buscar el elemento "CreatePayableInvoiceEBM" o cualquier otro:


Buscamos dentro de su estructura la referencia "Custom" donde agregamos los nuevos elementos:


Si los podemos visualizar como se muestra en la figura anterior es que todo salio exitosamente.

Nota: Si tienen problemas para visualizar los cambios o les arroja errores el update del archivo "UpdateMetaData", revisen el archivo "UpdateMetaData.xml" y verificar que tengan la referencia de la ruta donde se encuentra nuestro "Custom EBO" para que se cargue. Ej.



GL HF!!

Thursday, January 16, 2014

BPEL 11g Handle XML without a namespace

Ahora me he encontrado con un escenario en el cual recibo un XML de un sistema externo y el XML no cuenta con un namespace.

Para este tipo de escenario siempre primero genero su correspondiente XSD usando el JDeveloper.


Voy a poner de ejemplo el sig. XML:



  
    NULL
    2.8 GHz Computer
    DSC
    3658
    HBISCPU
    1
    105913
    722.18
    722.18
  
  
    NULL
    2.8 GHz Computer
    DSC
    3658
    HBISCPU
    1
    105813
    722.18
    722.18
  


Ahora voy a proceder a generar su XSD.

En JDevelper presionamos "New" y en la galeria seleccionamos "XML Schema from XML Document"




Llenamos los datos para generar el nuevo esquema:




Para esto hay que dejar en blanco el campo de "Target Namespace".

El XSD quedaria de la siguiente manera:



  
    
      
        
          
            
              
              
              
              
              
              
              
              
              
            
            
          
        
      
    
  


Ahora podemos importar nuestro XSD en BPEL para poder crear una variable y recibir el XML.

Wednesday, December 18, 2013

Windows equivalence of "ps -ef | grep java" linux command

Dejo un comando muy util para matar procesos en Windows, es su similar en Linux.

wmic process where "name='java.exe'" get ProcessID, Commandline /format:list

Este es otro comando es para matar el proceso usando el ID, similar al "kill -9 ID".

taskkill /F /PID 827

Tuesday, November 5, 2013

Oracle BPA ServerSetting files configuration

Para usar Oracle BPA Repository tuve que realizar algunas configuraciones en los archivos que se encuentran en $BPA_HOME/server/config

En los siguientes archivos.


  • defaultServerSettings.cfg
  • userServerSettings.cfg
  • setupServerSettings.cgf
En seguida voy a poner el contenido de cada archivo:

defaultServerSettings.cfg




 
  
  
  STANDARDSRV
  
  
  
  STANDARD
    
    
  
    
    
     
     
     
     
     
     
     
     
     
      
      
      
      
     
     
     
      
     
     
     
      
     
     
     
     
    
    
    
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 
 
 
    
   
    
    ${sys:aris.server.home}/jre 
    
    
    
    
     
    
     
     
     
     
     
     
     
     
     
     
    
      
     
      
           
     
    
   
    
    
    
     
    
    
    
    
    
    
    
    
    

  
  
    
    
    
    
    
    
    
    
    
    
    
     
     
    
    
    
    
    
    
    
      


  
    
    
    
    
    
    
    
    
    
    
  



  
    
    
    
    
    
    
    
    
 
  
    
    
    
    
    
    
    
    
 
 
    
    
 
   
    
    
  
    
  
    
  
  
    
    
    
  
   
  
    
    
         
     
 
 
      
    
  
    
    
    
    
     
     ${sys:aris.server.home}/..
    
    
    
    
    
    
    
    
    
    
   
  

  
    
    
    
    
   
  

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    


  
    
    
    
    
    
    
    
    
    
    
   
   
   
   
   
   
   
   
 
   
    
 
    
 
   
 
   
 
     
     
   
   
   
   
   


  
  
  
 
  
   
   
    
   
   
   
    
    
    
     
    
    
    
    
    
    
    
        
          
        
    
 
 
  
 
 
 
 
 
 
   
  512m
  
   server.bin.path=${sys:aris.server.home}
    server.start.cmd=y-simusrv.exe
  server.start.param="${sys:aris.server.home}/config/simusrv.cfg"
  server.run.path=${sys:aris.server.home}
    
  
   server.bin.path=${jre.path}/bin
      server.start.cmd=java
   server.start.param=-server -XX:MaxPermSize=92m -XX:NewRatio=2 -Djava.endorsed.dirs="${sys:aris.server.home}/simusrv/endorsed" -classpath "${sys:aris.server.home}/simusrv/y-simulationserver-3.jar" -Xrs com.idsscheer.simulationserver.core.AMain "${sys:aris.server.home}/config/simusrv.cfg"
   server.run.path=${sys:aris.server.home}
  
    
 
 
 
 
 
 
 
 
  e3123ece7f283400a988e2187080902811e87f5c
  4fa22348945ed26474789cf5683b9445d74fd181
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    
 
 
 
 

 
    
 
 
 
 
 
 
 
 
 
 
    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    
    
    
    
    
    
    
    
    
    
    
 
    
    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    
  

 
     
 
 
 
 

    
 




userServerSettings.cfg


















setupServerSettings.cfg





 BS_SM

 


 


 1842m








 
  
 



Al terminar de editar los archivos hay que reiniciar el servicio del Repository.

Wednesday, October 9, 2013

BPEL 11g - Disabling the Auto recovery

En este blog encontre esta solucion interesante para deshabilitar el "Recovery" y evitar que las instancias de BPEL se queden en el estatus "Running".

http://www.albinsblog.com/2011/10/oracle-soa-suite-11g-disabling-auto.html#.UlWnNVC3_Al



Scenario 1:Auto Recovery only for sync process.

  1. In the navigator, right click "soa-infra" and select "SOA Administration Common Properties" Advanced More SOA Infra advanced Configuration Properties
  2. In the Name Column, click GlobalTxMaxRetry (The maximum of times  a GLOBAL_RETRY FabricInvocationException can be retried before bubbling up)
  3. Set GlobalTxMaxRetry = 0 (Default : 2)
  4. Similary, GlobalTxRetryInterval (The number of seconds between retries in the case of GLOBAL_RETRY FabricInvocationException) Set GlobalTxRetryInterval = 0 (Default : 3)


Scenario 2: Disabling recovery attempts for faulted instances.
1. Log in to Oracle Enterprise Manager Fusion Middleware Control.
2. Right-click soa-infra.
3. Select SOA Administration > BPEL Properties.
4. Click More BPEL Configuration Properties.
5. In the Name column, click RecoveryConfig.
6. Expand RecurringScheduleConfig.
7. Set the following properties to values and click Apply.
maxMessageRaiseSize =0
8. Expand StartupScheduleConfig, respectively.
9. Set the following properties to values and click Apply.
maxMessageRaiseSize=0