L'ABAP pour les francophones

TYALGR
12 rue des tamaris 27240 Buis sur Damville
Tel : 09 52 06 57 30 Fax : 01 34 29 60 47 Email : contact [at] tyalgr.com
Connexion
 

Zephyr

ABAP

Aller à   
Rechercher
Auteur
Message Vue en arbre
yann SZWEC
Posté le: 18 Mai 2008 09:52:48
Sujet de la contribution: Comment tester si une chaine de caractere est un date

La question m'a ete pose par des consultants BI, qui devaient contrôler le chargement de données.

Une reponse plutôt simple:

data: v_date type sy-datum.
 
parameters: p_dates type string.
 
initialization.
 p_dates = 'a0080313'.    "Le type DATUM est de type caractere, il accepte tout et donc n'importe quoi
  
 
start-of-selection.
 

* Par cette fonction nous laissons SAP travailler
 CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
   EXPORTING
     date_external                  = p_dates
  IMPORTING
    DATE_INTERNAL                  = v_date
  EXCEPTIONS
    DATE_EXTERNAL_IS_INVALID       = 1
    OTHERS                         = 2
           .


 IF sy-subrc <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
 else.
 
write: / v_date.
 
ENDIF.

La reponse a été trouve sur SDN, apres 2 bonnes heures de recherche.



Haut 
Aller à   
Rechercher
© 2007 Ecir Consulting. Tous droits réservés.