{ =========================================================================== PROGRAMA : prprrp018 SISTEMA : PRODUCCION OBJETIVO : LISTAR Control ORDENES DE PRODUCCION AUTOR : JUAN F. SOTO FECHA : Agosto 12, 2000 =========================================================================== } GLOBALS "prprgb000.4gl" DEFINE rango RECORD fecha_inicial DATE, fecha_final DATE END RECORD FUNCTION prprrp018() DEFINE opcion CHAR(1), filename,archivo,filename1 CHAR(120), cnt SMALLINT, cels CHAR(30), nomb1 LIKE adtb00003.nom1_emp, nomb2 LIKE adtb00003.apell1_emp, nombre_c LIKE vetb00004.nombre, nombre_p LIKE iptb00002.descrip_esp, numero_ant INTEGER, valor DECIMAL(12,2) DEFINE prtb12 RECORD LIKE prtb00012.* DEFINE prtb13 RECORD LIKE prtb00013.*, cant_req DEC(12,4) OPTIONS PROMPT LINE 23, FORM LINE 8, ERROR LINE 23 OPEN FORM prfmrp018 FROM "prfmrp018" DISPLAY FORM prfmrp018 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 START REPORT control_o TO "dumy" LET selec = "SELECT a.num_oc,a.fecha_oc,a.cotizacion_no,a.tipo_cliente,a.sec_cliente,b.nombre,a.sec_vend,", " c.nom1_emp + ' '+c.nom2_emp + ' '+c.apell1_emp", " WHERE ",criterio CLIPPED, " AND d.fecha BETWEEN '",rango.fecha_inicial,"' AND '", rango.fecha_final,"'", " AND a.num_oc = b.num_oc ", " b.num_oc = c.num_oc ", " AND c.num_req = d.num_req ", " AND b.cod_n = c.cod_n AND b.cod_grupo = c.cod_grupo AND ", " b.cod_tipo = c.cod_tipo AND a.cod_sec = b.cod_sec ", " AND a.status_t IS NULL", " ORDER BY a.sec_vend,a.num_oc" PREPARE comando FROM selec DECLARE busca CURSOR FOR comando FOREACH busca INTO prtb12.*,prtb13.*,cant_req # Busca el nombre del cliente SELECT a.nombre INTO nombre_c FROM vetb00004 a WHERE a.tipo_cliente = prtb12.tipo_cliente AND a.sec_cliente = prtb12.sec_cliente # Busca la descripcion del producto SELECT a.descrip_esp,a.unidad_med INTO nombre_p FROM iptb00002 a WHERE a.cod_n = prtb13.cod_n AND a.cod_grupo = prtb13.cod_grupo AND a.cod_tipo = prtb13.cod_tipo AND a.cod_sec = prtb13.cod_sec OUTPUT TO REPORT control_o(prtb12.*,prtb13.*,cant_req) END FOREACH FINISH REPORT control_o END FUNCTION REPORT control_o() DEFINE x RECORD LIKE prtb00012.*, Z RECORD LIKE prtb00013.*, xcantidad DEC(12,4) END REPORT