860 lines
25 KiB
Plaintext
860 lines
25 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : EDPRRP054
|
|
OBJETIVO : Listar las Entrada de Diario AJUSTE POR INVENTARIO
|
|
PROGRAMADOR : Tadeo A. Ferreras
|
|
FECHA REALIZACION : Julio 28, 1993
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
DATABASE rayovac
|
|
GLOBALS
|
|
|
|
DEFINE selec6,selec3,selec5,selec2,selec1,selec4,selec8,selec7,selec9 CHAR(1000)
|
|
DEFINE salirp,salir6,salir3,salir5,salir4,salir7,salir8,salir9 CHAR(1)
|
|
DEFINE anos CHAR(4)
|
|
DEFINE meses SMALLINT
|
|
DEFINE gasto,gasto1,mano_ob,mano_ob1,material,material6,material1,labor,
|
|
t_cantidad DECIMAL(12,3)
|
|
DEFINE idx_3,idx_8,idx_9,idx_6,idx_5,idx_7,idx_4,idx_1,idx_2 INTEGER
|
|
DEFINE salir,salir1,salir2 CHAR(1)
|
|
DEFINE descr1,descr2,descr3 CHAR(30)
|
|
|
|
DEFINE rango RECORD
|
|
fecha_inicial DATE,
|
|
fecha_final DATE
|
|
END RECORD
|
|
|
|
DEFINE reg_costo RECORD
|
|
cod_prod CHAR(10),
|
|
costo DECIMAL(13,4)
|
|
END RECORD
|
|
|
|
DEFINE reg_gasto RECORD
|
|
cod_prod CHAR(10),
|
|
gasto DECIMAL(13,4)
|
|
END RECORD
|
|
|
|
DEFINE primas 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,
|
|
cantidad DECIMAL(15,5)
|
|
END RECORD
|
|
|
|
DEFINE reg_princ RECORD
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
descrip_esp CHAR(30),
|
|
unidad_med CHAR(3)
|
|
END RECORD
|
|
|
|
DEFINE estructura RECORD
|
|
cod_prod CHAR(10),
|
|
cantidad DECIMAL(15,5)
|
|
END RECORD
|
|
|
|
DEFINE datos_prod RECORD
|
|
cod_prod CHAR(10),
|
|
cantidad DECIMAL(15,5)
|
|
END RECORD
|
|
|
|
DEFINE costos RECORD
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
costo DECIMAL(14,8)
|
|
END RECORD
|
|
|
|
DEFINE semi_proceso RECORD
|
|
cod_prod CHAR(10),
|
|
descripcion LIKE cttb00001.descripcion,
|
|
unidad_med LIKE cttb00001.unidad_med,
|
|
cantidad DECIMAL(15,5)
|
|
END RECORD
|
|
|
|
DEFINE datos_sal RECORD
|
|
cod_prod CHAR(10),
|
|
descripcion LIKE cttb00001.descripcion,
|
|
unidad_med LIKE cttb00001.unidad_med,
|
|
cantidad LIKE cttb00015.cantidad,
|
|
costo_real DECIMAL(13,8),
|
|
costo_labor DECIMAL(13,8),
|
|
costo_gasto DECIMAL(13,8),
|
|
control CHAR(1)
|
|
END RECORD
|
|
DEFINE labor1 DECIMAL(13,8)
|
|
|
|
|
|
DEFINE select_ac,select_ant,select_p CHAR(1000)
|
|
DEFINE idx_ac,ano,idx_a,idx_c SMALLINT
|
|
DEFINE ano_act,c_ano CHAR(4)
|
|
DEFINE fecha_2 CHAR(8)
|
|
DEFINE fecha_ini_per CHAR(8)
|
|
|
|
DEFINE acumulado_a RECORD
|
|
cod_mov LIKE intb00005.cod_mov,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_Tipo SMALLINT,
|
|
cod_Sec SMALLINT,
|
|
consumo LIKE iptb00006.cantidad_2,
|
|
material LIKE iptb00004.material,
|
|
labor LIKE iptb00004.labor,
|
|
gasto_ind LIKE iptb00004.gasto_ind
|
|
END RECORD
|
|
|
|
DEFINE acumulado_ac RECORD
|
|
cod_mov LIKE intb00005.cod_mov,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_Tipo SMALLINT,
|
|
cod_Sec SMALLINT,
|
|
consumo INTEGER,
|
|
cantidad LIKE vetb00014.cantidad
|
|
END RECORD
|
|
|
|
###### Variables para busqueda de rango de fecha
|
|
DEFINE detalle CHAR(30)
|
|
DEFINE mes SMALLINT
|
|
DEFINE tasa DECIMAL(5,2)
|
|
DEFINE p_fecha,fecha1,fecha2 DATE
|
|
DEFINE nominas CHAR(1)
|
|
DEFINE entra CHAR(14)
|
|
DEFINE entra1 CHAR(5)
|
|
DEFINE tipo_papel SMALLINT
|
|
DEFINE afecta CHAR(1)
|
|
DEFINE gasto_ind DECIMAL(12,2)
|
|
|
|
###### Variables para almacenar los datos selecionados
|
|
|
|
###### Variables que la almacenan la informacion enviada al reporte
|
|
DEFINE diario1 RECORD
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
consumo LIKE iptb00006.cantidad_2,
|
|
material DECIMAL(12,2),
|
|
mano_ob DECIMAL(12,2),
|
|
gasto_ind DECIMAL(12,2)
|
|
END RECORD
|
|
|
|
DEFINE acumulado RECORD
|
|
cod_mov LIKE iptb00006.cod_mov,
|
|
# cod_cia LIKE iptb00006.cod_cia,
|
|
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,
|
|
descrip_mov LIKE intb00005.descrip_mov,
|
|
consumo INTEGER,
|
|
material LIKE iptb00004.material,
|
|
labor LIKE iptb00004.labor,
|
|
gasto_ind LIKE iptb00004.gasto_ind
|
|
END RECORD
|
|
|
|
DEFINE diario2 RECORD
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
costo DECIMAL(12,2)
|
|
END RECORD
|
|
DEFINE idx INTEGER
|
|
END GLOBALS
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL edprrp054()
|
|
END MAIN
|
|
|
|
FUNCTION edprrp054()
|
|
|
|
# WHENEVER ERROR CONTINUE
|
|
|
|
OPTIONS
|
|
FORM LINE 8,
|
|
ERROR LINE 23,
|
|
COMMENT LINE 21
|
|
|
|
##### Abriendo y desplegando el formulario de captura de datos
|
|
|
|
OPEN FORM edfmrp054 FROM "edfmrp054"
|
|
DISPLAY FORM edfmrp054
|
|
CALL pantalla()
|
|
DISPLAY "edprrp054" AT 4,3
|
|
DISPLAY "Entrada de Diario WIP Por Inventario" AT 6,22
|
|
|
|
###### Aceptando los valores para el rango de fecha
|
|
|
|
INPUT BY NAME entra,anos,meses,afecta,detalle
|
|
|
|
AFTER FIELD entra
|
|
SELECT unique ref FROM cgtb00004
|
|
WHERE ref = entra
|
|
|
|
IF STATUS != NOTFOUND THEN
|
|
ERROR "(12) REGISTRO EXISTE"
|
|
NEXT FIELD entra
|
|
END IF
|
|
|
|
LET entra1 = entra
|
|
|
|
AFTER FIELD meses
|
|
IF meses IS NULL THEN
|
|
ERROR "(16) CAMPO EN BLANCO"
|
|
NEXT FIELD meses
|
|
END IF
|
|
|
|
SELECT MAX(fecha) INTO p_fecha FROM cgtb00004
|
|
WHERE ref[1,5] = entra1
|
|
|
|
SELECT a.fecha_inicio,a.fecha_corte INTO fecha1,fecha2
|
|
FROM prdtable a
|
|
WHERE a.ano = anos AND a.mes = meses
|
|
|
|
# DISPLAY fecha1," - ",fecha2 AT 14,3
|
|
|
|
IF fecha1 <= p_fecha THEN
|
|
ERROR "(179) EXISTE ENTRADA DE DIARIO CON ESA FECHA"
|
|
NEXT FIELD meses
|
|
END IF
|
|
|
|
###### Selecionando en rango de fecha de la tabla de periodo para el fecha2
|
|
|
|
SELECT UNIQUE ref FROM cgtb00004 where ref = entra
|
|
|
|
IF STATUS != NOTFOUND THEN
|
|
ERROR "(12) REGISTRO EXISTE"
|
|
NEXT FIELD meses
|
|
END IF
|
|
|
|
END INPUT
|
|
##### Creando la facilidad para cancelar proceso con DELETE O SUPR
|
|
|
|
IF int_flag THEN
|
|
ERROR "(2) OPERACION CANCELADA"
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
# Busca la informacion requerida
|
|
LET selec1 =
|
|
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.descrip_esp,a.unidad_med ",
|
|
"FROM intb00001 a WHERE a.cod_n = 1 AND a.status_t IS NULL ORDER BY 1,2,3,4 "
|
|
|
|
DISPLAY "<< Buscando Materias Primas ... Espere Por Favor. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
PREPARE comando8 FROM selec1
|
|
DECLARE busca8 SCROLL CURSOR FOR comando8
|
|
OPEN busca8
|
|
|
|
LET selec2 =
|
|
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.cantidad ",
|
|
"FROM cttb00015 a ",
|
|
"WHERE a.status_t IS NULL AND a.ano = ? AND a.mes = ? ",
|
|
"ORDER BY 1,2,3,4 "
|
|
|
|
DISPLAY "<< Buscando Materias Primas en Proceso ... Espere Por Favor. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
PREPARE comando5 FROM selec2
|
|
DECLARE busca5 SCROLL CURSOR FOR comando5
|
|
OPEN busca5 USING anos,meses
|
|
|
|
LET selec3 =
|
|
"SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,MAX(a.costo_st) ",
|
|
"FROM intb00013 a WHERE a.status_t IS NULL AND a.ano = ? ",
|
|
"GROUP BY 1,2,3,4 ORDER BY 1,2,3,4"
|
|
|
|
DISPLAY "Buscando costo de los materiales.... Espere por Favor" AT 19,14
|
|
ATTRIBUTE(BOLD,REVERSE)
|
|
|
|
PREPARE comando9 FROM selec3
|
|
DECLARE busca9 SCROLL CURSOR FOR comando9
|
|
OPEN busca9 USING anos
|
|
|
|
LET selec4 =
|
|
"SELECT a.cod_prod,a.descripcion,a.unidad_med,MAX(b.cantidad) ",
|
|
"FROM cttb00001 a,cttb00014 b ",
|
|
"WHERE a.cod_prod = b.cod_prod and b.ano = ? AND b.mes = ? ",
|
|
" AND a.status_t is null ",
|
|
"GROUP BY 1,2,3 ORDER BY 1 "
|
|
|
|
DISPLAY "<< Estoy Buscando Productos Semi-elaborados ... Espere Por Favor. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
PREPARE comando FROM selec4
|
|
DECLARE busca CURSOR FOR comando
|
|
OPEN busca USING anos,meses
|
|
|
|
LET selec6 =
|
|
"SELECT cod_prod,MAX(valor_real) FROM cttb00028 ",
|
|
"WHERE status_t IS NULL GROUP BY 1 ORDER BY 1 "
|
|
|
|
DISPLAY "<< Estoy Buscando Costo de Estructura ... Espere Por Favor. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
PREPARE comando4 FROM selec6
|
|
DECLARE busca4 SCROLL CURSOR FOR comando4
|
|
OPEN busca4
|
|
|
|
LET selec7 =
|
|
"SELECT cod_prod,MAX(gasto_ind) FROM cttb00029 ",
|
|
"WHERE status_t is null and ano = ? GROUP BY 1 ORDER BY 1 "
|
|
|
|
DISPLAY "<< Estoy Buscando gasto de Estructura ... Espere Por Favor. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
PREPARE comando7 FROM selec7
|
|
DECLARE busca7 SCROLL CURSOR FOR comando7
|
|
OPEN busca7 USING anos
|
|
|
|
LET selec8 =
|
|
"SELECT a.cod_prod,SUM(a.costo_st),max(a.mes_ini),max(mes_fin) ",
|
|
"FROM cttb00026 a ",
|
|
"WHERE a.ano = ? ",
|
|
"GROUP BY 1 ORDER BY 1 "
|
|
|
|
DISPLAY " "
|
|
AT 19,14
|
|
|
|
DISPLAY "<< Estoy Buscando Costo de Semi Elaborado, Espere Por Favor. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
PREPARE comandog FROM selec8
|
|
DECLARE buscag SCROLL CURSOR FOR comandog
|
|
OPEN buscag USING anos
|
|
|
|
|
|
DISPLAY " "
|
|
AT 19,14
|
|
|
|
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14
|
|
ATTRIBUTE(REVERSE)
|
|
|
|
START REPORT proceso1 TO PIPE "lp -dcentral"
|
|
|
|
LET datos_sal.costo_real = 0
|
|
LET t_cantidad = 0
|
|
LET datos_sal.costo_labor = 0
|
|
LET datos_sal.costo_gasto = 0
|
|
LET datos_sal.cantidad = 0
|
|
|
|
# Busca las materias primas que estan el proceso de produccion
|
|
|
|
LET status = 0
|
|
LET idx_8 = 1
|
|
LET salir8 = "N"
|
|
WHILE STATUS != NOTFOUND
|
|
FETCH ABSOLUTE idx_8 busca8 INTO reg_princ.*
|
|
IF STATUS = NOTFOUND THEN
|
|
LET salir8 = "S"
|
|
EXIT WHILE
|
|
LET idx_8 = 1
|
|
END IF
|
|
|
|
IF int_flag THEN
|
|
ERROR "PROCESO CANCELADO"
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
LET idx_8 = idx_8 + 1
|
|
LET datos_sal.cod_prod = reg_princ.cod_n USING "&","-",
|
|
reg_princ.cod_grupo USING "&","-",
|
|
reg_princ.cod_tipo USING "&&","-",
|
|
reg_princ.cod_sec USING "&&&"
|
|
LET datos_sal.descripcion = reg_princ.descrip_esp
|
|
LET datos_sal.unidad_med = reg_princ.unidad_med
|
|
LET datos_sal.cantidad = 0
|
|
LET datos_sal.costo_labor = 0
|
|
LET datos_sal.costo_gasto = 0
|
|
LET datos_sal.costo_real = 0
|
|
|
|
#DISPLAY "Material: ",datos_sal.cod_prod,"- ",datos_sal.descripcion,"- ",
|
|
# datos_sal.unidad_med AT 14,6
|
|
|
|
LET idx_5 = 1
|
|
LET salir5 = "N"
|
|
WHILE salir5 != "S"
|
|
FETCH ABSOLUTE idx_5 busca5 INTO primas.*
|
|
IF status = notfound THEN
|
|
LET idx_5 = 1
|
|
LET salir5 = "S"
|
|
LET STATUS = 0
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
LET Idx_5 = idx_5 + 1
|
|
|
|
IF primas.cod_n = reg_princ.cod_n AND
|
|
primas.cod_grupo = reg_princ.cod_grupo AND
|
|
primas.cod_tipo = reg_princ.cod_tipo AND
|
|
primas.cod_sec = reg_princ.cod_sec THEN
|
|
|
|
LET datos_sal.cantidad = primas.cantidad
|
|
LET salir5 = "S"
|
|
LET idx_5 = 1
|
|
END IF
|
|
END WHILE
|
|
|
|
LET salir9 = "N"
|
|
LET idx_9 = 1
|
|
WHILE salir9 != "S"
|
|
FETCH ABSOLUTE idx_9 busca9 INTO costos.*
|
|
IF status = notfound THEN
|
|
LET salir9 = "S"
|
|
LET idx_9 = 1
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
LET idx_9 = idx_9 + 1
|
|
|
|
IF costos.cod_n = reg_princ.cod_n and
|
|
costos.cod_grupo = reg_princ.cod_grupo and
|
|
costos.cod_tipo = reg_princ.cod_tipo and
|
|
costos.cod_sec = reg_princ.cod_sec THEN
|
|
|
|
LET datos_sal.costo_real = costos.costo
|
|
LET idx_9 = 1
|
|
LET salir9 = "S"
|
|
EXIT WHILE
|
|
END IF
|
|
END WHILE
|
|
|
|
IF datos_sal.costo_real IS NULL THEN
|
|
LET datos_sal.costo_real = 0
|
|
END IF
|
|
|
|
LET datos_sal.costo_labor = 0
|
|
LET datos_sal.costo_gasto = 0
|
|
|
|
LET datos_sal.control = "2"
|
|
OUTPUT TO REPORT proceso1(datos_sal.*,rango.fecha_inicial)
|
|
END WHILE
|
|
|
|
LET salirp = "N"
|
|
WHILE salirp != "S"
|
|
FETCH busca INTO semi_proceso.*
|
|
IF status = notfound THEN
|
|
LET salirp = "S"
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
IF int_flag THEN
|
|
ERROR "PROCESO CANCELADO"
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
LET datos_sal.cod_prod = semi_proceso.cod_prod using "####"
|
|
LET datos_sal.descripcion = semi_proceso.descripcion
|
|
LET datos_sal.unidad_med = semi_proceso.unidad_med
|
|
LET datos_sal.cantidad = semi_proceso.cantidad
|
|
LET datos_sal.costo_labor = 0
|
|
LET datos_sal.costo_gasto = 0
|
|
LET datos_sal.costo_real = 0
|
|
LET datos_sal.cod_prod = datos_sal.cod_prod clipped
|
|
|
|
LET idx_4 = 1
|
|
LET salir4 = "N"
|
|
WHILE salir4 != "S"
|
|
FETCH ABSOLUTE idx_4 busca4 INTO reg_costo.*
|
|
IF STATUS = NOTFOUND THEN
|
|
LET salir4 = "S"
|
|
LET idx_4 = 1
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
LET idx_4 = idx_4 + 1
|
|
|
|
IF reg_costo.cod_prod = semi_proceso.cod_prod THEN
|
|
LET datos_sal.costo_labor = reg_costo.costo
|
|
LET idx_4 = 1
|
|
LET salir4 = "S"
|
|
END IF
|
|
END WHILE
|
|
|
|
LET idx_7 = 1
|
|
LET salir7 = "N"
|
|
WHILE salir7 != "S"
|
|
FETCH ABSOLUTE idx_7 busca7 INTO reg_gasto.*
|
|
IF STATUS = NOTFOUND THEN
|
|
LET salir7 = "S"
|
|
LET idx_7 = 1
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
LET idx_7 = idx_7 + 1
|
|
|
|
IF reg_gasto.cod_prod = semi_proceso.cod_prod THEN
|
|
LET datos_sal.costo_gasto = reg_gasto.gasto
|
|
LET idx_7 = 1
|
|
LET salir7 = "S"
|
|
END IF
|
|
END WHILE
|
|
|
|
LET idx_6 = 1
|
|
LET salir6 = "N"
|
|
WHILE salir6 != "S"
|
|
FETCH ABSOLUTE idx_6 buscag INTO datos_prod.*
|
|
IF STATUS = NOTFOUND THEN
|
|
LET salir6 = "S"
|
|
LET idx_6 = 1
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
LET idx_6 = idx_6 + 1
|
|
|
|
IF datos_prod.cod_prod = semi_proceso.cod_prod THEN
|
|
LET datos_sal.costo_real = datos_prod.cantidad
|
|
LET idx_6 = 1
|
|
LET salir6 = "S"
|
|
EXIT WHILE
|
|
END IF
|
|
|
|
END WHILE
|
|
|
|
IF datos_sal.costo_real IS NULL THEN
|
|
LET datos_sal.costo_real = 0
|
|
END IF
|
|
|
|
#DISPLAY "Material: ",datos_sal.cod_prod,"- ",datos_sal.descripcion,"- ",
|
|
# datos_sal.unidad_med AT 14,6
|
|
LET datos_sal.control = "1"
|
|
OUTPUT TO REPORT proceso1(datos_sal.*,rango.fecha_inicial)
|
|
END WHILE
|
|
|
|
LET datos_sal.costo_labor = 0
|
|
LET datos_sal.costo_gasto = 0
|
|
LET datos_sal.costo_Real = 0
|
|
|
|
FINISH REPORT proceso1
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|
|
REPORT proceso1(x,fecha)
|
|
DEFINE x RECORD
|
|
cod_prod CHAR(10),
|
|
descripcion LIKE cttb00001.descripcion,
|
|
unidad_med LIKE cttb00001.unidad_med,
|
|
cantidad LIKE cttb00015.cantidad,
|
|
costo_real DECIMAL(12,4),
|
|
costo_labor DECIMAL(12,4),
|
|
costo_gasto DECIMAL(12,4),
|
|
control CHAR(1)
|
|
END RECORD
|
|
|
|
DEFINE valor DECIMAL(12,2)
|
|
DEFINE comp_on,normal CHAR(3),
|
|
negrillas_on,negrillas_off CHAR(6)
|
|
DEFINE fecha DATE
|
|
|
|
OUTPUT
|
|
LEFT MARGIN 0
|
|
|
|
ORDER BY x.control,x.cod_prod
|
|
|
|
FORMAT
|
|
PAGE HEADER
|
|
LET comp_on = ASCII 031
|
|
LET normal = ASCII 029
|
|
LET negrillas_on = ASCII 027, ASCII 098
|
|
LET negrillas_off = ASCII 027, ASCII 099
|
|
PRINT normal
|
|
PRINT COLUMN 1, "edprrp054",negrillas_on,
|
|
COLUMN 17, " RAY.O.VAC DOMINICANA, S. A.",negrillas_off,
|
|
COLUMN 79, "Pag. ",pageno using "###"
|
|
PRINT COLUMN 17, " SISTEMA DE CONTABILIDAD",
|
|
COLUMN 75, today using "dd/mm/yy"
|
|
PRINT COLUMN 17, "ENTRADA DE DIARIO AJUSTE INVENTARIO EN PROCESO",
|
|
COLUMN 75, time
|
|
PRINT COLUMN 28, "Del ",fecha1 USING "dd/mm/yy", " Al ",fecha2
|
|
USING "dd/mm/yy"
|
|
SKIP 2 LINE
|
|
PRINT COLUMN 1,"ENTRADA NO. ",negrillas_on,entra,negrillas_off
|
|
|
|
PRINT COLUMN 1,"--------------------------------------------------",
|
|
"----------------------------------------"
|
|
PRINT COLUMN 1, "CUENTA ",
|
|
COLUMN 11, "DPTO",
|
|
COLUMN 18, "CONCEPTO",
|
|
COLUMN 58, "DEBE",
|
|
COLUMN 71, "HABER",negrillas_off
|
|
|
|
PRINT COLUMN 1,"--------------------------------------------------",
|
|
"----------------------------------------"
|
|
|
|
AFTER GROUP OF x.cod_prod
|
|
|
|
IF material IS NULL THEN
|
|
LET material = 0
|
|
END IF
|
|
IF mano_ob IS NULL THEN
|
|
LET mano_ob = 0
|
|
END IF
|
|
IF gasto IS NULL THEN
|
|
LET gasto = 0
|
|
END IF
|
|
|
|
LET material = material + (x.cantidad * x.costo_real)
|
|
LET mano_ob = mano_ob + (x.cantidad * x.costo_labor)
|
|
LET gasto = gasto + (x.cantidad * x.costo_gasto)
|
|
|
|
|
|
ON LAST ROW
|
|
|
|
SELECT b.descripcion,SUM(a.debito - a.credito) INTO descr1,material1
|
|
FROM cgtb00004 a,cgtb00001 b
|
|
WHERE a.cuenta_no = b.cuenta_no AND a.cuenta_no = "1141" AND
|
|
a.fecha <= fecha2 AND a.status_t IS NULL
|
|
GROUP BY 1
|
|
|
|
SELECT b.descripcion,SUM(a.debito - a.credito) INTO descr2,mano_ob1
|
|
FROM cgtb00004 a,cgtb00001 b
|
|
WHERE a.cuenta_no = b.cuenta_no AND a.cuenta_no = "1142" AND
|
|
a.fecha <= fecha2 AND a.status_t IS NULL
|
|
GROUP BY 1
|
|
|
|
SELECT b.descripcion,SUM(a.debito - a.credito) INTO descr3,gasto1
|
|
FROM cgtb00004 a,cgtb00001 b
|
|
WHERE a.cuenta_no = b.cuenta_no AND a.cuenta_no = "1143" AND
|
|
a.fecha <= fecha2 AND a.status_t IS NULL
|
|
GROUP BY 1
|
|
|
|
IF material1 IS NULL THEN
|
|
LET material1 = 0
|
|
END IF
|
|
IF mano_ob1 IS NULL THEN
|
|
LET mano_ob1 = 0
|
|
END IF
|
|
IF gasto1 IS NULL THEN
|
|
LET gasto1 = 0
|
|
END IF
|
|
|
|
LET material1 = material - material1
|
|
LET gasto1 = gasto - gasto1
|
|
LET mano_ob1 = mano_ob - mano_ob1
|
|
|
|
IF material1 IS NULL THEN
|
|
LET material1 = 0
|
|
END IF
|
|
IF mano_ob1 IS NULL THEN
|
|
LET mano_ob1 = 0
|
|
END IF
|
|
IF gasto1 IS NULL THEN
|
|
LET gasto1 = 0
|
|
END IF
|
|
|
|
IF material1 <> 0 AND material1 IS NOT NULL THEN
|
|
PRINT COLUMN 2, "1141",
|
|
COLUMN 18, descr1 CLIPPED;
|
|
|
|
IF material1 > 0 THEN
|
|
PRINT COLUMN 50, material1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"1141",null,null,null,
|
|
null,null,detalle1,null,material1,0,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
IF material1 < 0 THEN
|
|
PRINT COLUMN 65, material1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"1141",null,null,null,
|
|
null,null,detalle1,null,0,material1,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
END IF
|
|
|
|
IF mano_ob1 <> 0 AND mano_ob1 IS NOT NULL THEN
|
|
PRINT COLUMN 2, "1142",
|
|
COLUMN 18, descr2 CLIPPED;
|
|
|
|
IF mano_ob1 > 0 THEN
|
|
PRINT COLUMN 50, mano_ob1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"1142",null,null,null,
|
|
null,null,detalle1,null,mano_ob1,0,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
IF mano_ob1 < 0 THEN
|
|
PRINT COLUMN 65, mano_ob1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"1142",null,null,null,
|
|
null,null,detalle1,null,0,mano_ob1,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
END IF
|
|
|
|
IF gasto1 <> 0 AND gasto1 IS NOT NULL THEN
|
|
PRINT COLUMN 2, "1143",
|
|
COLUMN 18, descr3 CLIPPED;
|
|
|
|
IF gasto1 > 0 THEN
|
|
PRINT COLUMN 50, gasto1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"1143",null,null,null,
|
|
null,null,detalle1,null,gasto1,0,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
IF gasto1 < 0 THEN
|
|
PRINT COLUMN 65, gasto1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"1143",null,null,null,
|
|
null,null,detalle1,null,0,gasto1,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
END IF
|
|
|
|
IF material1 <> 0 AND material1 IS NOT NULL THEN
|
|
PRINT COLUMN 2, "5409",
|
|
COLUMN 11, "4101",
|
|
COLUMN 18, "VARIACION USO MATERIALES";
|
|
|
|
IF material1 < 0 THEN
|
|
PRINT COLUMN 50, material1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"5409",4101,null,null,
|
|
null,null,detalle1,null,material1,0,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
IF material1 > 0 THEN
|
|
PRINT COLUMN 65, material1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"5409",4101,null,null,
|
|
null,null,detalle1,null,0,material1,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
END IF
|
|
|
|
IF mano_ob1 <> 0 AND mano_ob1 IS NOT NULL THEN
|
|
PRINT COLUMN 2, "5415",
|
|
COLUMN 11, "4101",
|
|
COLUMN 18, "VARIACION PROCESO -MOD-";
|
|
|
|
IF mano_ob1 < 0 THEN
|
|
PRINT COLUMN 50, mano_ob1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"5415",4101,null,null,
|
|
null,null,detalle1,null,mano_ob1,0,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
IF mano_ob1 > 0 THEN
|
|
PRINT COLUMN 65, mano_ob1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"5415",4101,null,null,
|
|
null,null,detalle1,null,0,mano_ob1,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
END IF
|
|
|
|
IF gasto1 <> 0 AND gasto1 IS NOT NULL THEN
|
|
PRINT COLUMN 2, "5511",
|
|
COLUMN 11, "4101",
|
|
COLUMN 18, "VARIACION PROCESO G. I.";
|
|
|
|
IF gasto1 < 0 THEN
|
|
PRINT COLUMN 50, gasto1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"5511",4101,null,null,
|
|
null,null,detalle1,null,gasto1,0,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
IF gasto1 > 0 THEN
|
|
PRINT COLUMN 65, gasto1 using "###,###,##&.&&"
|
|
IF afecta = "S" THEN
|
|
|
|
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,"5511",4101,null,null,
|
|
null,null,detalle1,null,0,gasto1,null,
|
|
user,current,null,null)
|
|
END IF
|
|
END IF
|
|
END IF
|
|
|
|
LET material6 = material1 + mano_ob1 + gasto1
|
|
|
|
SKIP 3 LINE
|
|
PRINT negrillas_on
|
|
PRINT COLUMN 35, "TOTALES : ",
|
|
COLUMN 50, material6 using "###,###,##&.&&",
|
|
COLUMN 65, material6 using "###,###,##&.&&"
|
|
PRINT negrillas_off
|
|
|
|
SKIP 2 LINE
|
|
PRINT COLUMN 1,detalle
|
|
|
|
LET material = 0
|
|
LET gasto = 0
|
|
LET mano_ob = 0
|
|
LET material1 = 0
|
|
LET gasto1 = 0
|
|
LET mano_ob1 = 0
|
|
END REPORT
|
|
|
|
FUNCTION pantalla()
|
|
DEFINE fecha CHAR(8),
|
|
hora char(5)
|
|
LET fecha = today USING "dd/mm/yy"
|
|
LET hora = time
|
|
DISPLAY "R A Y . O . V A C D O M I N I C A N A, S. A." AT 4,17
|
|
ATTRIBUTE (REVERSE,YELLOW)
|
|
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
|
|
DISPLAY "Sistema de Contabilidad General" AT 5,24
|
|
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
|
|
|
|
CALL fgl_drawbox(5,79,3,1)
|
|
CALL fgl_drawbox(1,79,22,1)
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|
|
FUNCTION msgrp000(tipo_papel)
|
|
DEFINE tipo_papel SMALLINT,
|
|
longitud CHAR(11),
|
|
linea_papel CHAR(50)
|
|
|
|
CASE
|
|
WHEN tipo_papel = 1
|
|
LET longitud = " 9 1/2 x 11"
|
|
WHEN tipo_papel = 2
|
|
LET longitud = "14 7/8 x 11"
|
|
END CASE
|
|
|
|
LET linea_papel = "Coloque papel ",longitud," en la impresora."
|
|
DISPLAY linea_papel
|
|
AT 15,14
|
|
DISPLAY "Asegurese de que la impresora este encendida."
|
|
AT 16,14
|
|
DISPLAY "<Esc> Ejecuta impresion <Supr> Cancela impresion"
|
|
AT 18,14
|
|
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|