When I use BTE, There is an error in FM Z_WRITE_TO_QUEUE in R/3.
FUNCTION Z_WRITE_TO_QUEUE.
*"----
""Local interface:
*" IMPORTING
*" REFERENCE(I_DATASOURCE) TYPE ROOSOURCE-OLTPSOURCE
*" TABLES
*" I_T_DATA OPTIONAL
*"----
TYPE-POOLS:
sbiwa.
DATA:
l_exstruct TYPE roosource-exstruct,
l_initflag TYPE roosprmsc-initstate,
l_subrc TYPE sy-subrc,
lr_is_data TYPE REF TO data,
lr_es_data TYPE REF TO data,
lr_et_data TYPE REF TO data,
l_t_fields TYPE sbiwa_t_fields,
l_t_select TYPE sbiwa_t_select.
FIELD-SYMBOLS:
<i_s_data> TYPE ANY,
<e_s_data> TYPE ANY,
<e_t_data> TYPE STANDARD TABLE.
Check to see if Delta initialization has been performed.
SELECT SINGLE initstate FROM roosprmsc INTO l_initflag
WHERE oltpsource = i_datasource
AND rlogsys NE space
AND slogsys NE space
AND initrnr NE space.
If initialization has taken place continue
IF sy-subrc EQ 0 AND l_initflag EQ 'X'.
grab the extraction structure from roosource based on the
datasource parameter input.
SELECT SINGLE exstruct FROM roosource INTO l_exstruct
WHERE oltpsource = i_datasource
AND objvers = 'A'.
CHECK sy-subrc = 0.
CREATE DATA lr_is_data LIKE LINE OF i_t_data.
ASSIGN lr_is_data->* TO <i_s_data>.
CREATE DATA lr_es_data TYPE (l_exstruct).
ASSIGN lr_es_data->* TO <e_s_data>.
CREATE DATA lret_data TYPE STANDARD TABLE OF (l_exstruct)._
ASSIGN lr_et_data->* TO <e_t_data>.
LOOP AT i_t_data ASSIGNING <i_s_data>.
CLEAR <e_s_data>.
MOVE <i_s_data> TO <e_s_data>.
MOVE-CORRESPONDING <i_s_data> TO <e_s_data>.
INSERT <e_s_data> INTO TABLE <e_t_data>.
ENDLOOP.
CALL FUNCTION 'EXIT_SAPLRSAP_001'
EXPORTING
i_datasource = i_datasource
i_isource = ''
i_updmode = ''
TABLES
i_t_select = l_t_select
i_t_fields = l_t_fields
c_t_data = <e_t_data>
EXCEPTIONS
rsap_customer_exit_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'RSC1_TRFC_QUEUE_WRITE'
EXPORTING
i_isource = i_datasource
i_no_flush = 'X'
IMPORTING
e_subrc = l_subrc
TABLES
i_t_data = <e_t_data>
EXCEPTIONS
name_too_long = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDFUNCTION.
----
FORM abs_type_to_rel_type *
----
The purpose of this subroutine is to convert an absolute type *
name into a relative type name. *
*
----
--> TYPE_NAME *
----
form abs_type_to_rel_type changing type_name.
data junk(100) type c.
split type_name at '\TYPE=' into junk type_name.
endform.
"CREATE DATA lr_et_data TYPE STANDARD TABLE OF (l_exstruct)" makes an Error "Unable to interpret "TABLE"."
I don't why!
So anbody can help me?
Thank you!