ccprmt002: no crear un segundo contador PG por vendedor (rompia ccprmt001)

ccprmt001/003/005 leen cctb00003 por tipo_doc esperando una sola fila. En SQL
Server un SELECT INTO que devuelve varias filas da -284 (en Informix tomaba la
primera). Al dar de alta un rango, ccprmt002 insertaba una fila PG por vendedor
y, con ella, nadie podia registrar recibos. Ahora solo crea la fila si no existe
ninguna PG.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-07 17:10:29 -04:00
co-authored by Claude Sonnet 5.5
parent 1e64839bf2
commit 83fffcd31f
+6 -3
View File
@@ -51,6 +51,7 @@ END FUNCTION
FUNCTION ccpcad002() FUNCTION ccpcad002()
DEFINE hoy CHAR(10) DEFINE hoy CHAR(10)
DEFINE n_pg INTEGER
## Captura los datos que va a contener el registro ## Captura los datos que va a contener el registro
# WHENEVER ERROR CONTINUE # WHENEVER ERROR CONTINUE
@@ -201,9 +202,11 @@ DEFINE hoy CHAR(10)
CALL msg(numero_msg) CALL msg(numero_msg)
NEXT FIELD sec_a NEXT FIELD sec_a
END IF END IF
SELECT *FROM cctb00003 WHERE sec_vend = relacion.sec_vend AND -- G6: el contador de recibos PG es uno solo (ccprmt001/003/005 lo leen por tipo_doc);
tipo_doc = "PG" -- crear otra fila por vendedor hace que esos programas fallen con -284
IF status = notfound THEN LET n_pg = 0
SELECT COUNT(*) INTO n_pg FROM cctb00003 WHERE tipo_doc = "PG"
IF n_pg = 0 THEN
INSERT INTO cctb00003 (cod_vend,sec_vend,ult_recibo,us_crea, INSERT INTO cctb00003 (cod_vend,sec_vend,ult_recibo,us_crea,
fech_crea,tipo_doc) fech_crea,tipo_doc)
VALUES (null,relacion.sec_vend,relacion.sec_de, VALUES (null,relacion.sec_vend,relacion.sec_de,