SAP ABAP Class CL_BCS_EMAIL_ADDRESS (Validation of E-Mail Addresses According to RFC 5322)
Hierarchy
SAP_BASIS (Software Component) SAP Basis Component
   BC-SRV-COM (Application Component) Communication Services: Mail, Fax, SMS, Telephony
     SBCOMS (Package) Business Communication Service
Properties
Class CL_BCS_EMAIL_ADDRESS  
Short Description Validation of E-Mail Addresses According to RFC 5322    
Super Class    
Instantiability of a Class 2  Public 
Final    
General Data
Message Class    
Program status     
Category 0   
Package SBCOMS   Business Communication Service 
Created 20121116   SAP 
Last change 20141121    
Shared Memory-enabled    
Fixed point arithmetic    
Unicode checks active    
Forward declarations
# Type group / Object type Type Type Description
1 ABAP Type group use (TYPE-POOLS tp)  Type group use (TYPE-POOLS tp)
Interfaces
Class CL_BCS_EMAIL_ADDRESS has no interface implemented.
Friends
Class CL_BCS_EMAIL_ADDRESS has no friend class.
Attributes
# Attribute Level Visibility Read only Typing Associated Type Initial Value Description Created on
1 GC_CHARS_ATEXT Constant Private Type reference (TYPE) STRING 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&''*+-/=?^_`{|}~' Permitted Characters for Token atext 20130920
2 GC_CHARS_CTEXT Constant Private Type reference (TYPE) STRING 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&''*+,-./:;<=>?@[]^_`{|}~' Permitted Characters for Token ctext 20130920
3 GC_CHARS_DTEXT Constant Private Type reference (TYPE) STRING 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&''()*+,-./:;<=>?@^_`{|}~' Permitted Characters for Token dtext 20130920
4 GC_CHARS_QTEXT Constant Private Type reference (TYPE) STRING 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&''()*+,-./:;<=>?@[]^_`{|}~' Permitted Characters for Token qtext 20130920
5 GC_END_WHILE Constant Private Type reference (TYPE) STRING '@.( >"' 20130920
6 GC_HEX_HTAB Constant Private Type reference (TYPE) X '09' 20130920
7 GC_HEX_SPACE Constant Private Type reference (TYPE) X '20' 20130920
8 GV_ADD Static Attribute Private Type reference (TYPE) C @ found 20130920
9 GV_ADDRESS_LEN Static Attribute Private Type reference (TYPE) I 20130920
10 GV_ASCII_TOKEN Static Attribute Private See coding Hex code string for character 20130920
11 GV_CFWS Static Attribute Private Type reference (TYPE) BOOLEAN Boolean Variable (X=true, -=false, space=unknown) 20130920
12 GV_CHECK_PUNY Static Attribute Private Type reference (TYPE) BOOLEAN ABAP_FALSE Domain is not valid, conversion to puny code necessary 20130920
13 GV_COMMENT Static Attribute Private Type reference (TYPE) STRING 20130920
14 GV_COMPLETE_ADDRESS Static Attribute Private Type reference (TYPE) BOOLEAN ABAP_TRUE Address is complete (no wildcards) 20130920
15 GV_COUNT Static Attribute Private Type reference (TYPE) I 20130920
16 GV_DISPLAY_NAME Static Attribute Private Type reference (TYPE) STRING 20130920
17 GV_DOMAIN Static Attribute Private Type reference (TYPE) STRING 20130920
18 GV_FIRSTLOOP Static Attribute Private Type reference (TYPE) BOOLEAN ABAP_TRUE Switch domain so that change into puny code is once only 20130920
19 GV_FULL_EMAIL Static Attribute Private Type reference (TYPE) STRING 20130920
20 GV_HELPSTRING Static Attribute Private Type reference (TYPE) STRING 20130920
21 GV_LOCALPART Static Attribute Private Type reference (TYPE) STRING 20130920
22 GV_NEXTTOKEN Static Attribute Private Type reference (TYPE) C 20130920
23 GV_NO_OBS Static Attribute Private Type reference (TYPE) BOOLEAN ABAP_FALSE Obsolete token of RFC 5322 are included 20130920
24 GV_PRED Static Attribute Private Type reference (TYPE) C 20130920
25 GV_REDUCED_STRING Static Attribute Private Type reference (TYPE) STRING 20130920
Methods
# Method Level Visibility Method type Description Created on
1 CALCULATE_NEXTTOKEN Static method Private Method Help method that determines the next character 20130920
2 CHECK_AND_SET_SERVICESELECTOR Static method Private Method If service selector is available, set it to upper case 20130920
3 NT_ADDR_SPEC Static method Private Method RFC 5322: Production rule 'addr-spec' 20130920
4 NT_ANGLE_ADDR Static method Private Method RFC 5322: Production rule 'angle-addr' 20130920
5 NT_ATEXT Static method Private Method RFC 5322: Production rule 'atext' 20130920
6 NT_ATOM Static method Private Method RFC 5322: Production rule 'atp,' 20130920
7 NT_CCONTENT Static method Private Method RFC 5322: Production rule 'ccontent' 20130920
8 NT_CFWS Static method Private Method RFC 5322: Production rule 'cfws' 20130920
9 NT_COMMENT Static method Private Method RFC 5322: Production rule 'comment' 20130920
10 NT_CTEXT Static method Private Method RFC 5322: Production rule 'ctext' 20130920
11 NT_DISPLAY_NAME Static method Private Method RFC 5322: Production rule 'display-name' 20130920
12 NT_DOMAIN Static method Private Method RFC 5322: Production rule 'domain' 20130920
13 NT_DOMAIN_LITERAL Static method Private Method RFC 5322: Production rule 'domain-literal' 20130920
14 NT_DOT_ATOM Static method Private Method RFC 5322: Production rule 'dot-atom' 20130920
15 NT_DOT_ATOM_TEXT Static method Private Method RFC 5322: Production rule 'dot-atom-text' 20130920
16 NT_DTEXT Static method Private Method RFC 5322: Production rule 'dtext' 20130920
17 NT_FWS Static method Private Method RFC 5322: Production rule 'fws' 20130920
18 NT_LOCAL_PART Static method Private Method RFC 5322: Production rule 'local-part' 20130920
19 NT_MAILBOX Static method Private Method RFC 5322: Production rule 'mailbox' 20130920
20 NT_NAME_ADDR Static method Private Method RFC 5322: Production rule 'name-addr' 20130920
21 NT_OBS_ANGLE_ADDR Static method Private Method RFC 5322: Production rule 'obs-angle-addr' 20130920
22 NT_OBS_CTEXT Static method Private Method RFC 5322: Production rule 'obs-ctext' 20130920
23 NT_OBS_DOMAIN Static method Private Method RFC 5322: Production rule 'obs-domain' 20130920
24 NT_OBS_DOMAIN_LIST Static method Private Method RFC 5322: Production rule 'obs-domain-list' 20130920
25 NT_OBS_DTEXT Static method Private Method RFC 5322: Production rule 'obs-dtext' 20130920
26 NT_OBS_FWS Static method Private Method RFC 5322: Production rule 'obs-fws' 20130920
27 NT_OBS_LOCAL_PART Static method Private Method RFC 5322: Production rule 'obs-local-part' 20130920
28 NT_OBS_NO_WS_CTL Static method Private Method RFC 5322: Production rule 'obs-no-ws-ctl' 20130920
29 NT_OBS_PHRASE Static method Private Method RFC 5322: Production rule 'obs-phrase' 20130920
30 NT_OBS_QP Static method Private Method RFC 5322: Production rule 'obs-qp' 20130920
31 NT_OBS_QTEXT Static method Private Method RFC 5322: Production rule 'obs-qtext' 20130920
32 NT_OBS_ROUTE Static method Private Method RFC 5322: Production rule 'obs-route' 20130920
33 NT_PHRASE Static method Private Method RFC 5322: Production rule 'phrase' 20130920
34 NT_QCONTENT Static method Private Method RFC 5322: Production rule 'qcontent' 20130920
35 NT_QTEXT Static method Private Method RFC 5322: Production rule 'qtext' 20130920
36 NT_QUOTED_PAIR Static method Private Method RFC 5322: Production rule 'quoted-pair' 20130920
37 NT_QUOTED_STRING Static method Private Method RFC 5322: Production rule 'quoted-string' 20130920
38 NT_VCHAR Static method Private Method RFC 5322: Production rule 'vchar' 20130920
39 NT_WORD Static method Private Method RFC 5322: Production rule 'word' 20130920
40 SAVE_HELPSTRING Static method Private Method Help Method to Save Textual Interim Result 20130920
41 VALIDATE Static method Public Method PChecks whether string is a valid e-mail address (RFC 5322) 20130920
42 VALIDATE_DOMAIN Static method Public Method Checks whether string is a valid domain (RFC 5322) 20130920
43 VALIDATE_DOMAIN_PUNY Static method Public Method Checks whether string is a valid domain (with umlauts) 20130920
44 VALIDATE_INCOMPLETE_ADDRESS Static method Private Method No full SMTP address is passed 20130920
45 VALIDATE_LOCALPART Static method Public Method Checks whether string is a valid local part (RFC 5322) 20130920
Events
Class CL_BCS_EMAIL_ADDRESS has no event.
Types
Class CL_BCS_EMAIL_ADDRESS has no local type.
Method Signatures

