82 lines
2.6 KiB
Plaintext
82 lines
2.6 KiB
Plaintext
DEFINE wconduces DYNAMIC ARRAY OF RECORD
|
|
numero INT,
|
|
factura INT,
|
|
fecha VARCHAR(10),
|
|
cliente VARCHAR(100),
|
|
almacen SMALLINT,
|
|
num_req INT
|
|
END RECORD,
|
|
idx INT
|
|
|
|
FUNCTION conduces(xnum_oc)
|
|
DEFINE wconduces DYNAMIC ARRAY OF RECORD
|
|
numero INT,
|
|
factura INT,
|
|
fecha VARCHAR(10),
|
|
cliente VARCHAR(100),
|
|
almacen SMALLINT,
|
|
num_req INT
|
|
END RECORD
|
|
DEFINE deconduces DYNAMIC ARRAY OF RECORD
|
|
num_doc INT,
|
|
area INT,
|
|
cod_n INT,
|
|
cod_grupo,cod_tipo,cod_sec INT,
|
|
descripcion VARCHAR(100),
|
|
cantidad DEC(12,5)
|
|
END RECORD,
|
|
pcodn,pcodgrupo,pcodtipo,pcodsec,xnum_oc,xconduce,xnum_req,xfactura INT
|
|
|
|
OPEN WINDOW w1 WITH FORM "svfmwd003"
|
|
INPUT BY NAME xnum_oc
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
CALL msg(2)
|
|
|
|
EXIT INPUT
|
|
END IF
|
|
IF xnum_oc IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD xnum_oc
|
|
END IF
|
|
DECLARE busca_conduce CURSOR FOR
|
|
SELECT DISTINCT a.num_oc,c.factura,CONVERT(CHAR(10),a.fecha,103),b.nombre,a.bodega,a.num_req
|
|
FROM iptb00006 a LEFT OUTER JOIN vetb00002 c ON a.cod_sp = c.tipo_cliente AND a.cod_sp_Sec = c.sec_cliente AND
|
|
a.num_doc = c.conduce,vetb00004 b
|
|
WHERE a.cod_sp = b.tipo_cliente AND a.cod_sp_sec = b.sec_cliente AND
|
|
a.num_oc = xnum_oc AND a.cod_mov IN (30,31,55,56) AND a.status_t IS NULL
|
|
ORDER BY a.num_oc
|
|
LET idx = 1
|
|
|
|
FOREACH busca_conduce INTO wconduces[idx].*
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
EXIT INPUT
|
|
END INPUT
|
|
IF int_flag THEN
|
|
LET xconduce=0
|
|
LET xnum_req = 0
|
|
LET xfactura = 0
|
|
LET int_flag = FALSE
|
|
CLOSE WINDOW w1
|
|
RETURN xconduce,xnum_req,xfacturA
|
|
END IF
|
|
DISPLAY ARRAY wconduces TO sconduces.* #123641
|
|
AFTER DISPLAY
|
|
LET idx = arr_curr()
|
|
LET xconduce =wconduces[idx].numero
|
|
LET xnum_req = wconduces[idx].num_req
|
|
LET xfactura = wconduces[idx].factura
|
|
|
|
# CALL dconduces(wconduces[idx].numero,wconduces[idx].almacen) RETURNING deconduces
|
|
IF INT_FLAG THEN
|
|
LET INT_FLAG = FALSE
|
|
CONTINUE DISPLAY
|
|
ELSE
|
|
EXIT DISPLAY
|
|
END IF
|
|
END DISPLAY
|
|
|
|
CLOSE WINDOW w1
|
|
RETURN xconduce,xnum_req,xfactura
|
|
END FUNCTION |