Files
MBS/PROYECTO/nodir/noprrp004.4gl
T

193 lines
5.8 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : NOPRRP004
OBJETIVO : Validacion codigos de movimientos con su descripcion
PROGRAMADOR : Tadeo A. Ferreras
FECHA REALIZACION : Agosto 25, 1993
-------------------------------------------------------------------------------
}
GLOBALS "noprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CONNECT to "smarmotech" USER usuarios USING clave
SELECT * INTO p_companias.* FROM companias
--LET usuarios = 'bisaac'
CALL noprrp004()
END MAIN
FUNCTION noprrp004()
## SE DEFINE EL REGISTRO DE BUSQUEDA CON LOS CAMPOS NECESARIOS PARA EL REPORTE
DEFINE list_mov RECORD
cod_mov LIKE notb00002.cod_mov,
primer_enc LIKE notb00002.primer_enc,
segundo_enc LIKE notb00002.segundo_enc,
tercer_enc LIKE notb00002.tercer_enc ,
descrip_mov LIKE notb00002.descrip_mov,
tipo_mov LIKE notb00002.tipo_mov,
clase_mov LIKE notb00002.clase_mov,
cantidad_cia LIKE notb00002.cantidad_cia,
cantidad_emp LIKE notb00002.cantidad_emp
END RECORD
WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
CLEAR SCREEN
OPEN FORM nofmrp004 FROM "nofmrp004"
DISPLAY FORM nofmrp004
CALL pantalla()
DISPLAY "noprrp004" AT 4,3
DISPLAY "Catalogo de Movimientos" AT 6,28
## INDICA EL PAPEL NECESARIO PARA IMPRIMIR EL REPORTE. 1 - PAPEL 9 1/2 X 11
## 2 - PAPEL 14 7/8 X 11
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CONSTRUCT criterio ON a.cod_mov FROM cod_mov
## SE SELECCIONAN LOS CAMPOS NECESARIOS PARA EL REPORTE
LET SELEC =
"SELECT a.cod_mov,a.primer_enc,a.segundo_enc,tercer_enc, ",
"a.descrip_mov,a.tipo_mov,a.clase_mov,a.cantidad_cia,a.cantidad_emp ",
" FROM notb00002 a ",
" WHERE a.status_t IS NULL AND ",criterio CLIPPED, " ORDER BY 1,5"
DISPLAY "Buscando Informacion ... Espere Por Favor" AT 19,14
ATTRIBUTE (REVERSE,BOLD)
## AQUI SE PREPARA LA INFORMACION SELECCIONADA
PREPARE busca FROM selec
## DECLARACION DEL CURSOR PARA BUSCAR LA INFORMACION SELECCIONADA
DECLARE accion CURSOR FOR busca
DISPLAY " " AT 19,14
START REPORT movim TO "C:\\archivo"
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
## AQUI SE BUSCA LA INFORMACION DE LOS CAMPOS DEL REGISTRO PARA DARLE
## SALIDA AL REPORTE
FOREACH accion INTO list_mov.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
OUTPUT TO REPORT movim(list_mov.*)
END FOREACH
FINISH REPORT movim
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
## AQUI SE DEFINE EL REGISTRO DE IMPRESION CON LOS CAMPOS NECESARIOS PARA
## EL REPORTE
REPORT movim(x)
DEFINE x RECORD
cod_mov LIKE notb00002.cod_mov,
primer_enc LIKE notb00002.primer_enc,
segundo_enc LIKE notb00002.segundo_enc,
tercer_enc LIKE notb00002.tercer_enc ,
descrip_mov LIKE notb00002.descrip_mov,
tipo_mov LIKE notb00002.tipo_mov,
clase_mov LIKE notb00002.clase_mov,
cantidad_cia LIKE notb00002.cantidad_cia,
cantidad_emp LIKE notb00002.cantidad_emp
END RECORD
## DEFINICION DE LAS VARIABLES DE IMPRESION
DEFINE doble_on CHAR(2)
DEFINE doble_off CHAR(2)
DEFINE negrillas_on CHAR(2)
DEFINE negrillas_off CHAR(2)
DEFINE comp_on CHAR(2)
DEFINE comp_off CHAR(2)
DEFINE doce CHAR(2)
DEFINE normal CHAR(2)
DEFINE hora CHAR(5)
DEFINE l SMALLINT
DEFINE varia CHAR(12)
OUTPUT
## DEFINICION DE LOS MARGENES DE IMPRESION
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 4
FORMAT
PAGE HEADER
LET doble_on = ASCII 14
LET doble_off = ASCII 20
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
LET hora = time
## SE CALCULA LA LONGITUD DE LA VARIABLE -VARIA-
LET l = (82 - LENGTH(p_companias.nombre CLIPPED))/2
## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS
PRINT comp_off
PRINT COLUMN 2, "noprrp004",
COLUMN l, p_companias.nombre CLIPPED,
COLUMN 75, "Pag. ",pageno using "###"
PRINT COLUMN 33, "Sistema de Nomina",
COLUMN 75, today using "dd/mm/yy"
PRINT COLUMN 26, "Validacion de los movimientos",
COLUMN 78, hora
PRINT COLUMN 1, "---------------------------------------------------",
"--------------------------------"
PRINT COLUMN 63, "Cantidad",
COLUMN 75, "Cantidad"
PRINT COLUMN 2, "Movimiento",
COLUMN 50, "Tipo",
COLUMN 55, "Clase",
COLUMN 63, "Compania",
COLUMN 75, "Empleado"
PRINT COLUMN 1, "---------------------------------------------------",
"--------------------------------"
SKIP 1 LINE
## AQUI SE INDICA LA IMPRESION DEL DETALLE
ON EVERY ROW
PRINT COLUMN 2,x.cod_mov USING "###"," ",x.descrip_mov CLIPPED,
COLUMN 52,x.tipo_mov CLIPPED,
COLUMN 57,x.clase_mov CLIPPED,
COLUMN 60,x.cantidad_cia USING "###,###.##",
COLUMN 72,x.cantidad_emp USING "###,###.##"
ON LAST ROW
skip 1 line
PRINT COLUMN 2, "Total de Registros Impresos = ", count(*) using "###"
END REPORT