Method CALCULATE_NEXTTOKEN Signature

Method CALCULATE_NEXTTOKEN on class CL_BCS_EMAIL_ADDRESS has no parameter.
Method CALCULATE_NEXTTOKEN on class CL_BCS_EMAIL_ADDRESS has no exception.

Method CHECK_AND_SET_SERVICESELECTOR Signature

Method CHECK_AND_SET_SERVICESELECTOR on class CL_BCS_EMAIL_ADDRESS has no parameter.
Method CHECK_AND_SET_SERVICESELECTOR on class CL_BCS_EMAIL_ADDRESS has no exception.

Method NT_ADDR_SPEC Signature

Method NT_ADDR_SPEC on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_ANGLE_ADDR Signature

Method NT_ANGLE_ADDR on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_ATEXT Signature

Method NT_ATEXT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_ATOM Signature

Method NT_ATOM on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_CCONTENT Signature

Method NT_CCONTENT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_CFWS Signature

Method NT_CFWS on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_COMMENT Signature

Method NT_COMMENT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_CTEXT Signature

Method NT_CTEXT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_DISPLAY_NAME Signature

Method NT_DISPLAY_NAME on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_DOMAIN Signature

Method NT_DOMAIN on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_DOMAIN_LITERAL Signature

Method NT_DOMAIN_LITERAL on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_DOT_ATOM Signature

