Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,220 @@
|
||||
{
|
||||
----------------------------------------------------------------------------
|
||||
PROGRAMA : INPRRP042
|
||||
FUNCION : Comparativo de la existencia calculada por movimientos y
|
||||
existencia en conteo fisico
|
||||
PROGRAMADOR : Juan Fco. Soto
|
||||
FECHA : Diciembre 01, 2009
|
||||
----------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS
|
||||
"irprgb000.4gl"
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
SELECT * INTO p_companias.* FROM companias
|
||||
|
||||
CALL inprrp014()
|
||||
END MAIN
|
||||
|
||||
FUNCTION inprrp014()
|
||||
DEFINE idx_c SMALLINT
|
||||
|
||||
DEFINE salir CHAR(1)
|
||||
DEFINE p_ano CHAR(4)
|
||||
DEFINE p_mes INTEGER
|
||||
|
||||
DEFINE comparativo RECORD
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descrip_esp CHAR(30),
|
||||
unidad_med CHAR(3),
|
||||
existencia DEC(12,4),
|
||||
movimiento LIKE irtb00006.cantidad_2,
|
||||
costo DECIMAL(10,4)
|
||||
END RECORD
|
||||
|
||||
DEFINE select_cost CHAR (1000)
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 24,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM INFMRP014 FROM "infmrp014"
|
||||
CALL PANTALLA()
|
||||
DISPLAY FORM INFMRP014
|
||||
|
||||
LET tipo_papel = 2
|
||||
CALL msgrp000(tipo_papel)
|
||||
INPUT BY NAME datos_cons.fech_fi
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
CONSTRUCT criterio ON c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec
|
||||
FROM cod_n,cod_grupo,cod_tipo,cod_sec
|
||||
|
||||
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
|
||||
doble_on,doble_off,comp_on,comp_off,
|
||||
doce,normal,archivo,copia
|
||||
|
||||
|
||||
START REPORT dife1 TO archivo
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET p_ano = YEAR(datos_cons.fech_fi)
|
||||
LET p_mes = 12
|
||||
|
||||
LET selec =
|
||||
" SELECT irtb00002.cod_n, irtb00002.cod_grupo, ",
|
||||
" irtb00002.cod_tipo, irtb00002.cod_sec, ",
|
||||
" irtb00002.descrip_esp, ",
|
||||
" irtb00002.unidad_med, ",
|
||||
" irtb00011.cantidad, ",
|
||||
" irtb00011.balance, ",
|
||||
" irtb00013.costo_st ",
|
||||
" FROM irtb00002 LEFT OUTER JOIN ",
|
||||
" irtb00013 ON irtb00002.cod_n = irtb00013.cod_n AND ",
|
||||
" irtb00002.cod_grupo = irtb00013.cod_grupo AND ",
|
||||
" irtb00002.cod_tipo = irtb00013.cod_tipo AND ",
|
||||
" irtb00002.cod_sec = irtb00013.cod_sec LEFT OUTER JOIN ",
|
||||
" irtb00011 ON irtb00002.cod_n = irtb00011.cod_n AND ",
|
||||
" irtb00002.cod_grupo = irtb00011.cod_grupo AND ",
|
||||
" irtb00002.cod_tipo = irtb00011.cod_tipo AND ",
|
||||
" irtb00002.cod_sec = irtb00011.cod_sec ",
|
||||
" WHERE irtb00011.fecha = CONVERT(DATETIME, ?) AND ",
|
||||
" (irtb00013.ano = ?) AND (irtb00013.mes_fin = ?) ",
|
||||
" ORDER BY irtb00002.cod_n, irtb00002.cod_grupo, ",
|
||||
" irtb00002.cod_tipo, irtb00002.cod_sec"
|
||||
|
||||
|
||||
DISPLAY "<< Buscando Informacion ... Espere Por Favor>>" AT 19,14 ATTRIBUTE
|
||||
(REVERSE,BOLD)
|
||||
|
||||
PREPARE busca_maestra FROM selec
|
||||
DECLARE diferencia CURSOR FOR busca_maestra
|
||||
OPEN diferencia USING datos_cons.fech_fi,p_ano,p_mes
|
||||
|
||||
DISPLAY "<< Reporte Generandose ... Por Favor Espere>> " AT 19,14 ATTRIBUTE
|
||||
(REVERSE,BOLD)
|
||||
|
||||
|
||||
|
||||
FOREACH diferencia INTO comparativo.*
|
||||
IF STATUS = notfound THEN
|
||||
EXIT FOREACH
|
||||
END IF
|
||||
OUTPUT TO REPORT dife1(comparativo.*)
|
||||
END FOREACH
|
||||
|
||||
FINISH REPORT dife1
|
||||
CLEAR SCREEN
|
||||
display "imprime ",imprime
|
||||
RUN imprime
|
||||
END FUNCTION
|
||||
|
||||
REPORT dife1(x)
|
||||
DEFINE x RECORD
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
descrip_esp CHAR(30),
|
||||
unidad_med CHAR(3),
|
||||
existencia DEC(12,4),
|
||||
movimiento LIKE irtb00006.cantidad_2,
|
||||
costo DECIMAL(10,4)
|
||||
END RECORD,
|
||||
hora char(5),
|
||||
normal char(3)
|
||||
|
||||
DEFINE dsiete CHAR(3)
|
||||
DEFINE valor_libro,valor,no_igual,valor_no_igual,total_libro,total_df
|
||||
DECIMAL(12,2)
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 2
|
||||
ORDER BY x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_sec
|
||||
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET hora = time
|
||||
LET normal = ASCII 27, ASCII 80
|
||||
LET dsiete = ASCII 27, ASCII 77
|
||||
|
||||
LET lj = (155 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
PRINT dsiete
|
||||
PRINT COLUMN 1, "inprrp014",
|
||||
COLUMN lj, p_companias.nombre CLIPPED,
|
||||
COLUMN 148, "Pag. ", pageno USING "###"
|
||||
PRINT COLUMN 76, "Sistema de Inventarios",
|
||||
COLUMN 148, today USING "dd/mm/yyyy"
|
||||
PRINT COLUMN 57, "Inventario Comparativo Teorico Fisico al Cierre",
|
||||
COLUMN 151, hora
|
||||
PRINT COLUMN 1, "Al ",datos_cons.fech_fi USING "dd/mm/yyyy"
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------------------------------",
|
||||
"---------------------------------------------------------------------------"
|
||||
PRINT COLUMN 60, "Cantidad",
|
||||
COLUMN 73, "Costo" ,
|
||||
COLUMN 92, "Valor En",
|
||||
COLUMN 110, "Cantidad",
|
||||
COLUMN 127, "Diferencia",
|
||||
COLUMN 145, "Valor"
|
||||
|
||||
PRINT COLUMN 20, "ARTICULOS",
|
||||
COLUMN 60, "En Libro",
|
||||
COLUMN 73, "Standard",
|
||||
COLUMN 92, "Libro",
|
||||
COLUMN 111, "Fisico",
|
||||
COLUMN 127, "Cantidad",
|
||||
COLUMN 145, "Diferencia"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------------------------------------",
|
||||
"----------------------------------------------------------------------------"
|
||||
SKIP 1 LINE
|
||||
|
||||
ON EVERY ROW
|
||||
LET existe = "S"
|
||||
IF x.existencia is null THEN
|
||||
LET x.existencia = 0
|
||||
END IF
|
||||
IF x.costo is null THEN
|
||||
LET x.costo = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN 1, x.cod_n USING "&","-",x.cod_grupo USING "&","-",
|
||||
x.cod_tipo USING "&&","-",x.cod_sec USING "&&&"," ",
|
||||
x.descrip_esp," ", x.unidad_med,
|
||||
COLUMN 54, x.movimiento USING "---,---,---.##",
|
||||
COLUMN 72, x.costo USING "#,###,###.####",
|
||||
COLUMN 86, x.movimiento*x.costo USING "---,---,---.##",
|
||||
COLUMN 104, x.existencia USING "---,---,---.##",
|
||||
COLUMN 123, x.existencia - x.movimiento USING "---,---,---.##",
|
||||
COLUMN 140, (x.existencia-x.movimiento)*x.costo USING "---,---,---.##"
|
||||
|
||||
ON LAST ROW
|
||||
PRINT COLUMN 87, "--------------",
|
||||
COLUMN 140, "--------------"
|
||||
PRINT COLUMN 86, SUM(x.movimiento*x.costo) USING "---,---,---.##",
|
||||
COLUMN 140, SUM((x.existencia-x.movimiento)*x.costo)
|
||||
USING "---,---,---.##"
|
||||
|
||||
PRINT COLUMN 10, "Total Registros ==> ",count(*) USING "#,###"
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user