correo jorgea_glezh@hotmail.com
Estimados buen dia,
He seguido sus consejos los cuales me han ayudado bastante en SAP, soy nuevo en esto ando buscando lo siguiente en Socios de Negocios:
Quiero validar los datos de la mayoria de los campos en socios de negocios para clientes en el hecho de que sean datos validos,
p.e. telefono que no sea 33 33 33 33 (para Guadaljara Jalisco mexico)
Asi como para nombre y nombre comercial que no incluya numeros y/o sea el mismo. Deseo que coloquen diferentes (aunque se que con 1 caracter ya es diferente pero bueno)
Tengo el siguiente codigo: en donde valido duplicado solo de RFC, y NULL de varios campos pero no doy con las validaciones de datos correctos para cada campo me podrias dar una ayudadita?
/* SN */
If @object_type = '2' and @transaction_type in ('A','U')
Begin
declare @CardCode as nvarchar (1000),
@CardType as nvarchar (1000),
@TipoSN as nvarchar (1000)
set @CardCode = @list_of_cols_val_tab_del
Declare @RFC nvarchar (100)
Declare @SN nvarchar (100)
Select @RFC = rtrim(ltrim(T0.LicTradNum)),@CardType = Rtrim(CardType)
From OCRD T0
Where T0.CardCode = @CardCode
If (Select COUNT(*) From OCRD T0 Where T0.LicTradNum = @Rfc and Rtrim(CardType) = @CardType and T0.LicTradNum not in ('XAXX010101000','XEXX010101000' )) > 1
Begin
Select Top 1 @SN = CardCode
From OCRD T0
Where T0.LicTradNum = @Rfc and Rtrim(CardType) = @CardType and T0.CardCode <> @CardCode and T0.LicTradNum not in ('XAXX010101000','XEXX010101000')
Select @TipoSN = CASE when @CardType = 'C' Then ' Cliente ' when @CardType = 'S' Then ' Proveedor ' Else '' End
set @error = 5
set @error_message = 'ERROR: RFC YA EXISTENTE CON EL ' + @TipoSN + @SN
End
End
if (@object_type = '2') and (@transaction_type = 'A') --ALTA DE CLIENTES
begin
declare @valido as nvarchar(10)
set @valido = (select T0.CardName from OCRD T0 where (ISNUMERIC(T0.CardCode)<> 1))
IF (@valido = '1')
begin
select @error = 30
set @error_message = 'NO PUEDES CREAR UN CLIENTE CON CARACTERES NUMERICOS EN CAMPO NOMBRE'
end
set @valido = (select isnull(T0.CardName,1) from OCRD T0 where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '1')
begin
select @error = 30
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN NOMBRE'
end
declare @Refe as Nvarchar(50)
set @Refe = (select CardName from ocrd where cardname = @list_of_cols_val_tab_del)
IF Exists (SELECT COUNT(CardFName) FROM OCRD WHERE CardFName = @Refe HAVING COUNT(CardFName) > '1')
begin
set @error =100-1
set @error_message ='LA MADRE PATRIA duplicado'
end
set @valido = (select isnull(T0.CardFName,2) from OCRD T0 where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '2')
begin
select @error = 40
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN NOMBRE COMERCIAL'
end
set @valido = (select isnull(T0.Phone1,3) from OCRD T0 where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '3')
begin
select @error = 50
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN TELEFONO 1'
end
set @valido = (select isnull(T0.E_Mail,4) from OCRD T0 where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '4')
begin
select @error = 60
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN E_Mail'
end
set @valido = (SELECT ISNULL ((SELECT 90 WHERE EXISTS (SELECT * FROM OCPR T INNER JOIN OCRD P ON T.CardCode = P.CardCode WHERE T.CardCode =@list_of_cols_val_tab_del AND P.CardType = 'C')), 5))
IF (@valido = '5')
begin
select @error = 70
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN CAPTURAR UN CONTACTO'
end
set @valido = (SELECT ISNULL ((SELECT 90 WHERE EXISTS (SELECT * FROM CRD1 T INNER JOIN OCRD P ON T.CardCode = P.CardCode WHERE T.CardCode =@list_of_cols_val_tab_del AND P.CardType = 'C' AND T.AdresType = 'S' )), 7))
IF (@valido = '7')
begin
select @error = 80
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN DIRECCION DE ENTREGA'
end
set @valido = (SELECT ISNULL ((SELECT 90 WHERE EXISTS (SELECT * FROM CRD1 T INNER JOIN OCRD P ON T.CardCode = P.CardCode WHERE T.CardCode =@list_of_cols_val_tab_del AND P.CardType = 'C' AND T.AdresType = 'B' )), 8))
IF (@valido = '8')
begin
select @error = 90
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN DIRECCION DE FACTURACION'
end
set @valido = (select isnull(T0.BankCode,9) from OCRD T0 where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '9')
begin
select @error = 100
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN CAPTURAR BANCO'
end
set @valido = (select isnull(T1.Name,10) from OCRD T0 INNER JOIN OCPR T1 ON T0.CardCode = T1.CardCode where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '10')
begin
select @error = 111
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN CONTACTO'
end
set @valido = (select isnull(T1.FirstName,11) from OCRD T0 INNER JOIN OCPR T1 ON T0.CardCode = T1.CardCode where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '11')
begin
select @error = 120
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN NOMBRE DEL CONTACTO'
end
set @valido = (select isnull(T1.Title,12) from OCRD T0 INNER JOIN OCPR T1 ON T0.CardCode = T1.CardCode where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '12')
begin
select @error = 130
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN DEPARTAMENTO DEL CONTACTO'
end
set @valido = (select isnull(T1.Position,13) from OCRD T0 INNER JOIN OCPR T1 ON T0.CardCode = T1.CardCode where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '13')
begin
select @error = 140
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN PUESTO DEL CONTACTO'
end
set @valido = (select isnull(T1.LastName,14) from OCRD T0 INNER JOIN OCPR T1 ON T0.CardCode = T1.CardCode where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '14')
begin
select @error = 150
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN APELLIDO DEL CONTACTO'
end
set @valido = (select isnull(T1.Tel1,15) from OCRD T0 INNER JOIN OCPR T1 ON T0.CardCode = T1.CardCode where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '15')
begin
select @error = 160
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN TELEFONO1 DEL CONTACTO'
end
set @valido = (select isnull(T1.E_MailL,16) from OCRD T0 INNER JOIN OCPR T1 ON T0.CardCode = T1.CardCode where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '16')
begin
select @error = 170
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN E_MAIL DEL CONTACTO'
end
set @valido = (select isnull(T1.Address,17) from OCRD T0 INNER JOIN CRD1 T1 ON T0.CardCode = T1.CardCode where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '17')
begin
select @error = 180
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN DEPARTAMENTO DEL CONTACTO'
end
end
set @valido = (select isnull(T0.DflAccount,0) from OCRD T0 where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '0')
begin
select @error = 10
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN NUMERO DE CUENTA BANCARIA'
end
set @valido = (select T0.PymCode from OCRD T0 where T0.CardCode = @list_of_cols_val_tab_del AND T0.CardType='C')
IF (@valido = '-1')
begin
select @error = 20
set @error_message = 'NO PUEDES CREAR UN CLIENTE SIN METODO DE PAGO'
end