{ =========================================================================== PROGRAMA : prprrp017 SISTEMA : PRODUCCION OBJETIVO : LISTAR ORDENES DE PRODUCCION Pendientes y No Pendientes AUTOR : JUAN F. SOTO FECHA : JULIO 22, 2000 =========================================================================== } GLOBALS "prprgb000.4gl" DEFINE rango RECORD fecha_inicial DATE, fecha_final DATE END RECORD FUNCTION prprrp017() DEFINE opcion CHAR(1) DEFINE prt12 RECORD LIKE prtb00012.* DEFINE prt13 RECORD LIKE prtb00013.*, prt09 RECORD LIKE prtb00009.* OPTIONS PROMPT LINE 23, FORM LINE 8, ERROR LINE 23 OPEN FORM prfmrp017 FROM "prfmrp017" DISPLAY FORM prfmrp017 LET tipo_papel = 2 CALL msgrp000(tipo_papel) INPUT BY NAME rango.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF CONSTRUCT BY NAME criterio ON a.num_oc,a.sec_vend IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF DISPLAY " Entrando a seleccion de los datos ........ " AT 17,14 LET selec = "SELECT a.*,b.*,c.* FROM prtb00012 a, prtb00013 b, prtb00009 c ", " WHERE ",criterio CLIPPED, " AND a.fecha_oc BETWEEN '",rango.fecha_inicial,"' AND '", rango.fecha_final,"'", " AND a.num_oc = b.num_oc ", " AND a.num_oc = c.num_oc ", " AND a.status_t IS NULL", " ORDER BY a.sec_vend,a.num_oc" DISPLAY " Sale de la seccion de los datos ......... " AT 17,14 PREPARE comando FROM selec DECLARE busca CURSOR FOR comando DISPLAY "Reporte Generandose ... Espere Por Favor" AT 17,14 START REPORT reporte_17 TO "C:\\archivo" FOREACH busca INTO prt12.*,prt13.*,prt09.* OUTPUT TO REPORT reporte_17(prt12.*,prt13.*,prt09.*) END FOREACH FINISH REPORT reporte_17 CASE WHEN p_user = "usagg01" RUN "type C:\\archivo > LPT1" WHEN p_user = "usgven01" RUN "type C:\\archivo > LPT4" OTHERWISE RUN "type C:\\archivo > %USPRINT%" END CASE END FUNCTION REPORT reporte_17(x,y,z) DEFINE x RECORD LIKE prtb00012.*, y RECORD LIKE prtb00013.*, z RECORD LIKE prtb00009.*, nomb1 LIKE adtb00003.nom1_emp, nomb2 LIKE adtb00003.apell1_emp, nombre_c LIKE vetb00004.nombre, nombre_p LIKE iptb00002.descrip_esp, negrillas_on,negrillas_off CHAR(2), unidad_p LIKE iptb00002.unidad_med, xpendiente CHAR(20) OUTPUT LEFT MARGIN 5 FORMAT PAGE HEADER LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET doce = ASCII 27, ascii 77 LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET hora = time PRINT comp_on,negrillas_on PRINT COLUMN 1, "prprrp017", COLUMN 29, " M A R M O T E C H, S. A.", COLUMN 90, "Pag. ",pageno USING "###" PRINT COLUMN 29, " SISTEMA DE PRODUCCION", COLUMN 90, today using "dd/mm/yy" PRINT COLUMN 29, " MONITOREO ORDENES DE PRODUCCION", COLUMN 94, hora SKIP 1 LINE PRINT rango.fecha_inicial USING "dd/mm/yyyy", " AL ", rango.fecha_final USING "dd/mm/yyyy" PRINT "====================================================================", "======================================" PRINT COLUMN 1,"NUMERO" PRINT COLUMN 1, "ORDEN", COLUMN 10, "FECHA", COLUMN 20, "CLIENTE", COLUMN 59, "DETALLE" PRINT "====================================================================", "======================================" PRINT negrillas_off BEFORE GROUP OF x.sec_vend LET nomb1= NULL LET nomb2= NULL SELECT a.nom1_emp,a.apell1_emp INTO nomb1,nomb2 FROM adtb00003 a WHERE a.num_emp = x.sec_vend PRINT negrillas_on,"Vendedor: ",x.sec_vend USING "<<<<"," ", nomb1 CLIPPED," ",nomb2,negrillas_off BEFORE GROUP OF x.num_oc PRINT negrillas_on # Busca la descripcion del producto SELECT a.descrip_esp,a.unidad_med INTO nombre_p,unidad_p FROM iptb00002 a WHERE a.cod_n = y.cod_n AND a.cod_grupo = y.cod_grupo AND a.cod_tipo = y.cod_tipo AND a.cod_sec = y.cod_sec # Busca el nombre del cliente SELECT a.nombre INTO nombre_c FROM vetb00004 a WHERE a.tipo_cliente = x.tipo_cliente AND a.sec_cliente = x.sec_cliente IF z.pendiente = "S" THEN LET xpendiente = "ABIERTA" ELSE LET xpendiente = "CERRADA" END IF PRINT COLUMN 1, x.num_oc USING "<<<<<<", COLUMN 10,x.fecha_oc USING "dd/mm/yyyy", COLUMN 20,x.tipo_cliente USING "##",x.sec_cliente USING "####"," ", nombre_c," ", xpendiente,negrillas_off ON EVERY ROW PRINT COLUMN 55, z.fecha USING "dd/mm/yyyy"," ", z.detalle WORDWRAP RIGHT MARGIN 100 AFTER GROUP OF x.sec_vend PRINT "----------------------------------------------------------------", "-------------------------------------------------" ON LAST ROW PRINT comp_off END REPORT