Текущее время: Пн, июл 21 2025, 14:54

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


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

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


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

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