*&---------------------------------------------------------------------*
*& Include RSBC_SEL_ROUTINE_TPL
*&---------------------------------------------------------------------*
program conversion_routine.
* Type pools used by conversion program
type-pools: rsarc, rsarr, rssm.
tables: rssdlrange.
* Global code used by conversion rules
*$*$ begin of global - insert your declaration only below this line *-*
* TABLES: ...
* DATA: ...
*$*$ end of global - insert your declaration only before this line *-*
* -------------------------------------------------------------------
* Fieldname = DISPATCH_ID
* data type =
* length = 000000
* -------------------------------------------------------------------
form c_dispatch_id
tables l_t_range structure rssdlrange
using i_r_request type ref to if_rsbk_request_admintab_view
i_fieldnm type rsfieldnm
changing p_subrc like sy-subrc.
* Insert source code to current selection field
*$*$ begin of routine - insert your code only below this line *-*
data: l_idx like sy-tabix.
data: lt_bic type standard table of /bic/b0000225000.
data: ls_bic type /bic/b0000225000 .
read table l_t_range with key
fieldname = 'DISPATCH_ID '.
l_idx = sy-tabix.
*....
if l_idx <> 0.
modify l_t_range index l_idx.
else.
select * into corresponding fields of table lt_bic from
/bic/b0000225000 .
loop at lt_bic into ls_bic.
l_t_range-fieldname = 'DISPATCH_ID' .
l_t_range-sign = 'E' .
l_t_range-option = 'EQ' .
l_t_range-low = ls_bic-/bic/dsp_id .
append l_t_range.
endloop.
endif.
p_subrc = 0.
*$*$ end of routine - insert your code only before this line *-*
endform.
在dso中抽取到数据就不做处理了 至抽取dao中没有的数据