Текущее время: Пн, июн 23 2025, 17:05

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Проверка корректности значений при загрузке из EXCEL
СообщениеДобавлено: Вт, дек 08 2015, 17:09 
Начинающий
Начинающий

Зарегистрирован:
Пт, ноя 13 2015, 17:40
Сообщения: 23
Добрый день!
В чем вопрос и собственно проблема. Загружаю данные во внутреннюю таблицу из файла EXCEL. Дальше, необходимо проверить корректность загруженных данных относительно данных системы. То есть например в таблице есть набор значений для BUKRS, и если таких bukrs в системе нет, то для этой строчки нужно как-то получить сообщение об ошибке, что такого bukrs в системе нет. Чтобы потом я мог обработать в ошибочные данные.
Полазил по форумам и нашел вот такой фм DDUT_INPUT_CHECK, но никак не могу понять как его заполнять.

Мог бы кто-нибудь написать так сказать подробную инструкцию?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проверка корректности значений при загрузке из EXCEL
СообщениеДобавлено: Ср, дек 09 2015, 09:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
В Вашем примере:
TABNAME='BKPF'
FIELDNAME='BUKRS'
VALUE='1234' - проверяемое значение БЕ

В параметрах MSG* и FAILURE_TAB смотрим ошибки.
Главное в TABNAME давать таблицу, в которой для поля настроена проверочная таблица.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проверка корректности значений при загрузке из EXCEL
СообщениеДобавлено: Пт, дек 11 2015, 10:29 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 14 2011, 07:26
Сообщения: 80
Откуда: Альфа Центавра
Пол: Мужской
ИМХО проще написать проверку самому в главной программе. (SELECT SINGLE FROM T001)
В обобщенном методе (библиотеке) можно сделать общие проверки, и сделать преобразование типов

к примеру
Дату из 01.01.2015 -> 20150101
Заполнить ведущими нулями номер материала итд

может пригодится отрывок из подобной задачи (загрузка из excel с проверками)
вызов convertion exit динамически

Code:
" Detect conversion Exit
DESCRIBE FIELD <l_dest> EDIT MASK ls_field_func->fm.
...

      IF ls_field_func->fm IS INITIAL.
        CASE ls_field_func->gen_type.
          WHEN c_gen_number.
            REPLACE FIRST OCCURRENCE OF ',' IN l_input WITH '.'.
            CONDENSE l_input NO-GAPS.
            <l_dest> = l_input.

          WHEN c_gen_time.
            CONCATENATE l_input+0(2) l_input+3(2) l_input+6(2) INTO <l_dest>.

          WHEN c_gen_date.
            CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
              EXPORTING
                date_external = l_input
              IMPORTING
                date_internal = <l_dest>
              EXCEPTIONS
                OTHERS        = 1.
            raise_event_conversion_error.

          WHEN OTHERS.
            <l_dest> = l_input.

        ENDCASE.
      ELSE.
        " Try to convert
        CALL FUNCTION ls_field_func->fm
          EXPORTING
            input  = l_input
          IMPORTING
            output = <l_dest>
          EXCEPTIONS
            OTHERS = 1.
        raise_event_conversion_error.
      ENDIF.
    ENDLOOP.


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

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


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

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


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

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