Cursor
O cursor deve ser posicionado pelo programador. A regra genérica é colocar o cursor em cada chamada PBO no campo onde esteve durante o último PAI (ou seja, manter o cursor no mesmo campo).
Portanto, o primeiro módulo do PAI obtém o cursor e o último módulo do PBO posiciona-o.
process before output.
*…
*…
module m_set_cursor.
process after input.
module m_get_cursor.
process after input.
module m_get_cursor.
*…
Estas chamadas repetem-se em todas as telas com campos em aberto. Os módulos chamam o seu respectivo form.
form f_get_cursor .
data: l_cursor like w_cursor.
get cursor field l_cursor-field line l_cursor-line
offset l_cursor-offset.
if sy-subrc eq 0. " Cursor está nesta subtela
w_cursor = l_cursor.
endif.
endform. " F_GET_CURSOR
data: l_cursor like w_cursor.
get cursor field l_cursor-field line l_cursor-line
offset l_cursor-offset.
if sy-subrc eq 0. " Cursor está nesta subtela
w_cursor = l_cursor.
endif.
endform. " F_GET_CURSOR
form f_set_cursor .
if w_cursor is not initial.
set cursor field w_cursor-field line w_cursor-line
offset w_cursor-offset.
endif.
endform. " F_SET_CURSOR
if w_cursor is not initial.
set cursor field w_cursor-field line w_cursor-line
offset w_cursor-offset.
endif.
endform. " F_SET_CURSOR
Sem comentários:
Enviar um comentário