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

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


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

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


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

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