Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md

This commit is contained in:
2026-08-18 20:59:52 -04:00
commit 454973e269
5978 changed files with 2664094 additions and 0 deletions
@@ -0,0 +1,48 @@
{
------------------------------------------------------------------------
FORMULARIO : ADFMWD004
OBJETIVO : Pantalla que muestra los empleados de la empresa
Es utilizada por: ADPRMT010,ADPRMT016,ADPRMT017,ADPRMT018
ADPRMT019,ADPRMT020,ADPRMT021
PROGRAMADOR : Ing. Betania Guerrero Perez
FECHA REALIZACION : Junio 24, 1993
------------------------------------------------------------------------
}
SCHEMA smarmotech
TOOLBAR
ITEM nuevo (TEXT="Nuevo", IMAGE="new", COMMENT="Adicionar Registos")
ITEM buscar (TEXT="Buscar", IMAGE="find", COMMENT="Buscar Regustros") SEPARATOR
ITEM salir (TEXT="Salir", COMMENT = "Salir del Programa", IMAGE="quit")
END
LAYOUT (TEXT="BUSQUEADA EMPLEADOS")
GRID
{
Busqueda de Empleados
<g >
<t >
[f1 ][f2 ][f5][f6] [f3 ] [f7 ][f4 ] [f8 ]
[f1 ][f2 ][f5][f6] [f3 ] [f7 ][f4 ] [f8 ]
[f1 ][f2 ][f5][f6] [f3 ] [f7 ][f4 ] [f8 ]
[f1 ][f2 ][f5][f6] [f3 ] [f7 ][f4 ] [f8 ]
[f1 ][f2 ][f5][f6] [f3 ] [f7 ][f4 ] [f8 ]
}
end
tables
adtb00003
attributes
f1 = adtb00003.num_emp,TITLE="FICHA EMPLEADO";
f2 = adtb00003.departamento,autonext;
f5 = adtb00003.nivel_emp,autonext;
f6 = adtb00003.cod_puesto,autonext;
f3 = adtb00003.nom1_emp,TITLE="PRIMER NOMBRE";
f7 = adtb00003.nom2_emp;
f4 = adtb00003.apell1_emp,TITLE="PRIMER APELLIDO";
f8 = adtb00003.apell2_emp;
instructions
screen record s_empleado (num_emp,departamento,nivel_emp,cod_puesto,
nom1_emp,nom2_emp,apell1_emp,apell2_emp)
delimiters " "
end
@@ -0,0 +1,44 @@
Date: 30/11/2018 Time: 12:28:57
Program error at 'ipprmt002.4gl', line number 31.
SQL statement error number -6366 (0).
Could not load database driver dbmdefault. Set FGLSQLDEBUG to get more details.
Date: 30/11/2018 Time: 12:29:42
Program error at 'ipprmt002.4gl', line number 45.
FORMS statement error number -1110.
Form file not found.
Date: 30/11/2018 Time: 12:30:03
Program error at 'ipprmt002.4gl', line number 928.
SQL statement error number -6372 (-208).
[Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid object name 'iptb00021'.
Date: 30/11/2018 Time: 12:32:46
Program error at 'ipprmt002.4gl', line number 950.
FORMS statement error number -1102.
Field (porc_desc) not found in form.
Date: 30/11/2018 Time: 12:33:50
Program error at 'ipprmt002.4gl', line number 950.
FORMS statement error number -1102.
Field (porc_desc) not found in form.
Date: 30/11/2018 Time: 12:43:09
Program error at 'ipprmt002.4gl', line number 584.
SQL statement error number -1803 (0).
Connection does not exist.
Date: 30/11/2018 Time: 12:43:42
Program error at 'ipprmt002.4gl', line number 586.
SQL statement error number -6372 (-544).
[Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert explicit value for identity column in table 'iptb00002' when IDENTITY_INSERT is set to OFF.
Date: 03/12/2018 Time: 09:58:46
Program error at 'ipprmt002.4gl', line number 586.
SQL statement error number -6372 (-544).
[Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert explicit value for identity column in table 'iptb00002' when IDENTITY_INSERT is set to OFF.
Date: 03/12/2018 Time: 10:06:07
Program error at 'ipprmt002.4gl', line number 615.
SQL statement error number -450 (-1).
Illegal ESQL locator, or uninitialized blob variable in 4GL.
Date: 03/12/2018 Time: 10:12:54
Program error at 'ipprmt002.4gl', line number 615.
SQL statement error number -450 (-1).
Illegal ESQL locator, or uninitialized blob variable in 4GL.
Date: 03/12/2018 Time: 10:16:37
Program error at 'ipprmt002.4gl', line number 586.
SQL statement error number -6372 (-544).
[Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert explicit value for identity column in table 'iptb00002' when IDENTITY_INSERT is set to OFF.
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="ANSI_X3.4-1968"?>
<StyleList>
<Style name="Window">
<StyleAttribute name="windowType" value="normal" />
</Style>
<Style name="Window.main">
<StyleAttribute name="windowType" value="normal" />
<StyleAttribute name="startMenuPosition" value="menu" />
</Style>
<Style name="Window.main2">
<StyleAttribute name="windowType" value="normal" />
<StyleAttribute name="actionPanelPosition" value="none" />
<StyleAttribute name="ringMenuPosition" value="none" />
</Style>
<Style name="Window.dialog">
<StyleAttribute name="windowType" value="modal" />
<StyleAttribute name="sizable" value="no" />
<StyleAttribute name="position" value="center" />
<StyleAttribute name="actionPanelPosition" value="bottom" />
<StyleAttribute name="ringMenuPosition" value="bottom" />
<StyleAttribute name="toolBarPosition" value="none" />
<StyleAttribute name="statusBarType" value="none" />
<StyleAttribute name="errorMessagePosition" value="popup" />
</Style>
<Style name="Window.dialog2">
<StyleAttribute name="windowType" value="modal" />
<StyleAttribute name="sizable" value="no" />
<StyleAttribute name="position" value="center" />
<StyleAttribute name="actionPanelPosition" value="none" />
<StyleAttribute name="ringMenuPosition" value="none" />
<StyleAttribute name="toolBarPosition" value="none" />
<StyleAttribute name="statusBarType" value="none" />
<StyleAttribute name="errorMessagePosition" value="popup" />
</Style>
<Style name="Window.dialog3">
<StyleAttribute name="windowType" value="modal" />
<StyleAttribute name="sizable" value="yes" />
<StyleAttribute name="toolBarPosition" value="none" />
<StyleAttribute name="actionPanelPosition" value="none" />
<StyleAttribute name="ringMenuPosition" value="none" />
<StyleAttribute name="statusBarType" value="none" />
<StyleAttribute name="errorMessagePosition" value="popup" />
</Style>
<Style name="Window.dialog4">
<StyleAttribute name="windowType" value="modal" />
<StyleAttribute name="sizable" value="yes" />
<StyleAttribute name="actionPanelPosition" value="bottom" />
<StyleAttribute name="ringMenuPosition" value="none" />
<StyleAttribute name="statusBarType" value="none" />
<StyleAttribute name="errorMessagePosition" value="popup" />
</Style>
<Style name="Window.naked">
<StyleAttribute name="windowType" value="modal" />
<StyleAttribute name="border" value="tool" />
<StyleAttribute name="actionPanelPosition" value="none" />
<StyleAttribute name="ringMenuPosition" value="none" />
<StyleAttribute name="toolBarPosition" value="none" />
<StyleAttribute name="statusBarType" value="none" />
</Style>
<Style name="Window.viewer">
<StyleAttribute name="windowType" value="modal" />
<StyleAttribute name="windowSystemMenu" value="yes" />
<StyleAttribute name="windowOptionMinimize" value="no" />
<StyleAttribute name="windowOptionMaximize" value="no" />
<StyleAttribute name="sizable" value="yes" />
<StyleAttribute name="actionPanelPosition" value="none" />
<StyleAttribute name="ringMenuPosition" value="none" />
<StyleAttribute name="toolBarPosition" value="none" />
<StyleAttribute name="statusBarType" value="none" />
</Style>
<Style name="edit.encabezado">
<StyleAttribute name="fontStyle" value="italic" />
<StyleAttribute name="fontSize" value="large" />
</Style>
<Style name=".name">
<StyleAttribute name="fontSize" value="large" />
</Style>
<Style name="Edit.encabezado">
<StyleAttribute name="backgroundColor" value="white" />
<StyleAttribute name="fontWeight" value="bold" />
</Style>
<Style name="encabezado">
<StyleAttribute name="backgroundColor" value="white" />
<StyleAttribute name="fontWeight" value="bold" />
<StyleAttribute name="fontStyle" value="italic" />
<StyleAttribute name="fontSize" value="large" />
</Style>
<Style name="Edit.encabezado">
<StyleAttribute name="backgroundColor" value="white" />
<StyleAttribute name="fontWeight" value="bold" />
</Style>
<Style name="Table.detalle:even" >
<StyleAttribute value="#DECFDB" name="backgroundColor" />
</Style>
</StyleList>
@@ -0,0 +1,397 @@
<DDir name="CONTABILIDAD GENERAL">
<mbs name="Catalogo de Cuentas" type="V" program="cgprmt001" description="Adicionar, Modificar, Consultar Cuentas de Mayor General" />
<mbs name="Entrada de Diario" type="V" program="cgprmt004" description="Adicionar, Modificar Entradas de Diario" />
<mbs name="Elim. Fisica Ent. Diario" type="V" program="cgprmt006" description="Eliminar Entradas de Diario" />
<mbs name="Maestra Entrada de Diario" type="V" program="cgprmt010" description="Adicionar, Modificar, Consultar Maestra Entrada de Diario" />
<mbs name="Periodos Fiscales" type="V" program="prd00000" description="Administracion de los rangos de fechas por mes " />
<mbs name="Actualizacion Costos" type="V" program="cgprmt021" description="Transferir costos desde un ano a otro " />
<mbs name="Transacciones" type="V" program="cgprcs002" description="Consulta de Transacciones" />
<mbs name="Catalogo de Cuentas" type="V" program="cgprrp001" description="Imprime Catalogo de Cuentas" />
<mbs name="Transacciones" type="V" program="cgprrp003" description="Imprime Reporte de Transacciones" />
<mbs name="Mayor General Detallado" type="V" program="cgprrp004" description="Imprime Mayor General" />
<mbs name="Diario General" type="V" program="cgprrp005" description="Imprime Diario General" />
<mbs name="Entradas de Diario" type="V" program="cgmnrp001" description="Entra al Programa de Entradas de Diario" />
<mbs name="Mayor General Analitico" type="V" program="cgprrp008" description="Imprime Mayor General Analitico" />
<mbs name="Analisis Gastos x Dpto." type="V" program="cgprrp009" description="Imprime Gastos por Departamento" />
<mbs name="Mayor Detallado x Refer" type="V" program="cgprrp014" description="Imprime Mayor por Referencia" />
<mbs name="Mayor General" type="V" program="cgprrp015" description="Imprime Mayor Genaral" />
<mbs name="Entradas Registradas" type="V" program="cgprrp022" description="Imprime Entradas Registradas" />
<mbs name="Presupuesto Comparativo" type="V" program="cgprrp031" description="Imprime Presupuestos" />
<mbs name="Estados Financieros" type="V" program="cgprrp012" description="BALANCE GENERAL, INGRESOS Y EGRESOS" />
<mbs name="Analisis Beneficios por Vendedor" type="V" program="cgprrp029" description="IMPRESION BENEFICIOS POR VENDEDOR Y PRODUCTOS" />
<mbs name=" " type="C" program="ENTRADAS DIARIO AUTOMATICAS" description=" " />
<mbs name="COBROS LOCALES-INGRESOS" type="V" program="edprrp115" description="Registra en el mayor las informaciones de los cobros" />
<mbs name="DEVOLUCIONES" type="V" program="edprrp029" description="Registra en el mayor las informaciones de las devoluciones" />
<mbs name="COBROS INGRESOS 13 " type="V" program="edprrp116" description="Registra en el mayor las informaciones de los cobros" />
<mbs name="COBROS INGRESOS 14 " type="V" program="edprrp117" description="Registra en el mayor las informaciones de los cobros" />
<mbs name="ENTRADA VENTAS 04 " type="V" program="edprrp004" description="Recoge las ventas del periodo para mayorizar" />
<mbs name="ENTRADA CIERRE ANO " type="V" program="edprrp099" description="Cierra las cuentas Ventas, Costos Y Gastos " />
</DDir>
<DDir name="COSTOS">
<mbs name=" " type="C" program="MANTENIMIENTOS" description=" " />
<mbs name="Maestra Semi-elaborados" type="V" program="ctprmt001" description="Adicionar, Modificar, Maestra Semi-elaborados" />
<mbs name="Cuentas Material, Labor y Gastos" type="V" program="ctfmmt025" description=" " />
<mbs name="Unidades Medidas" type="V" program="ctprmt007" description=" " />
<mbs name="Costos Liquidacion" type="V" program="ctprmt009" description=" " />
<mbs name="Inventario Semi-elaborados" type="V" program="ctprmt012" description=" " />
<mbs name="Costo Standard Semi-Elaborados" type="V" program="ctprmt022" description=" " />
<mbs name="Costos Productos en Proceso" type="V" program="ctprmt024" description=" " />
<mbs name="ACTUALIZACION COSTOS" type="V" program="ctprmt006" description=" " />
<mbs name=" " type="C" program="REPORTES" description=" " />
<mbs name="Inventario Productos en Proceso" type="V" program="ctprrp003" description=" " />
<mbs name="Reporte Produccion Diaria" type="V" program="ctprrp004" description=" " />
<mbs name="Reporte Produccion Mensual" type="V" program="ctprrp014" description=" " />
<mbs name="Historial Precios Liquidacion" type="V" program="ctprrp008" description=" " />
</DDir>
<DDir name="ACTIVOS">
<mbs name="Maestra Activos " type="V" program="acprmt001" description="Adicionar, Consultar informaciones Activos " />
<mbs name="Maestra Movimientos" type="V" program="acprmt002" description="Adicionar, Consultar los codigos transaccionales " />
<mbs name="Liquidar o Dar de Baja Activos " type="V" program="acprmt003" description="Gestion Liquidar Activos " />
<mbs name="Transacciones Activos " type="V" program="acprmt004" description="Adicionar o eliminar Trasacciones " />
<mbs name="Depreciacion Automatica Activos " type="V" program="acprmt005" description="Proceso Depreciacion Activos " />
<mbs name="Inventario Activos" type="V" program="acprrp001" description=" " />
<mbs name="Etiquetas" type="V" program="acprrp010" description=" " />
<mbs name="Depreciacion Activos" type="V" program="acprrp002" description=" " />
<mbs name="Control de Activos y Deprec" type="V" program="acprrp003" description=" " />
<mbs name="Validacion Cuentas de Activos" type="V" program="acprrp004" description=" " />
<mbs name="Activos c/Tasa de Adquisicion" type="V" program="acprrp005" description=" " />
<mbs name="Depreciacion Trimestral y Anual" type="V" program="acprrp006" description=" " />
<mbs name="Liquidacion de Activos (Bajas)" type="V" program="acprrp007" description=" " />
<mbs name="Control Activos Por Departamentos" type="V" program="acprrp009" description=" " />
<mbs name="Control Activos Adiciones" type="V" program="acprrp011" description=" " />
<DDir name="CHEQUES">
<mbs name="Cheques Administrativos RD$" type="V" program="cgprmt005" description="Emision Cheques Adm y Pagos a Suplidores" />
<mbs name="Anular Cheques" type="V" program="cgprmt015" description="Anular Cheques" />
<mbs name="Conciliacion Bancarias" type="V" program="cgprmt011" description="Identificacion de los cheques pagados por el banco" />
<mbs name="Maestra De Bancos" type="V" program="cgprmt014" description="Identificacion de las cuentas contables asignada a una banco" />
<mbs name="CHEQUES" type="V" program="cgprcs001" description="Consulta Cheques Emitidos" />
<mbs name="Relacion Cheques En Transitos" type="V" program="cgprrp017" description="Imprime Cheques en trasito a una fecha dada" />
<mbs name="Relacion cheques Cancelados" type="V" program="cgprrp018" description="Imprime Reporte Cheques Cancelados" />
<mbs name="Chques nulos" type="V" program="cgprrp019" description="Imprime Cheques Nulos" />
<mbs name="Relacion Cheques Emitidos" type="V" program="cgprrp023" description="Imprime Cheques Emitidos" />
</DDir>
<DDir name="CUENTAS POR PAGAR">
<mbs name="Facturas Proveedores" type="V" program="cpprmt001" description="Adicion, Eliminacion Facturas Proveedores" />
<mbs name="Notas Debitos y Creditos" type="V" program="cpprmt002" description="Adicionar, consultar Notas debitos y Creditos" />
<mbs name="Reclasificacion Facturas" type="V" program="cgprmt011" description="Administracion Facturas" />
<mbs name="Estado Cuentas" type="V" program="cpprcs001" description="Consulta Transacciones Suplidores" />
<mbs name="Maestra Proveedores" type="V" program="cpprcs001" description="Consulta Informaciones referente a los proveedores" />
<mbs name="Validacion Transacciones" type="V" program="cpprrp001" description="Imprime Transacciones Proveedores" />
<mbs name="Saldo por antiguedad" type="V" program="cpprrp002" description="Imprime Analisis cuentas por veedores" />
<mbs name="Mayor Auxiliar" type="V" program="cpprrp003" description="Imprime Debitos y Creditos" />
<mbs name="Analisis de Gastos por cuentas contables" type="V" program="cpprrp013" description=" " />
<mbs name="Estado Cuentas Proveedores" type="V" program="cpprrp004" description="Imprime Estados Proveedores" />
<mbs name="Validacion Facturas Cuentas Contables" type="V" program="cpprrp011" description="Imprime Facturas y cuentas contables" />
<mbs name="Validacion Facturas " type="V" program="cpprrp017" description="Imprime Facturas " />
</DDir>
<DDir name="LIQUIDACION MERCANCIAS">
<mbs name=" " type="C" program="MANTENIMIENTOS" description=" " />
<mbs name="Liquidar Productoss" type="V" program="lqprmt001" description="Adicionar, Modificar, Liquidaciones" />
<mbs name=" " type="C" program="REPORTES" description=" " />
<mbs name="Materia Prima" type="V" program="lqprrp001" description="Impresion Liquidacion Materia Prima" />
<mbs name="Productos Terminados" type="V" program="lqprrp004" description="Impresion Liquidacion Productos Terminados" />
<mbs name="Repuestos" type="V" program="lqprrp007" description="Impresion Liquidacion Repuestos" />
</DDir>
<DDir name="CUENTAS POR COBRAR">
<mbs name=" " type="C" program="MANTENIMIENTOS" description=" " />
<mbs name="Mantenimiento CXC" type="V" program="ccprmt001" description="Administracion Cuentas por Cobrar" />
<mbs name="Asig. Recibos X Vendedor" type="V" program="ccprmt002" description="Asigna Recibos a Vendedor" />
<mbs name="Elim. Fisica Movinmiento" type="V" program="ccprmt005" description="Elimina Movimiento" />
<mbs name="Registro Avance de Ordenes" type="V" program="ccprmt003" description="Registra Avance a una Oreden" />
<mbs name="Registro Documento x Cliente"type="V" program="ccprmt007" description="Registra Documento por Cliente" />
<mbs name="Requisiciones Despachos" type="V" program="ccprmt008" description="Controla los requerimientos de los despachos via Vendedor" />
<mbs name="Autorizaciones Despachos" type="V" program="ccprmt009" description="AUTORIZA A DESPACHO HACER DOCUMENTO DE SALIDA DE LAS ORDENES" />
<mbs name="Transporte Despachos" type="V" program="ccprmt010" description="Actualiza las fechas de transporte del despacho" />
<mbs name="Anular Documentos" type="V" program="ccprmt016" description="Actualiza las fechas de transporte del despacho" />
<mbs name="Estado de Cuenta x Cliente" type="V" program="ccprcs001" description="Consulta Estado de Cuenta por Cliente" />
<mbs name="Factura" type="V" program="ccprcs002" description="Consulta Factura Cliente" />
<mbs name="Movimiento de CXC" type="V" program="ccprcs003" description="Visualizacion los Movimientos de las Cuantas por cobrar" />
<mbs name=" " type="C" program="REPORTES" description=" " />
<mbs name="Clientes sin Ventas" type="V" program="ccprrp001" description="Impresion Clientes sin Ventas" />
<mbs name="Saldo x Antiguedad" type="V" program="ccprrp003" description="Impresion Estado de Cuenta por Antiguedad" />
<mbs name="Documentos" type="V" program="ccprrp005" description="Impresion Documentos por Cliente" />
<mbs name="Documentos X Vendedor" type="V" program="ccprrp034" description="Impresion Documentos por Vendedor" />
<mbs name="Mayor Auxiliar" type="V" program="ccprrp006" description="Impresion Mayor Auxiliar" />
<mbs name="Registro Ventas (ITEBIS)" type="V" program="ccprrp007" description="Impresion Ventas Registradas con ITBIS" />
<mbs name="Analisis Saldo Pendiente" type="V" program="ccprrp009" description="Impresion Analisis de Saldo" />
<mbs name="Estados de Cuenta" type="V" program="ccprrp014" description="Impresion Estado de Cuentas" />
<mbs name="Estados de Cuenta CONDUCES" type="V" program="ccprrp039" description="Impresion Estado de Cuentas INCLUYENDO CONDUCES" />
<mbs name="Partida Pend. Cobro/Vendedor"type="V" program="ccprrp016" description="Impresion Partida Pendiente Cobro por Vendedor" />
<mbs name="Estado Ctas. Pend. Cobro" type="V" program="ccprrp018" description="Impresion Estados Cuentas Pendientes de Cobros" />
<mbs name="Generacion Comisiones" type="V" program="ccprrp048" description="Impresion de Comisiones" />
<mbs name="Balances de Avances Pend." type="V" program="ccprrp025" description="Impresion Balances Avances Pendientes" />
<mbs name="Reporte de Ventas" type="V" program="ccprrp001" description="Impresion Ventas" />
<mbs name="Analisis Saldo por Vendedor" type="V" program="ccprrp027" description="Impresion Saldo por Vendedor" />
<mbs name="COBROS" type="V" program="ccprrp047" description="Impresion Saldo por Vendedor" />
</DDir>
<DDir name="VENTAS">
<mbs name="Clientes" type="V" program="veprmt101" description="Administracion de clientes, Adicionar, Modificar" />
<mbs name="Facturas" type="V" program="veprmt001" description="Creacion Facturas" />
<mbs name="ACTUALIZACION VENTAS" type="V" program="veprmtact" description="PROCESO EN BATCH ACTALIZACION VENTAS" />
<mbs name="ACTUALIZACION PRECIOS VENTAS" type="V" program="veprmt024" description="PROCESO VALORIZACION PRECIOS EN USD A RD" />
<mbs name="Notas de creditos" type="V" program="veprmt031" description="Creacion Documento Notas de Creditos" />
<mbs name="Contizacion" type="V" program="veprmt049" description="Cotizaciones" />
<mbs name="Autorizaciones Descuentos" type="V" program="veprmt040" description="Autorizaciones Descuentos" />
<mbs name="Composicion KIT" type="V" program="veprmt032" description="Asociar productos" />
<mbs name="IMPRESION COTIZACION" type="V" program="veprrp049" description="Visualizacion Cotizaciones a pantalla" />
<mbs name="Porcentaje Negociacion" type="V" program="veprmt038" description="Determina el % Negociacion Clientes" />
<mbs name="Administracion Oferras" type="V" program="veprmt023" description="Administracion Ofertas" />
<mbs name="Zonas" type="V" program="veprmt004" description="Administracion Zonas" />
<mbs name="Provincias" type="V" program="veprmt013" description="Administracion Provincias" />
<mbs name="Ciudades" type="V" program="veprmt009" description="Administracion Ciudades" />
<mbs name="Codiciones de Pagos" type="V" program="veprmt002" description="Agregar, Consultar o Eliminar Condiciones de Pago" />
<mbs name="Transportistas" type="V" program="veprmt007" description="Agregar, Consultar o Eliminar Transportitas" />
<mbs name="Zonas-Provincias" type="V" program="veprmt005" description="Asignacion de Zonas por Provincia" />
<mbs name="Itbis y Prima" type="V" program="veprmt012" description="Asignacion Itbis y Taza de Cambio" />
<mbs name="Tarifa Tranporte" type="V" program="veprmt015" description="Aplicar Tarifa de Transporte a una Zona " />
<mbs name="Reimpresion Recibos" type="V" program="veprfu001" description="Reimprime Recibos" />
<mbs name="Control Entraga Factura"type="V" program="veprmt019" description="Administracion Entrega Factura" />
<mbs name="Cambio Vendedor/Cte." type="V" program="veprmt037" description="Actualiza Vendedor a Cliente" />
<mbs name="Notas de Creditos" type="V" program="veprmt031" description="Registro de Notas de Creditos a Clientes" />
<mbs name="Presupuesto x Productos"type="V" program="veprmt045" description="Analisis Presupuesto de un Producto" />
<mbs name="Maestra de Vendedores" type="V" program="veprmt046" description="Adicionar, Consular o Eliminar un Vendedor" />
<mbs name="Tipos Negocios" type="V" program="ccprmt015" description="Adicionar, Consular o Eliminar Maestra Tipos Negocios" />
<mbs name="Administracion NCF" type="V" program="veprmt020" description="Adicionar, Consular o Eliminar parametros NCF" />
<mbs name=" " type="C" program="CONSULTAS" description=" " />
<mbs name="Facturas" type="V" program="veprcs001" description="Consulta facturas existentes" />
<mbs name=" " type="C" program="REPORTES" description=" " />
<mbs name="Validacion facturas" type="V" program="veprrp001" description="Reporta: Numero de Factura, Valor Bruto, Desc,ITBIS Y Desc." />
<mbs name="Margen por grupo producto" type="V" program="veprrp015_1" description=" Reporta validadcion de las facturas" />
<mbs name="Ranking Ventas" type="V" program="geprrp013" description="Lista los productos en orden desendente por cantidad o valor" />
<mbs name="Informe Ventas" type="V" program="veprrp015" description="Informe ventas brutas y reales" />
<mbs name="Informe Ventas Vendedores" type="V" program="veprrp050" description="Informe ventas brutas y reales solo vendedores" />
<mbs name="Informe Cotizaciones" type="V" program="veprrp048" description="Informe Cotizaciones" />
<mbs name="Clientes por Vendedores" type="V" program="veprrp011" description="Detalla los clientes organizados por vendedor" />
<mbs name="Validacion sucursales" type="V" program="veprrp001_1" description=" Reporta validadcion de las facturas" />
</DDir>
<DDir name="SERVICIOS">
<mbs name="Requisicion Servicios" type="V" program="svprmt001" description="Administracion Servicios" />
</DDir>
<DDir name="PRODUCCION">
<mbs name="Orden Pedidos" type="V" program="prprmt008" description="Colocar Ordenes de Pedidos a Clientes" />
<mbs name="Periodos" type="V" program="prprmt001" description="Control Periodos Semana" />
<mbs name="Produccion Diaria" type="V" program="prprmt003" description="Produccion Diaria Personal Productivo" />
<mbs name="Maestra Operaciones" type="V" program="prprmt004" description="Operaciones" />
<mbs name="Orden Produccion" type="V" program="prprmt006" description="Orden Produccion" />
<mbs name="Actualizacion Ordenes" type="V" program="NO USAR" description="Actualizacion Ordenes prprmt007" />
<mbs name="Administracion Areas" type="V" program="prprmt010" description="Areas" />
<mbs name="Administracion Ordenes" type="V" program="prprmt011" description="Actualiza, Monitorea las ordenes de pedidos" />
<mbs name="Documentos Ordenes" type="V" program="prprmt020" description="Adicionar documentos a las ordenes" />
<mbs name="Transferencia Datos" type="V" program="impordenes" description="Transferencias Ordenes, Cotizaciones, Clientes" />
<mbs name="Consulta de Ordenes " type="V" program="prprcs001" description="Consulta Ordenes de Pedido " />
<mbs name="Ordenes VENDEDORES " type="V" program="prprrp016" description="Informacion Ordenes de Pedidos, Despachos VENDEDOR " />
<mbs name="Ordenes NO VENDEDORES " type="V" program="prprrp116" description="Informacion Ordenes de Pedidos, Despachos NO VENDEDOR " />
</DDir>
<DDir name="COMPRAS">
<mbs name="Suplidores" type="V" program="coprmt001" description="Administracion Suplidores" />
<mbs name="Ordenes de Compras" type="V" program="coprmt009" description="Administracion Ordenes De Compras" />
<mbs name="Monedas" type="V" program="coprmt019" description="Mantenimiento Monedas" />
<mbs name="Puertos" type="V" program="coprmt011" description="Mantenimiento Puertos" />
<mbs name="Terminos de Pagos" type="V" program="coprmt016" description="condiciones de Pagos a Suplidores" />
<mbs name="Paises" type="V" program="coprmt010" description="Paises" />
<mbs name="Abrir y Cerrar Ordenes" type="V" program="coprmt015" description="Podra abrir una orden Cerrada" />
<mbs name="Requisicion Compras" type="V" program="coprmt025" description="Adicione, Modifique Requisiciones" />
<mbs name="Bienes y Servicios Por Suplidor" type="V" program="coprcs010" description="Consulta las ordenes colocadas por Suplidor" />
<mbs name="Ordenes Bien y/o Servicios" type="V" program="coprcs010" description="Visualizacion Ordenes colocadas por Suplidor y Producto" />
<mbs name="Ordenes de Compras" type="V" program="coprcs009" description="Visualizacion Ordenes " />
<mbs name="Catalogo Suplidores" type="V" program="coprrp001" description="Impresion Suplidores por Tipo" />
<mbs name="Cronologico Ordenes" type="V" program="coprrp004" description="Ordenes secuencialmente Impresas" />
<mbs name="Validacion Ordenes" type="V" program="coprrp019" description="Impresion Detallada de la orden de compras" />
<mbs name="Validacion Requisiciones" type="V" program="coprrp007" description="Impresion Detallada de las requisiciones de compras" />
<mbs name="Ordenes Pendientes" type="V" program="coprrp018" description="Impresion Ordenes de compras Pendientes" />
<mbs name="Compra y/o Servicios" type="V" program="coprrp025" description="Impresion Detallada Bienes y/o Servicios" />
<mbs name="Compra Por Suplidores" type="V" program="coprrp029" description="Impresion Detallada Compras Bienes y/o Servicios Por Suplidor" />
</DDir>
<DDir name="MATERIA PRIMA">
<mbs name="Catalogo Materia Prima" type="V" program="inprmt002" description="Adicionar, Modificar Codigos Materia Prima" />
<mbs name="Tipos Movimientos" type="V" program="inprmt005" description="Control Periodos Semana" />
<mbs name="Unidades Medidas" type="V" program="inprmt007" description="Codificacion Unidades Medidas" />
<mbs name="Conteo Fisico Y Ajustes" type="V" program="inprmt008" description="Hacer Conteo ciclico de las Materia Primas" />
<mbs name="Costo Standard" type="V" program="inprmt013" description="Adicionar, Modificar y Consultar Costos Materia Prima" />
<mbs name="Tipos Movimientos" type="V" program="inprmt005" description="Control Periodos Semana" />
<mbs name="Trasacciones Inventario" type="V" program="inprmt046" description="Afecta el inventario de los Materiales" />
<mbs name="Requisicion de Materiales" type="V" program="inprmt036" description="Adiciona, Modificacion Requisicion" />
<mbs name="Actualiacion Documentos" type="V" program="NO DISPONIBLE" description="Modificacion de un documento de almacen" />
<mbs name="Anular Documentos" type="V" program="inprmt066" description="Anulacion de documentos" />
<mbs name="Catalogo Materia Prima" type="V" program="inprcs004" description="Catalogo en forma horizontal conteniendo los codigos y descripcion" />
<mbs name="Movimientos Materia Prima" type="V" program="inprcs006" description="Orden Produccion" />
<mbs name="Dias Inventarios" type="V" program="inprcs007" description="Visualizacion de los dias de inventario por orden" />
<mbs name="Catalogo Materia Prima" type="V" program="inprrp002" description="Impresion Catalogo de Materia Prima" />
<mbs name="Transacciones Materia Prima" type="V" program="inprrp003" description="Imprime los debitos y creditos de cada producto" />
<mbs name="Dias de Inventarios" type="V" program="inprrp004" description="Calcula la rotacion de cata Articulo" />
<mbs name="Documentos" type="V" program="inprrp005" description="Imprime los documentos existentes" />
<mbs name="Tipos de Movimientos" type="V" program="inprrp008" description="Catalogo de Tipos de Movimientos" />
<mbs name="Existencia a Diferentes Fechas" type="V" program="inprrp009" description="Impresion Existencia a una fecha dada y a otra fecha" />
<mbs name="Existencia con Entrasas y Salidas" type="V" program="inprrp028" description="Existencia con E y S" />
<mbs name="Operacion Por Movimientos" type="V" program="inprrp011" description="Sumatoria por codigo y tipo movimiento" />
<mbs name="Ajuste Material" type="V" program="inprrp013" description="Impresion ajustes" />
<mbs name="Inventario Comparativo Teorico VS Fisico" type="V" program="inprrp009" description="Luego del conteo fisico, debe listar este reporte" />
<mbs name="Maestra Costo Standard" type="V" program="inprrp032" description="Impresion Costos Standard Materia Prima" />
<mbs name="Entrada al diario" type="V" program="edprrp001" description="Impresio entrada al diario y afectacion al diario General" />
</DDir>
<DDir name="PRODUCTOS TERMINADOS">
<mbs name="Catalogo Productos" type="V" program="ipprmt002" description="Adicionar, Modificar Codigos Productos Terminados" />
<mbs name="Catalogo Productos NUEVOS" type="V" program="ipprmt002_1" description="Adicionar, Modificar Codigos Productos Terminados" />
<mbs name="Catalogo Tipos Movimientos" type="V" program="ipprmt003" description="Adiciona, Modifica Conceptos diferentes de Movimientos" />
<mbs name="Transacciones Inventario" type="V" program="ipprmt044" description="Realizar todas las transaccion manejo inventario" />
<mbs name="Anular Documentos" type="V" program="ipprmt064" description="Permite Anular un documento" />
<mbs name="Conteo Fisico y Ajustes" type="V" program="ipprmt008" description="Conteo ciclico de los productos" />
<mbs name="Costo Standard" type="V" program="ipprmt013" description="Administracion costos Productos" />
<mbs name="Origen Producto" type="V" program="ipprmt004" description="Identifica el Origen del producto terminado" />
<mbs name="Clase" type="V" program="ipprmt005" description="Administracion Codigos Clase Productos" />
<mbs name="Grupos" type="V" program="ipprmt012" description="Administracion Grupos Productos" />
<mbs name="Tipo Producto" type="V" program="ipprmt010" description="Identifica el tipo del producto terminado" />
<mbs name="Medidas" type="V" program="ipprmt014" description="Administracion Codigos Medidas Productos" />
<mbs name="Factor Conversion" type="V" program="ipprmt018" description="Este factor colocado en este programa, convierte de unidad a medida desada" />
<mbs name="Precios Productos" type="V" program="ipprmt017" description="Administracion Precios Productos" />
<mbs name="ACTUALIZACION CODIGOS" type="V" program="codigos" description="PROGRAMA PARA ACTUALIZAR LOS CODIGOS ACTUALES" />
<mbs name=" " type="C" program="CONSULTAS" description=" " />
<mbs name="Catalogo Productos" type="V" program="ipprcs002" description="Visualizacion productos terminados" />
<mbs name="Balance Productos" type="V" program="ipprcs006" description="Visualiza, debitos y creditos transacciones productos" />
<mbs name="Existencia Productos" type="V" program="ipprcs004" description="Visualizacion Existena a partir de un grupo o todos los productos" />
<mbs name="Existencia Productos Con precios" type="V" program="ipprcs004_1" description="Visualizacion Existena a partir de un grupo o todos los productos con precios" />
<mbs name="Hoja Vida Producto" type="V" program="ipprcs042" description="Busca las transacciones generadas historicamente cada ITEMS en los inventarios, costos y precios" />
<mbs name="Catalogo Productos Terminados" type="V" program="ipprrp002" description="Impresion Catalogo de Productos Terminados" />
<mbs name="Productos Terminados Con Costos" type="V" program="ipprrp002_1" description="Impresion Catalogo de Productos Terminados Con costos STD" />
<mbs name="Transacciones Productos Terminados" type="V" program="ipprrp003" description="Imprime los debitos y creditos de cada producto" />
<mbs name="Documentos" type="V" program="ipprrp007" description="Imprime los documentos existentes" />
<mbs name="Informacion Transacciones por Documentos" type="V" program="ipprrp046" description="Reporta los documentos, fechas, cantidades" />
<mbs name="Tipos de Movimientos" type="V" program="ipprrp008" description="Catalogo de Tipos de Movimientos" />
<mbs name="Existencia a Diferentes Fechas" type="V" program="ipprrp009" description="Impresion Existencia a una fecha dada y a otra fecha" />
<mbs name="Operacion Movimientos Detallado" type="V" program="ipprrp004" description="Sumatoria por codigo y tipo movimiento Detallado" />
<mbs name="Produccion Ordenes" type="V" program="ipprrp004_1" description="Produccion por material" />
<mbs name="Operacion Por Movimientos" type="V" program="ipprrp010" description="Sumatoria por codigo y tipo movimiento" />
<mbs name="Resumen Actividad de Mes" type="V" program="ipprrp011" description="Panoramico Actividades del mes" />
<mbs name="Existencias Con E/S" type="V" program="ipprrp018" description="Resumen trasacciones por codigo con etradas y salidos" />
<mbs name="Maestra Costo Standard" type="V" program="ipprrp005" description="Impresion Costos Standard Materia Prima" />
<mbs name="Dias de Inventario" type="V" program="ipprrp013" description="Impresio entrada al diario y afectacion al diario General" />
</DDir>
<DDir name="REPORTES ENTRADAS PRODUCTOS">
<mbs name="Informe de Entrada" type="V" program="alprmt006" description="Adicionar Informe de entrada de todos los inventarios" />
</DDIR>
<DDir name="REPUESTOS">
<mbs name="Reporte de Entrada" type="V" program="irprmt006" description="Realizar Entradas inventario" />
<mbs name="Otros Mov. de Respuestos" type="V" program="irprmt036" description="Adiciona, Modifica, Consulta Otros Movimientos" />
<mbs name="Anular Doc. Mov. Repuestos" type="V" program="irprmt066" description="Anula Documentos" />
<mbs name="Maestra de Repuestos" type="V" program="irprmt002" description="Adicionar, Modificar, Productos de Respuestos" />
<mbs name="Tipos de Movimientos" type="V" program="irprmt003" description="Adicionar, Modificar Tipos de Movimientos" />
<mbs name="Unidades de Medidas" type="V" program="irprmt007" description="Adiciona, CModifica, Consulta Unidades de Medidas" />
<mbs name="Costo Standard" type="V" program="irprmt004" description="Adicionar, Modificar, Consultar Costos" />
<mbs name="Maquinas" type="V" program="irprmt009" description="Adicionar, Modificar, Consultar Maquinas" />
<mbs name="CONTEO FISICO" type="V" program="irprcs008" description="Administracion conteo fisico con ADDINS PDA" />
<mbs name="Respuestos Maquinas" type="V" program="irprmt010" description="Adiciona, Modifica, Consulta Repuestos Maquinas" />
<mbs name="Motores Electricos" type="V" program="irprmt011" description="Adiciona, Modifica, Consulta Motores Electricos" />
<mbs name="Sub-Grupos" type="V" program="irprmt013" description="Adicionar, Modificar, Consultar Sub-Grupos" />
<mbs name="Invetario Peretuo" type="V" program="irprmt057" description="Adicionar, Modificar Conultar Inventario Perpetuo" />
<mbs name="Movimientos por Usuario" type="V" program="irprmt014" description="Adiciona, Modifica, Consulta Mov. por Usuario" />
<mbs name="Materiales por Repuestos" type="V" program="irprmt067" description="Adicionar, Modificar, Consultar Mat. por Respuestos" />
<mbs name="Departamento - Maquinas" type="V" program="irprmt068" description="Adicionar, Modificar, Consultar Depto Maquinas" />
<mbs name="Reportes de Entrada" type="V" program="irprcs001" description="Consulta de Reportes de Entrada" />
<mbs name="Maestra de Repuestos" type="V" program="irprcs004" description="Consulta Maestra de Repuestos" />
<mbs name="Balance - Respuestos" type="V" program="irprcs006" description="Consulta Balance Repuestos" />
<mbs name="Consumo de Resp. x Maquinas" type="V" program="irprcs007" description="Consulta Consumo de Maquinas" />
<mbs name="Catalogo de Respuestos" type="V" program="irprrp002" description="Imprime Catalogo de Repuestos" />
<mbs name="Mov. de Repuestos" type="V" program="irprrp003" description="Mov. de Repuestos" />
<mbs name="Tipos de Movimientos" type="V" program="irprrp004" description="Imprime Tipos de Movimientos" />
<mbs name="Valorizacion Inventario" type="V" program="irprrp005" description="Imprime Valorozacion Inventario" />
<mbs name="Existencias de Respuestos" type="V" program="irprrp006" description="Imprime Existencias de Respuestos" />
<mbs name="Validacion de Documentos" type="V" program="irprrp007" description="Imprime Validacion de DOcumentos" />
<mbs name="Consumo de Rep. x Maquina" type="V" program="irprrp008" description="Imprime Consumo de Rep. x Maquina" />
<mbs name="Operaciones x Tipo Mov" type="V" program="irprrp009" description="Imprime Operaciones x Tipo Mov" />
<mbs name="Precio Std-Ultima Comp." type="V" program="irprrp011" description="Imprime Precio Std-Ultima Comp." />
<mbs name="Conteo de Respuesto" type="V" program="irprrp012" description="Imprime Conteo de Respuesto" />
<mbs name="Validacion Maestra Maquinas" type="V" program="irprrp013" description="Imprime Validacion Maestra Maquinas" />
<mbs name="Validcion Maestra Motores" type="V" program="irprrp014" description="Imprime Validacion Maestra Motores" />
<mbs name="Validacion Sub-Grupo" type="V" program="irprrp016" description="Imprime Validacion Sub-Grupo" />
<mbs name="Documentos Eliminados" type="V" program="irprrp017" description="Imprime Documentos Eliminados" />
<mbs name="Existensia Ant./Actual" type="V" program="irprrp018" description="Imprime Existensia Ant./Actual" />
<mbs name="Panoranico Consumo" type="V" program="irprrp019" description="Imprime Panoranico Consumo" />
<mbs name="Conteo Perpetuo" type="V" program="irprrp020" description="Imprime Conteo Perpetuo" />
<mbs name="Diferencia Inv. Perpetuo" type="V" program="irprrp021" description="Imprime Diferencia Inv. Perpetuo" />
<mbs name="Respuesto S/Compra" type="V" program="irprrp010" description="Imprime Respuesto S/Compra" />
<mbs name="Documentos Modificados" type="V" program="irprrp023" description="Documentos Modificados" />
<mbs name="Costos Estandares" type="V" program="irprrp039" description="Imprime Costos Estandares" />
<mbs name="Historial Precio Local" type="V" program="irprrp026" description="Imprime Historial Precio Local" />
<mbs name="Documento x Suplidor" type="V" program="irprrp027" description="Imprime Documento x Suplidor" />
<mbs name="Repuesto en Cero" type="V" program="irprrp028" description="Imprime Repuesto en Cero" />
<mbs name="Existencia Minina" type="V" program="irprrp029" description="Imprime Existencia Minina" />
<mbs name="Consumo En x Dia" type="V" program="cgprrp030" description="Imprime Consumo En x Dia" />
<mbs name="Resumen Catalogo Repuesto" type="V" program="irprmt031" description="Imprime Resumen Catalogo Repuesto" />
<mbs name="Formulacion Resp. Nueva" type="V" program="irprrp040" description="Imprime Formulacion Resp. Nueva" />
<mbs name="Ranking Uso de Repuesto" type="V" program="irprrp041" description="Imprime Ranking Uso de Repuesto" />
<mbs name="Comparativo Teorico-Fisico" type="V" program="irprrp042" description="Lista los repuestos contados fisicamente comparandolo con el fisico, valorizado al costo standard" />
</DDir>
<DDir name="SUMINISTROS">
<mbs name=" " type="C" program="MANTENIMIENTOS" description=" " />
<mbs name="Maestra Suministros" type="V" program="isprmt002" description="Adiciona, Modifica, Consulta codigos suministro oficina" />
</DDIr>
<DDir name="NOMINA">
<mbs name=" " type="C" program="MANTENIMIENTOS" description=" " />
<mbs name="Movimientos Fijos Emp." type="V" program="noprmt002" description="Movimientos fijos de empleados" />
<mbs name="Maesta de Empleados" type="V" program="noprmt003" description="Mantenimiento de empleados" />
<mbs name="Codigo de Movimientos" type="V" program="noprmt001" description="Mantenimiento de movimientos" />
<mbs name="Novedades de la Nomina" type="V" program="noprmt007" description="Novedades con la nomina" />
<mbs name="Generacion de la Nomina" type="V" program="noprmt008" description="Mantenimiento Nomina" />
<mbs name="Control Periodo de Nomina" type="V" program="noprmt009" description="Periondos de la nomina" />
<mbs name="Control Prest. y Facturas" type="V" program="noprmt011" description="Mantenimiento prestamos y facturas" />
<mbs name="Act./Desact. Empleado" type="V" program="noprmt016" description="Activa y desactiva empleado" />
<mbs name="Equivalencia Movimiento" type="V" program="noprmt017" description="Movomientos" />
<mbs name="Pago Prest. en Efectivo" type="V" program="noprmt018" description="Pago prestamos" />
<mbs name="Cambio de Departamento" type="V" program="noprmt019" description="Cambio de departamento" />
<mbs name="Activa Nomina" type="V" program="nomnmt000" description="Activa nomina" />
<mbs name="Maestra de Departamentos" type="V" program="noprmt023" description="Mantenimiento de departamentos" />
<mbs name="Maestra de Puestos" type="V" program="noprmt024" description="Mantenimiento de puestos" />
<mbs name="PARAMETROS ISR" type="V" program="noprmt025" description="Modifica el impuesto sobre la renta" />
<mbs name="Movimiento Totalizado Nomina" type="V" program="noprcs001" description="TOTAL POR NOMINA" />
<mbs name="Moviento por Nomina " type="V" program="noprcs002" description="DETALLE MOVIMIENTOS POR NOMINA" />
<mbs name="Acumulados por empleados " type="V" program="noprcs004" description="VISUALIZA SUMATORIA POR NOVEDAD" />
<mbs name="Empleado Por Novedades " type="V" program="noprcs005" description=" " />
<mbs name="Balance Por Empleado " type="V" program="noprcs006" description="NOVEDADES POR EMPLEADOS" />
<mbs name="Nomina de Pago" type="V" program="noprrp001" description="Impresion de la nomina" />
<mbs name="Empleados" type="V" program="noprrp039" description="Empleados" />
<mbs name="Catalogo de Movimientos" type="V" program="noprrp004" description="Imprimir catalogo de moviemientos" />
<mbs name="Generacion de Volantes" type="V" program="noprrp008" description="Impresion de volantes" />
<mbs name="Generacion File para Bancos" type="V" program="noprrp038" description="Genera archivo de texto para los bancos" />
<mbs name="Movimientos de Empleados" type="V" program="noprrp009" description="Impresion movimiento por empleados" />
<mbs name="Prestamos Cooperativa" type="V" program="noprrp015" description="Impresion de prestamo con la cooperativa" />
<mbs name="Liquidacion de Empleados" type="V" program="NO DISPON" description="NO DISPONIBLE" />
<mbs name="Formulario DGT3" type="V" program="noprrp035" description="Imprime formulario DGT3" />
<mbs name="Pago TSS" type="V" program="noprmt026" description="Impresion pago TSS" />
</DDir>
<DDir name="ADMINISTRACION DE PERSONAL">
<mbs name="Departamentos" type="V" program="adprmt001" description="Adicionar, Eliminar de departamentos" />
<mbs name="Puestos" type="V" program="adprmt003" description="Adicionar, Eliminar de puestos" />
<mbs name="Nivel Educacion" type="V" program="adprmt004" description="Mantenimiento nivel educativo" />
<mbs name="Pericias" type="V" program="adprmt005" description="Pericias" />
<mbs name="Nacionalidades" type="V" program="adprmt006" description="Adiciona, Elimina nacionalidades" />
<mbs name="Accion Seleccion/Cotrat." type="V" program="adprmt007" description="Adicion de cotrataciones" />
<mbs name="Movimientos Empleados" type="V" program="adprmt008" description="Movimiento de empleados" />
<mbs name="Profesiones" type="V" program="adprmt009" description="Matenimiento de profesiones" />
<mbs name="Requerimiento de Personal" type="V" program="adprmt010" description="Requerimiento de personal" />
<mbs name="Solicitud de Empleo" type="V" program="adprmt011" description="SOLICITUD EMPLEOS" />
<mbs name="Proceso Seleccion/Cotrat" type="V" program="adprmt016" description="Proceso y seleccion de contrataciones" />
<mbs name="Departamentos Coporativos" type="V" program="adprmt031" description="Departamentos corporativos" />
<mbs name="Accion de Personal" type="V" program="adprmt017" description="Adiciona, Modifica accion de personal" />
<mbs name="Registro de Informacion" type="V" program="adprmt018" description="Adiciona informacion" />
<mbs name="Adiestramiento" type="V" program="adprmt019" description="Adiciona, Elimina adiestramientos" />
<mbs name="Entrada/Salida de Empleado" type="V" program="adprmt020" description="Adicion/Elimina empleado" />
<mbs name="Amonestacion" type="V" program="adptmt021" description="Adiciona amonestacion a empleado" />
<mbs name="Act. Maestra de Empleados" type="V" program="adprmt022" description="Maestra de empleados" />
<mbs name="Permisos para Tardanzas" type="V" program="adprmt023" description="Adiciona permisos" />
<mbs name="Formulario de Vacaciones" type="V" program="adprmt027" description="Formulario para vacaciones" />
<mbs name="Empleados Temporeros" type="V" program="adprmt025" description="Maestra de empleados temporeros" />
<mbs name="Cedulas" type="V" program="adprmt028" description="Adicionar cedula de empleados" />
<mbs name="Plan de Seguro de Vida" type="V" program="adprmt029" description="Administracion de planes de seguros" />
<mbs name="Periodo Seguridad Social" type="V" program="adprmt030" description="Periodo seguridad social" />
<mbs name="HeadCount" type="V" program="adprrp018" description="DESCRIPCION" />
<mbs name="Departamentos" type="V" program="adprrp001" description="Departamentos de la empresa" />
<mbs name="Empleados" type="V" program="adprrp011" description="Reporte de empleados" />
<mbs name="Solicitud por Departamentos" type="V" program="adprrp012" description="Reporte de Solicitud por Departamentos" />
<mbs name="Incapacidad" type="V" program="adprrp021" description="Reporte de Incapacidades" />
<mbs name="Maestra de Empleados(Resumen)" type="V" program="adprrp036" description="Resumen Maestra de Empleados" />
</DDir>
</mbs>
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" version="3.01">
<report:Settings RWPageWidth="4.50inch" RWPageLength="4.50inch" RWLeftMargin="0.5inch" RWTopMargin="0.5inch" RWRightMargin="0.5inch" RWBottomMargin="0.5inch">
<report:FormatList>
<report:Format-SVG/>
<report:Format-PDF/>
<report:Format-image/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../veprmt022.rdd" RWFglReportName="factura"/>
<rtl:stylesheet>
<PXML>
<rtl:match nameConstraint="Report">
<MINIPAGE name="Page Root" width="max" length="min">
<LAYOUTNODE name="LayoutNode" width="min" length="min" fontSize="10" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="nombre_cia" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="nombre_cia Value" width="width(&quot;M&quot;)*25" length="1cm" floatingBehavior="enclosed" text="{{nombre_cia}}"/>
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="hora Value" floatingBehavior="enclosed" text="{{hora}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode2" width="min" length="min" fontSize="8" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox" width="3cm" floatingBehavior="enclosed" text="ARTICULO(S)"/>
<WORDBOX name="WordBox1" width="3cm" floatingBehavior="enclosed" text="CANTIDAD"/>
<WORDBOX name="WordBox2" width="2cm" floatingBehavior="enclosed" text="PRECIO"/>
<WORDBOX name="WordBox3" width="2cm" floatingBehavior="enclosed" text="VALOR"/>
</LAYOUTNODE>
<rtl:match nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="MiniPage" width="min" length="min" fontSize="8" layoutDirection="leftToRight">
<rtl:input-variable name="z.descripcion" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="z.descripcion Value" width="3cm" floatingBehavior="enclosed" text="{{z.descripcion}}"/>
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="z.cantidad Value" width="1cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{z.cantidad}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="z.precio Value" width="2.5cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{z.precio}}"/>
<rtl:input-variable name="z.valor" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="z.valor Value" width="2.3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{z.valor}}"/>
</MINIPAGE>
</rtl:match>
<MINIPAGE name="MiniPage2" width="min" length="min" layoutDirection="leftToRight">
<MINIPAGE name="MiniPage3" width="min" length="min" fontSize="8" fontBold="true">
<WORDBOX name="WordBox4" width="7.4cm" floatingBehavior="enclosed" textAlignment="right" text="Bruto"/>
<WORDBOX name="WordBox5" width="7.4cm" floatingBehavior="enclosed" textAlignment="right" text="Descuento"/>
<WORDBOX name="WordBox6" width="7.4cm" floatingBehavior="enclosed" textAlignment="right" text="ITBIS"/>
<WORDBOX name="WordBox7" width="7.4cm" floatingBehavior="enclosed" textAlignment="right" text="SUB-TOTAL"/>
<WORDBOX name="WordBox8" width="7.4cm" floatingBehavior="enclosed" textAlignment="right" text="NETO"/>
</MINIPAGE>
<MINIPAGE name="MiniPage1" width="min" length="min" fontSize="8" fontBold="true">
<rtl:input-variable name="x.bruto" type="FGLNumeric" expectedLocation="expectedBefore"/>
<DECIMALFORMATBOX name="x.bruto Value" width="1.3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.bruto}}"/>
<rtl:input-variable name="x.descuento" type="FGLNumeric" expectedLocation="expectedBefore"/>
<DECIMALFORMATBOX name="x.descuento Value" width="1.3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.descuento}}"/>
<rtl:input-variable name="x.itbis" type="FGLNumeric" expectedLocation="expectedBefore"/>
<DECIMALFORMATBOX name="x.itbis Value" width="1.3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.itbis}}"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<DECIMALFORMATBOX name="x.sub_total Value" width="1.3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.sub_total}}"/>
<rtl:input-variable name="x.neto" type="FGLNumeric" expectedLocation="expectedBefore"/>
<DECIMALFORMATBOX name="x.neto Value" width="1.3cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.neto}}"/>
</MINIPAGE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" version="3.01">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5inch" RWTopMargin="0.5inch" RWRightMargin="0.5inch" RWBottomMargin="0.5inch">
<report:FormatList>
<report:Format-SVG/>
<report:Format-PDF/>
<report:Format-image/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../veprmt022.rdd" RWFglReportName="r_registros"/>
<rtl:stylesheet>
<PXML>
<rtl:match nameConstraint="Report">
<MINIPAGE name="Page Root" width="max" length="max">
<MINIPAGE name="MiniPage" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="nombre_cia" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="nombre_cia Value" width="width(&quot;M&quot;)*25" floatingBehavior="enclosed" text="{{nombre_cia}}"/>
<rtl:input-variable name="hora" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="hora Value" floatingBehavior="enclosed" text="{{hora}}"/>
</MINIPAGE>
<MINIPAGE name="MiniPage1" width="min" length="min" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox" width="2cm" floatingBehavior="enclosed" text="FECHA"/>
<WORDBOX name="WordBox1" width="2cm" floatingBehavior="enclosed" text="FACTURA"/>
<WORDBOX name="WordBox2" width="2cm" floatingBehavior="enclosed" textAlignment="right" text="VALOR"/>
</MINIPAGE>
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.fecha_factura Value" width="2cm" floatingBehavior="enclosed" text="{{x.fecha_factura}}"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.factura Value" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="----------#" value="{{x.factura}}"/>
<rtl:input-variable name="x.neto" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="x.neto Value" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{x.neto}}"/>
</LAYOUTNODE>
</rtl:match>
</rtl:match>
<MINIPAGE name="MiniPage2" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox3" width="4cm" floatingBehavior="enclosed" text="T. CONDI"/>
<rtl:input-variable name="total_condicion" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="total_condicion Value" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{total_condicion}}"/>
</MINIPAGE>
</rtl:match>
<MINIPAGE name="MiniPage3" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox4" width="4cm" floatingBehavior="enclosed" text="T. GENERAL"/>
<rtl:input-variable name="total_venta" type="FGLNumeric" expectedLocation="expectedHere"/>
<DECIMALFORMATBOX name="total_venta Value" width="2cm" anchorX="1" floatingBehavior="enclosed" textAlignment="right" format="---,---,---,--&amp;.&amp;&amp;" value="{{total_venta}}"/>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm databaseName="smarmotech" gstVersion="22800" name="ManagedForm" uid="{d1b05674-a30a-4ff3-a265-cefa9dad0fb7}">
<AGSettings/>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{714977ff-1ed5-47e2-8537-b5a5b06a655d}" where="">
<RecordField colName="cod_cia" fieldIdRef="13" fieldType="TABLE_COLUMN" name="iptb00002.cod_cia" sqlTabName="iptb00002" sqlType="SMALLINT" table_alias_name="" uid="{177513e2-c36a-4ff5-af79-402ea5142725}"/>
<RecordField colName="nombre_cia" fieldIdRef="16" name="nombre_cia" sqlTabName="formonly" table_alias_name="" uid="{b7e7ced3-e314-4fef-909f-8d17ec0a8d17}"/>
<RecordField colName="cod_n" fieldIdRef="9" fieldType="TABLE_COLUMN" name="iptb00002.cod_n" sqlTabName="iptb00002" sqlType="SMALLINT" table_alias_name="" uid="{d6d930d0-2bbf-40f1-ae6e-2da3e61792e3}"/>
<RecordField colName="cod_grupo" fieldIdRef="10" fieldType="TABLE_COLUMN" name="iptb00002.cod_grupo" sqlTabName="iptb00002" sqlType="SMALLINT" table_alias_name="" uid="{10d96f33-4f3f-4055-acbb-9eb73e6ed0eb}"/>
<RecordField colName="cod_tipo" fieldIdRef="11" fieldType="TABLE_COLUMN" name="iptb00002.cod_tipo" sqlTabName="iptb00002" sqlType="SMALLINT" table_alias_name="" uid="{b9e9bcb2-ad84-44b3-b30c-07b97e213da9}"/>
<RecordField colName="cod_sec" fieldIdRef="12" fieldType="TABLE_COLUMN" name="iptb00002.cod_sec" sqlTabName="iptb00002" sqlType="SMALLINT" table_alias_name="" uid="{4bec1eeb-a7c7-4b42-9385-3faafe17668e}"/>
<RecordField colName="codid" fieldIdRef="1" name="codid" sqlTabName="formonly" table_alias_name="" uid="{9979ecf5-ef50-4c58-a603-1ec7be7324f2}"/>
<RecordField colName="producto" fieldIdRef="6" name="producto" sqlTabName="formonly" table_alias_name="" uid="{6b40ba5e-b0f4-406e-ad8b-3e7922a6a9a2}"/>
<RecordField colName="descrip_grupo" fieldIdRef="7" name="descrip_grupo" sqlTabName="formonly" table_alias_name="" uid="{0761afb1-d1dc-49a9-b74c-61c3394f860a}"/>
<RecordField colName="descrip_tipo" fieldIdRef="5" name="descrip_tipo" sqlTabName="formonly" table_alias_name="" uid="{df2bf420-a40d-4b32-a4c3-f57588e1ecdd}"/>
<RecordField colName="descrip_medida" fieldIdRef="8" name="descrip_medida" sqlTabName="formonly" table_alias_name="" uid="{eaef450b-8c53-40eb-a155-11450187f25a}"/>
<RecordField colName="descrip_ing" fieldIdRef="15" fieldType="TABLE_COLUMN" name="iptb00002.descrip_ing" sqlTabName="iptb00002" sqlType="VARCHAR" table_alias_name="" uid="{3689a904-85f4-47dc-8d45-580f785df6ad}"/>
<RecordField colName="unidad_med" fieldIdRef="28" name="unidad_med" sqlTabName="formonly" table_alias_name="" uid="{f2b0199a-d2d1-4d70-8fe2-4a9aff094c18}"/>
<RecordField colName="nomenclatura" fieldIdRef="17" name="nomenclatura" sqlTabName="formonly" table_alias_name="" uid="{f631cd85-d9db-4420-a2e1-6d64be424642}"/>
<RecordField colName="" defaultValue="1" fieldIdRef="21" fieldType="NON_DATABASE" name="bodega" sqlTabName="" sqlType="SMALLINT" table_alias_name="" uid="{6b69fb36-fab6-43db-abca-3f5677ddb1f5}"/>
<RecordField colName="despiece" defaultValue="no" fieldIdRef="4" name="despiece" sqlTabName="formonly" table_alias_name="" uid="{8799162d-1f76-4184-9676-49216d23f409}"/>
<RecordField colName="control_existencia" defaultValue="SI" fieldIdRef="2" name="control_existencia" sqlTabName="formonly" table_alias_name="" uid="{606260be-4eb9-490b-a1f1-bbd8be26c113}"/>
<RecordField colName="control_itbis" defaultValue="SI" fieldIdRef="3" name="control_itbis" sqlTabName="formonly" table_alias_name="" uid="{ac9435ad-e3f9-4cf9-bfb0-fe8b3db5debb}"/>
<RecordField colName="exist_max" fieldIdRef="19" fieldType="TABLE_COLUMN" name="iptb00002.exist_max" precisionDecimal="10" scaleDecimal="2" sqlTabName="iptb00002" sqlType="DECIMAL" table_alias_name="" uid="{9f8f3457-971a-43c9-addd-687945851cca}"/>
<RecordField colName="exist_min" fieldIdRef="20" fieldType="TABLE_COLUMN" name="iptb00002.exist_min" precisionDecimal="10" scaleDecimal="2" sqlTabName="iptb00002" sqlType="DECIMAL" table_alias_name="" uid="{e1c035a9-3412-4ba0-b367-586c82a423a3}"/>
<RecordField colName="cantidad_2" fieldIdRef="18" name="cantidad_2" sqlTabName="formonly" table_alias_name="" uid="{09583fd3-d114-4dbb-8333-1d76b631fc7d}"/>
<RecordField colName="dia_llegada" fieldIdRef="22" fieldType="TABLE_COLUMN" name="iptb00002.dia_llegada" sqlTabName="iptb00002" sqlType="SMALLINT" table_alias_name="" uid="{95c4e331-5779-4c9d-ae80-ffd2ac5fc36f}"/>
<RecordField colName="foto_producto" fieldIdRef="0" name="foto_producto" sqlTabName="formonly" table_alias_name="" uid="{0c9a055f-51b9-437c-8ab1-907cf4b29b8e}"/>
<RecordField colName="status_t" fieldIdRef="23" fieldType="TABLE_COLUMN" name="iptb00002.status_t" sqlTabName="iptb00002" sqlType="CHAR" table_alias_name="" uid="{8e6f6263-ece7-4925-995c-fa94299e2700}"/>
<RecordField colName="us_crea" fieldIdRef="24" fieldType="TABLE_COLUMN" name="iptb00002.us_crea" sqlTabName="iptb00002" sqlType="VARCHAR" table_alias_name="" uid="{ab80ce9d-6069-4d14-8ae1-4c94500c70dd}"/>
<RecordField colName="us_mod" fieldIdRef="26" fieldType="TABLE_COLUMN" name="iptb00002.us_mod" sqlTabName="iptb00002" sqlType="VARCHAR" table_alias_name="" uid="{954eb080-2c9f-4fdc-ac8d-cd8eae16ae9b}"/>
<RecordField colName="fech_crea" fieldIdRef="25" fieldType="TABLE_COLUMN" name="iptb00002.fech_crea" sqlTabName="iptb00002" sqlType="DATE" table_alias_name="" uid="{a2b750a6-3751-4935-9f4d-be93ee1fc9b2}"/>
<RecordField colName="fech_mod" fieldIdRef="27" fieldType="TABLE_COLUMN" name="iptb00002.fech_mod" sqlTabName="iptb00002" sqlType="DATE" table_alias_name="" uid="{d90221b4-97c6-45e3-8552-2403a606e16b}"/>
<RecordField colName="descrip_esp" fieldIdRef="29" fieldType="TABLE_COLUMN" name="iptb00002.descrip_esp" sqlTabName="iptb00002" sqlType="VARCHAR" table_alias_name="" uid="{05bc630e-17e9-4307-9fc3-a502f3f6a7a8}"/>
<RecordField colName="" defaultValue="1" fieldIdRef="14" name="factor_conv" sqlTabName="" table_alias_name="" uid="{2a860713-9711-4c2e-9c0b-9e4038bc8412}"/>
<RecordField colName="" defaultValue="0" fieldIdRef="30" name="factor_ad" sqlTabName="" table_alias_name="" uid="{9f5fbb92-bb54-40b2-85e2-43f8320742fa}"/>
<RecordField colName="" fieldIdRef="31" name="fecha_desc" sqlTabName="" table_alias_name="" uid="{385ee992-0102-43b7-b1ba-33b3534ff073}"/>
<RecordField colName="" fieldIdRef="32" name="porc_desc" sqlTabName="" sqlType="FLOAT" table_alias_name="" uid="{bf1b03c8-1f84-4693-a649-64ce9e1b0121}"/>
<RecordField colName="" defaultValue="SI" fieldIdRef="33" name="desc_permitido" sqlTabName="" table_alias_name="" uid="{5d3cdb31-4039-48e7-85d6-2d70cf5823dc}"/>
</Record>
<Form gridHeight="26" gridWidth="135" name="ipfmmt002" text="MAESTRA PRODUCTOS">
<ActionDefaultList name="ActionDefaultList1">
<ActionDefault acceleratorName="enter" acceleratorName2="return" image="find" name="busca_foto" text="Buscar"/>
</ActionDefaultList>
<ToolBar name="ToolBar1">
<ToolBarItem image="new" name="adicionar" text="ADICIONAR"/>
<ToolBarItem image="find" name="consultar" text="CONSULTAR MODIFICAR"/>
<ToolBarItem image="exit" name="salir" text="SALIR"/>
</ToolBar>
<Grid gridHeight="25" gridWidth="131" name="Grid1" posX="1" posY="0">
<Group gridHeight="17" gridWidth="81" name="Group1" posX="2" posY="1">
<Label posX="1" posY="1" text="Origen"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_cia" columnCount="" comment="Digite 1 = Local 2 = Importado 3- Ptos. Material Importado" fieldId="13" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="2" include="1|2|3" name="iptb00002.cod_cia" notNull="true" posX="22" posY="1" required="true" rowCount="" sqlTabName="iptb00002" sqlType="SMALLINT" stepX="" stepY="" tabIndex="1" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nombre_cia" columnCount="" fieldId="16" gridHeight="1" gridWidth="42" name="nombre_cia" noEntry="true" posX="26" posY="1" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="2" table_alias_name="" widget="Edit"/>
<Label posX="1" posY="2" text="Codigo Producto"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_n" columnCount="" comment="Digite el codigo de los productos" fieldId="9" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="6" name="iptb00002.cod_n" notNull="true" posX="22" posY="2" required="true" rowCount="" sqlTabName="iptb00002" sqlType="SMALLINT" stepX="" stepY="" tabIndex="3" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_grupo" columnCount="" comment="Digite el codigo de los productos " fieldId="10" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="6" name="iptb00002.cod_grupo" notNull="true" posX="29" posY="2" required="true" rowCount="" sqlTabName="iptb00002" sqlType="SMALLINT" stepX="" stepY="" tabIndex="4" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_tipo" columnCount="" comment="Digite el codigo de los productos " fieldId="11" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="6" name="iptb00002.cod_tipo" notNull="true" posX="36" posY="2" required="true" rowCount="" sqlTabName="iptb00002" sqlType="SMALLINT" stepX="" stepY="" tabIndex="5" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_sec" columnCount="" comment="Digite el codigo de los productos " fieldId="12" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="6" name="iptb00002.cod_sec" notNull="true" posX="43" posY="2" required="true" rowCount="" sqlTabName="iptb00002" sqlType="SMALLINT" stepX="" stepY="" tabIndex="6" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="8" name="Label11" posX="50" posY="2" text="Codigo B"/>
<FFLabel aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="codid" columnCount="" fieldId="1" gridHeight="1" gridWidth="11" name="codid" posX="59" posY="2" rowCount="" sqlTabName="formonly" stepX="" stepY="" table_alias_name="" widget="FFLabel"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="producto" columnCount="" fieldId="6" gridHeight="1" gridWidth="20" name="producto" noEntry="true" posX="22" posY="3" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="8" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip_grupo" columnCount="" fieldId="7" gridHeight="1" gridWidth="24" name="descrip_grupo" posX="44" posY="3" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="9" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip_tipo" columnCount="" fieldId="5" gridHeight="1" gridWidth="24" name="descrip_tipo" posX="22" posY="4" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="10" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip_medida" columnCount="" fieldId="8" gridHeight="1" gridWidth="20" name="descrip_medida" posX="48" posY="4" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="11" table_alias_name="" widget="Edit"/>
<Label posX="1" posY="5" text="Descripcion Espanol"/>
<ButtonEdit action="formar" aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="descrip_esp" columnCount="" comment="Descripcion Producto" fieldId="29" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="46" image="refresh" name="iptb00002.descrip_esp" notNull="true" posX="22" posY="5" required="true" rowCount="" scroll="true" sqlTabName="iptb00002" sqlType="VARCHAR" stepX="" stepY="" tabIndex="30" table_alias_name="" title="ButtonEdit1" widget="ButtonEdit"/>
<Label posX="1" posY="6" text="Descripcion Ingles"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="descrip_ing" columnCount="" fieldId="15" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="46" name="iptb00002.descrip_ing" posX="22" posY="6" rowCount="" scroll="true" sqlTabName="iptb00002" sqlType="VARCHAR" stepX="" stepY="" tabIndex="12" table_alias_name="" widget="Edit"/>
<Label posX="1" posY="7" text="Unidad Medida"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="unidad_med" columnCount="" fieldId="28" gridHeight="1" gridWidth="4" include="UD|M2|M3|ML" items="UD, M2, M3, ML" name="unidad_med" posX="22" posY="7" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="13" table_alias_name="" widget="ComboBox">
<Item name="UD" text="UD"/>
<Item name="M2" text="M2"/>
<Item name="M3" text="M3"/>
<Item name="ML" text="ML"/>
</ComboBox>
<Label gridHeight="1" gridWidth="10" name="Label4" posX="37" posY="7" text="Referencia"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="nomenclatura" columnCount="" fieldId="17" gridHeight="1" gridWidth="20" name="nomenclatura" posX="48" posY="7" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="14" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="9" name="Label9" posX="59" posY="8" text="Despiece:"/>
<Label gridHeight="1" gridWidth="15" name="Label3" posX="2" posY="9" text="Bodega Recepcion"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" comment="Digite la bodega" defaultValue="1" fieldId="21" fieldType="NON_DATABASE" gridHeight="1" gridWidth="25" items="" name="bodega" posX="22" posY="9" required="true" rowCount="" sqlTabName="" sqlType="SMALLINT" stepX="" stepY="" tabIndex="15" table_alias_name="" widget="ComboBox"/>
<RadioGroup aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="despiece" columnCount="" defaultValue="no" fieldId="4" gridHeight="2" gridWidth="8" items="Si, no" name="despiece" posX="60" posY="9" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="16" table_alias_name="" widget="RadioGroup">
<Item name="S" text="Si"/>
<Item name="N" text="no"/>
</RadioGroup>
<Label gridHeight="1" gridWidth="14" name="Label5" posX="2" posY="10" text="Factor Conversion"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" defaultValue="1" fieldId="14" gridHeight="1" gridWidth="10" name="factor_conv" posX="22" posY="10" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="31" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label6" posX="37" posY="10" text="Adicional"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" defaultValue="0" fieldId="30" gridHeight="1" gridWidth="8" name="factor_ad" posX="50" posY="10" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="32" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label10" posX="37" posY="11" text="Descuento"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" comment="Indicar si el articulo es permitido colocar descuento o no" defaultValue="SI" fieldId="33" gridHeight="1" gridWidth="12" items="SI, NO" name="desc_permitido" posX="50" posY="11" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="35" table_alias_name="" title="ComboBox1" widget="ComboBox">
<Item lstrtext="false" name="SI" text="SI"/>
<Item lstrtext="false" name="NO" text="NO"/>
</ComboBox>
<Label posX="1" posY="13" text="Control Existencia"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="control_existencia" columnCount="" defaultValue="SI" fieldId="2" gridHeight="1" gridWidth="6" include="SI|NO" items="SI, NO" name="control_existencia" posX="22" posY="13" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="17" table_alias_name="" widget="ComboBox">
<Item name="SI" text="SI"/>
<Item name="NO" text="NO"/>
</ComboBox>
<Label posX="34" posY="13" text="Control ITBIS"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="control_itbis" columnCount="" defaultValue="SI" fieldId="3" gridHeight="1" gridWidth="7" include="SI|NO" items="SI, NO" name="control_itbis" posX="48" posY="13" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="18" table_alias_name="" widget="ComboBox">
<Item name="SI" text="SI"/>
<Item name="NO" text="NO"/>
</ComboBox>
<Label gridHeight="1" gridWidth="6" name="Label7" posX="62" posY="13" text="Desc."/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" comment="Porciento Descuento cotizacion" fieldId="32" gridHeight="1" gridWidth="6" name="porc_desc" posX="69" posY="13" rowCount="" scroll="true" sqlTabName="" sqlType="FLOAT" stepX="" stepY="" tabIndex="34" table_alias_name="" title="Edit1" widget="Edit"/>
<Label posX="1" posY="14" text="Existencia Maxima"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="exist_max" columnCount="" comment="Digite la existencia Maxima en Almacen" fieldId="19" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="12" name="iptb00002.exist_max" posX="22" posY="14" precisionDecimal="10" rowCount="" scaleDecimal="2" sqlTabName="iptb00002" sqlType="DECIMAL" stepX="" stepY="" tabIndex="19" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="11" name="Label1" posX="35" posY="14" text="Existencia Minima"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="exist_min" columnCount="" comment="Digite la existencia Minima en Almacen" fieldId="20" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="12" name="iptb00002.exist_min" posX="48" posY="14" precisionDecimal="10" rowCount="" scaleDecimal="2" sqlTabName="iptb00002" sqlType="DECIMAL" stepX="" stepY="" tabIndex="20" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label8" posX="62" posY="14" text="Fecha"/>
<Label posX="1" posY="15" text="Existencia Actual"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cantidad_2" columnCount="" fieldId="18" gridHeight="1" gridWidth="12" name="cantidad_2" posX="22" posY="15" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="21" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label2" posX="35" posY="15" text="Dia Llegada"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="dia_llegada" columnCount="" comment="Digite el dia de llegada del Producto " fieldId="22" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="12" name="iptb00002.dia_llegada" posX="48" posY="15" rowCount="" sqlTabName="iptb00002" sqlType="SMALLINT" stepX="" stepY="" tabIndex="22" table_alias_name="" widget="Edit"/>
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" comment="Fecha Vigencia Porciento Cotizacion" fieldId="31" gridHeight="1" gridWidth="10" name="fecha_desc" posX="62" posY="15" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="33" table_alias_name="" title="DateEdit1" widget="DateEdit"/>
</Group>
<Group gridHeight="6" gridWidth="42" name="Group2" posX="87" posY="1" text="Foto">
<FFImage aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoScale="true" colName="foto_producto" columnCount="" fieldId="0" gridHeight="3" gridWidth="36" name="foto_producto" posX="2" posY="1" rowCount="" sqlTabName="formonly" stepX="" stepY="" stretch="both" table_alias_name="" unitWidth="characters" widget="FFImage" width="36"/>
</Group>
<Group gridHeight="8" gridWidth="13" name="Group3" posX="87" posY="8">
<Button gridHeight="1" gridWidth="8" name="busca_foto" posX="2" posY="1" tabIndex="24"/>
</Group>
<Group gridHeight="5" gridWidth="76" name="Group4" posX="2" posY="19" text="AUDITORIA">
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="status_t" columnCount="" fieldId="23" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="1" name="iptb00002.status_t" noEntry="true" posX="2" posY="1" rowCount="" sqlTabName="iptb00002" sqlType="CHAR" stepX="" stepY="" tabIndex="25" table_alias_name="" widget="Edit"/>
<Label posX="1" posY="2" text="Usuario creador"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="us_crea" columnCount="" fieldId="24" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="16" name="iptb00002.us_crea" noEntry="true" posX="19" posY="2" rowCount="" sqlTabName="iptb00002" sqlType="VARCHAR" stepX="" stepY="" tabIndex="26" table_alias_name="" widget="Edit"/>
<Label posX="36" posY="2" text="Usuario modificador"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="us_mod" columnCount="" fieldId="26" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="16" name="iptb00002.us_mod" noEntry="true" posX="58" posY="2" rowCount="" sqlTabName="iptb00002" sqlType="VARCHAR" stepX="" stepY="" tabIndex="27" table_alias_name="" widget="Edit"/>
<Label posX="1" posY="3" text="Fecha Creacion"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_crea" columnCount="" fieldId="25" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="16" name="iptb00002.fech_crea" noEntry="true" posX="19" posY="3" rowCount="" sqlTabName="iptb00002" sqlType="DATE" stepX="" stepY="" tabIndex="28" table_alias_name="" widget="Edit"/>
<Label posX="36" posY="3" text="Fecha Modificacion"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fech_mod" columnCount="" fieldId="27" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="16" name="iptb00002.fech_mod" noEntry="true" posX="58" posY="3" rowCount="" sqlTabName="iptb00002" sqlType="DATE" stepX="" stepY="" tabIndex="29" table_alias_name="" widget="Edit"/>
</Group>
</Grid>
</Form>
<DiagramLayout>
<![CDATA[AAAAAgAAAEwAewBlADEAYwAwADMANQBhADkALQAzADQAMQAyAC0ANABiAGEAMAAtAGIAMwA2ADcALQA1ADgANgBjADgAMgBhADQAMgAzAGEAMwB9QCAAAAgAAAFAdsAAC2AAAQAAAAAAAAAAAQAAAEwAewA0AGIAZQBjADEAZQBlAGIALQBhADcAYwA3AC0ANABiADQAMgAtADkAMwA4ADUALQAzAGYAYQBhAGYAZQAxADcANgA2ADgAZQB9QCAAAAgAAAFAXWZmdRmZmwAAAAAAAAAAAQAAAEwAewAwADUAYgBjADYAMwAwAGUALQAxADcAZQA5AC0ANAAzADAANwAtADkAZgBjADMALQBhADUAMAAyAGYAMwBmADYAYQA3AGEAOAB9QCAAAAgAAAFAgFMzO1zMzgAAAAAAAAAAAQAAAEwAewA2AGIANgA5AGYAYgAzADYALQBmAGEAYgA2AC0ANAAzAGQAYgAtAGEAYgBjAGEALQAzAGYANQA2ADcANwBkAGQAYgAxAGYANQB9QCAAAAgAAAFAcUAACKAAAQAAAAAAAAAAAQAAAEwAewA3ADEANAA5ADcANwBmAGYALQAxAGUAZAA1AC0ANAA3AGUAMgAtADgANQAzADcALQBiADUAYQA1AGIAMAA2AGEANgA1ADUAZAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEwAewBmADIAYgAwADEAOQA5AGEALQBkADIAZAAxAC0ANABkADcAMAAtADgAZgBlADIALQA0AGEAOQBhAGYAZgAwADkANABjADEAOAB9QCAAAAgAAAFAbhmZqKZmaAAAAAAAAAAAAQAAAEwAewAzADYAOAA5AGEAOQAwADQALQA4ADUAZgA0AC0ANAA3AGQAYwAtADgAZAA0ADUALQA1ADgAMABmADcAOAA1AGQAZgA2AGEAZAB9QCAAAAgAAAFAa+ZmdFmZmwAAAAAAAAAAAQAAAEwAewAxADAAZAA5ADYAZgAzADMALQA0AGYAMwBmAC0ANAAwADUANQAtAGEAYwBiAGIALQA5AGUAYgA3ADMAZQA2AGUAZAAwAGUAYgB9QCAAAAgAAAFAVJmZo+ZmaAAAAAAAAAAAAQAAAEwAewA5AGYAOABmADMANAA1ADcALQA5ADcAMQBhAC0ANAAzAGMAOQAtAGEAZABkAGQALQA2ADgANwA5ADQANQA4ADUAMQBjAGMAYQB9QCAAAAgAAAFAdaZmcTmZmwAAAAAAAAAAAQAAAEwAewBkADkAMAAyADIAMQBiADQALQA5ADcAYwA2AC0ANAA1AGUAMwAtADgANQA1ADIALQAyADQAMAAzAGEANgAwADYAZQAxADYAYgB9QCAAAAgAAAFAf4zM3JMzNQAAAAAAAAAAAQAAAEwAewA5ADkANwA5AGUAYwBmADUALQBlAGYANQAwAC0ANABjADUAOAAtAGEANgAwADMALQAxAGUAYwA3AGIAZQA3ADMAMgA0AGYAMgB9QCAAAAgAAAFAYOZmbtmZmwAAAAAAAAAAAQAAAEwAewAzADgANQBlAGUAOQA5ADIALQAwADEAMAAyAC0ANAAzAGIANwAtAGIAMQBiAGEALQAzADMAYgAzADUAMwA0AGYAZgAwADcAMwB9QCAAAAgAAAFAgfmZopZmaAAAAAAAAAAAAQAAAEwAewBhAGIAOAAwAGMAZQA5AGQALQA2ADAANgA5AC0ANABkADEANAAtADgAYQBlADEALQA0AGMAOQA0ADUAMAAwAGMANwAwAGQAZAB9QCAAAAgAAAFAfEAADiAAAgAAAAAAAAAAAQAAAEwAewA5AGYANQBmAGIAYgA5ADIALQBiAGIANQA0AC0ANAAwAGIAMgAtADgANQBlADIALQA0ADMAZgA4ADMAMgAwADcANAAyAGYAYQB9QCAAAAgAAAFAgWzM1YMzNAAAAAAAAAAAAQAAAEwAewA5ADUANABlAGIAMAA4ADAALQAyAGMAOQBmAC0ANABmAGQAYwAtAGEAYwA4AGQALQBjAGQAOABlAGEAZQAxADYAYQBlADkAYgB9QCAAAAgAAAFAfVmZqEZmaAAAAAAAAAAAAQAAAEwAewAyAGEAOAA2ADAANwAxADMALQA5ADcAMQAxAC0ANABjADIAZQAtADkAYwAwAGIALQA5AGUANAAwADMAOABiAGMAOAA0ADEAMgB9QCAAAAgAAAFAgOAACHAAAQAAAAAAAAAAAQAAAEwAewA2AGIANAAwAGIAYQA1AGUALQBiADAAZgA0AC0ANAAwADYAZQAtAGEAZAA4AGIALQAzAGUANwA5ADIAMgBhADYAYQA5AGEAMgB9QCAAAAgAAAFAYxmZoyZmaAAAAAAAAAAAAQAAAEwAewA4AGUANgBmADYAMgA2ADMALQBlAGMAZQA3AC0ANAA5ADIANQAtADkAOQA1AGMALQBmAGEAOQA0ADIAOQA5AGUAMgA3ADAAMAB9QCAAAAgAAAFAeyZmc/mZmwAAAAAAAAAAAQAAAEwAewA2ADAANgAyADYAMABiAGUALQA0AGUAYgA5AC0ANAA5ADAAYgAtAGEAMQBmADEALQBiAGIAZAA4AGIAZQAyADYAYwAxADEAMwB9QCAAAAgAAAFAc3MzPOzMzgAAAAAAAAAAAQAAAEwAewBkADYAZAA5ADMAMABkADAALQAyAGIAYgBmAC0ANAAwAGYAMQAtAGEAZQA2AGUALQAyAGQAYQAzAGUANgAxADcAOQAyAGUAMwB9QCAAAAgAAAFAUDMzO0zMzgAAAAAAAAAAAQAAAEwAewBhAGMAOQA0ADMANQBhAGQALQBlADMAZgA5AC0ANABjAGYAOQAtAGIAZgBiADAALQBmAGUAOABiADMAZABiADUAZABlAGIAYgB9QCAAAAgAAAFAdIzM1xMzNAAAAAAAAAAAAQAAAEwAewBkAGYAMgBiAGYANAAyADAALQBhADQAMABkAC0ANABiADMAMgAtAGEANABjADMALQBmADUANwA1ADgAOABlADEAZQBjAGQAZAB9QCAAAAgAAAFAZ4AAC8AAAQAAAAAAAAAAAQAAAEwAewA4ADcAOQA5ADEANgAyAGQALQAxAGYANwA2AC0ANAAxADgANAAtADkANgA3ADYALQA0ADkAMgAxADYAZAAyADMAZgA0ADAAOQB9QCAAAAgAAAFAclmZosZmaAAAAAAAAAAAAQAAAEwAewBiAGYAMQBiADAAMwBjADgALQAxAGYAOAA0AC0ANAA2ADkAMwAtAGEANgA0ADkALQA2ADQAYwBlADkAZQAxAGIAMAAxADIAMQB9QCAAAAgAAAFAgoZmb6mZmwAAAAAAAAAAAQAAAEwAewBmADYAMwAxAGMAZAA4ADUALQBkADkAZABiAC0ANAA0ADIAMAAtAGEAMgBlADEALQA2AGQANgA0AGIAZQA0ADIANAA2ADQAMgB9QCAAAAgAAAFAcCZmbnmZmwAAAAAAAAAAAQAAAEwAewAwAGMAOQBhADAANQA1AGYALQA1ADEAYgA5AC0ANAAzADcAYwAtADgAYQBiADEALQA5ADAANwBjAGYANABiADIAOQBiADgAZQB9QCAAAAgAAAFAegzM2dMzNQAAAAAAAAAAAQAAAEwAewBiADcAZQA3AGMAZQBkADMALQBlADMAMQA0AC0ANABmAGUAZgAtADkAMAA5AGYALQA4AGQAMQA3AGUAYwAwAGEAOABkADEANwB9QCAAAAgAAAFAR5mZpWZmaAAAAAAAAAAAAQAAAEwAewBlAGEAZQBmADQANQAwAGIALQA4AGMANQAzAC0ANAAwAGUAYgAtAGEAMQA1ADUALQAxADEANAA1ADAAMQA4ADcAZgAyADUAYQB9QCAAAAgAAAFAabMzQAzMzgAAAAAAAAAAAQAAAEwAewAwADkANQA4ADMAZgBkADMALQBkADEAMQA0AC0ANABkAGIAYgAtADgAMwAzADMALQAxAGQANwA2AGIANgAzADEAZgBjADcAZAB9QCAAAAgAAAFAd9mZpYZmaAAAAAAAAAAAAQAAAEwAewA1AGQAMwBjAGQAYgAzADEALQA0ADAAMwA5AC0ANAA4AGUANwAtADgANQBkADYALQAyAGQANwAwAGMAZgA1ADgAMgAzAGQAYwB9QCAAAAgAAAFAgxMzPLzMzgAAAAAAAAAAAQAAAEwAewBiADkAZQA5AGIAYwBiADIALQBhAGQAOAA0AC0ANAA0AGIAMwAtAGIAMwAwAGMALQAwADcAYgA5ADcAZQAyADEAMwBkAGEAOQB9QCAAAAgAAAFAWQAADIAAAgAAAAAAAAAAAQAAAEwAewAxADcANwA1ADEAMwBlADIALQBjADMANgBhAC0ANABmAGYANQAtAGEAZgA3ADkALQA0ADAAMgBlAGEANQAxADQAMgA3ADIANQB9QCAAAAgAAAFAPZmZqGZmaAAAAAAAAAAAAQAAAEwAewAwADcANgAxAGEAZgBiADEALQBkADEAZABjAC0ANAA5AGEAOQAtAGIANwA0AGMALQA2ADEAYwAzADMAOQA0AGYAOAA2ADAAYQB9QCAAAAgAAAFAZUzM13MzNQAAAAAAAAAAAQAAAEwAewBhADIAYgA3ADUAMABhADYALQAzADcANQAxAC0ANAA5ADMANQAtADkAZgA0AGQALQBiAGUAOQAzAGUAZQAxAGYAYwA5AGIAMgB9QCAAAAgAAAFAfnMzQmzMzwAAAAAAAAAAAQAAAEwAewA5ADUAYwA0AGUAMwAzADEALQA1ADcANwA5AC0ANABjADkAZAAtAGEAZQA4ADAALQBmAGYAZAAyAGEAYwA1AGYAYwAzADYAZgB9QCAAAAgAAAFAePMzP6zMzgAAAAAAAAAAAQ==]]>
</DiagramLayout>
</ManagedForm>
File diff suppressed because one or more lines are too long
@@ -0,0 +1,91 @@
SCHEMA smarmotech
LAYOUT (TEXT="Movimientos Inventarios",STYLE="basic")
GRID
{
<G encabezado >
Documento Numero [f000 ] Compania [r][c4 ]
Codigo Movimiento [m ] [m1 ]
Factura [fact ] Transportista [tr][tr1 ][des ]
Cotizacion [cot ]
Tarifa [t ][t1 ] Placa [pl ]
fecha [f001 ]Bodega [p1 ] Orden Pedido [oc ]
Detalle [det ]
Cliente [cl]-[cl1 ] [nom ]Codigo V [ve ]
Direccion [dr1 ]
Departamento [dep ] [nomd ]Requisicion[req ]
Codigo Mov [cd1] [des2 ]Entrada [ent1 ]
<G Detalle >
<t >
[x13][a ][b ][c ][d ][f03 ][f02 ][p ][f04 ][k ][bl1 ]
[x13][a ][b ][c ][d ][f03 ][f02 ][p ][f04 ][k ][bl1 ]
[x13][a ][b ][c ][d ][f03 ][f02 ][p ][f04 ][k ][bl1 ]
[x13][a ][b ][c ][d ][f03 ][f02 ][p ][f04 ][k ][bl1 ]
[x13][a ][b ][c ][d ][f03 ][f02 ][p ][f04 ][k ][bl1 ]
}
end
tables
iptb00006,
intb00001,
cotb00001
ATTRIBUTES
cot = formonly.xcotizacion;
req = formonly.pnum_req;
dr1 = formonly.direccion_p,SCROLL;
bl1 = formonly.codigo_bloque,TITLE="BLOQUE";
LABEL x13 = formonly.area;
ve = formonly.psec_vend;
det = iptb00006.detalle;
cl = iptb00006.cod_sp,autonext;
cl1 = iptb00006.cod_sp_sec,autonext;
nom = formonly.descrip4,noentry;
pl = iptb00006.placa,autonext,comments =
"Digite placa del vehiculo que transporta la mercancia";
fact = formonly.fact_no,autonext,comments =
"Introducir Numero de Factura de Ventas";
tr = iptb00006.cod_transp,autonext,comments =
"Introduzca Codigo Transportista";
tr1 = iptb00006.sec_transp,autonext,comments =
"Introduzca Codigo Transportista";
des = formonly.descrip2,noentry;
t = iptb00006.cod_tarifa,comments =
"Introduzca Codigo Tarifa",autonext;
oc = iptb00006.conduce_no,
comments = "Digite le numero de orden de Corte";
t1 = formonly.descrip1,noentry;
f000 = iptb00006.num_doc,noentry;
r = iptb00006.cod_cia,autonext,include = (1 to 2), comments =
"01 - MARMOTECH ";
ent1 = formonly.entrada,comments = "Digite Entrada Almacen";
cd1 = formonly.cod_mov1,comments = "Digite codigo movimiento entrada";
des2 = formonly.descrip_mov1,noentry;
dep = formonly.departamento;
nomd = formonly.nombre_depto,noentry;
c4 = formonly.nombre_cia,noentry;
f001 = iptb00006.fecha, format = "dd/mm/yyyy",autonext,
comments = "Digite Fecha Documento";
a = iptb00006.cod_n,autonext,TITLE="CLASE",
comments = "Digite el NIVEL o Presione CTRL-W Para Ayuda";
b = iptb00006.cod_grupo,autonext,TITLE="GRUPO",
comments = "Digite el GRUPO o Presione CTRL-W Para Ayuda";
c = iptb00006.cod_tipo,autonext,TITLE="TIPO",
comments = "Digite el TIPO o Presione CTRL-W Para Ayuda";
d = iptb00006.cod_sec,autonext,TITLE="MEDIDA",
comments = "Digite la SECUENCIA o Presione CTRL-W Para Ayuda ";
f03 = iptb00006.cantidad_1,autonext,TITLE="CANTIDAD";
f02 = formonly.cantidad_2,noentry,TITLE="UNIDAD";
f04 = formonly.cantidad_p,noentry,TITLE="PENDIENTE";
k = formonly.descrip_esp,scroll,TITLE="DESCRIPCION";
p = intb00001.unidad_med,noentry;
p1 = iptb00006.bodega,autonext;
m = iptb00006.cod_mov,autonext,autonext,
comments = "Digite codigo del movimiento";
m1 = formonly.descrip_mov, noentry;
INSTRUCTIONS
SCREEN RECORD s_movi1[7] (area,cod_n,cod_grupo,cod_tipo,cod_sec,cantidad_1,
cantidad_2,cantidad_p,unidad_med,descrip_esp,codigo_bloque)
end
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm databaseName="smarmotech" gstVersion="22800" name="ManagedForm" uid="{313304ea-890f-4f0a-82cf-1791355c8627}">
<AGSettings/>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="s_prod" order="" uid="{e6c81bec-66a3-4600-9d80-2ba9733faaba}" where="">
<RecordField colName="" fieldIdRef="6" name="cod_n" sqlTabName="" table_alias_name="" uid="{52da9d3e-b6e7-439d-91cd-3ccf6d6a0217}"/>
<RecordField colName="" fieldIdRef="7" name="cod_grupo" sqlTabName="" table_alias_name="" uid="{94132852-6139-4fab-9695-25fdb4920142}"/>
<RecordField colName="" fieldIdRef="8" name="cod_tipo" sqlTabName="" table_alias_name="" uid="{71ceff48-50c1-44a3-9fe2-a8f8b8f030a9}"/>
<RecordField colName="" fieldIdRef="9" name="cod_Sec" sqlTabName="" table_alias_name="" uid="{16c99d39-9e56-43a4-904d-66a21b3fb408}"/>
<RecordField colName="" fieldIdRef="10" name="descrip_esp" sqlTabName="" table_alias_name="" uid="{6610ed82-1987-4ab5-b8dc-6b558aaa943e}"/>
<RecordField colName="" fieldIdRef="11" name="unidad_med" sqlTabName="" table_alias_name="" uid="{38f5312d-3e24-4dec-863f-2f82a2d77897}"/>
</Record>
<Form gridHeight="12" gridWidth="69" name="ipfmwd001">
<Grid gridHeight="12" gridWidth="68" name="Grid1" posX="0" posY="0">
<Group gridHeight="10" gridWidth="62" name="Group1" posX="3" posY="1" text="">
<Label gridHeight="1" gridWidth="32" name="Label1" posX="10" posY="1" text="Busqueda de Productos Terminados"/>
<Table gridHeight="6" gridWidth="55" name="Table1" posX="6" posY="3" totalRows="5">
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="6" gridHeight="1" gridWidth="8" name="cod_n" posX="0" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="1" table_alias_name="" title="CLASE" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="7" gridHeight="1" gridWidth="8" name="cod_grupo" posX="8" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="2" table_alias_name="" title="GRUPO" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="8" gridHeight="1" gridWidth="8" name="cod_tipo" posX="16" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="3" table_alias_name="" title="TIPO" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="9" gridHeight="1" gridWidth="8" name="cod_Sec" posX="24" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="4" table_alias_name="" title="MEDIDA" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="10" gridHeight="1" gridWidth="8" name="descrip_esp" posX="32" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="5" table_alias_name="" title="DESCRIPCION" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="11" gridHeight="1" gridWidth="8" name="unidad_med" posX="40" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="6" table_alias_name="" title="UNIDAD MED" widget="Edit"/>
</Table>
</Group>
</Grid>
</Form>
<DiagramLayout>
<![CDATA[AAAAAgAAAEwAewA5ADQAMQAzADIAOAA1ADIALQA2ADEAMwA5AC0ANABmAGEAYgAtADkANgA5ADUALQAyADUAZgBkAGIANAA5ADIAMAAxADQAMgB9QCQAAAAAAABAToAAAAAAAAAAAAAAAAAAAQAAAEwAewA1ADIAZABhADkAZAAzAGUALQBiADYAZQA3AC0ANAAzADkAZAAtADkAMQBjAGQALQAzAGMAYwBmADYAZAA2AGEAMAAyADEANwB9QCQAAAAAAABAQwAAAAAAAAAAAAAAAAAAAQAAAEwAewAzADgAZgA1ADMAMQAyAGQALQAzAGUAMgA0AC0ANABkAGUAYwAtADgANgAzAGYALQAyAGYAOAAyAGEAMgBkADcANwA4ADkANwB9QCQAAAAAAABAYyAAAAAAAAAAAAAAAAAAAQAAAEwAewA2ADYAMQAwAGUAZAA4ADIALQAxADkAOAA3AC0ANABhAGIANQAtAGIAOABkAGMALQA2AGIANQA1ADgAYQBhAGEAOQA0ADMAZQB9QCQAAAAAAABAYEAAAAAAAAAAAAAAAAAAAQAAAEwAewBlADYAYwA4ADEAYgBlAGMALQA2ADYAYQAzAC0ANAA2ADAAMAAtADkAZAA4ADAALQAyAGIAYQA5ADcAMwAzAGYAYQBhAGIAYQB9QCQAAAAAAABAJAAAAAAAAD9gYk3S8an8AQAAAEwAewAxADYAYwA5ADkAZAAzADkALQA5AGUANQA2AC0ANAAzAGEANAAtADkAMAA0AGQALQA2ADYAYQAyADEAYgAzAGYAYgA0ADAAOAB9QCQAAAAAAABAWsAAAAAAAAAAAAAAAAAAAQAAAEwAewA3ADEAYwBlAGYAZgA0ADgALQA1ADAAYwAxAC0ANAA0AGEAMwAtADkAZgBlADIALQBhADgAZgA4AGIAOABmADAAMwAwAGEAOQB9QCQAAAAAAABAVQAAAAAAAAAAAAAAAAAAAQ==]]>
</DiagramLayout>
</ManagedForm>
@@ -0,0 +1,35 @@
{=============================================================
FORMULARIO : ipfmwd011
OBJETIVO : Visualizacion Requisiciones Despachos
FECHA : 17/11/2010
DESARROLLADO : Ing. Juan Soto
}
SCHEMA smarmotech
LAYOUT (TEXT="ORDENES AUTORIZADAS",STYLE="basic")
SCROLLGRID
{
<G >
<t >
[a1 ][c1 ][f1 ][f2][f3 ][f4 ]
[a1 ][c1 ][f1 ][f2][f3 ][f4 ]
[a1 ][c1 ][f1 ][f2][f3 ][f4 ]
[a1 ][c1 ][f1 ][f2][f3 ][f4 ]
[a1 ][c1 ][f1 ][f2][f3 ][f4 ]
[a1 ][c1 ][f1 ][f2][f3 ][f4 ]
}
end
attributes
EDIT a1 = formonly.num_oc,TITLE="ORDEN";
LABEL c1 = formonly.cliente,TITLE="CLIENTE";
LABEL f1 = formonly.fecha,TITLE="FECHA",FORMAT="dd/mm/yyyy";
f2 = formonly.tipo_cliente,HIDDEN;
f3 = formonly.sec_cliente,HIDDEN;
f4 = formonly.num_req,TITLE="REQUISICION";
INSTRUCTIONS
SCREEN RECORD s_despachos (num_oc,cliente,fecha,tipo_cliente,sec_cliente,num_req)
end
@@ -0,0 +1,701 @@
SCHEMA smarmotech
GLOBALS
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
r_filename,inventario STRING, -- filename of Report Design Document including .4rp extension
r_output STRING, -- output format option
preview INTEGER, -- TRUE/FALSE, to set preview option
salida CHAR(40),
historico,servicios CHAR(1),
petiquetas ui.ComboBox,
k1 CHAR(2),
tipo_reporte CHAR(10)
DEFINE nombre_m CHAR(20),
USUARIOS, CLAVE CHAR(50),
progreso SMALLINT,
descripcion CHAR(70),
p_iptb01 RECORD LIKE iptb00001.*,
p_iptb02 RECORD LIKE iptb00002.*,
p_iptb06 RECORD LIKE iptb00006.*,
p_iptb14 RECORD LIKE iptb00014.*,
p_iptb19 RECORD LIKE iptb00019.*,
p_iptb20 RECORD LIKE iptb00020.*,
p_iptb21 RECORD LIKE iptb00021.*,
p_vetb25 RECORD LIKE vetb00025.*,
p_iptb22 RECORD LIKE iptb00022.*,
preciosm INTEGER, #RECORD LIKE iptb00014.*,
marcas RECORD LIKE iptb00019.*,
lj,tipo_inventario SMALLINT,
pflag CHAR(1),
fecha1 DATE,
selec_pt CHAR(1000),control_existencia,control_itbis,
normal,negrilla_on,negrillas_of,comp_on,comp_off,doce,doble_on,doble_off,respuesta
CHAR(3)
DEFINE dcmd,cmd,imprime,copia CHAR(150),archivo CHAR(80),impresor SMALLINT
DEFINE busca_p RECORD
cod_n INTEGER,
cod_grupo INTEGER,
cod_tipo INTEGER,
cod_sec INTEGER,
descrip_esp CHAR(30),
unidad_med CHAR(5)
END RECORD
DEFINE clientes ARRAY[50] OF RECORD
tipo_cliente LIKE vetb00004.tipo_cliente,
sec_cliente LIKE vetb00004.sec_cliente,
nombre LIKE vetb00004.nombre
END RECORD
DEFINE codigos RECORD
fecha DATE,
cod_n_a SMALLINT,
cod_grupo_a SMALLINT,
cod_tipo_a SMALLINT,
cod_sec_a SMALLINT,
cantidad INTEGER,
cod_n_h SMALLINT,
cod_grupo_h SMALLINT,
cod_tipo_h SMALLINT,
cod_sec_h SMALLINT
END RECORD
DEFINE movimientos RECORD
cod_mov LIKE iptb00006.cod_mov,
num_doc LIKE iptb00006.num_doc,
fecha LIKE iptb00006.fecha,
tipo LIKE iptb00006.tipo,
orden_compra LIKE iptb00006.orden_compra,
fact_no LIKE iptb00006.fact_no,
conduce_no LIKE iptb00006.conduce_no,
cod_sp LIKE iptb00006.cod_sp,
cod_sp_sec LIKE iptb00006.cod_sp_sec,
nom_sp CHAR(41),
cod_transp LIKE iptb00006.cod_transp,
sec_transp LIKE iptb00006.sec_transp,
placa LIKE iptb00006.placa,
cod_tarifa LIKE iptb00006.cod_tarifa,
bodega LIKE iptb00006.bodega,
departamento SMALLINT,
detalle LIKE iptb00006.detalle
END RECORD
DEFINE ultimo RECORD
cond_recep LIKE iptb00006.cond_recep,
uso_tiempo LIKE iptb00006.uso_tiempo
END RECORD
DEFINE datos1 RECORD
num_doc LIKE iptb00006.num_doc,
fecha LIKE iptb00006.fecha,
cod_seccion SMALLINT,
nom_seccion CHAR(20),
bodega LIKE iptb00006.bodega
END RECORD
DEFINE p_conteo RECORD
fecha LIKE iptb00006.fecha,
bodega LIKE iptb00006.bodega,
cod_n LIKE iptb00006.cod_n,
cod_grupo LIKE iptb00006.cod_grupo,
cod_tipo LIKE iptb00006.cod_tipo,
cod_sec LIKE iptb00006.cod_sec,
cantidad LIKE iptb00006.cantidad_2
END RECORD
DEFINE costos RECORD LIKE iptb00004.*
DEFINE datos RECORD
num_doc LIKE iptb00006.num_doc,
fecha LIKE iptb00006.fecha,
nom_dpto CHAR(30),
nom_dpto1 CHAR(30),
bodega LIKE iptb00006.bodega
END RECORD
DEFINE datos_gen RECORD
cod_mov LIKE iptb00006.cod_mov,
num_doc LIKE iptb00006.num_doc,
cod_sp LIKE iptb00006.cod_sp,
cod_sp_sec LIKE iptb00006.cod_sp_sec,
tipo LIKE iptb00006.tipo,
orden_compra LIKE iptb00006.orden_compra,
conduce_no LIKE iptb00006.conduce_no,
fact_no LIKE iptb00006.fact_no,
fecha LIKE iptb00006.fecha,
bodega LIKE iptb00006.bodega,
nom_sp CHAR(40), #LIKE cotb00001.nom_sp,
descrip_mov LIKE iptb00005.descrip_mov
END RECORD
DEFINE otros_mov RECORD
num_doc LIKE iptb00006.num_doc,
cod_cia LIKE iptb00006.cod_cia,
cod_mov LIKE iptb00006.cod_mov,
fact_no LIKE iptb00006.fact_no,
cod_transp LIKE iptb00006.cod_transp,
sec_transp LIKE iptb00006.sec_transp,
cod_tarifa LIKE iptb00006.cod_tarifa,
placa LIKE iptb00006.placa,
fecha LIKE iptb00006.fecha,
conduce_no LIKE iptb00006.conduce_no,
descrip_mov CHAR(40), #LIKE intb00005.descrip_mov,
bodega LIKE iptb00006.bodega,
bodega_destino SMALLINT,
detalle LIKE iptb00006.detalle,
cod_sp LIKE iptb00006.cod_sp,
cod_sp_sec LIKE iptb00006.cod_sp_sec,
departamento SMALLINT,
nombre_depto CHAR(30),
cod_mov1 SMALLINT,
entrada INT,
descrip_mov1 CHAR(40),
descrip4 CHAR(30)
END RECORD
DEFINE chequea RECORD
minima LIKE iptb00002.exist_min,
maxima LIKE iptb00002.exist_max
END RECORD
DEFINE p_unidad ARRAY [100] OF INTEGER
DEFINE selec2 CHAR(1000)
DEFINE p_cantidad,bandera SMALLINT
DEFINE p_fechas DATE
DEFINE nombre_dia ARRAY[7] OF char(10)
DEFINE nombre_mes ARRAY[12] OF char(10)
DEFINE nombre_ant CHAR(11)
DEFINE general decimal(12,2)
DEFINE numero_msg,curr1,p_cod_cia,p_bodega,longitud SMALLINT
#DEFINE arancel RECORD LIKE cotb00005.*
DEFINE status_m char(1)
DEFINE decide,p_param char(1)
DEFINE cant DECIMAL(12,5)
DEFINE tipo_papel smallint
DEFINE balance DECIMAL(12,5)
DEFINE cod_mov_ant LIKE iptb00006.cod_mov
DEFINE existe_comp,suplidor1,doc_existe,actual,mat_prima CHAR (1000)
DEFINE opt1,opt4,opt,existe,ya ,opera1,cambio CHAR(3)
DEFINE medida CHAR (3)
DEFINE fila smallint
DEFINE m_articulos RECORD LIKE iptb00002.*
DEFINE presentacion RECORD LIKE iptb00003.*
DEFINE p_companias RECORD LIKE companias.*
# DEFINE numero_msg LIKE msgtable.cod_msg
DEFINE articulos RECORD LIKE iptb00002.*
# DEFINE suplidor RECORD LIKE intb00008.*
DEFINE meses RECORD LIKE mestable.*,
regi INTEGER
DEFINE mensajes RECORD {LIKE msgtable.* }
cod_msg smallint,
desc_msg char(60),
us_crea char(9),
fech_crea char(16),
us_mod char(9),
fech_mod char(16)
END RECORD
DEFINE transacc RECORD LIKE iptb00005.*
DEFINE medidas RECORD LIKE intb00007.*
DEFINE nombre_cia,descrip1,descrip2,descrip3,descrip4 CHAR(30)
DEFINE c_sustituto RECORD LIKE intb00003.*
DEFINE c_equivalente RECORD LIKE intb00004.*
DEFINE criterio CHAR(1000)
DEFINE opc,selec,opt2 string
DEFINE cod_n_a,cod_grupo_a,cod_tipo_a,cod_sec_a SMALLINT
DEFINE p_act,idx,scr_l SMALLINT
DEFINE opcion,tipo_p CHAR(1)
DEFINE pilas ARRAY[100] OF RECORD
cod_n LIKE intb00003.cod_n,
cod_grupo LIKE intb00003.cod_grupo,
cod_tipo LIKE intb00003.cod_tipo,
cod_sec LIKE intb00003.cod_sec,
descrip_esp LIKE iptb00002.descrip_esp
END RECORD
DEFINE prod1 DYNAMIC ARRAY OF RECORD
estado VARCHAR(20),
cod_n1 SMALLINT,
cod_grupo1 SMALLINT,
cod_tipo1 SMALLINT,
cod_sec1 SMALLINT,
descrip_esp1 CHAR(180),
unidad_med LIKE iptb00002.unidad_med,
bodega1 CHAR(50),
existencia DECIMAL(12,5),
cantidad_ordenes DEC(12,5),
disponible DEC(12,5),
reservado DEC(12,5),
transito DEC(12,5)
END RECORD
DEFINE prod11 DYNAMIC ARRAY OF RECORD
estado VARCHAR(20),
cod_n1 SMALLINT,
cod_grupo1 SMALLINT,
cod_tipo1 SMALLINT,
cod_sec1 SMALLINT,
descrip_esp1 CHAR(70),
unidad_med LIKE iptb00002.unidad_med,
existencia DECIMAL(12,5),
cantidad_ordenes DEC(12,5),
pventas DEC(12,5),
ventas VARCHAR(30),
precio DEC(12,2),
reservado DEC(12,5),
transito DEC(12,5),
fecha_llegada DATE,
fecha_ordenada DATE
END RECORD
DEFINE prod ARRAY[200] OF RECORD
cod_n1 SMALLINT,
cod_grupo1 SMALLINT,
cod_tipo1 SMALLINT,
cod_sec1 SMALLINT,
descrip_esp1 CHAR(70),
unidad_med LIKE iptb00002.unidad_med,
bodega LIKE iptb00002.bodega,
marca CHAR(10), #002.marca,
cod_cia LIKE iptb00002.cod_cia,
existencia DECIMAL(12,5),
exist_min DECIMAL(12,5),
dia_llegada LIKE iptb00002.dia_llegada
END RECORD
DEFINE movi2 DYNAMIC ARRAY OF RECORD
area SMALLINT,
cod_n LIKE intb00003.cod_n,
cod_grupo LIKE intb00003.cod_grupo,
cod_tipo LIKE intb00003.cod_tipo,
cod_sec LIKE intb00003.cod_sec,
cantidad_1 DEC(12,5),
cantidad_2 DEC(12,5),
cantidad_p DEC(12,5),
unidad_med LIKE iptb00002.unidad_med,
descrip_esp CHAR(80),
existencia DEC(12,5),
disponible DEC(12,5),
codigo_bloque CHAR(15),
id_kit INT
END RECORD
DEFINE art ARRAY[200] OF RECORD
cod_n1 SMALLINT,
cod_grupo1 SMALLINT,
cod_tipo1 SMALLINT,
cod_sec1 SMALLINT,
descrip_esp1 CHAR(30),
unidad_med LIKE iptb00002.unidad_med,
bodega LIKE intb00002.bodega,
existencia like intb00002.existencia,
pto_reorden LIKE intb00002.pto_reorden,
dia_llegada LIKE intb00002.dia_llegada,
#costo_mp LIKE cotb00002.costo_mp,
valor decimal(10,2)
END RECORD
DEFINE csmov1 DYNAMIC ARRAY OF RECORD
num_doc CHAR(11),
num_oc INT,
num_compra INT,
fecha_2 LIKE iptb00006.fecha,
entrada char(14),
salida char(14),
bodega1 CHAR(50),
balance char(14)
END RECORD
DEFINE csmov RECORD
num_doc LIKE iptb00006.num_doc,
fecha_1 LIKE iptb00006.fecha,
num_oc INT,
num_compra INT,
cantidad_2 LIKE iptb00006.cantidad_2,
cod_mov LIKE iptb00006.cod_mov,
bodega CHAR(50)
END RECORD
DEFINE datos_cons RECORD
cod_n LIKE iptb00002.cod_n,
cod_grupo LIKE iptb00002.cod_grupo,
cod_tipo LIKE iptb00002.cod_tipo,
cod_sec LIKE iptb00002.cod_sec,
unidad_med LIKE iptb00002.unidad_med,
bodega LIKE iptb00006.bodega,
fech_in DATE,
fech_fi DATE
END RECORD
DEFINE movi3 ARRAY[1000] OF RECORD
codigo CHAR(10),
cantidad_1 DECIMAL(12,5),
cantidad_2 DECIMAL(12,5),
diferencia DECIMAL(12,5),
descrip_esp LIKE iptb00002.descrip_esp,
unidad_med LIKE iptb00002.unidad_med
END RECORD
DEFINE movi_ant ARRAY[1000] OF RECORD
cod_n LIKE iptb00006.cod_n,
cod_grupo LIKE iptb00006.cod_grupo,
cod_tipo LIKE iptb00006.cod_tipo,
cod_sec LIKE iptb00006.cod_sec,
cant_ant LIKE iptb00006.cantidad_2
END RECORD
DEFINE movi ARRAY[500] OF RECORD
cod_n LIKE iptb00006.cod_n,
cod_grupo LIKE iptb00006.cod_grupo,
cod_tipo LIKE iptb00006.cod_tipo,
cod_sec LIKE iptb00006.cod_sec,
cantidad_1 LIKE iptb00006.cantidad_1,
cantidad_2 LIKE iptb00006.cantidad_2,
unidad_med LIKE iptb00002.unidad_med,
descrip_esp CHAR(40)
END RECORD
DEFINE ant_art RECORD
area SMALLINT,
cod_n LIKE cotb00002.cod_n,
cod_grupo LIKE cotb00002.cod_grupo,
cod_tipo LIKE cotb00002.cod_tipo,
cod_sec LIKE cotb00002.cod_sec
END RECORD
DEFINE c_articulos ARRAY[100] OF RECORD
cod_n LIKE cotb00002.cod_n,
cod_grupo LIKE cotb00002.cod_grupo,
cod_tipo LIKE cotb00002.cod_tipo,
cod_sec LIKE cotb00002.cod_sec,
descripcion CHAR(30)
# costo_mp LIKE cotb00002.costo_mp,
# fecha_act LIKE cotb00002.fecha_act
END RECORD
DEFINE consulta_mv ARRAY[200] OF RECORD
num_doc LIKE iptb00006.num_doc,
fecha LIKE iptb00006.fecha,
nombre char(7),
cantidad_1 LIKE iptb00006.cantidad_1,
cantidad_2 LIKE iptb00006.cantidad_1,
balance decimal(12,2)
END RECORD
DEFINE c_det_inv ARRAY[200] OF RECORD
cod_n LIKE iptb00002.cod_n,
cod_grupo LIKE iptb00002.cod_grupo,
cod_tipo LIKE iptb00002.cod_tipo,
cod_sec LIKE iptb00002.cod_sec,
descrip_esp LIKE iptb00002.descrip_esp,
existencia LIKE intb00002.existencia,
#costo_mp LIKE cotb00002.costo_mp,
valor DECIMAL(12,5)
END RECORD
DEFINE datos_cs RECORD
cod_n LIKE iptb00006.cod_n,
cod_grupo LIKE iptb00006.cod_grupo,
cod_tipo LIKE iptb00006.cod_tipo,
cod_sec LIKE iptb00006.cod_sec,
descrip_esp LIKE iptb00002.descrip_esp,
fecha_in LIKE iptb00006.fecha,
fecha_fi LIKE iptb00006.fecha
END RECORD
#DEFINE medidas1 RECORD LIKE vetb00014.*
DEFINE otrab SMALLINT
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
END GLOBALS
FUNCTION busca_prod1()
DEFINE arr_prod ARRAY[500] OF RECORD
cod_n INTEGER,
cod_grupo INTEGER,
cod_tipo INTEGER,
cod_sec INTEGER,
descrip_esp CHAR(30),
unidad_med CHAR(5)
END RECORD
OPEN WINDOW busca_2 AT 8,4 WITH FORM "ipfmwd001" ATTRIBUTE (BORDER,FORM LINE
FIRST + 1,PROMPT LINE LAST)
CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp
FROM cod_n,cod_grupo,cod_tipo,cod_sec,descrip_esp
LET selec_pt =
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp, ",
" a.unidad_med FROM iptb00002 a ",
"WHERE a.status_t IS NULL AND ",criterio CLIPPED," ORDER BY 5 "
PREPARE comando_p FROM selec_pt
DECLARE busca_2 CURSOR FOR comando_p
LET idx = 1
FOREACH busca_2 INTO arr_prod[idx].*
LET idx = idx + 1
END FOREACH
CALL SET_COUNT(idx - 1)
DISPLAY ARRAY arr_prod TO s_prod.*
LET idx = ARR_CURR()
LET busca_p.cod_n = arr_prod[idx].cod_n
LET busca_p.cod_grupo = arr_prod[idx].cod_grupo
LET busca_p.cod_tipo = arr_prod[idx].cod_tipo
LET busca_p.cod_sec = arr_prod[idx].cod_sec
LET busca_p.descrip_esp = arr_prod[idx].descrip_esp
LET busca_p.unidad_med = arr_prod[idx].unidad_med
# para el precio
LET p_vetb25.cod_n = arr_prod[idx].cod_n
LET p_vetb25.cod_grupo = arr_prod[idx].cod_grupo
LET p_vetb25.cod_tipo = arr_prod[idx].cod_tipo
LET p_vetb25.cod_sec = arr_prod[idx].cod_sec
LET descrip1 = arr_prod[idx].descrip_esp
LET medida = arr_prod[idx].unidad_med
CLOSE WINDOW busca_2
END FUNCTION
REPORT formu4(x,z)
DEFINE x RECORD
num_doc LIKE iptb00006.num_doc,
cod_cia LIKE iptb00006.cod_cia,
cod_mov LIKE iptb00006.cod_mov,
fact_no LIKE iptb00006.fact_no,
cod_transp LIKE iptb00006.cod_transp,
sec_transp LIKE iptb00006.sec_transp,
cod_tarifa LIKE iptb00006.cod_tarifa,
placa LIKE iptb00006.placa,
fecha LIKE iptb00006.fecha,
conduce_no LIKE iptb00006.conduce_no,
descrip_mov CHAR(40), #LIKE intb00005.descrip_mov,
bodega LIKE iptb00006.bodega,
detalle LIKE iptb00006.detalle,
cod_sp LIKE iptb00006.cod_sp,
cod_sp_sec LIKE iptb00006.cod_sp_sec,
departamento SMALLINT,
nombre_depto CHAR(30),
cod_mov1 SMALLINT,
entrada INT,
descrip_mov1 CHAR(40),
descrip4 CHAR(30)
END RECORD
DEFINE z RECORD
cod_n LIKE intb00003.cod_n,
cod_grupo LIKE intb00003.cod_grupo,
cod_tipo LIKE intb00003.cod_tipo,
cod_sec LIKE intb00003.cod_sec,
cantidad_1 LIKE iptb00006.cantidad_1,
cantidad_2 LIKE iptb00006.cantidad_2,
cantidad_p DEC(12,5),
unidad_med LIKE iptb00002.unidad_med,
descrip_esp CHAR(70)
END RECORD,
etiqueta,pcalle,purbanizacion,pcasa_num,ptelefono,pcelular,nombre,apellido CHAR(30),
plado1,plado2,plado3,pcantidad,pmedida DEC(12,5),
pprovincia SMALLINT,
nombre_provincia CHAR(30),
nombre_p,direccion_p CHAR(40),
total_unidades INT,
hora CHAR(5),
pobserva,pubica CHAR(60)
DEFINE usuario_c CHAR(9)
DEFINE signo CHAR(1)
DEFINE doce,normal,doble,doble_of,negras,negras_off CHAR(2)
DEFINE l,cuenta SMALLINT
OUTPUT
LEFT MARGIN 0
ORDER BY x.num_doc,z.cod_sec
FORMAT
BEFORE GROUP OF x.num_doc
LET doble = ASCII 14
LET doble_of = ASCII 20
LET negras = ASCII 27, ASCII 69
LET negras_off = ASCII 27, ASCII 70
SELECT unique us_crea INTO usuario_c
FROM iptb00006 WHERE num_doc = x.num_doc and
cod_mov = x.cod_mov and
us_crea = user
LET doce = ASCII 27, ASCII 77
LET normal = ASCII 27, ASCII 80
LET hora = time
PRINT doce
#PRINT COLUMN 1, negras,doble,p_companias.nombre CLIPPED
PRINT COLUMN 1,doble, "M A R M O T E C H, S. A.",doble_of
PRINT COLUMN 71,"No. ",doble,x.num_doc using "<<<<<<"
#LET l = (80 - LENGTH ("OTROS MOVIMIENTOS")) / 2
PRINT #COLUMN l, "OTROS MOVIMIENTOS",
COLUMN 71, x.fecha using "dd/mm/yyyy"
PRINT COLUMN 71, hora
LET l = (70 - LENGTH (x.descrip_mov)) / 2
PRINT COLUMN l-2, doble,negras,"(",x.cod_mov using "&&",") ",x.descrip_mov,doble_of
PRINT negras_off
IF x.cod_mov = 12 THEN
PRINT COLUMN 1, "Factura No: ",x.fact_no using "&&&&&&"
END IF
IF x.detalle is null THEN
LET x.detalle = "**************************************"
END IF
SELECT a.calle,a.casa_num,a.urbanizacion,b.telefono,b.telex,c.nom1_emp,c.apell1_emp,b.cod_provincia
INTO pcalle,pcasa_num,purbanizacion,ptelefono,pcelular,nombre,apellido,pprovincia
FROM vetb00005 a,vetb00004 b,vetb00028 d,adtb00003 c
WHERE a.tipo_cliente = x.cod_sp AND
a.sec_cliente = x.cod_sp_sec AND
a.tipo_cliente = d.tipo_cliente AND
a.sec_cliente = d.sec_cliente AND
a.tipo_cliente = b.tipo_cliente AND
a.sec_cliente = b.sec_cliente AND
d.sec_vend = c.num_emp
LET nombre_provincia = NULL
IF x.cod_mov = 30 OR x.cod_mov = 31 THEN
SELECT a.nombre_provincia INTO nombre_provincia
FROM vetb00020 a
WHERE a.cod_provincia = pprovincia
END IF
IF x.cod_mov = 55 THEN
SELECT unique a.nom_pais INTO nombre_provincia FROM cotb00018 a
WHERE a.cod_pais = pprovincia
END IF
LET nombre_p = null
LET direccion_p = null
SELECT a.nombre_proyecto,a.direccion_proyecto INTO nombre_p,direccion_p
FROM vetb00049 a
WHERE a.tipo_cliente = x.cod_sp AND
a.sec_cliente = x.cod_sp_Sec
SELECT a.direccion INTO pubica FROM prtb00012 a
WHERE a.num_oc = x.conduce_no AND a.fech_crea > datetime (2007-01-01 08:00) year to minute
# SELECT a.observacion INTO pobserva FROM prtb00014 a
# WHERE a.num_oc = x.conduce_no AND a.fech_crea > datetime (2007-01-01 08:00) year to minute
PRINT COLUMN 1, "CLIENTE : ",negras, x.descrip4," (",
x.cod_sp using "&&","-",
x.cod_sp_sec using "&&&&",")",negras_off
PRINT COLUMN 1, "DIRECCION: ",pcalle CLIPPED," ",pcasa_num CLIPPED," ",purbanizacion CLIPPED,
" TELEFONO: ",ptelefono CLIPPED," CELULAR: ",pcelular
PRINT COLUMN 1, "Proyecto : ",nombre_p CLIPPED, " DIRECCION: ",direccion_p CLIPPED
PRINT COLUMN 1, "Vendedor : ",nombre clipped," ",apellido
PRINT COLUMN 1, "Entrada : ",x.entrada USING "<<<<<<"," (",x.cod_mov1 USING "<<<",") ",x.descrip_mov1 CLIPPED
PRINT COLUMN 1, "Orden : ",x.conduce_no, COLUMN 20 #,"Observacion Orden: ",pobserva CLIPPED
PRINT COLUMN 1, "Ubicacion: ",pubica CLIPPED
IF x.cod_mov = 70 OR x.cod_mov = 71 OR x.cod_mov = 72 THEN
PRINT COLUMN 1, "DEPARTAMENTO: ",x.departamento USING "<<<<"," ",x.nombre_depto
END IF
PRINT doce
PRINT COLUMN 1,
"-----------------------------------------------------------------------------",
"-----------------"
PRINT COLUMN 2,doble, "PRODUCTO(S)",doble_of clipped
PRINT COLUMN 74, "CANTIDAD"
PRINT COLUMN 62, "CANTIDAD",
COLUMN 74, "PENDIENTE"
PRINT COLUMN 50, "UNIDADES",
COLUMN 62, "A DESPACHAR",
COLUMN 74, "CON ESTA TRANSACCION"
PRINT COLUMN 1,
"-----------------------------------------------------------------------------",
"-----------------"
SKIP 1 LINES
ON EVERY ROW
IF z.cod_n is not null and z.cod_grupo is not null and
z.cod_tipo is not null and z.cod_sec is not null THEN
PRINT COLUMN 2, z.cod_n using "&&","-",
COLUMN 4, z.cod_grupo using "&&","-",
COLUMN 6, z.cod_tipo using "&&&","-",
COLUMN 9, z.cod_sec using "&&&",
COLUMN 17, z.descrip_esp clipped," ";
IF cuenta = 1 THEN
LET signo = "+"
ELSE
LET signo = "-"
LET z.cantidad_2 = z.cantidad_2 * -1
END IF
IF z.cantidad_2 < 0 THEN
LET z.cantidad_2 = z.cantidad_2 * -1
END IF
PRINT COLUMN 48, z.cantidad_1 USING "###,###.#####",
COLUMN 56, z.cantidad_2 using "###,###.#####"," ",z.unidad_med,
COLUMN 75, z.cantidad_p using "###,###.#####"
DECLARE busca_d1 CURSOR FOR
SELECT a.etiqueta,a.lado_1,a.lado_2,a.lado_3,a.cantidad,a.medida
FROM iptb00025 a
WHERE a.cod_n = z.cod_n AND
a.cod_grupo = z.cod_grupo AND
a.cod_tipo = z.cod_tipo AND
a.cod_sec = z.cod_sec AND
a.cod_mov = X.cod_mov AND
a.num_Doc = x.num_doc
LET total_unidades = 0
FOREACH busca_d1 INTO etiqueta,plado1,plado2,plado3,pcantidad,pmedida
PRINT COLUMN 19,pcantidad USING "<,<<<"," ",etiqueta clipped," DE ",plado1 USING "<<.#####"," X ",
plado2 USING "<<.#####"," X ",plado3 USING "<<.#####"," = ",pmedida USING "<<<.#####"
LET total_unidades = total_unidades + pcantidad
END FOREACH
IF total_unidades > 0 THEN
PRINT COLUMN 19, "TOTAL UNIDADES ",total_unidades USING "<,<<<"
END IF
END IF
PAGE TRAILER
PRINT COLUMN 1, "OBSERVACIONES: ", UPSHIFT(x.detalle)
SKIP 1 LINE
PRINT COLUMN 1, "TRANSPORTISTA: ",descrip2
PRINT COLUMN 1, "PLACA : ",x.placa
SKIP 4 LINES
PRINT COLUMN 1, "------------------",
COLUMN 32, "------------------",
COLUMN 55, "------------------"
PRINT COLUMN 5, "Entregado Por",
COLUMN 34, "Recibido Por",
COLUMN 58, "Aprobado Por"
SKIP 1 LINE
PRINT COLUMN 2,
"Original: Contabilidad Copia: Vendedor Copia: Ventas Copia: Almacen"
PRINT normal
END REPORT
@@ -0,0 +1,972 @@
{
------------------------------------------------------------------
PROGRAMA : IPPRMT002
OBJETIVO : Capturar, Modificar, Eliminar registros de la
Tabla Maestra Productos
PROGRAMADOR : Juan Fco. Soto
FECHA REALIZACION : AGOSTO 1997
------------------------------------------------------------------
}
GLOBALS "ipprgb000.4gl"
DEFINE despiece CHAR(1),
pcodn,pcodgrupo,pcodtipo,pcodsec, d_tipos, f_tipos, mensaje SMALLINT,
imagen_file,filedestino,filepath STRING,
pimagen BYTE,
desc_permitido CHAR(2)
DEFINE t_marca DYNAMIC ARRAY OF RECORD
cod_marca LIKE iptb00019.marca,
nombre LIKE iptb00019.nombre_marca
END RECORD,
descrip_medida,descrip_grupo,descrip_tipo CHAR(40),
porc_desc DEC(12,2),
fecha_desc DATE
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL STARTLOG("IPPRMT02.TXT")
# CONNECT TO "marmotech" AS "IFMX" #USER usuarios USING clave
CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave
SELECT * INTO p_companias.* FROM companias
CALL ipprmt002()
END MAIN
FUNCTION ipprmt002()
CLEAR SCREEN
OPTIONS
FORM LINE 8,
ERROR LINE 24,
COMMENT LINE 23
OPEN FORM ipfmmt002 FROM "ipfmmt002"
DISPLAY FORM ipfmmt002
DISPLAY "ipprmt002" AT 4,3
DISPLAY "Catalogo Productos" AT 6,32
MENU
ON ACTION Adicionar
LET filedestino='tmpfoto.jpg'
LOCATE pimagen IN MEMORY
CLEAR FORM
LET INT_FLAG = FALSE
INITIALIZE p_iptb02.* TO NULL
LET tipo_p = "A"
SET CONNECTION "MSSQL"
CALL ippcad002()
ON ACTION consultar
CLEAR FORM
LET INT_FLAG = FALSE
INITIALIZE p_iptb02.* TO NULL
LET tipo_p = "C"
SET CONNECTION "MSSQL"
CALL ippcmf002()
ON ACTION Salir
EXIT MENU
END MENU
END FUNCTION
FUNCTION ippcad002()
# WHENEVER ERROR CONTINUE
## Captura los datos que va a contener el registro
IF tipo_p = "A" THEN
LET porc_desc=0
SET CONNECTION "MSSQL"
INPUT BY NAME p_iptb02.cod_cia,
p_iptb02.cod_n ,
p_iptb02.cod_grupo,
p_iptb02.cod_tipo,
p_iptb02.cod_sec,
p_iptb02.descrip_esp ,p_iptb02.unidad_med,
p_iptb02.nomenclatura,
p_iptb02.bodega,p_iptb01.factor_conv,p_iptb01.factor_ad,p_iptb02.exist_max,p_iptb02.exist_min,
p_iptb06.cantidad_2,p_iptb02.control_itbis,p_iptb02.control_existencia,despiece,
porc_desc,fecha_desc,desc_permitido
BEFORE INPUT
LET k1 = 1
LET p_iptb01.factor_ad = 1
DISPLAY BY NAME p_iptb01.factor_ad
CALL bodegas(k1)
ON KEY(CONTROL-W)
CASE
WHEN INFIELD (cod_n)
LET p_iptb02.cod_n = NULL
LET p_iptb02.descrip_esp = NULL
LET p_iptb20.producto = NULL
CALL busca_prod1()
LET p_iptb02.cod_n = p_iptb20.cod_n
DISPLAY BY NAME p_iptb02.cod_n
NEXT FIELD cod_grupo
END CASE
ON ACTION formar
CALL consigue_descripcion() RETURNING p_iptb02.descrip_esp
DISPLAY BY NAME p_iptb02.descrip_esp
ON ACTION busca_foto
LET d_tipos="Images"
LET f_tipos="*.jpg *.png *.gif"
LET mensaje=%"Elige Imagen"
IF p_iptb02.cod_n IS NULL THEN
NEXT FIELD cod_n
END IF
IF p_iptb02.cod_GRUPO IS NULL THEN
NEXT FIELD cod_GRUPO
END IF
IF p_iptb02.cod_TIPO IS NULL THEN
NEXT FIELD cod_TIPO
END IF
IF p_iptb02.cod_SEC IS NULL THEN
NEXT FIELD cod_SEC
END IF
LET imagen_file = "*.jpg"
CALL ui.interface.frontcall("standard","openfile",[imagen_file,d_tipos,f_tipos,mensaje],filepath)
IF filepath IS NOT NULL THEN
# LET filedestino = FGL_GETENV("IMAGENNOMINA"),"\\PRODUCTOS\\",p_iptb02.cod_n USING "<<<<","-",
# p_iptb02.cod_grupo USING "<<<<","-",
# p_iptb02.cod_tipo USING "<<<<","-",
# p_iptb02.cod_sec USING "<<<<","-",".jpg"
LOCATE pimagen IN MEMORY
CALL fgl_getfile(filepath,filedestino)
CALL pimagen.readFile(filedestino)
DISPLAY filedestino TO foto_producto
# LET p_iptb02.foto_producto = filedestino
END IF
AFTER FIELD cod_cia
IF p_iptb02.cod_cia is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_cia
END IF
SELECT UNIQUE a.descripcion INTO nombre_cia FROM iptb00022 a
WHERE a.cod_cia = p_iptb22.cod_cia
IF STATUS != NOTFOUND THEN
LET numero_msg = 12
CALL msg(numero_msg)
NEXT FIELD cod_cia
END IF
DISPLAY BY NAME nombre_cia
AFTER FIELD cod_n
IF p_iptb02.cod_n IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_n
END IF
SELECT UNIQUE a.producto INTO p_iptb20.producto FROM iptb00020 a
WHERE a.cod_n = p_iptb02.cod_n
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD cod_n
END IF
DISPLAY BY NAME p_iptb20.producto
AFTER FIELD cod_grupo
IF p_iptb02.cod_grupo IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_grupo
END IF
SELECT a.descripcion INTO descrip_grupo FROM iptb00029 a
WHERE a.cod_grupo = p_iptb02.cod_grupo
IF STATUS = NOTFOUND THEN
CALL msg(12)
NEXT FIELD cod_grupo
END IF
DISPLAY BY NAME descrip_grupo
AFTER FIELD cod_tipo
IF p_iptb02.cod_tipo IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_tipo
END IF
SELECT UNIQUE a.descripcion INTO descrip_tipo FROM iptb00024 a WHERE
a.cod_tipo = p_iptb02.cod_tipo
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD cod_tipo
END IF
DISPLAY BY NAME descrip_tipo
AFTER FIELD cod_sec
IF p_iptb02.cod_sec IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_sec
END IF
SELECT a.descripcion INTO descrip_medida FROM iptb00030 a
WHERE a.cod_sec = p_iptb02.cod_sec
IF STATUS = NOTFOUND THEN
CALL msg(3)
NEXT FIELD cod_sec
END IF
DISPLAY BY NAME descrip_medida
SELECT UNIQUE a.descrip_esp FROM iptb00002 a
WHERE a.cod_n = p_iptb02.cod_n AND a.cod_grupo = p_iptb02.cod_grupo AND
a.cod_tipo = p_iptb02.cod_tipo AND a.cod_sec = p_iptb02.cod_sec
IF STATUS != NOTFOUND THEN
LET numero_msg = 12
CALL msg(numero_msg)
NEXT FIELD cod_tipo
END IF
DISPLAY BY NAME p_iptb02.descrip_esp
AFTER INPUT
IF INT_FLAG THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET INT_FLAG = FALSE
RETURN
END IF
IF p_iptb01.factor_ad IS NULL THEN
CALL msg(2)
NEXT FIELD factor_ad
END IF
IF p_iptb01.factor_conv IS NULL OR p_iptb01.factor_conv = 0 THEN
CALL msg(2)
NEXT FIELD factor_ad
END IF
IF p_iptb02.cod_cia IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_cia
END IF
IF p_iptb02.cod_n IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_n
END IF
IF p_iptb02.cod_grupo IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_grupo
END IF
IF p_iptb02.cod_tipo IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_tipo
END IF
IF p_iptb02.cod_sec IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_sec
END IF
END INPUT
ELSE
SET CONNECTION "MSSQL"
LET pcodn = p_iptb02.cod_n
LET pcodgrupo = p_iptb02.cod_grupo
LET pcodtipo = p_iptb02.cod_tipo
LET pcodsec = p_iptb02.cod_sec
INPUT BY NAME
p_iptb02.cod_cia,
# p_iptb02.cod_n ,
# p_iptb02.cod_grupo,
# p_iptb02.cod_tipo,
# p_iptb02.cod_sec,
p_iptb02.descrip_esp ,p_iptb02.unidad_med,
p_iptb02.nomenclatura,
p_iptb02.bodega,p_iptb01.factor_conv,p_iptb01.factor_ad,p_iptb02.exist_max,p_iptb02.exist_min,
p_iptb06.cantidad_2,p_iptb02.control_itbis,p_iptb02.control_existencia,despiece,
porc_desc,fecha_desc,desc_permitido
WITHOUT DEFAULTS
ON ACTION formar
CALL consigue_descripcion() RETURNING p_iptb02.descrip_esp
DISPLAY BY NAME p_iptb02.descrip_esp
ON ACTION busca_foto
LET d_tipos="Images"
LET f_tipos="*.jpg *.png *.gif"
LET mensaje=%"Elige Imagen"
LET imagen_file = "*.jpg"
CALL ui.interface.frontcall("standard","openfile",[imagen_file,d_tipos,f_tipos,mensaje],filepath)
IF filepath IS NOT NULL THEN
# LET filedestino = FGL_GETENV("IMAGENNOMINA"),"\\PRODUCTOS\\",p_iptb02.cod_n USING "<<<<","-",
# p_iptb02.cod_grupo USING "<<<<","-",
# p_iptb02.cod_tipo USING "<<<<","-",
# p_iptb02.cod_sec USING "<<<<","-",".jpg"
CALL fgl_getfile(filepath,filedestino)
CALL pimagen.readFile(filedestino)
DISPLAY filepath TO foto_producto
LET p_iptb02.foto_producto = filedestino
END IF
BEFORE INPUT
LET k1 = 1
CALL bodegas(k1)
LET cambio = "N"
IF p_iptb01.factor_ad IS NULL OR p_iptb01.factor_ad = 0 THEN
LET p_iptb01.factor_ad = 1
DISPLAY BY NAME p_iptb01.factor_ad
END IF
{ SELECT UNIQUE a.cod_n FROM iptb00006 a WHERE a.cod_mov <> 99 AND
a.cod_n = p_iptb02.cod_n AND
a.cod_grupo = p_iptb02.cod_grupo AND
a.cod_tipo = p_iptb02.cod_tipo AND
a.cod_sec = p_iptb02.cod_sec AND
a.status_t IS NULL
IF STATUS <> NOTFOUND THEN
NEXT FIELD descrip_esp
END IF
AFTER FIELD cod_n
IF p_iptb02.cod_n IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_n
END IF
SELECT UNIQUE a.producto INTO p_iptb20.producto FROM iptb00020 a
WHERE a.cod_n = p_iptb02.cod_n
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD cod_n
END IF
DISPLAY BY NAME p_iptb20.producto
AFTER FIELD cod_grupo
IF p_iptb02.cod_grupo IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_grupo
END IF
SELECT a.descripcion INTO descrip_grupo FROM iptb00029 a
WHERE a.cod_grupo = p_iptb02.cod_grupo
IF STATUS = NOTFOUND THEN
CALL msg(12)
NEXT FIELD cod_grupo
END IF
DISPLAY BY NAME descrip_grupo
AFTER FIELD cod_tipo
IF p_iptb02.cod_tipo IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_tipo
END IF
SELECT UNIQUE a.descripcion INTO descrip_tipo FROM iptb00024 a WHERE
a.cod_tipo = p_iptb02.cod_tipo
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD cod_tipo
END IF
DISPLAY BY NAME descrip_tipo
AFTER FIELD cod_sec
IF p_iptb02.cod_sec IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_sec
END IF
SELECT a.descripcion INTO descrip_medida FROM iptb00030 a
WHERE a.cod_sec = p_iptb02.cod_sec
IF STATUS = NOTFOUND THEN
CALL msg(3)
NEXT FIELD cod_sec
END IF
DISPLAY BY NAME descrip_medida
SELECT UNIQUE a.descrip_esp FROM iptb00002 a
WHERE a.cod_n = p_iptb02.cod_n AND a.cod_grupo = p_iptb02.cod_grupo AND
a.cod_tipo = p_iptb02.cod_tipo AND a.cod_sec = p_iptb02.cod_sec
IF STATUS != NOTFOUND AND cambio = "S" THEN
LET numero_msg = 12
CALL msg(numero_msg)
NEXT FIELD cod_tipo
END IF
DISPLAY BY NAME p_iptb02.descrip_esp
}
AFTER FIELD cod_cia
IF p_iptb02.cod_cia is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_cia
END IF
IF p_iptb02.cod_cia = 1 THEN
LET nombre_cia = "PRODUCTO LOCAL"
ELSE
LET nombre_cia = "PRODUCTO IMPORTADO"
END IF
DISPLAY BY NAME nombre_cia
AFTER FIELD descrip_esp
IF p_iptb02.descrip_esp is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descrip_esp
END IF
AFTER FIELD unidad_med
IF p_iptb02.descrip_esp is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descrip_esp
END IF
AFTER FIELD exist_max
IF p_iptb02.exist_max is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD exist_max
END IF
AFTER FIELD exist_min
IF p_iptb02.exist_min is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD exist_min
END IF
AFTER INPUT
IF INT_FLAG THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET INT_FLAG = FALSE
RETURN
END IF
IF p_iptb01.factor_ad IS NULL THEN
CALL msg(2)
NEXT FIELD factor_ad
END IF
IF p_iptb01.factor_conv IS NULL OR p_iptb01.factor_conv = 0 THEN
CALL msg(2)
NEXT FIELD factor_conv
END IF
IF p_iptb02.cod_cia is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_cia
END IF
IF p_iptb02.descrip_esp is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descrip_esp
END IF
IF p_iptb02.descrip_esp is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descrip_esp
END IF
IF p_iptb02.bodega is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD bodega
END IF
IF p_iptb02.exist_max is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD exist_max
END IF
IF p_iptb02.exist_min is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD exist_min
END IF
END INPUT
END IF
IF tipo_p = "A" THEN
# PRIMERA CONEXION
SET CONNECTION "MSSQL"
LET p_iptb06.num_doc = 0
SELECT MAX(a.num_doc) INTO p_iptb06.num_doc FROM iptb00006 a
WHERE a.cod_n = p_iptb02.cod_n AND a.cod_grupo = p_iptb02.cod_grupo AND
a.cod_tipo = p_iptb02.cod_tipo AND a.cod_sec = p_iptb02.cod_sec AND
a.cod_mov = 99
IF p_iptb06.num_doc IS NULL THEN
LET p_iptb06.num_doc = 0
END IF
LET p_iptb06.num_doc = p_iptb06.num_doc + 1
#LET pcodid = 0
#SELECT MAX(a.codid) INTO pcodid FROM iptb00002 a
#LET pcodid = pcodid +1
#LET p_iptb02.codid = pcodid
BEGIN WORK
INSERT INTO iptb00001
VALUES (p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.unidad_med,p_iptb01.factor_conv,
NULL,SUSER_SNAME(),GETDATE(),NULL,NULL,p_iptb01.factor_ad)
INSERT INTO iptb00002(cod_cia,cod_n,cod_grupo,cod_tipo,cod_Sec,descrip_esp,
descrip_ing,unidad_med,bodega,control_existencia,control_itbis,dia_llegada,exist_max,
exist_min,us_crea,fech_crea,foto_producto,porc_desc,fecha_desc,imagen,descuento_permitido)
VALUES (p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,
p_iptb02.dia_llegada,p_iptb02.exist_max,p_iptb02.exist_min,usuarios,getdate(),
p_iptb02.foto_producto,porc_desc,fecha_desc,pimagen,desc_permitido)
FREE pimagen
LET p_iptb06.cantidad_2 = 0
INSERT INTO iptb00006 (cod_cia,num_doc,fecha,cod_n,cod_grupo,cod_tipo,
cod_sec,bodega,cantidad_2,cod_mov,us_crea,fech_crea)
VALUES (p_iptb02.cod_cia,p_iptb06.num_doc,TODAY,p_iptb02.cod_n,
p_iptb02.cod_grupo,p_iptb02.cod_tipo,p_iptb02.cod_sec,
p_iptb02.bodega,p_iptb06.cantidad_2,99,usuarios,GETDATE())
IF despiece = "S" THEN
INSERT INTO iptb00027
VALUES (p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,p_iptb02.cod_sec)
END IF
COMMIT WORK
SELECT a.codid INTO p_iptb02.codid FROM iptb00002 a
WHERE a.cod_n = p_iptb02.cod_n AND
a.cod_grupo = p_iptb02.cod_tipo AND
a.cod_tipo = p_iptb02.cod_tipo AND
a.cod_sec = p_iptb02.cod_Sec
# SEGUNDA CONEXION
# SET CONNECTION "IFMX"
{
INSERT INTO iptb00002(cod_cia,cod_n,cod_grupo,cod_tipo,cod_Sec,descrip_esp,
descrip_ing,unidad_med,bodega,control_existencia,control_itbis,dia_llegada,exist_max,
exist_min,us_crea,fech_crea,codid)
VALUES (p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,
p_iptb02.dia_llegada,p_iptb02.exist_max,p_iptb02.exist_min,usuarios,getdate(),
p_iptb02.codid)
INSERT INTO iptb00001
VALUES (p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.unidad_med,p_iptb01.factor_conv,
NULL,SUSER_SNAME(),GETDATE(),NULL,NULL,p_iptb01.factor_ad)
LET p_iptb06.cantidad_2 = 0
INSERT INTO iptb00006 (cod_cia,num_doc,fecha,cod_n,cod_grupo,cod_tipo,
cod_sec,bodega,cantidad_2,cod_mov,us_crea,fech_crea)
VALUES (p_iptb02.cod_cia,p_iptb06.num_doc,TODAY,p_iptb02.cod_n,
p_iptb02.cod_grupo,p_iptb02.cod_tipo,p_iptb02.cod_sec,
p_iptb02.bodega,p_iptb06.cantidad_2,99,usuarios,getdate())
LET numero_msg = 1
CALL msg(numero_msg)
ELSE
# PRIMERA CONEXION
SET CONNECTION "MSSQL"
UPDATE iptb00002 SET iptb00002.cod_cia = p_iptb02.cod_cia,
iptb00002.cod_n =p_iptb02.cod_n,
iptb00002.cod_grupo = p_iptb02.cod_grupo,
iptb00002.cod_tipo =p_iptb02.cod_tipo,
iptb00002.cod_sec =p_iptb02.cod_Sec,
iptb00002.descrip_esp =p_iptb02.descrip_esp,
iptb00002.descrip_ing =p_iptb02.descrip_ing,
iptb00002.bodega =p_iptb02.bodega,
iptb00002.control_existencia =p_iptb02.control_existencia,
iptb00002.control_itbis =p_iptb02.control_itbis,
iptb00002.exist_min =p_iptb02.exist_min,
iptb00002.exist_max =p_iptb02.exist_max,
iptb00002.unidad_med = p_iptb02.unidad_med,
iptb00002.dia_llegada =p_iptb02.dia_llegada,
iptb00002.nomenclatura =p_iptb02.nomenclatura,
iptb00002.us_mod = usuarios,
iptb00002.fech_mod = getdate(),
iptb00002.foto_producto = p_iptb02.foto_producto,
iptb00002.porc_desc = porc_desc,
iptb00002.fecha_desc = fecha_Desc,
iptb00002.imagen = pimagen,
iptb00002.descuento_permitido=desc_permitido
WHERE codid = p_iptb02.codid
FREE pimagen
SELECT a.cod_n FROM iptb00001 a
WHERE a.cod_n = p_iptb02.cod_n AND a.cod_grupo = p_iptb02.cod_grupo AND
a.cod_tipo = p_iptb02.cod_tipo AND a.cod_Sec = p_iptb02.cod_sec
IF STATUS = NOTFOUND THEN
INSERT INTO iptb00001
VALUES (p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.unidad_med,p_iptb01.factor_conv,
NULL,SUSER_SNAME(),GETDATE(),NULL,NULL,p_iptb01.factor_ad)
ELSE
UPDATE iptb00001 SET unidad = p_iptb02.unidad_med,
factor_conv = p_iptb01.factor_conv,
factor_ad = p_iptb01.factor_ad,
us_mod = usuarios,
fech_mod = getdate()
WHERE cod_n = p_iptb02.cod_n AND cod_grupo = p_iptb02.cod_grupo AND
cod_tipo = p_iptb02.cod_tipo AND cod_Sec = p_iptb02.cod_sec
END IF
DELETE FROM iptb00027 WHERE @cod_n = p_iptb02.cod_n AND @cod_grupo = p_iptb02.cod_grupo AND
@cod_tipo = p_iptb02.cod_tipo AND @cod_sec = p_iptb02.cod_sec
IF despiece = "S" THEN
INSERT INTO iptb00027
VALUES (p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,p_iptb02.cod_sec)
END IF
# SEGUNDA CONEXION
# SET CONNECTION "IFMX"
SELECT a.cod_n FROM iptb00002 a
WHERE a.cod_n = p_iptb02.cod_n AND
a.cod_grupo = p_iptb02.cod_grupo AND
a.cod_tipo = p_iptb02.cod_tipo AND
a.cod_sec = p_iptb02.cod_sec
IF STATUS <> NOTFOUND THEN
UPDATE iptb00002 SET iptb00002.cod_cia = p_iptb02.cod_cia,
iptb00002.descrip_esp =p_iptb02.descrip_esp,
iptb00002.descrip_ing =p_iptb02.descrip_ing,
iptb00002.bodega =p_iptb02.bodega,
iptb00002.control_existencia =p_iptb02.control_existencia,
iptb00002.control_itbis =p_iptb02.control_itbis,
iptb00002.exist_min =p_iptb02.exist_min,
iptb00002.exist_max =p_iptb02.exist_max,
iptb00002.unidad_med = p_iptb02.unidad_med,
iptb00002.dia_llegada =p_iptb02.dia_llegada,
iptb00002.nomenclatura =p_iptb02.nomenclatura,
iptb00002.status_t = p_iptb02.status_t,
iptb00002.us_mod = usuarios,
iptb00002.fech_mod = GETDATE()
WHERE cod_n = p_iptb02.cod_n AND
cod_grupo = p_iptb02.cod_grupo AND
cod_tipo = p_iptb02.cod_tipo AND
cod_Sec = p_iptb02.cod_sec
ELSE
INSERT INTO iptb00002(cod_cia,cod_n,cod_grupo,cod_tipo,cod_Sec,descrip_esp,
descrip_ing,unidad_med,bodega,control_existencia,control_itbis,dia_llegada,exist_max,
exist_min,us_crea,fech_crea,codid)
VALUES (p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,
p_iptb02.dia_llegada,p_iptb02.exist_max,p_iptb02.exist_min,usuarios,GETDATE(),
p_iptb02.codid)
LET p_iptb06.cantidad_2 = 0
INSERT INTO iptb00006 (cod_cia,num_doc,fecha,cod_n,cod_grupo,cod_tipo,
cod_sec,bodega,cantidad_2,cod_mov,us_crea,fech_crea)
VALUES (p_iptb02.cod_cia,p_iptb06.num_doc,TODAY,p_iptb02.cod_n,
p_iptb02.cod_grupo,p_iptb02.cod_tipo,p_iptb02.cod_sec,
p_iptb02.bodega,p_iptb06.cantidad_2,99,usuarios,GETDATE())
END IF
SELECT a.cod_n FROM iptb00001 a
WHERE a.cod_n = p_iptb02.cod_n AND a.cod_grupo = p_iptb02.cod_grupo AND
a.cod_tipo = p_iptb02.cod_tipo AND a.cod_Sec = p_iptb02.cod_sec
IF STATUS = NOTFOUND THEN
INSERT INTO iptb00001
VALUES (p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.unidad_med,p_iptb01.factor_conv,
NULL,SUSER_SNAME(),GETDATE(),NULL,NULL,p_iptb01.factor_ad)
ELSE
UPDATE iptb00001 SET unidad = p_iptb02.unidad_med,
factor_conv = p_iptb01.factor_conv,
factor_ad = p_iptb01.factor_ad,
us_mod = usuarios,
fech_mod = getdate()
WHERE cod_n = p_iptb02.cod_n AND cod_grupo = p_iptb02.cod_grupo AND
cod_tipo = p_iptb02.cod_tipo AND cod_Sec = p_iptb02.cod_sec
END IF
LET numero_msg = 13
CALL msg(numero_msg)
}
END IF
END FUNCTION
FUNCTION ippcmf002()
#WHENEVER ERROR CONTINUE
CLEAR FORM
## Aqui se prepara para la captura del criterio de seleccion
CONSTRUCT criterio ON iptb00002.cod_cia,iptb00002.cod_n,iptb00002.cod_grupo,
iptb00002.cod_tipo,iptb00002.cod_sec,
iptb00002.descrip_esp
FROM cod_cia,cod_n,cod_grupo,cod_tipo,cod_sec,descrip_esp
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET filedestino="tmpfoto.jpg"
LET SELEC = "SELECT DISTINCT codid,cod_cia,cod_n,cod_grupo,cod_tipo,cod_Sec,descrip_esp,
descrip_ing,unidad_med,bodega,control_existencia,control_itbis,dia_llegada,exist_max,
exist_min,us_crea,CONVERT(VARCHAR(16),fech_crea,103),foto_producto,porc_desc,",
"CONVERT(CHAR(10),fecha_desc,103),status_t,imagen,descuento_permitido FROM iptb00002 ",
"WHERE ",criterio clipped,
" ORDER BY cod_n,cod_grupo,cod_tipo,cod_Sec"
PREPARE busca FROM selec
DECLARE datos SCROLL CURSOR WITH HOLD FOR busca
OPEN datos
LOCATE pimagen IN MEMORY
FETCH FIRST datos INTO p_iptb02.codid, p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,p_iptb02.dia_llegada,
p_iptb02.exist_max,p_iptb02.exist_min,p_iptb02.us_crea,p_iptb02.fech_crea,p_iptb02.foto_producto,
porc_desc,fecha_desc,p_iptb02.status_t,pimagen,desc_permitido
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
RETURN
END IF
CALL despl1()
MENU "OPCIONES "
COMMAND "Siguiente" "Presenta en pantalla el proximo registro encontrado"
FETCH NEXT datos INTO p_iptb02.codid,p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,p_iptb02.dia_llegada,
p_iptb02.exist_max,p_iptb02.exist_min,p_iptb02.us_crea,p_iptb02.fech_crea,p_iptb02.foto_producto,
porc_desc,fecha_desc,p_iptb02.status_t,pimagen,desc_permitido
IF STATUS = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
CALL despl1()
COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado"
FETCH PREVIOUS datos INTO p_iptb02.codid,p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,p_iptb02.dia_llegada,
p_iptb02.exist_max,p_iptb02.exist_min,p_iptb02.us_crea,p_iptb02.fech_crea,p_iptb02.foto_producto,
porc_desc,fecha_desc,p_iptb02.status_t,pimagen,desc_permitido
IF STATUS = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
CALL despl1()
COMMAND "Primero" "Presenta en pantalla el primer registro encontrado"
FETCH FIRST datos INTO p_iptb02.codid,p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,p_iptb02.dia_llegada,
p_iptb02.exist_max,p_iptb02.exist_min,p_iptb02.us_crea,p_iptb02.fech_crea,p_iptb02.foto_producto,
porc_desc,fecha_desc,p_iptb02.status_t,pimagen,desc_permitido
IF STATUS = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
CALL despl1()
COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado"
FETCH LAST datos INTO p_iptb02.codid,p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,p_iptb02.dia_llegada,
p_iptb02.exist_max,p_iptb02.exist_min,p_iptb02.us_crea,p_iptb02.fech_crea,p_iptb02.foto_producto,
porc_desc,fecha_desc,p_iptb02.status_t,pimagen,desc_permitido
IF STATUS = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
CALL despl1()
COMMAND "Escoger" "<Esc> Actualiza Registro <Delete> Cancela Operacion"
CALL ippcad002()
EXIT MENU
COMMAND KEY ("T") "acTivar"
UPDATE iptb00002 SET status_t = null,us_mod = user,fech_mod = GETDATE()
WHERE @cod_n = p_iptb02.cod_n AND @cod_grupo = p_iptb02.cod_grupo AND
@cod_tipo = p_iptb02.cod_tipo AND @cod_sec = p_iptb02.cod_sec
LET numero_msg = 13
CALL msg(numero_msg)
COMMAND KEY ("L") "eLiminar"
IF p_iptb06.cantidad_2 <> 0 THEN
CALL fgl_winmessage("EXISTENCIA","NO PUEDE ELIMINAR UN CODIGO CON EXISTENCIA","INFO")
CONTINUE MENU
END IF
LET OPT = FGL_WINQUESTION("WARNING","ESTA SEGURO DE ELIMINAR ESTE REGISTRO?","NO","YES|NO","QUESTION",0)
IF opt = "YES" THEN
UPDATE iptb00002 SET status_t = "E",us_mod = usuarios,
fech_mod = GETDATE()
WHERE @cod_n = p_iptb02.cod_n AND @cod_grupo = p_iptb02.cod_grupo AND
@cod_tipo = p_iptb02.cod_tipo AND @cod_sec = p_iptb02.cod_sec
{ UPDATE iptb00006 SET status_t = "E", us_mod = user, fech_mod = GETDATE()
WHERE @cod_n = p_iptb02.cod_n AND @cod_grupo = p_iptb02.cod_grupo AND
@cod_tipo = p_iptb02.cod_tipo AND @cod_sec = p_iptb02.cod_sec
}
LET numero_msg = 39
CALL msg(numero_msg)
END IF
COMMAND "Retornar" "Retorna al menu anterior"
CLEAR FORM
EXIT MENU
END MENU
END FUNCTION
FUNCTION busca_prod1()
OPEN WINDOW producto AT 12,3 WITH FORM "ipfmwd006" ATTRIBUTE(BORDER,CYAN,
FORM LINE FIRST +1)
DECLARE busca11 CURSOR FOR
SELECT a.* FROM iptb00020 a ORDER BY 2
LET idx = 1
FOREACH busca11 INTO t_marca[idx].*
LET idx = idx + 1
END FOREACH
IF idx = 1 THEN
LET numero_msg = 3
CALL msg(numero_msg)
SLEEP 4
END IF
CALL set_count(idx-1)
DISPLAY ARRAY t_marca TO s_pilas.*
LET idx = arr_curr()
LET p_iptb20.cod_n = t_marca[idx].cod_marca
LET p_iptb20.producto = t_marca[idx].nombre
CLOSE WINDOW producto
END FUNCTION
FUNCTION despl1()
# FACTOR CONVERSION
LET p_iptb01.factor_ad=0
LET p_iptb01.factor_conv=0
SELECT a.factor_conv,a.factor_ad INTO p_iptb01.factor_conv,p_iptb01.factor_ad
FROM iptb00001 a
WHERE a.cod_n = p_iptb02.cod_n AND
a.cod_grupo = p_iptb02.cod_grupo AND
a.cod_tipo = p_iptb02.cod_tipo AND
a.cod_sec = p_iptb02.cod_sec
LET p_iptb06.cantidad_2 = 0
SELECT SUM(a.cantidad_2) INTO p_iptb06.cantidad_2 FROM iptb00006 a
WHERE a.cod_n=p_iptb02.cod_n and a.cod_grupo=p_iptb02.cod_grupo and
a.cod_tipo=p_iptb02.cod_tipo and a.cod_sec=p_iptb02.cod_sec AND
a.status_t IS NULL
IF p_iptb06.cantidad_2 IS NULL THEN
LET p_iptb06.cantidad_2 = 0
END IF
LET p_iptb20.producto = NULL
SELECT UNIQUE a.producto INTO p_iptb20.producto FROM iptb00020 a
WHERE a.cod_n = p_iptb02.cod_n
SELECT a.descripcion INTO descrip_grupo FROM iptb00029 a
WHERE a.cod_grupo = p_iptb02.cod_grupo
SELECT a.descripcion INTO descrip_medida FROM iptb00030 a
WHERE a.cod_sec = p_iptb02.cod_sec
LET p_iptb21.nombre_cia = NULL
SELECT UNIQUE a.nombre_cia INTO p_iptb21.nombre_cia FROM iptb00021 a
WHERE a.cod_cia = p_iptb02.cod_cia
SELECT UNIQUE a.cod_n FROM iptb00027 a
WHERE a.cod_n=p_iptb02.cod_n and
a.cod_grupo=p_iptb02.cod_grupo and
a.cod_tipo=p_iptb02.cod_tipo and
a.cod_sec=p_iptb02.cod_sec
IF STATUS != NOTFOUND THEN
LET despiece = "S"
ELSE
LET despiece = "N"
END IF
LET descrip_tipo = NULL
SELECT UNIQUE a.descripcion INTO descrip_tipo FROM iptb00024 a WHERE a.cod_tipo = p_iptb02.cod_tipo
CALL pimagen.writeFile(filedestino)
DISPLAY "file ",filedestino
DISPLAY filedestino TO foto_producto
DISPLAY BY NAME p_iptb02.codid, p_iptb02.cod_cia,p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,
p_iptb02.cod_sec,p_iptb02.descrip_esp,p_iptb02.descrip_ing,p_iptb02.unidad_med,
p_iptb02.bodega,p_iptb02.control_existencia,p_iptb02.control_itbis,p_iptb02.dia_llegada,
p_iptb02.exist_max,p_iptb02.exist_min,p_iptb02.us_crea,p_iptb02.fech_crea,p_iptb02.foto_producto,
porc_desc,fecha_desc,p_iptb02.status_t,p_iptb21.nombre_cia,p_iptb06.cantidad_2,
p_iptb20.producto,despiece,descrip_tipo,descrip_grupo,
descrip_medida,p_iptb01.factor_conv,p_iptb01.factor_ad,porc_desc,
fecha_desc,desc_permitido
{ DISPLAY BY NAME p_iptb02.cod_n,p_iptb02.cod_grupo,p_iptb02.cod_tipo,p_iptb02.cod_sec,
p_iptb02.descrip_esp
CALL pimagen.writeFile("tmpfile.jpg")
DISPLAY "tmpfile.jpg" TO foto_producto}
END FUNCTION
FUNCTION consigue_descripcion()
LET p_iptb02.descrip_esp=p_iptb20.producto CLIPPED," ",
descrip_grupo CLIPPED," ",
descrip_tipo CLIPPED," ",
descrip_medida
RETURN p_iptb02.descrip_esp
END FUNCTION
@@ -0,0 +1,285 @@
{
------------------------------------------------------------------
PROGRAMA : IPPRMT004
OBJETIVO : Capturar, Modificar, Eliminar registros de la
Tabla Maestra de Origen Producto
PROGRAMADOR : Juan Fco. Soto
FECHA REALIZACION : AGOSTO 1997
------------------------------------------------------------------
}
GLOBALS "ipprgb000.4gl"
DEFINE nombre_cta,nombre_dpto CHAR(40)
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave
SELECT * INTO p_companias.* FROM companias
CALL ipprmt004()
END MAIN
FUNCTION ipprmt004()
CLEAR SCREEN
OPTIONS
FORM LINE 8,
ERROR LINE 24,
COMMENT LINE 23
OPEN FORM ipfmmt004 FROM "ipfmmt004"
DISPLAY FORM ipfmmt004
DISPLAY "ipprmt004" AT 4,3
DISPLAY "Catalogo Origen Producto" AT 6,29
MENU "OPCIONES"
COMMAND "Adicionar"
"<Esc> Adiciona Registro <Delete> Cancela Operacion"
CLEAR FORM
LET INT_FLAG = FALSE
INITIALIZE p_iptb22.* TO NULL
LET tipo_p = "A"
CALL ippcad004()
COMMAND "Consultar-modificar"
"<Esc> Realiza Busqueda <Delete> Cancela Operacion"
CLEAR FORM
LET INT_FLAG = FALSE
INITIALIZE p_iptb22.* TO NULL
LET tipo_p = "C"
CALL ippcmf004()
COMMAND "Salir" "Retorna Menu Anterior"
EXIT MENU
END MENU
END FUNCTION
FUNCTION ippcad004()
DEFINE fech_ant CHAR(8)
# WHENEVER ERROR CONTINUE
## Captura los datos que va a contener el registro
IF tipo_p = "A" THEN
INPUT BY NAME p_iptb22.cod_cia
AFTER FIELD cod_cia
IF p_iptb22.cod_cia is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_cia
END IF
SELECT UNIQUE a.* INTO p_iptb22.* FROM iptb00022 a
WHERE a.cod_cia = p_iptb22.cod_cia
IF STATUS != NOTFOUND THEN
LET numero_msg = 12
CALL msg(numero_msg)
DISPLAY BY NAME p_iptb22.*
NEXT FIELD cod_cia
END IF
AFTER INPUT
IF INT_FLAG THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET INT_FLAG = FALSE
RETURN
END IF
IF p_iptb22.cod_cia IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_cia
END IF
END INPUT
END IF
INPUT BY NAME p_iptb22.descripcion THRU p_iptb22.fech_mod WITHOUT DEFAULTS
AFTER FIELD descripcion
IF p_iptb22.descripcion is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descripcion
END IF
AFTER FIELD departamento
IF p_iptb22.departamento is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD departamento
END IF
SELECT UNIQUE a.nom_dpto INTO nombre_dpto FROM adtb00001 a
WHERE a.departamento = p_iptb22.departamento AND a.status_t IS NULL
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD departamento
END IF
DISPLAY BY NAME nombre_dpto
AFTER FIELD cuenta_no
IF p_iptb22.cuenta_no is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cuenta_no
END IF
SELECT UNIQUE a.descripcion INTO nombre_cta FROM cgtb00001 a
WHERE a.cuenta_no = p_iptb22.cuenta_no AND a.status_t IS NULL
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD cuenta_no
END IF
DISPLAY BY NAME nombre_cta
AFTER INPUT
IF INT_FLAG THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET INT_FLAG = FALSE
RETURN
END IF
IF p_iptb22.cod_cia IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_cia
END IF
IF p_iptb22.descripcion IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descripcion
END IF
IF p_iptb22.departamento IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD departamento
END IF
IF p_iptb22.cuenta_no IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cuenta_no
END IF
END INPUT
IF INT_FLAG THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET INT_FLAG = FALSE
RETURN
END IF
IF tipo_p = "A" THEN
INSERT INTO iptb00022 VALUES (p_iptb22.*)
UPDATE iptb00022 SET (us_crea,fech_crea) = (SUSER_SNAME(),GETDATE())
WHERE cod_cia = p_iptb22.cod_cia
LET numero_msg = 1
CALL msg(numero_msg)
ELSE
UPDATE iptb00022 SET iptb00022.* = p_iptb22.*
WHERE cod_cia = p_iptb22.cod_cia
UPDATE iptb00022 SET (us_mod,fech_mod) = (SUSER_SNAME(),GETDATE())
WHERE cod_cia = p_iptb22.cod_cia
LET numero_msg = 13
CALL msg(numero_msg)
END IF
END FUNCTION
FUNCTION ippcmf004()
#WHENEVER ERROR CONTINUE
CLEAR FORM
## Aqui se prepara para la captura del criterio de seleccion
CONSTRUCT criterio ON iptb00022.cod_cia,iptb00022.descripcion,
iptb00022.departamento,iptb00022.cuenta_no
FROM cod_cia,descripcion,departamento,cuenta_no
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET SELEC = "SELECT UNIQUE * FROM iptb00022 ",
"WHERE ",criterio clipped," ORDER BY 2,3,4,5"
PREPARE busca FROM selec
DECLARE datos SCROLL CURSOR WITH HOLD FOR busca
OPEN datos
FETCH FIRST datos INTO p_iptb22.*
CALL despl4()
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
RETURN
END IF
MENU "OPCIONES "
COMMAND "Siguiente" "Presenta en pantalla el proximo registro encontrado"
FETCH NEXT datos INTO p_iptb22.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
CALL despl4()
COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado"
FETCH PREVIOUS datos INTO p_iptb22.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
CALL despl4()
COMMAND "Primero" "Presenta en pantalla el primer registro encontrado"
FETCH FIRST datos INTO p_iptb22.*
CALL despl4()
LET numero_msg = 5
CALL msg(numero_msg)
COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado"
FETCH LAST datos INTO p_iptb22.*
CALL despl4()
LET numero_msg = 4
CALL msg(numero_msg)
COMMAND "Escoger" "<Esc> Actualiza Registro <Delete> Cancela Operacion"
CALL ippcad004()
COMMAND KEY ("L") "eLiminar"
DELETE FROM iptb00022 WHERE @cod_cia = p_iptb22.cod_cia
LET numero_msg = 39
CALL msg(numero_msg)
COMMAND "Retornar" "Retorna al menu anterior"
CLEAR FORM
EXIT MENU
END MENU
END FUNCTION
FUNCTION despl4()
LET nombre_dpto = NULL
LET nombre_cta = NULL
SELECT UNIQUE a.nom_dpto INTO nombre_dpto FROM adtb00001 a
WHERE a.departamento = p_iptb22.departamento
SELECT UNIQUE a.descripcion INTO nombre_cta FROM cgtb00001 a
WHERE a.cuenta_no = p_iptb22.cuenta_no
DISPLAY BY NAME p_iptb22.*,nombre_dpto,nombre_cta
END FUNCTION
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm databaseName="" gstVersion="22800" name="Root" uid="{624b8012-988e-43c1-a151-269f11a11a80}">
<AGSettings/>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{95d225e3-1f1c-4d29-823d-8ecf90bbe386}" where="">
<RecordField colName="" defaultValue="PDF" fieldIdRef="2" fieldType="NON_DATABASE" name="r_output" sqlTabName="" sqlType="CHAR" table_alias_name="" uid="{d5a797dc-386d-4373-bc81-e38e72b65568}"/>
</Record>
<Form gridHeight="9" gridWidth="59" name="Form1" text="Configuration">
<Grid gridHeight="8" gridWidth="54" lstrcomment="false" name="gr2" posX="2" posY="0">
<HLine gridWidth="50" name="hl2" posX="1" posY="1"/>
<Label colorCondition="black" gridHeight="1" gridWidth="9" justify="right" lstrcomment="false" lstrtext="false" name="lb2" posX="1" posY="2" text="Output as"/>
<RadioGroup aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" colorCondition="black" columnCount="" defaultValue="PDF" fieldId="2" fieldType="NON_DATABASE" gridHeight="3" gridWidth="27" items="EXCEL 2007 o VERSION MAYOR, PDF, SCREEN" lstrcomment="false" name="r_output" posX="16" posY="2" required="true" rowCount="" sqlTabName="" sqlType="CHAR" stepX="" stepY="" tabIndex="1" table_alias_name="" widget="RadioGroup">
<Item lstrtext="false" name="XLSX" text="EXCEL 2007 o VERSION MAYOR"/>
<Item lstrtext="false" name="PDF" text="PDF"/>
<Item lstrtext="false" name="SVG" text="SCREEN"/>
</RadioGroup>
<HLine gridWidth="50" name="hl2_1" posX="1" posY="5"/>
</Grid>
</Form>
<DiagramLayout>
<![CDATA[AAAAAgAAAEwAewBkADUAYQA3ADkANwBkAGMALQAzADgANgBkAC0ANAAzADcAMwAtAGIAYwA4ADEALQBlADMAOABlADcAMgBiADYANQA1ADYAOAB9QCQAAAAAAABAQwAAAAAAAAAAAAAAAAAAAQAAAEwAewA5ADUAZAAyADIANQBlADMALQAxAGYAMQBjAC0ANABkADIAOQAtADgAMgAzAGQALQA4AGUAYwBmADkAMABiAGIAZQAzADgANgB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ==]]>
</DiagramLayout>
</ManagedForm>
@@ -0,0 +1,3 @@
acmn00000.4gl
No such file or directory. The input file "acmn00000.4gl" cannot be opened.
@@ -0,0 +1,36 @@
IMPORT security
GLOBALS
DEFINE codid INT,
archivo VARCHAR(200),
recibido string
END GLOBALS
MAIN
CONNECT TO "smarmotech" USER 'jsoto' USING 'lmmjvsd2014'
CALL proceso()
END MAIN
FUNCTION proceso()
DECLARE busca CURSOR FOR
SELECT a.codid,a.foto_producto FROM iptb00002 a WHERE a.foto_producto IS NOT NULL AND a.status_t IS NULL
FOREACH busca INTO codid,archivo
END FOREACH
END FUNCTION
FUNCTION b64_to_file(str_b64,f_sal)
DEFINE f_sal,str_b64,str_aux STRING
TRY
CALL security.Base64.SaveBinary(f_sal,str_b64)
CATCH
LET str_aux="Unable to convert Base64 String to file :",STATUS
CALL fgl_winmessage("Error",str_aux,"stop")
END TRY
END FUNCTION
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm databaseName="smarmotech" gstVersion="22800" name="ManagedForm" uid="{c0853da0-e506-4414-b2d8-efce3583c3b1}">
<AGSettings/>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{056647a0-4d44-4bbf-907f-32ee106deca3}" where="">
<RecordField colName="num_doc" fieldIdRef="0" name="num_doc" sqlTabName="formonly" table_alias_name="" uid="{f89ae455-c1af-40c8-b202-592c6a86941f}"/>
<RecordField colName="tipo" fieldIdRef="1" fieldType="TABLE_COLUMN" name="iptb00006.tipo" sqlTabName="iptb00006" sqlType="CHAR" table_alias_name="" uid="{f7f137fe-7116-4260-b327-42d19d23385c}"/>
<RecordField colName="orden_compra" fieldIdRef="2" fieldType="TABLE_COLUMN" name="iptb00006.orden_compra" sqlTabName="iptb00006" sqlType="INTEGER" table_alias_name="" uid="{8ec4e50b-4f19-42cc-9f13-a8d82e4d55ab}"/>
<RecordField colName="cod_sp" fieldIdRef="3" fieldType="TABLE_COLUMN" name="iptb00006.cod_sp" sqlTabName="iptb00006" sqlType="SMALLINT" table_alias_name="" uid="{00620bfb-3235-4a9d-b960-d04a0a1b1cc7}"/>
<RecordField colName="cod_sp_sec" fieldIdRef="4" fieldType="TABLE_COLUMN" name="iptb00006.cod_sp_sec" sqlTabName="iptb00006" sqlType="SMALLINT" table_alias_name="" uid="{751b8168-995e-46e6-8a2d-1f348f3b8340}"/>
<RecordField colName="nom_sp" fieldIdRef="11" fieldType="TABLE_COLUMN" name="cotb00001.nom_sp" sqlTabName="cotb00001" sqlType="VARCHAR" table_alias_name="" uid="{0a942c65-7cce-42e9-882a-aec280669bbb}"/>
<RecordField colName="conduce_no" fieldIdRef="5" fieldType="TABLE_COLUMN" name="iptb00006.conduce_no" sqlTabName="iptb00006" sqlType="CHAR" table_alias_name="" uid="{5f63e6e9-2bbf-4e46-bf03-4ab33722d13a}"/>
<RecordField colName="fact_no" fieldIdRef="6" fieldType="TABLE_COLUMN" name="iptb00006.fact_no" sqlTabName="iptb00006" sqlType="CHAR" table_alias_name="" uid="{2c3cf59c-a6d4-4d7f-9d9f-0c2f60606fa5}"/>
<RecordField colName="fecha" fieldIdRef="7" name="fecha" sqlTabName="formonly" sqlType="DATE" table_alias_name="" uid="{47904050-d7ad-404d-a6c7-8d59df5b1a66}"/>
<RecordField colName="" fieldIdRef="19" fieldType="NON_DATABASE" name="bodega" sqlTabName="" sqlType="SMALLINT" table_alias_name="" uid="{cceb6746-391a-4072-aae8-8f5b5d500823}"/>
<RecordField colName="descripcion_f" fieldIdRef="18" name="descripcion_f" sqlTabName="formonly" table_alias_name="" uid="{406d6aba-7025-4b7e-a4bd-8210bc638d62}"/>
<RecordField colName="descrip_mov" fieldIdRef="20" fieldType="TABLE_COLUMN" name="intb00005.descrip_mov" sqlTabName="intb00005" sqlType="VARCHAR" table_alias_name="" uid="{28fbf2ec-8e9f-44ce-9b11-f3011e8c10a8}"/>
</Record>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Record1" order="" uid="{75162275-234f-452e-a2a0-256c60f5adbb}" where=""/>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="s_movi1" order="" uid="{8ef2a5f3-6f8c-4693-8678-19d3b8834bca}" where="">
<RecordField colName="" fieldIdRef="8" name="cod_b" sqlTabName="" table_alias_name="" uid="{3a6125ca-166d-4763-bc2b-166f4b674984}"/>
<RecordField colName="" fieldIdRef="9" name="cod_grupo" sqlTabName="" table_alias_name="" uid="{3fe74fd4-22fb-4f65-a0b8-9706fef5dcbf}"/>
<RecordField colName="" fieldIdRef="10" name="cod_tipo" sqlTabName="" table_alias_name="" uid="{7510fe7b-1c5b-486a-8274-c241c1c0c544}"/>
<RecordField colName="" fieldIdRef="12" name="cod_sec" sqlTabName="" table_alias_name="" uid="{f9d792b6-8b9b-4a1e-bef2-82126254b787}"/>
<RecordField colName="" fieldIdRef="13" name="cantidad_1" sqlTabName="" table_alias_name="" uid="{ed78dfba-67a5-4eca-9ad5-ab611f0b5c7c}"/>
<RecordField colName="" fieldIdRef="14" name="cantidad_2" sqlTabName="" table_alias_name="" uid="{a62115ba-d01f-4d55-add7-9533b919820a}"/>
<RecordField colName="" fieldIdRef="15" name="cod_mov" sqlTabName="" table_alias_name="" uid="{e9e7d87a-3594-4987-9ff1-5a2991c12023}"/>
<RecordField colName="" fieldIdRef="16" name="no_embarque" sqlTabName="" table_alias_name="" uid="{9d6f0caf-5219-4f0f-9f59-1d860504a187}"/>
<RecordField colName="" fieldIdRef="17" name="pendiente" sqlTabName="" table_alias_name="" uid="{70bdb571-a719-4177-9475-29d69d17f079}"/>
</Record>
<Form gridHeight="23" gridWidth="97" name="alfmmt006" style="basic" text="REPORTES ENTRADA">
<ToolBar name="ToolBar1">
<ToolBarItem comment="Nuevo Reporte Entradan" image="new" name="nuevo" text="Documento"/>
<ToolBarItem comment="Criterio de busqueda" image="find" name="buscar" text="Buscar Documentos"/>
<ToolBarSeparator name="ToolBarSeparator1"/>
<ToolBarItem image="quit" name="salir" text="Salir"/>
</ToolBar>
<Grid gridHeight="23" gridWidth="97" name="Grid1" posX="0" posY="0">
<Group gridHeight="5" gridWidth="92" name="Group1" posX="1" posY="1" text="Generales">
<Label gridHeight="1" gridWidth="8" name="Label7" posX="1" posY="1" text="Doc. No."/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="num_doc" columnCount="" fieldId="0" gridHeight="1" gridWidth="6" name="num_doc" posX="13" posY="1" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="1" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="6" name="Label4" posX="28" posY="1" text="Suplidor:"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_sp" columnCount="" fieldId="3" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="2" name="iptb00006.cod_sp" noEntry="true" picture="##" posX="35" posY="1" rowCount="" sqlTabName="iptb00006" sqlType="SMALLINT" stepX="" stepY="" tabIndex="4" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_sp_sec" columnCount="" fieldId="4" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="iptb00006.cod_sp_sec" noEntry="true" picture="####" posX="40" posY="1" rowCount="" sqlTabName="iptb00006" sqlType="SMALLINT" stepX="" stepY="" tabIndex="5" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nom_sp" columnCount="" fieldId="11" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="32" name="cotb00001.nom_sp" noEntry="true" posX="45" posY="1" rowCount="" sqlTabName="cotb00001" sqlType="VARCHAR" stepX="" stepY="" tabIndex="6" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label5" posX="1" posY="2" text="Orden Compra:"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="tipo" columnCount="" comment="Digite Tipo de Orden 02-Producto terminado 01- Materia Prima" fieldId="1" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="2" include="01|02|04" name="iptb00006.tipo" posX="13" posY="2" rowCount="" sqlTabName="iptb00006" sqlType="CHAR" stepX="" stepY="" tabIndex="2" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="orden_compra" columnCount="" comment="Digite el Numero de la Orden de Compras" fieldId="2" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="7" name="iptb00006.orden_compra" posX="17" posY="2" rowCount="" sqlTabName="iptb00006" sqlType="INTEGER" stepX="" stepY="" tabIndex="3" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="8" name="Label3" posX="26" posY="2" text="Factura No."/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="fact_no" columnCount="" comment="Digite el Numero de la Factura del Suplidor" fieldId="6" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="9" name="iptb00006.fact_no" posX="35" posY="2" rowCount="" sqlTabName="iptb00006" sqlType="CHAR" stepX="" stepY="" tabIndex="8" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="6" name="Label2" posX="45" posY="2" text="Fecha:"/>
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha" columnCount="" comment="Digite la Fecha Correspondiente al Documento" fieldId="7" format="dd/mm/yyyy" gridHeight="1" gridWidth="12" name="fecha" posX="53" posY="2" rowCount="" sqlTabName="formonly" sqlType="DATE" stepX="" stepY="" tabIndex="9" table_alias_name="" widget="DateEdit"/>
<Label gridHeight="1" gridWidth="8" name="Label6" posX="1" posY="3" text="Conduce:"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="conduce_no" columnCount="" comment="Digite el Numero del Conduce Del Suplidor, Si Tiene Conduce" fieldId="5" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="10" name="iptb00006.conduce_no" posX="13" posY="3" rowCount="" sqlTabName="iptb00006" sqlType="CHAR" stepX="" stepY="" tabIndex="7" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="7" name="Label1" posX="45" posY="3" text="Bodega:"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="19" fieldType="NON_DATABASE" gridHeight="1" gridWidth="23" items="" name="bodega" posX="53" posY="3" rowCount="" sqlTabName="" sqlType="SMALLINT" stepX="" stepY="" tabIndex="10" table_alias_name="" widget="ComboBox"/>
</Group>
<Group gridHeight="13" gridWidth="90" name="Group2" posX="2" posY="7" text="Detalles">
<Table gridHeight="6" gridWidth="86" name="Table1" posX="1" posY="2" totalRows="5">
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="8" gridHeight="1" gridWidth="8" name="cod_b" posX="0" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="11" table_alias_name="" title="Codigo" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="9" gridHeight="1" gridWidth="8" name="cod_grupo" posX="8" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="12" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="10" gridHeight="1" gridWidth="8" name="cod_tipo" posX="16" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="13" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="12" gridHeight="1" gridWidth="12" name="cod_sec" posX="24" posY="0" rowCount="" scroll="true" sqlTabName="" stepX="" stepY="" tabIndex="14" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="13" gridHeight="1" gridWidth="8" name="cantidad_1" posX="36" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="15" table_alias_name="" title="Ordenada" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="14" gridHeight="1" gridWidth="8" name="cantidad_2" posX="44" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="16" table_alias_name="" title="Recibida" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="15" gridHeight="1" gridWidth="8" name="cod_mov" posX="52" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="17" table_alias_name="" title="Movimiento" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="16" gridHeight="1" gridWidth="8" name="no_embarque" posX="60" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="18" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="17" gridHeight="1" gridWidth="8" name="pendiente" posX="68" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="19" table_alias_name="" title="Pendiente" widget="Edit"/>
</Table>
<Label posX="1" posY="9" text="Descripcion Articulo"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descripcion_f" columnCount="" fieldId="18" gridHeight="1" gridWidth="48" name="descripcion_f" noEntry="true" posX="26" posY="9" rowCount="" sqlTabName="formonly" stepX="" stepY="" tabIndex="20" table_alias_name="" widget="Edit"/>
<Label posX="1" posY="10" text="Descripcion Movimiento:"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descrip_mov" columnCount="" fieldId="20" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="45" name="intb00005.descrip_mov" noEntry="true" posX="26" posY="10" rowCount="" sqlTabName="intb00005" sqlType="VARCHAR" stepX="" stepY="" tabIndex="21" table_alias_name="" widget="Edit"/>
</Group>
</Grid>
</Form>
<DiagramLayout>
<![CDATA[AAAAAgAAAEwAewBlAGQANwA4AGQAZgBiAGEALQA2ADcAYQA1AC0ANABlAGMAYQAtADkAYQBkADUALQBhAGIANgAxADEAZgAwAGIANQBjADcAYwB9QCAAAAQAAABAWQAABkAAAAAAAAAAAAAAAQAAAEwAewA3ADUAMQBiADgAMQA2ADgALQA5ADkANQBlAC0ANAA2AGUANgAtADgAYQAyAGQALQAxAGYAMwA0ADgAZgAzAGIAOAAzADQAMAB9QCAAAAQAAABAWQAABkAAAAAAAAAAAAAAAQAAAEwAewA4AGUAZgAyAGEANQBmADMALQA2AGYAOABjAC0ANAA2ADkAMwAtADgANgA3ADgALQAxADkAZAAzAGIAOAA4ADMANABiAGMAYQB9QDgAAAYAAABAOAAABgAAAD9QYk3S8an8AQAAAEwAewAwADAANgAyADAAYgBmAGIALQAzADIAMwA1AC0ANABhADkAZAAtAGIAOQA2ADAALQBkADAANABhADAAYQAxAGIAMQBjAGMANwB9QCAAAAQAAABAVJmZnsAAAAAAAAAAAAAAAQAAAEwAewAzAGEANgAxADIANQBjAGEALQAxADYANgBkAC0ANAA3ADYAMwAtAGIAYwAyAGIALQAxADYANgBmADQAYgA2ADcANAA5ADgANAB9QCAAAAQAAABAPZmZoQAAAAAAAAAAAAAAAQAAAEwAewA0ADcAOQAwADQAMAA1ADAALQBkADcAYQBkAC0ANAAwADQAZAAtAGEANgBjADcALQA4AGQANQA5AGQAZgA1AGIAMQBhADYANgB9QCAAAAQAAABAZUzM0iAAAAAAAAAAAAAAAQAAAEwAewBmADkAZAA3ADkAMgBiADYALQA4AGIAOQBiAC0ANABhADEAZQAtAGIAZQBmADIALQA4ADIAMQAyADYAMgA1ADQAYgA3ADgANwB9QCAAAAQAAABAVJmZnsAAAAAAAAAAAAAAAQAAAEwAewA1AGYANgAzAGUANgBlADkALQAyAGIAYgBmAC0ANABlADQANgAtAGIAZgAwADMALQA0AGEAYgAzADMANwAyADIAZAAxADMAYQB9QCAAAAQAAABAYOZmaqAAAAAAAAAAAAAAAQAAAEwAewA3ADUAMQA2ADIAMgA3ADUALQAyADMANABmAC0ANAA1ADIAZQAtAGEAMgBhADAALQAyADUANgBjADYAMABmADUAYQBkAGIAYgB9QDAAAAQAAABAMAAABAAAAAAAAAAAAAAAAQAAAEwAewA0ADAANgBkADYAYQBiAGEALQA3ADAAMgA1AC0ANABiADcAZQAtAGEANABiAGQALQA4ADIAMQAwAGIAYwA2ADMAOABkADYAMgB9QCAAAAQAAABAabMzOaAAAAAAAAAAAAAAAQAAAEwAewAzAGYAZQA3ADQAZgBkADQALQAyADIAZgBiAC0ANABmADYANQAtAGEAMABiADgALQA5ADcAMAA2AGYAZQBmADUAZABjAGIAZgB9QCAAAAQAAABAR5mZn4AAAAAAAAAAAAAAAQAAAEwAewBjAGMAZQBiADYANwA0ADYALQAzADkAMQBhAC0ANAAwADcAMgAtAGEAYQBlADgALQA4AGYANQBiADUAZAA1ADAAMAA4ADIAMwB9QCAAAAQAAABAZ4AABeAAAAAAAAAAAAAAAQAAAEwAewA3ADAAYgBkAGIANQA3ADEALQBhADcAMQA5AC0ANAAxADcANwAtADkANAA3ADUALQAyADkAZAA2ADkAZAAxADcAZgAwADcAOQB9QCAAAAQAAABAZUzM0iAAAAAAAAAAAAAAAQAAAEwAewAyADgAZgBiAGYAMgBlAGMALQA4AGUAOQBmAC0ANAA0AGMAZQAtADkAYgAxADEALQBmADMAMAAxADEAZQA4AGMAMQAwAGEAOAB9QCAAAAQAAABAa+ZmbWAAAAAAAAAAAAAAAQAAAEwAewAyAGMAMwBjAGYANQA5AGMALQBhADYAZAA0AC0ANABkADcAZgAtADkAZAA5AGYALQAwAGMAMgBmADYAMAA2ADAANgBmAGEANQB9QCAAAAQAAABAYxmZnmAAAAAAAAAAAAAAAQAAAEwAewA3ADUAMQAwAGYAZQA3AGIALQAxAGMANQBiAC0ANAA4ADYAYQAtADgAMgA3ADQALQBjADIANAAxAGMAMQBjADAAYwA1ADQANAB9QCAAAAQAAABAUDMzN0AAAAAAAAAAAAAAAQAAAEwAewA5AGQANgBmADAAYwBhAGYALQA1ADIAMQA5AC0ANABmADAAZgAtADkAZgA1ADkALQAxAGQAOAA2ADAANQAwADQAYQAxADgANwB9QCAAAAQAAABAYxmZnmAAAAAAAAAAAAAAAQAAAEwAewBhADYAMgAxADEANQBiAGEALQBkADAAMQBmAC0ANABkADUANQAtAGEAZABkADcALQA5ADUAMwAzAGIAOQAxADkAOAAyADAAYQB9QCAAAAQAAABAXWZmbcAAAAAAAAAAAAAAAQAAAEwAewBlADkAZQA3AGQAOAA3AGEALQAzADUAOQA0AC0ANAA5ADgANwAtADkAZgBmADEALQA1AGEAMgA5ADkAMQBjADEAMgAwADIAMwB9QCAAAAQAAABAYOZmaqAAAAAAAAAAAAAAAQAAAEwAewAwAGEAOQA0ADIAYwA2ADUALQA3AGMAYwBlAC0ANAAyAGUAOQAtADgAOAAyAGEALQBhAGUAYwAyADgAMAA2ADYAOQBiAGIAYgB9QCAAAAQAAABAXWZmbcAAAAAAAAAAAAAAAQAAAEwAewBmADcAZgAxADMANwBmAGUALQA3ADEAMQA2AC0ANAAyADYAMAAtAGIAMwAyADcALQA0ADIAZAAxADkAZAAyADMAMwA4ADUAYwB9QCAAAAQAAABAR5mZn4AAAAAAAAAAAAAAAQAAAEwAewBmADgAOQBhAGUANAA1ADUALQBjADEAYQBmAC0ANAAwAGMAOAAtAGIAMgAwADIALQA1ADkAMgBjADYAYQA4ADYAOQA0ADEAZgB9QCAAAAQAAABAPZmZoQAAAAAAAAAAAAAAAQAAAEwAewA4AGUAYwA0AGUANQAwAGIALQA0AGYAMQA5AC0ANAAyAGMAYwAtADkAZgAxADMALQBhADgAZAA4ADIAZQA0AGQANQA1AGEAYgB9QCAAAAQAAABAUDMzN0AAAAAAAAAAAAAAAQAAAEwAewAwADUANgA2ADQANwBhADAALQA0AGQANAA0AC0ANABiAGIAZgAtADkAMAA3AGYALQAzADIAZQBlADEAMAA2AGQAZQBjAGEAMwB9QCQAABQAAAdAJAAAFAAABwAAAAAAAAAAAQ==]]>
</DiagramLayout>
</ManagedForm>
@@ -0,0 +1,82 @@
{
----------------------------------------------------------------------------
FORMULARIO : INFMMT006
OBJETIVO : Pantalla para la captura de reporte de entrada
inventario materia prima.
MODULOS Q. UTILIZAN : inprmt006
PROGRAMADOR : Juan F. Soto
FECHA REALIZACION : Agosto 1997
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
----------------------------------------------------------------------------
}
schema smarmotech
TOOLBAR
ITEM nuevo (TEXT="Documento", IMAGE="new", COMMENT="Nuevo Reporte Entradan")
ITEM buscar (TEXT="Buscar Documentos", IMAGE="find", COMMENT="Criterio de busqueda")
SEPARATOR
ITEM salir (TEXT="Salir", IMAGE="quit")
LAYOUT (TEXT="REPORTES ENTRADA", STYLE="basic")
GRID
{
Doc. No. [f00 ]
<G Generales >
Orden Compra:[ti][f02 ]Suplidor:[p1]-[f01 ][a ]
Conduce:[f03 ] Factura No.[f04 ] Fecha:[f05 ]Bodega:[k ]
<G Detalles >
C A N T I D A D Cantidad
Codigo Ordenada Recibida Tipo Movimiento Pendiente
[b ][c ][d ][f ][f06 ] [f07 ] [t ] [p ] [f1 ]
[b ][c ][d ][f ][f06 ] [f07 ] [t ] [p ] [f1 ]
[b ][c ][d ][f ][f06 ] [f07 ] [t ] [p ] [f1 ]
[b ][c ][d ][f ][f06 ] [f07 ] [t ] [p ] [f1 ]
[b ][c ][d ][f ][f06 ] [f07 ] [t ] [p ] [f1 ]
Descripcion Articulo : [g ]
Descripcion Movimiento: [t1 ]
}
end
tables
iptb00006,
cotb00001,
intb00001,
intb00005
attributes
f00 = formonly.num_doc;
ti = iptb00006.tipo,autonext,include = ("01","02"),comments=
"Digite Tipo de Orden 02-Producto terminado 01- Materia Prima";
f02 = iptb00006.orden_compra, autonext,
comments = "Digite el Numero de la Orden de Compras";
p1 = iptb00006.cod_sp,picture = "##",autonext,noentry;
f01 = iptb00006.cod_sp_sec,picture = "####",autonext,noentry;
f03 = iptb00006.conduce_no, autonext,
comments = "Digite el Numero del Conduce Del Suplidor, Si Tiene Conduce";
f04 = iptb00006.fact_no, autonext,
comments = "Digite el Numero de la Factura del Suplidor";
f05 = formonly.fecha type date,format = "dd/mm/yyyy",
comments = "Digite la Fecha Correspondiente al Documento";
f06 = iptb00006.cantidad_1,noentry;
f07 = formonly.cantidad_2 type integer,
comments = "Digite la Cantidad Llegada desde el Suplidor";
t = formonly.cod_mov type smallint,include=(10,34),
comments= "Codigo Movimiento Entrada ";
a = cotb00001.nom_sp,noentry;
b = iptb00006.cod_n,autonext,noentry;
c = iptb00006.cod_grupo,autonext,noentry;
d = iptb00006.cod_tipo,autonext,noentry;
f = iptb00006.cod_sec,autonext,noentry;
g = formonly.descripcion_f,noentry;
p = formonly.no_embarque,noentry;
t1 = intb00005.descrip_mov,noentry;
k = iptb00006.bodega,autonext;
f1 = formonly.pendiente,noentry;
INSTRUCTIONS
screen record s_movi1[5] (cod_n,cod_grupo,cod_tipo,cod_sec,cantidad_1,
cantidad_2,cod_mov,no_embarque,pendiente)
end
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm gstVersion="22800" name="ManagedForm" uid="{6e07db1a-4f11-4b60-83cc-90cef7356ca5}">
<AGSettings/>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="sexistencia" order="" uid="{ca303bbf-9d3e-43da-b64d-0aab53fe18ea}" where="">
<RecordField colName="" fieldIdRef="1" name="bodega" sqlTabName="" table_alias_name="" uid="{72b7ccda-1acd-40ee-93af-0f900fa058fa}"/>
<RecordField colName="" fieldIdRef="2" name="existencia" sqlTabName="" table_alias_name="" uid="{1a9f885a-3903-485e-a59d-83354d530e30}"/>
</Record>
<Form gridHeight="16" gridWidth="53" name="Form" text="EXISTENCIA POR ALMACENES">
<Grid gridHeight="13" gridWidth="43" name="Grid1" posX="5" posY="1">
<Label gridHeight="1" gridWidth="33" justify="center" name="Label1" posX="4" posY="1" text="EXISTENCIA POR ALMACEN"/>
<Table gridHeight="7" gridWidth="28" name="Table1" posX="5" posY="3" totalRows="5">
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="1" gridHeight="1" gridWidth="8" name="bodega" posX="0" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="1" table_alias_name="" title="Amacen" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" columnCount="" fieldId="2" gridHeight="1" gridWidth="10" name="existencia" posX="8" posY="0" rowCount="" sqlTabName="" stepX="" stepY="" tabIndex="2" table_alias_name="" title="Existencia" widget="Edit"/>
</Table>
</Grid>
</Form>
<DiagramLayout>
<![CDATA[AAAAAgAAAEwAewA3ADIAYgA3AGMAYwBkAGEALQAxAGEAYwBkAC0ANAAwAGUAZQAtADkAMwBhAGYALQAwAGYAOQAwADAAZgBhADAANQA4AGYAYQB9QCAAAAQAAABAPZmZoQAAAAAAAAAAAAAAAQAAAEwAewBjAGEAMwAwADMAYgBiAGYALQA5AGQAMwBlAC0ANAAzAGQAYQAtAGIANgA0AGQALQAwAGEAYQBiADUAMwBmAGUAMQA4AGUAYQB9AAAAAAAAAAAAAAAAAAAAAD94k3S8an76AQAAAEwAewAxAGEAOQBmADgAOAA1AGEALQAzADkAMAAzAC0ANAA4ADUAZQAtAGEANQA5AGQALQA4ADMAMwA1ADQAZAA1ADMAMABlADMAMAB9QCAAAAQAAABAR5mZn4AAAAAAAAAAAAAAAQ==]]>
</DiagramLayout>
</ManagedForm>
@@ -0,0 +1,2 @@
fgl2p almn00000.4gl
fgl2p -o almn00000.42r almn00000.42m msg.42m
@@ -0,0 +1,165 @@
{
-----------------------------------------------------------------------------
PROGRAMA : ALMN00000
OBJETIVO : Menu pralcipal del Sistema
de Inventarios
PROGRAMADOR : Juan Fco. Soto (Johnny)
FECHA REALIZACION : Octubre 21, 1993.
-----------------------------------------------------------------------------
}
DATABASE exterior
MAIN
DEFER INTERRUPT
CALL opciones_almn00000()
END MAIN
FUNCTION opciones_almn00000()
DEFINE opt CHAR(2)
DEFINE p_user CHAR(9)
DEFINE luz CHAR(5)
OPTIONS
PROMPT LINE 8,
ERROR LINE 24
CALL pantalla()
DISPLAY "almn00000" AT 4,3 ATTRIBUTE(blue)
DISPLAY "1- Materia Prima inmn00000" AT 10,6
#DISPLAY "2- Herramientas ihmn00000" AT 11,6
#DISPLAY "2- Suministros ismn00000" AT 11,6
DISPLAY "2- Productos Terminados ipmn00000" AT 11,6
DISPLAY "3- Reporte Entradas alprmt006" AT 12,6
DISPLAY "4- Repuestos irmn00000" AT 13,6
# DISPLAY "5- Volante Ctrl Transportista veprmt14" AT 16,6
DISPLAY "S- Retorna Menu Anterior" AT 18,6 ATTRIBUTE (BOLD)
LABEL vuelve:
PROMPT "OPCION: " attribute(blue) FOR OPT
LET opt = UPSHIFT(opt) clipped
SELECT unique user INTO p_user from seg0001
display "usuario ", p_user
IF opt != "S" THEN
SELECT unique usuario INTO p_user FROM seg0001
WHERE usuario = user
CALL seg000(p_user,opt,"almn00000") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
# GOTO vuelve
END IF
END IF
CASE
WHEN OPT = "1"
RUN "fglrun %FGLPROG%\\inmn00000"
CLEAR SCREEN
CALL opciones_almn00000()
{
WHEN OPT = "2"
RUN "fglrun %FGLPROG%\\ihmn00000"
CLEAR SCREEN
CALL opciones_almn00000()
WHEN OPT = "3"
RUN "fglrun %FGLPROG%\\irmn00000"
CLEAR SCREEN
CALL opciones_almn00000()
WHEN OPT = "2"
RUN "fglrun %FGLPROG%\\ismn00000"
CLEAR SCREEN
CALL opciones_almn00000()}
WHEN OPT = "2"
RUN "fglrun %FGLPROG%\\ipmn00000"
CLEAR SCREEN
CALL opciones_almn00000()
WHEN OPT = "3"
RUN "fglrun %FGLPROG%\\alprmt006"
CLEAR SCREEN
CALL opciones_almn00000()
WHEN OPT = "4"
RUN "fglrun %FGLPROG%\\irmn00000"
CLEAR SCREEN
CALL opciones_almn00000()
{WHEN OPT = "7"
RUN "fglrun %FGLPROG%\\veprmt14"
CLEAR SCREEN
CALL opciones_almn00000()}
WHEN OPT = "S" or OPT = "s"
RETURN
OTHERWISE
CALL opciones_almn00000()
END CASE
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5) ,
l SMALLINT,
p_compania RECORD LIKE companias.*
SELECT * INTO p_compania.*
FROM companias
LET l = (80 - LENGTH(p_compania.nombre CLIPPED))/2
LET fecha = today USING "dd/mm/yy"
LET hora = time
DISPLAY p_compania.nombre CLIPPED AT 4,l
ATTRIBUTE (REVERSE,blue)
DISPLAY fecha AT 4,70 ATTRIBUTE (blue)
LET l = (80 - LENGTH("Sistema De Inventarios"))/2
DISPLAY "Sistema De Inventarios" AT 5,l
LET l = (80 - LENGTH("Menu Inventarios"))/2
DISPLAY "Menu Inventarios" AT 6,l
DISPLAY hora AT 6,73 ATTRIBUTE(blue)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
{
-----------------------------------------------------------------------------
PROGRAMA : SEG000
OBJETIVO : Controlar el acceso de los usuarios a los sistemas de la
Empresa.
PROGRAMADOR : Ing. Juan Soto
FECHA : Marzo 17, 1994.
-----------------------------------------------------------------------------
}
FUNCTION seg000(usuarios,opt,p_menu)
DEFINE opt CHAR(2)
DEFINE luz CHAR(4)
DEFINE p_menu CHAR(9)
DEFINE usuarios CHAR(9)
DEFINE opcion_ant,no_reg,p_opcion,numero SMALLINT
OPTIONS
ERROR LINE 24
LET luz = "azul"
LET p_opcion = opt
SELECT count(*) INTO no_reg FROM seg0001
WHERE usuario = user
LET opcion_ant = p_opcion
IF no_reg = 1 THEN
SELECT opcion INTO p_opcion FROM seg0001
WHERE usuario = user
IF p_opcion != 99 THEN
LET p_opcion = opcion_ant
END IF
END IF
IF p_opcion != 99 THEN
SELECT UNIQUE a.usuario FROM seg0001 a
WHERE a.usuario = usuarios and
a.opcion = p_opcion and
a.us_menu = p_menu
IF status = notfound THEN
display "pase por aqui" at 23,1
LET status = 0
LET luz = "roja"
END IF
END IF
IF p_opcion = 99 THEN
LET luz = "azul"
END IF
RETURN luz
END FUNCTION
@@ -0,0 +1,66 @@
P
E M A R M O T E C H, S. A. RNC.  F
REPORTE DE ENTRADA
No. 000044
ECOMPRAS DEL EXTERIOR F
Fecha : 20/04/02 Orden de Compra: 01-000124
Proveedor : 22-0005 LEVANTINA DE GRANITO US$
Conduce : Factura : 1
================================================================================
M CANTIDAD CANTIDAD CANTIDAD
CODIGO ORDENADA RECIBIDA PENDIENTE D E S C R I P C I O N
EN DOCUM. ORDENP
================================================================================
M
2-2-00-001 354.520 354.000 .520  PLANCHA ROSA PORRINO MT2 
P
P
OBSERVACION :
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,104 @@
{
===========================================================================
PROGRAMA: ALPRPC001
OBJETIVO: CIERRE DE TODOS LOS INVENTARIOS EXISTENTES EN LA EMPRESA.
PROGRAMADOR: JUAN F. SOTO
FECHA : NOVIEMBRE 28, 1994
==========================================================================
}
DATABASE rayovac
GLOBALS
DEFINE nombre_tabla,tabla_histo CHAR(9)
DEFINE columnas RECORD LIKE syscolumns.*
DEFINE tablas RECORD LIKE systables.*
DEFINE i,idx,p_ano SMALLINT
DEFINE inserta,selec CHAR(100)
DEFINE opt1 CHAR(1)
DEFINE fecha_inicial,fecha_final DATE
END GLOBALS
MAIN
CALL busca_datos()
END MAIN
FUNCTION busca_datos()
CLEAR SCREEN
OPTIONS
PROMPT LINE 8
DISPLAY "R A Y .O. V A C D O M I N I C A N A, S. A." AT 1,19 ATTRIBUTE(BOLD)
DISPLAY "CIERRE INVENTARIOS" AT 2,25 ATTRIBUTE(BOLD)
PROMPT "Entre Nombre De la Tabla A Cerrar? " FOR nombre_tabla
PROMPT "Entre Nombre De la Tabla Historica? " FOR tabla_histo
PROMPT "Entre Ano A Cerrar? " FOR p_ano
DISPLAY "El Programa Listara las columnas que pertenezcan a la tabla"
AT 14,1
DISPLAY "que se va a cerrar las columnas que pertenezcan al la tabla"
AT 14,1
LET selec = "SELECT * FROM systables ",
"WHERE tabname = ? "
PREPARE comando1 FROM selec
DECLARE busca1 CURSOR FOR comando1
OPEN busca1 USING nombre_tabla
FETCH busca1 INTO tablas.*
DECLARE busca2 CURSOR FOR
SELECT * FROM syscolumns
WHERE @tabid = tablas.tabid
LET idx = 12
DISPLAY nombre_tabla at 10,1
DISPLAY "=====================" AT 11,1
FOREACH busca2 INTO columnas.*
IF idx < 24 THEN
DISPLAY columnas.colname AT idx,1
ELSE
PROMPT "Presione <Enter> Para Continuar" for opt1
LET idx = 12
FOR i =1 TO 24
if idx < 24 then
DISPLAY " " AT idx,1
LET idx = idx + 1
end if
END FOR
LET idx = 12
END IF
LET idx = idx + 1
END FOREACH
PROMPT "Entre Nombre Columna control periodo? " for columnas.colname
PROMPT "Deseas Proseguir Con este Proceso? " FOR opt1
LET opt1 = upshift(opt1)
IF opt1 != "S" THEN
RETURN
END IF
SELECT fecha_inicio INTO fecha_inicial
FROM prdtable
WHERE ano = p_ano and mes = 1
SELECT fecha_corte INTO fecha_final
FROM prdtable
WHERE ano = p_ano and mes = 12
LET borra = "DELETE FROM ",tabla_histo clipped,
"WHERE ",columnas.colname clipped,
" between ? and ? "
LET inserta = "INSERT INTO ",tabla_histo,
" SELECT *FROM ",nombre_tabla,
" WHERE ",columnas.colname clipped,
" between ? and ? "
display "En Proceso... Espere" at 20,1
PREPARE comando3 FROM borra
PREPARE comando2 FROM inserta
EXECUTE comando2 USING fecha_inicial,fecha_final
EXECUTE comando3 USING fecha_inicial,fecha_final
END FUNCTION
@@ -0,0 +1,113 @@
{
===========================================================================
PROGRAMA: ALPRPC001
OBJETIVO: CIERRE DE TODOS LOS INVENTARIOS EXISTENTES EN LA EMPRESA.
PROGRAMADOR: JUAN F. SOTO
FECHA : NOVIEMBRE 28, 1994
==========================================================================
}
DATABASE rayovac
GLOBALS
|
| Database not found or no system permission.
| See error number -329.
|
| The database "rayovac" cannot be found or opened. If the database
| exists, check the database permissions on the database. In
| addition, check the system permissions on the database directory
| and its ascendant directories.
| See error number -4305.
DEFINE nombre_tabla,tabla_histo CHAR(9)
DEFINE columnas RECORD LIKE syscolumns.*
DEFINE tablas RECORD LIKE systables.*
DEFINE i,idx,p_ano SMALLINT
DEFINE inserta,selec CHAR(100)
DEFINE opt1 CHAR(1)
DEFINE fecha_inicial,fecha_final DATE
END GLOBALS
MAIN
CALL busca_datos()
END MAIN
FUNCTION busca_datos()
CLEAR SCREEN
OPTIONS
PROMPT LINE 8
DISPLAY "R A Y .O. V A C D O M I N I C A N A, S. A." AT 1,19 ATTRIBUTE(BOLD)
DISPLAY "CIERRE INVENTARIOS" AT 2,25 ATTRIBUTE(BOLD)
PROMPT "Entre Nombre De la Tabla A Cerrar? " FOR nombre_tabla
PROMPT "Entre Nombre De la Tabla Historica? " FOR tabla_histo
PROMPT "Entre Ano A Cerrar? " FOR p_ano
DISPLAY "El Programa Listara las columnas que pertenezcan a la tabla"
AT 14,1
DISPLAY "que se va a cerrar las columnas que pertenezcan al la tabla"
AT 14,1
LET selec = "SELECT * FROM systables ",
"WHERE tabname = ? "
PREPARE comando1 FROM selec
DECLARE busca1 CURSOR FOR comando1
OPEN busca1 USING nombre_tabla
FETCH busca1 INTO tablas.*
DECLARE busca2 CURSOR FOR
SELECT * FROM syscolumns
WHERE @tabid = tablas.tabid
LET idx = 12
DISPLAY nombre_tabla at 10,1
DISPLAY "=====================" AT 11,1
FOREACH busca2 INTO columnas.*
IF idx < 24 THEN
DISPLAY columnas.colname AT idx,1
ELSE
PROMPT "Presione <Enter> Para Continuar" for opt1
LET idx = 12
FOR i =1 TO 24
if idx < 24 then
DISPLAY " " AT idx,1
LET idx = idx + 1
end if
END FOR
LET idx = 12
END IF
LET idx = idx + 1
END FOREACH
PROMPT "Entre Nombre Columna control periodo? " for columnas.colname
PROMPT "Deseas Proseguir Con este Proceso? " FOR opt1
LET opt1 = upshift(opt1)
IF opt1 != "S" THEN
RETURN
END IF
SELECT fecha_inicio INTO fecha_inicial
FROM prdtable
WHERE ano = p_ano and mes = 1
SELECT fecha_corte INTO fecha_final
FROM prdtable
WHERE ano = p_ano and mes = 12
LET borra = "DELETE FROM ",tabla_histo clipped,
"WHERE ",columnas.colname clipped,
" between ? and ? "
LET inserta = "INSERT INTO ",tabla_histo,
" SELECT *FROM ",nombre_tabla,
" WHERE ",columnas.colname clipped,
" between ? and ? "
display "En Proceso... Espere" at 20,1
PREPARE comando3 FROM borra
PREPARE comando2 FROM inserta
EXECUTE comando2 USING fecha_inicial,fecha_final
EXECUTE comando3 USING fecha_inicial,fecha_final
END FUNCTION
@@ -0,0 +1,61 @@
DATABASE rayovac
GLOBALS
DEFINE codigos RECORD LIKE irtb00002.*
DEFINE codigos1 RECORD LIKE intb00001.*
END GLOBALS
MAIN
CALL busca()
END MAIN
FUNCTION busca()
DECLARE busca_ir CURSOR FOR
SELECT *FROM intb00001
WHERE cod_n = 5
ORDER BY 1,2,3,4
START REPORT saca TO "reporte1"
FOREACH busca_ir INTO codigos1.*
SELECT * INTO codigos.* FROM irtb00002
WHERE @cod_n = codigos1.cod_n and
@cod_grupo = codigos1.cod_grupo and
@cod_tipo = codigos1.cod_tipo and
@cod_sec = codigos1.cod_sec
IF status = notfound THEN
SELECT * INTO codigos.* FROM irtb00001
WHERE @cod_n = codigos1.cod_n and
@cod_grupo = codigos1.cod_grupo and
@cod_tipo = codigos1.cod_tipo and
@cod_sec = codigos1.cod_sec
IF status = notfound THEN
OUTPUT TO REPORT saca(codigos1.*,codigos.*)
END IF
END IF
END FOREACH
FINISH REPORT saca
END FUNCTION
REPORT saca(z,x)
DEFINE x record like irtb00002.*
DEFINE z RECORD LIKE intb00001.*
DEFINE descripcion CHAR(30)
format
page header
print column 1,
"REPORTE DE CODIGOS QUE ESTAN EN INTB00001 Y NO ESTAN EN IRTB0002"
print column 1, today
print column 1, time
skip 1 line
print column 1, "ARTICULOS..."
SKIP 1 LINE
ON EVERY ROW
PRINT COLUMN 1, z.cod_n using "&","-",z.cod_grupo using "&","-",
z.cod_tipo using "&&","-",z.cod_sec using "&&&"," ",z.descrip_esp
ON LAST ROW
PRINT "TOTAL REGISTROS: ",count(*) using "&&&&"
END REPORT
@@ -0,0 +1,70 @@
DATABASE rayovac
GLOBALS
|
| Database not found or no system permission.
| See error number -329.
|
| The database "rayovac" cannot be found or opened. If the database
| exists, check the database permissions on the database. In
| addition, check the system permissions on the database directory
| and its ascendant directories.
| See error number -4305.
DEFINE codigos RECORD LIKE irtb00002.*
DEFINE codigos1 RECORD LIKE intb00001.*
END GLOBALS
MAIN
CALL busca()
END MAIN
FUNCTION busca()
DECLARE busca_ir CURSOR FOR
SELECT *FROM intb00001
WHERE cod_n = 5
ORDER BY 1,2,3,4
START REPORT saca TO "reporte1"
FOREACH busca_ir INTO codigos1.*
SELECT * INTO codigos.* FROM irtb00002
WHERE @cod_n = codigos1.cod_n and
@cod_grupo = codigos1.cod_grupo and
@cod_tipo = codigos1.cod_tipo and
@cod_sec = codigos1.cod_sec
IF status = notfound THEN
SELECT * INTO codigos.* FROM irtb00001
WHERE @cod_n = codigos1.cod_n and
@cod_grupo = codigos1.cod_grupo and
@cod_tipo = codigos1.cod_tipo and
@cod_sec = codigos1.cod_sec
IF status = notfound THEN
OUTPUT TO REPORT saca(codigos1.*,codigos.*)
END IF
END IF
END FOREACH
FINISH REPORT saca
END FUNCTION
REPORT saca(z,x)
DEFINE x record like irtb00002.*
DEFINE z RECORD LIKE intb00001.*
DEFINE descripcion CHAR(30)
format
page header
print column 1,
"REPORTE DE CODIGOS QUE ESTAN EN INTB00001 Y NO ESTAN EN IRTB0002"
print column 1, today
print column 1, time
skip 1 line
print column 1, "ARTICULOS..."
SKIP 1 LINE
ON EVERY ROW
PRINT COLUMN 1, z.cod_n using "&","-",z.cod_grupo using "&","-",
z.cod_tipo using "&&","-",z.cod_sec using "&&&"," ",z.descrip_esp
ON LAST ROW
PRINT "TOTAL REGISTROS: ",count(*) using "&&&&"
END REPORT
@@ -0,0 +1,49 @@
DATABASE rayovac
GLOBALS
DEFINE codigos RECORD LIKE irtb00002.*
DEFINE codigos1 RECORD LIKE intb00001.*
END GLOBALS
MAIN
CALL busca()
END MAIN
FUNCTION busca()
DECLARE busca_ir CURSOR FOR
SELECT *FROM irtb00002
ORDER BY 1,2,3,4
START REPORT saca TO "reporte"
FOREACH busca_ir INTO codigos.*
SELECT * INTO codigos1.* FROM intb00001
WHERE @cod_n = codigos.cod_n and
@cod_grupo = codigos.cod_grupo and
@cod_tipo = codigos.cod_tipo and
@cod_sec = codigos.cod_sec
IF status = notfound THEN
OUTPUT TO REPORT saca(codigos.*,codigos1.*)
END IF
END FOREACH
FINISH REPORT saca
END FUNCTION
REPORT saca(x,z)
DEFINE x record like irtb00002.*
DEFINE z RECORD LIKE intb00001.*
DEFINE descripcion CHAR(30)
format
page header
print column 1,
"REPORTE DE CODIGOS QUE ESTAN EN IRTB00002 Y NO ESTAN EN INTB0001"
print column 1, today
print column 1, time
skip 1 line
print column 1, "ARTICULOS..."
SKIP 1 LINE
ON EVERY ROW
PRINT COLUMN 1, x.cod_n using "&","-",x.cod_grupo using "&","-",
x.cod_tipo using "&&","-",x.cod_sec using "&&&"," ",z.descrip_esp
END REPORT
@@ -0,0 +1,58 @@
DATABASE rayovac
GLOBALS
|
| Database not found or no system permission.
| See error number -329.
|
| The database "rayovac" cannot be found or opened. If the database
| exists, check the database permissions on the database. In
| addition, check the system permissions on the database directory
| and its ascendant directories.
| See error number -4305.
DEFINE codigos RECORD LIKE irtb00002.*
DEFINE codigos1 RECORD LIKE intb00001.*
END GLOBALS
MAIN
CALL busca()
END MAIN
FUNCTION busca()
DECLARE busca_ir CURSOR FOR
SELECT *FROM irtb00002
ORDER BY 1,2,3,4
START REPORT saca TO "reporte"
FOREACH busca_ir INTO codigos.*
SELECT * INTO codigos1.* FROM intb00001
WHERE @cod_n = codigos.cod_n and
@cod_grupo = codigos.cod_grupo and
@cod_tipo = codigos.cod_tipo and
@cod_sec = codigos.cod_sec
IF status = notfound THEN
OUTPUT TO REPORT saca(codigos.*,codigos1.*)
END IF
END FOREACH
FINISH REPORT saca
END FUNCTION
REPORT saca(x,z)
DEFINE x record like irtb00002.*
DEFINE z RECORD LIKE intb00001.*
DEFINE descripcion CHAR(30)
format
page header
print column 1,
"REPORTE DE CODIGOS QUE ESTAN EN IRTB00002 Y NO ESTAN EN INTB0001"
print column 1, today
print column 1, time
skip 1 line
print column 1, "ARTICULOS..."
SKIP 1 LINE
ON EVERY ROW
PRINT COLUMN 1, x.cod_n using "&","-",x.cod_grupo using "&","-",
x.cod_tipo using "&&","-",x.cod_sec using "&&&"," ",z.descrip_esp
END REPORT
@@ -0,0 +1,45 @@
{
==============================================================================
PROGRAMA : BUSCA_D
OBJETIVO : BUSCA LAS DIRECCIONES DE LOS CLIENTES EN LOS REPORTES
QUE LO REQUIERA
PROGRAMADOR: JUAN F. SOTO
FECHA : AGOSTO 28, 1997.
==============================================================================
}
DATABASE exterior
FUNCTION busca_d(tipo_cliente,sec_cliente)
DEFINE tipo_cliente,sec_cliente SMALLINT
DEFINE clientes RECORD LIKE vetb00004.*,
localidad,direccion CHAR(80),
p_calle,p_casa,p_barrio,p_urbaniza,descrip_zona CHAR(25),
descrip_prov CHAR(30)
SELECT a.* INTO clientes.*
FROM vetb00004 a
WHERE a.tipo_cliente = tipo_cliente AND
a.sec_cliente = sec_cliente
SELECT a.descrip INTO descrip_zona
FROM vetb00008 a
WHERE a.cod_zona = clientes.cod_zona
SELECT a.nombre_provincia INTO descrip_prov
FROM vetb00020 a
WHERE a.cod_provincia = clientes.cod_provincia
SELECT a.calle,a.casa_num,a.barrio,a.urbanizacion
INTO p_calle,p_casa,p_barrio,p_urbaniza
FROM vetb00005 a
WHERE a.tipo_cliente = tipo_cliente AND
a.sec_cliente = sec_cliente
LET localidad = "ZONA: ",descrip_zona CLIPPED," PROVINCIA: ",
descrip_prov CLIPPED," Tel. ",clientes.telefono
LET direccion = p_calle CLIPPED," ",p_casa CLIPPED," ",p_barrio CLIPPED," ",
p_urbaniza CLIPPED
RETURN localidad,direccion
END FUNCTION
@@ -0,0 +1,110 @@
{
===============================================================================
PROGRAMA : BUSCA_SERIE
OBJETIVO : ACTUALIZA LA TABLA VETB00042 (SERIE DE LOS PRODUCTOS )
PROGRAMADOR: JUAN F. SOTO
FECHA : AGOSTO 23, 1997
===============================================================================
}
DATABASE exterior
FUNCTION busca_s(numero_doc,cod_mov,cod_n,cod_grupo,cod_tipo,cod_sec,
cantidad)
DEFINE serie ARRAY[100] OF CHAR(30)
DEFINE p_seriea ARRAY[100] OF RECORD
factura LIKE vetb00042.factura,
cod_mov SMALLINT,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
serie LIKE vetb00042.serie
END RECORD ,
numero_msg,numero_doc INTEGER,
idx,cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT,
cantidad INTEGER,
cod_mov SMALLINT,
cuenta SMALLINT,
volver CHAR(1)
OPEN WINDOW w_serie AT 7,12 WITH FORM "busca_s"
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
FOR idx = 1 TO 5
LET p_seriea[idx].factura = NULL
LET p_seriea[idx].cod_mov = NULL
LET p_seriea[idx].cod_n = NULL
LET p_seriea[idx].cod_grupo = NULL
LET p_seriea[idx].cod_tipo = NULL
LET p_seriea[idx].cod_sec = NULL
LET p_seriea[idx].serie = NULL
END FOR
DECLARE busca CURSOR FOR
SELECT a.* FROM vetb00042 a
WHERE a.factura = numero_doc AND
a.cod_mov = cod_mov
LET idx = 1
FOREACH busca INTO p_seriea[idx].*
LET serie[idx] = p_seriea[idx].serie
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
LABEL vuelve:
INPUT ARRAY serie WITHOUT DEFAULTS FROM p_serie.*
IF int_flag THEN
LET numero_msg = 376
CALL msg(numero_msg)
GOTO sale
END IF
FOR idx = 1 TO arr_count()
LET p_seriea[idx].factura = numero_doc
LET p_seriea[idx].cod_mov = cod_mov
LET p_seriea[idx].cod_n = cod_n
LET p_seriea[idx].cod_grupo = cod_grupo
LET p_seriea[idx].cod_tipo = cod_tipo
LET p_seriea[idx].cod_sec = cod_sec
LET p_seriea[idx].cod_sec = cod_sec
LET p_seriea[idx].serie = serie[idx]
END FOR
LET cuenta = 0
FOR idx = 1 TO arr_count()
IF p_seriea[idx].serie IS NOT NULL THEN
LET cuenta = cuenta + 1
END IF
END FOR
IF cuenta != cantidad THEN
LET numero_msg =376
CALL msg(numero_msg)
GOTO vuelve
END IF
DELETE FROM vetb00042 WHERE factura = numero_doc AND
@cod_mov = cod_mov
WHENEVER ERROR CONTINUE
LET volver = "N"
FOR idx = 1 TO arr_count()
IF p_seriea[idx].serie IS NOT NULL THEN
INSERT INTO vetb00042 VALUES
(p_seriea[idx].*,null,user,current,null,null)
IF STATUS < 0 THEN
LET numero_msg = 378
CALL msg(numero_msg)
LET volver ="S"
EXIT FOR
END IF
END IF
END FOR
IF volver = "S" THEN
LET STATUS = 0
DELETE FROM vetb00042 WHERE factura = numero_doc
GOTO vuelve
END IF
LABEL sale:
CLOSE WINDOW w_serie
CLOSE FORM busca_s
END FUNCTION
@@ -0,0 +1,27 @@
{
==========================================================================
FORMULARIO : VEFMWD016
OBJETIVO : CAPTURA LAS SERIES DE LOS PRODUCTOS
PROGRAMADOR : Juan F. Soto
FECHA : Agosto 23, 1997.
==========================================================================
}
DATABASE juviar
screen size 24 by 80
{
Serie(s) Producto(s)
-----------------------
[a ]
[a ]
[a ]
[a ]
[a ]
}
tables
vetb00004
attributes
a = formonly.serie;
instructions delimiters " "
screen record p_serie[5](serie)
end
@@ -0,0 +1,6 @@
for i in `cat lista`
do
sed -e 's/juviar/exterior/g' < $i > ../tmp/$i
echo $i
done
@@ -0,0 +1,18 @@
FUNCTION categorias()
DEFINE ketiquetas SMALLINT, detiquetas CHAR(30),
cbcategoria ui.ComboBox,
cb2 CHAR(2)
LET cbcategoria = ui.combobox.forname("formonly.pcod_cat")
DECLARE bcategoria CURSOR FOR
SELECT a.cod_categoria,a.descripcion FROM iptb00034 a
ORDER BY a.descripcion
CALL cbcategoria.clear()
FOREACH bcategoria INTO ketiquetas,detiquetas
CALL cbcategoria.additem(ketiquetas,detiquetas)
END FOREACH
END FUNCTION
@@ -0,0 +1,36 @@
{ TABLE "informix".cotb00014 row size = 130 number of columns = 22 index size = 112 }
create table "informix".cotb00014
(
num_oc integer not null,
tipo char(2),
fech_oc date,
num_pr char(10),
cod_sp smallint,
cod_sp_sec smallint,
term_sp smallint,
via char(2),
enviada char(1),
fech_enviada date,
pago char(1),
fech_pago date,
cierre char(1),
cod_pt char(4),
c_flete decimal(12,2),
otros_g decimal(12,2),
detalle char(40),
status_t char(1),
us_crea char(9),
fech_crea datetime year to minute,
us_mod char(9),
fech_mod datetime year to minute
);
create index "informix".ix250_3 on "informix".cotb00014 (fech_oc);
create index "informix".clave on "informix".cotb00014 (num_oc,tipo);
create cluster index "informix".cotb14_1 on "informix".cotb00014 (fech_oc,status_t,num_oc,tipo,cod_sp,cod_sp_sec);
create index "informix".suplidor on "informix".cotb00014 (cod_sp,cod_sp_sec);
create index "informix".tipo_sp on "informix".cotb00014 (tipo,cod_sp,cod_sp_sec);
create unique index "informix".ix702_1 on "informix".cotb00014 (num_oc);
create index "informix".ix703_5 on "informix".cotb00014 (cod_sp);
create index "informix".ix703_6 on "informix".cotb00014 (cod_sp_sec);
@@ -0,0 +1,27 @@
{ TABLE "informix".cotb00015 row size = 68 number of columns = 15 index size = 90 }
create table "informix".cotb00015
(
num_oc integer,
num_req integer,
tipo char(2),
cod_n smallint,
cod_grupo smallint,
cod_tipo smallint,
cod_sec smallint,
cantidad decimal(10,2),
precio decimal(11,3),
cod_mon integer,
status_t char(1),
us_crea char(9),
fech_crea datetime year to minute,
us_mod char(9),
fech_mod datetime year to minute
);
revoke all on "informix".cotb00015 from "public";
create index "informix".clave15 on "informix".cotb00015 (num_oc,tipo,num_req,cod_n,cod_grupo,cod_tipo,cod_sec);
create cluster index "informix".cotb15_1 on "informix".cotb00015 (num_oc,cod_n,cod_grupo,cod_tipo,cod_sec);
create index "informix".cotb15 on "informix".cotb00015 (num_oc,tipo);
create index "informix".cotb15_2 on "informix".cotb00015 (cod_n,cod_grupo,cod_tipo,cod_sec);
@@ -0,0 +1,17 @@
{
================================================================
FUNCION : ENVIACORREO
OBJETIVO : Reutilizacion de codigos para ejecuar Store
Procedures relacionado al envio de correo
PROGRAMADOR : ING. JUAN SOTO
FECHA : 28 DE ABRIL 2011
================================================================
}
FUNCTION envia_correo(emailTO,emailCC,emailBody,emailSubject,Procedimiento)
DEFINE emailTO,emailCC,emailSubject,Procedimiento CHAR(150),
emailBody VARCHAR(1000)
PREPARE smt FROM procedimiento #"{ call cc_avisadespacho(?,?,?) }"
EXECUTE smt USING emailTo IN,emailCC IN,emailSubject IN,emailBody IN
END FUNCTION
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,19 @@
IMPORT security
FUNCTION file_to_b64(f_ent)
DEFINE f_ent,str_b64,str_aux STRING
LET str_b64=NULL
TRY
CALL security.Base64.LoadBinary(f_ent) RETURNING str_b64
CATCH
LET str_aux="Unable to convert file into a Base64 String:",STATUS
DISPLAY "ERROR: ",str_aux
LET str_b64=NULL
END TRY
RETURN str_b64
END FUNCTION
@@ -0,0 +1,132 @@
{
==============================================================
MODULO : fotos.4gl
FECHA : 09/02/2017
DESARROLLADO POR : ING. JUAN SOTO
}
IMPORT os
FUNCTION fotos(xcodn,xcodgrupo,xcodtipo,xcodsec,producto,xusuario)
DEFINE xcodn,xcodgrupo,xcodtipo,xcodsec SMALLINT,
producto VARCHAR(100),
kdatos DYNAMIC ARRAY OF RECORD
kimagen BYTE,
xobservacion VARCHAR(200),
codid INT,
borrar CHAR(2)
END RECORD,
kimagen_dest,kimagen_dest2 STRING,
xusuario VARCHAR(50),
i SMALLINT,
TOemail,CCEmail,cuerpo_correo,
subject, procedimiento VARCHAR(200)
DEFINE d_tipos,mensaje,f_tipos,filepath,dir_file STRING
LET producto = xcodn USING "&&&&","-",xcodgrupo USING "&&&&","-",
xcodtipo USING "&&&&","-",xcodsec USING "&&&&"," ",producto CLIPPED
OPEN WINDOW w1 WITH FORM "ipfmwd015"
DISPLAY BY NAME producto
DECLARE busca_imagen CURSOR FOR
SELECT a.imagen,a.observacion,a.rowid FROM iptb00050 a
WHERE a.cod_n = xcodn AND
a.cod_grupo = xcodgrupo AND
a.cod_tipo =xcodtipo AND
a.cod_sec = xcodsec
LET kimagen_dest = "tmpfile.jpg"
LET kimagen_dest2="tmpfile2.jpg"
LET i=1
LET d_tipos="jpeg"
LET f_tipos="*.jpg *.png *.jpeg"
LET mensaje=%"Elige Documento"
LOCATE kdatos[i].kimagen IN MEMORY
FOREACH busca_imagen INTO kdatos[i].kimagen,kdatos[i].xobservacion,kdatos[i].codid
LET i = i+1
LOCATE kdatos[i].kimagen IN MEMORY
END FOREACH
CALL kdatos.deleteElement(i)
SELECT a.usuario FROM seg0003 a
WHERE a.usuario = xusuario AND
a.fotos_adicionales_inventario = "SI"
IF STATUS <> NOTFOUND THEN
INPUT ARRAY kdatos FROM sdatos.* ATTRIBUTE(WITHOUT DEFAULTS)
BEFORE ROW
LET i=arr_curr()
IF kdatos[i].kimagen IS NOT NULL THEN
CALL kdatos[i].kimagen.writeFile(kimagen_dest)
DISPLAY kimagen_dest TO presenta
END IF
ON ACTION foto
LET i = arr_curr()
CALL ui.Interface.frontCall("standard","openfile", [dir_file,d_tipos,f_tipos,mensaje], [filepath] )
IF filepath IS NOT NULL THEN
IF downshift(os.Path.extension(filepath)) = "jpg" OR
downshift(os.Path.extension(filepath)) = "jpeg" OR
downshift(os.Path.extension(filepath)) = "png" THEN
CALL fgl_getfile(filepath,kimagen_dest2)
LOCATE kdatos[i].kimagen IN MEMORY
CALL kdatos[i].kimagen.readfile(kimagen_dest2)
DISPLAY filepath TO presenta
ELSE
CALL fgl_winmessage("ERROR","EL FILE DEBE SER JPG, JPEG, PNG","INFO")
END IF
END IF
AFTER INPUT
IF INT_FLAG THEN
LET INT_FLAG = FALSE
CALL fgl_winmessage("INFO","OPERACION CANCELADA","INFO")
EXIT INPUT
END IF
FOR i =1 TO kdatos.getLength()
IF kdatos[i].kimagen IS NOT NULL THEN
IF kdatos[i].codid IS NOT NULL THEN
UPDATE iptb00050 SET imagen = kdatos[i].kimagen,
observacion = kdatos[i].xobservacion
WHERE ROWID = kdatos[i].codid
ELSE
INSERT INTO iptb00050 (cod_n,cod_grupo,cod_tipo,cod_Sec,imagen,observacion)
VALUES (xcodn,xcodgrupo,xcodtipo,xcodsec,kdatos[I].kimagen,kdatos[i].xobservacion)
FREE kdatos[i].kimagen
END IF
IF kdatos[i].borrar = 'SI' THEN
DELETE FROM iptb00050 WHERE rowid = kdatos[i].codid
END IF
END IF
END FOR
LET subject="ACTUALIZACION IMAGEN PRODUCTO"
LET cuerpo_correo = "EL ARTICULO ",producto CLIPPED, " FUE ACTUALIZADO CON UNA IMAGEN"
LET toemail ='vendedores@marmotech.com.do;jsoto@marmotech.com.do'
LET procedimiento = "{ call cc_avisadespacho(?,?,?,?) }" CLIPPED
CALL envia_correo(TOemail,CCEmail,cuerpo_correo,
subject, procedimiento )
END INPUT
ELSE
DISPLAY ARRAY kdatos TO sdatos.*
BEFORE ROW
LET i=arr_curr()
IF kdatos[i].kimagen IS NOT NULL THEN
CALL kdatos[i].kimagen.writeFile(kimagen_dest)
DISPLAY kimagen_dest TO presenta
END IF
AFTER DISPLAY
EXIT DISPLAY
END DISPLAY
END IF
CLOSE WINDOW w1
END FUNCTION
@@ -0,0 +1,403 @@
FUNCTION busca_prod(pinventario)
DEFINE arr_prod DYNAMIC ARRAY OF RECORD
cod_n INTEGER,
cod_grupo INTEGER,
cod_tipo INTEGER,
cod_sec INTEGER,
descrip_esp CHAR(50),
unidad_med CHAR(4),
existencia1 DEC(18,4),
cantidad_o DEC(18,4),
cantidad_c DEC(18,4),
existencia DEC(18,4)
END RECORD,
selec_pt,criterio string,f,
pinventario,idx smallint,
pcodn,pcodgrupo,pcodtipo,pcodsec INT,
pdescripcion CHAR(100)
OPEN WINDOW busca_2 AT 8,4 WITH FORM "ipfmwd100" ATTRIBUTE (BORDER,FORM LINE
FIRST + 1,PROMPT LINE LAST)
CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.descrip_esp FROM
cod_n,cod_grupo,cod_tipo,descrip_esp
IF pinventario = '02' THEN
LET selec_pt =
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp,a.unidad_med,SUM(b.cantidad_2),'0',SUM(b.cantidad_2) ",
" FROM iptb00002 AS a INNER JOIN iptb00001 AS c ON a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND ",
" a.cod_tipo = c.cod_tipo and a.cod_Sec = c.cod_Sec LEFT OUTER JOIN ",
" iptb00006 AS b ON a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND ",
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND b.status_t IS NULL ",
" WHERE a.status_t IS NULL AND ",CRITERIO CLIPPED,
" GROUP BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp,a.unidad_med ",
" ORDER BY a.descrip_esp "
END IF
IF pinventario = '01' THEN
LET selec_pt =
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp,a.unidad_med,'0','0',SUM(b.cantidad_2) ",
" FROM intb00001 AS a ",
" LEFT OUTER JOIN ",
" intb00006 AS b ON a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND ",
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND b.status_t IS NULL ",
" WHERE a.status_t IS NULL AND ",CRITERIO CLIPPED,
" GROUP BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp,a.unidad_med ",
" ORDER BY a.descrip_esp "
END IF
IF pinventario = '03' THEN
LET selec_pt =
"SELECT ,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp,a.unidad_med,'0','0',SUM(b.cantidad_2) ",
" FROM irtb00002 AS a ",
" LEFT OUTER JOIN ",
" irtb00006 AS b ON a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND ",
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND b.status_t IS NULL ",
" WHERE a.status_t IS NULL AND ",CRITERIO CLIPPED,
" GROUP BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp,a.unidad_med ",
" ORDER BY a.descrip_esp "
END IF
IF int_flag THEN
LET Int_flag = FALSE
CLOSE WINDOW busca_2
RETURN pcodn,pcodgrupo,pcodtipo,pcodsec,pdescripcion
END IF
PREPARE comando_p FROM selec_pt
DECLARE busca_2 CURSOR FOR comando_p
LET idx = 1
FOREACH busca_2 INTO arr_prod[idx].*
LET idx = idx + 1
END FOREACH
CALL SET_COUNT(idx - 1)
DISPLAY ARRAY arr_prod TO s_prod.*
AFTER ROW
LET idx = arr_curr()
LET pcodn = arr_prod[idx].cod_n
LET pcodgrupo = arr_prod[idx].cod_grupo
LET pcodtipo = arr_prod[idx].cod_tipo
LET pcodsec = arr_prod[idx].cod_sec
LET pdescripcion = arr_prod[idx].descrip_esp
AFTER DISPLAY
EXIT DISPLAY
END DISPLAY
CLOSE WINDOW busca_2
RETURN pcodn,pcodgrupo,pcodtipo,pcodsec,pdescripcion
END FUNCTION
FUNCTION bodegas(cb2)
DEFINE ketiquetas SMALLINT, detiquetas CHAR(30),
cbodegas ui.ComboBox,
cb2 CHAR(2)
LET cbodegas = ui.combobox.forname("formonly.bodega")
DECLARE bbodegas CURSOR FOR
SELECT a.cod_bodega,a.descripcion FROM intb00009 a
ORDER BY a.descripcion
CALL cbodegas.clear()
FOREACH bbodegas INTO ketiquetas,detiquetas
CALL cbodegas.additem(ketiquetas,detiquetas)
END FOREACH
IF cb2 ='2' THEN
LET cbodegas = ui.combobox.forname("formonly.bodega_destino")
DECLARE bbodegas2 CURSOR FOR
SELECT a.cod_bodega,a.descripcion FROM intb00009 a
ORDER BY a.descripcion
CALL cbodegas.clear()
FOREACH bbodegas2 INTO ketiquetas,detiquetas
CALL cbodegas.additem(ketiquetas,detiquetas)
END FOREACH
END IF
END FUNCTION
FUNCTION disponibles(pcodn,pcodgrupo,pcodtipo,pcodsec,pfecha)
DEFINE pcodn,pcodgrupo,pcodtipo,pcodsec,dias SMALLINT,
pfecha,fecha_dia DATE,
reservado,existencia,transito,cantidad_orden,pcantidadconduce,cantidad_ordenada,cantidad_recibida DEC(12,5),
selec STRING
SELECT a.dias_vence_reservas INTO dias FROM companias a
LET reservado = 0
LET fecha_Dia = TODAY
LET selec= "
SELECT SUM(a.cantidad_reservada)
FROM vetb00051 a,vetb00050 b
WHERE a.status_t IS NULL AND
a.cotizacion_no = b.cotizacion_no AND
a.cod_n = ? AND
a.cod_grupo=? AND
a.cod_tipo=? AND
a.cod_sec=? AND a.cantidad_reservada IS NOT NULL AND
DATEDIFF(day,a.fecha_vence_reserva,a.fecha_inicio_reserva) <= ?
"
PREPARE comando1 FROM selec
EXECUTE comando1 INTO reservado USING pcodn,pcodgrupo,pcodtipo,pcodsec,dias
IF reservado IS NULL THEN
LET reservado =0
END IF
LET existencia = 0
SELECT SUM(a.cantidad_2) INTO existencia
FROM iptb00006 a
WHERE a.status_t IS NULL AND
(a.cod_n = pcodn AND
a.cod_grupo=pcodgrupo AND
a.cod_tipo=pcodtipo AND
a.cod_sec=pcodsec)
LET cantidad_orden = 0
SELECT SUM(a.cantidad) INTO cantidad_orden
FROM prtb00013 a,prtb00012 b
WHERE a.num_oc = b.num_oc AND
b.cerrada = 'N' AND
b.status_t IS NULL AND
(a.cod_n = pcodn AND
a.cod_grupo=pcodgrupo AND
a.cod_tipo=pcodtipo AND
a.cod_sec=pcodsec )
LET pcantidadConduce = 0
SELECT SUM(c.cantidad_2) INTO pcantidadConduce
FROM prtb00013 a,prtb00012 b,iptb00006 c,iptb00005 d
WHERE (a.num_oc = b.num_oc) AND
b.cerrada = 'N' AND
b.status_t IS NULL AND
(a.cod_n = pcodn AND
a.cod_grupo=pcodgrupo AND
a.cod_tipo=pcodtipo AND
a.cod_sec=pcodsec) AND
(a.cod_n = c.cod_n AND
a.cod_grupo=c.cod_grupo AND
a.cod_tipo=c.cod_tipo AND
a.cod_sec=c.cod_Sec) AND
c.cod_mov = d.cod_mov AND
(d.control_despacho = 'SI' OR d.control_devolucion = 'SI') AND
a.num_oc = c.num_oc AND
c.status_t IS NULL
# TRANSITO
LET cantidad_ordenada = 0
SELECT SUM(a.cantidad) INTO cantidad_ordenada
FROM cotb00015 a,cotb00014 b
WHERE (a.cod_n = pcodn AND
a.cod_grupo=pcodgrupo AND
a.cod_tipo=pcodtipo AND
a.cod_sec=pcodsec) AND
(a.num_oc = b.num_oc) AND
b.cierre ='N' AND
a.status_t IS NULL
LET cantidad_recibida =0
SELECT SUM(a.cantidad_2) INTO cantidad_recibida
FROM iptb00006 a,cotb00015 b,cotb00014 c
WHERE (a.cod_n = pcodn AND
a.cod_grupo=pcodgrupo AND
a.cod_tipo=pcodtipo AND
a.cod_sec=pcodsec AND
a.cod_n = b.cod_n AND
a.cod_grupo = b.cod_grupo AND
a.cod_tipo = b.cod_tipo) AND
(a.orden_compra = b.num_oc) AND
b.num_oc = c.num_oc AND
c.cierre = 'N' AND
a.status_t IS NULL
LET transito = cantidad_ordenada - cantidad_recibida
IF cantidad_orden IS NULL THEN
LET cantidad_orden=0
END IF
IF transito IS NULL THEN
LET transito=0
END IF
IF pcantidadconduce IS NULL THEN
LET pcantidadconduce =0
END IF
RETURN cantidad_orden,pcantidadConduce,transito,existencia,reservado
END FUNCTION
FUNCTION busca_reservas(pcodn,pcodgrupo,pcodtipo,pcodsec)
DEFINE idx,pcodn,pcodgrupo,pcodtipo,pcodsec,dias SMALLINT,
arr_reserva DYNAMIC ARRAY OF RECORD
cotizacion_no INT,
vendedor VARCHAR(100),
nombre VARCHAR(100),
cantidad DEC(12,5),
fecha CHAR(10)
END RECORD,
selec STRING
SELECT a.dias_vence_reservas INTO dias FROM companias a
LET selec = " SELECT a.cotizacion_no,RTRIM(c.nom1_emp)||' '||RTRIM(c.apell1_emp),b.nombre_cliente,a.cantidad_reservada,CONVERT(CHAR(10),a.fecha_vence_reserva,103)
FROM vetb00051 a,vetb00050 b,adtb00003 c
WHERE a.status_t IS NULL AND
b.sec_vend = c.num_emp AND
a.cotizacion_no = b.cotizacion_no AND
a.cod_n = ? AND
a.cod_grupo=? AND
a.cod_tipo=? AND
a.cod_sec=? AND a.cantidad_reservada IS NOT NULL AND
DATEDIFF(DAY,a.fecha_vence_reserva ,a.fecha_inicio_reserva) <=? "
PREPARE comando FROM selec
DECLARE busca_reserva CURSOR FOR comando
OPEN busca_reserva USING pcodn,pcodgrupo,pcodtipo,pcodsec,dias
DISPLAY selec
LET idx = 1
FOREACH busca_reserva INTO arr_reserva[idx].*
LET idx = idx + 1
END FOREACH
OPEN WINDOW ipfmwd012 WITH FORM "ipfmwd012"
DISPLAY ARRAY arr_reserva TO s_reserva.*
CLOSE WINDOW ipfmwd012
END FUNCTION
FUNCTION almacenes(pcodn,pcodgrupo,pcodtipo,pcodsec)
DEFINE pcodn,pcodgrupo,pcodtipo,pcodsec SMALLINT,
arr_existencia DYNAMIC ARRAY OF RECORD
almacen VARCHAR(30),
existencia DEC(12,2)
END RECORD,
idx SMALLINT
OPEN WINDOW w1 AT 1,1 WITH FORM "almacenes"
DECLARE busca_a CURSOR FOR
SELECT b.descripcion,SUM(c.cantidad_2) FROM intb00009 b,iptb00006 c
WHERE b.cod_bodega = c.bodega AND
c.cod_n = pcodn AND
c.cod_grupo = pcodgrupo AND
c.cod_tipo = pcodtipo AND
c.cod_sec = pcodsec AND
c.status_t IS NULL
GROUP BY b.descripcion
LET idx = 1
FOREACH busca_a INTO arr_existencia[idx].*
LET idx = idx + 1
END FOREACH
DISPLAY ARRAY arr_existencia TO sexistencia.*
CLOSE WINDOW w1
END FUNCTION
{ ESTA FUNCION PARA BUSCAR LAS ORDENES QUE TIENE DISPONIBLES TODAVIA ESTA EN PROCESO DE DESARRLLO
FECHA : 27/5/2016}
FUNCTION busca_ordenes_reservadas(pcodn,pcodgrupo,pcodtipo,codsec)
DEFINE pcodn,pcodgrupo,pcodtipo,codsec SMALLINT,
ordenes DYNAMIC ARRAY OF RECORD
num_oc INT,
fecha DATE,
vendedor VARCHAR(100),
cantidad DEC(12,5),
cantidad_Desp DEC(12,5)
END RECORD,
i SMALLINT
DECLARE busca_orden CURSOR FOR
SELECT a.num_oc,CONVERT(char(10),b.fecha_oc,103),c.nom1_emp||' '||c.apell1_emp,
a.cantidad,'0'
FROM prtb00013 a,prtb00012 b,adtb00003 c
WHERE a.num_oc = b.num_oc AND
b.cerrada = 'N' AND
b.status_t IS NULL AND
(a.cod_n = pcodn AND
a.cod_grupo=pcodgrupo AND
a.cod_tipo=pcodtipo AND
a.cod_sec=pcodsec )
LET i = 1
FOREACH busca_orden INTO ordenes[i].*
LET ordenes[i].cantidad_Desp=0
SELECT SUM(c.cantidad_2) INTO ordenes[i].cantidad_Desp
FROM prtb00013 a,prtb00012 b,iptb00006 c,iptb00005 d
WHERE (a.num_oc = b.num_oc) AND
(a.num_oc = ordenes[i].num_oc) AND
b.cerrada = 'N' AND
b.status_t IS NULL AND
(a.cod_n = pcodn AND
a.cod_grupo=pcodgrupo AND
a.cod_tipo=pcodtipo AND
a.cod_sec=pcodsec) AND
(a.cod_n = c.cod_n AND
a.cod_grupo=c.cod_grupo AND
a.cod_tipo=c.cod_tipo AND
a.cod_sec=c.cod_Sec) AND
c.cod_mov = d.cod_mov AND
(d.control_despacho = 'SI' OR d.control_devolucion = 'SI') AND
a.num_oc = c.num_oc AND
c.status_t IS NULL
LET i = i + 1
END FOREACH
DISPLAY ARRAY ordenes TO sordenes.*
END FUNCTION
FUNCTION cambia_clave()
DEFINE
nclave,cclave,clave,usuario char(50),
altera CHAR(100)
OPEN WINDOW cambia AT 1,1 WITH FORM "cambia"
DISPLAY usuario TO usuario
DISPLAY clave TO clave
INPUT BY NAME nclave,cclave
AFTER INPUT
IF INT_FLAG THEN
CALL FGL_WINMESSAGE( "ATENCION", "OPERACION CANCELADA", "stop")
EXIT INPUT
END IF
IF nclave IS NULL OR nclave = " " THEN
CALL FGL_WINMESSAGE( "ATENCION", "CLAVE NUEVA NO PUEDE ESTAR EN BLANCO", "stop")
NEXT FIELD nclave
END IF
IF cclave IS NULL OR cclave = " " THEN
CALL FGL_WINMESSAGE( "ATENCION", "CLAVE NUEVA NO PUEDE ESTAR EN BLANCO", "stop")
NEXT FIELD cclave
END IF
IF nclave <> cclave THEN
CALL FGL_WINMESSAGE( "ATENCION", "CLAVE NUEVA NO COINCIDE CON LA CONFIRMACION DE LA CLAVE", "stop")
NEXT FIELD nclave
ELSE
LET altera = "sp_password @old = '", clave CLIPPED,"', ",
"@new = '",nclave CLIPPED,"' ,",
"@loginame = '",usuario CLIPPED, "'"
PREPARE caltera FROM altera
EXECUTE caltera
IF STATUS = 0 THEN
UPDATE seg0001 SET cambia_clave = "NO" WHERE seg0001.usuario = usuario
CALL FGL_WINMESSAGE( "ATENCION", "CLAVE CAMBIADA SATISFACTORIAMENTE", "stop")
LET clave = nclave
ELSE
CALL FGL_WINMESSAGE( "ATENCION", "NO FUE POSIBLE EL CAMBIO DE LA CLAVE, TRATE NUEVA VEZ", "stop")
NEXT FIELD nclave
END IF
END IF
EXIT INPUT
END INPUT
IF INT_FLAG THEN
LET INT_FLAG = FALSE
RETURN
CLOSE WINDOW cambia
END IF
END FUNCTION
@@ -0,0 +1,14 @@
DATABASE FORMONLY
SCREEN {
Login: [f000 ]
Password:[f001 ]
}
ATTRIBUTES
f000 = formonly.usuario, REQUIRED, COMMENT="Introducir su nombre de Usuario";
f001 = formonly.clave, CLASS="PASSWORD", COMMENT="Favor de introducir su clave";
@@ -0,0 +1,23 @@
database exterior
screen size 24 by 80
{
num_doc [f000 ]
cod_mov [f001 ]
status_t [a]
us_crea [f002 ]
fech_crea [f003 ]
us_mod [f004 ]
fech_mod [f005 ]
}
end
tables
intb00023
attributes
f000 = intb00023.num_doc;
f001 = intb00023.cod_mov;
a = intb00023.status_t;
f002 = intb00023.us_crea;
f003 = intb00023.fech_crea;
f004 = intb00023.us_mod;
f005 = intb00023.fech_mod;
end
@@ -0,0 +1,39 @@
-- INFORMIX Dynamic 4GL Demonstration
--
-- @(#)$Id: logo.per,v 1.4 1998/07/12 20:35:57 jleffler Exp $
--
-- $Product: INFORMIX Dynamic 4GL Demonstration Version 2.00.UC8 (1998-08-25) $
DATABASE formonly
SCREEN
{
[f1 ] [ca ]
[dir ]
[d1 ][p1 ] [f2 ]
[d1 ][p1 ]
[d1 ][p1 ]
[d1 ][p1 ]
[d1 ][p1 ]
[d1 ][p1 ]
[d1 ][p1 ]
[d1 ][p1 ]
[d1 ][p1 ]
}
ATTRIBUTES
f1 = formonly.f1
--#, widget="BMP";
f2 = formonly.f2
--#, widget="BMP";
ca = formonly.nombre;
dir= formonly.direccion;
d1= formonly.nombre_programa;
p1= formonly.programa;
instructions
screen record sdesplega[9] (nombre_programa,programa)
delimiters " "
END
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,235 @@
{-------------------------------------------------------------------------
PROGRAMA : MASTER
OBJETIVO : MENU GENERAL DE LA COMPANIA
PROGRAMADOR : JUAN F. SOTO
FECHA : AGOSTO 1997
ASESOR : JOSE ALFREDO PAULINO
------------------------------------------------------------------------
}
DATABASE marmotech
GLOBALS
DEFINE p_usuario CHAR(9)
DEFINE p_user CHAR(9)
DEFINE luz CHAR(4)
END GLOBALS
MAIN
DEFER INTERRUPT
#CALL logo()
CLEAR SCREEN
SELECT unique a.usuario INTO p_usuario FROM seg0001 a
WHERE a.usuario = user
LET p_usuario = upshift(p_usuario)
CALL pantalla()
CALL mask()
MENU "OPCIONES"
COMMAND "1"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"1","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
DISPLAY "Ejecutando Opcion 1" AT 10,53 ATTRIBUTE (BLINK)
IF luz = "azul" THEN
RUN "fglrun %FGLPROG%\\almn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "2"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"2","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 2" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\comn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "3"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"3","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 3" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\cgmn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "4"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"4","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 4" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\vemn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "5"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"5","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 5" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\nomn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "6"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"6","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 6" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\semn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "7"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"7","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 7" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\prmn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "8"
DELETE FROM cctb00001 WHERE num_doc is null
# UPDATE intb00023 SET num_doc = 2941 where cod_mov = 47
# DISPLAY "ACTUALIZANDO MOVIMIENTO 47" AT 10,53 ATTRIBUTE (BLINK)
DISPLAY "BORRAR TODOS LOS REGISTROS EN BLANCO" AT 10,53 ATTRIBUTE (BLINK)
COMMAND "Salir"
EXIT MENU
END MENU
END MAIN
FUNCTION mask()
DISPLAY "M A R M O T E C H, S. A. " AT 4,26
ATTRIBUTE (REVERSE,blue)
DISPLAY "1- INVENTARIOS ALMN00000" AT 10,4 ATTRIBUTE (blue)
DISPLAY "2- COMPRAS COMN00000" AT 11,4 ATTRIBUTE (blue)
DISPLAY "3- CONTABILIDAD CGMN00000" AT 12,4 ATTRIBUTE (blue)
DISPLAY "4- VENTAS VEMN00000" AT 13,4 ATTRIBUTE (blue)
DISPLAY "5- NOMINAS NOMN00000" AT 14,4 ATTRIBUTE (blue)
DISPLAY "6- INFORMATICA SYS00000" AT 15,4 ATTRIBUTE(blue)
DISPLAY "7- PRODUCCION PRMN0000" AT 16,4 ATTRIBUTE(blue)
DISPLAY "8- ACTUALIZACIONES " AT 17,4 ATTRIBUTE(blue)
DISPLAY "S- Salir del Sistema" at 23,25 ATTRIBUTE (RED)
END FUNCTION
FUNCTION PANTALLA()
DEFINE fecha char(10)
DEFINE T char(8)
LET fecha = today using "dd/mm/yyyy"
LET T = time
CALL fgl_drawbox(3,60,3,10)
CALL fgl_drawbox(18,79,6,1)
CALL fgl_drawbox(15,45,8,2)
CALL fgl_drawbox(3,30,7,5)
DISPLAY " S I S T E M A S:" AT 8,6
DISPLAY " MASTER " AT 8,6 ATTRIBUTE (RED)
CALL fgl_drawbox(9,28,8,50)
CALL fgl_drawbox(3,15,7,52)
CALL fgl_drawbox(4,28,19,50)
DISPLAY " ORIENTACION " AT 8,53 attribute (red)
DISPLAY "Bienvenido Usuario: " AT 12,53
DISPLAY p_usuario AT 13,53 ATTRIBUTE (blue)
LET p_usuario = downshift(p_usuario)
CALL fgl_drawbox(3,15,18,52)
DISPLAY " DIA Y HORA " AT 19,53
DISPLAY T AT 21,64
DISPLAY FECHA AT 21,54
END FUNCTION
FUNCTION pant1()
CALL fgl_drawbox (4,50,3,1)
END FUNCTION
{
-----------------------------------------------------------------------------
PROGRAMA : SEG000
OBJETIVO : Controlar el acceso de los usuarios a los sistemas de la
Empresa.
PROGRAMADOR : Ing. Juan Soto
FECHA : Marzo 17, 1994.
-----------------------------------------------------------------------------
}
FUNCTION seg000(usuarios,opt,p_menu)
DEFINE opt CHAR(2)
DEFINE luz CHAR(4)
DEFINE p_menu CHAR(9)
DEFINE usuarios CHAR(9)
DEFINE no_reg,p_opcion,numero SMALLINT
OPTIONS
ERROR LINE 24
LET luz = "azul"
LET p_opcion = opt
LET usuarios = NULL
SELECT UNIQUE a.usuario FROM seg0001 a
WHERE a.usuario = user and a.opcion = 99
IF STATUS != NOTFOUND THEN
let luz = "azul"
ELSE
#IF p_opcion != 99 THEN
SELECT UNIQUE a.usuario FROM seg0001 a
WHERE a.usuario = user and a.opcion = p_opcion and a.us_menu = p_menu
IF status = notfound THEN
LET status = 0
LET luz = "roja"
END IF
END IF
{IF p_opcion = 99 THEN
LET luz = "azul"
END IF}
RETURN luz
END FUNCTION
FUNCTION logo()
DEFINE j,i SMALLINT,
p CHAR(1)
OPTIONS
PROMPT LINE 20
call fgl_drawbox(7,47,10,20)
call fgl_drawbox(10,51,8,18)
DISPLAY "BOLETIN INFORMATIVO 1/95" AT 9,29 ATTRIBUTE (REVERSE)
DISPLAY "NO MAS PAPELES PARA MEMOS IMPRESOS..." AT 11,21
DISPLAY "COMO? USANDO EL CORREO ELECTRONICO DE RAYOVAC" AT 12,21
DISPLAY "TE RETO A USARLO..." AT 14,21
DISPLAY "PRESIONE <ENTER> PARA CONTINUAR" AT 15,21
PROMPT " " FOR p
LET int_flag = false
END FUNCTION
@@ -0,0 +1,5 @@
fgl2p master.4gl
REM fgl2p seg000.4gl
fgl2p msg.4gl
fgl2p -o master.42r master.42m msg.42m
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE smarmotech
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,319 @@
1|(1) ADICION EXITOSA|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:35|
2|(2) OPERACION CANCELADA|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:35|
3|(3) REGISTRO NO EXISTE|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:36|
4|(4) ULTIMO REGISTRO|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:36|
5|(5) PRIMER REGISTRO|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:37|
6|(6) NO PUEDES BORRAR ESTE CODIGO, EXISTENCIA SERA NEGATIVA|sysinfo|1992-07-30 11:35|sysinfo|1992-11-10 08:56|
7|(7) VALOR FUERA DEL RANGO PERMITIDO|sysinfo|1992-07-30 11:35|sysinfo|1992-11-10 16:01|
8|(8) EQUIVALENCIA EXISTE|sysinfo|1992-07-30 11:35|sysinfo|1993-04-12 11:43|
9|(9) SUSTITUTO EXISTE|sysinfo|1992-07-30 11:35|sysinfo|1992-08-14 11:33|
10|(10) SUSTITUTO DE SI MISMO|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:39|
11|(11) EQUIVALENTE DE SI MISMO|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:39|
12|(12) REGISTRO EXISTE|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:40|
13|(13) ACTUALIZACION EXITOSA|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:40|
14|(14) REGISTRO REACTIVADO|sysinfo|1992-07-30 11:35|johnny|1995-02-02 17:03|
15|(15) BASE DE DATOS OCUPADA -- FAVOR TRATAR DE NUEVO|sysinfo|1992-07-30 11:35|sysinfo|1993-04-12 11:46|
16|(16) CAMPO EN BLANCO|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:40|
17|(17) UNIDAD DE MEDIDA NO EXISTE|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:41|
18|(18) USUARIO SIN AUTORIZACION|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:41|
19|(19) REGISTRO NO EXISTE -- EL PRESENTADO ES EL ULTIMO|sysinfo|1992-07-30 11:35|sysinfo|1993-04-12 11:44|
20|(20) <ESC> ADICIONA REGISTRO -- <DEL> CANCELA OPERACION|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:44|
23|(23) SUPLIDOR NO TIENE ARTICULOS|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:44|
24|(24) NUMERO DE CUENTA EXISTE|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:45|
22|(22) MENSAJE NO EXISTE|sysinfo|1992-07-30 11:35|sysinfo|1992-08-21 14:44|
21|(21) CODIGO DE ARTICULO DUPLICADO EN CAPTURA DE DATOS|sysinfo|1992-07-30 11:35|sysinfo|1993-04-12 11:46|
25|(25) SUPLIDOR NO EXISTE|sysinfo|1992-08-05 12:04|sysinfo|1992-08-21 14:45|
26|(26) ARTICULO NO EXISTE|sysinfo|1992-08-05 12:04|sysinfo|1992-08-21 14:45|
27|(27) FURGON NO EXISTE|sysinfo|1992-08-05 13:08|sysinfo|1992-08-21 14:46|
29|(29) NO PUEDE ADICIONAR CONDUCE Y FACTURA|sysinfo|1992-08-07 13:24|sysinfo|1992-08-21 14:47|
30|(30) CANTIDAD EXCEDE EXISTENCIA|sysinfo|1992-08-10 09:12|sysinfo|1992-08-21 14:47|
31|(31) AVISO: ARTICULO EN SU PUNTO DE REORDEN O POR DEBAJO|sysinfo|1992-08-10 09:16|sysinfo|1992-08-21 14:47|
28|(28) CANTIDAD RECIBIDA EXCEDE CANTIDAD DEVUELTA / ORDENADA|sysinfo|1992-08-10 09:40|sysinfo|1992-08-21 14:46|
32|(32) DEPARTAMENTOS NO PUEDEN SER IGUALES|sysinfo|1992-08-10 20:28|sysinfo|1992-08-21 14:47|
33|(33) CANTIDAD RECIBIDA MENOR CANTIDAD DEVUELTA / ORDENADA|sysinfo|1992-08-11 08:44|sysinfo|1992-08-21 14:48|
-102|(-102) ARGUMENTO NO VALIDO PARA UNA FUNCION DEL ISAM|sysinfo|1992-08-24 16:55|||
-101|(-101) EL ARCHIVO NO ESTA ABIERTO|sysinfo|1992-08-24 16:52|||
-100|(-100) REGISTRO CON EL MISMO VALOR EN UNA VARIABLE UNICA|sysinfo|1992-08-24 16:50|||
34|(34) CODIGO DE MOVIMIENTO NO EXISTE|sysinfo|1992-08-14 17:02|||
35|(35) CODIGO NO ESTA EN MAESTRA|sysinfo|1992-08-14 17:02|||
-1301|(-1301) EL VALOR NO ESTA ENTRE LAS POSIBILIDADES VALIDAS|sysinfo|1992-08-21 10:00|||
-1302|(-1302) LAS ENTRADAS NO SON IGUALES, TRATE DE NUEVO|sysinfo|1992-08-21 10:01|||
-1303|(-1303) NO USE ESTA CUALIDAD DE EDICION, FORMATO EXISTE|sysinfo|1992-08-21 10:03|||
-1304|(-1304) ERROR EN CAMPO|sysinfo|1992-08-21 10:04|||
-1305|(-1305) ESTE CAMPO REQUIERE ENTRADA|sysinfo|1992-08-21 10:04|||
-1306|(-1306) ESCRIBA DE NUEVO PARA VERIFICACION|sysinfo|1992-08-21 10:05|||
-1307|(-1307) NO PUEDE INSERTAR OTRA FILA, EL ARREGLO ESTA LLENO|sysinfo|1992-08-21 10:06|||
-1308|(-1308) NO PUEDE ELIMINAR LA FILA, NO TIENE INFORMACION|sysinfo|1992-08-21 10:06|||
-1309|(-1309) NO HAY MAS REGISTROS EN ESA DIRECCION|sysinfo|1992-08-21 10:09|||
-1317|(-1317) ERROR DE CONVERSION NUMERICA|sysinfo|1992-08-21 10:10|||
-1318|(-1318) PARAMETRO DESIGUAL DE CALCULO|sysinfo|1992-08-21 10:11|||
-1319|(-1319) PROGRAMA SE HA EJECUTADO FUERA DEL TIEMPO EJECUCION|sysinfo|1992-08-21 10:12|||
-1320|(-1320) BUSQUEDA HA RETORNADO MAS DE UN REGISTRO|sysinfo|1992-08-21 10:14|sysinfo|1994-08-17 10:49|
-1321|(-1321) ERROR DE VALIDACION|sysinfo|1992-08-21 10:15|||
-1322|(-1322) UN REPORTE DE ARCHIVO DE SALIDA NO PUEDE SER ABIERTO|sysinfo|1992-08-21 10:16|||
-1323|(-1323) LA SALIDA DEL ARCHIVO NO PUEDE SER ABIERTA|sysinfo|1992-08-21 10:21|||
-1324|(-1324) REPORTE DE ARCHIVO DE SALIDA NO PUEDE SER ESCRITO|sysinfo|1992-08-21 10:22|||
-1325|(-1325) ARCHIVO PARA IMPRESORA NO PUEDE ABRIRSE PARA LECTURA|sysinfo|1992-08-21 10:24|sysinfo|1992-08-21 10:25|
-1326|(-1326) ARREGLO FUERA DE SU DIMENSION|sysinfo|1992-08-21 10:28|||
-1327|(-1327) TABLA TEMPORAL, NO SE PUEDE INSERTAR|sysinfo|1992-08-21 10:32|||
-1328|(-1328) NO TIENE PERMISO PARA CREAR TABLA TEMPORAL|sysinfo|1992-08-21 10:33|sysinfo|1992-08-21 10:34|
-1329|(-1329) INDICE DE BASE DE DATOS NO PUEDE SER CREADO|sysinfo|1992-08-21 10:36|sysinfo|1992-08-21 10:36|
-1330|(-1330)FILA NO PUEDE INSERTARSE EN TABLA DE REPORTE TEMPORAL|sysinfo|1992-08-21 10:39|||
-1331|(-1331)NO PUEDE BUSCAR FILA DESDE TABLA DE REPORTE TEMPORAL|sysinfo|1992-08-21 10:40|||
-1332|(-1332)VARIABLE TIENE REFERENCIAS QUE ESTAN FUERA DEL RANGO|sysinfo|1992-08-21 10:41|||
-1333|(-1333)NO PUEDE RETORNAR CADENAS DE CARACTERES MAYOR DE 512|sysinfo|1992-08-21 10:42|||
-1334|(-1334)4GL NO PUEDE ASIGNAR ESPACIO ALMACENAMIENTO TEMPORAL|sysinfo|1992-08-21 10:43|||
-1335|(-1335) REPORTE ESTA ACEPTANDO SALIDA|sysinfo|1992-08-21 10:45|||
-1340|(-1340) LA RUTINA DE ERROR NO HA SIDO COMENZADA|sysinfo|1992-08-21 10:49|||
-1343|(-1343) ARCHIVO DE AYUDA NO ESPECIFICADO|sysinfo|1992-08-21 10:50|||
-1344|(-1344) FACILIDADES DE TIEMPO DE EJECUCION DEL INORMIX-4GL|sysinfo|1992-08-21 10:51|||
-1345|(-1345) CODIGO INDEFINIDO DE OPERACION (OPCODE)|sysinfo|1992-08-21 10:52|sysinfo|1992-08-21 10:52|
-1346|(-1346) NUMERO MUY GRANDE PARA EL TIPO DE DATO DECIMAL|sysinfo|1992-08-21 10:53|||
-1347|(-1347) NUMERO MUY PEQUENO PARA EL TIPO DE DATO DECIMAL|sysinfo|1992-08-21 10:53|||
-1348|(-1348) SE HIZO UN INTENTO DE DIVIDIR ENTRE CERO|sysinfo|1992-08-21 10:54|||
-1349|(-1349) ERROR DE CONVERSION DE CARACTER A NUMERICO|sysinfo|1992-08-21 10:55|||
-1350|(-1350) IMPOSIBLE LA CONVERSION ENTRE TIPOS ESPECIFICADOS|sysinfo|1992-08-21 10:57|||
-1352|(-1352) HAY UNA FUNCION Y UN REPORTE CON EL MISMO NOMBRE|sysinfo|1992-08-21 14:26|||
-1353|(-1353) UTILIZE ! PARA EDITAR TEXTO Y CAMPOS DE CARACTERES|sysinfo|1992-08-21 14:28|||
-1355|(-1355) NO PUEDE CONSTRUIR UN ARCHIVO TEMPORAL|sysinfo|1992-08-21 14:29|||
-1360|(-1360) NO EXISTE LA CLAUSULA "PROGRAM =" PARA ESTE CAMPO|sysinfo|1992-08-21 14:29|||
-1361|(-1361) NOMBRES NULOS NO PERMITIDOS|sysinfo|1992-08-21 14:30|||
-1371|R-1371) ESTE CAMPO NO EXISTE EN EL FORMULARIO ACTUAL|sysinfo|1992-08-21 14:31|ussve01|1993-12-10 10:40|
-1372|(-1372) EL NUMERO ES MUY GRANDE Y NO CABE EN LA VARIABLE|sysinfo|1992-08-21 14:31|||
37|(37) CODIGO N.A.B. NO EXISTE|sysinfo|1992-08-21 14:32|||
38|(38) CODIGO DE UNIDADES NO EXISTE|sysinfo|1992-08-21 14:33|||
36|(36) REGISTRO FUE ELIMINADO PREVIAMENTE|sysinfo|1992-08-21 14:48|||
39|(39) REGISTRO ELIMINADO|sysinfo|1992-08-21 16:47|||
-103|(-103) CLAVE DE DESCRIPCION NO VALIDA|sysinfo|1992-08-24 16:56|||
-104|(-104) MUCHOS ARCHIVOS ABIERTOS|sysinfo|1992-08-24 16:58|||
40|(40) CODIGO DE MOVIMIENTO NO ACEPTADO EN ESTE FORMULARIO|sysinfo|1992-08-26 15:53|||
-272|(-272) NO TIENE PERMISO DE SELECCION|paulino|1992-08-27 10:26|||
-273|(-273) NO TIENE PERMISO PARA ACTUALIZAR|paulino|1992-08-27 10:27|||
-275|(-275) NO TIENE PERMISO DE INSERTAR|paulino|1992-08-27 10:27|paulino|1992-08-27 10:29|
-274|(-274) NO TIENE PERMISO PARA BORRAR|paulino|1992-08-27 10:31|||
-412|(-412) EL APUNTADOR DEL COMMANDO ES NULO|paulino|1992-08-27 10:38|||
60|(60) EL NIVEL PARA LOS PRODUCTOS TERMINADOS ES EL 3,6,9|abner|1992-11-25 14:15|sysinfo|1993-02-19 14:05|
59|(59) ANO ESTA INCORRECTO|sysinfo|1992-11-04 15:40|||
58|(58) NO HAY FECHAS DE CORTE PARA CONTROLAR ESTA FECHA|sysinfo|1992-11-04 14:16|||
57|(57) FECHA ESTA FUERA DE CORTE|sysinfo|1992-11-04 14:16|sysinfo|1992-11-04 15:47|
56|(56) MES NO CORRESPONDE CON LA FECHA DE CORTE|sysinfo|1992-11-04 09:22|||
46|(46) CANTIDAD EXCEDE CANTIDAD ORDENADA|sysinfo|1992-10-13 19:05|||
49|(49) REGISTRO NO EXISTE, NO PUEDE UTILIZAR VENTANA|sysinfo|1992-10-13 19:06|||
50|(50) EXISTE UN PLAN PARA ESA FECHA. TRATE DE NUEVO.|sysinfo|1992-10-13 19:07|||
47|(47) EL NIVEL PARA HERRAMIENTAS ES EL 4|sysinfo|1992-10-13 19:07|sysinfo|1992-10-20 08:25|
48|(48) PLAN NO EXISTE.|sysinfo|1992-10-13 19:08|||
52|(52) EL CODIGO NO PERTENECE AL CUARTO DE HERRAMIENTAS|sysinfo|1992-10-20 08:26|||
53|(53) LOCALIDAD DEL CODIGO NO PERMITIDA|sysinfo|1992-10-20 08:27|||
54|(54) CODIGO NO EXISTE EN LA LOCALIDAD A TRANSFERIR|sysinfo|1992-10-20 08:28|sysinfo|1992-11-04 09:21|
55|(55) FORMA DE EMBARQUE NO EXISTE|sysinfo|1992-10-30 09:11|||
41|(41) PAIS NO EXISTE|sysinfo|1992-10-29 10:38|||
42|(42) ZONA NO EXISTE|sysinfo|1992-10-29 10:38|||
43|(43) ZONA FUE ELIMINADA PREVIAMENTE|sysinfo|1992-10-29 10:38|||
44|(44) ARTICULO FUE ELIMINADO PREVIAMENTE|sysinfo|1992-10-29 10:40|||
45|(45) OPCION FUERA DE RANGO|sysinfo|1992-10-29 10:41|||
51|(51) FECHA NO PUEDE SER MENOR QUE LA ANTERIOR|sysinfo|1992-10-29 11:03|||
61|(61) PRODUCTO TERMINADO NO EXISTE|abner|1992-11-25 14:15|||
62|(62) LOS PARAMETROS NO ESTAN COMPLETOS. VERIFIQUE.|abner|1992-11-25 14:29|sysinfo|1992-11-27 10:38|
63|(63) CANTIDAD MAXIMA DEBE SER MAYOR QUE LA CANTIDAD MINIMA|abner|1992-11-25 15:59|abner|1992-11-25 16:17|
64|(64) DATOS DE FECHAS INCORRECTOS|abner|1992-11-30 20:58|||
65|(65) PROVINCIA NO EXISTE|abner|1992-11-30 20:58|||
66|(66) PROVINCIA FUE ELIMINADA PREVIAMENTE|abner|1992-11-30 20:58|||
67|(67) VENDEDOR FUE PREVIAMENTE ELIMINADO|abner|1992-12-04 17:54|||
68|(68) VENDEDOR NO EXISTE|abner|1992-12-04 17:55|||
69|(69) CLIENTE FUE ELIMINADO PREVIAMENTE|abner|1992-12-07 15:19|||
70|(70) CLIENTE NO EXISTE|abner|1992-12-07 15:19|||
71|(71) DESCUENTO NO EXISTE|abner|1992-12-08 09:40|||
72|(72) DESCUENTO FUE ELIMINADO PREVIAMENTE|abner|1992-12-08 09:40|||
75|(75) MES FUERA DE RANGO|abner|1993-01-12 10:57|||
73|(73) NO SE HA RECIBIDO NADA DE ESTA ORDEN, NO PUEDE DEVOLVER|sysinfo|1993-02-04 07:55|||
74|(74) ORDEN ESTA CERRADA, NO PUEDES RECIBIR MERCANCIA|sysinfo|1993-02-04 07:56|||
76|(76) TIPO ESTA INCORRECTO|sysinfo|1993-02-04 07:56|||
77|(77) LONGITUD ESTA INCORRECTA|sysinfo|1993-02-04 07:56|||
78|(78) TRANSPORTISTA NO EXISTE|sysinfo|1993-02-04 07:57|||
79|(79) TRANSPORTISTA FUE ELIMINADO PREVIAMENTE|sysinfo|1993-02-04 07:57|||
80|(80) CON ESTA FACTURA EXCEDE SU LIMITE DE CREDITO|sysinfo|1993-02-04 07:57|||
81|(81) CANTIDAD A PAGAR NO ES IGUAL QUE CANTIDAD PENDIENTE|sysinfo|1993-02-04 07:58|||
82|(82) REGISTRO ANULADO|sysinfo|1993-02-04 07:58|||
83|(83) NIVEL PARA REPUESTO ES EL 5|sysinfo|1993-02-04 07:58|||
84|(84) NO HA INTRODUCIDO REGISTROS, ABANDONAR PRESS <CTRL-C>|sysinfo|1993-02-04 07:59|johnny|1995-02-01 16:38|
85|(85) PRODUCTO NO TIENE PRECIO, NO PUEDES VENDERLO|sysinfo|1993-02-04 08:00|||
86|(86) FECHA FINAL DEBE SER MAYOR QUE LA FECHA INICIAL|sysinfo|1993-02-04 08:00|||
87|(87) NO HAY ITBI 0 PRIMA PARA FACTURAR|sysinfo|1993-02-04 08:01|sysinfo|1993-02-04 08:01|
88|(88) HAY PERIODO DE ITBI Y PRIMA DISPONIBLES|sysinfo|1993-02-04 08:32|||
97|(97) HAY MAS DE 6 DIAS PARA LA SEMANA|sysinfo|1993-02-16 11:55|||
98|(98) HAY MENOS DE 5 DIAS PARA LA SEMANA|sysinfo|1993-02-16 11:55|||
93|(93) PROVINCIA EXISTE PARA ESA ZONA|sysinfo|1993-02-22 15:39|||
94|(94) CODIGO NO TIENE FACTOR DE CONVERSION A UNIDADES|sysinfo|1993-02-22 15:40|||
95|(95) PROVINCIA NO EXISTE O NO PERTENECE A ESA ZONA|sysinfo|1993-02-22 15:40|||
96|(96) HAY UN PRODUCTO CON BONIFICACION Y NO HAY EXISTENCIA|sysinfo|1993-02-22 15:41|||
99|(99) FECHA DEBE ESTAR ENTRE LA FECHA INICIAL Y LA FINAL|sysinfo|1993-02-22 15:42|||
100|(100) FECHA ENTREGA ES MENOR QUE LA FECHA DE LA FACTURA|sysinfo|1993-02-22 15:42|||
101|(101) CANTIDAD A ENTREGAR ES MAYOR QUE CANTIDAD A FACTURAR|sysinfo|1993-02-22 15:43|||
102|(102) DOCUMENTO ESTA NULO O NO EXISTE|sysinfo|1993-02-22 15:45|sysinfo|1993-06-22 13:06|
103|(103) EXISTE BONIFICACION PARA ESTA FACTURA|sysinfo|1993-02-22 15:45|||
104|(104) ORDEN COMPRA NO ES DE PRODUCTOS TERMINADOS|sysinfo|1993-02-22 15:46|sysinfo|1993-03-12 17:39|
118|(118) CODIGO NO TIENE TARIFA DE SEGURO|sysinfo|1993-03-04 10:59|||
105|(105) USTED NO TIENE PERMISO DE MODIFICACION|sysinfo|1993-03-05 13:33|||
106|(106) CANTIDAD DESPACHADA EXECEDE EXISTENCIA|sysinfo|1993-03-05 13:36|||
107|(107) FACTURA NO TIENE CAJAS BONIFICADAS|sysinfo|1993-03-05 13:37|||
108|(108) PARA TRANSFERENCIA LAS BODEGAS DEBEN SER IGUALES|sysinfo|1993-03-05 13:37|||
109|(109) PARA TRASLADO LAS BODEGAS DEBEN SER DIFERENTES|sysinfo|1993-03-05 13:38|||
110|(110) EN TRANSFERENCIA NO PUEDES TRANSFERIR EL MISMO CODIGO|sysinfo|1993-03-05 13:38|||
111|(111) EN TRASLADO NO PUEDES TRASLADAR CODIGO DIFERENTES|sysinfo|1993-03-05 13:39|||
112|(112) NO EXISTEN LOS CODIGOS DE MOVIMIENTOS PARA ESTOS CASOS|sysinfo|1993-03-05 13:39|||
113|(113) CANTIDAD DE CONVERSION NO SON IGUALES|sysinfo|1993-03-05 13:40|||
115|(115) REPUESTO NO PERTENECE A MAQUINA|sysinfo|1993-03-05 13:41|||
116|(116) MAQUINA NO EXISTE|sysinfo|1993-03-05 13:41|||
119|(119) VENDEDOR NO LE VENDE A ESTE CLIENTE|sysinfo|1993-03-12 17:35|sysinfo|1993-03-12 18:01|
120|(120) PRODUCTO TERMINADO NO TIENE FORMULA|sysinfo|1993-03-12 17:36|||
121|(121) LA FORMULA DE ESTE PRODUCTO FUE ELIMINADA PREVIAMENTE|sysinfo|1993-03-12 17:37|||
122|(122) FORMULA DEL PRODUCTO TERMINADO NO ESTA EN USO|sysinfo|1993-03-12 17:38|||
117|(117) REQUISICION ESTA PROCESADA|sysinfo|1993-04-12 11:37|||
123|(123) VENDEDOR NO TIENE RECIBOS DE PAGOS|sysinfo|1993-04-12 11:38|||
124|(124) DIA MAXIMO DEBE SER MAYOR QUE EL DIA MINIMO|sysinfo|1993-04-12 11:39|||
125|(125) VENDEDOR NO TIENE RECIBOS ASIGNADOS PARA ESTE NUMERO|sysinfo|1993-04-12 11:39|||
126|(126) DOCUMENTO NO PERTENECE A CLIENTE|sysinfo|1993-04-12 11:40|||
127|(127) CLIENTE NO TIENE FACTURAS PENDIENTES|sysinfo|1993-04-12 11:40|||
128|(128) PROBLEMAS EN CONTROL NUMERO DOCTO. LLAME A INFORMATICA|sysinfo|1993-04-12 11:41|sysinfo|1996-03-06 09:29|
129|(129) NO EXISTE PRESUPUESTO PARA ESE ANO|sysinfo|1993-04-12 11:42|||
130|(130) PRESUPUESTO FUE PREVIAMENTE ELIMINADO|sysinfo|1993-04-12 11:42|||
131|(131) APLICACION ES IGUAL AL NUMERO DE RECIBO|sysinfo|1993-04-23 17:05|sysinfo|1993-10-21 13:39|
132|(132) YA EXISTE ESE CONTEO PARA ESA SEMANA|sysinfo|1993-05-12 19:08|sysinfo|1993-06-16 13:23|
133|(133) MATERIAL NO PERTENECE A SUPLIDOR|sysinfo|1993-05-13 09:51|||
134|(134) DEPARTAMENTO NO EXISTE|johnny|1993-05-20 13:56|||
135|(135) CODIGO DUPLICADO EN CAPTURA DE DATOS|johnny|1993-05-27 18:36|johnny|1993-06-10 14:22|
136|(136) NOMBRE DUPLICADO EN CAPTURA DE DATOS|johnny|1993-06-03 17:22|||
-201|(-201) UN ERROR DE SINTAXIS HA OCURRIDO EN (SQL STATMENT)|sysinfo|1993-06-14 10:57|||
137|(137) SALARIO NO SE CORRESPONDE CON EL NIVEL|johnny|1993-06-15 15:15|||
138|(138) NO PUEDE ANULAR FACTURA, NO ESTA DENTRO DEL MES|sysinfo|1993-06-15 18:41|||
139|(139) USTED NO TIENE PERMISO PARA UTILIZAR ESTE MOVIMIENTO|sysinfo|1993-06-16 13:23|||
142|(142) NO LE CORRESPONDE VACACIONES|johnny|1993-06-25 14:04|||
143|(143) NO PUEDE ACTUALIZAR, HAY UN NUMERO MAYOR AL INICIAL|sysinfo|1993-07-09 15:16|||
144|(144) EMPLEADO HA TOMADO TODAS LAS VACACIONES|sysinfo|1993-07-09 15:17|||
145|(145) DESCUENTO NO PUEDE SER MAYOR QUE LO ACORDADO|sysinfo|1993-07-09 15:17|||
148|(148) HORAS DE ENTRADA Y SALIDA NO PUEDEN SER IGUALES|betania|1993-07-14 14:45|||
149|(149) FECHA NO PUEDE SER MAYOR QUE LA ANTERIOR|betania|1993-07-27 16:33|||
150|(150) HORA DE SALIDA NO PUEDE SER MAYOR QUE HORA DE ENTRADA|betania|1993-07-28 16:28|sysinfo|1993-11-11 11:08|
151|(151) EL CODIGO DE EMPLEO ES 1|betania|1993-07-28 16:28|||
140|(140) FORMULA NO EXISTE O NO LA CREARON EN CONTROL CALIDAD|johnny|1993-08-12 10:17|||
141|(141) FORMULA TIENE ESTRUCTURA DE COSTO|johnny|1993-08-12 10:17|||
146|(146) SEMI-ELABORADO NO PERTENECE A FORMULA|johnny|1993-08-12 10:18|||
147|(147) FECHA TIENE MAS DE 7 DIAS|johnny|1993-08-12 10:18|||
152|(152) CANTIDAD DIGITADA EXCEDE LA CANTIDAD ASIGNADA A PRODUC|johnny|1993-08-12 10:19|||
153|(153) CANTIDAD A CANCELAR MAYOR QUE CANTIDAD INTERNADA|johnny|1993-08-12 10:20|||
154|(154) EL NUMERO DE MES NO PUEDE SER MAYOR A 12|johnny|1993-08-12 10:20|||
155|(155) NUMERO DE RECIBO DE PAGO FUERA DE SECUENCIA|johnny|1993-08-12 10:24|||
163|(163) CODIGO NO EXISTE EN LA MAESTRA DE REPUESTOS|sysinfo|1993-10-13 09:00|||
164|(164) CUENTA NO ESTA EN EL CATALOGO|sysinfo|1993-11-09 16:07|||
165|(165) LAS CUENTAS AUXILIARES NO APLICAN|sysinfo|1993-11-09 16:07|||
166|(166) EXISTE ESTE DEPARTAMENTO PARA ESA CUENTA|sysinfo|1993-11-09 16:08|||
167|(167) ESTE ACTIVO YA FUE LIQUIDADO|sysinfo|1993-11-09 16:08|||
168|(168) VALOR EXCEDE MONTO DOCUMENTO|sysinfo|1993-11-09 16:08|||
169|(169) DEPARTAMENTO NO TIENE VOLANTE CAJA CHICA|sysinfo|1993-11-09 16:09|||
170|(170) MOVIMIENTO NO EXISTE EN PRODUCTO TERMINADO|sysinfo|1993-11-09 16:09|sysinfo|1993-11-11 11:06|
171|(171) MOVIMIENTO NO EXISTE EN MATERIA PRIMA|sysinfo|1993-11-09 16:10|||
172|(172) CUENTA APLICA EN CAPTURA DE DATOS|sysinfo|1993-11-09 16:10|sysinfo|1993-11-11 11:07|
173|(173) MES DIGITADO ES MAYOR CANTIDAD DE MES DEL ANO|sysinfo|1993-11-09 16:11|||
174|(174) TRANSACCION NO ESTA CUADRADA|sysinfo|1993-11-09 16:11|||
175|(175) DEBE DIGITAR CUENTA AUXILIAR|sysinfo|1993-11-09 16:12|||
176|(176) NO HAY SECUENCIA PARA CHEQUE|sysinfo|1993-11-09 16:12|||
177|(177) CHEQUE NO EXISTE O NO PERTENECE AL BANCO|sysinfo|1993-11-09 16:12|sysinfo|1993-12-28 11:55|
178|(178) MONTO DEL CHEQUE DIFIERE MONTO DE LAS CUENTAS|sysinfo|1993-11-09 16:13|||
179|(179) EXISTE ENTRADA DE DIARIO CON ESA FECHA|sysinfo|1993-11-09 16:13|||
180|(180) EXISTE CODIGO PARA IMPUESTO SOBRE LA RENTA|sysinfo|1993-11-09 16:14|||
181|(181) EXISTE CODIGO PARA EL DESCUENTO DEL SEGURO SOCIAL|sysinfo|1993-11-09 16:14|||
182|(182) CODIGO MOVIMIENTO NO ESTA EN NOVEDAD|sysinfo|1993-11-09 16:15|||
183|(183) REGISTRO DUPLICADO EN CAPTURA DE DATOS|sysinfo|1993-11-09 16:15|||
184|(184) NO PUEDE ELIMINAR CLIENTES CON BALANCE|sysinfo|1993-11-09 16:16|||
185|(185) BUSCANDO BALANCE... ESPERE POR FAVOR|sysinfo|1993-11-09 16:16|sysinfo|1993-11-09 16:23|
186|(186) NUMERO NO CORRESPONDE A CUENTA DE GASTOS|sysinfo|1993-11-11 10:57|||
187|(187) NO PUEDE ACTUALIZAR MOVIMIENTO DE ISR O SEGURO SOCIAL|sysinfo|1993-11-11 10:58|sysinfo|1993-11-11 11:08|
188|(188) CLIENTE REACTIVADO|sysinfo|1993-11-25 15:40|||
190|(190) EMPLEADO ACTIVADO|sysinfo|1994-01-17 09:16|||
191|(191) EMPLEADO DESACTIVADO|sysinfo|1994-01-17 09:16|||
192|(192) CUENTA NO PUEDE SER DIGITADA AQUI|sysinfo|1994-01-18 18:27|||
193|(193) CUENTA NECESITA REFERENCIA|sysinfo|1994-01-25 09:05|||
195|(195) FECHA DEPRECIACION NO PUEDE SER MENOR A LA DE COMPRA|sysinfo|1994-01-27 08:57|||
194|(194) CODIGO MOVIMIENTO EXISTE COMO VARIABLE|sysinfo|1994-01-27 09:09|||
196|(196) CODIGO DE MOVIMIENTO EXISTE COMO FIJO|sysinfo|1994-01-27 09:09|||
199|(199) ESTA NOMINA HA SIDO PAGADA|sysinfo|1994-02-09 19:16|||
202|(202) EMPLEADO CON BALANCE EN CERO PARA ESA CUENTA|sysinfo|1994-02-18 16:04|||
203|(203) PERMISO DENEGADO PARA REGISTRA ESTE MOVIMIENTO|sysinfo|1994-02-18 16:04|sysinfo|1994-03-16 09:00|
204|(204) VALOR FACTURA NO CORRESPONDE CON DISTRIBUICION|sysinfo|1994-03-16 08:54|||
198|(198) CODIGO MOVIMIENTO EXISTE COMO PRINCIPAL|sysinfo|1994-03-16 09:01|||
197|(197) SOLAMENTE SE PUEDE AGREGAR ENTRADA|sysinfo|1994-03-16 09:02|||
200|(200) NO EXISTE REGISTRO CON ESE CODIGO|sysinfo|1994-03-16 09:03|||
201|(202) NUMERO DE CUENTA CONTABLE NO COORDINA CON # DE FACTURA|sysinfo|1994-03-16 09:04|||
189|(189) FECHA A DIGITAR NO PUEDE SER MAYOR QUE LA ACTUAL|tadeo|1994-04-04 16:57|||
205|(205) CUENTA DE BANCO NO EXISTE|sysinfo|1994-04-13 15:05|||
207|(207) NO PUEDE DIGITAR VALOR EN CERO|sysinfo|1994-04-27 08:24|sysinfo|1994-04-27 08:26|
209|(209) NO PUEDE DIGITAR CUENTA - NO HAY FACTURA|sysinfo|1994-04-27 08:25|sysinfo|1994-04-27 08:27|
210|(210) NO SE ESPECIFICARON LAS CUENTAS QUE AFECTAN CXP|sysinfo|1994-04-27 08:26|sysinfo|1994-04-27 08:28|
206|(206) MONTO DE LAS FACTURAS DIFIEREN A LA CUENTA C X P|johnny|1994-05-23 09:24|||
-284|(-284) LA BUSQUEDA RETORNO MAS DE UN REGISTRO|johnny|1994-05-24 14:05|||
213|(213) VALOR EN CUENTAS DIFIERE VALOR FACTURA|sysinfo|1994-06-03 11:29|sysinfo|1994-06-03 11:30|
|22|useal01|1994-06-22 13:57|||
215|(215) EL RANGO TIENE QUE COMPRENDER MENOS DE 31 DIAS|sysinfo|1994-06-22 15:12|||
211|(211) CODIGO NO PERTENECE A ESTA COMPANIA|sysinfo|1994-07-08 09:23|||
|-|usccx01|1994-07-28 10:51|||
216|(216) NUMERO DOCUMENTO PUEDE SER UN NUMERO DE NOMINA|sysinfo|1994-08-09 11:43|sysinfo|1994-08-10 09:52|
217|(217) CUANDO UTILICE ESTA CUENTA DEBE DIGITAR COD. SUPLIDOR|sysinfo|1994-08-09 15:15|||
218|(218) NUMERO DE LINEA EXCEDE DISPONIBLE EN FORMULARIO|sysinfo|1994-09-12 15:58|||
219|(219) NUMERO DE SEMANA NO EXISTE|sysinfo|1994-09-15 10:30|||
220|(220) SEMANA INICIAL DEBE DE SER DOMINGO|sysinfo|1994-09-23 15:43|||
221|(221) SEMANA FINAL DEBE DE SER VIERNES|sysinfo|1994-09-23 15:43|||
222|(222) ENTRADA NO. 27 EXISTE PARA ESTE MES Y ANO|sysinfo|1994-12-09 16:05|||
223|(223) ORDEN PERTENECE A REPUESTOS, NO PUEDES HARCER DOCUMENT|sysinfo|1994-12-14 14:13|||
224|(224) DOCUMENTO YA HA SIDO REGISTRADO|sysinfo|1994-12-21 17:04|||
225|(225) EN ESTE DOCUMENTO HAY UN ITEM QUE EXCEDE EXISTENCIA|sysinfo|1995-01-19 11:07|||
230|(230) REGISTRO A PROCESAR NO CORRESPONDE CON SECUENCIA|tadeo|1995-02-01 16:11|tadeo|1995-02-03 16:04|
231|(231) NO PUEDE REACTIVAR ENTRADA, EXISTE EN TABLA TRANSACC.|johnny|1995-02-02 17:05|||
232|(232) NO PUEDE BORRAR UN REGISTRO CON EXISTENCIA|||||
234|(234) NUMERO DOCUMENTO EXISTE EN OTRO TIPO PRA ESTE SUPLIDOR|johnny|1995-03-16 10:41|||
235|(235) NUMERO DE REGISTRO EXECEDE ESPACIO EN PANTALLA|||||
236|(236) CODIGO NO PERTENECE A FACTURA|||||
237|(237) CLIENTE NO PERTENECE A FACTURA|||||
238|(238) CANTIDAD DEVUELTA EXECEDE CANTIDAD FACTURAS|sysinfo|1995-04-18 09:00|||
239|(238) ESTE NUMERO SE ENCUENTRAENTRE DOS NUMEROS ASIGNADOS YA|sysinfo|1995-04-28 11:00|||
240|(240) NO PUEDE DIGITAR MOVIMIENTO A ESTE TIPO DE CLIENTE|||||
241|(241) FECHA MODIFICACION NO PUEDE SER MAYOR FECHA CREACION|sysinfo|1995-06-09 14:08|||
242|(242) PROGRAMA NO CORRESPONDE A SISTEMA|sysinfo|1995-06-09 15:14|||
244|(244) NOMBRE DE PROGRAMA NO CORRESPONDE A NINGUN MENU|sysinfo|1995-06-12 10:38|||
243|(243) PROGRAMA NO EXISTE|sysinfo|1995-06-12 10:44|||
245|(245) NOMBRE DEL PROGRAMA ES IGUAL AL NOMBRE DEL MENU|sysinfo|1995-06-12 11:54|||
246|(246) USTED NO PUEDE OTORGAR PERMISO A UN MENU NO AUTORIZADO|||||
247|(247) CODIGO DE PIEZA NO PUEDE SER IGUAL AL CODIGO MATERIAL|sysinfo|1995-09-11 16:27|||
248|(248) FECHA FABRICACION NO PUEDE SER MENOR A FECHA PROCESO|sysinfo|1995-09-11 16:34|||
249|(249) FECHA PRIMERA SOLICITUD NO DEBE SER MAYOR A PROCESO|sysinfo|1995-09-11 17:56|||
250|(250) HORA DIGITADA DEBE ESTAR EN EL RANGO 01:00 A 23:59|sysinfo|1995-09-12 08:22|sysinfo|1995-09-13 08:26|
251|(251) HORA CORTE DEBE SER MAYOR A HORA DE INICIO DE TRABAJO|sysinfo|1995-09-12 16:18|sysinfo|1995-09-12 16:22|
351|(351) MATERIAL NO TIENE COSTO.|sysinfo|1995-09-12 16:18|||
252|(252) FECHA DE INFORME NO PUEDE SER MENOR A FECHA SOLICITUD|sysinfo|1995-09-12 16:32|||
253|(253) REGISTRO EXISTE EN LA LINEA NO.|sysinfo|1995-10-17 08:39|||
254|(254) DEPANDIENTE MAYOR A 18 ANOS DE EDAD|sysinfo|1995-11-06 16:12|||
352|(352) CHEQUE FUE ENTREGADO PREVIAMENTE|sysinfo|1994-12-08 08:35|||
300|(300) VALOR A PAGAR ES MAYOR QUE EL VALOR PENDIENTE|sysinfo|1996-01-08 16:20|||
353|(353) PRECIO REAL EXISTE PARA SEMI-ELABORADO O FUE ELIMINADO|sysinfo|1996-01-16 16:18|||
354|(354) CODIGO DE PRODUCTO YA TIENE ASIGNADO CODIGO DE BARRA|sysinfo|1996-01-30 16:26|||
289|(289) DEBE CERRAR PRIMERO ANOS ANTERIORES|sysinfo|1996-02-12 14:17|sysinfo|1996-02-12 14:26|
255|(255) NO EXISTEN CHEQUES DEVUELTOS PARA ESE CLIENTE|sysinfo|1996-02-22 09:22|||
355|(355) NUMERO DE CHEQUE INICIALES MAYOR AL NO. CHEQUE FINAL|sysinfo|1996-02-29 15:26|||
356|(356) BUSQUEDA MAYOR A LOS PARAMETROS ESTABLECIDOS|||||
357|(357) PARA LOS CK. DEVUELTOS BUSCARE EL VENDEDOR REAL|||||
358|(358) ORDEN DE COMPRA NO EXISTE O NO PERTENECE AL SUPLIDOR|sysinfo|1996-08-02 12:00|||
359|(359) USTED NO TIENE TRIMESTRENO SE IMPRIMIRA EL REPORTE|sysinfo|1996-08-14 18:09|||
360|(360) NO TIENE LA MISMA CANTIDAD DE CODIGOS A TRANSFERIR|||||
1000|(1000) CHEQUE CONCILIADO|sysinfo|1996-11-14 15:08|||
1001|(1001) CHEQUE FUE ELIMINADO|sysinfo|1996-11-14 15:11|||
363|(363) SOLICITUD ESTA PAGADA|||||
1660|(1660) CAMPO EN BLANCO / MOVIMIENTO NO VALIDO|sysinfo|1997-01-24 09:39|||
364|(364) DEVOLUCION TIENE NOTA DE CREDITO|||||
-289|(-289) LA TABLA ESTA LOCKEADA POR OTRO USUARIO|sysinfo|1997-07-03 11:20|||
373|(373) CODIGO MATERIAL Y REPUESTO DEBEN SER DIFERENTES.|||||
375|(375) FECHA NO PUEDE SER MAYORA LA DE HOY. FUTURISTA !!!|||||
374|(374) REPUESTO NO TIENE COSTO REAL|||||
376|(376) SE REALIZO UN CIERRE A ESTA FECHA. UTILICE OTRA FECHA.|||||
377|(377) REQUISICION NO ESTA VALORIZADA|||||
378|(378) LAS TRANSACCIONES EXISTEN EN EL HISTORICO|||||
379|(379) NO SE HA REALIZADO CIERRE ANUAL EN ESTE SISTEMA.|||||
380|(380) SE HIZO UN CIERRE POSTERIOR A ESTA FECHA.|||||
@@ -0,0 +1,284 @@
{
--------------------------------------------------------------------------------
PROGRAMA : MSG00000
OBJETIVO : Capturar, Modificar, Eliminar registros de la
Tabla Mensajes.
PROGRAMADOR : Ing. Betania Guerrero Perez
FECHA REALIZACION : Julio 29, 1992.
--------------------------------------------------------------------------------
}
DATABASE exterior
GLOBALS
DEFINE bandera CHAR(1)
DEFINE mensajes RECORD like msgtable.*
DEFINE criterio char(1000)
DEFINE selec char(500)
DEFINE fecha CHAR(8),
hora char(5)
DEFINE numero_msg smallint
END GLOBALS
MAIN
CLEAR SCREEN
DEFER INTERRUPT
OPTIONS
FORM LINE 9,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM msgtable FROM "msgtable"
DISPLAY FORM msgtable
CALL pantalla()
DISPLAY "msgtable" AT 4,3
DISPLAY "Mantenimiento Mensajes" AT 6,29
MENU "OPCIONES"
COMMAND "Adicionar"
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
CLEAR FORM
CALL msgpcad01()
COMMAND "Consultar-modificar" "<Esc> Realiza busqueda"
CALL msgpcmf01()
COMMAND "Salir" "Retorna Menu Anterior"
EXIT MENU
END MENU
END MAIN
FUNCTION pantalla()
LET fecha = today USING "dd/mm/yy"
LET hora = time
DISPLAY "M A R M O T E C H, S. A." AT 4,27 ATTRIBUTE (REVERSE,YELLOW)
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
DISPLAY "Mensajes de Errores" AT 5,30
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
FUNCTION msgpcad01()
WHENEVER ERROR CONTINUE
## Captura los datos que va a contener el registro
LABEL volver:
INPUT BY NAME mensajes.*
## Verifica que el codigo no exista en la tabla de mensajes. Si existe
## entonces, despliega los datos del registro existente.
AFTER FIELD cod_msg
SELECT * INTO mensajes.* FROM msgtable
WHERE cod_msg = mensajes.cod_msg
IF STATUS != NOTFOUND THEN
DISPLAY BY NAME mensajes.*
LET numero_msg = 12
CALL msg(numero_msg)
LET mensajes.desc_msg = NULL
NEXT FIELD cod_msg
END IF
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
AFTER FIELD desc_msg
IF mensajes.desc_msg IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD desc_msg
END IF
IF mensajes.desc_msg IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD desc_msg
ELSE
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
ELSE
INSERT INTO msgtable VALUES (mensajes.cod_msg, mensajes.desc_msg,
USER, CURRENT, null, null)
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
LET numero_msg = 1
CALL msg(numero_msg)
CLEAR FORM
LET mensajes.cod_msg = NULL
LET mensajes.desc_msg = NULL
GOTO volver
END IF
END IF
EXIT INPUT
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
END FUNCTION
FUNCTION msgpcmf01()
WHENEVER ERROR CONTINUE
## Aqui se prepara para la captura del criterio de seleccion
DISPLAY " " at 23,1
CONSTRUCT criterio ON a.cod_msg,a.desc_msg FROM cod_msg,desc_msg
LET SELEC = " SELECT UNIQUE a.* FROM msgtable a where ",
criterio clipped,
" ORDER BY 1"
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
PREPARE busca FROM selec
DECLARE datos SCROLL CURSOR FOR busca
OPEN datos
FETCH FIRST datos INTO mensajes.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 19
CALL msg(numero_msg)
FETCH LAST datos INTO mensajes.*
END IF
DISPLAY BY NAME mensajes.*
MENU "OPCIONES "
COMMAND "Siguiente"
FETCH NEXT datos INTO mensajes.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
FETCH LAST datos INTO mensajes.*
END IF
DISPLAY BY NAME mensajes.*
COMMAND "Anterior"
FETCH PREVIOUS datos INTO mensajes.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
FETCH FIRST datos INTO mensajes.*
END IF
DISPLAY BY NAME mensajes.*
COMMAND "Primero"
FETCH FIRST datos INTO mensajes.*
DISPLAY BY NAME mensajes.*
LET numero_msg = 5
CALL msg(numero_msg)
COMMAND "Ultimo"
FETCH LAST datos INTO mensajes.*
DISPLAY BY NAME mensajes.*
LET numero_msg = 4
CALL msg(numero_msg)
COMMAND "Escoger"
"<Esc> Actualiza Registro -- <Supr> Cancela Operacion"
INPUT BY NAME mensajes.* WITHOUT DEFAULTS
BEFORE FIELD cod_msg
NEXT FIELD desc_msg
AFTER FIELD desc_msg
IF mensajes.desc_msg IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD desc_msg
END IF
#### Chequee que la variable boleana de interrupcion (INT_FLAG) este falsa o
#### verdadera, si esta verdadera el usuario presiono la techa (DEL)A
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
UPDATE msgtable SET desc_msg = mensajes.desc_msg,
us_mod = USER,
fech_mod = CURRENT
where cod_msg = mensajes.cod_msg
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
LET numero_msg = 13
CALL msg(numero_msg)
EXIT INPUT
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
COMMAND "Retornar"
EXIT MENU
END MENU
END FUNCTION
#GLOBALS "inprgb000.4gl"
FUNCTION msg(numero_msg)
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DEFINE numero_msg smallint,
descripcion CHAR(60)
WHENEVER ERROR CONTINUE
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
ERROR descripcion
LET numero_msg = 0
END FUNCTION
FUNCTION integridad()
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
CALL msg(numero_msg)
DISPLAY numero_msg AT 23,70
LET bandera = 1
SLEEP 2
RETURN
END IF
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,63 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
DEFINE numero_msg SMALLINT
DEFINE bandera INT
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
FUNCTION integridad()
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
CALL msg(numero_msg)
DISPLAY numero_msg AT 23,70
LET bandera = 1
SLEEP 2
RETURN
END IF
END FUNCTION
FUNCTION msgrp000(tipo_papel)
DEFINE tipo_papel SMALLINT,
longitud CHAR(11),
linea_papel CHAR(50)
CASE
WHEN tipo_papel = 1
LET longitud = " 9 1/2 x 11"
WHEN tipo_papel = 2
LET longitud = "14 7/8 x 11"
END CASE
LET linea_papel = "Coloque papel ",longitud," en la impresora."
DISPLAY linea_papel
AT 15,14
DISPLAY "Asegurese de que la impresora este encendida."
AT 16,14
DISPLAY "<Esc> Ejecuta impresion <Supr> Cancela impresion"
AT 18,14
RUN "type C:\\archivo > %USPRINT%"
END FUNCTION
@@ -0,0 +1,62 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE smarmotech
DEFINE numero_msg SMALLINT
DEFINE bandera INT
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
FUNCTION integridad()
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
CALL msg(numero_msg)
DISPLAY numero_msg AT 23,70
LET bandera = 1
SLEEP 2
RETURN
END IF
END FUNCTION
FUNCTION msgrp000(tipo_papel)
DEFINE tipo_papel SMALLINT,
longitud CHAR(11),
linea_papel CHAR(50)
CASE
WHEN tipo_papel = 1
LET longitud = " 9 1/2 x 11"
WHEN tipo_papel = 2
LET longitud = "14 7/8 x 11"
END CASE
LET linea_papel = "Coloque papel ",longitud," en la impresora."
DISPLAY linea_papel
AT 15,14
DISPLAY "Asegurese de que la impresora este encendida."
AT 16,14
DISPLAY "<Esc> Ejecuta impresion <Supr> Cancela impresion"
AT 18,14
RUN "type C:\\archivo > %USPRINT%"
END FUNCTION
@@ -0,0 +1,62 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE smarmotech
DEFINE numero_msg SMALLINT
DEFINE bandera INT
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
FUNCTION integridad()
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
CALL msg(numero_msg)
DISPLAY numero_msg AT 23,70
LET bandera = 1
SLEEP 2
RETURN
END IF
END FUNCTION
FUNCTION msgrp000(tipo_papel)
DEFINE tipo_papel SMALLINT,
longitud CHAR(11),
linea_papel CHAR(50)
CASE
WHEN tipo_papel = 1
LET longitud = " 9 1/2 x 11"
WHEN tipo_papel = 2
LET longitud = "14 7/8 x 11"
END CASE
LET linea_papel = "Coloque papel ",longitud," en la impresora."
DISPLAY linea_papel
AT 15,14
DISPLAY "Asegurese de que la impresora este encendida."
AT 16,14
DISPLAY "<Esc> Ejecuta impresion <Supr> Cancela impresion"
AT 18,14
RUN "type C:\\archivo > %USPRINT%"
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,27 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE smarmotech
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,27 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE smarmotech
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,27 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE smarmotech
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,25 @@
{
Esta funcion se utiliza para desplegar mensajes de errores en todos
los sistemas de Ray-O-Vac Dominicana.
Esta funcion busca el mensaje deseado en la tabla "msgtable" y lo
despliega en la linea de mensajes
}
DATABASE exterior
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
@@ -0,0 +1,463 @@
{
Esta funcion se utiliza para desplegar mensajes de los reportes de
los sistemas de Ray-O-Vac Dominicana.
Realizada por JUAN SOTO
FECHA : 13/7/2009
}
SCHEMA smarmotech
FUNCTION msgrp000(tipo_papel)
DEFINE tipo_papel SMALLINT,
longitud CHAR(11),
linea_papel CHAR(50)
CASE
WHEN tipo_papel = 1
LET longitud = " 9 1/2 x 11"
WHEN tipo_papel = 2
LET longitud = "14 7/8 x 11"
END CASE
LET linea_papel = "Coloque papel ",longitud," en la impresora."
DISPLAY linea_papel
AT 15,14
DISPLAY "Asegurese de que la impresora este encendida."
AT 16,14
DISPLAY "<Esc> Ejecuta impresion <Delete> Cancela impresion"
AT 18,14
END FUNCTION
FUNCTION busca_printer(usuarios,clave)
DEFINE pcurr,impresor,idx SMALLINT,
negrillas_on,
negrillas_off,
doble_on,
doble_off,
doce,
comp_on,
comp_off,
normal CHAR(6),
archivo CHAR(80),
lpprog CHAR(30),
lpnum INTEGER,
lppipe CHAR(1),
imprime CHAR(80)
DEFINE dspprt ARRAY[40] OF RECORD
nombre CHAR(30),
codigo SMALLINT,
puerto LIKE prttb00001.puerto,
lpprog LIKE prttb00001.lpprog,
lppipe LIKE prttb00001.lppipe,
prtcodigo LIKE prttb00001.prtcodigo
END RECORD,
prt RECORD LIKE prttb00001.*,
prtcodigo LIKE prttb00001.prtcodigo,
usuarios,clave CHAR(8)
OPEN WINDOW impresoras AT 10,5 WITH FORM "msgfmrp" ATTRIBUTE
(BORDER,FORM LINE FIRST + 1)
CONNECT TO "smarmotech" USER usuarios USING clave
# BUSCA EL NUMERO DE IMPRESION A SEGUIR
SELECT MAX(ult_imp) INTO lpnum
FROM prttb00002
IF lpnum IS NULL THEN
LET lpnum = 1
END IF
LET lpnum = lpnum + 1
DECLARE busca CURSOR FOR
SELECT * FROM prttb00001
ORDER BY 1
LET idx = 1
FOREACH busca INTO prt.*
LET dspprt[idx].nombre = prt.nombre
LET dspprt[idx].codigo = prt.codigo
LET dspprt[idx].puerto = prt.puerto
LET dspprt[idx].prtcodigo = prt.prtcodigo
LET dspprt[idx].lpprog = prt.lpprog
LET dspprt[idx].lppipe = prt.lppipe
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
DISPLAY ARRAY dspprt TO s_prt.*
LET pcurr = arr_curr()
LET impresor = dspprt[pcurr].codigo
LET prtcodigo = dspprt[pcurr].prtcodigo
LET prt.puerto = dspprt[pcurr].puerto
LET lpprog = dspprt[pcurr].lpprog
LET lppipe = dspprt[pcurr].lppipe
CASE
WHEN prtcodigo = 1
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
WHEN prtcodigo = 2
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 031
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
EXIT CASE
END CASE
LET archivo = FGL_GETENV("FGLSPOOL"),"\\",lpnum USING "<<<<<<<<<<"
LET imprime = lpprog CLIPPED," ",archivo CLIPPED," ",
lppipe," ",prt.puerto
{UPDATE prttb00002 set ult_imp = lpnum +1,
usuario = suser_sname()}
INSERT INTO prttb00002 VALUES (lpnum,SUSER_SNAME(),GETDATE())
CLOSE WINDOW impresoras
RETURN imprime,negrillas_on,negrillas_off,doble_on,doble_off,comp_on,comp_off,doce,normal,archivo
END FUNCTION
FUNCTION defecto(usuarios,clave,impresor)
DEFINE impresor,idx SMALLINT,
negrillas_on,
negrillas_off,
doble_on,
doble_off,
doce,
comp_on,
comp_off,
normal CHAR(6),
archivo CHAR(80),
lpnum INTEGER,
imprime CHAR(150),
prt RECORD LIKE prttb00001.*,
usuarios,clave CHAR(80),copia CHAR(100)
CONNECT TO "smarmotech" USER usuarios USING clave
SELECT * INTO prt.* FROM prttb00001 a
WHERE codigo = impresor
CASE
WHEN prt.prtcodigo = 1
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
WHEN prt.prtcodigo = 2 {Printer Central. Contabilidad}
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 031
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
EXIT CASE
WHEN impresor = 3
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
END CASE
# BUSCA EL NUMERO DE IMPRESION A SEGUIR
SELECT MAX(ult_imp) INTO lpnum
FROM prttb00002
IF lpnum IS NULL THEN
LET lpnum = 1
END IF
LET lpnum = lpnum + 1
LET archivo = FGL_GETENV("FGLSPOOL"),"\\",lpnum USING "<<<<<<<<<<"
LET imprime = prt.lpprog CLIPPED," ",archivo CLIPPED," ",
prt.lppipe," ",prt.puerto
LET copia = prt.lppipe," ",prt.puerto
{ UPDATE prttb00002 set ult_imp = lpnum + 1,
usuario = suser_sname()}
INSERT INTO prttb00002 VALUES (lpnum,suser_sname(),getdate())
RETURN imprime,negrillas_on,negrillas_off,doble_on,doble_off,
comp_on,comp_off,doce,normal,archivo,copia
END FUNCTION
FUNCTION ElijeImpresion(parametro)
DEFINE parametro CHAR(2),
orden,destino CHAR(1)
DEFINE letras RECORD
negrillas_on CHAR(6),
negrillas_off CHAR(6),
doble_on CHAR(6),
doble_off CHAR(6),
comp_on CHAR(6),
comp_off CHAR(6),
doce CHAR(6),
normal CHAR(6)
END RECORD
OPEN WINDOW wopcion AT 10,5 WITH FORM "msgfmwd001" ATTRIBUTE
(BORDER,FORM LINE FIRST + 1)
CASE
WHEN parametro = "OD"
INPUT BY NAME orden,destino
EXIT CASE
WHEN parametro = "D"
INPUT BY NAME destino
EXIT CASE
END CASE
IF destino = "P" THEN
INITIALIZE letras.* TO NULL
END IF
CLOSE WINDOW wopcion
RETURN orden,destino,letras.*
END FUNCTION
FUNCTION fdestino(p_destino,p_archivo,p_imprime)
DEFINE p_destino CHAR(1),
p_imprime,ejecuta CHAR(80),
p_archivo CHAR(80)
CASE
WHEN p_destino = "I"
DISPLAY P_IMPRIME AT 18,2
RUN p_imprime
EXIT CASE
WHEN p_destino = "P"
LET ejecuta = FGL_GETENV("EDITOR")," ",p_archivo CLIPPED
RUN ejecuta
EXIT CASE
END CASE
END FUNCTION
@@ -0,0 +1,21 @@
database exterior
screen size 24 by 80
{
Codigo Mensaje [f000 ]
Descripcion [f001 ]
[f002 ]
Usuario Creador [f003 ] Usuario Modificador[f005 ]
Fecha Creacion [f004 ] Fecha Modificacion [f006 ]
}
end
tables
msgtable
attributes
f000 = msgtable.cod_msg;
f001 = msgtable.desc_msg[1,30];
f002 = msgtable.desc_msg[31,60];
f003 = msgtable.us_crea,noentry;
f004 = msgtable.fech_crea,noentry;
f005 = msgtable.us_mod,noentry;
f006 = msgtable.fech_mod,noentry;
end
@@ -0,0 +1,120 @@
{
-------------------------------------------------------------------------------
PROGRAMA : PEMN00000
OBJETIVO : Menu principal del Sistema de Personal
PROGRAMADOR : Ing. Betania Guerrero Perez
FECHA REALIZACION : Mayo 20, 1993.
-------------------------------------------------------------------------------
}
DATABASE rayovac
MAIN
DEFER INTERRUPT
CALL opciones_pemn00000()
END MAIN
FUNCTION opciones_pemn00000()
DEFINE p_user CHAR(9)
DEFINE luz CHAR(5)
DEFINE opt char(2)
OPTIONS
PROMPT LINE 8,
ERROR LINE 24
CALL pantalla()
DISPLAY "Menu Principal " AT 6,36
DISPLAY "pemn00000" AT 4,3 ATTRIBUTE(YELLOW)
DISPLAY "1- Administracion de Personal admn00000" AT 10,6
DISPLAY "2- Nomina nomn00000" AT 11,6
#DISPLAY "3- Cooperativa ctmn00000" AT 12,6
#DISPLAY "3- Seguro Medico smmn00000" AT 12,6
DISPLAY "S- Retorna Menu Anterior" AT 14,6 ATTRIBUTE(YELLOW)
LABEL vuelve:
PROMPT "OPCION: " attribute(yellow) FOR OPT
LET opt = UPSHIFT(opt) clipped
IF opt != "S" THEN
SELECT unique usuario INTO p_user FROM seg0001
WHERE usuario = user
CALL seg000(p_user,opt,"pemn00000") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
GOTO vuelve
END IF
END IF
CASE
WHEN OPT = "1"
RUN "fglgo /users/rova/sysinfo/4gidir/admn00000"
CLEAR SCREEN
CALL opciones_pemn00000()
WHEN OPT = "2"
RUN "fglgo /users/rova/sysinfo/4gidir/nomn00000"
CLEAR SCREEN
CALL opciones_pemn00000()
WHEN OPT = "S" or OPT = "s"
RETURN
OTHERWISE
CALL opciones_pemn00000()
END CASE
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5)
LET fecha = today USING "dd/mm/yy"
LET hora = time
DISPLAY " R A Y . O . V A C D O M I N I C A N A, S. A. " AT 4,19
ATTRIBUTE (REVERSE,YELLOW)
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
DISPLAY "Sistema de Recursos Humanos" AT 5,29
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
{
-----------------------------------------------------------------------------
PROGRAMA : SEG000
OBJETIVO : Controlar el acceso de los usuarios a los sistemas de la
Empresa.
PROGRAMADOR : Ing. Juan Soto
FECHA : Marzo 17, 1994.
-----------------------------------------------------------------------------
}
FUNCTION seg000(usuarios,opt,p_menu)
DEFINE opt CHAR(2)
DEFINE luz CHAR(4)
DEFINE p_menu CHAR(9)
DEFINE usuarios CHAR(9)
DEFINE no_reg,p_opcion,numero SMALLINT
WHENEVER ERROR CONTINUE
OPTIONS
ERROR LINE 24
LET luz = "azul"
LET p_opcion = opt
SELECT count(*) INTO no_reg FROM seg0001
WHERE usuario = user
IF no_reg = 1 THEN
SELECT opcion INTO p_opcion FROM seg0001
WHERE usuario = user
END IF
IF p_opcion != 99 THEN
SELECT UNIQUE a.usuario FROM seg0001 a
WHERE a.usuario = usuarios and
a.opcion = p_opcion and
a.us_menu = p_menu
IF status = notfound THEN
LET status = 0
LET luz = "roja"
END IF
END IF
IF p_opcion = 99 THEN
LET luz = "azul"
END IF
RETURN luz
END FUNCTION
@@ -0,0 +1,67 @@
{
PROGRAMA : PLMN00000
OBJETIVO : Menu principal del Sistema
de Planta.
PROGRAMADOR : Juan Fco. Soto (Johnny)
MODIFICADO : Jose A. Paulino. (19 de oct. 1992)
FECHA REALIZACION : Octubre 15, 1992.
MODIFICACION :
FECHA :
}
MAIN
DEFER INTERRUPT
CALL opciones_plmn00000()
END MAIN
FUNCTION opciones_plmn00000()
DEFINE opt char(2)
OPTIONS
PROMPT LINE 8,
ERROR LINE 24
CALL pantalla()
DISPLAY " Menu Principal " AT 6,22
DISPLAY "plmn00000" AT 4,3 ATTRIBUTE(YELLOW)
DISPLAY "1- Produccion prmn00000" AT 10,6
#DISPLAY "2- Activo Fijo acfm01" AT 11,6
#DISPLAY "3- Catalogo Activo Fijo acprrp008" AT 12,6
DISPLAY "S- Retorna Menu Anterior" AT 14,6 ATTRIBUTE(YELLOW)
PROMPT "OPCION: " attribute(yellow) FOR OPT
LET opt = UPSHIFT(opt) clipped
CASE
WHEN OPT = "1"
RUN "fglgo /users/rova/sysinfo/4gidir/prmn00000"
CLEAR SCREEN
CALL opciones_plmn00000()
{WHEN OPT = "2"
RUN "isql -s rayovac -fr /users/rova/sysinfo/acfm01"
CLEAR SCREEN
CALL opciones_plmn00000()
WHEN OPT = "3"
RUN "isql -s rayovac -rr /users/rova/sysinfo/acprrp008"
CLEAR SCREEN}
WHEN OPT = "S" or OPT = "s"
RETURN
OTHERWISE
CALL opciones_plmn00000()
END CASE
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5)
LET fecha = today USING "dd/mm/yy"
LET hora = time
DISPLAY " R A Y - O - V A C D O M I N I C A N A " AT 4,19
ATTRIBUTE (REVERSE,YELLOW)
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
DISPLAY "Sistema de Planta" AT 5,31
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
@@ -0,0 +1,77 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas,usuario1)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
RETURN bandera
END FUNCTION
@@ -0,0 +1,320 @@
{
--------------------------------------------------------------------------
PROGRAMA : PRD00000
OBJETIVO : Este programa da mantenimiento a los periodos contables;
Agrega, Modifica periodos de un ano especifico.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 3, 1992.
MODIFICADO POR: Tadeo A. Ferreras
FECHA : Noviembre 25, 1993.
OBJETIVO : Incluir dias de gracias para cada periodo mensual.
--------------------------------------------------------------------------
}
DATABASE marmotech
GLOBALS
DEFINE control CHAR(2)
DEFINE fecha date
DEFINE hore CHAR(5)
DEFINE p_mes,p_act,s_act,numero_msg,bandera ,idx smallint
DEFINE descripcion CHAR(60)
DEFINE mes1 ARRAY[12] OF CHAR(10)
DEFINE peri ARRAY[12] OF RECORD
descrip_mes CHAR(10),
fecha_inicio DATE,
fecha_corte DATE,
dias_habiles SMALLINT,
dias_gracia SMALLINT
END RECORD
DEFINE usuarios RECORD
us_crea LIKE prdtable.us_crea,
fech_crea LIKE prdtable.fech_crea,
us_mod LIKE prdtable.us_mod,
fech_mod LIKE prdtable.fech_mod
END RECORD
DEFINE p_ano LIKE prdtable.ano
END GLOBALS
MAIN
DEFER INTERRUPT
OPTIONS
FORM LINE 8,
ERROR LINE 24,
COMMENT LINE 22
CALL pantalla()
OPEN FORM prdfm FROM "prdfm"
DISPLAY FORM prdfm
MENU "OPCION"
COMMAND "Agregar"
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
CALL prdadd()
COMMAND "Consulta-modifica"
"<Esc> Busca Registro <Supr> Cancela Operacion"
CLEAR FORM
CALL prdmod()
COMMAND "Salir"
EXIT MENU
END MENU
END MAIN
FUNCTION prdadd()
#WHENEVER ERROR CONTINUE
SELECT count(*) FROM prdtable
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
LABEL vuelve:
LET p_ano = year(today)
INPUT BY NAME p_ano WITHOUT DEFAULTS
AFTER FIELD p_ano
IF p_ano is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD p_ano
END IF
SELECT UNIQUE ano FROM prdtable WHERE ano = p_ano
IF status != notfound THEN
LET numero_msg = 12
CALL msg(numero_msg)
NEXT FIELD p_ano
END IF
AFTER INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
CLEAR FORM
LET int_flag = false
RETURN
END IF
EXIT INPUT
END INPUT
FOR idx = 1 to 12
CALL meses()
LET peri[idx].descrip_mes = mes1[idx]
LET peri[idx].fecha_corte = null
END FOR
CALL set_count(idx-1)
INPUT ARRAY peri WITHOUT DEFAULTS FROM s_peri.*
BEFORE ROW
LET p_act = arr_curr()
LET s_act = scr_line()
AFTER FIELD fecha_inicio
IF peri[p_act].fecha_inicio is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_inicio
END IF
AFTER INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
EXIT INPUT
END INPUT
FOR idx = 1 to 12
INSERT INTO prdtable VALUES (p_ano,idx,peri[idx].fecha_inicio,
peri[idx].fecha_corte,peri[idx].dias_habiles,
peri[idx].dias_gracia,user,current,null,null)
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
END FOR
LET numero_msg = 1
CALL msg(numero_msg)
CLEAR FORM
GOTO vuelve
END FUNCTION
FUNCTION prdmod()
#WHENEVER ERROR CONTINUE
SELECT count(*) FROM prdtable
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
LABEL vuelve:
LET p_ano = year(today)
INPUT BY NAME p_ano WITHOUT DEFAULTS
AFTER FIELD p_ano
IF p_ano is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD p_ano
END IF
SELECT UNIQUE ano FROM prdtable WHERE ano = p_ano
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD p_ano
END IF
AFTER INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
EXIT INPUT
END INPUT
{DECLARE datos CURSOR FOR
SELECT mes,fecha_inicio,fecha_corte,dias_habiles,dias_gracia,us_crea,
fech_crea,us_mod,fech_mod
FROM prdtable where ano = p_ano
ORDER BY 2
LET idx = 1
FOREACH datos INTO p_mes,peri[idx].fecha_inicio,peri[idx].fecha_corte,
peri[idx].dias_habiles,peri[idx].dias_gracia,usuarios.*
CALL meses()
LET peri[idx].descrip_mes = mes1[idx]
LET idx = idx + 1
END FOREACH}
FOR idx = 1 to 12
CALL meses()
LET peri[idx].descrip_mes = mes1[idx]
SELECT UNIQUE a.fecha_inicio,a.fecha_corte,a.dias_habiles,a.dias_gracia,
a.us_crea,a.fech_crea,a.us_mod,a.fech_mod
INTO peri[idx].fecha_inicio,peri[idx].fecha_corte,
peri[idx].dias_habiles,peri[idx].dias_gracia,usuarios.*
FROM prdtable a
WHERE a.ano = p_ano AND a.mes = idx
#LET peri[idx].fecha_corte = null
END FOR
SELECT UNIQUE a.us_crea,a.fech_crea,a.us_mod,a.fech_mod
INTO usuarios.*
FROM prdtable a
WHERE a.ano = p_ano AND a.us_crea IS NOT NULL
DISPLAY BY NAME usuarios.*
CALL set_count(idx)
INPUT ARRAY peri WITHOUT DEFAULTS FROM s_peri.*
BEFORE ROW
LET p_act = arr_curr()
LET s_act = scr_line()
{AFTER FIELD fecha_corte
LET control = month(peri[p_act].fecha_corte)
IF p_act != control THEN
LET numero_msg = 56
CALL msg(numero_msg)
NEXT FIELD fecha_corte
END IF}
AFTER INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
CLEAR FORM
LET int_flag = false
RETURN
END IF
EXIT INPUT
END INPUT
DELETE FROM prdtable WHERE @ano = p_ano
FOR idx = 1 to 12
IF peri[idx].fecha_inicio IS NOT NULL THEN
INSERT INTO prdtable VALUES (p_ano,idx,peri[idx].fecha_inicio,
peri[idx].fecha_corte,peri[idx].dias_habiles,
peri[idx].dias_gracia,user,current,user,current)
END IF
END FOR
LET numero_msg = 13
CALL msg(numero_msg)
END FUNCTION
FUNCTION integridad()
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
CALL msg(numero_msg)
DISPLAY numero_msg AT 23,70
LET bandera = 1
SLEEP 2
RETURN
END IF
END FUNCTION
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion
ELSE
ERROR descripcion
LET numero_msg = 0
END IF
END FUNCTION
FUNCTION meses()
LET mes1[1] = "Enero"
LET mes1[2] = "Febrero"
LET mes1[3] = "Marzo"
LET mes1[4] = "Abril"
LET mes1[5] = "Mayo"
LET mes1[6] = "Junio"
LET mes1[7] = "Julio"
LET mes1[8] = "Agosto"
LET mes1[9] = "Septiembre"
LET mes1[10] = "Octubre"
LET mes1[11] = "Noviembre"
LET mes1[12] = "Diciembre"
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5) ,
p_compania RECORD LIKE companias.*,
l SMALLINT
SELECT * INTO p_compania.*
FROM companias
LET l = (80 - LENGTH(p_compania.nombre))/2
LET fecha = today USING "dd/mm/yy"
LET hora = time
DISPLAY p_compania.nombre CLIPPED AT 4,l
ATTRIBUTE (REVERSE,YELLOW)
DISPLAY "prd00000" AT 4,3 ATTRIBUTE (BOLD)
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
LET l = (80 - LENGTH("Mantenimento Fechas de corte Mensuales"))/2
DISPLAY "Mantinimento Fechas de corte Mensuales" AT 5,l
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
@@ -0,0 +1,77 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
END FUNCTION
@@ -0,0 +1,78 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = SUSER_SNAME()
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
RETURN bandera
END FUNCTION
@@ -0,0 +1,77 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
END FUNCTION
@@ -0,0 +1,77 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
END FUNCTION
@@ -0,0 +1,77 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE rayovac
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
END FUNCTION
@@ -0,0 +1,77 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
END FUNCTION
@@ -0,0 +1,77 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
END FUNCTION
@@ -0,0 +1,77 @@
{
----------------------------------------------------------------------------
PROGRAMA : PRD
OBJETIVO : Controlar las operaciones que se hagan anterior a una fecha
de corte.
REALIZADO POR : Ing. Juan Fco. Soto.
FECHA : Noviembre 4, 1992.
---------------------------------------------------------------------------
}
DATABASE smarmotech
FUNCTION prd(p_fechas)
DEFINE bandera SMALLINT
DEFINE otrab SMALLINT
DEFINE numero_msg INTEGER
DEFINE p_fechas DATE
DEFINE comp_fech,comp_fech1 DATE
DEFINE mes_control CHAR(2)
DEFINE mes_calc,dia SMALLINT
DEFINE fecha_c DATE
DEFINE c_ano,a_ano CHAR(4)
DEFINE usuario1 CHAR(9)
LET a_ano = year(today)
LET mes_control = MONTH(today)
LET mes_calc = mes_control
IF mes_calc = 01 THEN
LET mes_calc = 13
LET a_ano = year(today - 32)
END IF
#Aqui la funcion se posicionaba en dos meses para el control del documento
#LET mes_calc = mes_calc - 2
IF mes_calc <= 0 THEN
LET mes_calc = 12
LET a_ano = year(today) - 1
END IF
LET c_ano = year(today)
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
WHERE fecha_corte >= p_fechas
IF STATUS = NOTFOUND THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
LET dia = 0
SELECT MIN(dias_gracia) INTO dia FROM prdtable
WHERE fecha_corte = fecha_c
IF dia IS NULL THEN
LET dia = 0
END IF
SELECT UNIQUE a.usuario FROM seg0003 a
WHERE a.usuario = USER
IF STATUS != NOTFOUND THEN
LET fecha_c = fecha_c + dia
END IF
LET comp_fech = fecha_c
LET comp_fech1 = TODAY
IF comp_fech < comp_fech1 THEN
LET numero_msg = 57
CALL msg(numero_msg)
LET bandera = 1
END IF
END FUNCTION
@@ -0,0 +1,47 @@
{
================================================================================
FORMULARIO : prdfrm
OBJETIVO : CAPTURAR LAS INFORMACIONES DE LAS FECHAS DE CORTE DE LOS MESES
DEL ANO ESPECIFICO.
DISENADO POR: JUAN F. SOTO
FECHA : ENERO 15, 1994.
================================================================================
}
DATABASE exterior
screen size 24 by 80
{
Ano [f001]
\g------------------------------------------------------------------------------\g
MESES FECHA FECHA DIAS DIAS MESES FECHA FECHA DIAS DIAS
PERIOD. INICIO CORTE HAB. GRA PERIOD. INICIO CORTE HAB. GRA.
\g------------------------------------------------------------------------------\g
[f2 ][f3 ][f4 ][f5][f6][f2 ][f3 ][f4 ][f5][f6]
[f2 ][f3 ][f4 ][f5][f6][f2 ][f3 ][f4 ][f5][f6]
[f2 ][f3 ][f4 ][f5][f6][f2 ][f3 ][f4 ][f5][f6]
[f2 ][f3 ][f4 ][f5][f6][f2 ][f3 ][f4 ][f5][f6]
[f2 ][f3 ][f4 ][f5][f6][f2 ][f3 ][f4 ][f5][f6]
[f2 ][f3 ][f4 ][f5][f6][f2 ][f3 ][f4 ][f5][f6]
Usuario Creador [f7 ] Usuario Modificador [f9 ]
Fecha Creacion [f8 ] Fecha Modificacion [f10 ]
}
tables
prdtable
attributes
f001 = formonly.p_ano;
f2 = formonly.descrip_mes,noentry;
f3 = prdtable.fecha_inicio ,format = "dd/mm/yyyy",
comments = "Entre Fecha Inicial Periodo";
f4 = prdtable.fecha_corte ,format = "dd/mm/yyyy",
comments = "Entre Fecha Corte Periodo";
f5 = formonly.dias_habiles,comments = "Entre Los Dias Laborables";
f6 = formonly.dias_gracia,comments = "Entre Los Dias De Gracias Para El Corte";
f7 = prdtable.us_crea,noentry;
f8 = prdtable.fech_crea,noentry;
f9 = prdtable.us_mod,noentry;
f10 = prdtable.fech_mod,noentry;
instructions
delimiters " "
screen record s_peri[12](descrip_mes,fecha_inicio,fecha_corte,dias_habiles,
dias_gracia)
end
@@ -0,0 +1,154 @@
{
-----------------------------------------------------------------------
PROGRAMA : PRMNRP000
OBJETIVO : Menu de Reportes del Sistema de Produccion
PROGRAMADOR : Tadeo A. Ferreras F.
FECHA REALIZACION : Sept. 14,1994.
-----------------------------------------------------------------------
}
GLOBALS "prprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL pantalla()
CALL opciones_prmnrp000()
END MAIN
FUNCTION opciones_prmnrp000()
DEFINE p_user CHAR(9)
DEFINE luz CHAR(5)
OPTIONS
PROMPT LINE 8,
MESSAGE LINE 24
DISPLAY " Reportes " AT 6,22
DISPLAY "prmnrp000" AT 4,3 ATTRIBUTE(YELLOW)
DISPLAY " 1-Horas Pers. No Prod.(Form.) prprrp001" AT 10,1
DISPLAY " 2-Val. Horas Pers. No Prod. prprrp002" AT 11,1
DISPLAY " 3-Val. Reg. Produc. Diaria prprrp005" AT 12,1
DISPLAY " 4-Resumen Semanal de produc. prprrp003" AT 13,1
DISPLAY " 5-Resumen Mensual de Producc. prprrp011" AT 14,1
DISPLAY " 6-Pilas Produc./Horas Totales prprrp006" AT 15,1
DISPLAY " 7-Pilas Produc./Horas Direct. prprrp008" AT 16,1
DISPLAY " 8-Reporte Diario de Manufact. prprrp009" AT 17,1
DISPLAY " 9-Celdas Producidas prprrp010" AT 18,1
DISPLAY "10-Produccion Por Tipo de Pila prprrp012" AT 19,1
DISPLAY "11-Prod. Acum. en Rango de Ano prprrp007" AT 20,1
DISPLAY "12-Val. Maestra Operaciones prprrp013" AT 10,42
DISPLAY " S-Retorna Menu Anterior " AT 21,20
ATTRIBUTE (BOLD)
LET opcion = " "
LABEL vuelve:
PROMPT " OPCION: " FOR opcion HELP 1
LET opcion = upshift(opcion)
IF opcion != "S" THEN
SELECT unique usuario INTO p_user FROM seg0001
WHERE usuario = user
#CALL seg000(p_user,opcion,"prmnrp000") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
GOTO vuelve
END IF
END IF
CASE
WHEN opcion = "1"
CALL prprrp001()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "2"
CALL prprrp002()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "3"
CALL prprrp005()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "4"
CALL prprrp003()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "5"
CALL prprrp011()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "6"
CALL prprrp006()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "7"
CALL prprrp008()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "8"
CALL prprrp009()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "9"
CALL prprrp010()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "10"
CALL prprrp012()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "11"
CALL prprrp007()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "12"
CALL prprrp013()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "S" or opcion = "s"
RETURN
OTHERWISE
CALL opciones_prmnrp000()
END CASE
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5)
LET fecha = today USING "dd/mm/yy"
LET hora = time
DISPLAY " R A Y . O . V A C D O M I N I C A N A " AT 4,19
ATTRIBUTE (REVERSE,YELLOW)
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
DISPLAY "Sistema de Produccion" AT 5,29
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
FUNCTION integridad()
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
CALL msg(numero_msg)
DISPLAY numero_msg AT 23,70
LET bandera = 1
LET status = 0
SLEEP 2
RETURN
END IF
RETURN
END FUNCTION
@@ -0,0 +1,250 @@
{
-----------------------------------------------------------------------
PROGRAMA : PRMNRP000
OBJETIVO : Menu de Reportes del Sistema de Produccion
PROGRAMADOR : Tadeo A. Ferreras F.
FECHA REALIZACION : Sept. 14,1994.
-----------------------------------------------------------------------
}
GLOBALS "prprgb000.4gl"
|
| The GLOBALS file "prprgb000.4gl" cannot be opened for reading.
| See error number -4306.
MAIN
DEFER INTERRUPT
CALL pantalla()
CALL opciones_prmnrp000()
END MAIN
FUNCTION opciones_prmnrp000()
DEFINE p_user CHAR(9)
DEFINE luz CHAR(5)
OPTIONS
PROMPT LINE 8,
MESSAGE LINE 24
DISPLAY " Reportes " AT 6,22
DISPLAY "prmnrp000" AT 4,3 ATTRIBUTE(YELLOW)
DISPLAY " 1-Horas Pers. No Prod.(Form.) prprrp001" AT 10,1
DISPLAY " 2-Val. Horas Pers. No Prod. prprrp002" AT 11,1
DISPLAY " 3-Val. Reg. Produc. Diaria prprrp005" AT 12,1
DISPLAY " 4-Resumen Semanal de produc. prprrp003" AT 13,1
DISPLAY " 5-Resumen Mensual de Producc. prprrp011" AT 14,1
DISPLAY " 6-Pilas Produc./Horas Totales prprrp006" AT 15,1
DISPLAY " 7-Pilas Produc./Horas Direct. prprrp008" AT 16,1
DISPLAY " 8-Reporte Diario de Manufact. prprrp009" AT 17,1
DISPLAY " 9-Celdas Producidas prprrp010" AT 18,1
DISPLAY "10-Produccion Por Tipo de Pila prprrp012" AT 19,1
DISPLAY "11-Prod. Acum. en Rango de Ano prprrp007" AT 20,1
DISPLAY "12-Val. Maestra Operaciones prprrp013" AT 10,42
DISPLAY " S-Retorna Menu Anterior " AT 21,20
ATTRIBUTE (BOLD)
LET opcion = " "
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
|
| The variable "opcion" is too complex a type to be used in an
| assignment statement.
| See error number -4323.
LABEL vuelve:
PROMPT " OPCION: " FOR opcion HELP 1
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
LET opcion = upshift(opcion)
|
| The variable "opcion" in its current form is too complex
| to be used in this statement.
| See error number -4334.
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
|
| The variable "opcion" is too complex a type to be used in an
| assignment statement.
| See error number -4323.
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
IF opcion != "S" THEN
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
SELECT unique usuario INTO p_user FROM seg0001
WHERE usuario = user
#CALL seg000(p_user,opcion,"prmnrp000") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
GOTO vuelve
END IF
END IF
CASE
WHEN opcion = "1"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp001()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "2"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp002()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "3"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp005()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "4"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp003()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "5"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp011()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "6"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp006()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "7"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp008()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "8"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp009()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "9"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp010()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "10"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp012()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "11"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp007()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "12"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
CALL prprrp013()
CLEAR SCREEN
CALL pantalla()
CALL opciones_prmnrp000()
WHEN opcion = "S" or opcion = "s"
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
|
| The symbol "opcion" does not represent a defined variable.
| See error number -4369.
RETURN
OTHERWISE
CALL opciones_prmnrp000()
END CASE
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5)
LET fecha = today USING "dd/mm/yy"
LET hora = time
DISPLAY " R A Y . O . V A C D O M I N I C A N A " AT 4,19
ATTRIBUTE (REVERSE,YELLOW)
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
DISPLAY "Sistema de Produccion" AT 5,29
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
FUNCTION integridad()
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
|
| The symbol "numero_msg" does not represent a defined variable.
| See error number -4369.
|
| The variable "numero_msg" is too complex a type to be used in an
| assignment statement.
| See error number -4323.
CALL msg(numero_msg)
|
| The symbol "numero_msg" does not represent a defined variable.
| See error number -4369.
DISPLAY numero_msg AT 23,70
|
| The symbol "numero_msg" does not represent a defined variable.
| See error number -4369.
|
| The variable "numero_msg" in its current form is too complex
| to be used in this statement.
| See error number -4334.
LET bandera = 1
|
| The symbol "bandera" does not represent a defined variable.
| See error number -4369.
|
| The variable "bandera" is too complex a type to be used in an
| assignment statement.
| See error number -4323.
LET status = 0
SLEEP 2
RETURN
END IF
RETURN
END FUNCTION
@@ -0,0 +1,45 @@
FUNCTION productos_incluye(tabla1,tabla2,tabla3,tabla4,tabla5,xcriterio,xbodega,xfecha,xseccion,xtramo)
DEFINE tabla1,tabla2,tabla3,tabla4,tabla5,selec,xcriterio STRING,
xbodega,xseccion,xtramo SMALLINT,
xfecha DATE,
xid INT,
xfech_crea DATETIME YEAR TO MINUTE
DEFINE xitems RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_sec SMALLINT
END RECORD
LET xfech_crea = CURRENT
LET selec = "SELECT DISTINCT a.cod_n,a.cod_Grupo,a.cod_tipo,a.cod_sec FROM ",tabla1 CLIPPED," AS a ",
" INNER JOIN ",tabla5 CLIPPED ," AS b ON a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND ",
" a.cod_tipo = b.cod_tipo AND ",
" a.cod_sec = b.cod_sec AND a.status_t IS NULL AND b.status_t is NULL ",
" WHERE b.bodega = ",xbodega USING "<<<", " and ",xcriterio CLIPPED
PREPARE comando FROM selec
DECLARE busca_item CURSOR FOR comando
LET selec = "SELECT DISTINCT a.cod_n FROM ",tabla3 CLIPPED,
" AS a WHERE a.cod_n = ? AND a.cod_grupo = ? AND a.cod_tipo = ? AND a.cod_sec = ? AND a.fecha = ? AND a.bodega = ?"
PREPARE comando1 FROM selec
LET selec = "INSERT INTO ",tabla3 CLIPPED," (idtrx,fecha,bodega,cod_Seccion,cod_tramo,cod_n,cod_grupo,cod_tipo,cod_Sec,cantidad,us_crea,fech_crea) ",
" VALUES (?,?,?,?,?,?,?,?,?,?,?,?)"
PREPARE inserta FROM selec
LET selec = "SELECT MAX(a.idtrx) FROM ",tabla3 CLIPPED, " AS a WHERE a.fecha =? AND a.bodega =? "
PREPARE busca_max FROM selec
EXECUTE busca_max INTO xid USING xfecha,xbodega
FOREACH busca_item INTO xitems.*
EXECUTE comando1 USING xitems.cod_n,xitems.cod_grupo,xitems.cod_tipo,xitems.cod_sec,xfecha,xbodega
IF STATUS = NOTFOUND THEN
EXECUTE inserta USING xid,xfecha,xbodega,xseccion,xtramo,xitems.cod_n,xitems.cod_grupo,xitems.cod_tipo,
xitems.cod_sec,"0","INCLUYE",xfech_crea
LET xid = xid + 1
END IF
END FOREACH
END FUNCTION
@@ -0,0 +1,195 @@
acmn00000| |acmn00000||
acmnmt000| |acmnmt000||
acmnmt000| |acprmt001||
acmnmt000| |acprmt002||
acmnmt000| |acprmt003||
acmnmt000| |acprmt004||
acmnmt000| |acprmt005||
acmnmt000| |acprmt006||
acmnrp000| |acprrp007||
acmnrp000| |acprrp006||
acmnrp000| |acprrp005||
acmnrp000| |acprrp004||
acmnrp000| |acprrp003||
acmnrp000| |acprrp002||
acmnrp000| |acprrp001||
acmnrp000| |acmnrp000||
acmnrp000| |acprrp008||
ipmn00000| |ipmn00000||
ipmn00000| |ipprgb000||
ipmncs000| |ipprcs041||
ipmncs000| |ipmncs001||
ipmncs000| |ipprcs002||
ipmncs000| |ipprcs004||
ipmncs000| |ipprcs003||
ipmncs000| |ipprcs006||
ipmncs000| |ipmncs000||
ipmncs000| |ipprcs001||
ipmnmt000| |ipprmt011||
ipmnmt000| |ipprmt002||
ipmnmt000| |ipprmt003||
ipmnmt000| |ipmnmt001||
ipmnmt000| |ipprmt008||
ipmnmt000| |ipprmt013||
ipmnmt000| |ipprmt006||
ipmnmt000| |ipmnmt000||
ipmnmt000| |ipprmt044||
ipmnmt000| |ipprmt054||
ipmnmt000| |ipprmt064||
ipmnmt000| |ipprmt017||
ipmnmt000| |ipprmt010||
ipmnrp000| |ipprrp007||
ipmnrp000| |ipprrp008||
ipmnrp000| |ipmnrp000||
ipmnrp000| |ipprrp002||
ipmnrp000| |ipprrp003||
ipmnrp000| |ipprrp018||
ipmnrp000| |ipprrp017||
ipmnrp000| |ipprrp004||
ipmnrp000| |ipprrp011||
ipmnrp000| |ipprrp010||
ipmnrp000| |ipprrp009||
ipmnrp000| |ipprrp016||
cgmn00000| |cgmn00000||
cgmn00001| |cgmn00001||
cgmn00002| |cgprrp023||
cgmn00002| |cgprrp020||
cgmn00002| |cgprrp019||
cgmn00002| |cgprrp018||
cgmn00002| |cgprrp017||
cgmn00002| |cgmnrp002||
cgmn00002| |cgprcs002||
cgmn00002| |cgprcs001||
cgmn00002| |cgmncs001||
cgmn00002| |cgmn00002||
cgmn00002| |cgmnmt001||
cgmn00002| |cgprmt005||
cgmn00002| |cgprmt011||
cgmn00002| |cgprmt013||
cgmn00002| |cgprmt014||
cgmn00002| |cgprmt015||
cgmn00003| |cgmn00003||
cgmncs000| |cgmncs000||
cgmncs000| |cgprcs002||
cgmncs002| |cgmncs002||
cgmncs002| |cgprcs002||
cgmncs002| |cgprcs003||
cgmncs002| |cgprcs004||
cgmnmt000| |cgprmt006||
cgmnmt000| |cgprmt004||
cgmnmt000| |cgprmt001||
cgmnmt000| |cgprmt010||
cgmnmt000| |cgmnmt000||
cgmnmt000| |cgprmt017||
cgmnmt000| |cgprmt008||
cgmnmt002| |cgprmt009||
cgmnmt002| |cgprmt007||
cgmnmt002| |cgprmt002||
cgmnmt002| |cgprmt012||
cgmnmt002| |cgmnmt002||
cgmnrp000| |cgprrp028||
cgmnrp000| |cgprrp022||
cgmnrp000| |cgprrp015||
cgmnrp000| |cgprrp014||
cgmnrp000| |cgprrp024||
cgmnrp000| |cgprrp009||
cgmnrp000| |cgprrp008||
cgmnrp000| |cgprrp005||
cgmnrp000| |cgprrp004||
cgmnrp000| |cgprrp003||
cgmnrp000| |cgprrp001||
cgmnrp000| |cgmnrp000||
cgmnrp000| |cgprrp031||
cgmnrp003| |cgmnrp003||
cgmnrp003| |cgprrp003||
cgmnrp003| |cgprrp025||
cgmnrp003| |cgprrp026||
inmn00000| |inmn00000||
inmncs000| |inprcs004||
inmncs000| |inprcs006||
inmncs000| |inprcs007||
inmncs000| |inprcs008||
inmncs000| |inprcs011||
inmncs000| |inprcs021||
inmncs000| |inprcs031||
inmncs000| |inprcs041||
inmncs000| |inprcs001||
inmncs000| |inmncs000||
inmncs000| |inmncs001||
inmnmt000| |inprmt002||
inmnmt000| |inprmt003||
inmnmt000| |inprmt004||
inmnmt000| |inprmt005||
inmnmt000| |inprmt006||
inmnmt000| |inprmt007||
inmnmt000| |inprmt008||
inmnmt000| |inprmt010||
inmnmt000| |inprmt011||
inmnmt000| |inprmt012||
inmnmt000| |inprmt013||
inmnmt000| |inprmt014||
inmnmt000| |inprmt015||
inmnmt000| |inprmt016||
inmnmt000| |inprmt017||
inmnmt000| |inprmt018||
inmnmt000| |inprmt019||
inmnmt000| |inprmt020||
inmnmt000| |inprmt021||
inmnmt000| |inprmt022||
inmnmt000| |inprmt023||
inmnmt000| |inprmt026||
inmnmt000| |inprmt036||
inmnmt000| |inprmt046||
inmnmt000| |inprmt056||
inmnmt000| |inprmt057||
inmnmt000| |inprmt066||
inmnmt000| |inprmt001||
inmnmt000| |inmnmt000||
inmnmt000| |inmnmt006||
inmnmt000| |inmnmt003||
inmnrp000| |inprrp041||
inmnrp000| |inprrp004||
inmnrp000| |inprrp003||
inmnrp000| |inmnrp002||
inmnrp000| |inmnrp001||
inmnrp000| |inmnrp000||
inmnrp000| |inprrp039||
inmnrp000| |inprrp038||
inmnrp000| |inprrp037||
inmnrp000| |inprrp036||
inmnrp000| |inprrp035||
inmnrp000| |inprrp034||
inmnrp000| |inprrp033||
inmnrp000| |inprrp032||
inmnrp000| |inprrp031||
inmnrp000| |inprrp030||
inmnrp000| |inprrp029||
inmnrp000| |inprrp028||
inmnrp000| |inprrp027||
inmnrp000| |inprrp026||
inmnrp000| |inprrp025||
inmnrp000| |inprrp024||
inmnrp000| |inprrp023||
inmnrp000| |inprrp022||
inmnrp000| |inprrp021||
inmnrp000| |inprrp020||
inmnrp000| |inprrp019||
inmnrp000| |inprrp018||
inmnrp000| |inprrp017||
inmnrp000| |inprrp016||
inmnrp000| |inprrp015||
inmnrp000| |inprrp014||
inmnrp000| |inprrp013||
inmnrp000| |inprrp012||
inmnrp000| |inprrp011||
inmnrp000| |inprrp010||
inmnrp000| |inprrp009||
inmnrp000| |inprrp008||
inmnrp000| |inprrp007||
inmnrp000| |inprrp006||
inmnrp000| |inprrp005||
inmnrp000| |inprrp040||
inmnrp000| |inprrp002||
inmnrp000| |inprrp042||
inmnrp000| |inprrp001||
inmnrp000| |inprrp044||
@@ -0,0 +1,66 @@

cpprrp002 E L E C T R O D O M E S T I C O S J U V I A R, S. A. Pag. 1
Sistema de Cuentas por Pagar 25/09/1997
Saldos por Antiguedad al 25/09/97 19:47
Valores en RD$
---------------------------------------------------------------------------------------------------------------------------
S u p l i d o r De 1 a 30 De 31 a 45 De 46 a 60 Mas de 60 Total
---------------------------------------------------------------------------------------------------------------------------
20-0001 AAAA WORLD IMPORT-EXPORT, INC. .00 .00 4,252.00 100,866.35 105,118.35
20-0002 DIPLOMAT TRADING, INC. .00 23,176.00 .00 26,919.00 50,095.00
20-0003 CARONEL ENTERPRISES, INC .00 (89.00) .00 .00 (89.00)
20-0004 IND. DE ELECTRODOM. (INDUSEL) .00 .00 .00 67,301.27 67,301.27
Totales --> .00 23,087.00 4,252.00 195,086.62 222,425.62
Porciento --> .00 10.38 1.91 87.71
P
@@ -0,0 +1,33 @@
FUNCTION selectOutput()
DEFINE
r_output STRING, -- output format option
r_action STRING, -- used to set preview option
r_filename STRING, -- filename of Report Design document (the .4rp filename)
preview INTEGER -- preview option TRUE/FALSE, to display report in Report Viewer
-- display form allowing user to select the .4rp filename and output options
#CLOSE WINDOW SCREEN
OPTIONS INPUT WRAP
OPEN WINDOW f_configuration WITH FORM "Configuration"
LET INT_FLAG=FALSE
LET preview = FALSE
INPUT BY NAME r_output
ON ACTION CANCEL
EXIT PROGRAM
ON ACTION CLOSE
EXIT PROGRAM
END INPUT
CLOSE WINDOW f_configuration
CALL ui.interface.refresh()
-- set preview variable to match output option r_action
IF r_action IS NOT NULL THEN
IF r_action == "preview" THEN
LET preview = TRUE
END IF
END IF
--return report name (filename of Report Design Document) and output option variables to be used to configure the report engine
RETURN r_output
END FUNCTION
@@ -0,0 +1,27 @@
database juviar
screen size 24 by 80
{
usuario [f000 ]
us_menu [f001 ]
opcion [f002 ]
descr_puesto [f003 ]
status_t [a]
us_crea [f004 ]
fech_crea [f005 ]
us_mod [f006 ]
fech_mod [f007 ]
}
end
tables
seg0001
attributes
f000 = seg0001.usuario;
f001 = seg0001.us_menu;
f002 = seg0001.opcion;
f003 = seg0001.descr_puesto;
a = seg0001.status_t;
f004 = seg0001.us_crea;
f005 = seg0001.fech_crea;
f006 = seg0001.us_mod;
f007 = seg0001.fech_mod;
end
@@ -0,0 +1,68 @@
{
-----------------------------------------------------------------------------
PROGRAMA : SEG000
OBJETIVO : Controlar el acceso de los usuarios a los sistemas de la
Empresa.
PROGRAMADOR : Ing. Juan Soto
FECHA : Marzo 17, 1994.
-----------------------------------------------------------------------------
}
FUNCTION seg000(usuarios,opt,p_menu)
DEFINE opt,paso CHAR(2)
DEFINE luz CHAR(20)
DEFINE p_menu CHAR(50)
DEFINE usuarios,responsabilidad CHAR(50)
DEFINE no_reg,p_opcion SMALLINT
CALL startlog("seguridad.log")
# WHENEVER ERROR CONTINUE
OPTIONS
ERROR LINE 24
# BUSCA EL ROLE del usuario
SELECT a.nom_puesto INTO responsabilidad FROM seg0003 a
WHERE a.usuario = usuarios
IF UPSHIFT(responsabilidad) != 'ADMINISTRATOR' THEN
SELECT a.cod_perfil,count(*) INTO p_opcion,no_reg FROM seg0001 a,seg0005 b
WHERE a.usuario = usuarios and
a.cod_perfil = b.cod_perfil and b.programa = p_menu
GROUP BY a.cod_perfil
SELECT DISTINCT a.usuario FROM seg0001 a,seg0005 b
WHERE a.usuario = usuarios and
a.cod_perfil = b.cod_perfil and
b.programa = p_menu
IF status = notfound THEN
LET paso = "NO"
ELSE
LET paso = "SI"
END IF
END IF
IF UPSHIFT(responsabilidad) = 'ADMINISTRATOR' THEN
LET paso = "SI"
END IF
RETURN paso
END FUNCTION
FUNCTION integridad()
DEFINE numero_msg INT,
bandera SMALLINT
IF sqlca.sqlcode < 0 THEN
LET numero_msg = sqlca.sqlcode
CALL msg(numero_msg)
DISPLAY numero_msg AT 23,70
LET bandera = 1
LET status = 0
SLEEP 2
RETURN
END IF
RETURN
END FUNCTION
@@ -0,0 +1,27 @@
database exterior
screen size 24 by 80
{
usuario [f000 ]
us_menu [f001 ]
opcion [f002 ]
descr_puesto [f003 ]
status_t [a]
us_crea [f004 ]
fech_crea [f005 ]
us_mod [f006 ]
fech_mod [f007 ]
}
end
tables
seg0001
attributes
f000 = seg0001.usuario;
f001 = seg0001.us_menu;
f002 = seg0001.opcion;
f003 = seg0001.descr_puesto;
a = seg0001.status_t;
f004 = seg0001.us_crea;
f005 = seg0001.fech_crea;
f006 = seg0001.us_mod;
f007 = seg0001.fech_mod;
end
@@ -0,0 +1,121 @@
{
PROGRAMA : SYS00000
OBJETIVO : Menu principal Informatica
PROGRAMADOR : Tadeo A. Ferreras
FECHA REALIZACION : Agosto 3, 1994.
}
DATABASE marmotech
MAIN
DEFER INTERRUPT
CALL opciones_sys00000()
END MAIN
FUNCTION opciones_sys00000()
DEFINE opt char(2)
DEFINE p_user CHAR(9)
DEFINE luz CHAR(5)
OPTIONS
PROMPT LINE 8,
ERROR LINE 24
CALL pantalla()
DISPLAY " Menu Principal " AT 6,22
DISPLAY "sys00000" AT 4,3 ATTRIBUTE(YELLOW)
DISPLAY "1- Seguridad semn00000" AT 10,6
DISPLAY "2- Mensajes de Errores msg00000 " AT 11,6
DISPLAY "S- Retorna Menu Anterior" AT 19,6 ATTRIBUTE(YELLOW)
LABEL vuelve:
PROMPT "OPCION: " attribute(yellow) FOR OPT
LET opt = UPSHIFT(opt) clipped
IF opt != "S" THEN
SELECT unique usuario INTO p_user FROM seg0001
WHERE usuario = user
CALL seg000(p_user,opt,"gemn00000") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
GOTO vuelve
END IF
END IF
CASE
WHEN OPT = "1"
RUN "fglrun %FGLRUN%\4gidir\semn00000"
CLEAR SCREEN
CALL opciones_sys00000()
WHEN OPT = "2"
RUN "fglrun %FGLPROG%\4gidir\msg00000"
CLEAR SCREEN
CALL opciones_sys00000()
WHEN OPT = "S" or OPT = "s"
RETURN
OTHERWISE
CALL opciones_sys00000()
END CASE
END FUNCTION
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5) ,
p_compania RECORD LIKE companias.*,
l SMALLINT
LET fecha = today USING "dd/mm/yy"
LET hora = time
SELECT * INTO p_compania.*
FROM companias
LET l = (80 - LENGTH(p_compania.nombre CLIPPED)) / 2
DISPLAY p_compania.nombre CLIPPED AT 4, l
ATTRIBUTE (REVERSE,YELLOW)
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
DISPLAY "Menu Principal de Informatica" AT 5,25
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION
{
-----------------------------------------------------------------------------
PROGRAMA : SEG000
OBJETIVO : Controlar el acceso de los usuarios a los sistemas de la
Empresa.
PROGRAMADOR : Ing. Juan Soto
FECHA : Marzo 17, 1994.
-----------------------------------------------------------------------------
}
FUNCTION seg000(usuarios,opt,p_menu)
DEFINE opt CHAR(2)
DEFINE luz CHAR(4)
DEFINE p_menu CHAR(9)
DEFINE usuarios CHAR(9)
DEFINE no_reg,p_opcion,numero SMALLINT
WHENEVER ERROR CONTINUE
OPTIONS
ERROR LINE 24
LET luz = "azul"
LET p_opcion = opt
SELECT count(*) INTO no_reg FROM seg0001
WHERE usuario = user
IF no_reg = 1 THEN
SELECT opcion INTO p_opcion FROM seg0001
WHERE usuario = user
END IF
IF p_opcion != 99 THEN
SELECT UNIQUE a.usuario FROM seg0001 a
WHERE a.usuario = usuarios and
a.opcion = p_opcion and
a.us_menu = p_menu
IF status = notfound THEN
LET status = 0
LET luz = "roja"
END IF
END IF
IF p_opcion = 99 THEN
LET luz = "azul"
END IF
RETURN luz
END FUNCTION
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,53 @@
{
============================================================================
PROGRAMA : TERMOMETRO
OBJETIVO : DESPLEGAR TERMOMETRO PORCENTUAL PARA LOS REPORTES
PROGRAMADOR : JUAN F. SOTO
FECHA : MARZO 10, 1995
============================================================================
}
DATABASE exterior
GLOBALS
DEFINE cuenta1,p,cuenta SMALLINT
END GLOBALS
FUNCTION termometro(registros,primera)
DEFINE registros INTEGER
DEFINE i,veces SMALLINT
DEFINE porcentaje,vez DECIMAL(8,2)
DEFINE primera CHAR(1)
IF primera = "S" THEN
LET porcentaje = 0
LET primera = "N"
LET p = 27
CALL fgl_drawbox(3,8,19,18)
CALL fgl_drawbox(3,35,19,26)
IF registros <= 33 THEN
FOR i = 1 TO 33
LET cuenta1 = 1
DISPLAY " " AT 20,p ATTRIBUTE(REVERSE,BOLD)
LET p = p + 1
END FOR
END IF
END IF
IF registros > 33 THEN
LET vez = registros / 33
LET veces = vez USING "#####"
IF cuenta >= veces THEN
LET cuenta = 0
IF p <= 58 THEN
DISPLAY " " AT 20,p ATTRIBUTE(REVERSE,BOLD)
END IF
LET p = p + 1
END IF
LET porcentaje = (cuenta1/registros) * 100
DISPLAY porcentaje using "###","%" AT 20,19 ATTRIBUTE(BOLD)
LET cuenta = cuenta + 1
LET cuenta1 = cuenta1 + 1
END IF
END FUNCTION
@@ -0,0 +1,53 @@
{
============================================================================
PROGRAMA : TERMOMETRO
OBJETIVO : DESPLEGAR TERMOMETRO PORCENTUAL PARA LOS REPORTES
PROGRAMADOR : JUAN F. SOTO
FECHA : MARZO 10, 1995
============================================================================
}
DATABASE exterior
GLOBALS
DEFINE cuenta1,p,cuenta SMALLINT
END GLOBALS
FUNCTION termometro(registros,primera)
DEFINE registros INTEGER
DEFINE i,veces SMALLINT
DEFINE porcentaje,vez DECIMAL(8,2)
DEFINE primera CHAR(1)
IF primera = "S" THEN
LET porcentaje = 0
LET primera = "N"
LET p = 27
CALL fgl_drawbox(3,8,19,18)
CALL fgl_drawbox(3,35,19,26)
IF registros <= 33 THEN
FOR i = 1 TO 33
LET cuenta1 = 1
DISPLAY " " AT 20,p ATTRIBUTE(REVERSE,BOLD)
LET p = p + 1
END FOR
END IF
END IF
IF registros > 33 THEN
LET vez = registros / 33
LET veces = vez USING "#####"
IF cuenta >= veces THEN
LET cuenta = 0
IF p <= 58 THEN
DISPLAY " " AT 20,p ATTRIBUTE(REVERSE,BOLD)
END IF
LET p = p + 1
END IF
LET porcentaje = (cuenta1/registros) * 100
DISPLAY porcentaje using "###","%" AT 20,19 ATTRIBUTE(BOLD)
LET cuenta = cuenta + 1
LET cuenta1 = cuenta1 + 1
END IF
END FUNCTION

Some files were not shown because too many files have changed in this diff Show More