{ ------------------------------------------------------------------------------- PROGRAMA : CTPRRP020 OBJETIVO : Validacion de la Relacion de Prod. Term. y Semi-Elab. PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Junio 22, 1994. ------------------------------------------------------------------------------- } GLOBALS "ctprgb000.4gl" DEFINE idx_b SMALLINT DEFINE salir CHAR(1) DEFINE val_rel RECORD cod_n LIKE cttb00006.cod_n, cod_grupo LIKE cttb00006.cod_grupo, cod_tipo LIKE cttb00006.cod_tipo, cod_sec LIKE cttb00006.cod_sec, descrip_esp LIKE intb00001.descrip_esp, cod_prod LIKE cttb00006.cod_prod, descripcion LIKE cttb00001.descripcion, unidad_med LIKE cttb00001.unidad_med, cantidad LIKE cttb00006.cantidad, codigo CHAR(7) END RECORD DEFINE codigo_ant RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT END RECORD DEFINE balances RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, balance LIKE cttb00006.cantidad END RECORD DEFINE select_balan CHAR(1000) FUNCTION ctprrp020() #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 9, ERROR LINE 23, COMMENT LINE 21 OPEN FORM ctfmrp020 FROM "ctfmrp020" DISPLAY FORM ctfmrp020 CALL pantalla() DISPLAY "ctprrp020" AT 4,3 DISPLAY "Relacion Prod. Terminado Y Semi-Elaborado" AT 6,23 LET tipo_papel = 1 CALL msgrp000(tipo_papel) CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.cod_prod FROM cod_n,cod_grupo,cod_tipo,cod_sec,cod_prod IF int_flag THEN let numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF LET selec = "SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp, ", " a.cod_prod,c.descripcion,c.unidad_med,a.cantidad ", "FROM cttb00006 a,intb00001 b,cttb00001 c ", "WHERE a.status_t is null AND b.status_t IS NULL AND c.status_t IS NULL AND ", " a.cod_prod = c.cod_prod AND 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 ",criterio CLIPPED DISPLAY "<< Estoy Buscando Informacion... Espere Por Favor " AT 19,14 ATTRIBUTE (REVERSE,BOLD) PREPARE comando FROM selec DECLARE busco CURSOR FOR comando OPEN busco START REPORT reporte20 TO PIPE "lp -dcentral" #"C:\\archivo" DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE,BOLD) WHILE STATUS != NOTFOUND FETCH busco INTO val_rel.* IF status = notfound THEN EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET val_rel.codigo = val_rel.cod_n USING "&", val_rel.cod_grupo USING "&", val_rel.cod_tipo USING "&&", val_rel.cod_sec USING "&&&" OUTPUT TO REPORT reporte20(val_rel.*) END WHILE FINISH REPORT reporte20 CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte20(x) DEFINE x RECORD cod_n LIKE cttb00006.cod_n, cod_grupo LIKE cttb00006.cod_grupo, cod_tipo LIKE cttb00006.cod_tipo, cod_sec LIKE cttb00006.cod_sec, descrip_esp LIKE intb00001.descrip_esp, cod_prod LIKE cttb00006.cod_prod, descripcion LIKE cttb00001.descripcion, unidad_med LIKE cttb00001.unidad_med, cantidad LIKE cttb00006.cantidad, codigo CHAR(7) END RECORD, cantidad DECIMAL(12,2) DEFINE t_valor,valor,costo DECIMAL(12,4) DEFINE nombre CHAR(8), und CHAR(3) , doble_on CHAR(3), doble_off CHAR(3), negrillas_on CHAR(6), negrillas_off CHAR(6), comprimido_on CHAR(2), comprimido_off,doce CHAR(3), primera, busca,imprime CHAR(1), hora CHAR(5), balan_ini,canti,balance_rp DECIMAL(12,2), entrada,salida DECIMAL(12,2) OUTPUT LEFT MARGIN 0 ORDER BY x.codigo 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 comprimido_on = ASCII 31 LET comprimido_off = ASCII 029 LET doce = ASCII 030 LET hora = time LET l = (100 - LENGTH(p_compania.nombre CLIPPED))/2 PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "ctprrp020", COLUMN l, p_compania.nombre CLIPPED, COLUMN 73, "Pag. ",pageno using "<&&" LET l = (100 - LENGTH("Sistema de Costos"))/2 PRINT COLUMN l, "Sistema de Costos", COLUMN 73, today using "dd/mm/yy" LET l = (100 - LENGTH("Relacion Prod. Term. y Semi-Elaborado"))/2 PRINT COLUMN l, "Relacion Prod. Term. y Semi-Elaborado", COLUMN 76, hora SKIP 1 LINES PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT COLUMN 1, "Semi-Elaborado", COLUMN 73, "Cantidad" PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" BEFORE GROUP OF x.codigo PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, x.cod_n USING "&","-",x.cod_grupo USING "&","-", x.cod_tipo USING "&&","-",x.cod_sec USING "&&&", " ",x.descrip_esp PRINT COLUMN 1, negrillas_off ON EVERY ROW PRINT COLUMN 1, x.cod_prod USING "&&&"," ", x.descripcion," ",x.unidad_med CLIPPED, COLUMN 70, x.cantidad USING "##,###.####" END REPORT