{ ============================================================================== 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 "<<>>" 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