IMPORT util FUNCTION crearcliente(scliente) DEFINE scliente STRING DEFINE cliente RECORD nombre,cond_pago,rnc,tipo_doc STRING, limite_cr FLOAT, tipo_negocio INT, direccion,urbanizacion,sector,pais,zona,provincia, telefono_casa,telefono_celular,email,url,contacto STRING, tipo_cliente INT END RECORD, xtipo_cliente,xsec_cliente INT, selec STRING CALL util.JSON.parse(scliente,cliente) IF cliente.pais IS NULL THEN LET cliente.pais = 'RD' END IF IF cliente.pais = 'DO' THEN LET cliente.pais = 'RD' END IF LET xtipo_cliente = cliente.tipo_cliente LET selec = "SELECT a.cod_zona FROM vetb00008 a WHERE a.cod_zona = ? and a.status_t IS NULL" PREPARE buscazona FROM selec LET selec = "select a.rnc from dgii.dbo.empresas a where a.rnc = ?" PREPARE buscarnc FROM selec LET selec = "SELECT DISTINCT a.num_rnc,a.sec_cliente FROM marmotech.dbo.vetb00004 a WHERE a.tipo_cliente = ? AND a.num_rnc = ? AND a.status_t IS NULL" PREPARE buscacliente FROM selec LET selec = "INSERT INTO marmotech.dbo.vetb00004 (tipo_cliente,sec_cliente,nombre,cod_zona,cod_provincia, telefono,telex,limite_credito,zona_postal,num_rnc, us_crea,fech_crea,telefono_casa,tipo_negocio,cond_pago,id_ciudad,url,patente,nombre_patente, codigo,generica) VALUES (?,?,?,?,?,?,?,?,?,?,'ecommerce',GETDATE(),?,1,4,1000,?,?,?,?,'NO') " PREPARE inscliente FROM selec LET selec = "INSERT INTO marmotech.dbo.vetb00005 (tipo_cliente,sec_cliente,calle,barrio,urbanizacion,us_crea,fech_crea) VALUES (?,?,?,?,?,'ecommerce',GETDATE())" PREPARE insdireccion FROM selec LET selec = "SELECT ISNULL(a.sec_cliente,0) FROM marmotech.dbo.vetb00111 a WHERE a.tipo_cliente = ?" PREPARE buscamax FROM selec LET selec = 'UPDATE marmotech.dbo.vetb00111 set sec_cliente = ? WHERE tipo_cliente = ?' PREPARE updatemax FROM selec LET selec = "INSERT INTO marmotech.dbo.vetb00028 (tipo_cliente,sec_cliente,sec_vend,us_crea,fech_crea) VALUES (?,?,?,'ecommerce',GETDATE())" PREPARE insvend FROM selec EXECUTE buscarnc USING cliente.rnc IF STATUS != NOTFOUND THEN # VERIFICA SI EL RNC ESTA EN LA BASE DE DATOS DE LA DGII # CHEQUEA QUE EL CLIENTE ESTE CREADO CON ESTE RNC EXECUTE buscacliente INTO cliente.rnc,xsec_cliente USING xtipo_cliente,cliente.rnc IF STATUS = NOTFOUND THEN BEGIN WORK EXECUTE buscamax INTO xsec_cliente USING xtipo_cliente LET xsec_cliente = xsec_cliente +1 EXECUTE updatemax USING xsec_cliente,xtipo_cliente EXECUTE inscliente USING xtipo_cliente,xsec_cliente,cliente.nombre, cliente.zona,cliente.provincia,cliente.telefono_casa,cliente.telefono_celular, cliente.limite_cr,cliente.tipo_doc,cliente.rnc,cliente.telefono_casa,cliente.url, cliente.email,cliente.contacto,cliente.pais EXECUTE insdireccion USING xtipo_cliente,xsec_cliente,cliente.direccion,cliente.urbanizacion,cliente.sector EXECUTE insvend USING xtipo_cliente,xsec_cliente,'9' COMMIT WORK END IF ELSE EXECUTE buscamax INTO xsec_cliente USING xtipo_cliente LET xsec_cliente = xsec_cliente +1 BEGIN WORK EXECUTE updatemax USING xsec_cliente,xtipo_cliente DISPLAY "SECUENCIA CLIENTE ",xsec_cliente EXECUTE inscliente USING xtipo_cliente,xsec_cliente,cliente.nombre, cliente.zona,cliente.provincia,cliente.telefono_casa,cliente.telefono_celular, cliente.limite_cr,cliente.tipo_doc,cliente.rnc,cliente.telefono_casa,cliente.url, cliente.email,cliente.contacto,cliente.pais EXECUTE insdireccion USING xtipo_cliente,xsec_cliente,cliente.direccion,cliente.urbanizacion,cliente.sector EXECUTE insvend USING xtipo_cliente,xsec_cliente,'9' COMMIT WORK END IF RETURN xtipo_cliente,xsec_cliente END FUNCTION