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

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


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

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


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

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