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
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
1Used By
No items found