4AP.de ~ alles fuer ABAP-Programmierer - Infos zur SAP Programmiersprache


das Neueste

10 Jahre 4ap.de

10 Jahre 4ap.de - kleines und stilles Jubiläum

|

 

Buchrezensionen

Einige neue Buchrezensionen sind vorhanden.

|

 

neues Coding: braune Kekse

Lange schwebte mir die Idee vor, aber es fehlte schlicht die Zeit. Heute war es endlich soweit: ich nahm sie mir, die Zeit :-) Ergebnis unter: braune Kekse.

|

 

neues Kontaktformular

Wegen Formularspoofing wurde eine neue Kontaktmöglichkeit geschaffen.
|

 

Codings gesucht

Codings gesucht, die NICHT im SDN stehen.
|

 

Suche



 


Dieser Inhalt wurde zuletzt geändert am:
21.04.2009 von TN

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(255OCCURS 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 = ''