Текущее время: Сб, авг 02 2025, 04:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: ПЕРЕВЕСТИ ФАЙЛ СО СТРУКТУРОЙ ИЗ XLS В TXT
СообщениеДобавлено: Ср, сен 10 2008, 05:49 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 09 2008, 08:47
Сообщения: 60
Откуда: Алматы
Здравствуйте.

Только начала программировать и столкнулась с такой проблемой надо ПЕРЕВЕСТИ ФАЙЛ СО СТРУКТУРОЙ ИЗ XLS В TXT. Подскажите пожалуйста, хоть с чего начать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПЕРЕВЕСТИ ФАЙЛ СО СТРУКТУРОЙ ИЗ XLS В TXT
СообщениеДобавлено: Ср, сен 10 2008, 06:04 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
shishulechek написал(а):
Здравствуйте.

Только начала программировать и столкнулась с такой проблемой надо ПЕРЕВЕСТИ ФАЙЛ СО СТРУКТУРОЙ ИЗ XLS В TXT. Подскажите пожалуйста, хоть с чего начать.

И это вам надо сделать с помощью ABAP-а :-)
Не проще ли для этого воспользоваться Excel-ем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ПЕРЕВЕСТИ ФАЙЛ СО СТРУКТУРОЙ ИЗ XLS В TXT
СообщениеДобавлено: Ср, сен 10 2008, 06:11 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[quote="shishulechek"]Здравствуйте.

Только начала программировать и столкнулась с такой проблемой надо ПЕРЕВЕСТИ ФАЙЛ СО СТРУКТУРОЙ ИЗ XLS В TXT. Подскажите пожалуйста, хоть с чего начать.[/quote]
Объяснте подробнее саму проблему, откуда это файл? Вы его из сапа выгружаете или как, зачем Вам это?


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

Зарегистрирован:
Вт, сен 09 2008, 08:47
Сообщения: 60
Откуда: Алматы
Дана структура orext. Данные консультанты записали в excel придерживаясь этой структуры. Сейчас пишут программу которая будет закачивать эти данные. Мне дали задание перевести файл из xls в txt. Я сама тольком не могу еще понять как что и куда. Только учусь программировать. Вот нашла один ФМ только не понимаю как он работает...

REPORT z_xls_to_txt.

TYPE-POOLS: TRUXS.
CONSTANTS: c_xls(3) VALUE 'XLS'.
DATA: lv_file(128), lv_ext(3).

DATA: BEGIN OF i_file_data OCCURS 0,
col1 TYPE text60,
col2 TYPE text60,
col3 TYPE text60,
col4 TYPE text60,
col5 TYPE text60,
col6 TYPE text60,
END OF i_file_data.

PARAMETER: p_local TYPE rlgrap-filename MODIF ID m2.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_local.
*F4 help to browse file in local server
PERFORM select_local_file.

START-OF-SELECTION.

*Get file extension
SPLIT p_local AT '.' INTO lv_file lv_ext.
TRANSLATE lv_ext TO UPPER CASE.

CLEAR i_file_data.
REFRESH i_file_data.

IF lv_ext = c_xls.

*IF file is excel get data from excel sheet
PERFORM get_xls_file.

ELSE.
*Else get file from gui download
PERFORM get_txt_file.
ENDIF. "lv_ext

*---------------------------------------------------------------------*
* FORM get_xls_file *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM get_xls_file.
DATA: i_raw TYPE TRUXS_T_TEXT_DATA.

CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_field_seperator = 'X'
i_tab_raw_data = i_raw
i_filename = p_local
TABLES
i_tab_converted_data = i_file_data[]
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. " sy-subrc
ENDFORM. "get_xls_file

*---------------------------------------------------------------------*
* FORM get_txt_file *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM get_txt_file.
DATA: lv_string TYPE string. " To get file path

CLEAR lv_string.
lv_string = p_local. " Get file path

CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_string
filetype = 'ASC'
has_field_separator = 'X'
read_by_line = 'X'
TABLES
data_tab = i_file_data[]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. " sy-subrc
ENDFORM. "get_txt_file

*---------------------------------------------------------------------*
* FORM select_local_file *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM select_local_file.

CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = sy-cprog
dynpro_number = sy-dynnr
field_name = space
IMPORTING
file_name = p_local.

ENDFORM. "select_local_file


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 10 2008, 07:15 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Ваша программа загружает XLS файл и выгружает его же в TXT, впринципе это то что вам надо, а что иенно Вам не понятно?


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

