Добавьте ведущие нули между константой и переменной - PullRequest
1 голос
/ 26 марта 2020

Есть идеи, как добавить нули между знаком Q и количеством?

У меня есть знак Q и количество как:

  • пример 1: Q10
  • пример 2: Q300

Код:

DATA variable TYPE c LENGTH 7 VALUE 'Q'

Ожидание:

  • из примера 1: Q 0000 10
  • из примера 2: Q 000 300

Спасибо.

Ответы [ 3 ]

2 голосов
/ 27 марта 2020

Множество решений. Один из них (ABAP> = 7,02):

DATA(quantity) = 153.

DATA(variable) = |Q{ quantity WIDTH = 6 ALIGN = RIGHT PAD = '0' }|.

ASSERT variable = 'Q000153'.

Примечание:

0 голосов
/ 31 марта 2020

Другое возможное решение - использовать любой элемент данных QM DDI C в шаблонах строк, используя его преобразование, как предложил mkysoft:

DATA qty TYPE vbeln VALUE '10' .

DATA(result) = 'Q' && CONV char6( |{ qty ALPHA = IN }| ). 
0 голосов
/ 26 марта 2020

Вам нужно разделить цифры c и альфа-цифры c часть. Затем вы можете использовать ниже кодовую цифру c part:

write lv_text to lv_text right-justified.
translate lv_text using ' 0'.

Также вы можете использовать функциональный модуль CONVERSION_EXIT_ALPHA_INPUT только для переменных на основе чисел.
Затем объединить две части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...