Мы пишем инструмент на Java, который анализирует и преобразует ABAP-код. Поэтому мы не собираемся писать новый код ABAP, но наш инструмент должен обрабатывать все ABAP, даже устаревшие операторы. Кроме того, я не специалист по ABAP.
У нас есть инструмент ABAP, который извлекает систему и записывает ее в XML. Эта программа не содержит логику, поэтому я считаю, что XML на самом деле соответствует системе.
Я смотрю на данные, полученные при чтении текстового пула. Последний читается READ TEXTPOOL
; если они существуют, атрибуты LANGU
, ID
, KEY
, ENTRY
и LENGTH
записываются в XML.
Теперь я вижу записи текстовых элементов в XML, которые, кажется, нарушают формат, как описано в документации по ключевым словам ABAP.
id = I, ключ не имеет длины 3. В частности, ключи имеют вид 01100001, SH010001, SF010001
id = R, ключ присутствует. Пример: ключ = "027". Я даже вижу пример, где все атрибуты одинаковы, но ключ.
id = S, текстовый элемент не начинается ни с " "
(восемь пробелов), ни с "D "
("D", за которым следуют семь пробелов)
длина текстового элемента превышает максимальную. Мы используем верхние пределы H = 255, I = 132, S = 38, R = 70, T = 70. (Здесь я не уверен, откуда наши номера)
Когда мы преобразуем текстовые записи, мы проверяем существующие и не можем использовать слишком длинные. Может кто-нибудь уточнить?