Текущее время: Сб, июл 19 2025, 07:45

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Прочитать DBF
СообщениеДобавлено: Вт, июн 16 2009, 17:22 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 28 2008, 10:39
Сообщения: 86
А у меня проблем, в первой колонке обрезает последний символ, может у кого была сходная проблема


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

Зарегистрирован:
Вт, окт 28 2008, 10:39
Сообщения: 86
Сори, ет у меня в ТЗ один размер колонки а данные другие


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Ср, дек 16 2009, 12:58 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
Code:
*   Not Deleted
    CHECK l_xrow(1) EQ '20'.

    l_field_offset = 1.

*   For All Fields
    LOOP AT lt_dbf_fields.

      ASSIGN COMPONENT lt_dbf_fields-name OF STRUCTURE pt_dbf TO <fs_value>.
      CHECK sy-subrc EQ 0.

      l_len     = lt_dbf_fields-len.
      l_xstring = l_xrow+l_field_offset(l_len).

*     Read Value
      PERFORM convert_from_x
        USING     l_xstring
        CHANGING  <fs_value>.

      ADD l_len TO l_field_offset.
    ENDLOOP.

    ADD l_field_offset TO l_offset.

    APPEND pt_dbf.
  ENDDO.

ENDFORM.                    " read_dbf


правильнее будет так:
Code:
*   Not Deleted
*    CHECK l_xrow(1) EQ '20'. " комментируем

* дальше код без из
    l_field_offset = 1.

*   For All Fields
    LOOP AT lt_dbf_fields.

      ASSIGN COMPONENT lt_dbf_fields-name OF STRUCTURE pt_dbf TO <fs_value>.
      CHECK sy-subrc EQ 0.

      l_len     = lt_dbf_fields-len.
      l_xstring = l_xrow+l_field_offset(l_len).

*     Read Value
      PERFORM convert_from_x
        USING     l_xstring
        CHANGING  <fs_value>.

      ADD l_len TO l_field_offset.
    ENDLOOP.

    ADD l_field_offset TO l_offset.

*   Not Deleted
    CHECK l_xrow(1) EQ '20'. " переносим строку сюда

    APPEND pt_dbf.
  ENDDO.

ENDFORM.                    " read_dbf


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Прочитать DBF
СообщениеДобавлено: Пн, апр 12 2010, 14:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Цитата:
Ну и ещё, к сожалению, этот код не работает, если у ДБФ-ки русские буквы в именах полей. Для такого случая нужно заменить


Блин, а у меня в содержимом полей текст на русском :(
Как быть? Кракозябры вылазят :(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Прочитать DBF
СообщениеДобавлено: Пн, апр 12 2010, 16:09 
Специалист
Специалист
Аватара пользователя

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Прочитать DBF
СообщениеДобавлено: Пн, апр 12 2010, 16:15 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Или как тут http://sapboard.ru/forum/viewtopic.php?f=13&t=47643&start=0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Прочитать DBF
СообщениеДобавлено: Пн, апр 12 2010, 16:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 25 2008, 17:07
Сообщения: 144
Откуда: Казань
Пол: Мужской
Вот оно!
Цитата:
Господа!Я ИДИЁТ, УБЕЙТЕ МИНЯ КТО-НИБУДЬ!! Хочу поделиться своей радостью. Все получилось сделать. Для этого пришлось в описанном выше методе исправить 1504 на 1503. Теперь кодировка верная.
CALL METHOD cl_abap_conv_in_ce=>create
EXPORTING
input = l_xstring
encoding = '1503'
replacement = space
ignore_cerr = abap_true
RECEIVING
conv = lc_conv.

Всем большое спасибо :)


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

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


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

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


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

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