Зарегистрирован:
Вт, сен 09 2008, 08:47
Сообщения: 60
Откуда: Алматы
Besa написал:
Ваша программа загружает XLS файл и выгружает его же в TXT, впринципе это то что вам надо, а что иенно Вам не понятно?


:oops: где мне теперь найти этот txt файл и посмотреть, что он выгрузил?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 10 2008, 07:21 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[quote="shishulechek"][quote="Besa"]Ваша программа загружает XLS файл и выгружает его же в TXT, впринципе это то что вам надо, а что иенно Вам не понятно?[/quote]

:oops: где мне теперь найти этот txt файл и посмотреть, что он выгрузил?[/quote]
Я думаю что выгрузилу в тот же директорий откуда загружал XLS.


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

Зарегистрирован:
Вт, сен 09 2008, 08:47
Сообщения: 60
Откуда: Алматы
Besa написал:
shishulechek написал(а):
Besa написал:
Ваша программа загружает XLS файл и выгружает его же в TXT, впринципе это то что вам надо, а что иенно Вам не понятно?


:oops: где мне теперь найти этот txt файл и посмотреть, что он выгрузил?

Я думаю что выгрузилу в тот же директорий откуда загружал XLS.


Там его нету... Сделала поиск по всем дискам тоже нет...


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

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Данная программка ничего не выгружает, а только загружает:

Если расширение XLS - файл екселевского формата.
Если расширение не XLS - файл текстового формата.

Для выгрузки в текстовый файл можно попробовать воспользоваться ФМ GUI_DOWNLOAD


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 10 2008, 08:03 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[quote="Rokhay"]Данная программка ничего не выгружает, а только загружает:

Если расширение XLS - файл екселевского формата.
Если расширение не XLS - файл текстового формата.

Для выгрузки в текстовый файл можно попробовать воспользоваться ФМ GUI_DOWNLOAD[/quote]
Точно, это я невнимательно смотрел, извиняюсь :oops:


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

Зарегистрирован:
Вт, сен 09 2008, 08:47
Сообщения: 60
Откуда: Алматы
Besa написал:
Rokhay написал:
Данная программка ничего не выгружает, а только загружает:

Если расширение XLS - файл екселевского формата.
Если расширение не XLS - файл текстового формата.

Для выгрузки в текстовый файл можно попробовать воспользоваться ФМ GUI_DOWNLOAD

Точно, это я невнимательно смотрел, извиняюсь :oops:


А можно ли сначала данные загрузить во внутреннюю таблицу, а потом с помощью transfer загрузить в блокнот?


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

Зарегистрирован:
Вт, сен 09 2008, 08:47
Сообщения: 60
Откуда: Алматы
:oops: оказывается transfer пересылает только поле... А можно ли все поля переслать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 10 2008, 08:36 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
[quote="shishulechek"]:oops: оказывается transfer пересылает только поле... А можно ли все поля переслать?[/quote]\
Я могу понять что Вы имеете в виду. Вам надо сделать так, Загрузить данные из Экселя во внутреннюю таблицу используя Ваш PERFORM get_xls_file. Потом Выгрузить в ТХТ их спомощью GUI_DOWNLOAD как писал[b] Rokhay.[/b]


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

Зарегистрирован:
Вт, сен 09 2008, 08:47
Сообщения: 60
Откуда: Алматы
Besa написал:
shishulechek написал(а):
:oops: оказывается transfer пересылает только поле... А можно ли все поля переслать?
\
Я могу понять что Вы имеете в виду. Вам надо сделать так, Загрузить данные из Экселя во внутреннюю таблицу используя Ваш PERFORM get_xls_file. Потом Выгрузить в ТХТ их спомощью GUI_DOWNLOAD как писал Rokhay.


Так, данные во внутреннюю таблицу загрузились, правда я использовала функцию function z_excel_upload_to_inttab .
(http://sapboard.ru/forum/viewtopic.php?t=815&highlight=excel), а вот как использовать GUI_DOWNLOAD не поняла еще. Не подскажите где можно на форуме посмотреть пример применения этого ФМ?


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

Зарегистрирован:
Вт, сен 09 2008, 08:47
Сообщения: 60
Откуда: Алматы
:D Получилось!!! Надеюсь это правильно... Завтра узнаю у шефа это надо было сделать или нет. Всем спасибо.

Но прошу Вас заглядывайте еще на эту темку, так как задание вряд ли на этом закончилось, а без Ваших советов у меня бы не чего не получилось.


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

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


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

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


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

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