ALV的问题

[复制链接]
查看11 | 回复2 | 2006-3-29 11:27:11 | 显示全部楼层 |阅读模式
我是根据一份参考文档写的method的参数传递我看了一下应该是正确的,但是不知道为什么就是没有东西出来。
tableS SFLIGHT.
*------ ALV Grid instance reference
DATAgr_alvgrid TYPE REF TO cl_gui_alv_grid."class : SE24
*------ Name of the custom control added on the screen
DATA gc_custom_control_name TYPE scrfname VALUE 'CC_ALV'."data type:SE11
*------ Custom container instance reference
DATA gr_ccontainer TYPE REF TO cl_gui_custom_container. "class
*------ Field catalog table
DATA gt_fieldcat TYPE lvc_t_fcat. "table type : SE11,data type.
"stucture: lvc_s_fcat.
*------ Layout structure
DATA gs_layout TYPE lvc_s_layo.

*------ Interal table holding list data
DATA BEGIN OF gt_list OCCURS 0.
INCLUDE STRUCTURE SFLIGHT.
DATA END OF gt_list.

PERFORM display_alv.
*&---------------------------------------------------------------------*
*&FormDISPLAY_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
*-->p1text
*set_table_for_first_display
EXPORTING
is_layout
= gs_layout
* i_structure_name = 'SFLIGHT'
CHANGING
it_outtab
= gt_list[]
it_fieldcatalog= gt_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error
= 2
* too_many_lines
= 3
others
= 4.
IF sy-subrc ne 0.
*------ Exception hanlding
SKIP.
ENDIF.
ELSE.
CALL METHOD gr_alvgrid->refresh_table_display
EXCEPTIONS
* finished
= 1
OTHERS
= 2.
IF sy-subrc ne 0.
*------ Exception hanlding
SKIP.
ENDIF.
ENDIF.

ENDFORM.
" DISPLAY_ALV
*&---------------------------------------------------------------------*
*&FormPREPARE_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* 0.
*--Exception handling
ENDIF.
LOOP AT p_gt_fieldcat INTO ls_fcat .
CASE ls_fcat-fieldname .
WHEN 'CARRID' .
ls_fcat-outputlen = '10' .
ls_fcat-coltext = 'Airline Carrier ID' .
MODIFY p_gt_fieldcat FROM ls_fcat .
WHEN 'PAYMENTSUM' .
ls_fcat-no_out = 'X' .
MODIFY p_gt_fieldcat FROM ls_fcat .
ENDCASE .
ENDLOOP .
ENDFORM.
" PREPARE_FIELD_CATALOG
难道是我看文档时理解有误?
哪位大侠能帮我看一下以下这段ALV的代码?并指正,谢谢~
回复

使用道具 举报

千问 | 2006-3-29 11:27:11 | 显示全部楼层
自己先设置断点调试先.
还有感觉你的FORM执行顺序有问题,一般是先
Fieldcatalog再Layout最后Display_ALV
回复

使用道具 举报

千问 | 2006-3-29 11:27:11 | 显示全部楼层
谢谢~~
终于好了~~找到了原因~~
原来用这两个类的时候必须用到screen的设置,因为gc_custom_control_name需要和屏幕的custom_control关联。
通过这个我又改变了一点看法,以前以为用到module则程序必须为module pool,原来report类型的也可以用module的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行