Текущее время: Вт, июл 22 2025, 04:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Обмануть пакетный ввод
СообщениеДобавлено: Пт, янв 26 2007, 17:01 
Специалист
Специалист

Зарегистрирован:
Ср, июн 07 2006, 11:41
Сообщения: 103
Я пытаюсь обработать сторнирование документов FI. Обработка сообщает юзеру, что он сторнирует документ созданный другим пользователем и запрашивает подтверждение на продолжение. Для этого использую RW-интерфейс. Когда документы сторнируются ч/з транзаакции FB08 & F.80 - все ОК. Проблемы возникают, когда сторнируются документы выравнивания ч/з тр. FBRA.
Дело в том, что эти документы сторнируются в два этапа (отмена выравнивания & само сторнирование). Кроме того, это выполняется в режиме пакетного ввода.
Представляете, выполняется пакетный ввод, а тут выскакивает мое предупреждение. Естественно, что ERP никак не предполагала его здесь встретить и ждет совершенно другого экрана.

Какие варианты могут быть для разрешения сложившейся ситуации?
Может можно как-то обмануть систему?

Заранее благодарю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обмануть пакетный ввод
СообщениеДобавлено: Пт, янв 26 2007, 17:23 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
lexoftech написал(а):
...Дело в том, что эти документы сторнируются в два этапа (отмена выравнивания & само сторнирование). Кроме того, это выполняется в режиме пакетного ввода.
Представляете, выполняется пакетный ввод, а тут выскакивает мое предупреждение. Естественно, что ERP никак не предполагала его здесь встретить и ждет совершенно другого экрана.

Какие варианты могут быть для разрешения сложившейся ситуации?
Может можно как-то обмануть систему?

Ну так какие проблемы? Проверяете что система работает в режиме пакетного ввода/в фоновом режиме и в этих случаях не показываете своё д. окно, а показывайте сообщение через message, например.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обмануть пакетный ввод
СообщениеДобавлено: Пт, янв 26 2007, 17:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
sy-uname написал(а):
Проверяете что система работает в режиме пакетного ввода/в фоновом режиме и в этих случаях не показываете своё д. окно, а показывайте сообщение через message, например.

долбаное окно )))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 26 2007, 17:43 
Специалист
Специалист

Зарегистрирован:
Ср, июн 07 2006, 11:41
Сообщения: 103
Цитата:
Ну так какие проблемы? Проверяете что система работает в режиме пакетного ввода/в фоновом режиме и в этих случаях не показываете своё д. окно, а показывайте сообщение через message, например.
Я бы с удовольствием, да только сообщение c типом 'W' отображается как 'E' и работа прерывается. А мне надо проанализировать реакцию пользователя и принять решение продолжать работу или нет.
Или, может, я чего-то недопонимаю???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 26 2007, 17:59 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
lexoftech написал(а):
Я бы с удовольствием, да только сообщение c типом 'W' отображается как 'E' и работа прерывается. А мне надо проанализировать реакцию пользователя и принять решение продолжать работу или нет.
Или, может, я чего-то недопонимаю???

Какая реакция может быть при фоновом/пакетном режиме? Никакой!!!

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 26 2007, 19:27 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
sy-uname написал(а):
Какая реакция может быть при фоновом/пакетном режиме? Никакой!!!
Борис ты не прав (С).
За поведение сообщений в FI в пакетном вводе и не в нем отвечает табличка T100C.
2 lexoftech попроси Fi щика поднастроить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 26 2007, 20:03 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Mike1 написал:
За поведение сообщений в FI в пакетном вводе и не в нем отвечает табличка T100C.
2 lexoftech попроси Fi щика поднастроить.
Так то сообщений, а речь-то про реакцию пользователя - типа он должен ответить быть или не быть!!

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обмануть пакетный ввод
СообщениеДобавлено: Сб, янв 27 2007, 12:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
lexoftech написал(а):
Я пытаюсь обработать сторнирование документов FI. Обработка сообщает юзеру, что он сторнирует документ созданный другим пользователем и запрашивает подтверждение на продолжение.
...
Проблемы возникают, когда сторнируются документы выравнивания ч/з тр. FBRA. Дело в том, что эти документы сторнируются в два этапа (отмена выравнивания & само сторнирование). Кроме того, это выполняется в режиме пакетного ввода.
...
Какие варианты могут быть для разрешения сложившейся ситуации?
Может можно как-то обмануть систему?


Зачем обманывать?
В RW-интерфейсе перед выдачей своего окна ставишь проверку
Code:
  IF SY-BINPT IS INITIAL AND SY-BATCH IS INITIAL.
    CALL SCREEN ...
  ENDIF.

И вызова диалога не будет производится ни в режиме пакетного ввода, ни в фоновом режиме ;)

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обмануть пакетный ввод
СообщениеДобавлено: Пн, янв 29 2007, 10:32 
Специалист
Специалист

