Files
MBS/PROYECTO/cgdir/edprrp054.4gl
T

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