Method NT_DOT_ATOM on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_DOT_ATOM_TEXT Signature

Method NT_DOT_ATOM_TEXT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_DTEXT Signature

Method NT_DTEXT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_FWS Signature

Method NT_FWS on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_LOCAL_PART Signature

Method NT_LOCAL_PART on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_MAILBOX Signature

Method NT_MAILBOX on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_NAME_ADDR Signature

Method NT_NAME_ADDR on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_ANGLE_ADDR Signature

Method NT_OBS_ANGLE_ADDR on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_CTEXT Signature

Method NT_OBS_CTEXT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_DOMAIN Signature

Method NT_OBS_DOMAIN on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_DOMAIN_LIST Signature

Method NT_OBS_DOMAIN_LIST on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_DTEXT Signature

Method NT_OBS_DTEXT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_FWS Signature

Method NT_OBS_FWS on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_LOCAL_PART Signature

Method NT_OBS_LOCAL_PART on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_NO_WS_CTL Signature

Method NT_OBS_NO_WS_CTL on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_PHRASE Signature

Method NT_OBS_PHRASE on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_QP Signature

Method NT_OBS_QP on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_QTEXT Signature

Method NT_OBS_QTEXT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_OBS_ROUTE Signature

Method NT_OBS_ROUTE on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_PHRASE Signature

Method NT_PHRASE on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_QCONTENT Signature

Method NT_QCONTENT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_QTEXT Signature

Method NT_QTEXT on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_QUOTED_PAIR Signature

Method NT_QUOTED_PAIR on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_QUOTED_STRING Signature

Method NT_QUOTED_STRING on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_VCHAR Signature

Method NT_VCHAR on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method NT_WORD Signature

Method NT_WORD on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method SAVE_HELPSTRING Signature

Method SAVE_HELPSTRING on class CL_BCS_EMAIL_ADDRESS has no parameter.
Method SAVE_HELPSTRING on class CL_BCS_EMAIL_ADDRESS has no exception.

Method VALIDATE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Changing CV_ADD Call by reference Type reference (TYPE) C @ wurde gefunden 20130920
2 Changing CV_COMMENT Call by reference Type reference (TYPE) STRING Kommentar 20130920
3 Changing CV_DISPLAY Call by reference Type reference (TYPE) STRING Anzeigename 20130920
4 Changing CV_DOMAIN Call by reference Type reference (TYPE) STRING Domäne (nach @) 20130920
5 Changing CV_LOCALPART Call by reference Type reference (TYPE) STRING Lokaler Teil (vor @) 20130920
6 Changing CV_NORMAL Call by reference Type reference (TYPE) STRING normalisierte Adresse 20130920
7 Changing CV_NORMAL_LOWER Call by reference Type reference (TYPE) STRING normalisierte Adresse in Kleinbuchstaben 20130920
8 Importing IV_COMPLETE_ADDRESS Call by reference Type reference (TYPE) BOOLEAN ABAP_TRUE vollständige SMTP Adresse wird übergeben 20130920
9 Importing IV_FULL_EMAIL Call by reference Type reference (TYPE) CSEQUENCE Kompletter zu prüfender Eingabestring 20130920
10 Importing IV_NO_OBS Call by reference Type reference (TYPE) BOOLEAN ABAP_FALSE boolsche Variable (X=true, -=false, space=unknown) 20130920
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method VALIDATE_DOMAIN Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_DOMAIN Call by reference Type reference (TYPE) CSEQUENCE 20130920
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method VALIDATE_DOMAIN_PUNY Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Changing CV_ACE Call by reference Type reference (TYPE) STRING Domain in Punycode Darstellung 20130920
2 Importing IV_DOMAIN Call by reference Type reference (TYPE) CSEQUENCE 20130920
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method VALIDATE_INCOMPLETE_ADDRESS Signature

Method VALIDATE_INCOMPLETE_ADDRESS on class CL_BCS_EMAIL_ADDRESS has no parameter.
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920

Method VALIDATE_LOCALPART Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_LOCALPART Call by reference Type reference (TYPE) CSEQUENCE 20130920
2 Importing IV_NO_OBS Call by reference Type reference (TYPE) BOOLEAN ABAP_FALSE boolsche Variable (X=true, -=false, space=unknown) 20130920
# Exception Resumable Description Created on
1 CX_ADDRESS_BCS BCS: Ausnahmen bei Adressen 20130920
History
Last changed by/on SAP  20141121 
SAP Release Created in 740