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:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user