Files
MBS/PROYECTO/lqdir/lqprrp003.4gl
T

236 lines
6.4 KiB
Plaintext

{
==============================================================================
PROGRAMA : LQPRRP003
SISTEMA : Sistema de Liquidacion Materiales
Objetivo : Validacion de las ordenes que estan para validar y
no estan en la tabla de contabilidad general
PROGRAMADOR : Juan F. Soto
FECHA : Mayo 20, 1994
MODIFICADO :
FECHA :
==============================================================================
}
GLOBALS
"lqprgb000.4gl"
DEFINE i SMALLINT
DEFINE orden INTEGER
DEFINE fecha_inicial,fecha_final DATE
DEFINE tasa DECIMAL(8,2)
FUNCTION lqprrp003()
DEFINE busca_datos RECORD
num_oc CHAR(12),
fecha DATE,
ref LIKE cgtb00004.ref,
debito DECIMAL(12,2),
credito DECIMAL(12,2)
END RECORD
WHENEVER ERROR CONTINUE
LET int_flag = FALSE
OPTIONS
FORM LINE 8
OPEN FORM lqfmrp003 FROM "lqfmrp003"
DISPLAY FORM lqfmrp003
DISPLAY "lqprrp003" AT 4,3
DISPLAY "Validacion Ordenes" AT 6,28
LET tipo_papel = 2
CALL msgrp000(tipo_papel)
INPUT BY NAME fecha_inicial,fecha_final
AFTER FIELD fecha_inicial
IF fecha_inicial IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_inicial
END IF
AFTER FIELD fecha_final
IF fecha_final IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_final
END IF
IF fecha_inicial > fecha_final THEN
LET numero_msg = 51
CALL msg(numero_msg)
NEXT FIELD fecha_inicial
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
START REPORT valida TO "aa"
DISPLAY "<<<Reporte Generandose... Espere por Favor>>>" AT 19,14
ATTRIBUTE(YELLOW)
LET i = 0
DECLARE busca CURSOR FOR
SELECT unique a.num_doc,a.fecha,a.ref,a.debito,a.credito
FROM cgtb00004 a
WHERE a.num_doc is not null and a.cuenta_no in ("1161","1161-01") and
a.fecha between fecha_inicial and fecha_final and
a.status_t is null
ORDER BY 1
LET idx = 0
FOREACH busca INTO busca_datos.*
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
LET i = 1
LET orden = busca_datos.num_oc
LET bandera = 0
CALL integridad()
IF bandera = 1 THEN
LET idx = idx + 1
OUTPUT TO REPORT valida(busca_datos.*)
END IF
IF bandera = 0 THEN
SELECT unique b.num_oc FROM cotb00014 b
WHERE b.num_oc = orden and
b.status_t is null
IF status = notfound THEN
LET idx = idx + 1
OUTPUT TO REPORT valida(busca_datos.*)
END IF
END IF
LET bandera = 0
END FOREACH
IF idx = 0 THEN
OUTPUT TO REPORT valida(busca_datos.*)
END IF
IF i = 0 THEN
OUTPUT TO REPORT valida(busca_datos.*)
END IF
FINISH REPORT valida
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT valida(x)
DEFINE x RECORD
num_oc CHAR(12),
fecha DATE,
ref LIKE cgtb00004.ref,
debito DECIMAL(12,2),
credito DECIMAL(12,2)
END RECORD
DEFINE valor DECIMAL(12,2)
DEFINE fecha1,fecha2 DATE
DEFINE variacion,cost_unit,precio_std,fob,c_f,seguro,cost_pl,
costo_unit DECIMAL(12,2)
DEFINE balan_act DECIMAL(12,2)
DEFINE descrip1 CHAR(30)
DEFINE p_cuenta CHAR(8)
DEFINE otras_cta CHAR(8)
## DEFINICION DE LAS VARIABLES DE IMPRESION
DEFINE doble_on CHAR(2)
DEFINE doble_off CHAR(2)
DEFINE negrillas_on CHAR(2)
DEFINE negrillas_off CHAR(2)
DEFINE comp_on CHAR(2)
DEFINE comp_off CHAR(2)
DEFINE doce CHAR(2)
DEFINE normal CHAR(2)
DEFINE hora CHAR(5)
OUTPUT
## DEFINICION DE LOS MARGENES DE IMPRESION
TOP MARGIN 0
LEFT MARGIN 2
BOTTOM MARGIN 3
FORMAT
PAGE HEADER
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 31
LET comp_off = ASCII 29
LET doce = ASCII 30
LET normal = ASCII 029
LET hora = time
## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS
PRINT COLUMN 1, comp_on,
COLUMN 2, "lqprrp003",
COLUMN 14, negrillas_on,
COLUMN 15, doble_on,
COLUMN 17, "R A Y . O . V A C D O M I N I C A N A, S. A.",
negrillas_off,
doble_off,
COLUMN 86, "Pag. ",pageno using "###"
PRINT COLUMN 43, "Sistema de Contabilidad General",
COLUMN 127, today using "dd/mm/yy"
PRINT COLUMN 48, "Validacion Ordenes",
COLUMN 130, hora
PRINT COLUMN 47, "Del ",fecha_inicial USING "dd/mm/yy"," Al ",
fecha_final USING "dd/mm/yy"
PRINT comp_off,negrillas_on
PRINT COLUMN 1, "---------------------------------------------------",
"---------------------------"
PRINT COLUMN 1, "Ordenes",
COLUMN 13, "Fecha",
COLUMN 24, "Documento",
COLUMN 52, "Debito",
COLUMN 68, "Credito"
PRINT COLUMN 1, "----------------------------------------------------",
"---------------------------"
IF i = 0 THEN
PRINT COLUMN 24, "=== NO HAY REGISTROS PARA LA IMPRESION ======"
ELSE
PRINT negrillas_off
END IF
IF idx = 0 THEN
PRINT COLUMN 24, "=== TODAS LAS ORDENES ESTAN CORRECTAMENTE DIGITADAS EN",
" CONTABILIDAD GENERAL, FELICITACIONES ========"
ELSE
PRINT negrillas_off
END IF
ON EVERY ROW
IF i = 1 OR idx > 0 THEN
PRINT COLUMN 1,x.num_oc,
COLUMN 13, x.fecha using "dd/mm/yy",
COLUMN 24, x.ref,
COLUMN 46, x.debito using "##,###,###.##",
COLUMN 63, x.credito using "##,###,###.##"
END IF
END REPORT