Professional Documents
Culture Documents
BDC Template Designer
BDC Template Designer
ls_fieldcatalog-ref_table = &8.
endif.
append ls_fieldcatalog to lt_fieldcatalog.
clear ls_fieldcatalog.
END-OF-DEFINITION.
SELECT * FROM dd04v INTO TABLE it_dd04v
WHERE rollname IN s_dename
AND ddlanguage = sy-langu.
LOOP AT s_dename.
CLEAR wa_dd04v.
select single * from dd03l into wa_dd03l
where rollname = s_dename-low.
READ TABLE it_dd04v INTO wa_dd04v WITH KEY rollname = s_dename-low.
dyn_tab s_dename-low s_dename-low wa_dd04v-scrtext_s wa_dd04v-scrtext_m wa_d
d04v-scrtext_l wa_dd04v-leng
wa_dd03l-fieldname wa_dd03l-tabname.
ENDLOOP.
ENDFORM.
"get_fieldinfo
*&---------------------------------------------------------------------*
*&
Form build_dy_itab
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM build_dy_itab.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt_fieldcatalog
i_length_in_byte = 'X'
IMPORTING
ep_table
= dy_table.
ASSIGN dy_table->* TO <dyn_table>.
IF sy-subrc = 0.
CREATE DATA dy_line LIKE LINE OF <dyn_table>.
ASSIGN dy_line->* TO <dyn_wa>.
ENDIF.
ENDFORM.
"build_dy_itab
*&---------------------------------------------------------------------*
*&
Form build_dummy_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM build_dummy_data.
data: intlen type i.
LOOP AT lt_fieldcatalog INTO ls_fieldcatalog.
READ TABLE it_dd04v INTO wa_dd04v WITH KEY rollname = ls_fieldcatalog-fieldn
ame.
IF sy-subrc = 0.
intlen = wa_dd04v-leng - wa_dd04v-decimals.
IF <dyn_field> IS ASSIGNED.
UNASSIGN <dyn_field>.
*
CLEAR <dyn_field>.
ENDIF.
ASSIGN COMPONENT wa_dd04v-rollname OF STRUCTURE <dyn_wa> TO <dyn_field>.
IF sy-subrc = 0.
CASE wa_dd04v-datatype.
WHEN 'CHAR'.
TRANSLATE <dyn_field> USING ' A'.
WHEN 'DATS'.
<dyn_field> = sy-datum.
WHEN 'TIMS'.
<dyn_field> = sy-uzeit.
WHEN 'NUMC'.
TRANSLATE <dyn_field> USING '09'.
WHEN 'CURR'.
<dyn_field> = pack(intlen).
WHEN 'QUAN'.
WHEN 'DEC'.
WHEN 'INT1' OR 'INT2' OR 'INT4'.
ENDCASE.
ENDIF.
ENDIF.
ENDLOOP.
APPEND <dyn_wa> TO <dyn_table>.
ENDFORM.
"build_dummy_data
*&---------------------------------------------------------------------*
*&
Form display_data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM display_data.
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = lo_alv
CHANGING
t_table
= <dyn_table>.
lo_alv->display( ).
ENDTRY.
ENDFORM.
"display_data