В общем, проблему решил, но несколько "нестандартно".
Сделал 2 свойства.
Длинна строки(изначально я ее знаю)
И 1 байт параметризованный.
Дальше так. Вызываю метод OLE, который формирует строку. Дальше считываю значение, содержащее длину строки.
А дальше в цикле по байту вытягиваю строку.
Code:
WHILE off < len.
GET PROPERTY OF ole 'byte' = b
EXPORTING
#1 = off.
IF sy-subrc <> 0. BREAK-POINT. ENDIF.
c = c && b.
ADD 1 TO off.
ENDWHILE.
Работает это не быстро, но гарантированно.
[s]ЗЫ: Принимающая переменная должна быть типа X, в том случае, если принимать в xstring - придет два байта. Первый значащий, второй пустой(например FD00).[/s]
Обновления. Ошибся я. Не байт эта зараза возвращает, а integer... То есть, если в оригинале было 30, я в ABAPе получу 48... Сейчас буду думать дальше. Ну или просто приводить назад в шестнадцатиричное значение...
Если найду решение изначальной проблемы - отпишусь.