Files
DECOMARMOL/PROYECTO/ccdir/files_ordenes.4gl
T
2026-09-22 20:38:51 -04:00

73 lines
1.9 KiB
Plaintext

FUNCTION files_ordenes(xnum_oc,xusuario,xclave)
DEFINE xnum_oc INT,
files_ordenes DYNAMIC ARRAY OF RECORD
ruta_file VARCHAR(100),
descrip_file VARCHAR(60),
tipo_Doc VARCHAR(10)
END RECORD,
idx SMALLINT,p_res INT,
file_orden VARCHAR(100),
xusuario,xclave VARCHAR(50)
CONNECT to "decomarmol" USER xusuario USING xclave
OPEN WINDOW w1 WITH FORM "ccfmwd007"
DECLARE busca CURSOR FOR
SELECT a.url_file_destino,' ',a.tipo_file FROM prtb00029 a
WHERE a.num_oc = xnum_oc
LET idx = 1
FOREACH busca INTO files_ordenes[idx].*
IF files_ordenes[idx].tipo_Doc = 'CO' THEN
LET files_ordenes[idx].descrip_file = 'CONDUCES'
END IF
IF files_ordenes[idx].tipo_Doc = 'OT' THEN
LET files_ordenes[idx].descrip_file = 'OTROS'
END IF
IF files_ordenes[idx].tipo_Doc = 'DI' THEN
LET files_ordenes[idx].descrip_file = 'DIBUJOS'
END IF
IF files_ordenes[idx].tipo_Doc IS NULL THEN
LET files_ordenes[idx].descrip_file = 'NO IDENTIFICADO'
END IF
IF files_ordenes[idx].tipo_Doc = 'DE' THEN
LET files_ordenes[idx].descrip_file = 'DEVOLUCIONES'
END IF
LET idx = idx + 1
END FOREACH
IF idx = 1 THEN
CALL fgl_Winmessage("INFO","ORDEN SELECCIONADA NO TIENE DOCUMENTOS ASIGNADOS","INFO")
ELSE
DISPLAY ARRAY files_ordenes TO sfiles.*
ON ACTION abrir
LET idx = arr_curr()
TRY
LET file_orden=files_ordenes[idx].ruta_file CLIPPED
CALL ui.Interface.frontCall("standard","launchurl", [file_orden],[p_res])
CATCH
CALL fgl_winmessage("ERROR",err_get(STATUS),"INFO")
END TRY
AFTER DISPLAY
LET idx = arr_curr()
LET file_orden = files_ordenes[idx].ruta_file
EXIT DISPLAY
END DISPLAY
IF INT_FLAG THEN
CALL fgl_winmessage("INFO","OPERACION CANCELADA","INFO")
LET INT_FLAG = FALSE
LET file_orden = NULL
END IF
END IF
CLOSE WINDOW w1
RETURN
END FUNCTION