vivek1983 Intermediate
Joined: 20 Apr 2006 Posts: 222 Topics: 24
|
Posted: Thu May 11, 2006 9:16 am Post subject: |
|
|
Drammo,
Please find the code below:
Code: |
*************************************************************
WORKING-STORAGE SECTION.
*************************************************************
01 WS-LEN PIC 9(09) VALUE ZERO.
01 WS-MAIL-ID PIC X(50) VALUE = 'GAN@INAUTIX.COM'.
01 WS-MAIL-CHAR REDEFINES WS-MAIL-ID
PIC X OCCURS 50 TIMES.
01 WS-USER-NAME PIC X(25) VALUE SPACES.
01 WS-DOM-NAME PIC X(25) VALUE SPACES.
01 WS-VAL-DOM PIC X(06) VALUE SPACES.
88 VALID-DOM VALUES ARE
'COM', 'NET', 'ORG', 'EDU'.
01 WS-DOM-1 PIC X(19) VALUE SPACES.
01 WS-SPL-CHARS PIC X(01) VALUE SPACES.
88 SPL-CHARS VALUES ARE
',', ' ', '!', '#', '%', '$', '^', '&', '*',
'(', ')', '+', '{', '}', '[', ']', '/', '\'.
*************************************************************
PROCEDURE DIVISION.
*************************************************************
0000-BEGIN.
*// Split mail ids into 2 parts - user name and domain name //*
UNSTRING WS-MAIL-ID DELIMITED BY '@' INTO
WS-USER-NAME
WS-DOM-NAME
COMPUTE WS-LEN = LENGTH(WS-USER-NAME)
*// Domain name and username should not be spaces //*
IF WS-DOM-NAME = SPACES
SET WS-INV-MAILID TO TRUE
END-IF
*// Check for special characters //*
MOVE 1 TO WS-SUB
PERFORM VARYING WS-SUB UNTIL WS-SUB > 50
MOVE WS-MAIL-CHAR TO WS-SPL-CHARS
* // "jerry"@visual.com is a valid id. Checking is done here //*
IF NOT (WS-SUB = 1 AND WS-MAIL-ID(1:1) = '"' AND
WS-MAIL-ID(WS-LEN , 1) = '"' )
IF SPL-CHARS
SET WS-INV-MAILID TO TRUE
END-IF
END-IF
END-PERFORM
IF WS-USER-NAME > SPACES OR
WS-DOM-NAME > SPACES
SET WS-INV-MAILID TO TRUE
END-IF
* // domain name should contain atlease one dot // *
INSPECT WS-DOM-NAME TALLYING WS-COUNT FOR '.'
IF WS-COUNT = 0
SET WS-INV-MAILID TO TRUE
END-IF
* // Check for valid domain entries (Com, org.. ) // *
UNSTRING WS-DOM-NAME DELIMITED BY '.'
WS-DOM-1, WS-VAL-DOM
IF NOT VALID-DOM
SET WS-INV-MAILID TO TRUE
END-IF
STOP RUN.
|
Hope this helps..
Regards,
Vivek.G |
|