{ -------------------------------------------------------------------------- PROGRAMA : CCPRCS002 OBJETIVO : Este programa consulta la factura comercial REALIZADO POR : JUAN SOTO FECHA : Mayo 27,1997. DIRECTOR PROYECTO : JOSE ALFREDO PAULINO -------------------------------------------------------------------------- } GLOBALS "ccprgb000.4gl" DEFINE p_cantidad INTEGER DEFINE dias_v SMALLINT DEFINE estatus,p_impresion CHAR(1) DEFINE estado RECORD nula CHAR(6), impresa CHAR(6) END RECORD DEFINE cons_fact RECORD cod_cia LIKE vetb00002.cod_cia, ventas LIKE vetb00002.ventas , zona LIKE vetb00002.zona , factura LIKE vetb00002.factura, fecha_factura LIKE vetb00002.fecha_factura, tipo_cliente LIKE vetb00002.tipo_cliente, sec_cliente LIKE vetb00002.sec_cliente, cond_pago LIKE vetb00002.cond_pago, porc_desc LIKE vetb00002.porc_desc, prima_us LIKE vetb00002.prima_us, orden LIKE vetb00002.orden, fecha_orden LIKE vetb00002.fecha_orden, conduce LIKE vetb00002.conduce, fecha_conduce LIKE vetb00002.fecha_conduce, porc_itbi LIKE vetb00002.porc_itbi, sec_vend LIKE vetb00002.sec_vend, fecha_embarque LIKE vetb00002.fecha_embarque, sub_total LIKE vetb00002.sub_total, desc_valor LIKE vetb00002.monto_desc, itbi LIKE vetb00002.monto_itbi, total_fact LIKE vetb00002.neto, nombre CHAR(30), direccion CHAR(50), ciudad CHAR(15), nombre_desc CHAR(25), descrip CHAR(25), nombre_vend CHAR(29), cod_transp LIKE iptb00006.cod_transp, sec_transp LIKE iptb00006.sec_transp, nombre_tran LIKE vetb00015.nombre, placa_transp LIKE iptb00006.placa, cod_tarifa LIKE iptb00006.cod_tarifa, descrip5 CHAR(15), descrip6 CHAR(15), descrip1 CHAR(30), nombre_tipo CHAR(15), compania CHAR(50) END RECORD DEFINE arr_disp ARRAY[200] OF RECORD cod_n LIKE vetb00003.cod_n, cod_grupo LIKE vetb00003.cod_grupo, cod_tipo LIKE vetb00003.cod_tipo, cod_sec LIKE vetb00003.cod_sec, descrip_esp CHAR(40), unidad_med CHAR(3), cantidad LIKE vetb00003.cantidad, precio LIKE vetb00003.precio, monto_fact DECIMAl(10,2) END RECORD DEFINE t_valor,valor_p,balance DECIMAL(12,2) DEFINE p_provincia SMALLINT DEFINE p_descr1,p_descr2 CHAR(14) MAIN DEFER INTERRUPT CALL ARG_VAL(1) RETURNING usuarios CALL ARG_VAL(2) RETURNING clave CALL ARG_VAL(3) RETURNING impresor CONNECT to "smarmotech" USER usuarios USING clave SELECT a.* INTO p_companias.* FROM companias a CALL ccprcs002() END MAIN FUNCTION ccprcs002() DEFINE tipo_fact,p_cod,p_bonif,cantidad_total,ano_act,ano_fe,credito,t_bonif, provincia,factor INTEGER DEFINE hoy DATE DEFINE hice,primera,tipo_p,opt2,opt1,opt CHAR(1) DEFINE tipo_f,tipo2 CHAR(2) DEFINE cod_desc,tipo1 SMALLINT DEFINE precio_ant,cantidad_ant,precio DECIMAL(12,3), i,longitud SMALLINT DEFINE tot_porc1,porc_desc,tot_porc DECIMAL(8,3) OPTIONS FORM LINE 3, ERROR LINE 24, COMMENT LINE 23, PROMPT LINE 22 CLEAR SCREEN OPEN FORM ccfmcs002 FROM "ccfmcs002" DISPLAY FORM ccfmcs002 DISPLAY "ccprcs002" AT 1,1 ATTRIBUTE (blue) LET hoy = today DISPLAY hoy using "dd/mm/yy" AT 1,70 ATTRIBUTE (blue) DISPLAY "Factura de Ventas" AT 3,30 ATTRIBUTE (blue) DISPLAY " Busqueda de Registro" AT 3,1 ATTRIBUTE (BOLD) DISPLAY " Cancela Operacion" AT 3,54 ATTRIBUTE (BOLD) # WHENEVER ERROR CONTINUE LABEL vuelve: CONSTRUCT criterio ON a.cod_cia,a.ventas,a.zona,a.factura,a.fecha_factura, a.tipo_cliente,a.sec_cliente,a.cond_pago,a.prima_us, a.orden,a.fecha_orden,a.conduce,a.fecha_conduce, a.porc_itbi,a.sec_vend,a.fecha_embarque FROM cod_cia,ventas,zona,factura,fecha_factura, tipo_cliente,sec_cliente,cond_pago,prima_us,orden, fecha_orden,conduce,fecha_conduce,porc_itbi,sec_vend, fecha_embarque LET selec = "SELECT a.cod_cia,a.ventas,a.zona,a.factura,a.fecha_factura, ", " a.tipo_cliente,a.sec_cliente,a.cond_pago,a.porc_desc,a.prima_us, ", " a.orden,a.fecha_orden,a.conduce,a.fecha_conduce,a.porc_itbi, ", " a.sec_vend,a.fecha_embarque,a.sub_total,a.monto_desc, ", " a.monto_itbi,a.neto ", "FROM vetb00002 a WHERE ",criterio clipped, "Order by 1,4" IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF PREPARE comando FROM selec DECLARE buscar SCROLL CURSOR FOR comando OPEN buscar FETCH FIRST buscar INTO cons_fact.* IF status = notfound THEN LET numero_msg = 3 CALL msg(numero_msg) GOTO vuelve END IF IF STATUS < 0 THEN CALL integridad() IF bandera = 1 THEN LET bandera = 0 RETURN END IF END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF SELECT UNIQUE status_t,status_impresion INTO estatus,p_impresion FROM vetb00002 WHERE factura = cons_fact.factura AND status_t IS NULL IF estatus = "E" THEN LET estado.nula = "NULA" ELSE LET estado.nula = "ACTIVA" END IF IF p_impresion = "S" THEN LET estado.impresa = "Impresa" ELSE LET estado.impresa = "N Impre" END IF IF cons_fact.cod_cia = 1 THEN LET cons_fact.compania = p_companias.nombre CLIPPED END IF IF cons_fact.ventas = 1 THEN LET cons_fact.nombre_tipo = "L O C A L" END IF IF cons_fact.ventas = 2 THEN LET cons_fact.nombre_tipo = "EXPORTACION" END IF SELECT a.nombre,a.cod_provincia INTO cons_fact.nombre,p_provincia FROM vetb00004 a WHERE a.tipo_cliente = cons_fact.tipo_cliente and a.sec_cliente = cons_fact.sec_cliente and a.status_t IS NULL SELECT b.calle,b.casa_num,b.barrio INTO p_descr1,p_descr2,descrip3 FROM vetb00005 b WHERE b.tipo_cliente = cons_fact.tipo_cliente and b.sec_cliente = cons_fact.sec_cliente and b.status_t IS NULL SELECT q.nombre_provincia INTO cons_fact.ciudad FROM vetb00020 q WHERE q.cod_provincia = p_provincia AND q.status_t IS NULL LET cons_fact.direccion =p_descr1 clipped," ",p_descr2 clipped, ", ",descrip3 clipped IF cons_fact.ventas = "1" THEN SELECT descrip INTO cons_fact.descrip1 FROM vetb00008 WHERE cod_zona = cons_fact.zona END IF IF cons_fact.ventas = "2" THEN SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018 WHERE cod_pais = cons_fact.zona END IF SELECT @descrip,@dias INTO cons_fact.descrip,dias_v FROM vetb00012 WHERE cond_pago = cons_fact.cond_pago SELECT UNIQUE nom1_emp,apell1_emp INTO p_descr1,p_descr2 FROM adtb00003 WHERE num_emp = cons_fact.sec_vend LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped DISPLAY BY NAME cons_fact.nombre_vend { SELECT UNIQUE a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa INTO cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp, cons_fact.cod_tarifa FROM iptb00006 a WHERE (a.status_t IS NULL) AND (a.num_doc=cons_fact.factura) AND (a.cod_mov IN (30,31)) and fecha_factura > "01/01/2007" } SELECT nombre INTO cons_fact.nombre_tran FROM vetb00015 WHERE cod_transp = cons_fact.cod_transp and sec_transp = cons_fact.sec_transp and status_t is null SELECT descrip INTO descrip6 FROM vetb00023 WHERE cod_tarifa = cons_fact.cod_tarifa and status_t is null LET cons_fact.descrip5 = descrip6[1,15] clipped LET cons_fact.descrip6 = descrip6[16,30] clipped DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue) MENU "Opciones" COMMAND "Siguiente" "Ver proximo registro" FETCH NEXT buscar INTO cons_fact.*,estado.* IF STATUS = NOTFOUND THEN LET numero_msg = 4 CALL msg(numero_msg) END IF IF cons_fact.cod_cia = 1 THEN LET cons_fact.compania = p_companias.nombre CLIPPED END IF DISPLAY BY NAME cons_fact.compania SELECT a.nombre,a.cod_provincia INTO cons_fact.nombre,p_provincia FROM vetb00004 a WHERE a.tipo_cliente = cons_fact.tipo_cliente and a.sec_cliente = cons_fact.sec_cliente and a.status_t IS NULL DISPLAY BY NAME cons_fact.nombre SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3 FROM vetb00005 b WHERE b.tipo_cliente = cons_fact.tipo_cliente and b.sec_cliente = cons_fact.sec_cliente and b.status_t IS NULL SELECT q.nombre_provincia INTO cons_fact.ciudad FROM vetb00020 q WHERE q.cod_provincia = p_provincia AND q.status_t IS NULL LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped, ", ",descrip3 clipped DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad IF cons_fact.ventas = "2" THEN SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018 WHERE cod_pais = cons_fact.zona END IF DISPLAY BY NAME cons_fact.descrip1 SELECT @descrip,@dias INTO cons_fact.descrip,dias_v FROM vetb00012 WHERE cond_pago = cons_fact.cond_pago DISPLAY BY NAME cons_fact.descrip SELECT nom1_emp,apell1_emp INTO p_descr1,p_descr2 FROM adtb00003 WHERE num_emp = cons_fact.sec_vend LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped DISPLAY BY NAME cons_fact.nombre_vend SELECT unique a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa INTO cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp, cons_fact.cod_tarifa FROM iptb00006 a WHERE (a.status_t IS NULL) AND (a.num_doc = cons_fact.factura) AND (a.cod_mov IN (30,31)) DISPLAY BY NAME cons_fact.cod_transp,cons_fact.sec_transp, cons_fact.placa_transp SELECT nombre INTO cons_fact.nombre_tran FROM vetb00015 WHERE cod_transp = cons_fact.cod_transp and sec_transp = cons_fact.sec_transp and status_t is null DISPLAY BY NAME cons_fact.nombre_tran SELECT descrip INTO descrip6 FROM vetb00023 WHERE cod_tarifa = cons_fact.cod_tarifa and status_t is null LET cons_fact.descrip5 = descrip6[1,15] clipped LET cons_fact.descrip6 = descrip6[16,30] clipped DISPLAY BY NAME cons_fact.descrip5,cons_fact.descrip6 DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue) #--------------------------------------------------------------------# SELECT status_t,status_impresion INTO estatus,p_impresion FROM vetb00002 WHERE factura = cons_fact.factura AND status_t IS NULL IF estatus = "E" THEN LET estado.nula = "NULA" ELSE LET estado.nula = "ACTIVA" END IF IF p_impresion = "S" THEN LET estado.impresa = "Impresa" ELSE LET estado.impresa = "N Impre" END IF #DISPLAY BY NAME estado.* ATTRIBUTE(blue) COMMAND "Anterior" "Ver registro anterior" FETCH PREVIOUS buscar INTO cons_fact.*,estado.* IF STATUS = NOTFOUND THEN LET numero_msg = 5 CALL msg(numero_msg) END IF IF cons_fact.cod_cia = 1 THEN LET cons_fact.compania = p_companias.nombre CLIPPED END IF IF cons_fact.cod_cia = 2 THEN LET cons_fact.compania = " " END IF DISPLAY BY NAME cons_fact.compania SELECT a.nombre,a.cod_provincia INTO cons_fact.nombre,p_provincia FROM vetb00004 a WHERE a.tipo_cliente = cons_fact.tipo_cliente and a.sec_cliente = cons_fact.sec_cliente and a.status_t IS NULL DISPLAY BY NAME cons_fact.nombre SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3 FROM vetb00005 b WHERE b.tipo_cliente = cons_fact.tipo_cliente and b.sec_cliente = cons_fact.sec_cliente and b.status_t IS NULL SELECT q.nombre_provincia INTO cons_fact.ciudad FROM vetb00020 q WHERE q.cod_provincia = p_provincia AND q.status_t IS NULL LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped, ", ",descrip3 clipped DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad IF cons_fact.ventas = "2" THEN SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018 WHERE cod_pais = cons_fact.zona END IF DISPLAY BY NAME cons_fact.descrip1 SELECT @descrip,@dias INTO cons_fact.descrip,dias_v FROM vetb00012 WHERE cond_pago = cons_fact.cond_pago DISPLAY BY NAME cons_fact.descrip SELECT nom1_emp,apell1_emp INTO p_descr1,p_descr2 FROM adtb00003 WHERE num_emp = cons_fact.sec_vend LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped DISPLAY BY NAME cons_fact.nombre_vend SELECT unique a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa INTO cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp, cons_fact.cod_tarifa FROM iptb00006 a WHERE a.status_t IS NULL AND a.num_doc = cons_fact.factura AND a.cod_mov in (30,31) DISPLAY BY NAME cons_fact.cod_transp,cons_fact.sec_transp, cons_fact.placa_transp SELECT nombre INTO cons_fact.nombre_tran FROM vetb00015 WHERE cod_transp = cons_fact.cod_transp and sec_transp = cons_fact.sec_transp and status_t is null DISPLAY BY NAME cons_fact.nombre_tran SELECT descrip INTO descrip6 FROM vetb00023 WHERE cod_tarifa = cons_fact.cod_tarifa and status_t is null LET cons_fact.descrip5 = descrip6[1,15] clipped LET cons_fact.descrip6 = descrip6[16,30] clipped DISPLAY BY NAME cons_fact.descrip5,cons_fact.descrip6 DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue) #--------------------------------------------------------------------# SELECT status_t,status_impresion INTO estatus,p_impresion FROM vetb00002 WHERE factura = cons_fact.factura AND status_t IS NULL IF estatus = "E" THEN LET estado.nula = "NULA" ELSE LET estado.nula = "ACTIVA" END IF IF p_impresion = "S" THEN LET estado.impresa = "Impresa" ELSE LET estado.impresa = "N Impre" END IF #DISPLAY BY NAME estado.* ATTRIBUTE(blue) COMMAND "Primero" "Ver primer registro" FETCH FIRST buscar INTO cons_fact.*,estado.* LET numero_msg = 5 CALL msg(numero_msg) IF cons_fact.cod_cia = 1 THEN LET cons_fact.compania = p_companias.nombre CLIPPED END IF IF cons_fact.cod_cia = 2 THEN LET cons_fact.compania = " " END IF DISPLAY BY NAME cons_fact.compania SELECT a.nombre,a.cod_provincia INTO cons_fact.nombre,p_provincia FROM vetb00004 a WHERE a.tipo_cliente = cons_fact.tipo_cliente and a.sec_cliente = cons_fact.sec_cliente and a.status_t IS NULL DISPLAY BY NAME cons_fact.nombre SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3 FROM vetb00005 b WHERE b.tipo_cliente = cons_fact.tipo_cliente and b.sec_cliente = cons_fact.sec_cliente and b.status_t IS NULL SELECT q.nombre_provincia INTO cons_fact.ciudad FROM vetb00020 q WHERE q.cod_provincia = p_provincia AND q.status_t IS NULL LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped, ", ",descrip3 clipped DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad IF cons_fact.ventas = "2" THEN SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018 WHERE cod_pais = cons_fact.zona END IF DISPLAY BY NAME cons_fact.descrip1 SELECT @descrip,@dias INTO cons_fact.descrip,dias_v FROM vetb00012 WHERE cond_pago = cons_fact.cond_pago DISPLAY BY NAME cons_fact.descrip SELECT nom1_emp,apell1_emp INTO p_descr1,p_descr2 FROM adtb00003 WHERE num_emp = cons_fact.sec_vend LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped DISPLAY BY NAME cons_fact.nombre_vend SELECT unique a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa INTO cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp, cons_fact.cod_tarifa FROM iptb00006 a WHERE a.status_t IS NULL AND a.num_doc = cons_fact.factura DISPLAY BY NAME cons_fact.cod_transp,cons_fact.sec_transp, cons_fact.placa_transp SELECT nombre INTO cons_fact.nombre_tran FROM vetb00015 WHERE cod_transp = cons_fact.cod_transp and sec_transp = cons_fact.sec_transp and status_t is null DISPLAY BY NAME cons_fact.nombre_tran SELECT descrip INTO descrip6 FROM vetb00023 WHERE cod_tarifa = cons_fact.cod_tarifa and status_t is null LET cons_fact.descrip5 = descrip6[1,15] clipped LET cons_fact.descrip6 = descrip6[16,30] clipped DISPLAY BY NAME cons_fact.descrip5,cons_fact.descrip6 DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue) #-----------------------------------------------------------------# SELECT status_t,status_impresion INTO estatus,p_impresion FROM vetb00002 WHERE factura = cons_fact.factura AND status_t IS NULL IF estatus = "E" THEN LET estado.nula = "NULA" ELSE LET estado.nula = "ACTIVA" END IF IF p_impresion = "S" THEN LET estado.impresa = "Impresa" ELSE LET estado.impresa = "N Impre" END IF #DISPLAY BY NAME estado.* ATTRIBUTE(blue) COMMAND "Ultimo" "Ver ultimo registro" FETCH LAST buscar INTO cons_fact.*,estado.* LET numero_msg = 4 CALL msg(numero_msg) IF cons_fact.cod_cia = 1 THEN LET cons_fact.compania = p_companias.nombre CLIPPED END IF IF cons_fact.cod_cia = 2 THEN LET cons_fact.compania = " " END IF DISPLAY BY NAME cons_fact.compania SELECT a.nombre,a.cod_provincia INTO cons_fact.nombre,p_provincia FROM vetb00004 a WHERE a.tipo_cliente = cons_fact.tipo_cliente and a.sec_cliente = cons_fact.sec_cliente and a.status_t IS NULL DISPLAY BY NAME cons_fact.nombre SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3 FROM vetb00005 b WHERE b.tipo_cliente = cons_fact.tipo_cliente and b.sec_cliente = cons_fact.sec_cliente and b.status_t IS NULL SELECT q.nombre_provincia INTO cons_fact.ciudad FROM vetb00020 q WHERE q.cod_provincia = p_provincia AND q.status_t IS NULL LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped, ", ",descrip3 clipped DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad IF cons_fact.ventas = "2" THEN SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018 WHERE cod_pais = cons_fact.zona END IF DISPLAY BY NAME cons_fact.descrip1 SELECT @descrip,@dias INTO cons_fact.descrip,dias_v FROM vetb00012 WHERE cond_pago = cons_fact.cond_pago DISPLAY BY NAME cons_fact.descrip SELECT nom1_emp,apell1_emp INTO p_descr1,p_descr2 FROM adtb00003 WHERE num_emp = cons_fact.sec_vend LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped DISPLAY BY NAME cons_fact.nombre_vend SELECT unique a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa INTO cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp, cons_fact.cod_tarifa FROM iptb00006 a WHERE a.status_t IS NULL AND a.num_doc = cons_fact.factura DISPLAY BY NAME cons_fact.cod_transp,cons_fact.sec_transp, cons_fact.placa_transp SELECT nombre INTO cons_fact.nombre_tran FROM vetb00015 WHERE cod_transp = cons_fact.cod_transp and sec_transp = cons_fact.sec_transp and status_t is null DISPLAY BY NAME cons_fact.nombre_tran SELECT descrip INTO descrip6 FROM vetb00023 WHERE cod_tarifa = cons_fact.cod_tarifa and status_t is null LET cons_fact.descrip5 = descrip6[1,15] clipped LET cons_fact.descrip6 = descrip6[16,30] clipped DISPLAY BY NAME cons_fact.descrip5,cons_fact.descrip6 DISPLAY BY NAME cons_fact.* ATTRIBUTE(blue) #--------------------------------------------------------------------# SELECT status_t,status_impresion INTO estatus,p_impresion FROM vetb00002 WHERE factura = cons_fact.factura AND status_t IS NULL IF estatus = "E" THEN LET estado.nula = "NULA" ELSE LET estado.nula = "ACTIVA" END IF IF p_impresion = "S" THEN LET estado.impresa = "Impresa" ELSE LET estado.impresa = "N Impre" END IF #DISPLAY BY NAME estado.* ATTRIBUTE(blue) COMMAND "Ver" "Ver datos generales de la Factura" CALL visualizar() CLEAR FORM COMMAND "Retornar" CLEAR FORM EXIT MENU END MENU GOTO vuelve END FUNCTION FUNCTION visualizar() LET int_flag = FALSE DECLARE buscar1 CURSOR FOR SELECT m.cod_n,m.cod_grupo,m.cod_tipo,m.cod_sec,a.descrip_esp, a.unidad_med,m.cantidad,m.precio,m.cantidad*m.precio FROM vetb00003 m, iptb00002 a WHERE m.cod_n = a.cod_n AND m.cod_grupo = a.cod_grupo AND m.cod_tipo = a.cod_tipo AND m.cod_sec = a.cod_sec AND m.factura = cons_fact.factura LET curr = 1 FOREACH buscar1 INTO arr_disp[curr].* LET curr = curr + 1 END FOREACH CALL SET_COUNT(curr - 1) DISPLAY ARRAY arr_disp TO s_fact.* IF int_flag THEN LET numero_msg = 12 CALL msg(numero_msg) LET int_flag = false RETURN END IF END FUNCTION