Você está na página 1de 43

CURSOS TÉCNICO

NIVEL AVANZADO

Creador: Melina Raimundo


Nociones Basicas

Que es un Debug?

Un Debug es un procedimiento mediante el cual podemos realizar una


ejecución controlada de un Reporte o una Aplicación para poder
encontrar errores que no es posible detectar a simple vista.

Para poder utilizar el debug abriremos la herramienta y


configurarla acorde al objeto que vayamos a utilizar, luego
ejecutaremos el mismo. Sin embargo para el caso de los reportes
tendremos que hacerlo de manera Local.
Reportes en Modo Local
De que esta Compuesto?

Deshabilitar

Borrar

Actualizar
De que esta Compuesto?

Reglas de
Secciones o Evento
Formularios

Variables

Valores

Objetos
En Funcionamiento

Break Point

Forzar Variable
Consejos Útiles

No detener el Debug de una aplicación porque JDEdwards deja de funcionar

Se puede utilizar el debug en los reportes para detener el procesamiento

Siempre que se modifica el reporte hay que actualizar las Event Rules

Algunas variables aunque sean forzadas no toman el nuevo valor

Los BreakPoints no siempre se mantiene cuando se actualizan las event


Rules o cuando se cierra y abre el Debugger
Log

Que es un Log?

El Log es un Detalle del Procesamiento que se esta realizando

En el caso de un reporte se puede crear en el servidor configurarlo


previamente antes de ejecutarlo. Luego se podrá ver a través del WSJ

Para crearlo localmente utilizaremos la herramienta Log


Workbench o sino a través del JDE.INI
Log de un Reporte en el Servidor
Log Workbench - De que esta
Compuesto?

jdedebug.log BsFn
jde.log Tree

Borrar Archivo Running OneWorld


Processes

Seguir Archivo
Que es el JDE.LOG ?

Es un Log que siempre esta activo, donde se emiten los errores más graves en
todo el JDEdwards

Clave Duplicada
Que es el JDEDEBUG.LOG ?

Este tipo de Log debe activarse a través del JDE.INI o desde la misma
herramienta, una vez activado registra toda la actividad del sistema,
pueden analizar consultas, valores, etc.
Activación por Log Workbench

Running
Processes

Activación
Activación por JDE.INI

Modificar el
output a: FILE
Detalle de Acciones en Tablas

Select sobre una Tabla

Update sobre una Tabla


Detalle de Procesamiento de Business
Function

Parámetros
de Entrada

Parámetros
de Salida
Resultado
0: Sin errores
1: Warning
2: Error
El Arbol de Funciones
Consejos Útiles

Se puede combinar el Debugger y el Log para obtener lo que se desea

Cuando esta el log activado hay que tratar de crear la menor cantidad de
líneas posibles

El JDE.LOG no muestra los valores de las variables, solo las referencias

El JDEDEBUG.log no muestra absolutamente todo la lógica interna


Work Submited Jobs

El Work Submited Jobs (WSJ) es una aplicación que nos permite ver los
reportes generados en el servidor
Work Submited Jobs

S: In Queue Reporte y Fecha y Hora


W: Waiting Versión
Obtener los Obtener el P: Processing
Logs del PDF o el CSV D: Done
Reporte Resultante E: Error
H: Hold
Work Center

El Work Center (WC) es una aplicación que nos permite ver el resultado de
los reportes, en caso de una falla veremos un detalle de errores
Work Center – Reporte sin Errores
Work Center – Reporte con Errores
Cross Reference Facility

Puede utilizarse el Cross Reference Facility para tener una trazabilidad del uso de
objetos (dónde se utilizan y cómo).
También pueden verse relaciones entre objetos y componentes.

Permiten obtener información sobre:


• Data Items.
• Aplicaciones interactivas.
• Aplicaciones batch.
• Business Functions.
• Business Views.
• Estructuras de datos.
• Tablas.
• Formularios.
• Event Rules.
Cross Reference Facility

• Relaciones entre campos (permite los siguientes tipos):

– DA: Data Items en aplicaciones.


– FA: formularios de una aplicación.
– FI: formularios usando un Data Item.
– SA: Estructura de datos para una aplicación
Business Functions

Las business functions pueden utilizarse para mejorar las aplicaciones de OneWorld.
Agrupan lógica de negocios relacionada a una tarea específica.
Pueden crearse business functions mediante:
• Lenguaje de scripting de event rules.
• Lenguaje de programación C.

Prestaciones:
• Integridad de datos: ayudan a mantener la integridad referencial de la base de
datos.
• Manipulación de datos: operaciones de manipulación standard de base de datos.
Se utilizan APIs de JDEBASE con SQL embebido.
• Procesamiento de eventos.
• Flexibilidad en tiempo de ejecución: las business functions pueden ser mapeadas
para correr en diferentes plataformas.
• Soluciones avanzadas.
Business Functions

Componentes de una Business Function:

• Especificaciones de la Business Function.


• Especificaciones de la estructura de datos.
• Archivo de código (.c).
• Archivo de cabecera (.h).
Business Functions

Cómo trabajan las business functions


• Cuando se llama a una business function, el sistema referencia al Object
Configuration Manager (OCM) para determinar dónde debe ejecutarse la función.
Business Functions

APIs

• Las APIs (Application Programming Interfaces) son rutinas que realizan una
tarea definida. Las APIs de J.D. Edwards facilitan la interacción con
OneWorld en la manipulación de tipos de datos, acceso a la base de datos
(ya que OneWorld soporta múltiples bases), funcionalidades, etc.

• Para el acceso a múltiples bases de datos relacionales, se utiliza el J.D.


Edwards Open Database Connectivity (ODBC). Esto permite utilizar un
único set de funciones para interactuar con diferentes tipos de bases de
datos.
Business Functions

• Algunas de las categorías de APIs más usadas en OneWorld son


MATH_NUMERIC, JDEDATE y LINKLIST.

• A su vez, OneWorld provee principalmente dos tipos de datos para la


creación de business functions: MATH_NUMERIC y JDEDATE.
Business Functions

Tipo de datos MATH_NUMERIC


Se utiliza para la representación de todo valor numérico en OneWorld. Se define de la
siguiente manera:

struct tagMATH_NUMERIC
{
char String [MAXLEN_MATH_NUMERIC + 1];
char Sign;
char EditCode;
short nDecimalPosition;
short nLength;
WORD wFlags;
char szCurrency [4];
short nCurrencyDecimals;
short nPrecision;
};
typedef struct tagMATH_NUMERIC MATH_NUMERIC, FAR *LPMATH_NUMERIC;
Business Functions

Tipo de datos JDEDATE


Se utiliza para representar todas las fechas en OneWorld. Se define de la
siguiente manera:

struct tagJDEDATE
{
short nYear;
short nMonth;
short nDay;
};
typedef struct tagJDEDATE JDEDATE, FAR *LPJDEDATE;
Debug de Business Functions

• 1- Compilar BSFN en modo Debug


Debug de Business Functions

• 2- Salir de JDE
Debug de Business Functions

• 3- Abrir el ActivConsole
Ingresar a C:\e811\system\bin32\ActivConsole.sln
Debug de Business Functions

• 4- Abrir BSFN desde el ActivConsole.sln


Se debe abrir desde el menu File \ Open \ File y buscar en el path
C:\e811\DV811\source
Debug de Business Functions

• 5- Poner Break Point en BSFN (F9)


Debug de Business Functions

• 6- Ejecutar BSFN (F5)


Debug de Business Functions

• Ver variables automaticamente


Debug de Business Functions

• Ver variables que necesito

Você também pode gostar