Текущее время: Вс, июл 27 2025, 02:22

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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