alprmt006 (Reporte de Entrada): conexion explicita, SCHEMA, contador por bodega, CURRENT/USER de SQL Server e INSERT con columnas

- DATABASE -> SCHEMA y CONNECT TO smarmotech con usuario/clave (args 1 y 2).
- iptb00007 (contador) es por movimiento y bodega: consulta, update e insert lo usan.
- Verificacion de documento duplicado en iptb00006 considera la bodega.
- user,current (Informix) -> SUSER_SNAME(),getdate().
- INSERT INTO iptb00006 con lista explicita de columnas (la tabla ya tiene 50).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 12:35:51 -04:00
co-authored by Claude Sonnet 5.5
parent 91a1a4ef96
commit 16bff226c5
+23 -6
View File
@@ -13,7 +13,7 @@
Orden de Compra
-------------------------------------------------------------------------
}
DATABASE marmotech
SCHEMA smarmotech
GLOBALS
DEFINE etiqueta CHAR(20)
DEFINE descrip_espa CHAR(35)
@@ -61,8 +61,14 @@ END GLOBALS
MAIN
DEFINE fecha CHAR(8)
DEFINE usuarios, clave STRING
DEFER INTERRUPT
# Migracion Genero 6: conexion explicita con usuario y clave (args 1 y 2)
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CONNECT TO "smarmotech" USER usuarios USING clave
CLEAR SCREEN
OPTIONS
ERROR LINE 24,
@@ -500,14 +506,17 @@ INPUT ARRAY movi WITHOUT DEFAULTS FROM s_movi1.*
IF primera = "S" THEN
LET primera = "N"
# Migracion G6: el contador iptb00007 es por movimiento y bodega
SELECT UNIQUE a.num_doc INTO ip_ultimo FROM iptb00007 a
WHERE a.cod_mov = movi[p_act].cod_mov
AND a.bodega = datos_gen.bodega
LET ip_ultimo = ip_ultimo + 1
LET datos_gen.num_doc = ip_ultimo
LET documento[p_act] = ip_ultimo
SELECT UNIQUE num_doc FROM iptb00006
WHERE num_doc=datos_gen.num_doc and cod_mov=movi[p_act].cod_mov
AND bodega = datos_gen.bodega
IF STATUS != NOTFOUND THEN
LET numero_msg = 128
@@ -612,24 +621,32 @@ INPUT ARRAY movi WITHOUT DEFAULTS FROM s_movi1.*
IF movi[idx].cantidad_2 IS NOT NULL AND movi[idx].cantidad_2 <> 0 THEN
# Actualizacion de las tablas de Productos terminados
IF datos_gen.tipo = "02" THEN
# Migracion G6: lista explicita de columnas (la tabla tiene columnas nuevas)
INSERT INTO iptb00006
(cod_cia,num_doc,fecha,fact_no,conduce_no,tipo,orden_compra,
cod_sp,cod_sp_sec,cod_transp,sec_transp,placa,cod_tarifa,
cod_mov,detalle,cod_n,cod_grupo,cod_tipo,cod_sec,cantidad_1,
cantidad_2,cond_recep,uso_tiempo,bodega,status_t,us_crea,
fech_crea,us_mod,fech_mod)
VALUES ("1",datos_gen.num_doc,datos_gen.fecha,datos_gen.fact_no,
datos_gen.conduce_no,datos_gen.tipo,datos_gen.orden_compra,
datos_gen.cod_sp, datos_gen.cod_sp_sec,null,null,null,null,
movi[idx].cod_mov,null,movi[idx].cod_n,movi[idx].cod_grupo,
movi[idx].cod_tipo,movi[idx].cod_sec,movi[idx].cantidad_1,
movi[idx].cantidad_2,null,null,datos_gen.bodega,
null,user,current,null,null)
null,SUSER_SNAME(),getdate(),null,null)
SELECT a.num_doc FROM iptb00007 a
WHERE a.cod_mov = movi[idx].cod_mov
AND a.bodega = datos_gen.bodega
IF status != notfound THEN
UPDATE iptb00007 set num_doc = datos_gen.num_doc
WHERE cod_mov = movi[idx].cod_mov
AND bodega = datos_gen.bodega
ELSE
INSERT INTO iptb00007 VALUES
(datos_gen.num_doc,movi[idx].cod_mov,null,user,current,
null,null)
(datos_gen.num_doc,movi[idx].cod_mov,null,SUSER_SNAME(),getdate(),
null,null,datos_gen.bodega)
END IF
END IF
IF datos_gen.tipo = "01" THEN
@@ -642,7 +659,7 @@ INPUT ARRAY movi WITHOUT DEFAULTS FROM s_movi1.*
movi[idx].cantidad_1,
movi[idx].cantidad_2,null,null,null,null,null,
datos_gen.bodega,
null,user,current,null,null)
null,SUSER_SNAME(),getdate(),null,null)
SELECT a.num_doc FROM intb00023 a
WHERE a.cod_mov = movi[idx].cod_mov
IF status != notfound THEN
@@ -650,7 +667,7 @@ INPUT ARRAY movi WITHOUT DEFAULTS FROM s_movi1.*
WHERE cod_mov = movi[idx].cod_mov
ELSE
INSERT INTO intb00023 VALUES
(datos_gen.num_doc,movi[idx].cod_mov,null,user,current,
(datos_gen.num_doc,movi[idx].cod_mov,null,SUSER_SNAME(),getdate(),
null,null)
END IF