Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,206 @@
|
||||
{
|
||||
PROGRAMA : prprmt024
|
||||
OBJETIVO : Flujo de Produccion
|
||||
PROGRAMADOR : ING. ELVIS GARCÍA
|
||||
FECHA : N/A
|
||||
}
|
||||
|
||||
IMPORT util
|
||||
IMPORT FGL fgldialog
|
||||
|
||||
SCHEMA smarmotech
|
||||
|
||||
DEFINE usuarios, clave STRING
|
||||
DEFINE pcompanias RECORD LIKE companias.*
|
||||
|
||||
DEFINE info RECORD
|
||||
numero_fp INT,
|
||||
num_op INT,
|
||||
fecha_compromiso DATE,
|
||||
depto STRING
|
||||
END RECORD
|
||||
|
||||
DEFINE detalle_produccion DYNAMIC ARRAY OF RECORD
|
||||
cod_n INT,
|
||||
cod_grupo INT,
|
||||
cod_tipo INT,
|
||||
cod_sec INT,
|
||||
cantidad DECIMAL(12,2),
|
||||
depto2 STRING
|
||||
END RECORD
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
SELECT * INTO pcompanias.* FROM companias
|
||||
|
||||
CALL prprmt023()
|
||||
END MAIN
|
||||
|
||||
FUNCTION prprmt023()
|
||||
|
||||
OPEN WINDOW w1 WITH FORM "prfmmt024"
|
||||
CALL fgl_settitle("Flujo orden de produccion")
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
CLEAR FORM
|
||||
CALL add_flow()
|
||||
COMMAND "Consultar"
|
||||
CLEAR FORM
|
||||
CALL consult_flow()
|
||||
COMMAND "Salir"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
|
||||
CLOSE WINDOW w1
|
||||
|
||||
END FUNCTION
|
||||
|
||||
|
||||
---------Agregar flujo a la orden de produccion-----------
|
||||
FUNCTION add_flow()
|
||||
|
||||
INPUT BY NAME info.num_op, info.depto, info.fecha_compromiso
|
||||
ATTRIBUTES(UNBUFFERED, WITHOUT DEFAULTS)
|
||||
|
||||
BEFORE INPUT
|
||||
CALL departamentos(1)
|
||||
|
||||
AFTER FIELD num_op
|
||||
SELECT * FROM prtb00038 WHERE orden_produccion = info.num_op
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
NEXT FIELD num_op
|
||||
END IF
|
||||
|
||||
AFTER INPUT
|
||||
|
||||
IF info.depto IS NULL THEN
|
||||
NEXT FIELD info_depto
|
||||
END IF
|
||||
|
||||
IF info.fecha_compromiso IS NULL THEN
|
||||
NEXT FIELD fecha_compromiso
|
||||
END IF
|
||||
|
||||
CALL flow_detalle()
|
||||
|
||||
END INPUT
|
||||
|
||||
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION flow_detalle()
|
||||
|
||||
DEFINE detalle_mirror DYNAMIC ARRAY OF RECORD
|
||||
cod_n INT,
|
||||
cod_grupo INT,
|
||||
cod_tipo INT,
|
||||
cod_sec INT,
|
||||
cantidad DECIMAL(12,2),
|
||||
depto2 STRING
|
||||
END RECORD
|
||||
|
||||
DEFINE idx INT
|
||||
|
||||
INPUT ARRAY detalle_produccion FROM record2.*
|
||||
BEFORE INPUT
|
||||
CALL search_data()
|
||||
CALL departamentos(2)
|
||||
|
||||
AFTER INPUT
|
||||
|
||||
{EN ESTA PARTE HACER UN CONTROL SOBRE LA CANTIDAD DE LOS ITEMS}
|
||||
|
||||
CALL save_data()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
END INPUT
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION search_data()
|
||||
DEFINE idx INT
|
||||
|
||||
DECLARE buscar CURSOR FOR
|
||||
SELECT cod_n, cod_grupo, cod_tipo, cod_sec, cantidad,0
|
||||
FROM prtb00039
|
||||
WHERE orden_produccion = info.num_op
|
||||
|
||||
LET idx = 1
|
||||
|
||||
FOREACH buscar INTO detalle_produccion[idx].*
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION save_data()
|
||||
|
||||
DEFINE idx INT
|
||||
DEFINE flags RECORD
|
||||
op INT,
|
||||
fp INT
|
||||
END RECORD
|
||||
|
||||
FOR idx = 1 TO detalle_produccion.getLength()
|
||||
|
||||
IF detalle_produccion[idx].cod_n IS NOT NULL THEN
|
||||
|
||||
SELECT num_op, secuencia_fp INTO flags.op, flags.fp
|
||||
FROM prtb00042 WHERE num_op = info.num_op
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
END IF
|
||||
|
||||
END FOR
|
||||
|
||||
|
||||
END FUNCTION
|
||||
|
||||
|
||||
---------Consultar flujo de la orden de produccion-------------
|
||||
FUNCTION consult_flow()
|
||||
|
||||
END FUNCTION
|
||||
|
||||
|
||||
|
||||
|
||||
FUNCTION departamentos(caso INT )
|
||||
DEFINE pdepartamento SMALLINT,pdescripcion CHAR(30),
|
||||
kdepto ui.ComboBox
|
||||
|
||||
IF caso = 1 THEN
|
||||
LET kdepto = ui.ComboBox.forName("formonly.depto")
|
||||
ELSE
|
||||
LET kdepto = ui.ComboBox.forName("formonly.depto2")
|
||||
END IF
|
||||
|
||||
CALL kdepto.clear()
|
||||
|
||||
DECLARE busca_dpto CURSOR FOR
|
||||
SELECT a.departamento,a.nom_dpto FROM adtb00001 a
|
||||
WHERE a.status_t IS NULL
|
||||
ORDER BY a.nom_dpto
|
||||
|
||||
FOREACH busca_dpto INTO pdepartamento,pdescripcion
|
||||
CALL kdepto.additem(pdepartamento,pdescripcion)
|
||||
END FOREACH
|
||||
|
||||
END FUNCTION
|
||||
|
||||
Reference in New Issue
Block a user