Текущее время: Сб, июн 21 2025, 09:03

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


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

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


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

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