Текущее время: Пн, авг 04 2025, 02:47

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Чт, мар 04 2010, 12:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
есть что-нибудь готовенькое?
а то с этим юникодом RZL_READ_FILE решётками великий и могучий заменяет, а DX_FILE_READ просто дампит ...
p.s. или "всё сам, да сам"? ;)

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Чт, мар 04 2010, 12:35 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
GUI_UPLOAD?

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Чт, мар 04 2010, 12:43 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Я такой ФМ-ник себе когда-то писал
Code:
FUNCTION Z_LOAD_FILE_FROM_SERVER.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(PI_FILENAME) TYPE  STRING
*"  CHANGING
*"     REFERENCE(PC_FILELINES) TYPE  STANDARD TABLE
*"  EXCEPTIONS
*"      FILE_NOT_LOADED
*"----------------------------------------------------------------------
  DATA: BEGIN OF lwa_xline,
          XLINE(3000) TYPE X,
        END OF lwa_xline.
  DATA: lh_all_file TYPE STRING,
        lh_len   TYPE I,
        lh_len1  TYPE I,
        lh_line(3000) TYPE C.
  DATA: c_conv TYPE REF TO CL_ABAP_CONV_IN_CE.

  OPEN DATASET pi_filename FOR INPUT IN BINARY MODE.
  IF sy-subrc <> 0.
    PERFORM log_msg USING '' '' 'Z...' c_error c_important '402' pi_filename '' '' ''.
    RAISE FILE_NOT_LOADED.
  ENDIF.

  DO.
    CLEAR lh_len.
    READ DATASET pi_filename INTO lwa_xline-xline ACTUAL LENGTH lh_len.
    IF lh_len > 0.
      c_conv = cl_abap_conv_in_ce=>create( input = lwa_xline-xline
                                           replacement = space
                                           encoding = '1504' ).
      c_conv->read( EXPORTING n = lh_len IMPORTING data = lh_line len = lh_len1 ).
      CONCATENATE lh_all_file lh_line INTO lh_all_file RESPECTING BLANKS.
    ENDIF.
    IF sy-subrc <> 0.
      EXIT.
    ENDIF.
  ENDDO.

  " Это для юниксовых файлов, для виндовых можно по-другому, можно универсально придумать..
  REFRESH pc_filelines.
  SPLIT lh_all_file AT CL_ABAP_CHAR_UTILITIES=>CR_LF+1(1) INTO TABLE pc_filelines.
ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Чт, мар 04 2010, 12:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
N/A написал(а):
GUI_UPLOAD?

с солярной апликухи

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Чт, мар 04 2010, 12:48 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
raaleksandr написал:
Я такой ФМ-ник себе когда-то писал
Code:
FUNCTION Z_LOAD_FILE_FROM_SERVER.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(PI_FILENAME) TYPE  STRING
*"  CHANGING
*"     REFERENCE(PC_FILELINES) TYPE  STANDARD TABLE
*"  EXCEPTIONS
*"      FILE_NOT_LOADED
*"----------------------------------------------------------------------
  DATA: BEGIN OF lwa_xline,
          XLINE(3000) TYPE X,
        END OF lwa_xline.
  DATA: lh_all_file TYPE STRING,
        lh_len   TYPE I,
        lh_len1  TYPE I,
        lh_line(3000) TYPE C.
  DATA: c_conv TYPE REF TO CL_ABAP_CONV_IN_CE.

  OPEN DATASET pi_filename FOR INPUT IN BINARY MODE.
  IF sy-subrc <> 0.
    PERFORM log_msg USING '' '' 'Z...' c_error c_important '402' pi_filename '' '' ''.
    RAISE FILE_NOT_LOADED.
  ENDIF.

  DO.
    CLEAR lh_len.
    READ DATASET pi_filename INTO lwa_xline-xline ACTUAL LENGTH lh_len.
    IF lh_len > 0.
      c_conv = cl_abap_conv_in_ce=>create( input = lwa_xline-xline
                                           replacement = space
                                           encoding = '1504' ).
      c_conv->read( EXPORTING n = lh_len IMPORTING data = lh_line len = lh_len1 ).
      CONCATENATE lh_all_file lh_line INTO lh_all_file RESPECTING BLANKS.
    ENDIF.
    IF sy-subrc <> 0.
      EXIT.
    ENDIF.
  ENDDO.

  " Это для юниксовых файлов, для виндовых можно по-другому, можно универсально придумать..
  REFRESH pc_filelines.
  SPLIT lh_all_file AT CL_ABAP_CHAR_UTILITIES=>CR_LF+1(1) INTO TABLE pc_filelines.
ENDFUNCTION.

ну-да ну-да (с) "жил-был пёс" ;) пасиб

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Чт, мар 04 2010, 12:50 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, май 14 2007, 13:05
Сообщения: 561
Откуда: Москва
Skif написал:
N/A написал(а):
GUI_UPLOAD?

с солярной апликухи
а..не заметил :) сорри

_________________
Sapere aude!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Чт, мар 04 2010, 13:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
raaleksandr написал:
Я такой ФМ-ник себе когда-то писал
Code:
  " Это для юниксовых файлов, для виндовых можно по-другому, можно универсально придумать..
  REFRESH pc_filelines.
  SPLIT lh_all_file AT CL_ABAP_CHAR_UTILITIES=>CR_LF+1(1) INTO TABLE pc_filelines.
ENDFUNCTION.

ага
ща...где тут наш рашпиль ;)

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Пт, мар 05 2010, 09:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
raaleksandr написал:
Я такой ФМ-ник себе когда-то писал

Code:
FUNCTION Z_LOAD_FILE_FROM_SERVER.

close dataset забыл

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: взять c апликухи файл(1251)->itab
СообщениеДобавлено: Пт, мар 05 2010, 10:21 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Цитата:
close dataset забыл

Да, действительно :)
Это я не самую позднюю версию оказывается оправил, в более поздних бэкапах эта команда есть :)
Главное - сама идея !


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

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


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

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


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

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