Añadir cpprrp011 y cpprrp017; corregir bugs de migracion Informix->SQL Server

- cpprrp011: agregar INTO explicito a SELECT de validacion de referencia
  duplicada, y lineas de diagnostico temporales (pendiente: el campo ref
  sigue llegando NULL al INSERT en cgtb00004, falta investigar mas).
- cpprrp017: agregar bloque MAIN faltante, quitar CALL PANTALLA() redundante,
  cambiar rutas hardcodeadas C:\archivo y %USPRINT% (sin permisos/no
  definida) por FGLSPOOL, y reemplazar a.rowid (pseudo-columna de Informix
  inexistente en SQL Server) por ROW_NUMBER() OVER(...).
- cpfmrp017.per: corregir typo "database marmotech" -> "database smarmotech"
  que rompia la resolucion del esquema.
- mbsERP.4pw: registrar cpprrp011 y cpprrp017 con sus dependencias y
  configuracion de prueba.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Abel López
2026-08-25 11:48:57 -04:00
co-authored by Claude Sonnet 5
parent fa1b51c33e
commit 46d9dd4f5d
4 changed files with 50 additions and 14 deletions
+15 -6
View File
@@ -10,7 +10,7 @@
GLOBALS
"cpprgb000.4gl"
DEFINE mvto RECORD
DEFINE mvto RECORD
fecha_in DATE,
fecha_fi DATE,
cod_sp SMALLINT
@@ -18,6 +18,8 @@ GLOBALS
decide CHAR(1),
entrada CHAR(14),
detalle1 CHAR(30)
DEFINE p_reportfile STRING
DEFINE p_ref_chk CHAR(50)
DEFINE prt_mvto11 RECORD
factura CHAR(10),
@@ -67,14 +69,15 @@ END MAIN
EXIT INPUT
END IF
AFTER FIELD entrada
SELECT UNIQUE a.ref FROM cgtb00004 a
WHERE a.ref = entrada
display "DIAG AFTER FIELD entrada: [",entrada CLIPPED,"]"
SELECT UNIQUE a.ref INTO p_ref_chk FROM cgtb00004 a
WHERE a.ref = entrada
IF STATUS != NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD entrada
END IF
END IF
AFTER FIELD fecha_in
IF mvto.fecha_in IS NULL THEN
LET numero_msg = 16
@@ -109,8 +112,9 @@ END MAIN
NEXT FIELD fecha
END IF
END IF
END IF
END INPUT
display "DIAG DESPUES DE INPUT: [",entrada CLIPPED,"]"
IF int_flag THEN
LET numero_msg = 2
@@ -119,7 +123,11 @@ END MAIN
RETURN
END IF
CALL configureoutput("SVG") RETURNING handler
-- La API de configuracion de reportes (fgl_report_*) no esta
-- disponible en este FGL; se escribe el XML directo a un archivo
-- en FGLSPOOL en lugar de la vista previa SVG.
LET p_reportfile = FGL_GETENV("FGLSPOOL"), "/cpprrp011_cuentasft.xml"
LET handler = om.XmlWriter.createFileWriter(p_reportfile)
START REPORT cuenta_ft TO XML HANDLER handler
DECLARE movto CURSOR FOR
@@ -355,6 +363,7 @@ END MAIN
LET t_debito = t_debito + reg_final.debito
LET t_credito = t_credito + reg_final.credito
IF decide = "S" THEN
display "DIAGNOSTICO decide=[",decide,"] entrada=[",entrada CLIPPED,"]"
INSERT INTO cgtb00004 (fecha, tipo, ref, cuenta_no,departamento, num_doc,
cod_aux, cod_sec, detalles, detalle_1, detalle_2, debito, credito, status_t,
us_crea, fech_crea, us_mod, fech_mod)