Текущее время: Сб, июл 26 2025, 04:40

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Выгрузка внутренней таблицы в файл UTF-8
СообщениеДобавлено: Чт, сен 27 2007, 15:41 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, сен 27 2007, 14:43
Сообщения: 4
Доброго всем времени суток!

Есть необходимость выгрузить внутреннюю таблицу в файл с кодировкой UTF-8
Пробовал несколько способов, опишу один из них:

1. Определяю текущую кодировку

CALL FUNCTION 'SYSTEM_CODEPAGE'
IMPORTING
CODEPAGE = C_FROM.

Получаю C_FROM = 1500 (пробовал ручками прописывать 1503, 1504)
Для UTF-8 использую C_TO = 4110.

2. Перекодирую
CALL FUNCTION 'TRANSLATE_CODEPAGE_EXCEPT'
TABLES
T_DATA = it_Out
CHANGING
C_FROM = C_FROM
C_TO = C_TO.

Пробовал TRANSLATE wa_Out-Text FROM CODE PAGE C_FROM TO CODE PAGE C_TO.

Но на выходе никак не получаю UTF-8

3. Выгрузка таблицы в файл
CALL FUNCTION 'DOWNLOAD'
EXPORTING
FILENAME = 'C:\*.XML'
IMPORTING
CANCEL = CANCEL
TABLES
DATA_TAB = it_Out ...

Временно сделал выгрузку через задний проход – кидаю таблицу в эксель, там макросом перевожу в UTF-8 и выгружаю в файл! Но это тоже не выход - настройки безопасности в Excel и все, макросы не работают!

Если у кого есть хороший совет – заранее спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 27 2007, 15:57 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, фев 08 2007, 11:44
Сообщения: 52
попробуй GUI_DOWNLOAD с CODEPAGE = 4110


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 27 2007, 17:29 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, сен 27 2007, 14:43
Сообщения: 4
GUI_DOWNLOAD с CODEPAGE = 4110
пробовал! не помогает
щас с помощью
call function 'SCP_TRANSLATE_CHARS_46'
перекодировал в UTF-8 (HEX - type x)
если HEX в строку кидать текст репается
думаю как сразу в файл выкинуть прямо в HEX может что и выйдет


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 01 2007, 09:36 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, сен 27 2007, 14:43
Сообщения: 4
В общем все заработало! Всем спасибо!
* 1) Перевод в кодировку UTF-8
call function 'SCP_TRANSLATE_CHARS_46'
exporting
inbuff = wa_tab_text-Text
outcode = '4110' " should be UTF-8
ctrlcode = 'T'
importing
outbuff = wa_Full_HEX-HEX
exceptions
invalid_codepage = 1
internal_error = 2
cannot_convert = 3
fields_bad_type = 4
others = 5.
* 2) Для не первой строки добавим слева перевод строки 0D0A
if APPEND = 'X'.
SHIFT wa_Full_HEX-HEX RIGHT BY 2 PLACES.
wa_Full_HEX-HEX(1) = '0D'.
wa_Full_HEX-HEX+1(1) = '0A'.
endif.
* 3) потом склейка всех строк в новую таблицу it_xOut (с подсчетом числа байт в Sum_len)
* 4) собственно выгрузка
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = Sum_len
FILENAME = FILENAME
FILETYPE = 'BIN'
IMPORTING
FILELENGTH = OUT_SIZE
TABLES
DATA_TAB = it_xOut.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 04 2008, 09:16 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, июл 22 2005, 13:45
Сообщения: 491
Откуда: Астана
Code:
  call function 'GUI_DOWNLOAD'
    exporting
      codepage       = '4110' "UTF-8
      filename       = file_name
    tables
      data_tab       = ztab


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB