Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Uukrul от Сентябрь 10, 2014, 12:45:09 am

Название: RANDOM_AMOUNT - Генератор случайных сумм
Отправлено: Uukrul от Сентябрь 10, 2014, 12:45:09 am
RANDOM_AMOUNT - Генератор случайных сумм. В общем тут по ходу для одного из интерфейсов нужно было нарисовать выполнение контрактов ММ, так как самих контрактов еще нет, а интерфейс вроде как уже другими пишется, то параметры согласовали, а чтобы было не грустно, то суммы которые интерфейс пока будет возвращать, сделали заполнение случайным образом. Ну там могут как бы их показывать, а тут чтобы хоть что-то пусть выдает. Вот для этих целей откопалась функция. Параметры вроде как простые:
Код: You are not allowed to view links. Register or Login
data: l_wrbtr like bbseg-wrbtr,
      p_dmbtr type dmbtr.

  call function 'RANDOM_AMOUNT'
    exporting
      rnd_min    = '1'
      rnd_max    = '10000'
      valcurr    = 'USD'
    importing
      rnd_amount = l_wrbtr
    exceptions
      others     = 1.

  replace all occurrences of '.' in l_wrbtr with space.
  replace all occurrences of ',' in l_wrbtr with '.'.
  p_dmbtr = l_wrbtr.
Из особенностей возвращает число в заданном диапазоне, с копейками, но в виде строки. Поэтому перед тем как эту строку передавать в поле типа сумма, ее надо преобразовать, т.е. точки, если есть убрать, а запятую заменить на точку. После чего сумма в заданном диапазоне вполне удобно-варимая.