Files
MBS/PROYECTOS/indir/inprrp008.4gl
T

196 lines
5.4 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : INPRRP008
OBJETIVO : TIPOS DE MOVIMIENTOS
PROGRAMADOR : Ing. Betania Guerrero Perez
FECHA REALIZACION : Septiembre 29, 1992
-------------------------------------------------------------------------------
}
GLOBALS "inprgb000.4gl"
MAIN
DEFER INTERRUPT
SELECT * INTO p_companias.* FROM companias
CALL inprrp008()
END MAIN
FUNCTION inprrp008()
DEFINE tipo RECORD
cod_mov LIKE intb00005.cod_mov,
descrip_mov LIKE intb00005.descrip_mov,
status_mov LIKE intb00005.status_mov,
cuenta_1 LIKE intb00005.cuenta_1,
cuenta_2 LIKE intb00005.cuenta_2,
cuenta_3 LIKE intb00005.cuenta_3
END RECORD
WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
CLEAR SCREEN
OPEN FORM infmrp008 FROM "infmrp008"
DISPLAY FORM infmrp008
CALL pantalla()
DISPLAY "inprrp008" AT 4,3
DISPLAY "Tipos de Movimientos" AT 6,30
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
INPUT BY NAME decide
AFTER FIELD decide
IF decide IS NULL THEN
NEXT FIELD decide
END IF
END INPUT
CONSTRUCT criterio ON intb00005.cod_mov FROM cod_mov
IF decide = "A" THEN
LET SELEC =
"SELECT cod_mov,descrip_mov,status_mov,cuenta_1,cuenta_2,cuenta_3 ",
"FROM intb00005 ",
"WHERE ",criterio clipped," AND status_t is null ORDER BY 3,2"
ELSE
LET SELEC =
"SELECT cod_mov,descrip_mov,status_mov,cuenta_1,cuenta_2,cuenta_3 ",
"FROM intb00005 ",
"WHERE ",criterio clipped," AND status_t is null ORDER BY 3,1"
END IF
PREPARE busca FROM selec
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DECLARE accion CURSOR FOR busca
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
START REPORT movimiento TO "C:\\archivo"
FOREACH accion INTO tipo.*
IF status = NOTFOUND THEN
EXIT FOREACH
ELSE
OUTPUT TO REPORT movimiento(tipo.*)
END IF
END FOREACH
FINISH REPORT movimiento
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT movimiento(x)
DEFINE x RECORD
cod_mov LIKE intb00005.cod_mov,
descrip_mov LIKE intb00005.descrip_mov,
status_mov LIKE intb00005.status_mov,
cuenta_1 LIKE intb00005.cuenta_1,
cuenta_2 LIKE intb00005.cuenta_2,
cuenta_3 LIKE intb00005.cuenta_3
END RECORD
DEFINE doble_on CHAR(2)
DEFINE doble_off CHAR(2)
DEFINE negrillas_on CHAR(2)
DEFINE negrillas_off CHAR(2)
DEFINE comp_on CHAR(3)
DEFINE comp_off CHAR(2)
DEFINE doce CHAR(3)
DEFINE hora CHAR(5)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 1
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 hora = time
LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT ASCII 27, ASCII 80
PRINT COLUMN 1 ,comp_off,doce
PRINT COLUMN 1, "inprrp008",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 73, "Pag. ",pageno using "###"
PRINT COLUMN 21, "Sistema de Inventario de Materia Prima",
COLUMN 73, today using "dd/mm/yyyy"
PRINT COLUMN 30, "Tipos de Movimientos",
COLUMN 76, hora
SKIP 1 LINE
PRINT COLUMN 1, "----------------------------------------------------",
"----------------------------"
PRINT COLUMN 1, "Codigo",
COLUMN 9, "Descripcion del Movimiento",
COLUMN 51, "Cuenta_1",
COLUMN 61, "Cuenta_2",
COLUMN 71, "Cuenta_3"
PRINT COLUMN 1, "----------------------------------------------------",
"----------------------------"
BEFORE GROUP OF x.status_mov
IF x.status_mov = 1 THEN
PRINT "ENTRADAS"
ELSE
PRINT "SALIDAS"
END IF
ON EVERY ROW
PRINT COLUMN 3, x.cod_mov using "<<",
COLUMN 9, x.descrip_mov,
COLUMN 52, x.cuenta_1,
COLUMN 62, x.cuenta_2,
COLUMN 72, x.cuenta_3
AFTER GROUP OF x.status_mov
SKIP 1 LINE
PRINT COLUMN 3, "Total de Registros Por Status = ", GROUP COUNT(*)
USING "####"
SKIP 1 LINE
ON LAST ROW
SKIP 1 LINE
PRINT COLUMN 3, "Total de Registros Impresos = ", COUNT(*) USING "####"
PRINT COLUMN 3, ASCII 27, ASCII 80
PAGE TRAILER
PRINT COLUMN 3, "STATUS: 1 = POSITIVO 2 = NEGATIVO"
PRINT COLUMN 3, ASCII 27, ASCII 80
END REPORT