Текущее время: Вс, авг 03 2025, 03:25

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


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

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


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

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