SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

пустая строка в тхт файле во вложении в письме



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
RRRoman
Участник
Участник



Joined: 05 Mar 2008
Posts: 39

PostPosted: Tue Dec 03, 2013 4:46 pm    Post subject: пустая строка в тхт файле во вложении в письме Reply with quote

добрый день!

возникла интересная проблема.
я выгружаю тхт-файл на жесткий диск, а потом его прогружаю во внутреннюю таблицу, преобразую в бинарник(в тхт-файле длина строки больше 255 символов), прикладываю его к письму и отправляю на почту.

но почему-то при получении письма в файле появляется пустая строка с пробелами после строк с данными.

кто-нить встречался с такой проблемой? файл прогружается нормально и количество строк во внутренней таблице равно изначальному количеству строк в файле.
Back to top
View user's profile Send private message
RRRoman
Участник
Участник



Joined: 05 Mar 2008
Posts: 39

PostPosted: Wed Dec 04, 2013 1:07 pm    Post subject: Reply with quote

проблема решилась! в вкратце: я не указал размер файла. из-за этого появлялись пробелы.

текст программы для подсчета размера бинарного файла:
Code:

      DATA: l_size_attachment TYPE sood-objlen. " размер вложенного файла
      DATA: tab_lines LIKE sy-tabix.
      DATA: ls_binary_content LIKE LINE OF binary_content.
      DATA: ls_binary_content_char(255) TYPE c.
      DATA: l_chars TYPE i.
      DATA: l_chars_all TYPE i.

      DATA: convin        TYPE REF TO cl_abap_conv_in_ce.

      CLEAR: ls_binary_content, l_size_attachment, tab_lines, ls_binary_content_char.

      DESCRIBE TABLE binary_content LINES tab_lines.
      READ TABLE binary_content INTO ls_binary_content INDEX tab_lines.

      CALL METHOD cl_abap_conv_in_ce=>create
        EXPORTING
          input = ls_binary_content-line         " pass Raw data
        RECEIVING
          conv  = convin.

      CALL METHOD convin->read
        IMPORTING
          data = ls_binary_content_char.               " Converted data

      CLEAR: l_chars, l_chars_all.

      " определяем длину отступа строки для размера файла
      l_chars_all = STRLEN( ls_binary_content_char ).

      SHIFT ls_binary_content_char LEFT DELETING LEADING space.
      l_chars = STRLEN( ls_binary_content_char ).

      l_chars = l_chars_all - l_chars + 1.

      l_size_attachment = ( tab_lines - 1 ) * 255 + l_chars.
Back to top
View user's profile Send private message
Dmitriy
Аналитик
Аналитик


Age: 46
Joined: 14 Nov 2008
Posts: 300
Location: Russia

PostPosted: Wed Dec 04, 2013 6:03 pm    Post subject: Reply with quote

Роман, это хорошо. На будущее: при включении программного кода используйте тег "Code", есть такая кнопка на экране интерфейса создания сообщения. Выделяете текст, являющийся кодом и нажимаете кнопку, пример результата ниже.
Code:
DATA: l_size_attachment TYPE sood-objlen. " размер вложенного файла
DATA: tab_lines LIKE sy-tabix.
DATA: ls_binary_content LIKE LINE OF binary_content.
DATA: ls_binary_content_char(255) TYPE c.
DATA: l_chars TYPE i.
DATA: l_chars_all TYPE i.
DATA: convin TYPE REF TO cl_abap_conv_in_ce.
...

_________________
ABAP/4 You
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.