Добрый день.
Может кто-то сталкивался с такой проблемой как у нас.
Необходимо запустить 2 процесса параллельно на одном экране.
Мы должны автоматически при запуске программы через определенное количество времени (например 10 секунд) принимать вес с весов и отображать этот вес на экране.
Вес, дата, время и еще некоторые параметры вносим в ALV.
Но также необходимо по каждому весу (строке ALV) печатать документы.
1)Сейчас реализовали через таймер. Запускаем таймер и через 10 секунд (по окончании действия таймера) забираем вес ФМом.
Остальные кнопки печати активные. Но есть проблема:
Когда документ успевает отпечататься в интервале времени когда работает таймер – все нормально.
А вот когда проблемы с печатью и долго формируется документ – т.е. время формирования и печати более 10 секунд – таймер перестает работать.
Очень надо чтобы и печаталось и вес принимался.
2)Пробовали
Code:
FORM f_call_rfc_wait.
DATA lv_mssg(80).
CALL FUNCTION 'RFC_PING_AND_WAIT' STARTING NEW TASK '001'
PERFORMING f_task_end ON END OF TASK
EXPORTING
seconds = 10
busy_waiting = space
EXCEPTIONS
RESOURCE_FAILURE = 1
communication_failure = 2 MESSAGE lv_mssg
system_failure = 3 MESSAGE lv_mssg
OTHERS = 4.
ENDFORM.
FORM f_task_end USING u_taskname.
DATA lv_mssg(80).
RECEIVE RESULTS FROM FUNCTION 'RFC_PING_AND_WAIT'
EXCEPTIONS
RESOURCE_FAILURE = 1
communication_failure = 2 MESSAGE lv_mssg
system_failure = 3 MESSAGE lv_mssg
OTHERS = 4.
CHECK sy-subrc EQ 0.
"SET USER-COMMAND 'B1'. " Refresh
CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
EXPORTING
FUNCTIONCODE = '=B1'
EXCEPTIONS
FUNCTION_NOT_SUPPORTED = 1
OTHERS = 2
.
IF sy-subrc <> 0.
Но что-то с этим кодом не смогли разобраться. Очень надеемся на помощь.