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