Files

201 lines
6.3 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : IRPRRP010
OBJETIVO : REPORTE EXISTENCIAS
PROGRAMADOR : Ing. Juan Fco. Soto.
FECHA REALIZACION : Marzo 1, 1993.
-------------------------------------------------------------------------------
}
GLOBALS "irprgb000.4gl"
MAIN
DEFER INTERRUPT
SELECT * INTO p_companias.* FROM companias
CALL irprrp010()
END MAIN
FUNCTION irprrp010()
DEFINE mes CHAR(2)
DEFINE ano_c CHAR(4)
DEFINE idx_ant,idx_cos,idx_act SMALLINT
DEFINE salir,primera CHAR(1)
DEFINE balance_in DECIMAL(12,2)
DEFINE existe RECORD
cod_n LIKE intb00001.cod_n,
cod_grupo LIKE intb00001.cod_grupo,
cod_tipo LIKE intb00001.cod_tipo,
cod_sec LIKE intb00001.cod_sec,
descrip_esp LIKE intb00001.descrip_esp,
unidad_med LIKE intb00001.unidad_med,
costo LIKE intb00013.costo_st
END RECORD
DEFINE select_cost,select_act,select_ant CHAR(1000)
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM infmrp010 FROM "irfmrp010"
DISPLAY FORM infmrp010
CALL pantalla()
DISPLAY "irprrp010" AT 4,3
DISPLAY "Repuestos Sin Compra" AT 6,30
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
LET ano_c = year(datos_cons.fech_fi)
CONSTRUCT criterio ON d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec
FROM cod_n,cod_grupo,cod_tipo,cod_sec
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET select_cost =
"SELECT d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,d.descrip_esp, ",
" d.unidad_med,MAX(b.precio) ",
"FROM intb00001 d,OUTER cotb00015 b ",
"WHERE ",criterio CLIPPED," AND d.cod_n IN (5,8) AND d.cod_n=b.cod_n and ",
" d.cod_grupo = b.cod_grupo and d.cod_tipo = b.cod_tipo and ",
" d.cod_sec = b.cod_sec and d.status_t is null AND b.precio > 0 ",
"GROUP BY 1,2,3,4,5,6 ORDER BY 1,2,3,4 "
DISPLAY "<< Estoy Buscando Los Costos Actuales >>"
AT 17,14 ATTRIBUTE (REVERSE,BOLD)
PREPARE busca_costo FROM select_cost
DECLARE material_costo SCROLL CURSOR FOR busca_costo
OPEN material_costo
DISPLAY " "
AT 17,14
LET selec1 =
"SELECT COUNT(*) FROM intb00001 d,OUTER cotb00015 b ",
"WHERE ",criterio CLIPPED," AND d.cod_n IN (5,8) AND d.cod_n=b.cod_n and ",
" d.cod_grupo = b.cod_grupo and d.cod_tipo = b.cod_tipo and ",
" d.cod_sec = b.cod_sec and d.status_t is null AND b.precio > 0 "
PREPARE comando1 FROM selec1
DECLARE busca1 CURSOR FOR comando1
OPEN busca1
FETCH busca1 INTO regi
LET p_param = "S"
DISPLAY "<< Estoy Buscando Los Costos Actuales >>"
START REPORT reporte_10 TO "C:\\archivo"
DISPLAY "<< Reporte Generandose.. Espere Por Favor"
AT 17,14 ATTRIBUTE (REVERSE,BOLD)
WHILE status != notfound
FETCH material_costo INTO existe.*
IF status = notfound THEN
EXIT WHILE
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
CALL termometro(regi,p_param)
LET p_param = "N"
IF existe.costo IS NULL THEN
LET existe.costo = 0
OUTPUT TO REPORT reporte_10(existe.*)
END IF
END WHILE
FINISH REPORT reporte_10
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT reporte_10(x)
DEFINE x RECORD
cod_n LIKE intb00001.cod_n,
cod_grupo LIKE intb00001.cod_grupo,
cod_tipo LIKE intb00001.cod_tipo,
cod_sec LIKE intb00001.cod_sec,
descrip_esp LIKE intb00001.descrip_esp,
unidad_med LIKE intb00001.unidad_med,
costo LIKE intb00013.costo_st
END RECORD
DEFINE total_c,total_p DECIMAL (12,2)
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 hora CHAR(5)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
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
PRINT COLUMN 1, ASCII 27,ASCII 80
PRINT COLUMN 1, "irprrp010",
COLUMN 18, " M A R M O T E C H S. A.",
COLUMN 75, "Pag. ",pageno using "###"
PRINT COLUMN 1,
COLUMN 18, " Sistema de Inventario de Repuestos",
COLUMN 75, today using "dd/mm/yy"
PRINT COLUMN 18, " Repuestos Sin Compras ",
COLUMN 78, hora
SKIP 1 LINES
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------"
PRINT COLUMN 1, "Codigo",
COLUMN 12, "Descripcion",
COLUMN 75, "Precio"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------"
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 "&&&",
" ",x.descrip_esp CLIPPED,
COLUMN 43, x.unidad_med CLIPPED,
COLUMN 67, x.costo USING "#,###,###.####"
ON LAST ROW
PRINT COLUMN 1, "==================================================",
"=================================================="
PRINT COLUMN 4, "Total Registros Impresos =", count(*) USING "<<<<"
PRINT COLUMN 1, "==================================================",
"=================================================="
PRINT COLUMN 4, ASCII 27, ASCII 80
END REPORT