Я не могу быть уверен, что они делают в скрипте Python, но, основываясь на моих знаниях ABAP / SAP, я могу легко сказать, что:
Система не на основе Unicode ABAP использует один байт для кодирования каждого символа, в то время как система на основе Unicode ABAP использует два байта для кодирования каждого символа. Начиная с ABAP 7.50 все системы являются Unicode.
В системе на основе Unicode ABAP строки символов и текстовые поля могут хранить символы Unicode от U + 0000 до U + FFFF. Обратите внимание, что символы от U + D800 до U + DFFF считаются фактическими символами в среде выполнения ABAP (dixit документация ABAP : «Язык программирования ABAP поддерживает подмножество, охватываемое UCS-2, а не полный UTF-16 set. ")
Обратите внимание, что структурированные параметры состоят из нескольких полей, которые могут смешивать символы и не символы," uc_length "удваивает количество байтов только символьных полей. Между полями также есть несколько фиктивных байтов из-за «выравнивания» .
В вашем примере текстовое поле из 80 байтов в системе Unicode соответствует 40 символам.