Ну очень полезная функция о которой очень часто начинающие абаперы или не знают или забывают, а уж внутренний код у данного ФМ какой, мощный, но главное полезный:
function conversion_exit_alpha_input.
*"----------------------------------------------------------------------
*"Lokale Schnittstelle:
*" IMPORTING
*" INPUT
*" EXPORTING
*" OUTPUT
*"----------------------------------------------------------------------
call 'CONVERSION_EXIT_ALPHA_INPUT' id 'INPUT' field input
id 'OUTPUT' field output.
endfunction.
Суть данной функции в том, что она производит конвертацию внешнего представления значения во внутреннее. В общем виде это выглядит следующим образом, допустим у вас есть номер документа ММ, стандартная длина такого номера 10 символов. При настройке интервалов например, нумерация была выбрана как 0100000000 по 01999999999, при вводе документов и просмотре вы можете указать 1000000000 и система выведет вам к примеру первый документ, однако если вы решите выбрать этот документ в запросе вида:
SELECT * FROM MKPF WHERE mblnr = '1000000000'...
то получите sy-subrc = 4, типа такого документа нет в базе, а потому что нужно было выбирать документ по номеру '0100000000', т.е. добавить ведущий ноль. Так вот, чтобы не заниматься геморроем с определением сколько там впереди нулей и надо их добавлять или не надо и существует функция CONVERSION_EXIT_ALPHA_INPUT. Вызов очень прост, плюс входящий параметр может быть любого типа и отличаться от выходного, например после проводки документа используя CALL TRANSACTION 'XXX', часто номер проведенного документа записывается в одном из полей sy-msgv*, правильным способом будет его чтение используя следующую конструкцию
DATA: l_mblnr like mseg-mblnr.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = sy-msgv1
importing
output = l_mblnr.
В принципе, для упрощения вызова данного ФМ, рекомендуется делать макрос:
DEFINE ext_to_int.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = &1
importing
output = &2.
END-OF-DEFINITION.
И затем по коду делать вызовы вида:
ext_to_int: lt_screen_5-kostl goodsmvt_item-costcenter,
lt_screen_5-konto goodsmvt_item-gl_account.