martes, 5 de noviembre de 2019

[JD Edwards] Asign Icon to Cell Grid

Hi Friends,

When we show data in grid in application, it could be very cross and relevants, but often not very attractive. In JDE we can assign icons to cells to make it visually more attractive and to have a more global idea about the information shown.


How do we do this?

On the one hand, we use Set Grid Cell Icon system function, but attention! this function is only availabe in Business Functions NER type. This function has only 2 parameters:



  •  Image File: image selected to show. We position ourselves in the parameters, click on <Image Picker> and select an icon of the available Bitmaps of the system. ¿Could we add custom images? Of course, but for that we would have to add them previously to the system bitmaps.
  •  Icon Tooltip: as tooltip  we can pass a literal text or assign the description of a data dictionary text (type Error Message).


But, How do I assign it to a column?

The first thing we will have to do is modify in the properties of the same column in Display Style is assign Type Icon.

With this option an event is enabled in the column "Grid Cell Display Changed" where we will call our BSFN to display the icon. Of course, remember that it will only be displayed on the web.

Do I have to do this for each icon I want to display?

The answer is depends on how you put it, there are currently numerous standard functions where they are already implemented. As examples:
  • N43S003 - Load Grid Cell Icon
  • N3201990 - Message Center Icons
  • N0900730 - Set Delete Icon
  • N40G1240 - Set Edit Icon
  • N98220 - Set Grid Icon Web
  • N986110B - Set Grid Icon
  • etc
Must of these functions already have input parameters to show some icons or others depending on the input parameters, or else you can create your own BSFN NER Custom!!!

An example of mine to show attachments with a custom structure at the header level:
JD Ewards Grid Cell Icon
JD Ewards Grid Cell Icon

I hope it will be you useful!

Let's go!






[JD Edwards] Asignar Icono a Columna en Grid

Hola amig@s,

Cuando mostramos en una aplicación los datos en un grid, éstos pueden ser muy transcendentales y relevantes pero a menudo no muy atractivo. En JDE podemos asignar iconos a columnas para hacerlo visualmente más atractivo y poder tener de un vistazo una idea más global acerca de la información mostrada.

¿Cómo hacemos ésto?

Por un lado, utilizamos la función de sistema Set Grid Cell Icon, pero atención! ésta función sólo está disponible en Business Functions tipo NER. Ésta función sólo tiene 2 parámetros:



  •  Image File: imagen seleccionada para mostrar. Nos posicionamos en el parámetros, clickamos sobre <Image Picker> y seleccionamos un icono de los Bitmaps disponibles del sistema. ¿Podemos añadir imágenes personalizadas? Por supuesto, pero para ello tendríamos que añadirlas previamente a los bitmaps del sistema.
  •  Icon Tooltip: como tooltip podremos pasar un texto literal o asignar la descripción de un diccionario de texto (tipo Erro Message).


¿Pero cómo se lo asigno a una columna?

Lo primero que tendremos que hacer es modificar en las propiedades de la misma columna en Display Style asignar tipo Icon.

Con ésta opción se nos habilita un evento en la columna "Grid Cell Display Changed" donde llamaremos a nuestra BSFN para mostrar el icono. Por supuesto, recordar que sólo se mostrará en web.

¿Tengo que hacer ésto para cada icono que quiera mostrar?

La respuesta es depende cómo lo plantees, actualmente existen numerosas funciones estándar donde ya están implementadas. Como ejemplos:


  • N43S003 - Load Grid Cell Icon
  • N3201990 - Message Center Icons
  • N0900730 - Set Delete Icon
  • N40G1240 - Set Edit Icon
  • N98220 - Set Grid Icon Web
  • N986110B - Set Grid Icon
  • etc
La mayoría de éstas funciones ya tienen parámetros de entrada para mostrar unos iconos u otros en función de los parámetros de entrada, y sino puedes montarte tu propia BSFN NER Custom!!!

Un ejemplo mío para mostrar anexos con una estructura custom a nivel de cabecera:
JD Ewards Grid Cell Icon
JD Ewards Grid Cell Icon

Espero les sea de utilidad!

Let's go!






jueves, 4 de enero de 2018

[JD Edwards BI Publisher] External Image

Hi friends, happy new year!!! This year I have proposed to write more posts, for work and projects last year I had't sufficient time to write much posts...

In this post I want to comment how publish a external image as URL in BI Publisher, as example, QR Code, a logo, etc. This problem is very common, and with standard Word image is not possible.

