Por si alguno de los lectores no se ha fijado aun, en el blog tenemos una sección de recursos de ADF 11g. De toda esta sección he seleccionado aquellos tutoriales que creo que son básicos para empezar a introducirse en la tecnología. Y los seleccionados son…
- developing RIA application
- Introduction to ADF Faces Rich Client Components
- Working with Bounded Task Flows, Regions and Routers
- Create ADF Menus for Page Navigation
- Examining ADF Business Components New Features
- Web Application with JDeveloper 11g Using EJB, JPA, and JavaServer Faces
- http://blog.amr-gawish.com/149/dependent-combo-boxes-using-oracle-adf
hola, primero que todo te felicito por tu blog, esta muy completa la información
tengo una duda de como hacer algo en adf 11g, puede q sea muy simple sin embargo no he encontrado la respuesta aun
una pagina de login con la cual lleno un Bean con un atributo ID (los usuarios son usuarios de la aplicación {están en una tabla de la base de datos}), tengo una pagina con una tabla de eventos los cuales tienen un ID, y otra pagina con el form para crear/editar eventos
mi duda es como hacer que al pasar de la pagina de login a la de eventos solo se muestren los eventos que tenga el ID igual al ID del Bean, y como hacer para que al crear un nuevo evento el ID lo tome del Bean automáticamente para que solo pueda creae eventos relacionados a la persona que realizo el login
te agradecería en gran medida un ejemplo o por lo menos una referencia para buscar
gracias
Buenas Herman .
A ver lo que podrias hacer es que la pagina de eventos ataque a un VO que tenga un ViewCriteria (que filtre por ID). De forma que antes de lanzar la navegacion que lleve a la pagina ejecutamos el viewcriteria de dicho VO y la pagina aparezca filtrada.
Te paso un enlace a la guia de ADF donde hablan de los ViewCriteria:
ADFGuide
Otro tema que podrias mirar es intentar relacionar los dos VO mediante un ViewLink por el ID. De forma que al estar relacionados ya te mapearia ADF la relacion.
Saludos y espero haberte ayudado.
Muchas gracias por la ayuda, me ha sido de utilidad, aparte del ViewCriteria he utilizado CreateWithParameters para rellenar el form con elementos del bean
Nuevamente me surgió otra duda, al pasar de la pagina de login a la de eventos, dependiendo del tipo de usuario que se logeo, quiero q se muestren o se oculten ciertos elementos (botones, imputTexts,etc) de la pagina, por lo que he buscado lo que se usa normalmente son Backing Beans, sin embargo, estos sobrecargan la pagina (si esta contiene muchos elementos), lo q deseo como ya dije, es solo ocultar algunos elementos cuando se logee el usuario, la pagina no cambiará en nada de ahi en adelante, por lo que me gustaria saber si existe otro forma para realizar esto
aparte creo que me he encontrado con un bug del JDeveloper el cual no se si tendrá solución
Al crear una página con un Backing Bean, al bean le agrego un metodo para ocultar y deshabilitar los componentes UI que deseo y lo hace bien, pero cuando le cambio el atributo ID a un componente al correo la aplicación de nuevo se cae la pagina y en el log dice que no pudo encontrar el bean asociado a la pagina
gracias
Buenas.
Hombre el backing bean, tampoco es que penalize en exceso. La verdad es que no me preocuparia mucho en este ambito, pero bueno.
Lo que puedes usar para ocultar campos en base una condicion es la propiedad rendered de los componentes mediante JSF EL.
Create un Bean que sea de session y que almacene informacion relacionada con el usario,nombre, rol,etc.
Y luego haces la llamada desde EL, el bean al ser de session no te cargara tanto como un backing, que se suele ser de request
Por ejemplo,
rendered=#{UsuarioBean.esAdministrador}Respecto al bug de JDeveloper, la verdad es que sin verlo es imposible ayudarte. A mi no me ha pasado,trabajo con la ultima version.
Saludos
Nuevamente muchas gracias, no sabe la ayuda que me a dado, sin embargo, aun me quedan algunas dudas y disculpa las molestias nuevamente, debe ser molesto tanta pregunta tonta y tan seguido, aunque no es excusa penas tengo un mes en este mundo de ADF y he preguntado en varios blog y foros y tu eres el único que me ha dado buenas respuestas y rápidamente (y lo mejor en español
).
las dudas:
1
¿existe alguna forma de mandar parámetros a una método del bean desde el EL?, haciendo
rendered=#{UsuarioBean.esAdministrador}supongo que esAdministrador es un método que no tiene parámetros y retorna boolean (true si es administrador y false si no lo es), sin embargo, mi aplicación tiene más de 2 tipos de usuario por lo que ocuparía algo como:rendered=#{UsuarioBean.esVisible("Id-ImputText")}2
desde el primer comentario lo dije pero no muy claro, si tengo un bean de tipo session el cual almacena el ID, el tipo de usuario, el nombre y otros datos, este se llena en la página de login al presionar un botón que llama al método del bean “doLogin” y luego me redirige a la pagina de eventos
no creo q lo de mi primer duda sea posible de hacer, por lo que cambiare la pagina de eventos mediante un backing bean, entonces mi otra duda es la siguiente ¿como llamo desde LoginBean (bean de tipo session) un método de EventoBean (bean de tipo backingBean) que oculte los elementod de la página que requiero? o por el contrario ¿como hacer que al cargarse la página de eventos lo primero que ocurra es que se ejecute ese método? algo así como un onLoad
nuevamente muchas gracias
Buenas, nuevamente por aquí, ya encontré la solución de mi problema y quería compartirla por si alguien más llega a tener el mismo problema.
para ejecutar un método al momento de cargar la página se puede hacer de varias formas, una es mediante un constructor (en lo personal esta no me ha servido pero a otro si, entonces pueden probar igual)
1.
public NombreBean() {super();
//código aquí
}
en mi casi me lanza este error: “Can not instantiate ” a jbo error.
2.
Otra forma (y esta es la que yo usé) es mediante la anotación @PostConstruct
@PostConstructpublic void onLoad() {
if (!AdfFacesContext.getCurrentInstance().isPostback()) {
// código aquí
}}
3.
o implementando la interfaz PagePhaseListener
otro detalle que se debe de tomar en cuenta es q los dos anteriores ocurren antes que q se llame al constructor por lo que si el método intenta cambiar algún atributo de un componente de la interfaz, este va a estar en null, por lo que se debe de instanciar primero. Osea, si está private RichInputText it1; debes de cambiarlo por private RichInputText it1 = new RichInputText(); o instanciarlo en le método de onLoad.
Buenas Herman.
Muy interesante y gracias por publicar las posibles soluciones
Ya puestos en el tema yo añadiria una cuarta
4.
Exponer un metodo en la pagina de definicion y hacer que se ejecute al entrar mediante RefreshCondition
Saludos y espero volverte a verte por aqui.
Sigo molestando, la consulta del día es:
Tengo un ViewObject de un EntityObject el cual es de una tabla que tiene llaves foráneas a otras tablas, además tengo los LOVs correspondientes
En la página de Inserción los componentes del Form que hacen referencia a esa llaves foráneas se rellenan de tal forma que no veo el ID sino el Nombre, esto gracias al LOV correspondiente, pero cuando pongo una Tabla Read-Only del ViewObject, las columnas muestran los ID
como hago para mostrar el Nombre en la tabla y no el ID????
—————————
Otra consulta, me puedes dar una referencia de como manejar relaciones de tablas que son de N a N,
me explico, en los ejemplo de la páginas de Oracle solo son para casos en los que las relaciones de cardinalidad son de 1 o 0 a N y por lo menos yo no he visto ningún casos de N a N, yo experimentando hice el Association entre las 3 EntityObject con cardinalidad N a N a como yo creí conveniente, sin embargo no se como manejar la inserción o modificación en la Interfaz Gráfica de la tabla intermedia
no se si podrás darme una guía en ambos temas
de antemano gracias
Hay varias soluciones aunque la recomendacion es que el VO del cual estas tirando las pantallas haga referencia a esa segunda Entidad.(un VO que venga de dos entidades). Esto te hara una join en SQL.
Tambien existen otra aproximacion mediante groovy y asociaciones.
lov-description-text-with-groovy
Respecto a la segunda duda, necesitaria que fueras mas concreto.Cual es el problema exactamente?
Saludos
Gracias, me a sido de mucha ayuda, hice las vistas con 2 o mas entidades, y en algunos casos use Groovy (cuando no tenia entidades q relacionar ya q eran vistas de listas estáticas)
nuevamente tengo otra pregunta, como hago para hacer un selectOneChoice q me muestre el Nombre Apellido1 Apellido2 y que le valor sea el ID o cédula, lo he intentado con Iterator de la vista de persona, con ListOfValues y con List y por uno u otro motivo no lo logro hacer, siempre se muestra algo q no quiero o cuando trato de obtener el ID o cédula obtengo valores extraños.
en cuanto la consulta del comentario anterior es lo siguiente, Tengo 3 tablas, una “Tipo de Usuario”, otra Rol y una tabla intermedia para realizar la relación N a N llamada TipoUsuario_Rol la cual solo tiene el ID de TipoUsuario y el ID de Rol, a nivel de entidades tengo las 3 entidades de las tres tablas q te mencione y un Association que realiza la relación de N a N, también 2 vistas, la de TipoUsuario y la de Rol y 1 view link de la Association para la relación N a N
Ahora la pregunta, que componente de GUI de ADF Faces puedo usar para que inserte o borre las relaciones N a N, por ejemplo yo pensaba que podía hacer un selectOneChoice con los tipos de usuario y un selectManyCheckBox u otro de los selectMany para que al hacer check en alguno haga los insert correspondiente en la tabla TipoUsuario_Rol o en caso contrario el delete correspondiente, si no es así, como se maneja las relaciones de N a N en ADF Faces, crear un ViewObject para la tabla TipoUsuario_Rol me parece un sin sentido…
Nuevamente, Gracias
Buen día, he estado estudiando el exelente tutorial Developing RIA Web Applications with Oracle ADF pero he encontrado el siguiente problema: El tutorial crea un menú que da acceso a dos opciones una exporta el contenido de una tabla a excel y la otra permite imprimir el contenido de dicha tabla.
Todo funciona, excepto que al cerrar la página que genera la opción escogida y regresar a la página llamadora ( la que contiene el menú) los botones de navegación (next,previous etc.) ya no funcionan correctamente sino que en lugar de mover los registros del datacontrol maestro mueven el detalle y se disparan mensajes de error. Te Agradezco cualquier sugerencia para comprender el problema.
Mis Agradecimientos antemano y felcitaciones por tu blog.
Buenas Jorge
Como regresas a la pagina llamadora? con el flecha(boton) de Atras del navegador?
Saludos
Buen dia Fetish, como la flecha de atras del navegador queda inactiva entonces simplemente cierro la página.
Hernan no hay componentes especificos para lo que quieres hacer.
Tendras que montarte algo “artesanal”.
La opción de tener un VO de la tabla intermedia para poder trabajar con ella de forma elegante e ir creando o eliminando registros desde java, no me parece tan mala opción. De este modo puedes ir haciendo create row y remove de forma comoda
El tema del selectoneChoice , lo que debes hacer es arrastrar el campo ID como selectoneChoice y en “Display Attribute” marcar seleccion multiple y ahi puedes hacer que te enseñe varios campos como label.
Jorge es que sin verlo cuesta un poco.
Tambien tienes que tener en cuenta que los tutoriales, son solo eso tutoriales, y muchas veces no tienen en cuenta ciertos comportamientos.
Podemos hacer dos cosas:
O me envias por correo la aplicación (sin las carpetas classes, sino ocupa mucho), en un zip.
O si quieres dime que errores te esta lanzando y veremos si podemos obtener mas información.
Saludos
En el integrateWebLogicServer-log de Jdeveloper 11.1.1.30 muestra entre otras esta linea
Server Exception during PPR, #2
oracle.jbo.TooManyObjectsException: JBO-25013: Demasiados objetos coinciden con la clave primaria oracle.jbo.Key[201 ].
Que coincide con el mensaje de error que muestra la página
Fetish, ya te envié un .rar con la aplicación para que le des un vistazo.
Agradezco tu gentileza
El problema se ve cuando mandas a ejecutar la página DeptEmpPage.jspx.
Utilizo normalmente Google Chrome pero probé con el Internet Explorer y sigue igual.
Pues vamos apañados…
Debe ser como te digo que la pagina no espera ese comportamiento.
http://jneelmani.blogspot.com/2009/03/11g-adf-error-list-jbo.html
La verdad es que como tampoco he hecho ese tutorial, no se que en que mas te puedo ayudar.
Saludos
Ok fetish agradezco tu atención, de todas maneras estaré atento a cualquier comentario tuyo al respecto.
Felicidades
Nuevamente molestando, donde puedo encontrar un tutorial pero de Weblogic, ya hice gran parte de mi proyecto y lo he compilado en un .EAR, y al instalar JDeveloper se instala Weblogic con el, cuando corro la aplicación desde JDeveloper este levanta y copia lo q ocuapa en Weblogic, pero para implementar mi sistema ocupo hacer un servidor con Weblogic q este corriendo constantemente, lo cual no tengo ni la mas remota idea de como se hace :S
Herman, te respondi en formato post
Saludos
Buenos días y disculpa nuevamente la molestia, tengo otra duda, esta ves sobre como manejar una relación entre tablas donde se tiene por llave primaria 2 llaves foráneas, para explicarme mejor hice la siguiente imagen ilustrando las relaciones
http://i26.servimg.com/u/f26/12/26/78/42/casoco10.png
ID_Tabla1 y ID_Tabla2 son la llave primaria de Tabla3 y a su vez ambas son foráneas a sus respectivas tablas, y ocupo relacionar Tabla4 con Tabla3 por lo que en Tabla4 están ID_Tabla1 y ID_Tabla2 que son la llave primaria de Tabla3
Tengo 2 problemas con Tabla4
1. Como hago un Form para Insertar una fila en Tabla4, ya que si pongo 2 comboBox para ID_Tabla1 y ID_Tabla2 puede que no se respete la relación Foránea con Tabla3, como que elija un valor para ID_Tabla1 y ID_Tabla2 que no corresponda a ninguno de Tabla3, se me ocurrió en un principio un comboBox que tenga ambos ID por valor pero no tengo ni idea de como hacerlo
2. Como hago un LOV para ID_Tabla1 y ID_Tabla2 en Tabla4, de tal forma que muestre el valor de la columna valor de Tabla1 y Tabla2, ya que un LOV de Tabla4 a Tabla3 solo me mostrará los ID de Tabla3
Haciendo una lov (con los datos de tabla 3) en el form de creacion de tabla 4. Ya estaria no?
Solo podrias crear registros en tabla 4 que existan en tabla 3.
Otra opcion es mostrar todos los valores de 1 y 2. Y si no existen en tabla 3, crearlos cuando creas el registro de tabla 4.
Haciendo una lov (con los datos de tabla 3) en el form de creacion de tabla 4. Ya estaria no?
En tabla 3 no hay nada significativo para mostrar al usuario, solo tiene los 2 ID, 2 fechas y una descripción que puede ser de 256 caracteres, lo q me interesa mostrar esta en los valores de Tabla 1 y Tabla 2.
Solo podrias crear registros en tabla 4 que existan en tabla 3.
Como son 2 ID pueden ocurrir casos en los que no exista el valor de Tabla 3, por ejemplo si se inserta en tabla 3:
->ID1 = 0 y ID2 = 0
luego
->ID1 = 1 y ID2 = 1
en el LOV de ID1 en tabla 4 aparecerá 0 y 1 y en el ID2 de tabla 4 también aparecerá 0 y 1, por lo que se podría hacer la combinación:
-> ID1 = 0 y ID2 = 1
o
-> ID1 = 1 y ID2 = 0
en vez de 0 y 0 o 1 y 1
Otra opcion es mostrar todos los valores de 1 y 2. Y si no existen en tabla 3, crearlos cuando creas el registro de tabla 4.
No puedo crear valores en tabla 3 desde tabla 4, por reglas de negocio lo que esta en tabla 4 debe ir asociado a tabla 3, tabla 4 la puede usar un tipo de usuario que no tiene privilegios para tabla 3
Se me ocurre una solución solo que aun no la he implementado, sería poner una especie de filtro o auto-llenado en ID2, osea, si selecciono en ID1 el valor 0, que en ID2 solo se muestren valores de ID2 que en tabla 3 tengan ID1 = 0.
Es que por lo que te he entendido tu idea es hacer dos lovs en en el form de creacion de tabla 4.
Y quiza te seria mas sencillo hacer una sola LOV y que esta venga de un VO que tiene una join con las tablas 1,2,3 de forma que puedas ver mostrar lo que te interesa de tabla 1 y 2.
Esto asi via comentarios es un poco lioso.Que jaleo!!
Me hice un video para explicarme mejor
La tabla 1 corresponde a Tipo de Proyecto
La tabla 2 corresponde a Compañía
La tabla 3 a Proyecto
Y la Tabla 4 a Eventos
http://i26.servimg.com/u/f26/12/26/78/42/casoco10.png
Tipo de Proyecto y Compañía solo tienen el ID (se genera automáticamente por un trigger) y el Nombre,
Proyecto (tabla3) tiene como llave primaria las llaves foráneas de Tipo proyecto y Compañía
Nuevamente Eventos (Tabla4) donde esta el problema, actualmente en la vista tengo las 4 entidades, y para el id tipo de proyecto tengo un LOV con la tabla Tipo de Proyecto y el id de compañía tengo un LOV con Compañía, el problema con esto sería q me muestra por ejemplo proyectos o compañías que no están en la tabla Proyecto, si hago los LOV con Proyecto, se mostraran valores repetidos, por ejemplo hay 2 proyectos que son de “Módulo de labores” pero son de 2 compañías distintas por lo que en LOV aparecerá 2 veces “Módulo de labores”
Luego, como ya se vio en el video, intente insertar un evento con valores de proyecto errados, en los atributos de Evento (tabla4) en “Business Rules” para el idCompania hice una regla: List->In->Query Result->”SELECT IDCOMPANIA FROM Proyecto WHERE PROYECTO.IDTIPOPROYECTO = Idtipoproyecto”
para atrapar el error y que no estallara en la aplicación
Ahora, lo que yo deseo es que en Evento al seleccionar en el Combo de Tipo de Proyecto, se filtre el Combo de Compañía de tal forma que me muestre solo las compañías que tengan en Proyecto ese mismo tipo de Tipo de Proyecto. O en su defecto alguna otra solución.
Estoy tratando con estos tutoriales:
http://www.itnewb.com/v/Create-a-Chain-of-Dependent-Combo-Boxes-Using-Oracle-ADF
http://ranajitsahoo.blogspot.com/2008/05/how-to-implement-dependent-drop-down.html
pero igual no me sale nada :S
Estoy pensando seriamente cambiarme de framework, ADF en principio es muy bonito pero me ha dado más problemas que soluciones :S
Otro detalle q olvide mencionar, en la tabla al insertar no se muestran los nombres de Compañía ni Tipo Proyecto, aparecen luego de que hago algún Rollback de cualquier tabla??? a que se puede deber esto???
hola que tal buen dia yo tengo una pregunta querio saber si puedo hacer que el log mande un mensaje por ejemplo cuando oprima el boton guardar que el log mande se estan guardando los datos tal y tal eso se podria ahcer o no espero me puedas responder me urge bastante
No acabo de entenderte. te refieres a generar una linea de log o a lanzarle un mensaje al usuario por pantalla y que lo vea?
Hola,
Estoy investigando sobre como utilizar ADF con Eclipse y algún servidor que no sea Weblogic. La cuestión es que no encuentro absolutamente ningún tutorial al respecto.
Me gustaría tener alguna orientación en el tema ya que no tengo idea de que hacer. ADF con JDeveloper se que es muy sencillo porque lo he utilizado, pero en mi trabajo quieren utilizar Eclipse y el Oracle Enterprise Pack for Eclipse.
Gracias!
Viviana.
De momento el unico IDE con el que poder desarrollar ADF es JDeveloper .Se esta mirando poder usar Eclipse pero para de momento no hay nada.
Y respecto al servidor que no sea Weblogic.Malas noticias. Ya se comento por aqui
Saludos
Estoy intentando realizar una aplicacion con ADF y JDeveloper, me gustaria saber si de casualidad tienen un tutorial donde expliquen como hacer el login usando ADF y JDeveloper con consulta en una base de datos, y que despues del que el usuario se autentique se pueda crear un objeto con la informacion referente al usuario de tal forma que en paginas posteriores se pueda mostrar informacion solo de ese tipo de usuario e informacion de este usuario tiene relacionada en la BD, y la forma de usar viewCriteria con estos parametros
john ortiz, yo tengo la respuestas a todas tus preguntas pero te las respondo el otro año :S, es que ya pronto salgo a vacaciones
y me da flojera hacer semejante tutorial, lo que si podría hacer es pasarte código fuente, pero queda en ti el tratar de entenderlo.
Hernan de antemano te agradezco tu ayuda y la atención prestada, te lo agradecería, por lo que queda de año puedo ir revisando el código, y estaré muy atento esperando tu tutorial, el cual seria de mucha ayuda no solo para mi sino para miles de personas que también lo pueden estar necesitando, muchas gracias
Aquí te dejo un Zip con código
http://www.box.net/shared/q6v0rpkm85
NO es un proyecto, sino código disperso, el otro año voy hacer un tutorial paso a paso y un proyecto pequeño, por ahora dado que hoy al medio día salgo a vacaciones solo te mandaré esto, aclaro que algunos métodos no son muy elegantes (en especial checkLogin en AppModuleImpl) pero en general hacen bien su trabajo.
la estructura de lo que te envio es una clase persona con llave primaria cedula, con varios atributos entre ellos nombre, apellidos, nombre de usuario y clave, etc y asociado a estos la entidad telefonos con relacion a la cedula de persona, y la entidad control de vacaciones relacionada igualmente con la cedula de la persona
Algunos tips:
para mostrar la información de un usuario en especifico se puede hacer de 2 formas
la primera es poner una variable en el where de query de la vista (ver: codigo/pix/vacaciones control persona.png) y el el task flow poner el metodo de iterator de la vista “ExecuteWithParameters” (ver: codigo/pix/vacaciones control persona 2.png), con esto solo se vera la información de ese usuario
la segunda es con un view criteria (ver: codigo/pix/telefono criteria.png), y ejecutarlo desde un bean de java o desde el task flow, la ventaja sobre el anterior es que se puede agregar o remover el filtro o los filtros, así por ejemplo si soy usuario de tipo administrador poder ver mis telefonos o lo de todos los demas usuario
Lo de mantener la informacion del usuario es simple, es solo tener un bean de session, este guarda los datos (atributos) durante toda la ejecucion del sistema hasta que expire la sesion o la maten manualmente.
Suerte, y cualquier cosa el otro año voy hacer el tuto..
@john ortiz sobre el tema del Login. Lo mejor es montar ADF Security. Boton derecho sobre tu Applicacion –>opción Secure–>Configure ADF Security.
ADF Security ya te construye la pagina de login te redirecciona todas las peticiones a login si no esta loginado,etc.
Para guardar la informacion si no quieres usar base de datos una buena opcion, como dice Herman, es usar un bean de sesion.
http://thediningphilosophers.blogspot.com/2010/12/how-to-configurar-adf-security-y.html
Saludos
Muchas gracias por su ayuda y colaboración, Herman Alonso voy a mirar el codigo que me envias y esperare tu tutorial, fetishcode ya estoy mirando el link que me envias, muchas gracias a los dos
Herman Alonso, amigo me puedes colaborar con el tutorial que ibas a hacer, es que lo estoy necesitando, de antemano te agradezco
Hola
soy nueva programando en Jdeveloper,
estoy realizando una aplicacion web y utilizo una adf table para mostrar unos datos y segun la fila que seleccione se muestran unos datos relacionados a esta en otra tabla
pero tengo el problema de que si selecciono la primera fila no me muestra los datos, tengo que dar clic en la segunda fila y luego en la primera para q me muestre en la otra tabla
quisiera saber si hay alguna forma de arreglar este problema, porque por ejemplo si filtro antes de seleccionar algo y solo es una fila lo que se muestra despues de filtrar, entonces el método no funciona
por favor si me puede ayudar
saludos
PD: No se si me explique bien
Debes tener problemas de refresco, partialtriggers.
Por lo que explicas es un maestro detalle típico. Lo mas fácil es que arrastres el detalle como Master-Detail desde el Datacontrol y el propio framework te montara el detalle.
johnn ortiz
Realmente no he tenido mucho tiempo, desde que entre de vacaciones me han tenido con mucho trabajo, saque un rato y realice el tuto para hacer el Login y Guardar los datos en un Bean de Sesión
http://www.megaupload.com/?d=6QI4ICFG
En cualquier momento hago la segunda parte y pongo como hacer filtrado de la información a mostrar a partir de usuario logeado.
Buen aporte Herman desde aquí simplemente cambiaría el uso del where por ViewCriteria ya que siempre queda mas limpio.
Te parece que suba el doc al blog…asi no se perderá por megaupload
Gracias, estoy de acuerdo, espero hacer la demostración con ViewCriteria en la segunda parte, por lo del link de Megaupload no te preocupes ya que tengo cuenta Premium y el materia es mio por lo que no violo ningún copyright, pero si lo deseas lo puedes subir a tu Blog, este tuto tiene licencia http://creativecommons.org/licenses/by-nc/3.0/deed.es jejejeje
Herman Alonso muchas gracias por el tutorial, de ante mano te agradezco tu colaboración, es de mucha ayuda
Hola
Soy casi nuevo en este tema de jdeveloper, y tengo un problema mayusculo. si alguien puede hecharme una mano por favor.
resulta que tengo una aplicación hecha con jdeveloper 11.1.1.2 usando los BC de adf.
Tengo una página con un maestro-detalle y una página de busqueda (pop-up) que filtra sobre el bloque maestro. Lo que necesito es rescatar el WHERE de la ultima criteria utilizada, o sea el último filtro que se ha hecho en la ventanita de busqueda. he investigado por todos lados y lo mas cercano que llegue fue a lo siguiente:
DCBindingContainer dcb = (DCBindingContainer) evaluateEL(“#{bindings}”);
DCIteratorBinding dciter =dcb.findIteratorBinding(“SglOtrosBienesView1Iterator”);
ViewObject vo = dciter.getViewObject();
ViewCriteriaManager vcmanager = vo.getViewCriteriaManager();
ViewCriteria vc = vcmanager.getViewCriteria(“SglOtrosBienesViewCriteria”);
if (vc.getClauses() != null){
String xxx = vc.getClauses().getClauseForQuery();
System.out.println(xxx);
}
el problema de éste código es que me retortna algo como esto:
( (OTBN_SEQ_01 IS NOT NULL )
AND (UPPER(VESTB_CESTADO_BIEN) = UPPER(:vc_temp_1) )
AND (OTBN_FINGRESO BETWEEN :vc_temp_2 AND :vc_temp_3 ) )
lo cual no esta mal, salvo porque en vez de devolverme el valor con el que se comparo el campo VESTB_CESTADO_BIEN, me devuelve :vc_temp_1, y asi respectivamente para el resto de los campos involucreados en el filtro. ¿Cómo puedo resolver eso?
Saludos.
gracias.
Paulo hoy mismo subire un codigo de ejemplo que quiza te sirva.