URL überprüfen
www.4AP.de - ABAP Syntaxbeispiel: URL überprüfen
Beispielcoding: HTTP URL überprüfen (kopieren erlaubt aber auf eigene Gefahr :-))
Anlass war eine E-Mail-Adresse zu verifizieren. Es sollten keine *@gmx.de oder ähnliche private Mailaccounts verwendet werden dürfen. Daher folgender Ansatz: Auschlussliste für ganze Domains und anschließendes Prüfen, ob die Domain ereichbar ist. Und das ganze mit ABAP-Mitteln.
*
* Coded by Thorsten Neubüser - www.4ap.de
*
* SMTP ( E-Mail ) Adresse des Warenempfängers prüfen
IF p_shiptoparty-email = ''.
RAISE email_domain_not_allowed.
ELSE. " P_SHIPTOPARTY-email = ''
DATA: help_mail_name TYPE ad_smtpadr,
help_mail_domain TYPE ad_smtpadr.
* Domain extrahieren
SPLIT p_shiptoparty-email AT '@' INTO
help_mail_name help_mail_domain.
* ist die Domain in der Ausschlusstabelle enthalten?
SELECT SINGLE email FROM zwebshop_r_email
INTO help_mail_domain
WHERE email = help_mail_domain.
IF sy-subrc = 0. " SELECT SINGLE email FROM zwebshop_r_email
RAISE email_domain_not_allowed.
ENDIF. " sy-subrc = 0. " SELECT SINGLE email FROM zwebshop_r_email
* kann man die Domain aufrufen?
data: RESULT(255) OCCURS 100 WITH HEADER LINE, "No max length
CMD(254). "Max length = 254 Bytes
CONCATENATE 'ping www.' help_mail_domain into cmd.
CALL 'SYSTEM' ID 'COMMAND' FIELD CMD
ID 'TAB' FIELD RESULT-*SYS*.
* Store result
if sy-subrc ne 0. " CALL 'SYSTEM'
RAISE email_domain_not_allowed.
endif. " sy-subrc ne 0. " CALL 'SYSTEM'
ENDIF. " P_SHIPTOPARTY-email = ''