dbo.procesar_domicilio

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

14
Name Data Type Length Description
@p_codpos varchar 10
@p_cuit varchar 13
@p_domicilio varchar 70
@p_email varchar 100
@p_fax varchar 16
@p_id_domicilio int 4
@p_loc_codigo int 4
@p_loc_nombre varchar 50
@p_pai_codigo smallint 2
@p_pai_nombre varchar 50
@p_prv_codigo varchar 1
@p_prv_nombre varchar 50
@p_telefono varchar 40
@p_tipo_domicilio varchar 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.procesar_domicilio
-- Se debe ordenar parametros alfabeticamente ASC para facilitar el proceso de llamado del SP en PHP
@p_codpos varchar(10),
@p_cuit varchar(13),
@p_domicilio varchar(70),
@p_email varchar(100),
@p_fax varchar(16),
@p_id_domicilio int,
@p_loc_codigo int,
@p_loc_nombre varchar(50),
@p_pai_codigo smallint,
@p_pai_nombre varchar(50),
@p_prv_codigo varchar(1),
@p_prv_nombre varchar(50),
@p_telefono varchar(40),
@p_tipo_domicilio varchar(1)

AS

BEGIN
    SET NOCOUNT ON;
 
 IF (@p_id_domicilio = 0) ----- ALTA -------
 BEGIN
  INSERT INTO domicilios_todos 
   (codpos, cuit, domicilio, email, fax, loc_codigo, loc_nombre, pai_codigo, pai_nombre, 
   prv_codigo, prv_nombre, telefono, tipo_domicilio, created, created_by, visible)
  VALUES
   (@p_codpos, @p_cuit, @p_domicilio, @p_email, @p_fax, @p_loc_codigo, @p_loc_nombre, @p_pai_codigo, 
   @p_pai_nombre, @p_prv_codigo, @p_prv_nombre, @p_telefono, @p_tipo_domicilio, GETDATE(), 1, 1)

  SET @p_id_domicilio = SCOPE_IDENTITY() -- Para verificar que se pudo ejecutar el insert

  IF (@p_tipo_domicilio != 'O') -- Cambiar tipos repetidos
  BEGIN
   UPDATE domicilios_todos
   SET  
    tipo_domicilio = 'O',
    modified = GETDATE(), 
    modified_by = 1
   WHERE cuit = @p_cuit AND tipo_domicilio = @p_tipo_domicilio AND id_domicilio != @p_id_domicilio
  END

  SELECT @p_id_domicilio as id_domicilio -- Para verificar que se pudo ejecutar el insert


 END
 ELSE ----------------------------- MODIFICACION
 BEGIN
  UPDATE domicilios_todos
  SET 
   codpos = @p_codpos, 
   cuit = @p_cuit, 
   domicilio = @p_domicilio, 
   email = @p_email, 
   fax = @p_fax, 
   loc_codigo = @p_loc_codigo, 
   loc_nombre = @p_loc_nombre, 
   pai_codigo = @p_pai_codigo, 
   pai_nombre = @p_pai_nombre, 
   prv_codigo = @p_prv_codigo, 
   prv_nombre = @p_prv_nombre, 
   telefono = @p_telefono, 
   tipo_domicilio = @p_tipo_domicilio,
   modified = GETDATE(), 
   modified_by = 1
  WHERE id_domicilio = @p_id_domicilio
  
  IF (@p_tipo_domicilio != 'O') -- Cambiar tipos repetidos
  BEGIN
   UPDATE domicilios_todos
   SET  
    tipo_domicilio = 'O',
    modified = GETDATE(), 
    modified_by = 1
   WHERE cuit = @p_cuit AND tipo_domicilio = @p_tipo_domicilio AND id_domicilio != @p_id_domicilio
  END
  
  SELECT @p_id_domicilio as id_domicilio -- Para verificar que se pudo ejecutar el update
 END
END 

GO

Depends On

1

Used By

No items found