For it, we use XSL-FO with the next syntax:

<fo:block>
<fo:external-graphic src="https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=bidi_test"/>
</fo:block>

Simply with block we'll add URL of extenal image in the source of extenal-graphic tag, and it will be responsible for rendering the image in our template. The source is in XML attribute, assigned in same variable, etc.

We can add other properties as "height", "width", etc. for custom the image.

Thus, we could generate dynamic images!!

I hope you find it useful!

Let's go!

[JD Edwards BI Publisher] Imagen Externa

Hola amigos, feliz año!!! Éste año me he propuesto escribir más posts, ya que por motivos laborales y de proyectos no tuve el suficiente tiempo para postear más...

En éste post quiero comentar cómo publicar en BI Publisher una imagen externa a través de una URL, por ejemplo un código QR, un logo, etc. Ésta problemática es muy común y con las imágenes estándar de word no es posible.

Para ello tenemos podemos usar XSL-FO con la siguiente sintaxis:

<fo:block>
<fo:external-graphic src="https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=bidi_test"/>
</fo:block>

Simplemente con un bloque añadimos en el source de la etiqueta external-graphic la URL de la imagen externa y éste se encargará de renderizar en nuestro template. El source lo tendremos en nuestras propiedades del XML, o podemos asignar alguna variable, etc.
Podemos añadir otras propiedades como "height", "width", etc para personalizar la imagen.

De ésta forma, podremos generar imágenes de manera dinámica!

Espero os sea de utilidad.

Let's go!


viernes, 28 de abril de 2017

[JD Edwards] New LearnJDE!!!

LearnJDE is a official Oracle platform about JD Edwards resources.

Few days ago, the web has been renewed with more resources, UX, skinning and structure.

Probably it's the best platform and the most updated to learn JD Edwards, contains +1000  Documentation, +400 videos and tutorials, white papers, Digital Transformations (Mobile, IoT, UX One, JDE Cloud, etc).

You can see here: http://docs.oracle.com/cd/E84502_01/learnjde/home.html

Let's go!

viernes, 23 de diciembre de 2016

[JD Edwards] Tools 9.2.1 - Forms Personalitation

In new JD Edwards 9.2.1 tools, a new feature is Personal Forms. This feature allow customize forms to end user, as they could customize grid. It allow show or hide fields, move fields, resize fields,... on runtime. In the next video you can watch posibilites:


It's very powerfull tool, this will allow to developers and users be more productive.

Enable feature in system:

To enable this feature you have to activate it in UDO's, you can see this official document.

Go to Security Workbench P00950 -> Form -> Feature Security, find "PERSFORM" and enable access:

Later you go to UDO's page and enable for users:
In P00950 -> Form -> User Defined Object -> Action. Click in Add: Fill fields

You need clear the jdbj security cache in Server Manager and reset session to see this feature enabled.


Works with Personal Forms:

In any form, you can see Personal Form icon on top right:



Click and you can start to personalize your form:



If you click on less icon, the field hided and it'll appear in right panel for if you want show later. you can move fields, resize, change labels, etc.

For more information you can access this official document.

miércoles, 12 de octubre de 2016

[Javascript] Función filter

Hola amigos,

Después de probar el  ejemplo de filtro Javascript de nuestros amigos DevCode he decidio optimizarlo con la función filter javascript para arreglos o arrays.

La sintaxis es:

array.filter(function(element){return condicion_cumplir_elemento});

Ejemplo:

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Buscador Javascript</title>
<meta charset="utf-8"/>
<script type="text/javascript" src="source.js"></script>
</head>
<body>
<input type="text" id="buscar-pal" onkeyup="autocompletado2()" style="border: solid 2px" />
<div>
<ul id="demo"></ul>
</div>

</body>
</html>

source.js
function autocompletado2(){
document.getElementById("demo").innerHTML='';

var preguntas = [
"BASIC",
"C",
"C++",
"Java",
"Javascript",
"PHP",
"Python",
"Ruby"
];

var pal = document.getElementById("buscar-pal").value;
var tam = pal.length;
if(tam>0){
var filtrados = preguntas.filter(function(nombre){
var nombrelower = nombre.toLowerCase();
return nombrelower.indexOf(pal.toLowerCase()) != -1;
}
);
for(indice in filtrados){
var node = document.createElement("li");
var textnode = document.createTextNode(filtrados[indice]);
node.appendChild(textnode);
document.getElementById("demo").appendChild(node);
}
}
}

El resultado: