Привет. Хотя уже прошёл месяц, я всё же добавлю ещё одно решение.
Для проверки можно использовать регулярные выражения (как сказано в разделе "Регулярные выражения" транзакции AbapDocu, "As of release 7.0, ABAP supports extended regular expressions in accordance with POSIX standard 1003.2").
Например, так:
Code:
Parameters: p_input type string default '-123.45' obligatory.
DATA: regex TYPE REF TO cl_abap_regex,
matcher TYPE REF TO cl_abap_matcher,
match TYPE c LENGTH 1.
matcher = regex->create_matcher( text = p_input ).
match = matcher->match( ).
If p_input CN '0123456789-.,'.
Write 'Явно не число в десятичной СС - содержит не только цифры 0-9, минус, точку, запятую.'.
Elseif match = ' '.
Write 'Не число, не совпадает с регулярным выражением ''-?\d+([\.,]\d+)?'''.
Else.
Write 'Число - совпадает с регулярным выражением ''-?\d+([\.,]\d+)?'''.
Endif.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.