213 lines
5.6 KiB
Plaintext
213 lines
5.6 KiB
Plaintext
FUNCTION insertaubicaciones(movi10,pnumdoc,pcodmov,xfecha,xdetalle,xestado,pcodmovt,pcontrol_ubicacion_t,xbodega)
|
|
|
|
DEFINE movi10 DYNAMIC ARRAY OF RECORD
|
|
cod_n,cod_Grupo,cod_tipo,cod_sec INT,
|
|
descripcion,observacion STRING,
|
|
book varchar(50)
|
|
,tipos varchar(50)
|
|
,lado_1 decimal(12,5)
|
|
,lado_2 decimal(12,5)
|
|
,lado_3 decimal(12,5)
|
|
,id_bodega, id_seccion1 INT
|
|
,d_seccion1 VARCHAR(50)
|
|
,id_tramo1 INT
|
|
,d_tramo1 VARCHAR(50),
|
|
id_producto VARCHAR(25),
|
|
tipo_material VARCHAR(30),
|
|
cantidad1,cantidad2,factor_conv DECIMAL(12,5),
|
|
cod_mov INT,
|
|
de_seccion,de_tramo int
|
|
END RECORD,
|
|
i,pnumdoc,pcodmov,pcodmovt,xbodega,xnumDoc_t INT,
|
|
xfecha DATE,
|
|
xestado VARCHAR(1),
|
|
pcontrol_ubicacion_t VARCHAR(2),
|
|
xdetalle VARCHAR(100)
|
|
|
|
IF pcodmovt IS NOT NULL THEN
|
|
SELECT a.num_doc INTO xnumDoc_t FROM iptb00007 a WHERE a.bodega = xbodega AND a.cod_mov = pcodmovt
|
|
IF STATUS = NOTFOUND THEN
|
|
INSERT INTO iptb00007(num_doc,cod_mov,bodega,us_crea,fech_crea)
|
|
VALUES (1,pcodmovt,xbodega,suser_sname(),getdate())
|
|
LET xnumDoc_t = 1
|
|
ELSE
|
|
LET xnumDoc_t = xnumDoc_t +1
|
|
END IF
|
|
|
|
END IF
|
|
FOR i = 1 TO movi10.getLength()
|
|
|
|
IF movi10[i].cantidad2 !=0 THEN
|
|
IF xestado = '2' THEN
|
|
LET movi10[i].cantidad2= movi10[i].cantidad2 * -1
|
|
LET movi10[i].cantidad1= movi10[i].cantidad1 * -1
|
|
END IF
|
|
IF pcontrol_ubicacion_t = 'SI' THEN
|
|
INSERT INTO iptb00050
|
|
(cod_n
|
|
,cod_grupo
|
|
,cod_tipo
|
|
,cod_sec
|
|
,descripcion
|
|
,observacion
|
|
,book
|
|
,tipos
|
|
,lado_1
|
|
,lado_2
|
|
,lado_3
|
|
,cantidad
|
|
,cantidad2
|
|
,us_crea
|
|
,fech_crea
|
|
,id_producto
|
|
,tipo_material
|
|
,bodega
|
|
,cod_seccion
|
|
,cod_tramo
|
|
,num_doc
|
|
,cod_mov
|
|
,fecha
|
|
)
|
|
VALUES
|
|
(movi10[i].cod_n
|
|
,movi10[i].cod_grupo
|
|
,movi10[i].cod_tipo
|
|
,movi10[i].cod_sec
|
|
,movi10[i].descripcion
|
|
,xdetalle
|
|
,movi10[i].book
|
|
,movi10[i].tipos
|
|
,movi10[i].lado_1
|
|
,movi10[i].lado_2
|
|
,movi10[i].lado_3
|
|
,movi10[i].cantidad1
|
|
,movi10[i].cantidad2
|
|
,SUSER_SNAME()
|
|
,GETDATE()
|
|
,movi10[i].id_producto
|
|
,movi10[i].tipo_material
|
|
,movi10[i].id_bodega
|
|
,movi10[i].de_seccion
|
|
,movi10[i].de_tramo
|
|
,pnumdoc
|
|
,pcodmov
|
|
,xfecha
|
|
)
|
|
IF movi10[i].cantidad2 <0 THEN
|
|
LET movi10[i].cantidad2= movi10[i].cantidad2 * -1
|
|
LET movi10[i].cantidad1= movi10[i].cantidad1 * -1
|
|
END IF
|
|
INSERT INTO iptb00050
|
|
(cod_n
|
|
,cod_grupo
|
|
,cod_tipo
|
|
,cod_sec
|
|
,descripcion
|
|
,observacion
|
|
,book
|
|
,tipos
|
|
,lado_1
|
|
,lado_2
|
|
,lado_3
|
|
,cantidad
|
|
,cantidad2
|
|
,us_crea
|
|
,fech_crea
|
|
,id_producto
|
|
,tipo_material
|
|
,bodega
|
|
,cod_seccion
|
|
,cod_tramo
|
|
,num_doc
|
|
,cod_mov
|
|
,fecha
|
|
)
|
|
VALUES
|
|
(movi10[i].cod_n
|
|
,movi10[i].cod_grupo
|
|
,movi10[i].cod_tipo
|
|
,movi10[i].cod_sec
|
|
,movi10[i].descripcion
|
|
,xdetalle
|
|
,movi10[i].book
|
|
,movi10[i].tipos
|
|
,movi10[i].lado_1
|
|
,movi10[i].lado_2
|
|
,movi10[i].lado_3
|
|
,movi10[i].cantidad1
|
|
,movi10[i].cantidad2
|
|
,SUSER_SNAME()
|
|
,GETDATE()
|
|
,movi10[i].id_producto
|
|
,movi10[i].tipo_material
|
|
,movi10[i].id_bodega
|
|
,movi10[i].id_seccion1
|
|
,movi10[i].id_tramo1
|
|
,xnumDoc_t
|
|
,pcodmovt
|
|
,xfecha
|
|
)
|
|
|
|
ELSE
|
|
|
|
INSERT INTO iptb00050
|
|
(cod_n
|
|
,cod_grupo
|
|
,cod_tipo
|
|
,cod_sec
|
|
,descripcion
|
|
,observacion
|
|
,book
|
|
,tipos
|
|
,lado_1
|
|
,lado_2
|
|
,lado_3
|
|
,cantidad
|
|
,cantidad2
|
|
,us_crea
|
|
,fech_crea
|
|
,id_producto
|
|
,tipo_material
|
|
,bodega
|
|
,cod_seccion
|
|
,cod_tramo
|
|
,num_doc
|
|
,cod_mov
|
|
,fecha
|
|
)
|
|
VALUES
|
|
(movi10[i].cod_n
|
|
,movi10[i].cod_grupo
|
|
,movi10[i].cod_tipo
|
|
,movi10[i].cod_sec
|
|
,movi10[i].descripcion
|
|
,xdetalle
|
|
,movi10[i].book
|
|
,movi10[i].tipos
|
|
,movi10[i].lado_1
|
|
,movi10[i].lado_2
|
|
,movi10[i].lado_3
|
|
,movi10[i].cantidad1
|
|
,movi10[i].cantidad2
|
|
,SUSER_SNAME()
|
|
,GETDATE()
|
|
,movi10[i].id_producto
|
|
,movi10[i].tipo_material
|
|
,movi10[i].id_bodega
|
|
,movi10[i].id_seccion1
|
|
,movi10[i].id_tramo1
|
|
,pnumdoc
|
|
,pcodmov
|
|
,xfecha
|
|
)
|
|
|
|
END IF
|
|
END IF
|
|
|
|
END FOR
|
|
DELETE FROM tmpubicacion WHERE us_crea = suser_sname()
|
|
DELETE FROM tmpubicacionTramos WHERE us_crea = suser_sname()
|
|
|
|
|
|
RETURN true
|
|
END FUNCTION |