147 lines
4.3 KiB
Plaintext
147 lines
4.3 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : NOPRRP003
|
|
OBJETIVO : Reporte de Herramientas por Empleado (adtb00057)
|
|
DESARROLLADOR : Ing. Elvis Garcia
|
|
-------------------------------------------------------------------------------
|
|
Version .4rp: el reporte NO formatea columnas. Solo hace PRINTX; el diseno
|
|
visual vive en noprrp003.4rp (Report Studio).
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
|
|
GLOBALS "noprgb000.4gl"
|
|
|
|
DEFINE inv DYNAMIC ARRAY OF RECORD
|
|
num_emp INT,
|
|
nombre_emp STRING,
|
|
departamento SMALLINT,
|
|
nom_dpto STRING,
|
|
fecha DATE,
|
|
codigo STRING,
|
|
descripcion STRING,
|
|
documento STRING,
|
|
cantidad DECIMAL(18,5)
|
|
END RECORD
|
|
|
|
DEFINE p_num_emp_desde, p_num_emp_hasta INT
|
|
DEFINE p_departamento SMALLINT
|
|
DEFINE p_nom_desde, p_nom_hasta STRING
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
CONNECT TO "smarmotech" USER usuarios USING clave
|
|
SELECT a.* INTO p_companias.* FROM companias a
|
|
CALL noprrp003()
|
|
END MAIN
|
|
|
|
FUNCTION noprrp003()
|
|
DEFINE handler om.SaxDocumentHandler
|
|
DEFINE r_filename STRING
|
|
DEFINE r_output STRING
|
|
DEFINE preview INT
|
|
DEFINE idx INT
|
|
DEFINE query STRING
|
|
DEFINE criterio STRING
|
|
|
|
OPEN FORM f FROM "nofmrp003"
|
|
DISPLAY FORM f
|
|
|
|
CALL carga_deptos()
|
|
CONSTRUCT criterio ON a.num_emp, e.departamento
|
|
FROM num_emp, departamento
|
|
|
|
IF int_flag THEN
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
LET query =
|
|
"SELECT a.num_emp, ",
|
|
" RTRIM(e.nom1_emp)+' '+RTRIM(ISNULL(e.apell1_emp,'')), ",
|
|
" e.departamento, ",
|
|
" RTRIM(ISNULL(d.nom_dpto,'')), ",
|
|
" a.fecha, a.codigo, ",
|
|
" RTRIM(ISNULL(b.descrip_esp,'')), ",
|
|
" a.documento, a.cantidad ",
|
|
" FROM adtb00057 a ",
|
|
" LEFT JOIN adtb00003 e ON e.num_emp = a.num_emp ",
|
|
" LEFT JOIN adtb00001 d ON d.departamento = e.departamento ",
|
|
" LEFT JOIN irtb00002 b ",
|
|
" ON CAST(b.cod_n AS VARCHAR(10))+'-'+ ",
|
|
" CAST(b.cod_grupo AS VARCHAR(10))+'-'+ ",
|
|
" CAST(b.cod_tipo AS VARCHAR(10))+'-'+ ",
|
|
" CAST(b.cod_sec AS VARCHAR(10)) = a.codigo ",
|
|
" WHERE ", criterio CLIPPED, " AND e.status_t is null ",
|
|
" ORDER BY e.departamento, a.num_emp, a.fecha "
|
|
|
|
PREPARE p_rep FROM query
|
|
DECLARE cur_rep CURSOR FOR p_rep
|
|
|
|
CALL inv.clear()
|
|
LET idx = 1
|
|
FOREACH cur_rep INTO inv[idx].*
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
|
|
IF idx > 1 THEN
|
|
LET r_filename = "noprrp003.4rp"
|
|
IF fgl_report_loadCurrentSettings(r_filename) THEN
|
|
LET preview = 1
|
|
CALL selectoutput2() RETURNING r_output
|
|
CALL fgl_report_selectDevice(r_output)
|
|
CALL fgl_report_selectPreview(preview)
|
|
LET handler = fgl_report_commitCurrentSettings()
|
|
END IF
|
|
|
|
START REPORT rep_herr TO XML HANDLER handler
|
|
FOR idx = 1 TO inv.getLength()
|
|
OUTPUT TO REPORT rep_herr(inv[idx].*)
|
|
END FOR
|
|
FINISH REPORT rep_herr
|
|
ELSE
|
|
CALL fgl_winmessage("INFO","NO EXISTEN REGISTROS","INFO")
|
|
END IF
|
|
END FUNCTION
|
|
|
|
FUNCTION carga_deptos()
|
|
DEFINE cb ui.ComboBox
|
|
DEFINE cod SMALLINT
|
|
DEFINE nom STRING
|
|
LET cb = ui.ComboBox.forName("departamento")
|
|
CALL cb.clear()
|
|
CALL cb.addItem(NULL, "TODOS")
|
|
DECLARE cur_dp CURSOR FOR
|
|
SELECT departamento, nom_dpto FROM adtb00001
|
|
WHERE status_t IS NULL ORDER BY nom_dpto
|
|
FOREACH cur_dp INTO cod, nom
|
|
CALL cb.addItem(cod, nom)
|
|
END FOREACH
|
|
END FUNCTION
|
|
|
|
REPORT rep_herr(x)
|
|
DEFINE x RECORD
|
|
num_emp INT,
|
|
nombre_emp STRING,
|
|
departamento SMALLINT,
|
|
nom_dpto STRING,
|
|
fecha DATE,
|
|
codigo STRING,
|
|
descripcion STRING,
|
|
documento STRING,
|
|
cantidad DECIMAL(18,5)
|
|
END RECORD
|
|
|
|
ORDER EXTERNAL BY x.num_emp
|
|
|
|
FORMAT
|
|
|
|
BEFORE GROUP OF x.num_emp
|
|
PRINTX x.num_emp, x.nombre_emp, x.departamento, x.nom_dpto
|
|
|
|
ON EVERY ROW
|
|
PRINTX x.fecha, x.codigo, x.descripcion, x.documento, x.cantidad
|
|
|
|
|
|
END REPORT |