sorry falls ich im falschen Forum bin. Es geht um folgendes: wenn ich Daten per 'SDOK_PHIO_LOAD_CONTENT' aus der Datenbank hole lese ich diese ja in eine Variable vom Typ 'standard table of sdokcntbin' ein. So bekomme ich immer ein mehrfaches von 1022 (Länge sdokcntbin-line) als gelesene Bytes. Die Menge an gelesenen Bytes rechne ich mit 'describe table l_binary lines count. count = count * 1022' aus. Wenn es sich z.B. um kleine TXT-Dateien handelt wird diese mit 0x00 Bytes aufgefüllt. Kann ich das irgendwie vermeiden? Die Umwandlung in einen 'xstring' mache mit 'scms_binary_to_xstring' die halt als Parameter die Byteanzahl benötigt. Die Übertragung auf den PC erfolgt dann mit RFC.
Vielen Dank im voraus.
Verwender des Bausteins im SAP-Standard machen das so, dass sie sich neben FILE_CONTENT_BINARY auch noch FILE_ACCESS_INFO zurückliefern lassen.
Wenn in dieser itab Zeile 1 gefüllt ist und file_size gefüllt ist, wird dieser Wert genommen, nur wenn die an den Partameter FILE_ACCESS_INFO übergebene itab leer ist oder file_size initial, wird nachgerechnet: Satzlänge * (Zeilenanzahl - 1) + "Länge des letzten Eintrags" (mit XSTRLEN ermittelt).
Siehe z.B. Klasse CL_BCOM_MIME_PERSISTENT, Methode LOAD_FROM_KPRO.
(Nachzusehen, wie der SAP-Standard einen Baustein verwendet, ist eigentlich fast immer eine gute Idee.)