Sapforum.Biz
Логистика => Сбыт (SD) => Тема начата: midasvenis32 от Июнь 09, 2016, 06:25:31 pm
-
Всем привет!
Вопрос следующего характера. Написал пакетник LSMW, чтобы массово обновить три поля в транзакции EN99, а именно, в данных заголовка на вкладке примечание есть три поля (см.скрин 1).
Из файла будут грузиться данные и заполнять эти поля (см.скрин 1). При загрузке в фоновом режиме, все время загрузка прерывается с ошибкой (дамп). Поговорил с разработчиком и как он мне объяснил, что в фоне недоступны средства SAP GUI: классы, ФМ и т.д. Поэтому и дамп.
Если грузить в "Видимом режиме" (см.скрин 2), то загружается успешно. Но есть одно НО!
Каждый раз при переходе с экрана на экран, система просить подтверждать ОК-Code (см.рисунок 3), пока позиция из файла не загрузится.
Кто нибудь сталкивался с такой проблемой и как устраняли, если сталкивались?
В интернете нашел подсказки как писал пакетник, но там не рассматривается такая проблема и ее в инете нигде не обговаривают, к сожалению
-
Если грузить в "Видимом режиме" (см.скрин 2), то загружается успешно. Но есть одно НО!
Каждый раз при переходе с экрана на экран, система просить подтверждать ОК-Code (см.рисунок 3), пока позиция из файла не загрузится.
Ну так запускайте со статусом "Просмотр только ошибок", будет вам остановка только если при обработке записи возникнет ошибка.
-
Ну так запускайте со статусом "Просмотр только ошибок", будет вам остановка только если при обработке записи возникнет ошибка.
Да, но если в нужных мне полях для фактуры есть данные, то ошибка повторяется. Если грузить 1 000 000 записей и в 800 000 будут данные, то... хз че будет...
-
Да, но если в нужных мне полях для фактуры есть данные, то ошибка повторяется. Если грузить 1 000 000 записей и в 800 000 будут данные, то... хз че будет...
Ну посмотрите там на ключи запуска пакетного ввода в LSMW. Запуск может идти со следующими ключами А - это аналоги выбора вами в видимом режиме, далее E - Остановка в случае ошибки и следующий полезный ключа N - выполнить без вывода сообщений в диалоге. Посмотрите может там есть где-то возможность задавать вот эти ключи запуска пакетного ввода, это именно в LSMW а не через выполнение сеанса в SM35.
-
Ну посмотрите там на ключи запуска пакетного ввода в LSMW. Запуск может идти со следующими ключами А - это аналоги выбора вами в видимом режиме, далее E - Остановка в случае ошибки и следующий полезный ключа N - выполнить без вывода сообщений в диалоге. Посмотрите может там есть где-то возможность задавать вот эти ключи запуска пакетного ввода, это именно в LSMW а не через выполнение сеанса в SM35.
[/quote
Никак не могу найти это место. Вы устанавливали такое значение когда нибудь?
-
Никак не могу найти это место. Вы устанавливали такое значение когда нибудь?
Это как в том анекдоте, да не одну сотню раз, но знаете ли есть один ньюанс, я пакетные вводы обычно из своих программ вызвал всегда, а там это делается гораздо проще (ну как-то так):
DATA: pt_bdcdata TYPE STANDART TABLE bdcdata WITH HEADER LINE.
DATA: pt_itab TYPE STANDART TABLE bdcmsgcoll WITH HEADER LINE.
CALL TRANSACTION 'ME41' USING pt_bdcdata MODE 'N' UPDATE 'S' MESSAGES INTO pt_itab.
-
Это как в том анекдоте, да не одну сотню раз, но знаете ли есть один ньюанс, я пакетные вводы обычно из своих программ вызвал всегда, а там это делается гораздо проще (ну как-то так):
DATA: pt_bdcdata TYPE STANDART TABLE bdcdata WITH HEADER LINE.
DATA: pt_itab TYPE STANDART TABLE bdcmsgcoll WITH HEADER LINE.
CALL TRANSACTION 'ME41' USING pt_bdcdata MODE 'N' UPDATE 'S' MESSAGES INTO pt_itab.
Переписал Record, но теперь другая фишка.
Допустим, в полях, которые нам нужно обновить данными из файла, уже есть значение (см.рисунок 4).
После запуска загрузки данных, если данные в обновляемых полях есть, то система выдает сообщение:
>>
Данные пакетного ввода для экрана SAPLV50E 0100 отсутствуют.
<<
(см.рисунок 5)
Я ожидал, что результат будет в журнале, а не вываливаться пользователю.
Коллеги по цеху, подскажете, как обычно устраняется такая проблема, то есть чтобы не пользователю вываливался, а записывалась в журнал? Наверняка вы сталкивались?
-
Допустим, в полях, которые нам нужно обновить данными из файла, уже есть значение (см.рисунок 4).
После запуска загрузки данных, если данные в обновляемых полях есть, то система выдает сообщение:
>>
Данные пакетного ввода для экрана SAPLV50E 0100 отсутствуют.
<<
(см.рисунок 5)
Такое сообщение выдается если вы не правильно сделали пакетный ввод. К заполнению полей данными это отношения не имеет, т.е. вы пытаетесь заполнить поле в программа/экран, которого нет на данном экране. Короче, проверяйте свой пакетный ввод.
-
Такое сообщение выдается если вы не правильно сделали пакетный ввод. К заполнению полей данными это отношения не имеет, т.е. вы пытаетесь заполнить поле в программа/экран, которого нет на данном экране. Короче, проверяйте свой пакетный ввод.
А почему тогда, если перед загрузкой данных в нужных полях нет, то загружается без проблем?
А потом когда делаю повторную загрузку (всё тоже самое) полей в которых уже данные есть после первой загрузки - выпадает в ошибку:
Данные пакетного ввода для экрана SAPLV50E 0100 отсутствуют.
Ведь в первый раз успешно всё загрузилось, то есть экраны все есть и последовательность верная. А когда данные есть в обновляемых полях - ошибка.
-
А почему тогда, если перед загрузкой данных в нужных полях нет, то загружается без проблем?
Ну значит меняется последовательность обработки при первоначальной загрузке и обновлении. Еще раз, запустите в видимом режиме пакетный ввод и увидите где система остановится. Но к заполнению полей это отношения не имеет.