GLOBALS "inprgb000.4gl" FUNCTION reimprime(xprograma) DEFINE xprograma CHAR(20) IF xprograma = 'inprmt046' THEN CONSTRUCT criterio ON a.cod_mov,a.num_doc,a.fecha,a.sec_a FROM cod_mov,num_doc,fecha,depto_a AFTER CONSTRUCT IF INT_FLAG THEN LET INT_FLAG = FALSE CALL msg(2) EXIT PROGRAM END IF END CONSTRUCT LET selec = "SELECT distinct b.cod_mov,b.descrip_mov,a.num_doc,", " CONVERT(CHAR(10),a.fecha,103),a.depto_a,a.num_emp FROM intb00006 a,intb00005 b ", " WHERE ",criterio CLIPPED," AND ", " a.cod_mov = b.cod_mov AND a.status_t IS NULL " ELSE CONSTRUCT criterio ON a.num_doc,a.fecha,a.sec_a FROM num_doc,fecha,depto_a LET selec = "SELECT distinct b.cod_mov,b.descrip_mov,a.num_doc,", " CONVERT(CHAR(10),a.fecha,103),a.depto_a,a.num_emp FROM intb00006 a,intb00005 b ", " WHERE ",criterio CLIPPED," AND a.cod_mov =36 and ", " a.cod_mov = b.cod_mov AND a.status_t IS NULL " END IF PREPARE breimprime FROM selec DECLARE bdocumento SCROLL CURSOR FOR breimprime OPEN bdocumento FETCH FIRST bdocumento INTO otros_mov.cod_mov,otros_mov.descrip_mov, otros_mov.num_doc,otros_mov.fecha, datos1.depto_a,pnum_emp IF STATUS = NOTFOUND THEN CALL msg(3) RETURN END IF CALL busca_info() MENU "NAVEGACION:" COMMAND "Siguiente" "Busca el siguiente documento" FETCH NEXT bdocumento INTO otros_mov.cod_mov,otros_mov.descrip_mov, otros_mov.num_doc,otros_mov.fecha, datos1.depto_a,pnum_emp CALL busca_info() COMMAND "Primero" "Busca el siguiente documento" FETCH FIRST bdocumento INTO otros_mov.cod_mov,otros_mov.descrip_mov, otros_mov.num_doc,otros_mov.fecha, datos1.depto_a,pnum_emp CALL busca_info() COMMAND "Anterior" "Busca el Registrosiguiente documento" FETCH PREVIOUS bdocumento INTO otros_mov.cod_mov,otros_mov.descrip_mov, otros_mov.num_doc,otros_mov.fecha, datos1.depto_a,pnum_emp CALL busca_info() COMMAND "Ultimo" "Busca el Ultimo Documento" FETCH LAST bdocumento INTO otros_mov.cod_mov,otros_mov.descrip_mov, otros_mov.num_doc,otros_mov.fecha, datos1.depto_a,pnum_emp CALL busca_info() COMMAND KEY("T") "reTornar" "Salir de busqueda" EXIT MENU END MENU END FUNCTION FUNCTION busca_info() DEFINE nombre,apellido CHAR(30) SELECT UNIQUE nom_dpto INTO nombre_d FROM adtb00001 a WHERE a.departamento = datos1.depto_a and a.status_t is NULL LET nombre =NULL LET apellido = NULL SELECT a.nom1_emp,a.apell1_emp INTO nombre,apellido FROM adtb00003 a WHERE a.num_Emp = pnum_emp DISPLAY BY NAME otros_mov.cod_mov,otros_mov.descrip_mov,otros_mov.num_doc, otros_mov.fecha,nombre_d,datos1.depto_a,nombre,apellido DECLARE busca CURSOR FOR SELECT a.cod_n,a.cod_Grupo,a.cod_tipo,a.cod_Sec,b.descrip_Esp,a.cantidad_2 FROM intb00006 a,intb00001 b WHERE a.num_Doc = otros_mov.num_doc AND a.cod_mov = otros_mov.cod_mov 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 LET idx = 1 FOREACH busca INTO movi2[idx].cod_n,movi2[idx].cod_grupo, movi2[idx].cod_tipo,movi2[idx].cod_sec, movi2[idx].descrip_esp,movi2[idx].cantidad_2 LET idx = idx + 1 END FOREACH CALL set_count(idx-1) DISPLAY ARRAY movi2 TO s_movi1.* ON ACTION rimprimir CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of, doble_on,doble_off,comp_on,comp_off, doce,normal,archivo,copia START REPORT formu46 TO archivo FOR fila = 1 TO idx OUTPUT TO REPORT formu46(otros_mov.num_doc,otros_mov.fecha, otros_mov.cod_mov,otros_mov.descrip_mov, nombre_d, movi2[fila].*) END FOR FINISH REPORT formu46 CALL fgl_winmessage("INFO","IMPRESION TERMINADA, FAVOR VERIFIQUE","INFO") END DISPLAY END FUNCTION