Почему в ABAP так много типов char, когда у вас есть тип string? - PullRequest
4 голосов
/ 17 октября 2019

В словаре ABAP вы можете найти элементы данных типов "CHAR" практически для всех длин, поэтому возникает вопрос: какие функции у них есть , когда у вас есть строковый элемент, который может позволить себе все длины?

Я говорю о тех, кто имеет определенную длину, но имеет тот же тип домена.

Здесь я показываю некоторые из них:

CHAR0001
CHAR0008
CHAR0010
CHAR0016
CHAR0032
CHAR004
CHAR005
CHAR006
CHAR0064
CHAR007
CHAR01
CHAR011
CHAR012
CHAR0128
CHAR02
CHAR022
CHAR0241
CHAR025
CHAR0256
CHAR03
CHAR04
CHAR05
CHAR060
CHAR07
CHAR08
CHAR101
CHAR102
CHAR1024
...

1 Ответ

7 голосов
/ 17 октября 2019

У вас так много по многим причинам.

  1. Строковый тип нельзя использовать в качестве первичного ключа в таблице базы данных (прозрачной).
  2. При использовании строкового типа вВ одном из полей структуры некоторые неявные операции над переменными такого типа структуры будут невозможны, например, при присваивании другой структуре фиксированной длины.
  3. Используя строковый тип в типе структуры, вы создаете егобольше не является плоской структурой.
  4. Некоторые интерфейсы миграции данных, такие как прямой ввод , требуют, чтобы структура загрузки была определенной фиксированной длины.

Я думаю, что естьеще много, но об этом я мог подумать за короткий промежуток времени.

...