JD Edwards dev
Crear tu primera Business Function en NER
Tutorial práctico para crear una Named Event Rule (NER) en JD Edwards: desde la definición del data structure hasta el debug.
17 de junio de 2026 · 2 min de lectura
¿Qué es una NER?
Una Named Event Rule (NER) es una business function escrita en el lenguaje visual de Event Rules de JD Edwards, en lugar de C. Son más fáciles de mantener, no requieren compilación de C, y se despliegan con un update package de specs.
Cuándo usar NER vs C BSFN
| Criterio | NER | C BSFN |
|---|---|---|
| Performance | Buena para lógica simple | Mejor para operaciones intensivas |
| Mantenimiento | Más fácil (visual) | Requiere conocimiento de C |
| Deploy | Specs only | Requiere compilación + package |
| Debug | FDA debugger | C debugger (Visual Studio) |
Regla general: si la función no necesita manipular strings a bajo nivel ni hacer operaciones masivas, usa NER.
Paso 1: Crear el Data Structure
Abre Object Management Workbench (OMW) y crea un nuevo objeto:
- Object Type: DSTR (Data Structure)
- Object Name:
D5700001(usa tu rango de objetos asignado) - Description: “DS - Mi primera NER”
Añade los miembros:
Member Name Data Type Size I/O
cActionCode char 1 Input
mnAddressNumber MATH_NUMERIC - Input
szErrorMessageID char 10 Output
Paso 2: Crear la Business Function
En OMW, crea otro objeto:
- Object Type: BSFN
- Object Name:
B5700001 - Source Language: NER (esto es clave — no selecciones C)
- Data Structure:
D5700001
Paso 3: Escribir la lógica
Abre el editor de Event Rules y escribe la lógica:
// Pseudocódigo de la NER
If cActionCode is Equal to "A"
// Validar que el Address Number existe
F0101 Get Address Book Master
VA evt_mnAddressNumber -> mnAddressNumber
If SV File_IO_Status is Not Equal to CO SUCCESS
szErrorMessageID = "001M" // "Registro no encontrado"
End If
End If
Paso 4: Debug
- En FDA (Form Design Aid), abre la aplicación que llama a tu NER
- Activa el debugger: Debug → Event Rules Debugger
- Pon un breakpoint en la primera línea de tu NER
- Ejecuta la aplicación y la ejecución se detendrá en tu breakpoint
Tips
- Siempre valida los parámetros de entrada antes de hacer fetch a tablas
- Usa Error Handling en los System Functions para evitar dumps
- Documenta el Data Structure con descripciones claras — tu yo del futuro te lo agradecerá
dev ner bsfn event-rules