primer commit subida
This commit is contained in:
@@ -0,0 +1,257 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : PRPRRP009
|
||||
OBJETIVO : Reporte Diario de Manofactura
|
||||
PROGRAMADOR : Tadeo A. Ferreras
|
||||
FECHA REALIZACION : Oct. 04, 1994
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE mes_d CHAR(10)
|
||||
DEFINE ano,mes SMALLINT
|
||||
DEFINE ano1,ano2 CHAR(4)
|
||||
DEFINE fecha,fecha1,fecha3,fecha4 DATE
|
||||
DEFINE cantidad2,cantidad3,cantidad4,total DECIMAL(12,2)
|
||||
DEFINE fecha_inicial,fecha_final DATE
|
||||
FUNCTION prprrp009()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
DEFINE prt_datos9 RECORD
|
||||
nomenclatura CHAR(10),
|
||||
cod_prod LIKE cttb00001.cod_prod,
|
||||
factor LIKE prtb00006.fact_conv,
|
||||
fecha DATE,
|
||||
cantidad INTEGER
|
||||
END RECORD
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM prfmrp009 FROM "prfmrp009"
|
||||
DISPLAY FORM prfmrp009
|
||||
CALL pantalla()
|
||||
DISPLAY "prprrp009" AT 4,3
|
||||
DISPLAY "Reporte Diario de Manofactura" AT 6,25
|
||||
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
########### Captura de valores para el criterio de busqueda ############
|
||||
INPUT BY NAME fecha
|
||||
|
||||
AFTER FIELD fecha
|
||||
IF fecha IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha
|
||||
END IF
|
||||
LET mes = MONTH(fecha)
|
||||
LET ano1 = YEAR(fecha) USING "&&&&"
|
||||
|
||||
SELECT a.fecha_inicio INTO fecha1 FROM prdtable a
|
||||
WHERE a.mes = mes AND a.ano = ano1
|
||||
|
||||
END INPUT
|
||||
|
||||
########### Facilidad para cancelar la variacioncon la tecla DELETE ####
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT c.nomenclatura,b.cod_prod,a.fact_conv,b.fecha,SUM(b.cantidad)
|
||||
FROM cttb00003 b,cttb00001 c,OUTER prtb00006 a
|
||||
WHERE b.cod_prod = c.cod_prod AND b.cod_prod = a.cod_prod AND
|
||||
YEAR(b.fecha) = YEAR(fecha) AND b.fecha <= fecha AND
|
||||
b.status_t IS NULL AND b.cod_prod BETWEEN 700 AND 1399
|
||||
GROUP BY 1,2,3,4
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 19,14
|
||||
|
||||
START REPORT reporte_9 TO "C:\\archivo"
|
||||
DISPLAY "Impresion En Proceso... Espere Por Favor" AT 19,14
|
||||
|
||||
FOREACH busca INTO prt_datos9.*
|
||||
|
||||
IF prt_datos9.factor IS NULL THEN
|
||||
LET prt_datos9.factor = 1
|
||||
END IF
|
||||
IF prt_datos9.cantidad <> 0 THEN
|
||||
LET prt_datos9.cantidad = prt_datos9.cantidad*prt_datos9.factor
|
||||
END IF
|
||||
|
||||
DISPLAY " " AT 20,14
|
||||
DISPLAY prt_datos9.nomenclatura AT 20,14
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_9(prt_datos9.*)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_9
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
# Rutina de Impresion de las informaciones
|
||||
REPORT reporte_9(x)
|
||||
|
||||
# Variable para tomar las informaciones
|
||||
DEFINE x RECORD
|
||||
nomenclatura CHAR(10),
|
||||
cod_prod LIKE cttb00001.cod_prod,
|
||||
factor LIKE prtb00006.fact_conv,
|
||||
fecha DATE,
|
||||
cantidad INTEGER
|
||||
END RECORD
|
||||
|
||||
DEFINE doble_on CHAR(3)
|
||||
DEFINE doble_off CHAR(3)
|
||||
DEFINE negrillas_on CHAR(6)
|
||||
DEFINE negrillas_off CHAR(6)
|
||||
DEFINE comp_on CHAR(2)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce CHAR(2)
|
||||
DEFINE normal CHAR(3)
|
||||
DEFINE hora CHAR(5)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
ORDER BY x.nomenclatura,x.cod_prod,x.fecha
|
||||
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
|
||||
# Validacion de los caracteres ascii
|
||||
LET doble_on = ASCII 001
|
||||
LET doble_off = ASCII 002
|
||||
LET negrillas_on = ASCII 27, ASCII 098
|
||||
LET negrillas_off = ASCII 27, ASCII 099
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 029
|
||||
LET hora = time
|
||||
|
||||
# Impresion de los encabezados
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1, "prprrp009",
|
||||
COLUMN 33, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN 103, "Pag. ", pageno using "###"
|
||||
PRINT COLUMN 33, " Sistema de Produccion",
|
||||
COLUMN 103, today using "dd/mm/yy"
|
||||
PRINT COLUMN 33, " Reporte Diario de Manofactura",
|
||||
COLUMN 106, hora
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1, "FECHA: ",fecha USING "dd/mm/yy"
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
PRINT COLUMN 18, "| PILAS PRODUCIDAS ",
|
||||
COLUMN 54, "| PILAS CERRADAS ",
|
||||
COLUMN 90, "| PROM. DIA PROD. |"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
PRINT COLUMN 1, "TIPO",
|
||||
COLUMN 18, "| DIARIO | ACUM. MES | ACUM. ANO ",
|
||||
COLUMN 54, "| DIARIO | ACUM. MES | ACUM. ANO ",
|
||||
COLUMN 90, "|ACUM. MES.|ACUM. ANO.|"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
AFTER GROUP OF x.nomenclatura
|
||||
|
||||
LET cantidad2 = GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod >= 1100
|
||||
LET cantidad3 = GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha AND
|
||||
x.cod_prod >= 1100
|
||||
LET cantidad4 = GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod >= 1100
|
||||
|
||||
PRINT COLUMN 1, x.nomenclatura CLIPPED,
|
||||
COLUMN 18, "|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
"|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.cod_prod >= 1100
|
||||
AND x.fecha <= fecha USING "###,###,###",
|
||||
"|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
COLUMN 54, "|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
"|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha
|
||||
AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
"|",GROUP SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
COLUMN 90, "|",(cantidad2/cantidad3)*100 USING "###,###.##",
|
||||
"|",(cantidad2/cantidad4)*100 USING "###,###.##","|"
|
||||
|
||||
ON LAST ROW
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
LET cantidad2 = SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod >= 1100
|
||||
LET cantidad3 = SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha AND
|
||||
x.cod_prod >= 1100
|
||||
LET cantidad4 = SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod >= 1100
|
||||
|
||||
PRINT COLUMN 1, "TOTAL --->",
|
||||
COLUMN 18, "|",SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
"|",SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha AND
|
||||
x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
"|",SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod >= 1100
|
||||
USING "###,###,###",
|
||||
COLUMN 54, "|",SUM(x.cantidad)
|
||||
WHERE x.fecha = fecha AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
"|",SUM(x.cantidad)
|
||||
WHERE x.fecha >= fecha1 AND x.fecha <= fecha AND
|
||||
x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
"|",SUM(x.cantidad)
|
||||
WHERE x.fecha <= fecha AND x.cod_prod <= 999
|
||||
USING "###,###,###",
|
||||
COLUMN 90, "|",(cantidad2/cantidad3)*100 USING "###,###.##",
|
||||
"|",(cantidad2/cantidad4)*100 USING "###,###.##","|"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------",
|
||||
"--------------------------------------------------------"
|
||||
|
||||
PRINT comp_off
|
||||
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user