Merge branch 'main' of https://git.fulldetord.com/jsoto/mbs
This commit is contained in:
@@ -6,3 +6,10 @@ dbi.database.mydatabase.source = "mydatabase.db"
|
|||||||
# OJO: el runtime debe tener el driver dbmsnc (esta en fgl602, NO en el 6.00.01 de GST603).
|
# OJO: el runtime debe tener el driver dbmsnc (esta en fgl602, NO en el 6.00.01 de GST603).
|
||||||
dbi.database.smarmotech.source = "marmotech250s"
|
dbi.database.smarmotech.source = "marmotech250s"
|
||||||
dbi.database.smarmotech.driver = "dbmsnc"
|
dbi.database.smarmotech.driver = "dbmsnc"
|
||||||
|
|
||||||
|
# --- MBS ERP: conexion marmotech -> .250/EXTERIOR (DSN ODBC18 marmotech) ---
|
||||||
|
# Segunda conexion legada de la epoca Informix (alias IFMX/SQL_E en varios
|
||||||
|
# programas viejos), usada para validar movimientos contra Cuentas por
|
||||||
|
# Cobrar en la base EXTERIOR. Autorizado por Johnny Soto, 11/09/2026.
|
||||||
|
dbi.database.marmotech.source = "exteriordb"
|
||||||
|
dbi.database.marmotech.driver = "dbmsnc"
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
WANDY TIENE 2 SALIDAS 1 CARRERAS
|
|
||||||
JOSE HERNANDEZ 13 ENTRADA DE 14 PONCHES
|
|
||||||
STRABURG 2-0 FRENTE A SFO
|
|
||||||
CAIN HA GANADO LOS
|
|
||||||
|
|
||||||
LE VA MA FRENTE ATLANTA.
|
|
||||||
LE VA BIEN A MINESOTA.
|
|
||||||
PHIL HUGES 13 CARRERAS
|
|
||||||
KLUBER
|
|
||||||
|
|
||||||
TAMPA 8-1 CON
|
|
||||||
|
|
||||||
STL
|
|
||||||
ATL 77
|
|
||||||
PIRATAS 77
|
|
||||||
CINCINATA 77
|
|
||||||
LAA
|
|
||||||
PHILS
|
|
||||||
KC
|
|
||||||
LAD
|
|
||||||
DET
|
|
||||||
SFO
|
|
||||||
COLORADO
|
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
database smarmotech
|
database smarmotech
|
||||||
screen size 24 by 80
|
screen size 24 by 80 title "Consulta Maestra de Productos"
|
||||||
{
|
{
|
||||||
|
|
||||||
Producto Terminado [a ]-[b ]-[c ]-[d ] [a1 ]
|
Producto Terminado [a ]-[b ]-[c ]-[d ] [a1 ]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
database marmotech
|
database smarmotech
|
||||||
screen size 24 by 80
|
screen size 24 by 80
|
||||||
{
|
{
|
||||||
Codigo del movimiento [f0] Material[f002 ]
|
Codigo del movimiento [f0] Material[f002 ]
|
||||||
|
|||||||
@@ -14,15 +14,15 @@ LAYOUT (TEXT="TIPOS PRODUCTOS")
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
tables
|
tables
|
||||||
iptb00020,iptb00024
|
iptb00024
|
||||||
attributes
|
attributes
|
||||||
f006 = iptb00024.cod_tipo;
|
f006 = iptb00024.cod_tipo;
|
||||||
f007 = iptb00024.descripcion,upshift;
|
f007 = iptb00024.descripcion,upshift;
|
||||||
b = iptb00020.status_t,noentry;
|
b = iptb00024.status_t,noentry;
|
||||||
f002 = iptb00020.us_crea,noentry;
|
f002 = iptb00024.us_crea,noentry;
|
||||||
f003 = iptb00020.fech_crea,noentry;
|
f003 = iptb00024.fech_crea,noentry;
|
||||||
f004 = iptb00020.us_mod,noentry;
|
f004 = iptb00024.us_mod,noentry;
|
||||||
f005 = iptb00020.fech_mod,NOENTRY;
|
f005 = iptb00024.fech_mod,NOENTRY;
|
||||||
COMBOBOX inv = formonly.cod_inv,ITEMS=(("3","PRODUCTOS TERMINADOS"),("1","MATERIA PRIMA"),("7","REPUESTOS")),DEFAULT=3;
|
COMBOBOX inv = formonly.cod_inv,ITEMS=(("3","PRODUCTOS TERMINADOS"),("1","MATERIA PRIMA"),("7","REPUESTOS")),DEFAULT=3;
|
||||||
instructions
|
instructions
|
||||||
delimiters
|
delimiters
|
||||||
|
|||||||
@@ -36,6 +36,10 @@
|
|||||||
</ActionDefaultList>
|
</ActionDefaultList>
|
||||||
<ToolBar name="ToolBar1">
|
<ToolBar name="ToolBar1">
|
||||||
<ToolBarItem comment="ADMINISTRACION PRECIOS" image="money" name="nuevo" text="Precio"/>
|
<ToolBarItem comment="ADMINISTRACION PRECIOS" image="money" name="nuevo" text="Precio"/>
|
||||||
|
<ToolBarItem image="find" name="buscalista" text="Busca Informacion"/>
|
||||||
|
<ToolBarItem image="clear" name="limpia" text="Limpia Screen"/>
|
||||||
|
<ToolBarItem image="dollar" name="conversion" text="Conversion Moneda"/>
|
||||||
|
<ToolBarItem image="stop" name="cancel" text="Cancela operacion"/>
|
||||||
<ToolBarSeparator name="ToolBarSeparator1"/>
|
<ToolBarSeparator name="ToolBarSeparator1"/>
|
||||||
<ToolBarItem image="quit" name="salir" text="Salir"/>
|
<ToolBarItem image="quit" name="salir" text="Salir"/>
|
||||||
</ToolBar>
|
</ToolBar>
|
||||||
@@ -45,7 +49,7 @@
|
|||||||
<ProgressBar aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="progreso" color="green" fieldId="20" gridHeight="1" gridWidth="24" name="progreso" posX="5" posY="1" sqlTabName="formonly" table_alias_name="" valueMax="100" valueMin="0" widget="ProgressBar"/>
|
<ProgressBar aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="progreso" color="green" fieldId="20" gridHeight="1" gridWidth="24" name="progreso" posX="5" posY="1" sqlTabName="formonly" table_alias_name="" valueMax="100" valueMin="0" widget="ProgressBar"/>
|
||||||
<Table gridHeight="7" gridWidth="220" name="Table1" posX="1" posY="2" totalRows="6" unitWidth="characters" width="207">
|
<Table gridHeight="7" gridWidth="220" name="Table1" posX="1" posY="2" totalRows="6" unitWidth="characters" width="207">
|
||||||
<CheckBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="elimina" defaultValue="N" fieldId="1" gridHeight="1" gridWidth="1" name="elimina" notNull="true" posX="0" posY="0" required="false" sqlTabName="formonly" sqlType="CHAR" tabIndex="-1" table_alias_name="" title="Elimina" valueChecked="S" valueUnchecked="N" widget="CheckBox"/>
|
<CheckBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="elimina" defaultValue="N" fieldId="1" gridHeight="1" gridWidth="1" name="elimina" notNull="true" posX="0" posY="0" required="false" sqlTabName="formonly" sqlType="CHAR" tabIndex="-1" table_alias_name="" title="Elimina" valueChecked="S" valueUnchecked="N" widget="CheckBox"/>
|
||||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="idrow" fieldId="2" gridHeight="1" gridWidth="12" length="12" name="idrow" noEntry="true" posX="1" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="idrow" fieldId="2" gridHeight="1" gridWidth="12" hidden="true" length="12" name="idrow" noEntry="true" posX="1" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
||||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codlista" defaultValue="1" fieldId="3" gridHeight="1" gridWidth="4" items="GENERAL, OUTLET PUNTA CANA, OFERTA, SD OUTLET, TIENDA SAN CRISTOBAL" name="codlista" posX="13" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Codigo Lista" widget="ComboBox">
|
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codlista" defaultValue="1" fieldId="3" gridHeight="1" gridWidth="4" items="GENERAL, OUTLET PUNTA CANA, OFERTA, SD OUTLET, TIENDA SAN CRISTOBAL" name="codlista" posX="13" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Codigo Lista" widget="ComboBox">
|
||||||
<Item name="1" text="GENERAL"/>
|
<Item name="1" text="GENERAL"/>
|
||||||
<Item lstrtext="false" name="4" text="OUTLET PUNTA CANA"/>
|
<Item lstrtext="false" name="4" text="OUTLET PUNTA CANA"/>
|
||||||
@@ -58,12 +62,12 @@
|
|||||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codtipo" fieldId="6" gridHeight="1" gridWidth="4" name="codtipo" posX="24" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Tipo" widget="Edit"/>
|
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codtipo" fieldId="6" gridHeight="1" gridWidth="4" name="codtipo" posX="24" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Tipo" widget="Edit"/>
|
||||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codsec" fieldId="7" gridHeight="1" gridWidth="5" name="codsec" posX="28" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Medida" widget="Edit"/>
|
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codsec" fieldId="7" gridHeight="1" gridWidth="5" name="codsec" posX="28" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Medida" widget="Edit"/>
|
||||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descripcion_p" fieldId="8" gridHeight="1" gridWidth="33" name="descripcion_p" posX="33" posY="0" sqlTabName="formonly" table_alias_name="" title="Producto" widget="FFLabel"/>
|
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descripcion_p" fieldId="8" gridHeight="1" gridWidth="33" name="descripcion_p" posX="33" posY="0" sqlTabName="formonly" table_alias_name="" title="Producto" widget="FFLabel"/>
|
||||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="unidadmed" fieldId="9" gridHeight="1" gridWidth="4" name="unidadmed" posX="66" posY="0" sqlTabName="formonly" table_alias_name="" widget="FFLabel"/>
|
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="unidadmed" fieldId="9" gridHeight="1" gridWidth="4" name="unidadmed" posX="66" posY="0" sqlTabName="formonly" table_alias_name="" title="Unidad" widget="FFLabel"/>
|
||||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tipocliente" fieldId="10" gridHeight="1" gridWidth="2" name="tipocliente" posX="70" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Tipo Cliente" widget="Edit"/>
|
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tipocliente" fieldId="10" gridHeight="1" gridWidth="2" name="tipocliente" posX="70" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Tipo Cliente" widget="Edit"/>
|
||||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="seccliente" fieldId="11" gridHeight="1" gridWidth="6" name="seccliente" posX="72" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Codigo Cliente" widget="Edit"/>
|
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="seccliente" fieldId="11" gridHeight="1" gridWidth="6" name="seccliente" posX="72" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Codigo Cliente" widget="Edit"/>
|
||||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nombrecliente" fieldId="12" gridHeight="1" gridWidth="31" name="nombrecliente" posX="78" posY="0" sqlTabName="formonly" table_alias_name="" title="Nombre" widget="FFLabel"/>
|
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nombrecliente" fieldId="12" gridHeight="1" gridWidth="31" name="nombrecliente" posX="78" posY="0" sqlTabName="formonly" table_alias_name="" title="Nombre" widget="FFLabel"/>
|
||||||
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="ventas" fieldId="13" gridHeight="1" gridWidth="15" items="" name="ventas" posX="109" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Ventas" widget="ComboBox"/>
|
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="ventas" fieldId="13" gridHeight="1" gridWidth="15" items="" name="ventas" posX="109" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="Ventas" widget="ComboBox"/>
|
||||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="moneda" fieldId="14" gridHeight="1" gridWidth="4" name="moneda" posX="124" posY="0" sqlTabName="formonly" table_alias_name="" widget="FFLabel"/>
|
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="moneda" fieldId="14" gridHeight="1" gridWidth="4" name="moneda" posX="124" posY="0" sqlTabName="formonly" table_alias_name="" title="Moneda" widget="FFLabel"/>
|
||||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="pprecio" fieldId="15" gridHeight="1" gridWidth="11" name="pprecio" posX="128" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="PRECIO" widget="Edit"/>
|
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="pprecio" fieldId="15" gridHeight="1" gridWidth="11" name="pprecio" posX="128" posY="0" sqlTabName="formonly" tabIndex="-1" table_alias_name="" title="PRECIO" widget="Edit"/>
|
||||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="costo_std" fieldId="16" gridHeight="1" gridWidth="13" name="costo_std" posX="139" posY="0" sqlTabName="formonly" table_alias_name="" title="Costo STD" widget="FFLabel"/>
|
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="costo_std" fieldId="16" gridHeight="1" gridWidth="13" name="costo_std" posX="139" posY="0" sqlTabName="formonly" table_alias_name="" title="Costo STD" widget="FFLabel"/>
|
||||||
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="costo_lq" fieldId="17" gridHeight="1" gridWidth="15" name="costo_lq" posX="152" posY="0" sqlTabName="formonly" table_alias_name="" title="Costo Liquidado" widget="FFLabel"/>
|
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="costo_lq" fieldId="17" gridHeight="1" gridWidth="15" name="costo_lq" posX="152" posY="0" sqlTabName="formonly" table_alias_name="" title="Costo Liquidado" widget="FFLabel"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
DATABASE marmotech
|
DATABASE smarmotech
|
||||||
SCREEN SIZE 24 by 80
|
SCREEN SIZE 24 by 80
|
||||||
{
|
{
|
||||||
Busqueda de Productos Terminados
|
Busqueda de Productos Terminados
|
||||||
|
|||||||
@@ -9,8 +9,12 @@ DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
|
|||||||
}
|
}
|
||||||
GLOBALS "ipprgb000.4gl"
|
GLOBALS "ipprgb000.4gl"
|
||||||
|
|
||||||
MAIN
|
MAIN
|
||||||
DEFER INTERRUPT
|
DEFER INTERRUPT
|
||||||
|
CALL ARG_VAL(1) RETURNING usuarios
|
||||||
|
CALL ARG_VAL(2) RETURNING clave
|
||||||
|
|
||||||
|
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||||
SELECT * INTO p_companias.* FROM companias
|
SELECT * INTO p_companias.* FROM companias
|
||||||
CALL ipprcs002()
|
CALL ipprcs002()
|
||||||
END MAIN
|
END MAIN
|
||||||
@@ -55,6 +59,7 @@ LET SELEC =
|
|||||||
## Busca los registros con la condicion dada y verifica si el producto terminado
|
## Busca los registros con la condicion dada y verifica si el producto terminado
|
||||||
## existe en el catalogo de bienes y servicios.
|
## existe en el catalogo de bienes y servicios.
|
||||||
|
|
||||||
|
CALL prod.clear()
|
||||||
LET idx = 1
|
LET idx = 1
|
||||||
FOREACH accion INTO prod[idx].*,descrip1
|
FOREACH accion INTO prod[idx].*,descrip1
|
||||||
IF int_flag THEN
|
IF int_flag THEN
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ END RECORD
|
|||||||
DEFINE balance DECIMAL(12,5)
|
DEFINE balance DECIMAL(12,5)
|
||||||
DEFINE cod_mov_ant LIKE iptb00006.cod_mov
|
DEFINE cod_mov_ant LIKE iptb00006.cod_mov
|
||||||
DEFINE existe_comp,suplidor1,doc_existe,actual,mat_prima CHAR (1000)
|
DEFINE existe_comp,suplidor1,doc_existe,actual,mat_prima CHAR (1000)
|
||||||
DEFINE opt1,opt4,opt,existe,ya ,opera1,cambio CHAR(3)
|
DEFINE opt1,opt4,opt,ya ,opera1,cambio CHAR(3)
|
||||||
DEFINE medida CHAR (3)
|
DEFINE medida CHAR (3)
|
||||||
DEFINE fila smallint
|
DEFINE fila smallint
|
||||||
DEFINE m_articulos RECORD LIKE iptb00002.*
|
DEFINE m_articulos RECORD LIKE iptb00002.*
|
||||||
@@ -328,7 +328,7 @@ DEFINE prod11 DYNAMIC ARRAY OF RECORD
|
|||||||
fecha_ordenada DATE
|
fecha_ordenada DATE
|
||||||
END RECORD
|
END RECORD
|
||||||
|
|
||||||
DEFINE prod ARRAY[200] OF RECORD
|
DEFINE prod DYNAMIC ARRAY OF RECORD
|
||||||
cod_n1 SMALLINT,
|
cod_n1 SMALLINT,
|
||||||
cod_grupo1 SMALLINT,
|
cod_grupo1 SMALLINT,
|
||||||
cod_tipo1 SMALLINT,
|
cod_tipo1 SMALLINT,
|
||||||
|
|||||||
@@ -16,8 +16,10 @@ MAIN
|
|||||||
CALL ARG_VAL(2) RETURNING clave
|
CALL ARG_VAL(2) RETURNING clave
|
||||||
|
|
||||||
CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave
|
CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave
|
||||||
CONNECT TO "marmotech" AS "IFMX" USER usuarios USING clave
|
-- Migracion Genero 6.0: se elimina la conexion IFMX (EXTERIOR).
|
||||||
|
-- La replicacion de iptb00020 a exterior.dbo.iptb00020 ahora la hace
|
||||||
|
-- un trigger en marmotech.dbo.iptb00020 (ver ipprmt005_trg_exterior.sql).
|
||||||
|
|
||||||
CALL ipprmt005()
|
CALL ipprmt005()
|
||||||
END MAIN
|
END MAIN
|
||||||
|
|
||||||
@@ -81,11 +83,8 @@ FUNCTION ippcad012()
|
|||||||
VALUES (p_iptb20.cod_n,p_iptb20.producto,usuarios,getdate(),p_iptb20.comentario,p_iptb20.genera_orden,p_iptb20.instalacion)
|
VALUES (p_iptb20.cod_n,p_iptb20.producto,usuarios,getdate(),p_iptb20.comentario,p_iptb20.genera_orden,p_iptb20.instalacion)
|
||||||
|
|
||||||
INSERT INTO iptb00035 (cod_n,cod_cat) VALUES (p_iptb20.cod_n,p_iptb20.cod_cat)
|
INSERT INTO iptb00035 (cod_n,cod_cat) VALUES (p_iptb20.cod_n,p_iptb20.cod_cat)
|
||||||
COMMIT WORK
|
COMMIT WORK
|
||||||
SET CONNECTION "IFMX"
|
-- La replica a EXTERIOR la realiza el trigger en iptb00020.
|
||||||
INSERT INTO iptb00020 (cod_n,producto,us_crea,fech_crea,instalacion) VALUES
|
|
||||||
(p_iptb20.cod_n,p_iptb20.producto,usuarios,getdate(),p_iptb20.instalacion)
|
|
||||||
|
|
||||||
LET numero_msg = 1
|
LET numero_msg = 1
|
||||||
CALL msg(numero_msg)
|
CALL msg(numero_msg)
|
||||||
END FUNCTION
|
END FUNCTION
|
||||||
@@ -230,16 +229,9 @@ SET CONNECTION "MSSQL"
|
|||||||
WHERE cod_n = p_iptb20.cod_n
|
WHERE cod_n = p_iptb20.cod_n
|
||||||
DELETE FROM iptb00035 WHERE cod_n = p_iptb20.cod_n
|
DELETE FROM iptb00035 WHERE cod_n = p_iptb20.cod_n
|
||||||
INSERT INTO iptb00035 (cod_cat,cod_n) VALUES (p_iptb20.cod_cat,p_iptb20.cod_n)
|
INSERT INTO iptb00035 (cod_cat,cod_n) VALUES (p_iptb20.cod_cat,p_iptb20.cod_n)
|
||||||
COMMIT WORK
|
COMMIT WORK
|
||||||
SET CONNECTION "IFMX"
|
-- La replica a EXTERIOR la realiza el trigger en iptb00020.
|
||||||
UPDATE iptb00020 SET producto = p_iptb20.producto,
|
LET numero_msg = 13
|
||||||
us_mod = usuarios,
|
|
||||||
fech_mod = getdate(),
|
|
||||||
instalacion = p_iptb20.instalacion
|
|
||||||
WHERE cod_n = p_iptb20.cod_n
|
|
||||||
|
|
||||||
SET CONNECTION "MSSQL"
|
|
||||||
LET numero_msg = 13
|
|
||||||
CALL msg(numero_msg)
|
CALL msg(numero_msg)
|
||||||
|
|
||||||
EXIT INPUT
|
EXIT INPUT
|
||||||
@@ -257,12 +249,7 @@ END INPUT
|
|||||||
fech_mod = GETDATE()
|
fech_mod = GETDATE()
|
||||||
WHERE cod_n = p_iptb20.cod_n
|
WHERE cod_n = p_iptb20.cod_n
|
||||||
|
|
||||||
SET CONNECTION "IFMX"
|
-- La replica del "borrado logico" a EXTERIOR la realiza el trigger.
|
||||||
UPDATE iptb00020 SET status_t = "E",
|
|
||||||
us_mod = usuarios
|
|
||||||
|
|
||||||
WHERE cod_n = p_iptb20.cod_n
|
|
||||||
|
|
||||||
LET numero_msg = 39
|
LET numero_msg = 39
|
||||||
CALL msg(numero_msg)
|
CALL msg(numero_msg)
|
||||||
ELSE
|
ELSE
|
||||||
|
|||||||
@@ -0,0 +1,105 @@
|
|||||||
|
/* =====================================================================
|
||||||
|
TRIGGER DE REPLICACION iptb00020 (Grupos / Clases)
|
||||||
|
marmotech.dbo.iptb00020 ---> exterior.dbo.iptb00020
|
||||||
|
|
||||||
|
Motivo:
|
||||||
|
Migracion a Genero 6.0. El programa ipprmt005 abria una segunda
|
||||||
|
conexion "IFMX" (= base EXTERIOR en la misma instancia SQL Server)
|
||||||
|
para replicar manualmente cada INSERT/UPDATE de iptb00020.
|
||||||
|
Con Genero 6.0 + ODBC Driver 18 ese segundo CONNECT falla con
|
||||||
|
el error -6366 ("Changed database context to 'marmotech'").
|
||||||
|
|
||||||
|
Se elimino del fuente ipprmt005.4gl toda la logica "SET CONNECTION IFMX"
|
||||||
|
y esa replicacion la asume ahora este trigger, del lado del servidor.
|
||||||
|
|
||||||
|
Cobertura:
|
||||||
|
- ipprmt005.4gl es el UNICO programa del ERP que escribe iptb00020
|
||||||
|
(los demas solo la consultan), asi que el trigger reemplaza por
|
||||||
|
completo la replicacion sin riesgo de escrituras duplicadas.
|
||||||
|
|
||||||
|
Comportamiento (identico al del programa original):
|
||||||
|
- INSERT -> crea la fila en EXTERIOR.
|
||||||
|
- UPDATE -> sincroniza la fila en EXTERIOR (cubre tanto "Modificar"
|
||||||
|
como el "borrado logico" status_t='E').
|
||||||
|
- Cross-database directo (misma instancia, sin linked server).
|
||||||
|
- NO se maneja DELETE fisico: el ERP nunca borra fisicamente esta
|
||||||
|
tabla, solo marca status_t = 'E'.
|
||||||
|
|
||||||
|
Ambiente: probar primero en DESARROLLO (.40.9) antes de PRODUCCION (.40.8).
|
||||||
|
===================================================================== */
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------
|
||||||
|
PASO 0 (VERIFICACION - correr ANTES de crear el trigger)
|
||||||
|
Confirmar las columnas reales de EXTERIOR.dbo.iptb00020.
|
||||||
|
El esquema local (.sch) de ipdir esta viejo y NO lista 'instalacion',
|
||||||
|
pero el programa 3.20 si la escribia, por lo que deberia existir.
|
||||||
|
Si en el resultado NO aparece 'instalacion', elimine del trigger las
|
||||||
|
dos referencias a e.instalacion / i.instalacion antes de crearlo.
|
||||||
|
--------------------------------------------------------------------- */
|
||||||
|
-- SELECT c.name AS columna, t.name AS tipo, c.max_length, c.is_nullable
|
||||||
|
-- FROM exterior.sys.columns c
|
||||||
|
-- JOIN exterior.sys.types t ON t.user_type_id = c.user_type_id
|
||||||
|
-- WHERE c.object_id = OBJECT_ID('exterior.dbo.iptb00020')
|
||||||
|
-- ORDER BY c.column_id;
|
||||||
|
GO
|
||||||
|
|
||||||
|
USE marmotech;
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF OBJECT_ID('dbo.trg_iptb00020_repl_exterior', 'TR') IS NOT NULL
|
||||||
|
DROP TRIGGER dbo.trg_iptb00020_repl_exterior;
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE TRIGGER dbo.trg_iptb00020_repl_exterior
|
||||||
|
ON dbo.iptb00020
|
||||||
|
AFTER INSERT, UPDATE
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM inserted)
|
||||||
|
RETURN;
|
||||||
|
|
||||||
|
/* 1) Actualizar en EXTERIOR las filas que ya existen (por cod_n). */
|
||||||
|
UPDATE e
|
||||||
|
SET e.producto = i.producto,
|
||||||
|
e.status_t = i.status_t,
|
||||||
|
e.us_crea = i.us_crea,
|
||||||
|
e.fech_crea = i.fech_crea,
|
||||||
|
e.us_mod = i.us_mod,
|
||||||
|
e.fech_mod = i.fech_mod,
|
||||||
|
e.instalacion = i.instalacion
|
||||||
|
FROM exterior.dbo.iptb00020 e
|
||||||
|
INNER JOIN inserted i ON e.cod_n = i.cod_n;
|
||||||
|
|
||||||
|
/* 2) Insertar en EXTERIOR las filas que aun no existen. */
|
||||||
|
INSERT INTO exterior.dbo.iptb00020
|
||||||
|
(cod_n, producto, status_t, us_crea, fech_crea, us_mod, fech_mod, instalacion)
|
||||||
|
SELECT i.cod_n, i.producto, i.status_t, i.us_crea, i.fech_crea, i.us_mod, i.fech_mod, i.instalacion
|
||||||
|
FROM inserted i
|
||||||
|
WHERE NOT EXISTS (SELECT 1
|
||||||
|
FROM exterior.dbo.iptb00020 e
|
||||||
|
WHERE e.cod_n = i.cod_n);
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------
|
||||||
|
ROLLBACK (si hiciera falta revertir):
|
||||||
|
USE marmotech;
|
||||||
|
DROP TRIGGER dbo.trg_iptb00020_repl_exterior;
|
||||||
|
|
||||||
|
PRUEBA rapida (en DESARROLLO):
|
||||||
|
-- alta
|
||||||
|
INSERT INTO marmotech.dbo.iptb00020 (cod_n,producto,us_crea,fech_crea,instalacion)
|
||||||
|
VALUES (999999,'PRUEBA TRG', SUSER_SNAME(), GETDATE(), 1);
|
||||||
|
SELECT * FROM exterior.dbo.iptb00020 WHERE cod_n = 999999; -- debe aparecer
|
||||||
|
-- modificacion
|
||||||
|
UPDATE marmotech.dbo.iptb00020 SET producto='PRUEBA TRG MOD' WHERE cod_n=999999;
|
||||||
|
SELECT producto FROM exterior.dbo.iptb00020 WHERE cod_n = 999999; -- debe reflejar
|
||||||
|
-- borrado logico
|
||||||
|
UPDATE marmotech.dbo.iptb00020 SET status_t='E' WHERE cod_n=999999;
|
||||||
|
SELECT status_t FROM exterior.dbo.iptb00020 WHERE cod_n = 999999; -- debe ser 'E'
|
||||||
|
-- limpieza
|
||||||
|
DELETE FROM marmotech.dbo.iptb00020 WHERE cod_n=999999;
|
||||||
|
DELETE FROM exterior.dbo.iptb00020 WHERE cod_n=999999;
|
||||||
|
--------------------------------------------------------------------- */
|
||||||
@@ -105,7 +105,7 @@ FUNCTION ippcmf010()
|
|||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
LET SELEC = " SELECT UNIQUE a.cod_tipo,a.descripcion,a.cod_inv FROM iptb00024 a WHERE ",
|
LET SELEC = " SELECT UNIQUE a.* FROM iptb00024 a WHERE ",
|
||||||
criterio clipped,
|
criterio clipped,
|
||||||
" ORDER BY a.cod_tipo"
|
" ORDER BY a.cod_tipo"
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ FUNCTION ippcmf010()
|
|||||||
RETURN
|
RETURN
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv
|
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv,p_iptb24.status_t,p_iptb24.us_crea,p_iptb24.fech_crea,p_iptb24.us_mod,p_iptb24.fech_mod
|
||||||
|
|
||||||
MENU "OPCIONES "
|
MENU "OPCIONES "
|
||||||
COMMAND "Siguiente"
|
COMMAND "Siguiente"
|
||||||
@@ -131,7 +131,7 @@ FUNCTION ippcmf010()
|
|||||||
CALL msg(numero_msg)
|
CALL msg(numero_msg)
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv
|
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv,p_iptb24.status_t,p_iptb24.us_crea,p_iptb24.fech_crea,p_iptb24.us_mod,p_iptb24.fech_mod
|
||||||
|
|
||||||
COMMAND "Anterior"
|
COMMAND "Anterior"
|
||||||
"Presenta en pantalla el registro anterior encontrado"
|
"Presenta en pantalla el registro anterior encontrado"
|
||||||
@@ -141,13 +141,13 @@ FUNCTION ippcmf010()
|
|||||||
CALL msg(numero_msg)
|
CALL msg(numero_msg)
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv
|
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv,p_iptb24.status_t,p_iptb24.us_crea,p_iptb24.fech_crea,p_iptb24.us_mod,p_iptb24.fech_mod
|
||||||
|
|
||||||
COMMAND "Primero"
|
COMMAND "Primero"
|
||||||
"Presenta en pantalla el primer registro encontrado"
|
"Presenta en pantalla el primer registro encontrado"
|
||||||
FETCH FIRST datos INTO p_iptb24.*
|
FETCH FIRST datos INTO p_iptb24.*
|
||||||
|
|
||||||
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv
|
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv,p_iptb24.status_t,p_iptb24.us_crea,p_iptb24.fech_crea,p_iptb24.us_mod,p_iptb24.fech_mod
|
||||||
|
|
||||||
LET numero_msg = 5
|
LET numero_msg = 5
|
||||||
CALL msg(numero_msg)
|
CALL msg(numero_msg)
|
||||||
@@ -156,7 +156,7 @@ FUNCTION ippcmf010()
|
|||||||
"Presenta en pantalla el ultimo registro encontrado"
|
"Presenta en pantalla el ultimo registro encontrado"
|
||||||
FETCH LAST datos INTO p_iptb24.*
|
FETCH LAST datos INTO p_iptb24.*
|
||||||
|
|
||||||
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv
|
DISPLAY BY NAME p_iptb24.cod_tipo,p_iptb24.descripcion,p_iptb24.cod_inv,p_iptb24.status_t,p_iptb24.us_crea,p_iptb24.fech_crea,p_iptb24.us_mod,p_iptb24.fech_mod
|
||||||
|
|
||||||
LET numero_msg = 4
|
LET numero_msg = 4
|
||||||
CALL msg(numero_msg)
|
CALL msg(numero_msg)
|
||||||
@@ -196,6 +196,10 @@ FUNCTION ippcmf010()
|
|||||||
fech_mod = GETDATE()
|
fech_mod = GETDATE()
|
||||||
WHERE @cod_tipo = p_iptb24.cod_tipo
|
WHERE @cod_tipo = p_iptb24.cod_tipo
|
||||||
|
|
||||||
|
LET p_iptb24.status_t = "E"
|
||||||
|
LET p_iptb24.us_mod = usuarios
|
||||||
|
LET p_iptb24.fech_mod = CURRENT
|
||||||
|
DISPLAY BY NAME p_iptb24.status_t,p_iptb24.us_mod,p_iptb24.fech_mod
|
||||||
|
|
||||||
LET numero_msg = 39
|
LET numero_msg = 39
|
||||||
CALL msg(numero_msg)
|
CALL msg(numero_msg)
|
||||||
|
|||||||
@@ -76,7 +76,8 @@ FUNCTION ippcad012()
|
|||||||
END FUNCTION
|
END FUNCTION
|
||||||
|
|
||||||
FUNCTION ippcmf012()
|
FUNCTION ippcmf012()
|
||||||
DEFINE encontrados INTEGER
|
DEFINE encontrados INTEGER
|
||||||
|
DEFINE respuestaAviso STRING
|
||||||
## Aqui se prepara para la captura del criterio de seleccion
|
## Aqui se prepara para la captura del criterio de seleccion
|
||||||
#WHENEVER ERROR CONTINUE
|
#WHENEVER ERROR CONTINUE
|
||||||
CONSTRUCT BY NAME criterio ON iptb00030.*
|
CONSTRUCT BY NAME criterio ON iptb00030.*
|
||||||
@@ -173,24 +174,39 @@ FUNCTION ippcmf012()
|
|||||||
END INPUT
|
END INPUT
|
||||||
COMMAND KEY ("L") "eLiminar"
|
COMMAND KEY ("L") "eLiminar"
|
||||||
|
|
||||||
LET encontrados = 0
|
IF iptb30.status_t = "E" THEN
|
||||||
SELECT count(*) INTO encontrados
|
CALL fgl_winquestion(
|
||||||
FROM iptb00002
|
"Aviso",
|
||||||
WHERE cod_sec = iptb30.cod_sec AND status_t IS NULL
|
"Este registro ya fue eliminado anteriormente.",
|
||||||
|
"OK",
|
||||||
|
"OK",
|
||||||
|
"INFORMATION",
|
||||||
|
0)
|
||||||
|
RETURNING respuestaAviso
|
||||||
|
ELSE
|
||||||
|
LET encontrados = 0
|
||||||
|
SELECT count(*) INTO encontrados
|
||||||
|
FROM iptb00002
|
||||||
|
WHERE cod_sec = iptb30.cod_sec AND status_t IS NULL
|
||||||
|
|
||||||
IF encontrados = 0 THEN
|
IF encontrados = 0 THEN
|
||||||
UPDATE iptb00030 SET status_t = "E",
|
UPDATE iptb00030 SET status_t = "E",
|
||||||
us_mod = SUSER_SNAME(),
|
us_mod = SUSER_SNAME(),
|
||||||
fech_mod = GETDATE()
|
fech_mod = GETDATE()
|
||||||
WHERE cod_sec = iptb30.cod_sec
|
WHERE cod_sec = iptb30.cod_sec
|
||||||
|
|
||||||
|
LET iptb30.status_t = "E"
|
||||||
LET numero_msg = 39
|
LET iptb30.us_mod = usuarios
|
||||||
CALL msg(numero_msg)
|
LET iptb30.fech_mod = CURRENT
|
||||||
ELSE
|
DISPLAY BY NAME iptb30.*
|
||||||
LET numero_msg = 383
|
|
||||||
CALL msg(numero_msg)
|
LET numero_msg = 39
|
||||||
END IF
|
CALL msg(numero_msg)
|
||||||
|
ELSE
|
||||||
|
LET numero_msg = 383
|
||||||
|
CALL msg(numero_msg)
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
COMMAND "Retornar"
|
COMMAND "Retornar"
|
||||||
"Retorna al menu anterior"
|
"Retorna al menu anterior"
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ FUNCTION ippcad017()
|
|||||||
|
|
||||||
# WHENEVER ERROR CONTINUE
|
# WHENEVER ERROR CONTINUE
|
||||||
DEFINE noreg INT
|
DEFINE noreg INT
|
||||||
|
|
||||||
DIALOG ATTRIBUTES (UNBUFFERED, FIELD ORDER FORM)
|
DIALOG ATTRIBUTES (UNBUFFERED, FIELD ORDER FORM)
|
||||||
CONSTRUCT criterio ON iptb00002.cod_n,iptb00002.cod_grupo,iptb00002.cod_tipo,iptb00002.cod_sec,
|
CONSTRUCT criterio ON iptb00002.cod_n,iptb00002.cod_grupo,iptb00002.cod_tipo,iptb00002.cod_sec,
|
||||||
iptb00002.descrip_esp,vetb00025.cod_lista,vetb00025.ventas
|
iptb00002.descrip_esp,vetb00025.cod_lista,vetb00025.ventas
|
||||||
@@ -206,6 +206,9 @@ FUNCTION ippcad017()
|
|||||||
LET listproduct[curr1].codlista = 1
|
LET listproduct[curr1].codlista = 1
|
||||||
DISPLAY listproduct[curr1].codlista TO lproducto2[scr_l].codlista
|
DISPLAY listproduct[curr1].codlista TO lproducto2[scr_l].codlista
|
||||||
END IF
|
END IF
|
||||||
|
ON CHANGE elimina
|
||||||
|
LET curr1 = arr_curr()
|
||||||
|
LET listproduct[curr1].elimina = listproduct[curr1].elimina
|
||||||
AFTER FIELD seccliente
|
AFTER FIELD seccliente
|
||||||
LET curr1 = arr_curr()
|
LET curr1 = arr_curr()
|
||||||
LET scr_l = scr_line()
|
LET scr_l = scr_line()
|
||||||
@@ -353,7 +356,11 @@ FUNCTION ippcad017()
|
|||||||
listproduct[idx].codtipo,listproduct[idx].codsec,listproduct[idx].tipocliente,
|
listproduct[idx].codtipo,listproduct[idx].codsec,listproduct[idx].tipocliente,
|
||||||
listproduct[idx].seccliente,listproduct[idx].pprecio,usuarios,GETDATE(),
|
listproduct[idx].seccliente,listproduct[idx].pprecio,usuarios,GETDATE(),
|
||||||
listproduct[idx].codlista)
|
listproduct[idx].codlista)
|
||||||
|
|
||||||
|
LET selec = "SELECT @@IDENTITY"
|
||||||
|
PREPARE getIdrow FROM selec
|
||||||
|
EXECUTE getIdrow INTO listproduct[idx].idrow
|
||||||
|
|
||||||
IF STATUS < 0 THEN
|
IF STATUS < 0 THEN
|
||||||
ROLLBACK WORK
|
ROLLBACK WORK
|
||||||
CALL fgl_winmessage("Error","NO PUDE ACTUALIZAR INFORMACION","STOP")
|
CALL fgl_winmessage("Error","NO PUDE ACTUALIZAR INFORMACION","STOP")
|
||||||
@@ -386,8 +393,6 @@ FUNCTION ippcad017()
|
|||||||
cod_sec = listproduct[idx].codsec
|
cod_sec = listproduct[idx].codsec
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
# CALL fgl_winmessage("o",listproduct[idx].elimina,"info")
|
|
||||||
DISPLAY "emilina ",listproduct[idx].elimina
|
|
||||||
IF listproduct[idx].elimina = "S" THEN
|
IF listproduct[idx].elimina = "S" THEN
|
||||||
# CALL fgl_winmessage("o",listproduct[idx].idrow,"info")
|
# CALL fgl_winmessage("o",listproduct[idx].idrow,"info")
|
||||||
INSERT INTO vetb00091 (cod_lista,cod_n,cod_Grupo,cod_tipo,
|
INSERT INTO vetb00091 (cod_lista,cod_n,cod_Grupo,cod_tipo,
|
||||||
@@ -735,7 +740,7 @@ LABEL sale9:
|
|||||||
END FUNCTION
|
END FUNCTION
|
||||||
|
|
||||||
FUNCTION consulta_clientes()
|
FUNCTION consulta_clientes()
|
||||||
OPEN WINDOW busqueda AT 7,12 WITH FORM "vefmwd002"
|
OPEN WINDOW busqueda AT 7,12 WITH FORM "vefmwd002_ip"
|
||||||
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
|
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
|
||||||
|
|
||||||
LET int_flag = false
|
LET int_flag = false
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
RUBIO BLOND
|
|
||||||
|
|
||||||
okland 5 victorias
|
|
||||||
tampa bien los miercoles en toronto 7 de ultimos 8
|
|
||||||
Mine le va mal en interligas
|
|
||||||
atl le ha ganado 5 como favoritos
|
|
||||||
cinci le va bien en la ruta. Va Harvey.
|
|
||||||
|
|
||||||
LAD frente a derechos han perdido 10 de los untimos 14
|
|
||||||
Ariz ha perdido los ultimos juegos en la runta con los zurdos.
|
|
||||||
|
|
||||||
Sfo 10
|
|
||||||
|
|
||||||
LAAD 75
|
|
||||||
PHILIS 74
|
|
||||||
STL 73
|
|
||||||
PIT 72
|
|
||||||
KC 71
|
|
||||||
BOS 65
|
|
||||||
NYY 62
|
|
||||||
DET 61
|
|
||||||
|
|
||||||
|
|
||||||
MNE
|
|
||||||
SEATLE
|
|
||||||
WASH
|
|
||||||
|
|
||||||
WILLY PEREALTA 2 LOSS
|
|
||||||
HARVEY LANZANDO EN SU PATIO ES PELIGROSO
|
|
||||||
DE LA ROSA TIENE 7-4 FRENTE ARIZ
|
|
||||||
SMARTIZA 4-0 FRENTE A LOS PIT
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<ManagedForm databaseName="smarmotech" fileVersion="40100" gstVersion="60003" name="ManagedForm" uid="{3ef2c8ec-7670-4014-a87b-58c65dc432be}">
|
||||||
|
<AGSettings>
|
||||||
|
<DynamicProperties version="4"/>
|
||||||
|
</AGSettings>
|
||||||
|
<Record name="sclientes" uid="{5fc56092-fa56-4c48-b1e5-11fe4da7e460}">
|
||||||
|
<RecordField fieldIdRef="4" name="tipo_cliente" uid="{3b940207-07fc-448e-8143-5a42352e0681}"/>
|
||||||
|
<RecordField fieldIdRef="5" name="sec_cliente" uid="{9bd5b139-0ae5-4ae0-bc8b-3d8d6192fee8}"/>
|
||||||
|
<RecordField fieldIdRef="6" name="nombre" uid="{d8ac2de0-383b-4677-8abd-30bf3bde2cac}"/>
|
||||||
|
<RecordField fieldIdRef="7" name="direccion" uid="{dcf49690-53ff-4aa5-a2d3-e44d20aac43c}"/>
|
||||||
|
<RecordField fieldIdRef="1" name="ciudad" uid="{f9e99450-489a-4f04-a89e-96579797b045}"/>
|
||||||
|
<RecordField fieldIdRef="2" name="vendedor" uid="{77b41c98-0fbe-4c5a-8cad-dc6be60a5f48}"/>
|
||||||
|
<RecordField fieldIdRef="3" name="sec_vend" uid="{b97d0925-239e-4a49-9ade-02e78abcfee1}"/>
|
||||||
|
</Record>
|
||||||
|
<Form gridHeight="24" gridWidth="106" name="vefmwd002">
|
||||||
|
<Grid gridHeight="24" gridWidth="106" name="grid1" posX="0" posY="0">
|
||||||
|
<Label gridHeight="1" gridWidth="73" justify="center" name="label1" posX="7" posY="1" style="encabezado" text="CLIENTES"/>
|
||||||
|
<Table gridHeight="6" gridWidth="99" name="table1" posX="7" posY="3" totalRows="5">
|
||||||
|
<Edit fieldId="4" gridHeight="1" gridWidth="8" name="tipo_cliente" posX="0" posY="0" tabIndex="-1" title="CODIGO" widget="Edit"/>
|
||||||
|
<Edit fieldId="5" gridHeight="1" gridWidth="8" name="sec_cliente" posX="8" posY="0" tabIndex="-1" widget="Edit"/>
|
||||||
|
<Edit fieldId="6" gridHeight="1" gridWidth="25" name="nombre" posX="16" posY="0" tabIndex="-1" title="NOMBRE" widget="Edit"/>
|
||||||
|
<Edit fieldId="7" gridHeight="1" gridWidth="26" name="direccion" posX="41" posY="0" tabIndex="-1" title="DIRECCION" widget="Edit"/>
|
||||||
|
<Edit fieldId="1" gridHeight="1" gridWidth="8" name="ciudad" posX="67" posY="0" tabIndex="-1" title="CIUDAD" widget="Edit"/>
|
||||||
|
<Edit fieldId="2" gridHeight="1" gridWidth="8" name="vendedor" posX="75" posY="0" tabIndex="-1" title="VENDEDOR" widget="Edit"/>
|
||||||
|
<Edit fieldId="3" gridHeight="1" gridWidth="8" hidden="true" name="sec_vend" posX="83" posY="0" tabIndex="-1" widget="Edit"/>
|
||||||
|
</Table>
|
||||||
|
</Grid>
|
||||||
|
</Form>
|
||||||
|
<DiagramLayout>
|
||||||
|
<![CDATA[AAAAAgAAAEwAewA1AGYAYwA1ADYAMAA5ADIALQBmAGEANQA2AC0ANABjADQAOAAtAGIAMQBlADUALQAxADEAZgBlADQAZABhADcAZQA0ADYAMAB9QCAAAAwAAANAIAAADAAAAz9wYk3S8an8AQ==]]>
|
||||||
|
</DiagramLayout>
|
||||||
|
</ManagedForm>
|
||||||
+19
-2
@@ -506,10 +506,26 @@
|
|||||||
<Group id="1667448785" label="PRODUCTOS TERMINADOS">
|
<Group id="1667448785" label="PRODUCTOS TERMINADOS">
|
||||||
<Library binaryName="FORMULARIOS_IP" dependencies="-1026233879" id="-1826025351" label="FORMULARIOS_IP">
|
<Library binaryName="FORMULARIOS_IP" dependencies="-1026233879" id="-1826025351" label="FORMULARIOS_IP">
|
||||||
<File filePath="ipdir/ipfmmt003.4fd"/>
|
<File filePath="ipdir/ipfmmt003.4fd"/>
|
||||||
|
<File filePath="ipdir/ipfmmt005.per"/>
|
||||||
<File filePath="ipdir/ipfmmt020.4fd"/>
|
<File filePath="ipdir/ipfmmt020.4fd"/>
|
||||||
<File filePath="ipdir/ipfmmt021.4fd"/>
|
<File filePath="ipdir/ipfmmt021.4fd"/>
|
||||||
<File filePath="ipdir/ipfmmt013.4fd"/>
|
<File filePath="ipdir/ipfmmt013.4fd"/>
|
||||||
<File filePath="ipdir/ipfmmt019.4fd"/>
|
<File filePath="ipdir/ipfmmt019.4fd"/>
|
||||||
|
<File filePath="ipdir/ipfmmt012.per"/>
|
||||||
|
<File filePath="ipdir/ipfmmt010.per"/>
|
||||||
|
<File filePath="ipdir/ipfmmt014.per"/>
|
||||||
|
<File filePath="ipdir/ipfmmt017.4fd"/>
|
||||||
|
<File filePath="ipdir/ipfmwd008.per"/>
|
||||||
|
<File filePath="ipdir/vefmwd002_ip.4fd"/>
|
||||||
|
<File filePath="ipdir/ipfmcs002.per"/>
|
||||||
|
<File filePath="ipdir/ipfmcs006.4fd"/>
|
||||||
|
<File filePath="ipdir/ipfmcs004.4fd"/>
|
||||||
|
<File filePath="ipdir/coloca_ubicacion.4fd"/>
|
||||||
|
<File filePath="ipdir/ipfmcs004b.per"/>
|
||||||
|
<File filePath="ipdir/ipfmcs004_1.4fd"/>
|
||||||
|
</Library>
|
||||||
|
<Library binaryName="UBICACIONDH_IP" dependencies="-1026233879" id="1763548200" label="UBICACIONDH_IP">
|
||||||
|
<File filePath="ipdir/ubicacionDH.4gl"/>
|
||||||
</Library>
|
</Library>
|
||||||
<Library binaryName="FUNCIONES_IP" dependencies="-1026233879" id="1763548104" label="FUNCIONES_IP">
|
<Library binaryName="FUNCIONES_IP" dependencies="-1026233879" id="1763548104" label="FUNCIONES_IP">
|
||||||
<File filePath="ipdir/ipprgb000.4gl"/>
|
<File filePath="ipdir/ipprgb000.4gl"/>
|
||||||
@@ -524,6 +540,7 @@
|
|||||||
<File filePath="ipdir/ubicacionH.4gl"/>
|
<File filePath="ipdir/ubicacionH.4gl"/>
|
||||||
<File filePath="otrodir/LlenarUbicaciones.4gl"/>
|
<File filePath="otrodir/LlenarUbicaciones.4gl"/>
|
||||||
<File filePath="otrodir/categorias.4gl"/>
|
<File filePath="otrodir/categorias.4gl"/>
|
||||||
|
<File filePath="otrodir/pantalla_ip.4gl"/>
|
||||||
<File filePath="ipdir/ipactualizareqtrx.4gl"/>
|
<File filePath="ipdir/ipactualizareqtrx.4gl"/>
|
||||||
<File filePath="ipdir/loadDespiece.4gl"/>
|
<File filePath="ipdir/loadDespiece.4gl"/>
|
||||||
</Library>
|
</Library>
|
||||||
@@ -558,7 +575,7 @@
|
|||||||
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt013.4gl"/>
|
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt013.4gl"/>
|
||||||
</Application>
|
</Application>
|
||||||
<Application binaryName="ipprmt005" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000007" label="ipprmt005">
|
<Application binaryName="ipprmt005" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000007" label="ipprmt005">
|
||||||
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000007" label="Configuration"/>
|
<Configuration commandLineArguments="jsoto lmmjvsd2014" id="-961000007" label="Configuration"/>
|
||||||
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt005.4gl"/>
|
<File compilerOptions="--build-rdd" filePath="ipdir/ipprmt005.4gl"/>
|
||||||
</Application>
|
</Application>
|
||||||
<Application binaryName="ipprmt012" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000008" label="ipprmt012">
|
<Application binaryName="ipprmt012" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000008" label="ipprmt012">
|
||||||
@@ -585,7 +602,7 @@
|
|||||||
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000013" label="Configuration"/>
|
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000013" label="Configuration"/>
|
||||||
<File compilerOptions="--build-rdd" filePath="ipdir/ipprcs006.4gl"/>
|
<File compilerOptions="--build-rdd" filePath="ipdir/ipprcs006.4gl"/>
|
||||||
</Application>
|
</Application>
|
||||||
<Application binaryName="ipprcs004" dependencies="1763548104,-1026233879,-764824792" externalDependencies="libgre.42x" id="-960000014" label="ipprcs004">
|
<Application binaryName="ipprcs004" dependencies="1763548104,-1026233879,-764824792,1763548200,-1423229125" externalDependencies="libgre.42x" id="-960000014" label="ipprcs004">
|
||||||
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000014" label="Configuration"/>
|
<Configuration commandLineArguments="jpeguero Peguero2023" id="-961000014" label="Configuration"/>
|
||||||
<File compilerOptions="--build-rdd" filePath="ipdir/ipprcs004.4gl"/>
|
<File compilerOptions="--build-rdd" filePath="ipdir/ipprcs004.4gl"/>
|
||||||
</Application>
|
</Application>
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
GLOBALS "../ipdir/ipprgb000.4gl"
|
||||||
|
|
||||||
|
FUNCTION pantalla()
|
||||||
|
DEFINE fecha CHAR(8),
|
||||||
|
hora char(5),
|
||||||
|
l SMALLINT
|
||||||
|
SELECT UNIQUE a.* INTO p_companias.* FROM companias a
|
||||||
|
LET fecha = today USING "dd/mm/yy"
|
||||||
|
LET hora = time
|
||||||
|
LET l = (80 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||||
|
DISPLAY p_companias.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,BLUE)
|
||||||
|
DISPLAY fecha AT 4,70 ATTRIBUTE (BLUE)
|
||||||
|
DISPLAY "Sistema Inventario de Productos" AT 5,25
|
||||||
|
DISPLAY hora AT 6,73 ATTRIBUTE(BLUE)
|
||||||
|
|
||||||
|
CALL fgl_drawbox(5,79,3,1)
|
||||||
|
CALL fgl_drawbox(1,79,22,1)
|
||||||
|
END FUNCTION
|
||||||
Reference in New Issue
Block a user