ALV函数
来源:互联网 发布:网络协议怎么安装 编辑:程序博客网 时间:2024/05/09 17:47
" -------------------------ALV ALV ALV ALV---------------------------"ALV表定义
TYPE-POOLS : slis.
DATA: afield TYPE slis_fieldcat_alv.
DATA: fieldcat TYPE slis_t_fieldcat_alv.
DATA: gs_layout TYPE slis_layout_alv.
DATA: g_repid TYPE sy-repid.
DATA: i_layout TYPE slis_layout_alv.
DATA gridlsl TYPE lvc_s_glay.
" -----------------------Selection Screen Definition-----------------*
START-OF-SELECTION.
SELECT-OPTIONS: cmpcode FOR bseg-bukrs NO INTERVALS OBLIGATORY, "单值输入
acctdoc FOR bseg-belnr , " NO INTERVALS,
acctyear FOR bseg-gjahr NO INTERVALS OBLIGATORY.
"------------------------ALV Screen Definition ----------------------
INITIALIZATION.
g_repid = sy-repid.
START-OF-SELECTION.
PERFORM get_data.
PERFORM disp_data.
FORM get_data.
SELECT bukrs belnr gjahr buzei augdt wrbtr shkzg hkont
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE itab_bseg
WHERE bukrs IN cmpcode
AND belnr IN acctdoc
AND gjahr IN acctyear.
SELECT txt50 saknr
FROM skat
INTO CORRESPONDING FIELDS OF TABLE itab_skat
FOR ALL ENTRIES IN itab_bseg
WHERE saknr = itab_bseg-hkont
AND spras = 1
AND ktopl = 'INT'.
SELECT bukrs butxt
FROM t001
INTO CORRESPONDING FIELDS OF TABLE itab_t001
* FOR ALL ENTRIES IN itab_bseg
* WHERE bukrs = itab_bseg-bukrs.
WHERE bukrs IN cmpcode.
SELECT bukrs belnr gjahr bktxt usnam
FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE itab_bkpf
FOR ALL ENTRIES IN itab_bseg
WHERE belnr = itab_bseg-belnr
AND bukrs = itab_bseg-bukrs
AND gjahr = itab_bseg-gjahr.
LOOP AT itab_bseg.
MOVE-CORRESPONDING itab_bseg TO bseg_skat_t001_bkpf.
READ TABLE itab_t001 WITH KEY bukrs = itab_bseg-bukrs.
IF sy-subrc EQ 0.
bseg_skat_t001_bkpf-butxt = itab_t001-butxt.
ENDIF.
READ TABLE itab_skat WITH KEY saknr = itab_bseg-hkont.
IF sy-subrc EQ 0.
bseg_skat_t001_bkpf-txt50 = itab_skat-txt50.
ENDIF.
READ TABLE itab_bkpf WITH KEY bukrs = itab_bseg-bukrs.
IF sy-subrc EQ 0.
bseg_skat_t001_bkpf-bktxt = itab_bkpf-bktxt.
bseg_skat_t001_bkpf-usnam = itab_bkpf-usnam.
ENDIF.
IF bseg_skat_t001_bkpf-shkzg EQ 'H'.
bseg_skat_t001_bkpf-wrbtr2 = 0 - itab_bseg-wrbtr.
bseg_skat_t001_bkpf-wrbtr = 0.
ENDIF.
APPEND bseg_skat_t001_bkpf.
CLEAR bseg_skat_t001_bkpf.
ENDLOOP.
ENDFORM. " GET_DATA
FORM disp_data .
PERFORM layout_build. "设置布局
PERFORM fieldcat_init USING fieldcat[]. "显示表头第一栏
PERFORM display_alv. "调用ALV功能
ENDFORM. " DISP_DATA
FORM layout_build .
i_layout-box_fieldname = 'FLAG'. "用于该行是否标志
i_layout-colwidth_optimize = 'X'. "优化列宽选项是否设置
i_layout-zebra = 'X'.
i_layout-detail_initial_lines = 'X'.
i_layout-no_vline = 'X'." layout_build
ENDFORM. " LAYOUT_BUILD
FORM fieldcat_init USING u_er_fieldcat TYPE slis_t_fieldcat_alv.
DATA: afieldcat TYPE slis_fieldcat_alv,
pos TYPE i.
CLEAR pos.
DEFINE d_get_field.
pos = pos + 1.
clear afieldcat.
afieldcat-col_pos = pos.
afieldcat-fieldname = &1.
afieldcat-seltext_l = &2.
afieldcat-key = &3.
* if &1 eq 'RLGPRO'.
* afieldcat-ref_tabname = 'ZDUMPK'.
* afieldcat-ref_fieldname = 'LGPRO'.
* endif.
append afieldcat to u_er_fieldcat.
END-OF-DEFINITION.
d_get_field 'BUKRS' '公司代码' 'X'. "X代表该字段是主键
d_get_field 'BELNR' '会计凭证' ''.
d_get_field 'GJAHR' '会计年度' '' .
d_get_field 'BUTXT' '核算单位' ''.
d_get_field 'AUGDT' '日期' '' .
* d_get_field 'BELNR' '凭证编号' '' .
d_get_field 'TXT50' '会计科目' '' .
d_get_field 'WRBTR' '借方金额' '' .
d_get_field 'WRBTR2' '贷方金额' '' .
d_get_field 'BKTXT' '摘要' '' .
d_get_field 'USNAM' '制单' '' .
ENDFORM. " FIELDCAT_INIT
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_grid_settings = gridlsl
* i_structure_name = 'bseg_skat_t001_bkpf'
i_callback_program = g_repid
i_callback_pf_status_set = 'USER_STATUS'
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = fieldcat
is_layout = i_layout "此语句注释后ALV无FLAG列!
i_save = 'A'
* it_sort = it_sort
* it_events = er_events[]
TABLES
t_outtab = bseg_skat_t001_bkpf. "前面的t_outtab是REUSE_ALV_GRID_DISPLAY定义的参数
ENDFORM. " DISPLAY_ALV
FORM user_status USING extab TYPE slis_t_extab.
SET PF-STATUS 'ZSTATUS_ALV02'.
SET TITLEBAR 'TITLE_ALV02'.
ENDFORM. " USER_STATUS
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
rs_selfield-refresh = 'X'. "Auto reflesh
r_ucomm = sy-ucomm.
CASE r_ucomm.
WHEN 'PRI'.
PERFORM get_sfdata.
PERFORM print_data.
WHEN OTHERS.
ENDCASE.
ENDFORM.
- ALV函数
- 函数调用ALV
- 函数ALV单元格编辑
- 函数调用alv方式总结
- ALV 参数与函数 总结
- ABAP ALV函数参数说明
- ALV
- alv
- ALV
- alv
- 函数生成的ALV的按钮列表
- 函数生成的ALV的按钮列表 .
- ALV调用的几个标准函数
- 调用函数的ALV、面向对象的ALV设置带选择列
- ALV事件
- alv macro
- alv tree
- alv tree
- java打包异常2:Invalid or corrupt jarfile test.jar
- Hibernate工作原理(1)
- Inno setup的一些技巧
- css实现强制不换行/自动换行/强制换行
- GridView 同时 实现鼠标经过颜色,鼠标离开恢复原颜色不变,鼠标单击与双击功能,
- ALV函数
- 先欣赏,后创新
- scripts
- 强大的vim配置,让编程更随意
- snd_kcontrol_new名称中的SOURCE字段
- Android获取图片资源的方式
- android模拟器相关问题的解决
- 蓝桥杯2012初赛——奇怪的比赛 递归求解
- Project REAL 分析服务技术探讨