Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,232 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : COPRRP027
|
||||
OBJETIVO : Reporte Detallado de Plan de Reorden Segun
|
||||
Proyecciones.
|
||||
PROGRAMADOR : Tadeo A. Ferreras F.
|
||||
FECHA REALIZACION : Mayo 13, 1993
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS
|
||||
"coprgb000.4gl"
|
||||
##### Registro para almacenar la informacion enviada al reporte
|
||||
|
||||
DEFINE prt_reorden RECORD
|
||||
fecha_del LIKE cotb00020.fecha_del,
|
||||
fecha_al LIKE cotb00020.fecha_al,
|
||||
cod_n LIKE cotb00020.cod_n,
|
||||
cod_grupo LIKE cotb00020.cod_grupo,
|
||||
cod_tipo LIKE cotb00020.cod_tipo,
|
||||
cod_sec LIKE cotb00020.cod_sec,
|
||||
descrip_esp LIKE intb00001.descrip_esp,
|
||||
unidad_med LIKE intb00001.unidad_med,
|
||||
tipo LIKE cotb00020.tipo,
|
||||
dia_reord LIKE cotb00020.dia_reord,
|
||||
mes_reord LIKE cotb00020.mes_reord
|
||||
END RECORD
|
||||
|
||||
##### Funcion para buscar informacion
|
||||
|
||||
FUNCTION coprrp027()
|
||||
CLEAR SCREEN
|
||||
CALL pantalla()
|
||||
DISPLAY "coprrp027" AT 4,3
|
||||
DISPLAY "Listado de Reordenamiento" AT 6,27
|
||||
|
||||
LET int_flag = FALSE
|
||||
LET tipo_papel = 2
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
##### Proceso de busqueda de la informacion requerida
|
||||
|
||||
DECLARE busqueda CURSOR FOR
|
||||
SELECT a.fecha_del,a.fecha_al,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,
|
||||
b.descrip_esp,b.unidad_med,a.tipo,a.dia_reord,a.mes_reord
|
||||
FROM cotb00020 a,intb00001 b
|
||||
WHERE a.cod_n = b.cod_n and a.cod_grupo = b.cod_grupo
|
||||
and a.cod_tipo = b.cod_tipo and a.cod_sec = b.cod_sec and
|
||||
a.mes_reord is not null
|
||||
|
||||
DISPLAY "Reporte Generandose ... Por Favor Espere"
|
||||
AT 19,14 ATTRIBUTE(BOLD,REVERSE)
|
||||
|
||||
START REPORT reporte_27 TO "C:\\archivo"
|
||||
|
||||
FOREACH busqueda INTO prt_reorden.*
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_27(prt_reorden.*)
|
||||
END FOREACH
|
||||
|
||||
FINISH REPORT reporte_27
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
###### Funcion que disena el reporte
|
||||
REPORT reporte_27(x)
|
||||
DEFINE x RECORd
|
||||
fecha_del LIKE cotb00020.fecha_del,
|
||||
fecha_al LIKE cotb00020.fecha_al,
|
||||
cod_n LIKE cotb00020.cod_n,
|
||||
cod_grupo LIKE cotb00020.cod_grupo,
|
||||
cod_tipo LIKE cotb00020.cod_tipo,
|
||||
cod_sec LIKE cotb00020.cod_sec,
|
||||
descrip_esp LIKE intb00001.descrip_esp,
|
||||
unidad_med LIKE intb00001.unidad_med,
|
||||
tipo LIKE cotb00020.tipo,
|
||||
dia_reord LIKE cotb00020.dia_reord,
|
||||
mes_reord LIKE cotb00020.mes_reord
|
||||
END RECORD
|
||||
|
||||
DEFINE comprimido_12_off,comprimido_12_on,comprimido_on,comprimido_off,
|
||||
doble_on,doble_off,negrillas_on,negrillas_off CHAR(2)
|
||||
|
||||
DEFINE cant,costo,prec,c_base,c_otros_g,c_c_flete,t_c_flete,t_t_flete
|
||||
DECIMAL(12,2),
|
||||
num_ord INTEGER,
|
||||
c_cod_n,c_cod_grupo,c_cod_tipo, c_cod_sec SMALLINT
|
||||
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 6
|
||||
TOP MARGIN 1
|
||||
|
||||
###### Sortenado la informacion en orden de mes de reorden y dia de reorden
|
||||
|
||||
ORDER BY x.mes_reord,x.dia_reord,x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_sec
|
||||
|
||||
##### Creando el formato de salida
|
||||
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET negrillas_on = ASCII 27, ASCII 71
|
||||
LET negrillas_off = ASCII 27, ASCII 72
|
||||
LET doble_on = ASCII 14
|
||||
LET doble_off = ASCII 20
|
||||
LET comprimido_on = ASCII 15
|
||||
LET comprimido_off = ASCII 18
|
||||
LET comprimido_12_on = ASCII 27, ASCII 77
|
||||
LET comprimido_12_off = ASCII 27, ASCII 80
|
||||
|
||||
LET l = (147 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
PRINT COLUMN 1, comprimido_12_off,Negrillas_on
|
||||
PRINT COLUMN 1, "coprrp027",
|
||||
COLUMN l, p_companias.nombre CLIPPED,
|
||||
COLUMN 140, "Pag. ",pageno using "###"
|
||||
PRINT COLUMN 50, " SISTEMA DE COMPRAS",
|
||||
COLUMN 140, today using "dd/mm/yy"
|
||||
PRINT COLUMN 50, " PLAN DE REORDEN MENSUAL SEGUN PROYECCIONES",
|
||||
COLUMN 140, time
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1, "FECHA: Del ", x.fecha_del using "dd/mmm/yy",
|
||||
" Al ", x.fecha_al using "dd/mmm/yy"
|
||||
|
||||
PRINT COLUMN 1, "-------------------------------------------------",
|
||||
"-------------------------------------------------",
|
||||
"-------------------------------------------------"
|
||||
|
||||
PRINT COLUMN 52, "UNIDAD",
|
||||
COLUMN 134, "FECHA DE"
|
||||
|
||||
PRINT COLUMN 19, "MATERIAL",
|
||||
COLUMN 52, "MEDIDA",
|
||||
COLUMN 64, "TIPO",
|
||||
COLUMN 81, "CANTIDAD",
|
||||
COLUMN 101, "C & F",
|
||||
COLUMN 134, "REORDEN"
|
||||
|
||||
PRINT COLUMN 1, "-------------------------------------------------",
|
||||
"-------------------------------------------------",
|
||||
"-------------------------------------------------"
|
||||
PRINT negrillas_on
|
||||
|
||||
BEFORE GROUP OF x.mes_reord
|
||||
PRINT negrillas_on
|
||||
PRINT COLUMN 1, x.mes_reord
|
||||
PRINT negrillas_off
|
||||
LET t_c_flete = 0
|
||||
IF t_t_flete IS NULL THEN
|
||||
LET t_t_flete = 0
|
||||
END IF
|
||||
ON EVERY ROW
|
||||
|
||||
###### Selecionando la ultima orden de compra para un material
|
||||
|
||||
SELECT UNIQUE cod_n,cod_grupo,cod_tipo,cod_sec,max(num_oc)
|
||||
INTO c_cod_n,c_cod_grupo,c_cod_tipo,c_cod_sec,num_ord
|
||||
FROM cotb00015
|
||||
WHERE cod_n = x.cod_n AND cod_grupo = x.cod_grupo AND
|
||||
cod_tipo = x.cod_tipo AND cod_sec = x.cod_sec GROUP BY 1,2,3,4
|
||||
|
||||
###### Selecionando canmtidad y precio del material
|
||||
|
||||
SELECT UNIQUE cantidad,precio INTO cant,prec
|
||||
FROM cotb00015
|
||||
WHERE cod_n = c_cod_n AND cod_grupo = c_cod_grupo AND
|
||||
cod_tipo = c_cod_tipo AND cod_sec = c_cod_sec AND num_oc = num_ord
|
||||
|
||||
####### Selecionando los gastos que se incurren en la traida de materiales
|
||||
|
||||
SELECT UNIQUE c_flete,otros_g INTO c_c_flete,c_otros_g
|
||||
FROM cotb00014
|
||||
WHERE num_oc = num_ord AND status_t IS NULL AND fech_oc > "010694"
|
||||
|
||||
####### Selecionando la base de medida para la compra de un material
|
||||
|
||||
SELECT UNIQUE MAX(a.base) INTO c_base FROM intb00002 a
|
||||
WHERE a.cod_n = c_cod_n AND a.cod_grupo = c_cod_grupo AND
|
||||
a.cod_tipo = c_cod_tipo AND a.cod_sec = c_cod_sec AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF c_base IS NULL THEN
|
||||
LET c_base = 1
|
||||
END IF
|
||||
|
||||
IF c_c_flete IS NULL THEN
|
||||
LET c_c_flete = 0
|
||||
END IF
|
||||
|
||||
IF c_otros_g IS NULL THEN
|
||||
LET c_otros_g = 0
|
||||
END IF
|
||||
|
||||
###### Calculando el costo para la compra de un material
|
||||
|
||||
LET costo = ((cant * prec)/c_base) + (c_c_flete + c_otros_g)
|
||||
|
||||
PRINT COLUMN 2, x.cod_n using "&","-",x.cod_grupo using "&","-",
|
||||
x.cod_tipo using "&&","-",x.cod_sec using "&&&",
|
||||
COLUMN 15, x.descrip_esp clipped,
|
||||
COLUMN 55, x.unidad_med,
|
||||
COLUMN 63, x.tipo clipped,
|
||||
COLUMN 75, cant using "###,###,###.##",
|
||||
COLUMN 92, costo using "###,###,###.##",
|
||||
COLUMN 136, x.dia_reord
|
||||
|
||||
##### Acumulando total por mes de reorden
|
||||
LET t_c_flete = t_c_flete + costo
|
||||
|
||||
##### Acumulando total general
|
||||
LET t_t_flete = t_t_flete + costo
|
||||
|
||||
AFTER GROUP OF x.mes_reord
|
||||
PRINT negrillas_on
|
||||
PRINT COLUMN 81,"TOTAL...",
|
||||
COLUMN 94,t_c_flete using "###,###,###.##"
|
||||
PRINT negrillas_off
|
||||
|
||||
ON LAST ROW
|
||||
SKIP 1 LINE
|
||||
PRINT negrillas_on
|
||||
PRINT COLUMN 73, "TOTAL GENERAL...",
|
||||
COLUMN 94, t_t_flete using "###,###,###.##"
|
||||
PRINT negrillas_on,comprimido_12_off
|
||||
|
||||
END REPORT
|
||||
|
||||
Reference in New Issue
Block a user