Posted: Thu Jan 22, 2009 6:16 pm Post subject: conversion_exit - обработка знаков после запятой
всем доброго времени суток!
столкнулся с проблемой, описание ниже.
при создании своего домена, указываю в нем п/программу конвертации (допустим, ZMMDM), и выставляю количество знаков после запятой, допустим, 8.
в ФМ CONVERSION_EXIT_ZMMDM_OUTPUT пишу:
Code:
WRITE input TO output
далее в программе создаю свою переменную my_val с типом, основанным на этом домене, и в какой-то момент отправляю ее через WRITE на печать:
Code:
WRITE my_val TO my_str DECIMALS 2.
ожидаю при этом, что в строке my_str будет содержаться значение с двумя знаками после запятой. но там - 8, это значение из домена.
если тип переменной стандартный, то в строке будет значение с двумя знаками.
как можно настроить вывод для моего случая?
спасибо.
я планировал сделать вывод через АЛВ; т.е. если указать в фиелд-каталоге decimals_out 2, то по идее значение выведется во-первых с моей п/программой преобразования, а во-вторых, с количестом знаков, нужных мне.
upd.
грубо говоря, задача - передать в ФМ CONVERSION_EXIT_xxx_OUTPUT информацию из блока WRITE ... DECIMALS 2.
но как это сделать, если передается только само число через input?
Age: 165 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Fri Jan 23, 2009 11:41 am Post subject:
Красиво передать не удастся, только если через SAP или ABAP память.
Могу предложить немного кривой способ: не прописывать MASK у домена, а задавать его на лету.
WRITE my_val TO my_str USING EDIT MASK '==ZMMD2'.
WRITE my_val TO my_str USING EDIT MASK '==ZMMD3'.
..
WRITE my_val TO my_str USING EDIT MASK '==ZMMD8'.
Соотвестенно создать несколько conversion_exit
В alv маска задется в field-calaog через поле
ls_fc-edit_mask = '==ZMMD2'.
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.