У меня есть этот ABAP код:Преобразование символов в целое
CLEAR NEGATIIVNE.
DATA gv_negativenumericvalue_txt TYPE CHAR40.
SELECT SINGLE NETWR INTO NEGATIIVNE
FROM VBRK
WHERE VBELN = VBRK-VBELN.
IF DEBIT_CREDIT = 'CRED'.
NEGATIIVNE = NEGATIIVNE * -1.
ELSE.
NEGATIIVNE = NEGATIIVNE.
ENDIF.
WRITE NEGATIIVNE TO gv_negativenumericvalue_txt.
REPLACE ALL OCCURRENCES OF '.' in gv_negativenumericvalue_txt with ''.
CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
CHANGING
value = gv_negativenumericvalue_txt.
CALL FUNCTION 'MOVE_CHAR_TO_NUM '
EXPORTING
CHR = gv_negativenumericvalue_txt
IMPORTING
NUM = NEGATIIVNE
EXCEPTIONS
CONVT_NO_NUMBER = 1
CONVT_OVERFLOW = 2
OTHERS = 3.
write:/ gv_negativenumericvalue_txt.
Что мне нужно сделать, это написать переменную gv_negativenumericvalue_txt into variable NEGATIIVNE
, но я не могу сделать это каким-либо образом:/мне нужно это сделать, показать NEGATIIVNE значения в моем Макет ALV.
Сейчас код работает нормально, но как только я пытаюсь сделать что-то вроде этого -
NEGATIIVNE = gv_negativenumericvalue_txt
Я дамп говорить, что система не может распознать символ как число.
Что вы ожидаете? Это базовые навыки программирования. Вам нужно выполнить правильную настройку или попытаться использовать move gv_negativenumericvalue_txt для NEGATIIVNE. – icbytes
Вы уверены, что число, содержащееся в 'gv_negativenumericvalue_txt', имеет допустимое числовое представление? Также я не понимаю, почему вам нужно конвертировать, когда у вас уже есть значение, доступное в контексте кода. – Jagger
@Jagger, я думаю, что перед ним разваливается знак – tomdemuyt