Skip to main content

T SQL : SMS Validation format


DECLARE
 @BDay varchar(15),
 @Code varchar(10),
 @CusTomerNo varchar(10)

DECLARE
 @SMS varchar(500)
 ,@OutBoundSMS varchar(500)
 ,@WordCount int
 ,@IsValidSMS bit

--SET @SMS = 'FW 01928 12311995' -- valid
--SET @SMS = 'FW 101928 12311995' -- valid
--SET @SMS = 'QUERY 101928 12311995' -- Invalid
--SET @SMS = 'FW 1x1928 12311995' -- Invalid
--SET @SMS = 'FW 1x1928 12.31.1995' -- Invalid
--SET @SMS = 'FW 1x1928 12.31.1995' -- Invalid
SET @SMS = 'FW' -- Invalid
--SET @SMS = 'FW 01928' -- Invalid
--SET @SMS = 'FW A1928' -- Invalid

SET @IsValidSMS = 0

SELECT
 IDENTITY(int, 1, 1) AS Id,
 splitdata
INTO #temp1 
FROM dbo.fnSplitString(@SMS,' ')

SELECT @WordCount = COUNT(*) FROM #temp1

IF @WordCount = 3
BEGIN
 --SELECT 'Valid 3 words format...'
 SELECT TOP 1 @Code = splitdata FROM #temp1 WHERE Id = 1
 SELECT TOP 1 @CusTomerNo = splitdata FROM #temp1 WHERE Id = 2  
 SELECT TOP 1 @BDay = splitdata FROM #temp1 WHERE Id = 3
 --SELECT [Code] = @Code
 -- , [IsNotQuery] = CASE WHEN @Code = 'QUERY' THEN 0 ELSE 1 END
 -- , [EmpNo] = @CusTomerNo
 -- , [IsValidEmpNo] = (CASE WHEN (ISNUMERIC(@CusTomerNo) = 1 AND LEN(@CusTomerNo) BETWEEN 5 AND 6) THEN 1 ELSE 0 END)
 -- , [BDay] = @BDay
 -- , [IsValidBDay] = (CASE WHEN ISNUMERIC(@BDay) = 1 AND LEN(@BDay) = 8 THEN 1 ELSE 0 END)
 SET @IsValidSMS = CASE WHEN
       (CASE WHEN @Code = 'QUERY' THEN 0 ELSE 1 END) = 1
       AND (CASE WHEN (ISNUMERIC(@CusTomerNo) = 1 AND LEN(@CusTomerNo) BETWEEN 5 AND 6) THEN 1 ELSE 0 END) = 1
       AND (CASE WHEN ISNUMERIC(@BDay) = 1 AND LEN(@BDay) = 8 THEN 1 ELSE 0 END) = 1
      THEN 1 ELSE 0 END 
END

IF @IsValidSMS = 0
BEGIN
  IF @WordCount = 1 
  SET @OutBoundSMS = 'Invalid format. For '+ UPPER(@SMS) + ', please use this format: ' +  + UPPER(@SMS) + ' <space>CustomerNo<space>BirthDate(MMDDYYYY)'
 ELSE
  SET @OutBoundSMS = 'Invalid format. Please use this format: CODE<space>CustomerNo<space>BirthDate(MMDDYYYY)'
       + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) + 'For available codes:'
       + CHAR(13) + CHAR(10) + 'OT - OverTime'
       + CHAR(13) + CHAR(10) + 'SSS - SSS Deduction'
  SELECT @OutBoundSMS
END


DROP TABLE #temp1


Comments

Popular posts from this blog

Ubuntu 16.04 LT - Installing Chromium browser

> Type these commands about this PPA : $ sudo add-apt-repository ppa:canonical-chromium-builds/stage $ sudo apt-get update $ sudo apt-get install chromium-browser > Terminal: mccrazy@Lenovo-N22:~$ sudo add-apt-repository ppa:canonical-chromium-builds/stage [sudo] password for mccrazy:  Testing site just before upload to Ubuntu main. Things here are either broken and not ready to use, or landing in the distro anyway very soon. You shouldn't use this.  More info: https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage Press [ENTER] to continue or ctrl-c to cancel adding it gpg: keyring `/tmp/tmp6cfppy_r/secring.gpg' created gpg: keyring `/tmp/tmp6cfppy_r/pubring.gpg' created gpg: requesting key 5B393194 from hkp server keyserver.ubuntu.com gpg: /tmp/tmp6cfppy_r/trustdb.gpg: trustdb created gpg: key 5B393194: public key "Launchpad PPA for Canonical Chromium Build Team" imported gpg: Total number processed: 1 gpg:               imported: 1  (RSA

Moodlerooms Webservice - How to insert a user using function core_user_create_users

https://our-sandbox.mrooms.net/webservice/rest/server.php?wstoken=OUT_TOKEN_HERE&wsfunction=core_user_create_users&moodlewsrestformat=xml&users [0][username]= biboyatienza@gmail.com &users[0][password]=00.00.0000&users[0][firstname]=biboy&users[0][lastname]=atienza&users[0][email]= biboyatienza@gmail.com &users[0][city]=Manila&users[0][country]=Philippines &users[0][customfields][0][type]= customer &users[0][customfields][0][value]=Customer1 &users[0][customfields][1][type]= customeremail &users[0][customfields][1][value]= customer@email.com &users[0][customfields][2][type]= customerphone &users[0][customfields][2][value]=+6325217788