Зарегистрирован:
Ср, июн 07 2006, 11:41
Сообщения: 103
Удав написал(а):
Зачем обманывать?
В RW-интерфейсе перед выдачей своего окна ставишь проверку
Code:
  IF SY-BINPT IS INITIAL AND SY-BATCH IS INITIAL.
    CALL SCREEN ...
  ENDIF.

И вызова диалога не будет производится ни в режиме пакетного ввода, ни в фоновом режиме ;)

Это я понимаю. Только юзеру НУЖНО увидеть этот диалог и отреагировать на него, а тут этот долбаный пакетный ввод :x . Получается, что в момент вклинивания моего кода, программа находится в режиме пакетного ввода. Сам когда-то вызывал из своей проги отчет, используя пакетный ввод. Вот так:
Code:
           perform bdc_dynpro       using 'RFITEMGL'     '1000'.
           perform bdc_field        using 'BDC_OKCODE'   '=ONLI'.
           perform bdc_field        using 'SD_SAKNR-LOW' wa-hkont.
           perform bdc_field        using 'SD_BUKRS-LOW' wa-bukrs.
           perform bdc_field        using 'PA_STIDA'     date_str.
           CALL TRANSACTION 'FBL3N' using BDCDATA
                                    MODE  'E'.     " 'A N E P'
*----------------------------------------------------------------------*
*        Start new screen                                              *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
  REFRESH BDCDATA.
  CLEAR BDCDATA.
  BDCDATA-PROGRAM  = PROGRAM.
  BDCDATA-DYNPRO   = DYNPRO.
  BDCDATA-DYNBEGIN = 'X'.
  APPEND BDCDATA.
ENDFORM.

*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
*  IF FVAL <> NODATA.
    CLEAR BDCDATA.
    BDCDATA-FNAM = FNAM.
    BDCDATA-FVAL = FVAL.
    APPEND BDCDATA.
*  ENDIF.
ENDFORM.
Думаю и там также. Вот еслиб, на время выполнения моего кода заставить систему думать что это не пакетный ввод. А после него пусть думает, что угодно.

Как альтернативный вариант рассматривалось выдать сообщение типа "W". Там, как я думал, нажатием ENTER пользователь соглашается с сообщением а по ESC - прерывание. Но и тут не все гладко: это сообщение выдается красным и однозначно приводит к прерыванию.

Неужели моя проблема никак не решается???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обмануть пакетный ввод
СообщениеДобавлено: Пн, янв 29 2007, 11:07 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 14:35
Сообщения: 1519
Откуда: В ВЕЧНОМ БАНЕ
lexoftech написал(а):
Неужели моя проблема никак не решается???

Ну судя по всему в консерватории у вас что-то не так... :roll:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обмануть пакетный ввод
СообщениеДобавлено: Пн, янв 29 2007, 11:24 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
lexoftech написал(а):
...
Это я понимаю. Только юзеру НУЖНО увидеть этот диалог и отреагировать на него, а тут этот долбаный пакетный ввод :x . ...
Неужели моя проблема никак не решается???

Пакетный ввод (так-же как и фоновое выполнение) подразумевает выполнение без участия пользователя.
Пользователь НЕ МОЖЕТ видеть диалог.
Изучите теорию по пакетному вводу и найдите там возможность ветвления в зависимости от каких-либо условий!!![/b]

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 29 2007, 11:51 
Специалист
Специалист

Зарегистрирован:
Ср, июн 07 2006, 11:41
Сообщения: 103
Спасибо всем, что развеяли мои ложные надежды, в особенности sy-uname.
Отрицательный результат - тоже результат.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 29 2007, 12:12 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
lexoftech написал(а):
Спасибо всем, что развеяли мои ложные надежды, в особенности sy-uname.
Отрицательный результат - тоже результат.

А обязательно использование Batch Input'а?
Может SAP GUI Scripting попробовать?
Вот это будет полная эмуляция действий пользователя. С возможностью принятия решения в нужном месте.
Правда придется забыть про работу в фоновом режиме.

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 29 2007, 15:34 
Специалист
Специалист

Зарегистрирован:
Ср, июн 07 2006, 11:41
Сообщения: 103
Цитата:
А обязательно использование Batch Input'а?
Может SAP GUI Scripting попробовать?
Вот это будет полная эмуляция действий пользователя. С возможностью принятия решения в нужном месте.
Правда придется забыть про работу в фоновом режиме.
Это, конечно, хороший вариант. Вот только никто не даст править стандартную программу. А если ее копировать в свою Z-ку, то мне тогда нафиг не нужны ни USER_EXIT'ы, ни OpenFI, ни RW-интерфейсы. Я просто вставлю свой вопрос там, где МНЕ будет удобно.
Для этого нужно копать немецкие исходники, разбираться и вникать в алгоритмы, на что нет времени и желания.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 29 2007, 16:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Думаю, что стоит поискать экзиты в FBRA до начала пакетника.

Или, на худой конец, делать обёртку вокруг FBRA.

Можно взять ключик и модифицировать стандарт — это всё же лучше, чем копирование. При обновлениях модифицированной программы, по крайней мере, предупреждение будет. А скопированная программа просто будет некорректно работать.


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

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


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

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


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

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