日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP实例之ALV

發(fā)布時間:2025/3/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP实例之ALV 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

*&———————————————————————*
*& Report? ZLG_ALV???????????????????????????????????????????????????? *
*&???????????????????????????????????????????????????????????????????? *
*&———————————————————————*
*& 測試alv各項參數(shù)???????????????????????????????????????????????????? *
*& 未完全 – v01 – 20081212???????????????????????????????????????????? *
*& 未完全 – v02 – 20090731???????????????????????????????????????????? *
*&———————————————————————*
*& ALV顯示可以用的FM包括:???????????????????????????????????????????? *
*& 1、REUSE_ALV_GRID_DISPLAY?????????????????????????????????????????? *
*& 2、REUSE_ALV_GRID_DISPLAY_LVC?????????????????????????????????????? *
*& 3、REUSE_ALV_BLOCK_LIST_DISPLAY???????????????????????????????????? *
*&???????????????????????????????????????????????????????????????????? *
*& ALV顯示相關(guān)FM包括:???????????????????????????????????????????????? *
*& 1、REUSE_ALV_FIELDCATALOG_MERGE – 制作? 類型的 fieldcatalog???????? *
*& 2、LVC_FIELDCATALOG_MERGE – 制作 LVC_T_FCAT 類型的 fieldcatalog???? *
*& 3、REUSE_ALV_BLOCK_LIST_INIT??????????????????????????????????????? *
*& 4、REUSE_ALV_BLOCK_LIST_APPEND????????????????????????????????????? *
*& 5、REUSE_ALV_EVENTS_GET???????????????????????????????????????????? *
*&???????????????????????????????????????????????????????????????????? *
*&———————————————————————*
*& ALV(REUSE_ALV_GRID_DISPLAY)輸出必須的內(nèi)容:???????????????????????? *
*& 1、output itab????????????????????????????????????????????????????? *
*& 2、fieldcatalog???????????????????????????????????????????????????? *
*&———————————————————————*
*&????????????????????????? 相關(guān)FM注意事項???????????????????????????? *
*& 一、REUSE_ALV_FIELDCATALOG_MERGE??????????????????????????????????? *
*& 1、I_INTERNAL_TABNAME所用的變量對應(yīng)結(jié)構(gòu)體必須用DATA+BEGIN申明,???? *
*&??? 不可以使用DATA+TYPE line type,否則不會返回Fieldcatalog。??????? *
*& 2、修改了I_INTERNAL_TABNAME對應(yīng)結(jié)構(gòu)體后,?????????????????????????? *
*&??? 必須/N后重新進去SE38時,才會生效。?????????????????????????????? *
*& 3、程序代碼每行不能太長,不然容易報錯,???????????????????????????? *
*&??? 具體內(nèi)容見FORM f_fieldcatalog。????????????????????????????????? *
*&???????????????????????????????????????????????????????????????????? *
*&???????????????????????????????????????????????????????????????????? *
*& 二、REUSE_ALV_GRID_DISPLAY????????????????????????????????????????? *
*& 1、使用標(biāo)準(zhǔn)GUI:STANDARD_FULLSCREEN???????????????????????????????? *
*& 2、標(biāo)準(zhǔn)GUI中的&OLO中顯示的列名取決于fieldcatalog中的設(shè)置??????????? *
*&???????????????????????????????????????????????????????????????????? *
*& 三、REUSE_ALV_BLOCK_LIST_DISPLAY??????????????????????????????????? *
*& 1、首先用 REUSE_ALV_BLOCK_LIST_INIT 初始化????????????????????????? *
*& 2、然后用 REUSE_ALV_BLOCK_LIST_APPEND 添加需要顯示的ALV???????????? *
*& 3、最后用 REUSE_ALV_BLOCK_LIST_DISPLAY 顯示???????????????????????? *
*&???????????????????????????????????????????????????????????????????? *
*&———————————————————————*
*& 參考自:
*& http://www.itpub.net/viewthread.php?tid=1051462&highlight=ALV%2B%D7%DC%BD%E1
*&———————————————————————*
REPORT? zlg_alv???????????????????????????????? .
*&———————————————————————*
*& 導(dǎo)入??????????????????????????????????????????????????????????????? *
*&———————————————————————*
*include:<ICON>.
*———————————————————————–
*? Instead of statement ‘INCLUDE <icon>.’, please use
*? statement ‘TYPE-POOLS: icon.’ directly.
*———————————————————————–

*&———————————————————————*
*& 類型池引用申明????????????????????????????????????????????????????? *
*&———————————————————————*
TYPE-POOLS:slis.
TYPE-POOLS:icon."代替 include <icon>

*&———————————————————————*
*& 類型定義??????????????????????????????????????????????????????????? *
*&———————————————————————*
*ALV輸出表類型
TYPES:BEGIN OF typ_alv,
?????? icon????????? TYPE icon-id,
?????? box(1)??????? TYPE c,
?????? c10(10)?????? TYPE c,
?????? n10(10)?????? TYPE n,
?????? n5(5)???????? TYPE n,
?????? c???????????? TYPE c,
?????? d???????????? TYPE d,
?????? t???????????? TYPE t,
?????? x???????????? TYPE x,
?????? i???????????? TYPE i,????? "普通I型數(shù)字
?????? i2??????????? TYPE i,????? "負數(shù)普通顯示
?????? i3??????????? TYPE i,????? "no_sign
?????? i4??????????? TYPE i,????? "負號前置
?????? quantity????? TYPE p DECIMALS 5,"數(shù)量
?????? qunit???????? TYPE meins,"數(shù)量參考單位
?????? p???????????? TYPE p DECIMALS 5,
?????? cp(33)??????? TYPE c,????? "放置P,32+1?
?????? currency????? TYPE p DECIMALS 5,
?????? cunit???????? TYPE bkpf-waers,
?????? cunit2??????? TYPE c LENGTH 5,
?????? f???????????? TYPE f,
?????? string??????? TYPE string, "內(nèi)表型類型?
?????? xstring?????? TYPE xstring,"內(nèi)表型類型?
?????? bname???????? TYPE bname,
?????? bnamel(30)??? TYPE c,???? "與bname對齊方式不同
?????? bnamel2(30)?? TYPE c,???? "熱點
?????? matnr???????? TYPE matnr,??????????????????????????? "F4help – 1
?????? datum???????? TYPE datum,??????????????????????????? "F4help – 2
?????? linecolor(4)? TYPE c,???? "用于保存行顏色代碼
?????? cellcolor???? TYPE slis_t_specialcol_alv,"用于保存單元格顏色代碼
????? END OF typ_alv.
*&———————————————————————*
*& 變量定義??????????????????????????????????????????????????????????? *
*&———————————————————————*
*ALV輸出用內(nèi)表相關(guān)
DATA:itab_alv TYPE STANDARD TABLE OF typ_alv,
???? wa_alv?? TYPE typ_alv.

*ALV Layout相關(guān)
DATA:wa_layout TYPE slis_layout_alv.

*ALV Sort相關(guān)
DATA:itab_alv_sort TYPE slis_t_sortinfo_alv,
???? wa_alv_sort?? TYPE slis_sortinfo_alv.

*ALV Event相關(guān)
DATA:itab_alv_event TYPE slis_t_event,
???? wa_alv_event?? TYPE slis_alv_event.

*ALV Fieldcatalog相關(guān)
DATA:itab_alv_fieldcatalog TYPE slis_t_fieldcat_alv,
???? wa_alv_fieldcatalog?? TYPE slis_fieldcat_alv.

*只用于REUSE_ALV_FIELDCATALOG_MERGE
DATA:BEGIN OF cns_alv,
?????? icon????????? LIKE icon-id,"這里只能用like,用type會無效
?????? box(1)??????? TYPE c,
?????? c10(10)?????? TYPE c,
?????? n10(10)?????? TYPE n,
?????? n5(5)???????? TYPE n,
?????? c???????????? TYPE c,
?????? d???????????? TYPE d,
?????? t???????????? TYPE t,
?????? x???????????? TYPE x,
?????? i???????????? TYPE i,
?????? i2??????????? TYPE i,????? "負數(shù)
?????? i3??????????? TYPE i,????? "顯示no_sign效果
?????? i4??????????? TYPE i,????? "顯示負號前置效果
?????? quantity????? TYPE p DECIMALS 5,"數(shù)量
?????? qunit???????? TYPE meins,"數(shù)量參考單位
?????? p???????????? TYPE p,
?????? cp(33)??????? TYPE c,????? "放置P,32+1?
?????? currency????? TYPE p DECIMALS 5,
?????? cunit???????? TYPE bkpf-waers,
?????? cunit2??????? TYPE c LENGTH 5,"貨幣單位沒有被FM加入fieldcatlog中
?????? f???????????? TYPE f,
?????? string??????? TYPE string, "內(nèi)表型類型?
?????? xstring?????? TYPE xstring,"內(nèi)表型類型?
?????? bname???????? TYPE bname,
?????? bnamel(30)??? TYPE c,???? "與bname對齊方式不同
?????? bnamel2(30)?? TYPE c,???? "熱點
?????? matnr???????? TYPE matnr,??????????????????????????? "F4help – 1
?????? datum???????? TYPE datum,??????????????????????????? "F4help – 2
?????? linecolor(4)? TYPE c,???? "用于保存行顏色代碼
?????? cellcolor???? TYPE slis_t_specialcol_alv,"用于保存單元格顏色代碼
????? END OF cns_alv.

*隱藏標(biāo)準(zhǔn)按鈕
DATA:itab_alv_excluding?? TYPE slis_t_extab ,
???? wa_alv_excluding???? TYPE slis_extab .

*全局常量
DATA:cns_tabname????????? TYPE slis_tabname? VALUE ‘CNS_ALV’,
???? cns_repid??????????? TYPE sy-repid????? VALUE ‘ZLG_ALV’," sy-repid
???? cns_pf_status_set??? TYPE slis_tabname? VALUE ”,
???? cns_user_command???? TYPE slis_formname VALUE ‘F_USER_COMMAND’,
???? cns_html_top_of_page TYPE slis_formname VALUE ‘F_HTML_TOP_OF_PAGE’,
???? cns_grid_title?????? TYPE lvc_title???? VALUE ‘ALV title’,
???? cns_l(1)???????????? TYPE c???????????? VALUE ‘L’,
???? cns_c(1)???????????? TYPE c???????????? VALUE ‘C’,
???? cns_r(1)???????????? TYPE c???????????? VALUE ‘R’,
???? cns_a(1)???????????? TYPE c???????????? VALUE ‘A’,
???? cns_u(1)???????????? TYPE c???????????? VALUE ‘U’,
???? cns_x(1)???????????? TYPE c???????????? VALUE ‘X’,
???? cns_space(1)???????? TYPE c???????????? VALUE space,
???? cns_half???????????? TYPE i???????????? VALUE ’0.5′.

*全局變量
DATA:g_color_id(1) TYPE c,
???? g_cellcolor?? TYPE slis_specialcol_alv,
???? g_datum?????? TYPE datum,
???? g_flg_alv???? TYPE i,"ALV類型標(biāo)識
???? g_flg_random? TYPE i."分歧變量
*&———————————————————————*
*& 選擇屏幕??????????????????????????????????????????????????????????? *
*&———————————————————————*
*與form f_check_alv_type相關(guān)
PARAMETERS:fagd??? TYPE c RADIOBUTTON GROUP alv DEFAULT ‘X’,"alv grid
?????????? fagdlvc TYPE c RADIOBUTTON GROUP alv,"alv grid lvc
?????????? fabl??? TYPE c RADIOBUTTON GROUP alv."alv block list
*&———————————————————————*
*& 初始化????????????????????????????????????????????????????????????? *
*&———————————————————————*
INITIALIZATION.
? CLEAR:itab_alv_fieldcatalog.
*生成隨機數(shù)
? PERFORM f_get_random.
*&———————————————————————*
*& 填充數(shù)據(jù)及部分設(shè)置????????????????????????????????????????????????? *
*&———————————————————————*
START-OF-SELECTION.
*ALV輸出用內(nèi)表 – 填充
? PERFORM f_get_data.

*&———————————————————————*
*& 設(shè)置及顯示????????????????????????????????????????????????????????? *
*&———————————————————————*
END-OF-SELECTION.
*判斷顯示哪種ALV
? PERFORM f_check_alv_type CHANGING g_flg_alv.

*ALV Fieldcatalog – 設(shè)置
? PERFORM f_fieldcatalog_all .

*ALV layout – 設(shè)置
? PERFORM f_layout_all.

*ALV Sort – 設(shè)置
? PERFORM f_sort_all.

*ALV Evnet – 設(shè)置
? PERFORM f_event_all.

*ALV GUI – 設(shè)置
? PERFORM f_gui_all.

*ALV輸出結(jié)果
? PERFORM f_show_alv_all.
*&———————————————————————*
*&????? Form? f_get_data
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_get_data .
? g_datum = sy-datum.
? DO 100 TIMES .
??? CLEAR wa_alv."清空內(nèi)表型組件(如cellcolor)的值
??? wa_alv-icon??? = ‘@0A@’."red light 可以查看類型池ICON中的值
??? wa_alv-c10???? = sy-index.
??? wa_alv-n10???? = sy-index ** 2.
??? wa_alv-i?????? = sy-index.
??? wa_alv-i2????? = wa_alv-i * -1.
??? wa_alv-i3????? = wa_alv-i2.
??? wa_alv-i4????? = wa_alv-i2 * wa_alv-i * wa_alv-i.
??? CASE sy-index.
????? WHEN 1.
??????? wa_alv-p = 1.
????? WHEN 2.
??????? wa_alv-p = ’1.5436′.
????? WHEN OTHERS.
??????? wa_alv-p = ’0.5436′.
??? ENDCASE.
??? wa_alv-quantity?? = sy-index * 1000.
??? wa_alv-qunit???? = ‘MT’.
??? CASE sy-index.
????? WHEN 1.
??????? wa_alv-qunit???? = ‘MT’.
????? WHEN 2.
??????? wa_alv-qunit???? = ‘MT’.
????? WHEN OTHERS.
??????? wa_alv-qunit???? = ‘KG’.
??? ENDCASE.
??? wa_alv-cp????? = wa_alv-p.
??? wa_alv-currency = 1000.
??? CASE sy-index.
????? WHEN 1.
??????? wa_alv-cunit?? = ‘RMB’.
????? WHEN 2.
??????? wa_alv-cunit?? = ‘CNY’.
????? WHEN OTHERS.
??????? wa_alv-cunit?? = ‘JPY’.
??? ENDCASE.
??? wa_alv-cunit2? = wa_alv-cunit.
??? wa_alv-datum?? = g_datum.
??? g_datum??????? = g_datum + 1.
??? wa_alv-bname?? = sy-uname.
??? wa_alv-bnamel? = sy-uname.
??? wa_alv-bnamel2 = sy-uname.

*–顏色相關(guān)
??? PERFORM f_alv_color.

??? APPEND wa_alv TO itab_alv.

? ENDDO .

ENDFORM.??????????????????? " f_get_data
*&———————————————————————*
*&????? Form? f_check_alv_type
*&———————————————————————*
*?????? 判斷顯示哪種ALV
*———————————————————————-*
*????? <–P_FLG_ALV? ALV種類
*———————————————————————-*
FORM f_check_alv_type? CHANGING p_flg_alv.
*———————————————————————-*
*????? 注意修改各個ALL中的CASE語句:
*FORM f_layout_all .
*FORM f_fieldcatalog_all .
*FORM f_sort_all .
*FORM f_gui_all .
*FORM f_show_alv_all .
*———————————————————————-*
? IF fagd = ‘X’.
??? p_flg_alv = 1.
? ELSEIF fagdlvc = ‘X’.
??? p_flg_alv = 2.
? ELSEIF fabl = ‘X’.
??? p_flg_alv = 3.
? ENDIF.
ENDFORM.??????????????????? " f_check_alv_type
*&———————————————————————*
*&????? Form? f_layout_all
*&———————————————————————*
*?????? 各種ALV處理LAYOUT相關(guān)設(shè)置
*———————————————————————-*
FORM f_layout_all .
? CASE g_flg_alv.
??? WHEN 1 OR 3.
????? PERFORM f_layout CHANGING wa_layout.
??? WHEN 2.
??? WHEN OTHERS.
? ENDCASE.

ENDFORM.??????????????????? " f_layout_all
*&———————————————————————*
*&????? Form? f_fieldcatalog_reuse
*&———————————————————————*
*?????? REUSE_ALV_FIELDCATALOG_MERGE
*———————————————————————-*
*????? –>P_REPID? text
*????? –>P_TABNAME? text
*????? <–PT_FIELDCATALOG? text
*———————————————————————-*
*form f_fieldcatalog_reuse? tables
*?????????????????? PT_FIELDCATALOG1 structure wa_alv_fieldcatalog
FORM f_fieldcatalog_reuse USING p_repid???????? TYPE????? sy-repid
??????????????????????????????? p_tabname?????? LIKE????? cns_tabname
?????????????????????? CHANGING pt_fieldcatalog LIKE
????????????????????????????????????????????????? itab_alv_fieldcatalog.
*———————————————————————-*
*即使是注釋也不能太長。
*原因:FM“K_KKB_FIELDCAT_MERGE”以下代碼可能會報錯:
* line:363
*??? read report l_prog_tab_local into l_abap_source.
*??? check sy-subrc eq 0.
*———————————————————————-*
*& 其它功能實現(xiàn)相關(guān)處理內(nèi)容:
*& 1、顏色設(shè)置
*& 2、F1幫助
*&
*———————————————————————-*
*& 1、不能使用structure line of:系統(tǒng)提示參數(shù)數(shù)量不匹配
*&??? 只能使用structure
*& 2、對于REUSE_ALV_FIELDCATALOG_MERGE,只能用changing傳內(nèi)表,
*&??? 因為tables產(chǎn)生的是帶有表頭的內(nèi)表參數(shù)
*& 3、不同名但同數(shù)據(jù)元素(數(shù)據(jù)庫字段)會作為重復(fù)而排除
*&??? 但基本類型不會有這個問題
*&———————————————————————*
? CALL FUNCTION ‘REUSE_ALV_FIELDCATALOG_MERGE’
?? EXPORTING
???? i_program_name?????????????? = p_repid
???? i_internal_tabname?????????? = p_tabname
*?? i_structure_name???????????? = ‘ ‘
*?? I_CLIENT_NEVER_DISPLAY?????? = ‘X’
???? i_inclname?????????????????? = p_repid
???? i_bypassing_buffer?????????? = ‘X’"
*?? I_BUFFER_ACTIVE????????????? =
??? CHANGING
????? ct_fieldcat????????????????? = pt_fieldcatalog
?? EXCEPTIONS
???? inconsistent_interface?????? = 1
???? program_error??????????????? = 2
???? OTHERS?????????????????????? = 3
??????????? .
? IF sy-subrc <> 0.
??? MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
??????????? WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
? ELSE.
??? LOOP AT pt_fieldcatalog INTO wa_alv_fieldcatalog.
*—–
????? PERFORM f_fieldcatalog_single.
*—–更新
????? MODIFY pt_fieldcatalog FROM wa_alv_fieldcatalog
*???????????????????? TRANSPORTING seltext_l
*????????????????????????????????? emphasize
????????????????????????????????? .
??? ENDLOOP.
? ENDIF.
ENDFORM.??????????????????? " f_fieldcatalog_reuse
*&———————————————————————*
*&????? Form? f_fieldcatalog_all
*&———————————————————————*
*?????? 各種控制ALV列顯示
*———————————————————————-*
FORM f_fieldcatalog_all .

? CASE g_flg_alv.
??? WHEN 1 OR 3.
????? PERFORM f_fieldcatalog_reuse USING??? cns_repid
??????????????????????????????????????????? cns_tabname
?????????????????????????????????? CHANGING itab_alv_fieldcatalog.
??? WHEN 2.
??? WHEN OTHERS.
? ENDCASE.

ENDFORM.??????????????????? " f_fieldcatalog_all
*&———————————————————————*
*&????? Form? f_layout
*&———————————————————————*
*?????? 處理LAYOUT相關(guān)設(shè)置
*———————————————————————-*
*????? <–P_LAYOUT? ALV的LAYOUT結(jié)構(gòu)體變量
*———————————————————————-*
*& 其它功能實現(xiàn)相關(guān)處理內(nèi)容:
*& 1、顏色設(shè)置
*& 2、求和(數(shù)字、字符型數(shù)字)
*&
*———————————————————————-*
FORM f_layout? CHANGING pa_layout LIKE wa_layout.
*types: begin of slis_layout_alv.
*58項?
*???????? dummy,
*???????? no_colhead(1) type c,???????? " no headings
*???????? no_hotspot(1) type c,???????? " headings not as hotspot
*???????? zebra(1) type c,????????????? " striped pattern
*???????? no_vline(1) type c,?????????? " columns separated by space
*???????? no_hline(1) type c,??????? "rows separated by space B20K8A0N5D
*???????? cell_merge(1) type c,???????? " not suppress field replication
*???????? edit(1) type c,?????????????? " for grid only
*???????? edit_mode(1) type c,????????? " for grid only
*???????? numc_sum(1)???? type c,?????? " totals for NUMC-Fields possib.
*???????? no_input(1) type c,?????????? " only display fields
*???????? f2code like sy-ucomm,????????????????????????????? "
*???????? reprep(1) type c,???????????? " report report interface active
*???????? no_keyfix(1) type c,????????? " do not fix keycolumns
*???????? expand_all(1) type c,???????? " Expand all positions
*???????? no_author(1) type c,????????? " No standard authority check
**??????? PF-status
*???????? def_status(1) type c,???????? " default status? space or ‘A’
*???????? item_text(20) type c,???????? " Text for item button
*???????? countfname type lvc_fname,
**??????? Display options
*???????? colwidth_optimize(1) type c,
*???????? no_min_linesize(1) type c,??? " line size = width of the list
*???????? min_linesize like sy-linsz,?? " if initial min_linesize = 80
*???????? max_linesize like sy-linsz,?? " Default 250
*???????? window_titlebar like sy-title,
*???????? no_uline_hs(1) type c,
**??????? Exceptions
*???????? lights_fieldname type slis_fieldname," fieldname for exception
*???????? lights_tabname type slis_tabname, " fieldname for exception
*lights_rollname like dfies-rollname," rollname f. exceptiondocu
*???????? lights_condense(1) type c,??? " fieldname for exception
**??????? Sums
*???????? no_sumchoice(1) type c,?????? " no choice for summing up
*???????? no_totalline(1) type c,?????? " no total line
*???????? no_subchoice(1) type c,?????? " no choice for subtotals
*???????? no_subtotals(1) type c,?????? " no subtotals possible
*???????? no_unit_splitting type c,???? " no sep. tot.lines by inh.units
*???????? totals_before_items type c,?? " diplay totals before the items
*???????? totals_only(1) type c,??????? " show only totals
*totals_text(60) type c,?????? " text for 1st col. in total line
*???????? subtotals_text(60) type c,??? " text for 1st col. in subtotals
**??????? Interaction
*???????? box_fieldname type slis_fieldname, " fieldname for checkbox
*???????? box_tabname type slis_tabname," tabname for checkbox
*???????? box_rollname like dd03p-rollname," rollname for checkbox
*expand_fieldname type slis_fieldname, " fieldname flag ‘expand’
*hotspot_fieldname type slis_fieldname, " fieldname flag hotspot
*???????? confirmation_prompt,????????? " confirm. prompt when leaving
*???????? key_hotspot(1) type c,??????? " keys as hotspot " K_KEYHOT
*???????? flexible_key(1) type c,?????? " key columns movable,…
*???????? group_buttons(1) type c,????? " buttons for COL1 – COL5
*???????? get_selinfos(1) type c,?????? " read selection screen
*???????? group_change_edit(1) type c,? " Settings by user for new group
*???????? no_scrolling(1) type c,?????? " no scrolling
**??????? Detailed screen
*???????? detail_popup(1) type c,?????? " show detail in popup
*???????? detail_initial_lines(1) type c, " show also initial lines
*???????? detail_titlebar like sy-title," Titlebar for detail
**??????? Display variants
*???????? header_text(20) type c,?????? " Text for header button
*???????? default_item(1) type c,?????? " Items as default
**??????? colour
*???????? info_fieldname type slis_fieldname, " infofield for listoutput
*???????? coltab_fieldname type slis_fieldname, " colors
**??????? others
*???????? list_append(1) type c,?????? " no call screen
*???????? xifunckey type aqs_xikey,??? " eXtended interaction(SAPQuery)
*???????? xidirect type flag,????????? " eXtended INTeraction(SAPQuery)
*???????? dtc_layout type dtc_s_layo,? "Layout for configure the Tabstip
*types: end of slis_layout_alv.

**************補完以下參數(shù)******************
*???????? dummy,
*–沒有列名行
*???????? no_colhead(1) type c,???????? " no headings
*? pa_layout-no_colhead = ‘X’.
*–
*???????? no_hotspot(1) type c,???????? " headings not as hotspot
*? pa_layout-no_hotspot = ‘X’."效果?
*–在非編輯狀態(tài)ALV界面深藍與淺藍色交替顯示行底色
*? pa_layout-zebra = ‘X’.
*–用空格分隔各列,fieldcatalog部分除外。
*?? pa_layout-no_vline = ‘X’.
*–用空格分隔各行
*?? pa_layout-no_hline = ‘X’.
*–
*???????? cell_merge(1) type c,???????? " not suppress field replication
*–ALV處于可編輯狀態(tài),會自動出現(xiàn)最前端的BOX
*? pa_layout-edit? = ‘X’." for grid only
*–
*???????? edit_mode(1) type c,????????? " for grid only
*–是否可以為字符型數(shù)字類型求和
*???????? numc_sum(1)???? type c,?????? " totals for NUMC-Fields possib.
*? pa_layout-numc_sum = ‘X’.
*???????? no_input(1) type c,?????????? " only display fields
*–修改“顯示詳細”功能代碼,默認為F2鍵
*???????? f2code like sy-ucomm,
*? pa_layout-layout-f2code = ‘&ETA’."設(shè)置成雙擊

*???????? reprep(1) type c,???????????? " report report interface active
*???????? no_keyfix(1) type c,????????? " do not fix keycolumns
*???????? expand_all(1) type c,???????? " Expand all positions
*???????? no_author(1) type c,????????? " No standard authority check
**——–PF-status————————————————–
*–
*???????? def_status(1) type c,???????? " default status? space or ‘A’
*???????? item_text(20) type c,???????? " Text for item button
*???????? countfname type lvc_fname,
**——–Display options——————————————–
*–所有列寬度最優(yōu)化
*? pa_layout-colwidth_optimize = ‘X’.
*–
*???????? no_min_linesize(1) type c,??? " line size = width of the list
*???????? min_linesize like sy-linsz,?? " if initial min_linesize = 80
*???????? max_linesize like sy-linsz,?? " Default 250
*–ALV窗口標(biāo)題欄
? pa_layout-window_titlebar = ‘window_titlebar’."like sy-title
*–
*???????? no_uline_hs(1) type c,
**——–Exceptions————————————————-
*???????? lights_fieldname type slis_fieldname," fieldname for exception
*???????? lights_tabname type slis_tabname, " fieldname for exception
*lights_rollname like dfies-rollname," rollname f. exceptiondocu
*???????? lights_condense(1) type c,??? " fieldname for exception
**——–Sums——————————————————-
*???????? no_sumchoice(1) type c,?????? " no choice for summing up
*???????? no_totalline(1) type c,?????? " no total line
*???????? no_subchoice(1) type c,?????? " no choice for subtotals
*???????? no_subtotals(1) type c,?????? " no subtotals possible
*???????? no_unit_splitting type c,???? " no sep. tot.lines by inh.units
*–求和
? pa_layout-totals_before_items = ‘X’." 在ALV最頂端顯示求和結(jié)果
*? pa_layout-totals_only???????? = ‘X’."只顯示總和(無效?)
*totals_text(60) type c,?????? " text for 1st col. in total line
*? pa_layout-totals_text???????? = ‘最長60字符,總和’."無效?
*???????? subtotals_text(60) type c,??? " text for 1st col. in subtotals
**——–Interaction————————————————
*???????? box_fieldname type slis_fieldname, " fieldname for checkbox
*???????? box_tabname type slis_tabname," tabname for checkbox
*???????? box_rollname like dd03p-rollname," rollname for checkbox
*expand_fieldname type slis_fieldname, " fieldname flag ‘expand’
*hotspot_fieldname type slis_fieldname, " fieldname flag hotspot
*???????? confirmation_prompt,????????? " confirm. prompt when leaving
*???????? key_hotspot(1) type c,??????? " keys as hotspot " K_KEYHOT
*???????? flexible_key(1) type c,?????? " key columns movable,…
*???????? group_buttons(1) type c,????? " buttons for COL1 – COL5
*???????? get_selinfos(1) type c,?????? " read selection screen
*???????? group_change_edit(1) type c,? " Settings by user for new group
*–無效?
*???????? no_scrolling(1) type c,?????? " no scrolling
*? pa_layout-no_scrolling = ‘X’.
**——–Detailed screen——————————————–
*–是否在彈出窗口中顯示詳細(F2)
*? pa_layout-detail_popup = ‘X’."無效?
*???????? detail_initial_lines(1) type c, " show also initial lines
*–彈出窗口標(biāo)題欄
*???????? detail_titlebar like sy-title," Titlebar for detail
? pa_layout-detail_titlebar = ‘詳細內(nèi)容’."系統(tǒng)默認為“細節(jié)”
**——–Display variants——————————————-
*???????? header_text(20) type c,?????? " Text for header button
*???????? default_item(1) type c,?????? " Items as default
**——–colour—————————————————–
*—-顏色具體設(shè)置見FORM f_get_data、FORM f_alv_color
*–行顏色顯示控制
*? 指定顏色字段指定后fieldcatalog中該字段失效
*? pa_layout-info_fieldname = ‘LINECOLOR’." infofield for listoutput
*–單元格顏色顯示控制
*? 注意該字段為內(nèi)表,可以添加該行多個字段名
*? pa_layout-coltab_fieldname = ‘CELLCOLOR’.
**——–others—————————————————–
*???????? list_append(1) type c,?????? " no call screen
*???????? xifunckey type aqs_xikey,??? " eXtended interaction(SAPQuery)
*???????? xidirect type flag,????????? " eXtended INTeraction(SAPQuery)
*???????? dtc_layout type dtc_s_layo,? "Layout for configure the Tabstip
ENDFORM.??????????????????? " f_layout
*&———————————————————————*
*&????? Form? f_alv_color
*&———————————————————————*
*?????? ALV顏色相關(guān)處理
*———————————————————————-*
FORM f_alv_color .
*———————————————————————-*
*顏色設(shè)置的優(yōu)先級順序從大到小:
*單元格(在內(nèi)表字段及l(fā)ayout中控制)
*行??? (在內(nèi)表字段及l(fā)ayout中控制)
*列??? (在fieldcatalog中控制)
*即若同時使用了上述3中更改顏色的方法,則列的顏色會被行的顏色覆蓋掉,而行
*的顏色又會背單元格的顏色覆蓋掉,最終只會顯示出單元格的顏色.
*———————————————————————-*
*& ALV中的顏色代碼共有4位,
*& 第1位是固定為“C”(代表COLOR),
*& 第2位代表是顏色編碼(1到7),
*& 第3位是加強顏色的設(shè)置(1表示打開,0表示關(guān)閉),
*& 第4位是減弱顏色(1表示打開,0表示關(guān)閉),
*& 在強化關(guān)閉的情況下,相反的作用是背景和字體的變化。
*& CX00:底色較柔和、前景色為黑色
*& CX01:底色為灰色、前景色為較肉色彩色
*& CX10:底色為強彩色、前景色為黑色
*& CX11:同CX10
*———————————————————————-*
*–行顏色相關(guān)
? PERFORM f_row_color.
*–列顏色設(shè)置(見fieldcatalog)
*fieldcatalog-emphasize = ‘顏色代碼’.
*–單元格顏色相關(guān)
? PERFORM f_cell_color.
ENDFORM.??????????????????? " f_alv_color
*&———————————————————————*
*&????? Form? f_row_color
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_row_color .
*———————————————————————-*
*& 必須在layout的info_fieldname中設(shè)置顏色字段名
*& 本例為:layout-info_fieldname = ‘LINECOLOR’.
*———————————————————————-*
? g_color_id = g_color_id + 1 .
? IF g_color_id = 8 .
??? g_color_id = 1 .
? ENDIF .
? CONCATENATE ‘C’ g_color_id ’00′ INTO wa_alv-linecolor .
ENDFORM.??????????????????? " f_row_color
*&———————————————————————*
*&????? Form? f_cell_color
*&———————————————————————*
*?????? 控制單元格顯示顏色
*———————————————————————-*
FORM f_cell_color .
*———————————————————————-*
*& 必須在layout的coltab_fieldname中設(shè)置顏色字段名
*& 本例為:coltab_fieldname = ‘CELLCOLOR’.
*———————————————————————-*
*& 可以設(shè)置多個字段顯示成不同的顏色
*& 只要向組件cellcolor(內(nèi)表)中添加多條記錄
*———————————————————————-*
? CLEAR:g_cellcolor.
? CASE wa_alv-c10+8(1).
??? WHEN 1 OR 3 OR 5 OR 7 OR 9.
????? g_cellcolor-fieldname = ‘C10′ . " 要修改顏色的字段名
????? g_cellcolor-color-col = 6 .?????? " 顏色(1-7)
????? g_cellcolor-color-inv = 1 .?????? " 前景字體(int代表背景顏色)
????? APPEND g_cellcolor TO wa_alv-cellcolor .
??? WHEN 2 OR 4 OR 6 OR 8.
????? g_cellcolor-fieldname = ‘C10′ . " 要修改顏色的字段名
????? g_cellcolor-color-col = 5 .?????? " 顏色(1-7)
????? g_cellcolor-color-inv = 1 .?????? " 前景字體(int代表背景顏色)
????? APPEND g_cellcolor TO wa_alv-cellcolor .
??? WHEN OTHERS.
????? g_cellcolor-fieldname = ‘C10′ . " 要修改顏色的字段名
????? g_cellcolor-color-col = 1 .?????? " 顏色(1-7)
????? g_cellcolor-color-inv = 1 .?????? " 前景字體(int代表背景顏色)
????? APPEND g_cellcolor TO wa_alv-cellcolor .
? ENDCASE.
ENDFORM.??????????????????? " f_cell_color
*&———————————————————————*
*&????? Form? f_fieldcatalog_single
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_fieldcatalog_single .
*———————————————————————-*
*& 其它功能實現(xiàn)相關(guān)處理內(nèi)容:
*& 1、顏色設(shè)置
*& 2、F1幫助
*& 3、求和
*———————————————————————-*
*types: begin of slis_fieldcat_alv.
*???????? row_pos??????? like sy-curow, " output in row
*???????? col_pos??????? like sy-cucol, " position of the column
*???????? fieldname????? type slis_fieldname,
*???????? tabname??????? type slis_tabname,
*???????? currency(5)??? type c,
*???????? cfieldname???? type slis_fieldname, " field with currency unit
*???????? ctabname?????? type slis_tabname,?? " and table
*???????? ifieldname???? type slis_fieldname, " initial column
*???????? quantity(3)??? type c,
*???????? qfieldname???? type slis_fieldname, " field with quantity unit
*???????? qtabname?????? type slis_tabname,?? " and table
*???????? round????????? type i,??????? " round in write statement
*???????? exponent(3)?????? type c,???? " exponent for floats
*???????? key(1)???????? type c,??????? " column with key-color
*???????? icon(1)??????? type c,??????? " as icon
*???????? symbol(1)????? type c,??????? " as symbol
*???????? checkbox(1)??? type c,??????? " as checkbox
*???????? just(1)??????? type c,??????? " (R)ight (L)eft (C)ent.
*???????? lzero(1)?????? type c,??????? " leading zero
*???????? no_sign(1)???? type c,??????? " write no-sign
*???????? no_zero(1)???? type c,??????? " write no-zero
*???????? no_convext(1)? type c,
*???????? edit_mask????? type slis_edit_mask,??????????????? "
*???????? emphasize(4)?? type c,??????? " emphasize
*???????? fix_column(1)?? type c,?????? " Spalte fixieren
*???????? do_sum(1)????? type c,??????? " sum up
*???????? no_out(1)????? type c,??????? " (O)blig.(X)no out
*???????? tech(1)??????? type c,??????? " technical field
*???????? outputlen????? like dd03p-outputlen,
*???????? offset???????? type dd03p-outputlen,???? " offset
*???????? seltext_l????? like dd03p-scrtext_l, " long key word
*???????? seltext_m????? like dd03p-scrtext_m, " middle key word
*???????? seltext_s????? like dd03p-scrtext_s, " short key word
*???????? ddictxt(1)???? type c,??????? " (S)hort (M)iddle (L)ong
*???????? rollname?????? like dd03p-rollname,
*???????? datatype?????? like dd03p-datatype,
*???????? inttype??????? like dd03p-inttype,
*???????? intlen???????? like dd03p-intlen,
*???????? lowercase????? like dd03p-lowercase,
*???????? ref_fieldname? like dd03p-fieldname,
*???????? ref_tabname??? like dd03p-tabname,
*???????? roundfieldname type slis_fieldname,
*???????? roundtabname?? type slis_tabname,
*???????? decimalsfieldname type slis_fieldname,
*???????? decimalstabname?? type slis_tabname,
*???????? decimals_out(6)?? type c,???? " decimals in write statement
*???????? text_fieldname type slis_fieldname,
*???????? reptext_ddic?? like dd03p-reptext,?? " heading (ddic)
*???????? ddic_outputlen like dd03p-outputlen,
*???????? key_sel(1)???? type c,??????? " field not obligatory
*???????? no_sum(1)????? type c,??????? " do not sum up
*???????? sp_group(4)??? type c,??????? " group specification
*???????? reprep(1)????? type c,??????? " selection for rep/rep
*???????? input(1)?????? type c,??????? " input
*???????? edit(1)??????? type c,??????? " internal use only
*???????? hotspot(1)???? type c,??????? " hotspot
*types: end of slis_fieldcat_alv.

*???????? row_pos??????? like sy-curow, " output in row
*???????? col_pos??????? like sy-cucol, " position of the column
*???????? fieldname????? type slis_fieldname,
*???????? tabname??????? type slis_tabname,
*–
*???????? currency(5)??? type c,
*???????? cfieldname???? type slis_fieldname, " field with currency unit
*???????? ctabname?????? type slis_tabname,?? " and table
? PERFORM f_currency_setting.
*–效果不明
*? perform f_filed_ifieldname.
*–
*???????? quantity(3)??? type c,
*???????? qfieldname???? type slis_fieldname, " field with quantity unit
*???????? qtabname?????? type slis_tabname,?? " and table
? PERFORM f_field_quantity.
*–移動小數(shù)位
*???????? round????????? type i,??????? " round in write statement
? PERFORM f_field_round.
*–
*???????? exponent(3)?????? type c,???? " exponent for floats
*–關(guān)鍵列
*???????? key(1)???????? type c,??????? " column with key-color
? PERFORM f_field_key.
*–圖標(biāo)
*???????? icon(1)??????? type c,??????? " as icon
? PERFORM f_field_icon.
*???????? symbol(1)????? type c,??????? " as symbol
*–多選框
*???????? checkbox(1)??? type c,??????? " as checkbox
? PERFORM f_field_checkbox.
*–對齊方式
*???????? just(1)??????? type c,??????? " (R)ight (L)eft (C)ent.
? PERFORM f_field_just.
*–左端補零
*???????? lzero(1)?????? type c,??????? " leading zero
? PERFORM f_field_lzero.
*–沒有符號
*???????? no_sign(1)???? type c,??????? " write no-sign
? PERFORM f_field_nosign.
*–
*???????? no_zero(1)???? type c,??????? " write no-zero
*–
*???????? no_convext(1)? type c,
*–輸出格式控制
*???????? edit_mask????? type slis_edit_mask,
? PERFORM f_field_editmask.
*–列顏色控制
*???????? emphasize(4)?? type c,??????? " emphasize
? PERFORM f_column_color.
*–固定列
*???????? fix_column(1)?? type c,?????? " Spalte fixieren
? PERFORM f_field_fix.
*–單列求和
*???????? do_sum(1)????? type c,??????? " sum up
? PERFORM f_field_dosum.
*–
*???????? no_out(1)????? type c,??????? " (O)blig.(X)no out
*–
*???????? tech(1)??????? type c,??????? " technical field
*–列的字符寬度
*???????? outputlen????? like dd03p-outputlen,
? PERFORM f_field_outputlen.
*–
*???????? offset???????? type dd03p-outputlen,???? " offset
*–列描述設(shè)置
*???????? seltext_l????? like dd03p-scrtext_l, " long key word
*???????? seltext_m????? like dd03p-scrtext_m, " middle key word
*???????? seltext_s????? like dd03p-scrtext_s, " short key word
? PERFORM f_field_seltext.
*???????? ddictxt(1)???? type c,??????? " (S)hort (M)iddle (L)ong
*–F1幫助
*???????? rollname?????? like dd03p-rollname,
? PERFORM f_field_f1help.
*–ABAP 字典中的數(shù)據(jù)類型
*???????? datatype?????? like dd03p-datatype,
*–ABAP 數(shù)據(jù)類型(C,D,N,…)
*???????? inttype??????? like dd03p-inttype,
*–以字節(jié)計的內(nèi)部長度
*???????? intlen???????? like dd03p-intlen,
*–是否允許輸入小寫字母?
*???????? lowercase????? like dd03p-lowercase,
? PERFORM f_field_lowercase.
*–F4幫助
*???????? ref_fieldname? like dd03p-fieldname,
*???????? ref_tabname??? like dd03p-tabname,
? PERFORM f_field_f4help.
*???????? roundfieldname type slis_fieldname,
*???????? roundtabname?? type slis_tabname,
*???????? decimalsfieldname type slis_fieldname,
*???????? decimalstabname?? type slis_tabname,
*–控制小數(shù)位輸出
? PERFORM f_field_decimalsout.
*???????? text_fieldname type slis_fieldname,
*???????? reptext_ddic?? like dd03p-reptext,?? " heading (ddic)
*???????? ddic_outputlen like dd03p-outputlen,
*???????? key_sel(1)???? type c,??????? " field not obligatory
*???????? no_sum(1)????? type c,??????? " do not sum up
*???????? sp_group(4)??? type c,??????? " group specification
*???????? reprep(1)????? type c,??????? " selection for rep/rep
*???????? input(1)?????? type c,??????? " input
*???????? edit(1)??????? type c,??????? " internal use only
? PERFORM f_field_edit.
*–熱點
*???????? hotspot(1)???? type c,??????? " hotspot
? PERFORM f_field_hotspot.
ENDFORM.??????????????????? " f_fieldcatalog_single
*&———————————————————————*
*&????? Form? f_column_color
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_column_color .
*———————————————————————-*
*&
*&
*&
*&
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘F’.
????? wa_alv_fieldcatalog-emphasize = ‘C711′.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_column_color
*&———————————————————————*
*&????? Form? f_field_f1help
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_field_f1help .
*———————————————————————-*
*& 1、可以在ALV的顯示界面將鼠標(biāo)放到該字段的位置后按F1會彈出該字段的說明
*& 2、指定數(shù)據(jù)元素之后,可以不指明字段的描述(如SCRTEXT_L、SCRTEXT_M、
*&??? SCRTEXT_S),函數(shù)會自動將字段的描述顯示,但是沒有自己指定的靈活。
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘DATUM’.
????? wa_alv_fieldcatalog-rollname = ‘DATUM’." 指定數(shù)據(jù)元素
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_f1help
*&———————————————————————*
*&????? Form? f_field_f4help
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_field_f4help .
*———————————————————————-*
*& 1、可以在ALV的顯示界面將鼠標(biāo)放到該字段的位置后按F1會彈出該字段的說明
*& 2、指定數(shù)據(jù)元素之后,可以不指明字段的描述(如SCRTEXT_L、SCRTEXT_M、
*&??? SCRTEXT_S),函數(shù)會自動將字段的描述顯示,但是沒有自己指定的靈活。
*& 3、部分可以支持F4幫助的字段可能會沒有F4HELP效果,例如BNAME
*&??? F4HELP的效果是:單擊后單元格最前端出現(xiàn)小圖標(biāo)
*& 4、字段不能設(shè)置hotspot
*& 5、字段A可以設(shè)置成另一個字段B
*&??? 例如,fieldname = ‘BNAME’,ref_fieldname = ‘MATNR’
*&??? 所以和ALV的編輯功能一樣,需要注意輸入后的字段正確性驗證
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘BNAME’.
*F4HELP無效:
*原因:SE11中沒有F4HELP,只有DOMAIN的value table
????? wa_alv_fieldcatalog-ref_fieldname = ‘BNAME’ .
????? wa_alv_fieldcatalog-ref_tabname = ‘USR02′ .
??? WHEN ‘MATNR’.
*F4HELP有效:
????? wa_alv_fieldcatalog-ref_fieldname = ‘MATNR’ .
????? wa_alv_fieldcatalog-ref_tabname = ‘MARA’ .
??? WHEN ‘DATUM’.
????? wa_alv_fieldcatalog-ref_fieldname = ‘GLTGV’ .
????? wa_alv_fieldcatalog-ref_tabname = ‘USR02′ .
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_f4help
*&———————————————————————*
*&????? Form? f_field_seltext
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_field_seltext .
*———————————————————————-*
*& 1、seltext_m 優(yōu)先級大于 seltext_l
*& 2、如果seltext_m為空,則使用seltext_l中的內(nèi)容作為列描述
*& 3、seltext_s 可能只能用來做為列提示時的信息,如果seltext_s為空,則用
*&??? 列描述做為列信息顯示
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘I2′.
????? wa_alv_fieldcatalog-seltext_l = ‘普通負數(shù)的顯示’.
??? WHEN ‘I3′.
????? wa_alv_fieldcatalog-seltext_l = ‘去掉數(shù)字的符號’.
??? WHEN ‘I4′.
????? wa_alv_fieldcatalog-seltext_l = ‘負號前置’.
??? WHEN ‘DATUM’.
??? WHEN ‘BNAME’.
??? WHEN ‘BNAMEL2′.
????? wa_alv_fieldcatalog-seltext_l = ‘熱點’.
??? WHEN OTHERS.
????? wa_alv_fieldcatalog-seltext_l = wa_alv_fieldcatalog-fieldname.
? ENDCASE.

ENDFORM.??????????????????? " f_field_seltext
*&———————————————————————*
*&????? Form? f_field_just
*&———————————————————————*
*?????? 列對齊方式
*———————————————————————-*
FORM f_field_just .
*———————————————————————-*
*& (R)ight (L)eft (C)ent
*& P.S. 列最優(yōu)化時,看不出效果,拉開列寬后可以看到效果。
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘DATUM’.
????? wa_alv_fieldcatalog-just = cns_c."居中
??? WHEN ‘BNAME’.
????? wa_alv_fieldcatalog-just = cns_r."右對齊
??? WHEN ‘CP’.
????? wa_alv_fieldcatalog-just = cns_r."右對齊
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_just
*&———————————————————————*
*&????? Form? f_field_key
*&———————————————————————*
*?????? 關(guān)鍵列
*———————————————————————-*
FORM f_field_key .
*———————————————————————-*
*& 1、固定列,當(dāng)ALV顯示界面中該字段左側(cè)也為關(guān)鍵或固定列時,
*&??? 該列固定不動。
*& 2、列底色成為藍色。
*& 3、列寬不優(yōu)化時,效果明顯。
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘C10′.
????? wa_alv_fieldcatalog-key = ‘X’.
??? WHEN ‘N10′.
*????? wa_alv_fieldcatalog-key = ‘X’."與固定列做對比
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_key
*&———————————————————————*
*&????? Form? f_field_fix
*&———————————————————————*
*?????? 固定列
*———————————————————————-*
FORM f_field_fix .
*———————————————————————-*
*& 1、固定列,當(dāng)ALV顯示界面中該字段左側(cè)也為關(guān)鍵或固定列時,
*&??? 該列固定不動。
*& 2、列寬不優(yōu)化時,效果明顯。
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘N10′.
????? wa_alv_fieldcatalog-fix_column = ‘X’."與關(guān)鍵列做對比
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_fix
*&———————————————————————*
*&????? Form? f_field_outputlen
*&———————————————————————*
*?????? 列的字符寬度
*———————————————————————-*
FORM f_field_outputlen .
*———————————————————————-*
*& 在沒有最優(yōu)化列寬的前提下,顯式指定某列列寬
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘N10′.
????? wa_alv_fieldcatalog-outputlen = 10.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_outputlen
*&———————————————————————*
*&????? Form? f_field_lowercase
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_field_lowercase .
*———————————————————————-*
*&
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘BNAME’.
????? wa_alv_fieldcatalog-lowercase = ‘X’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_lowercase
*&———————————————————————*
*&????? Form? f_field_dosum
*&———————————————————————*
*?????? 字段求和
*———————————————————————-*
FORM f_field_dosum .
*———————————————————————-*
*& 1、需要設(shè)置fieldcatalog-totals_before_items
*& 2、不能對N型求和,除非設(shè)置layout-numc_sum = ‘X’
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘N10′.
????? wa_alv_fieldcatalog-do_sum = ‘X’.
??? WHEN ‘I’.
????? wa_alv_fieldcatalog-do_sum = ‘X’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_dosum
*&———————————————————————*
*&????? Form? f_field_lzero
*&———————————————————————*
*?????? 左端補零
*———————————————————————-*
FORM f_field_lzero .
*———————————————————————-*
*& 1、對數(shù)字型無效
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘N10′.
????? wa_alv_fieldcatalog-lzero = ‘X’.
??? WHEN ‘I’.
????? wa_alv_fieldcatalog-lzero = ‘X’."無效
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_lzero
*&———————————————————————*
*&????? Form? f_field_nosign
*&———————————————————————*
*?????? 去除符號顯示
*———————————————————————-*
FORM f_field_nosign .
*———————————————————————-*
*&
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘I3′.
????? wa_alv_fieldcatalog-no_sign = ‘X’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_nosign
*&———————————————————————*
*&????? Form? f_field_hotspot
*&———————————————————————*
*?????? 設(shè)置熱點
*———————————————————————-*
FORM f_field_hotspot .
*———————————————————————-*
*& 1、字符下出現(xiàn)下劃線
*& 2、鼠標(biāo)移動至該列時,變成手指可點擊形狀
*& 3、單擊即可觸發(fā)user_command命令
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘BNAMEL2′.
????? wa_alv_fieldcatalog-hotspot = ‘X’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_hotspot
*&———————————————————————*
*&????? Form? f_user_command
*&———————————————————————*
*?????? ALV用戶命令
*———————————————————————-*
FORM f_user_command USING p_ucomm??? TYPE sy-ucomm
????????????????????????? p_selfield TYPE slis_selfield.
*———————————————————————-*
*& 1、selfield-sel_tab_field為“fieldcatalog-tabname”-“fieldname”
*———————————————————————-*
*types: begin of slis_selfield,
*???????? tabname type slis_tabname,
*???????? tabindex like sy-tabix,
*???????? sumindex like sy-tabix,
*???????? endsum(1) type c,
*???????? sel_tab_field type slis_sel_tab_field,
*???????? value type slis_entry,
*???????? before_action(1) type c,
*???????? after_action(1) type c,
*???????? refresh(1) type c,
*???????? ignore_multi(1) type c, " ignore selection by checkboxes (F2)
*???????? col_stable(1) type c,
*???????? row_stable(1) type c,
**??????? colwidth_optimize(1) type c,"本項被SAP注釋
*???????? exit(1) type c,
*???????? fieldname type slis_fieldname,
*???????? grouplevel type i,
*???????? collect_from type i,
*???????? collect_to type i,
*?????? end of slis_selfield.
? READ TABLE itab_alv INTO wa_alv INDEX p_selfield-tabindex.
? CHECK sy-subrc = 0.
? CASE p_ucomm.
??? WHEN ‘&IC1′."雙擊
????? CASE p_selfield-sel_tab_field.
??????? WHEN? ‘CNS_ALV-BNAME’.
????????? SET PARAMETER ID ‘XUS’ FIELD wa_alv-bname.
????????? CALL TRANSACTION ‘SU01′ AND SKIP FIRST SCREEN.
????? ENDCASE.
? ENDCASE.
ENDFORM.??????????????????? " f_user_command
*&———————————————————————*
*&????? Form? f_html_top_of_page
*&———————————————————————*
*?????? text
*———————————————————————-*
*????? –>P_CL_DD? text
*———————————————————————-*
FORM f_html_top_of_page USING p_cl_dd TYPE REF TO cl_dd_document.
* 定義登錄用戶的描述
? DATA: l_name TYPE string ,
??????? name_first LIKE adrp-name_first ,
??????? name_last? LIKE adrp-name_last .
* 定義登錄日期
? DATA: l_date TYPE string .
* 定義緩沖區(qū)變量
? DATA: m_p TYPE i ,
??????? m_buffer TYPE string .

* 得到登錄用戶的描述
? SELECT SINGLE adrp~name_first
??????????????? adrp~name_last
??? INTO (name_first,name_last)
??? FROM adrp
?? INNER JOIN usr21 ON adrp~persnumber = usr21~persnumber
?? WHERE usr21~bname = sy-uname .

? IF sy-subrc = 0 .
??? CONCATENATE name_last name_first INTO l_name .
? ELSE .
??? l_name = sy-uname .
? ENDIF.
? CLEAR name_first .
? CLEAR name_last .

* 拼接制表日期
? CONCATENATE sy-datum+0(4) ‘.’
????????????? sy-datum+4(2) ‘.’
????????????? sy-datum+6(2)
???????? INTO l_date .

* 開始輸出表頭標(biāo)題
? m_buffer = ‘<HTML><CENTER><H1>ALV測試</H1></CENTER></HTML>’ .
? CALL METHOD p_cl_dd->html_insert
??? EXPORTING
????? contents = m_buffer
??? CHANGING
????? position = m_p.

* 輸出制表人和制表日期
? CONCATENATE ‘<P ALIGN = CENTER >出表人:’ l_name
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&’
??????????? ‘nbsp???????????????????? &nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp’
??????????? ‘出表日期:’ l_date INTO m_buffer .
? CALL METHOD p_cl_dd->html_insert
??? EXPORTING
????? contents = m_buffer
??? CHANGING
????? position = m_p.

ENDFORM.??????????????????? " f_html_top_of_page
*&———————————————————————*
*&????? Form? f_show_alv_all
*&———————————————————————*
*?????? 各種ALV的顯示
*———————————————————————-*
FORM f_show_alv_all .
? CASE g_flg_alv.
??? WHEN 1.
????? PERFORM f_show_alv.
??? WHEN 2.
??? WHEN 3."垂直方向同屏幕顯示多個ALV
????? PERFORM f_show_alv_bl.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_show_alv_all
*&———————————————————————*
*&????? Form? f_show_alv
*&———————————————————————*
*?????? REUSE_ALV_GRID_DISPLAY
*———————————————————————-*
FORM f_show_alv .
*———————————————————————-*
*FOR I_SAVE
* ‘ ‘ = Display variants cannot be saved
*?? Defined display variants (such as delivered display variants) can
*?? be selected for presentation regardless of this indicator. However,
*?? changes cannot be saved.
* ‘X’ = Standard save mode
*?? Display variants can be saved as standard display variants.
*?? Saving display variants as user-specific is not possible.
* ‘U’ = User-specific save mode
*?? Display variants can only be saved as user-specific.
* ‘A’ = Standard and user-specific save mode
*?? Display variants can be saved both as user-specific and as standard
*?? variants. Users make their choice on the dialog box for saving the
*?? display variant.
*———————————————————————-*
*FOR IT_SORT in FORM f_sort.
*———————————————————————-*
*以下2個參數(shù)有部分效果相同,可以穿空值
*???? i_callback_pf_status_set????????? = cns_pf_status_set
*???? it_excluding????????????????????? = itab_alv_excluding
*———————————————————————-*
? CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
?? EXPORTING
*?? I_INTERFACE_CHECK???????????????? = ‘ ‘
*?? I_BYPASSING_BUFFER??????????????? = ‘ ‘
*?? I_BUFFER_ACTIVE?????????????????? = ‘ ‘
???? i_callback_program??????????????? = cns_repid " type SY-REPID
???? i_callback_pf_status_set????????? = cns_pf_status_set
???? i_callback_user_command?????????? = cns_user_command
*?? I_CALLBACK_TOP_OF_PAGE??????????? = ‘ ‘
???? i_callback_html_top_of_page?????? = cns_html_top_of_page
*?? I_CALLBACK_HTML_END_OF_LIST?????? = ‘ ‘
*?? I_STRUCTURE_NAME????????????????? =
*?? I_BACKGROUND_ID?????????????????? = ‘ ‘
???? i_grid_title????????????????????? = cns_grid_title
*?? I_GRID_SETTINGS?????????????????? =
???? is_layout???????????????????????? = wa_layout
???? it_fieldcat?????????????????????? = itab_alv_fieldcatalog
???? it_excluding????????????????????? = itab_alv_excluding
*?? IT_SPECIAL_GROUPS???????????????? =
???? it_sort?????????????????????????? = itab_alv_sort
*?? IT_FILTER???????????????????????? =
*?? IS_SEL_HIDE?????????????????????? =
*?? I_DEFAULT???????????????????????? = ‘X’
???? i_save??????????????????????????? = cns_x " space x u a
*?? IS_VARIANT??????????????????????? =
?? it_events???????????????????????? = itab_alv_event
*?? IT_EVENT_EXIT???????????????????? =
*?? IS_PRINT????????????????????????? =
*?? IS_REPREP_ID????????????????????? =
*?? I_SCREEN_START_COLUMN???????????? = 0
*?? I_SCREEN_START_LINE?????????????? = 0
*?? I_SCREEN_END_COLUMN?????????????? = 0
*?? I_SCREEN_END_LINE???????????????? = 0
*?? IT_ALV_GRAPHICS?????????????????? =
*?? IT_HYPERLINK????????????????????? =
*?? IT_ADD_FIELDCAT?????????????????? =
*?? IT_EXCEPT_QINFO?????????????????? =
*?? I_HTML_HEIGHT_TOP???????????????? =
*?? I_HTML_HEIGHT_END???????????????? =
* IMPORTING
*?? E_EXIT_CAUSED_BY_CALLER?????????? =
*?? ES_EXIT_CAUSED_BY_USER??????????? =
?? TABLES
???? t_outtab????????????????????????? = itab_alv
?? EXCEPTIONS
???? program_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.
ENDFORM.??????????????????? " f_show_alv
*&———————————————————————*
*&????? Form? f_sort_all
*&———————————————————————*
*?????? ALV顯示排序
*———————————————————————-*
FORM f_sort_all .
? CASE g_flg_alv.
??? WHEN 1 OR 3.
????? PERFORM f_sort.
??? WHEN 2.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_sort_all
*&———————————————————————*
*&????? Form? f_sort
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_sort .
*———————————————————————-*
*?????? IT_SORT TYPE? SLIS_T_SORTINFO_ALV
*types: begin of slis_sortinfo_alv,
**??????? spos(2) type n,?????????? "本項被SAP注釋
*???????? spos like alvdynp-sortpos,
*???????? fieldname type slis_fieldname,
*???????? tabname type slis_fieldname,
**??????? up(1) type c,???????????? "本項被SAP注釋
**??????? down(1) type c,?????????? "本項被SAP注釋
**??????? group(2) type c,????????? "本項被SAP注釋
**??????? subtot(1) type c,???????? "本項被SAP注釋
*???????? up like alvdynp-sortup,
*???????? down like alvdynp-sortdown,
*???????? group like alvdynp-grouplevel,
*???????? subtot like alvdynp-subtotals,
*???????? comp(1) type c,
*???????? expa(1) type c,
*???????? obligatory(1) type c,
*?????? end of slis_sortinfo_alv.
*———————————————————————-*
*wa_alv_sort-spos?????? = 1.
*wa_alv_sort-fieldname = ‘N10′.
*wa_alv_sort-up??????? = ‘X’.
*wa_alv_sort-subtot??? = ‘X’.
*append wa_alv_sort to itab_alv_sort.

? wa_alv_sort-spos?????? = 1.
? wa_alv_sort-fieldname = ‘BNAME’.
? wa_alv_sort-up??????? = ‘X’.
? wa_alv_sort-subtot??? = ‘X’.
? APPEND wa_alv_sort TO itab_alv_sort.
ENDFORM.??????????????????? " f_sort
*&———————————————————————*
*&????? Form? f_field_icon
*&———————————————————————*
*?????? 設(shè)置圖標(biāo)
*———————————————————————-*
FORM f_field_icon .
*———————————————————————-*
*& 1、ICON字段在fieldcatalog需要的結(jié)構(gòu)體中只能用like定義
*& 2、ICON的值來自于類型池ICON、或者數(shù)據(jù)庫表ICON
*& 3、如果只是用于顯示紅綠燈圖標(biāo),可以使用以下方法:
*&??? ICON(1)? TYPE C,"1:Red; 2:Yellow; 3:Green
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘ICON’.
????? wa_alv_fieldcatalog-icon = ‘X’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_icon
*&———————————————————————*
*&????? Form? f_field_checkbox
*&———————————————————————*
*?????? 設(shè)置多選框
*———————————————————————-*
FORM f_field_checkbox .
*———————————————————————-*
*& 1、需要配合編輯狀態(tài)
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘BOX’.
????? wa_alv_fieldcatalog-checkbox = ‘X’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_checkbox
*&———————————————————————*
*&????? Form? f_field_editmask
*&———————————————————————*
*?????? 效果不明
*———————————————————————-*
FORM f_field_editmask .
*———————————————————————-*
*& 1、可以實現(xiàn)字段顯示效果?的轉(zhuǎn)換規(guī)則
*———————————————————————-*
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘I4′.
*符號前置的一種方法,V后面的_可以任意數(shù)量,缺點:沒有數(shù)字分割符
????? wa_alv_fieldcatalog-edit_mask = ‘V______’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_editmask
*&———————————————————————*
*&????? Form? f_gui_all
*&———————————————————————*
*?????? 設(shè)置用戶接口相關(guān)內(nèi)容
*———————————————————————-*
FORM f_gui_all .
? CASE g_flg_random.
??? WHEN 1 OR 3.
*ALV 功能鍵 – 設(shè)置
????? PERFORM f_fcode_all.
??? WHEN 2.
*自定義工具欄
????? PERFORM f_pfstatus_all.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_gui_all
*&———————————————————————*
*&????? Form? f_fcode_all
*&———————————————————————*
*
*———————————————————————-*
FORM f_fcode_all .
? CASE g_flg_alv.
??? WHEN 1.
????? PERFORM f_fcode.
??? WHEN 2.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_fcode_all
*&———————————————————————*
*&????? Form? f_fcode
*&———————————————————————*
*?????? 設(shè)置要隱藏的按鈕的“FCODE”
*———————————————————————-*
FORM f_fcode .
? "&ETA???? :細節(jié)
? "&EB9???? :調(diào)用報表
? "&REFRESH :刷新
? "&ALL???? :選擇全部
? "&SAL???? :取消選擇全部
? "&OUP???? :按升序排序
? "&ODN???? :按降序排序
? "&ILT???? :設(shè)置過濾器
? "&UMC???? :總計
? "&SUM???? :小計
? "&RNT_PREV:打印預(yù)覽
? "&VEXCEL? :Microsoft Excel
? "&AQW???? :字處理
? "%PC????? :本地文件
? "%SL????? :郵件收件人
? "&ABC???? :ABC分析
? "&GRAPH?? :圖形
? "&OL0???? :更改布局
? "&OAD???? :選擇布局
? "&AVE???? :保存布局
? "&INFO??? :信息
? wa_alv_excluding-fcode = ‘&AQW’ .
? APPEND wa_alv_excluding TO itab_alv_excluding .
? wa_alv_excluding-fcode = ‘&ABC’ .
? APPEND wa_alv_excluding TO itab_alv_excluding .
? wa_alv_excluding-fcode = ‘&ABC’ .
? APPEND wa_alv_excluding TO itab_alv_excluding .
? wa_alv_excluding-fcode = ‘&OL0′ .
? APPEND wa_alv_excluding TO itab_alv_excluding .
? wa_alv_excluding-fcode = ‘&OAD’ .
? APPEND wa_alv_excluding TO itab_alv_excluding .
? wa_alv_excluding-fcode = ‘&AVE’ .
? APPEND wa_alv_excluding TO itab_alv_excluding .
? wa_alv_excluding-fcode = ‘&INFO’ .
? APPEND wa_alv_excluding TO itab_alv_excluding .
ENDFORM.??????????????????? " f_fcode
*&———————————————————————*
*&????? Form? f_pfstatus_all
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_pfstatus_all .
? CASE g_flg_alv.
??? WHEN 1.
????? PERFORM f_pfstatus.
??? WHEN 2.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_pfstatus_all
*&———————————————————————*
*&????? Form? f_pfstatus
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_pfstatus .
? cns_pf_status_set = ‘F_PF_STATUS_SET’.
ENDFORM.??????????????????? " f_pfstatus
*&———————————————————————*
*&????? Form? f_pf_status_set
*&———————————————————————*
*
*———————————————————————-*
FORM f_pf_status_set USING p_extab TYPE slis_t_extab .
*“分隔符”的插入方法為:
*在需要插入分隔符的方框內(nèi)選擇菜單
*“Edit”->“Insert”->“Separator line”即可插入分隔符
? SET PF-STATUS ‘ALV_STATUS’ .
ENDFORM.??????????????????? " f_pf_status_set
*&———————————————————————*
*&????? Form? f_get_random
*&———————————————————————*
*?????? 獲得隨機數(shù)
*———————————————————————-*
FORM f_get_random .
*———————————————————————-*
*用 QF05_RANDOM_INTEGER 來獲得隨機數(shù), 第一次使用的時候只是獲得種子.
*所以在程序中使用的時候,要在最開始設(shè)置種子.
*不然每次獲得的隨機數(shù)都一樣
*from:http://blog.chinaunix.net/u2/64493/showart_525094.html
*
*即:QF05_RANDOM_INTEGER第一次運行的結(jié)果必定一樣
*RAN_INT參數(shù)不是必須的
*———————————————————————-*
? CALL FUNCTION ‘QF05_RANDOM_INTEGER’
?? EXPORTING
???? ran_int_max???????? = 10
???? ran_int_min???????? = 1
* IMPORTING
*?? RAN_INT???????????? = g_flg_random
?? EXCEPTIONS
???? invalid_input?????? = 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 ‘QF05_RANDOM_INTEGER’
??? EXPORTING
????? ran_int_max?? = 2
????? ran_int_min?? = 1
??? IMPORTING
????? ran_int?????? = g_flg_random
??? EXCEPTIONS
????? invalid_input = 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.

ENDFORM.??????????????????? " f_get_random
*&———————————————————————*
*&????? Form? f_field_round
*&———————————————————————*
*?????? 移動小數(shù)位?
*———————————————————————-*
FORM f_field_round .
*———————————————————————-*
*& 1、效果類似 WRITE … ROUND r
* WRITE … ROUND r 的效果
*
* Scaled output of a field of type P.
*
* The decimal point is first moved r places to the left (r > 0) or to
* theright (r < 0); this is the same as dividing with the appropriate
* exponent 10**r. The value determined in this way is output with the
* valid number of digits before and after the decimal point. If the
* decimal point is moved to the left, the number is rounded.
*
* For further information about the interaction between the formatting
* options CURRENCY and DECIMALS, see the notes below.
*
*Example
*Effect of different ROUND specifications:
*
*DATA: X TYPE P DECIMALS 2 VALUE ’12493.97′.
*
*WRITE: /X ROUND -2,?? "output: 1,249,397.00
*?????? /X ROUND? 0,?? "output:??? 12,493.97
*?????? /X ROUND? 2,?? "output:?????? 124.94
*?????? /X ROUND? 5,?? "output:???????? 0.12
*
*所以,一般與fieldcatalog中的decimals_out一起使用
*-:放大,-2→數(shù)字=數(shù)字×100
*+:縮小, 2→數(shù)字=數(shù)字/100
*———————————————————————-*
*???????? round????????? type i,??????? " round in write statement
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘P’.
????? wa_alv_fieldcatalog-round = -2."小數(shù)點偏移位置
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_round
*&———————————————————————*
*&????? Form? f_filed_ifieldname
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_filed_ifieldname .
*———————————————————————-*
*& 1、
*———————————————————————-*
*???????? ifieldname???? type slis_fieldname, " initial column
*內(nèi)部表字段的字段名稱?
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘P’.
????? wa_alv_fieldcatalog-ifieldname = ”.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_filed_ifieldname
*&———————————————————————*
*&????? Form? f_show_alv_bl
*&———————————————————————*
*?????? 垂直方向同屏幕顯示多個ALV
*———————————————————————-*
FORM f_show_alv_bl .
*———————————————————————-*
*& 1、
*———————————————————————-*
*改自: http://blog.chinaunix.net/u2/64493/showart.php?id=1090105
? CALL FUNCTION ‘REUSE_ALV_BLOCK_LIST_INIT’
??? EXPORTING
????? i_callback_program???????????? = cns_repid
*?? I_CALLBACK_PF_STATUS_SET?????? = ‘ ‘
*?? I_CALLBACK_USER_COMMAND??????? = ‘ ‘
*?? IT_EXCLUDING?????????????????? =
??????????? .
*添加第1個ALV
? CALL FUNCTION ‘REUSE_ALV_BLOCK_LIST_APPEND’
??? EXPORTING
????? is_layout??????????????????????? = wa_layout
????? it_fieldcat????????????????????? = itab_alv_fieldcatalog
????? i_tabname??????????????????????? = ‘ITAB_ALV’
????? it_events??????????????????????? = itab_alv_event
*?? IT_SORT????????????????????????? =
*?? I_TEXT?????????????????????????? = ‘ ‘
??? TABLES
????? t_outtab???????????????????????? = itab_alv
?? EXCEPTIONS
???? program_error??????????????????? = 1
???? maximum_of_appends_reached?????? = 2
???? OTHERS?????????????????????????? = 3
??????????? .
? IF sy-subrc <> 0.
??? MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
??????????? WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
? ENDIF.
*添加第2個ALV
? CALL FUNCTION ‘REUSE_ALV_BLOCK_LIST_APPEND’
??? EXPORTING
????? is_layout??????????????????????? = wa_layout
????? it_fieldcat????????????????????? = itab_alv_fieldcatalog
????? i_tabname??????????????????????? = ‘ITAB_ALV’
????? it_events??????????????????????? = itab_alv_event
*?? IT_SORT????????????????????????? =
*?? I_TEXT?????????????????????????? = ‘ ‘
??? TABLES
????? t_outtab???????????????????????? = itab_alv
?? EXCEPTIONS
???? program_error??????????????????? = 1
???? maximum_of_appends_reached?????? = 2
???? OTHERS?????????????????????????? = 3
??????????? .
? 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 ‘REUSE_ALV_BLOCK_LIST_DISPLAY’
* EXPORTING
*?? I_INTERFACE_CHECK???????????? = ‘ ‘
*?? IS_PRINT????????????????????? =
*?? I_SCREEN_START_COLUMN???????? = 0
*?? I_SCREEN_START_LINE?????????? = 0
*?? I_SCREEN_END_COLUMN?????????? = 0
*?? I_SCREEN_END_LINE???????????? = 0
* IMPORTING
*?? E_EXIT_CAUSED_BY_CALLER?????? =
*?? ES_EXIT_CAUSED_BY_USER??????? =
?? EXCEPTIONS
???? program_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.

ENDFORM.??????????????????? " f_show_alv_bl
*&———————————————————————*
*&????? Form? f_event_all
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_event_all .
*———————————————————————-*
*& 1、
*———————————————————————-*
*types: begin of slis_alv_event,
*??????? name(30),
*??????? form(30),
*????? end of slis_alv_event.
? CASE g_flg_alv.
??? WHEN 1 OR 3.
????? PERFORM f_event.
??? WHEN 2.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_event_all
*&———————————————————————*
*&????? Form? f_event
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_event .
*———————————————————————-*
*& 1、
*———————————————————————-*
? CALL FUNCTION ‘REUSE_ALV_EVENTS_GET’
??? EXPORTING
????? i_list_type???? = 0
??? IMPORTING
????? et_events?????? = itab_alv_event
??? EXCEPTIONS
????? list_type_wrong = 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.

ENDFORM.??????????????????? " f_event
*&———————————————————————*
*&????? Form? f_field_decimalsout
*&———————————————————————*
*?????? 控制輸出小數(shù)位
*———————————————————————-*
FORM f_field_decimalsout .
*———————————————————————-*
*& 1、一般與fieldcatalog中的round字段一起使用
*———————————————————————-*
*???????? decimals_out(6)?? type c,???? " decimals in write statement
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘P’.
????? wa_alv_fieldcatalog-decimals_out = 0."輸出的小數(shù)位數(shù)
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_decimalsout
*&———————————————————————*
*&????? Form? f_currency_setting
*&———————————————————————*
*?????? 貨幣設(shè)置
*———————————————————————-*
*& 1、
*———————————————————————-*
FORM f_currency_setting .
*???????? currency(5)??? type c,
*???????? cfieldname???? type slis_fieldname, " field with currency unit
*???????? ctabname?????? type slis_tabname,?? " and table
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘CURRENCY’.
????? wa_alv_fieldcatalog-cfieldname = ‘CUNIT’.
????? wa_alv_fieldcatalog-ctabname = ‘ITAB_ALV’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_currency_setting
*&———————————————————————*
*&????? Form? f_field_quantity
*&———————————————————————*
*?????? 數(shù)量設(shè)置
*———————————————————————-*
*& 1、
*———————————————————————-*
FORM f_field_quantity .
*???????? quantity(3)??? type c,
*???????? qfieldname???? type slis_fieldname, " field with quantity unit
*???????? qtabname?????? type slis_tabname,?? " and table
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘QUANTITY’.
*????? wa_alv_fieldcatalog-quantity = ‘MT’."無效
????? wa_alv_fieldcatalog-qfieldname = ‘QUNIT’.
????? wa_alv_fieldcatalog-qtabname = ‘ITAB_ALV’.
??? WHEN OTHERS.
? ENDCASE.
ENDFORM.??????????????????? " f_field_quantity
*&———————————————————————*
*&????? Form? F_FIELD_EDIT
*&———————————————————————*
*?????? text
*———————————————————————-*
FORM f_field_edit .
? CASE wa_alv_fieldcatalog-fieldname.
??? WHEN ‘MATNR’.
????? wa_alv_fieldcatalog-edit = ‘X’.
??? WHEN OTHERS.
????? wa_alv_fieldcatalog-edit = ”.

? ENDCASE.
ENDFORM.??????????????????? " F_FIELD_EDIT


總結(jié)

以上是生活随笔為你收集整理的ABAP实例之ALV的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

女人久久久久 | 特级xxxxx欧美 | 欧美在线视频二区 | 日韩午夜精品 | 嫩草伊人久久精品少妇av | 婷婷在线视频观看 | 欧美日韩国产精品一区二区亚洲 | 欧美激情xxxx性bbbb | 九九影视理伦片 | 国产999精品 | 日韩欧美视频 | 久久99热这里只有精品国产 | 国产精品一区二区无线 | 日韩欧美精品免费 | 毛片一二区 | 久久男人中文字幕资源站 | 五月婷网站 | 国产一级片网站 | 国产成人精品一区二区三区免费 | 国产高清视频色在线www | 中文字幕高清有码 | 国产精品美女999 | 亚洲精品视频在线播放 | 国产传媒一区在线 | 日韩精品一区二区免费 | 日韩国产高清在线 | 中文字字幕在线 | 欧美一区,二区 | 欧美a级片免费看 | 精品久久久一区二区 | 五月天激情电影 | 粉嫩av一区二区三区四区在线观看 | 欧美精品天堂 | 国产成人一级电影 | 久久99视频精品 | 免费看v片 | 亚洲欧美激情插 | 2018亚洲男人天堂 | 免费高清在线视频一区· | 国产精品毛片一区二区 | 亚洲国产精品久久久久婷婷884 | 97国产小视频| 最新精品视频在线 | 在线超碰av | 亚洲精品啊啊啊 | 欧美一级性| 国内精品在线看 | 国产中文字幕91 | 国产精品一级在线 | 中文字幕黄色网 | 全久久久久久久久久久电影 | 黄色毛片观看 | 亚洲人片在线观看 | 国产精品免费观看视频 | 99久久久成人国产精品 | 婷婷综合成人 | 91看片网址 | 久久久精品久久 | 天天爱综合 | 五月婷婷综合色拍 | 久久精品免费播放 | 欧美专区国产专区 | 狠狠色免费 | 日韩精品在线视频免费观看 | 97香蕉超级碰碰久久免费软件 | 这里只有精品视频在线观看 | 欧美一级黄色网 | 五月情婷婷 | www91在线 | 国产成人精品在线观看 | 精品国产一区二区三区蜜臀 | 国产精品成人久久 | 看片一区二区三区 | 久久精品视频在线免费观看 | 欧美一区二区视频97 | 激情av网址 | 国产黄色精品在线观看 | 成人性生交大片免费观看网站 | 91天堂素人约啪 | 中文字幕在线观看播放 | 91福利在线观看 | 亚洲激情视频在线观看 | 欧美一区二区三区免费看 | 69av在线播放 | 一级一片免费观看 | 日韩精品91偷拍在线观看 | 精品国产色 | 五月婷婷在线视频观看 | 国产精品久久久久久久免费大片 | 永久免费视频国产 | 精品国产一区二区三区久久影院 | 91视频 - 88av| 97久久久免费福利网址 | 成人九九视频 | 色福利网| 成人毛片100免费观看 | 天天干天天在线 | 夜夜操综合网 | 在线观看mv的中文字幕网站 | 久久免费99 | 久久亚洲综合色 | 国产一区二区三区四区在线 | 狠狠躁日日躁狂躁夜夜躁 | 成人黄色在线观看视频 | 欧美日韩高清不卡 | 日韩在线网 | 免费视频成人 | 国产免费视频一区二区裸体 | 亚洲视频久久 | 国产精品国产三级国产aⅴ入口 | 精品国产一区二区三区久久影院 | 久久精品xxx | 亚洲成人资源 | 国产成人精品国内自产拍免费看 | 天天做天天爱天天爽综合网 | 九色视频网站 | 最新超碰| 国产99久久久国产精品成人免费 | 亚洲永久国产精品 | 激情欧美一区二区免费视频 | 91久久精品一区二区三区 | 国产一区二区在线免费播放 | 一级片视频免费观看 | 日韩高清在线一区 | 国产精品免费久久久久 | 国产香蕉97碰碰碰视频在线观看 | 国内一区二区视频 | 欧美日韩精品在线免费观看 | 成人免费网站在线观看 | 久久久人 | 免费日韩 | 国内精品久久久久影院优 | 黄色av免费在线 | 亚洲午夜精品久久久久久久久久久久 | 婷婷av网站 | 欧美美女激情18p | 久久影视中文字幕 | 免费观看久久 | 黄色视屏免费在线观看 | 亚洲免费av观看 | av成人免费在线 | 久久伊人八月婷婷综合激情 | 亚洲精品综合一二三区在线观看 | 久久夜av | 久久婷婷综合激情 | 亚洲视频免费 | 成人看片 | 日本 在线 视频 中文 有码 | 久久婷婷五月综合色丁香 | 五月婷婷色综合 | 国产日韩视频在线 | 亚洲国产97在线精品一区 | 欧美成人在线网站 | 国产精品一区二区精品视频免费看 | 天天干夜夜夜 | 三级黄色片在线观看 | 日韩免费观看一区二区 | 亚洲精品高清一区二区三区四区 | 国产一线二线三线性视频 | 免费网站在线观看成人 | 国产高清专区 | 二区三区在线视频 | 色综合久久久久久久 | 2021国产精品 | 国产白浆在线观看 | av超碰在线 | 天天曰| 精品国产区在线 | 夜夜婷婷| 国产91精品一区二区 | 九九色视频| 在线天堂中文在线资源网 | 亚洲永久国产精品 | 亚洲视频大全 | 欧美精品久久久久久久久久白贞 | av丝袜在线 | 91精品国产一区二区三区 | 国产精品久久久久久久久久新婚 | 免费av片在线 | 99久在线精品99re8热视频 | 黄色视屏免费在线观看 | 超碰免费av | 日韩精品免费一区二区在线观看 | 天天搞天天 | 91视视频在线直接观看在线看网页在线看 | 精品人人人 | 九九热免费精品视频 | 成人久久18免费网站麻豆 | 久久免费片| 国产专区视频在线 | 黄污视频大全 | 国产91精品在线播放 | 欧美成人精品三级在线观看播放 | 午夜视频免费 | 97超碰总站 | 国产精品黄色 | 国产91九色视频 | 亚洲涩涩涩涩涩涩 | 午夜性色 | 在线播放精品一区二区三区 | 国产群p视频 | 在线国产一区二区 | 中文字幕国产精品 | 超碰人人草人人 | 永久免费精品视频 | 久久精品福利视频 | 欧美午夜精品久久久久久浪潮 | 手机色在线 | 国产一区二区精 | 精品亚洲免a| 国产手机在线观看 | 国产中文在线视频 | 亚洲国产av精品毛片鲁大师 | 欧美日韩国产在线 | 国产老太婆免费交性大片 | 1000部国产精品成人观看 | 久久毛片网 | 久久久久国产一区二区三区四区 | 免费看国产视频 | 在线亚洲精品 | 午夜精品视频一区 | 免费视频三区 | 亚洲欧美日韩不卡 | 国产麻豆精品一区二区 | 97视频入口免费观看 | 亚洲一区日韩 | 日日夜夜操av | av色一区 | 久久精品亚洲一区二区三区观看模式 | 国产成人精品三级 | 少妇视频在线播放 | 在线观看亚洲精品视频 | 美女在线免费观看视频 | 五月在线视频 | 超碰人在线 | 国产精品久久久av | 国产看片免费 | 亚洲国产成人久久 | 久久视频在线观看中文字幕 | 成人在线免费av | 91在线产啪 | 国产精品99久久久精品 | www.亚洲视频.com | 天天操天天射天天爱 | 亚洲精品免费在线观看 | 黄色软件视频大全免费下载 | 99国产在线 | 911亚洲精品第一 | 狠狠躁夜夜躁人人爽超碰91 | 六月婷婷久香在线视频 | 看国产黄色片 | 激情五月播播久久久精品 | 免费av网址在线观看 | 国产精品一区二区av日韩在线 | 黄网站色欧美视频 | 天天色天天操综合 | 在线中文字幕网站 | 狠狠色丁香婷婷综合久小说久 | av久久久 | 超碰97在线看 | 亚洲一区美女视频在线观看免费 | 国产视频1| 在线视频免费观看 | 久久久999精品视频 国产美女免费观看 | 久久久久久久网 | 97超级碰碰| 热久久视久久精品18亚洲精品 | 日韩久久精品一区二区 | 国产成人精品女人久久久 | 免费久久网站 | 日韩欧美电影网 | 中文一区二区三区在线观看 | 欧美大片www| 99精品在线视频观看 | 又色又爽又黄高潮的免费视频 | 天天曰天天射 | 8x成人在线| 日韩精品一区二区三区免费观看 | 草久久久久久 | 91在线91拍拍在线91 | 91c网站色版视频 | 91x色| 国产精品每日更新 | 成人网444ppp| 欧美一二三区在线观看 | 91在线色| 亚洲国产黄色 | 亚洲免费精品视频 | 久久综合色天天久久综合图片 | 久久午夜影院 | 六月天色婷婷 | 免费在线观看av电影 | 97电影手机版 | 久久久久久高清 | 99视频国产精品免费观看 | 亚洲国产精彩中文乱码av | 免费成人av在线看 | 久久精品一区二区三 | 在线免费观看的av网站 | 91视频 - 114av| 久久精品国产一区二区电影 | 激情影院在线观看 | 亚洲精品乱码白浆高清久久久久久 | 亚洲精品一区二区三区新线路 | 久草精品视频在线播放 | 91福利在线导航 | 久久成人国产精品一区二区 | 欧美极品久久 | 日韩av在线看 | 国产在线一区观看 | 国产福利精品视频 | 亚洲国内精品在线 | 久久91网 | 日韩精品在线免费观看 | 久久精品免费播放 | 欧美精品久久人人躁人人爽 | 日本激情动作片免费看 | 国精产品999国精产品视频 | 免费视频资源 | 免费精品视频在线观看 | 亚洲婷婷丁香 | 久草在线视频新 | 91精品国产99久久久久久久 | 亚洲精品美女视频 | 黄av资源 | 精品国产一区二区三区噜噜噜 | 91久久精品日日躁夜夜躁国产 | 免费av网址大全 | 日韩欧美电影在线观看 | 久久国产成人午夜av影院潦草 | www五月 | 亚洲japanese制服美女 | 精品中文字幕在线 | 国产黄色片在线 | 免费av在线网| 波多野结衣久久资源 | 欧美一区二区三区不卡 | 亚洲视频一区二区三区在线观看 | 91久久爱热色涩涩 | 久亚洲精品 | 五月婷婷综合在线视频 | 国产日产精品一区二区三区四区 | 美女啪啪图片 | 婷婷精品视频 | 国产在线不卡一区 | 视频国产精品 | 国产看片网站 | 国产成人三级在线 | 免费看毛片在线 | 中文字幕在线视频国产 | 69视频网站 | 99免费在线观看视频 | 操一草 | 99精品一级欧美片免费播放 | 97国产视频 | 精品成人久久 | 久久手机免费视频 | 日韩,精品电影 | 国产一区免费 | www婷婷 | 日韩二级毛片 | 精品亚洲免费视频 | 久久精品视频在线播放 | 欧美日韩国产在线精品 | 99精品视频免费观看视频 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 日本久久久久久久久久 | 日韩久久久 | 亚欧日韩av | 97国产精品视频 | 精品国精品自拍自在线 | 国产午夜精品一区二区三区 | 亚洲欧洲在线视频 | 在线观看中文字幕dvd播放 | 美女搞黄国产视频网站 | 国产999精品 | 久久一区二区三区四区 | 91成人区| 国产在线a免费观看 | 不卡的一区二区三区 | 婷婷av电影| 成人综合婷婷国产精品久久免费 | 涩涩色亚洲一区 | 激情av一区二区 | 99久高清在线观看视频99精品热在线观看视频 | 波多野结衣一区 | 国产精品一区二区久久精品爱涩 | 国内久久久久 | 国产日韩高清在线 | 久久五月网 | 不卡的av电影在线观看 | 国产黄| 99精品在线看 | 国产高清一| 午夜视频在线观看一区 | 91污污| 91在线日韩 | 黄色99视频 | 国产99久久九九精品免费 | 视频一区二区免费 | 国产色网站 | 激情欧美xxxx | 玖草在线观看 | 色综合久久网 | www.人人草| 波多野结衣视频一区 | 一区二区三区日韩在线观看 | 在线观看一区二区精品 | 99日精品| 亚洲精品午夜一区人人爽 | 91福利试看| 久久tv | www.五月婷 | 久久免费视频3 | 99精品久久久久 | 在线观看久 | 色多多视频在线观看 | 久久ww| 人人爽人人爽人人片 | 成人a级免费视频 | 色播激情五月 | av一区二区三区在线播放 | 91在线porny国产在线看 | 69国产在线观看 | 成人免费观看网站 | av一级在线观看 | 午夜精品久久久久久中宇69 | 黄色三级免费看 | 日韩美女一级片 | 日韩在线观看一区 | 日韩精品电影在线播放 | 2020天天干夜夜爽 | 午夜视频免费播放 | 日日操日日干 | 日韩一级片观看 | 欧美久久电影 | 久久在线精品 | 91视频久久久久久 | 成人黄大片视频在线观看 | 国产99久 | 欧美日韩一区二区在线观看 | 最近字幕在线观看第一季 | www.日本色 | 日韩视频1区 | 国产精品美女久久久久久久久久久 | 波多野结衣综合网 | 中文字幕91视频 | 色综合激情久久 | 婷婷激情五月 | 在线观看免费 | 美女视频久久黄 | 99热这里只有精品免费 | 国产91综合一区在线观看 | 久久99久久99久久 | 亚洲激情在线 | 亚洲成av人影院 | 国产在线国偷精品产拍免费yy | 久久婷婷久久 | 久久看片 | 国产91国语对白在线 | 欧美日本高清视频 | 成片人卡1卡2卡3手机免费看 | 鲁一鲁影院 | 亚洲黄色网络 | 欧美极品xxx | 成人午夜电影网 | 亚洲国产精品电影在线观看 | 99久久久久久国产精品 | 激情网在线视频 | 天天干天天做天天爱 | 日韩激情精品 | 国产一级性生活 | 国产成人精品一区二区三区在线 | 玖玖在线观看视频 | 精品国产一区二区三区久久久蜜月 | 亚洲另类在线视频 | 波多野结衣视频一区二区三区 | 三级av免费观看 | 欧美日本中文字幕 | 五月亚洲婷婷 | 亚洲在线精品视频 | 正在播放国产91 | 国产又粗又猛又黄又爽视频 | 久久久久久久国产精品 | 91精品办公室少妇高潮对白 | 有码中文字幕在线观看 | 色综合久久久久久久久五月 | 亚洲精品乱码 | 一级片视频免费观看 | 欧美日韩国产综合网 | 日本久久成人 | 亚洲精品免费播放 | 免费成人av电影 | 国产传媒中文字幕 | www.午夜| 97在线观看免费视频 | 久久久婷| 天堂中文在线视频 | 17videosex性欧美 | www.久久视频 | 成人免费在线观看av | 免费av 在线 | 成人av午夜| 99视频+国产日韩欧美 | 狠狠狠色丁香婷婷综合久久88 | 国模视频一区二区 | 日本性视频 | 天天射综合 | 日韩网站在线观看 | 久草视频精品 | 国产精品久久三 | 综合五月婷婷 | 蜜臀av一区二区 | 日本护士三级少妇三级999 | 久一网站| 美女视频久久 | 久久久99国产精品免费 | 久久不卡日韩美女 | av在线免费在线观看 | 最近日本mv字幕免费观看 | 亚洲激色 | 国产一区二区午夜 | 久久国产精品99精国产 | 午夜天天操| 黄色99视频| 国产福利一区二区在线 | 亚洲精品高清视频 | 手机av网站 | 九九视频在线播放 | 国产精品日韩久久久久 | 在线观看视频99 | 精品视频亚洲 | 免费观看一级一片 | 狠狠色丁香 | 国产午夜激情视频 | www.亚洲视频| 亚洲最大成人免费网站 | 一区中文字幕在线观看 | 精品国产理论片 | 91国内产香蕉 | 五月天久久久久 | 国产一区二区三区网站 | 中文字幕色婷婷在线视频 | 成人av电影在线 | 99在线国产 | 91精品久久久久久 | 在线中文视频 | 亚洲视频第一页 | 五月综合激情 | 国产一区欧美日韩 | 精品久久久久久综合 | 国产日产精品一区二区三区四区 | 九九热.com | 久久久久久久免费看 | 97国产一区二区 | 视频91在线 | 欧美在线不卡一区 | 日韩免费成人 | 黄色av三级在线 | 综合伊人av| 国产麻豆精品久久一二三 | 国产一区二区三区在线免费观看 | 日本成址在线观看 | 综合网色 | 99精品视频在线看 | 日批视频在线播放 | 日本性视频 | 日韩专区在线观看 | 久久资源在线 | 一本色道久久综合亚洲二区三区 | 亚洲成年人免费网站 | avv天堂| 国产一区二区手机在线观看 | 91在线亚洲 | 久久久 激情 | 日韩电影一区二区三区在线观看 | 天天视频色版 | 久热爱| www.狠狠操 | 精品人人爽 | 日韩电影在线观看中文字幕 | 成人网色| 在线色亚洲 | 国产成人一区二区三区电影 | 五月婷婷综合网 | 免费观看黄 | 在线直播av | 久久免费看视频 | 亚洲精品久久久蜜桃 | 精品1区2区3区 | 国产亚洲精品久久 | 欧美 日韩 成人 | 亚洲午夜久久久久久久久电影网 | 午夜精品一区二区三区在线 | 激情网综合 | 久久这里只有精品1 | 日韩免费电影在线观看 | 在线高清一区 | 欧美激情另类文学 | 特级大胆西西4444www | 亚洲资源网| 久久精品综合视频 | 欧美精品久久久久a | 久草爱视频 | 国产一级a毛片视频爆浆 | 国产精品入口a级 | 在线观看亚洲国产 | 久久久久精 | av片在线看| 91精品久久香蕉国产线看观看 | 精品国产一区二区三区免费 | 欧美福利片在线观看 | 超碰97国产精品人人cao | 婷婷久草 | 精品夜夜嗨av一区二区三区 | 伊人天堂久久 | 免费在线观看不卡av | 国产高清不卡在线 | 中文字幕观看在线 | 91成人免费在线视频 | 91成人网在线 | 免费观看的黄色 | 九九九九热精品免费视频点播观看 | 日日日视频 | 一级黄网 | 九九热免费在线视频 | 久久久久亚洲精品男人的天堂 | 国产精品高潮久久av | 国产九九热 | 久久久久久片 | 免费黄色在线 | 97成人免费| 四虎影视成人精品国库在线观看 | 欧美在线观看视频免费 | 天天五月天色 | 97成人精品视频在线播放 | 激情久久久久 | 91激情小视频 | 色婷婷国产精品一区在线观看 | av中文字幕在线观看网站 | 爱射综合 | 五月婷在线播放 | 精品久久久久久亚洲综合网 | 超碰av在线免费观看 | 成人av午夜| 国产一区网 | 天海翼一区二区三区免费 | 国产精品一区在线 | 日韩伦理片hd | 91精品啪啪 | 成人小视频免费在线观看 | 久久99久久99精品免视看婷婷 | 丝袜美腿在线视频 | 81精品国产乱码久久久久久 | 中国一级特黄毛片大片久久 | 色在线视频网 | 亚洲一区二区天堂 | 蜜臀av在线一区二区三区 | 69国产成人综合久久精品欧美 | a成人v在线 | 中文字幕一区二区三区视频 | 国产精品a久久 | 91精品麻豆 | 99久久国产免费,99久久国产免费大片 | 久久专区| 久久九九国产视频 | 最新av在线网站 | 欧美性色黄 | 九九热免费视频在线观看 | 日韩 在线 | 成人av av在线| 免费a视频在线观看 | 96av视频| 日操干| 日韩欧美电影在线观看 | 日韩欧美在线中文字幕 | 免费日韩一区二区三区 | 中字幕视频在线永久在线观看免费 | av不卡免费看 | 99综合电影在线视频 | 日韩电影中文字幕在线观看 | 午夜电影中文字幕 | 最近乱久中文字幕 | 亚洲天堂网视频在线观看 | 黄色大片免费播放 | 天天操综合网 | 欧美视频在线二区 | 亚洲激情电影在线 | 久久官网| 伊人久久国产精品 | 欧美大片大全 | 国产精品久久久久久久久久99 | 天天爽综合网 | 亚洲成人资源在线观看 | 国产日本高清 | 久久精品免费看 | 国产一级性生活 | 人人干在线 | 亚洲精选视频免费看 | 免费色黄 | 日韩欧美在线影院 | 国内视频在线 | 91精品国产一区 | 美女黄色网在线播放 | 日韩专区视频 | 亚洲乱码久久久 | 一区三区视频在线观看 | 久久99精品久久久久久秒播蜜臀 | 日韩免费一区二区 | 成年人黄色免费视频 | 久久涩视频 | 丁香一区二区 | 麻豆你懂的 | 日韩网站在线播放 | av丁香| 欧美激情第十页 | 免费一级片在线观看 | 99热最新精品 | 日韩av偷拍 | 久草在线在线精品观看 | 久草亚洲视频 | 日韩精品一区二区三区外面 | 天天躁日日躁狠狠 | 欧美性生交大片免网 | 天天操夜夜想 | 91手机视频在线 | 亚洲区另类春色综合小说 | 黄网站app在线观看免费视频 | 国产美女久久久 | 中文国产成人精品久久一 | 日韩免费二区 | 国产精品毛片一区视频播 | 国产精品国产精品 | 天天干 天天摸 天天操 | 国产不卡免费av | 免费看片在线观看 | 婷婷久久久 | 久一在线 | 日韩视频在线不卡 | 伊人导航| 日韩午夜精品 | 久久精品中文字幕免费mv | 精品久久91| 国产a网站| 91麻豆免费版 | 久久精品中文字幕免费mv | 国产高清不卡在线 | 国产一区二区免费在线观看 | 日韩电影精品一区 | 超碰最新网址 | 91视频这里只有精品 | 在线观看免费视频 | 久久精品亚洲一区二区三区观看模式 | 日韩免费视频一区二区 | 欧美精品久久久久久 | 亚洲蜜桃av| 超碰在线97观看 | 日日操夜| 久久久久久网 | 97超碰色 | 91成人短视频在线观看 | 18做爰免费视频网站 | 色播99| 久久午夜电影网 | 在线看国产| 亚洲高清在线精品 | 午夜久操| 性色在线视频 | 亚洲精品乱码久久久一二三 | 日韩r级电影在线观看 | 全久久久久久久久久久电影 | av爱干| 五月婷婷丁香色 | 免费在线观看黄 | 久久香蕉电影 | 国产高清成人在线 | 久久精品欧美日韩精品 | 欧美精品乱码久久久久 | www.日日日.com | 中文一二区 | 手机av在线不卡 | 九九涩涩av台湾日本热热 | 亚洲精品视频观看 | 九九热免费精品视频 | 日本69hd | 精品一区二区6 | 在线观看国产一区二区 | 天天激情天天干 | 国产精品岛国久久久久久久久红粉 | 亚洲区另类春色综合小说 | 久久久精品国产免费观看一区二区 | av线上看 | 成人一级在线 | 国产精品久久久av | 亚洲国产成人在线播放 | 国产精品18videosex性欧美 | 婷婷在线色| 字幕网资源站中文字幕 | 成人免费xyz网站 | 国产精品国产三级国产 | 99久久精品免费看国产 | 国产一区网址 | 在线看免费 | 国内丰满少妇猛烈精品播 | 麻豆mv在线观看 | 国产一区二区三区高清播放 | 国产一区在线视频播放 | 国产精品久久久久久久久久久久午 | 亚洲最大成人网4388xx | 国产中年夫妇高潮精品视频 | 毛片888 | 视频在线观看亚洲 | 国产午夜在线观看视频 | 国产成人精品国内自产拍免费看 | 精品专区| 日本久久精 | av片一区二区 | av久久在线 | 亚洲视频456 | 国产小视频你懂的在线 | 欧美日韩有码 | 亚洲 欧美 另类人妖 | 99riav1国产精品视频 | 久久综合加勒比 | 在线观看av小说 | 久久久久免费视频 | 99热精品国产一区二区在线观看 | 在线免费视频你懂的 | 99热在线精品观看 | 国产成人免费观看 | 国产精品欧美日韩 | 国产精品一区免费在线观看 | 亚洲三级在线免费观看 | 国产精品久久久久久久久久东京 | 久久国产精品电影 | 成人网在线免费视频 | 一区三区在线欧 | 午夜精品影院 | 亚洲高清视频一区二区三区 | 久久综合免费视频影院 | 狠狠色综合欧美激情 | 操综合 | 国产精品欧美精品 | 国产一级黄色电影 | 四虎影视欧美 | www.久久爱.cn | 欧美日韩一级在线 | 国产精品久久久亚洲 | www久久99 | 日韩高清精品免费观看 | 久久精品人 | 国产日韩精品一区二区 | 亚洲免费国产 | 在线成人免费电影 | 欧美一级片在线免费观看 | 国产视频一区二区三区在线 | 午夜精品久久久久久久99 | 91三级在线观看 | 一区三区视频在线观看 | 伊人宗合网 | 美女一级毛片视频 | 97精品视频在线 | 色美女在线 | 天天操夜夜爱 | 久久成人在线视频 | 国产美女网站在线观看 | 国产三级视频在线 | 蜜臀av性久久久久蜜臀av | 91视频 - 114av | 99 色| 天天干天天干天天操 | 久99久在线 | 不卡的av在线 | 久久香蕉国产精品麻豆粉嫩av | 免费视频一区二区 | 五月天狠狠操 | 欧美aa一级 | 在线激情电影 | 久久在草 | 日韩精品一区二区久久 | 手机在线永久免费观看av片 | 国产一区二区免费看 | 欧美激情综合五月 | 亚洲免费公开视频 | 在线观看不卡视频 | 韩国在线一区二区 | 免费视频一二三 | 久久国产免费 | 免费av观看 | 国产精品久久精品国产 | 播五月综合 | 一区二区三区视频网站 | 欧美日韩一二三四区 | 99中文字幕视频 | 在线韩国电影免费观影完整版 | 日韩簧片在线观看 | 99九九热只有国产精品 | 97超碰资源站 | 日韩在线观看电影 | 国产一二区视频 | 欧美日韩中文字幕综合视频 | 99热这里是精品 | 人人爽影院 | 免费的国产精品 | 在线欧美小视频 | 91在线九色| 超碰在线cao | 日韩精品视频一二三 | av丝袜美腿 | 99久久er热在这里只有精品66 | 日本久久高清视频 | 亚洲一区二区黄色 | 中文av不卡 | 日韩免费二区 | 亚洲影院色 | 91久久国产综合精品女同国语 | 视频一区二区国产 | 亚洲韩国一区二区三区 | av免费电影网站 | 麻豆91小视频 | 久久成人黄色 | 综合精品久久 | av日韩中文| 婷婷午夜| 六月丁香激情综合 | 93久久精品日日躁夜夜躁欧美 | 午夜色婷婷 | 久久视频这里有精品 | 久久五月精品 | 国产在线欧美在线 | 亚洲免费一级电影 | 亚洲高清国产视频 | 99久久精品日本一区二区免费 | 久久国产精品久久久 | 欧美整片sss | 少妇性色午夜淫片aaaze | 日日日日干 | 国产精品毛片一区二区 | 500部大龄熟乱视频 欧美日本三级 | 亚洲日韩中文字幕 | 欧美伦理电影一区二区 | 91福利国产在线观看 | free. 性欧美.com | 久久免费视频网 | 成人中文字幕av | 国产精品国产三级国产aⅴ入口 | 国产毛片久久 | 久久久久久久网站 | 在线看小早川怜子av | 国产九色91 | 成年人免费电影在线观看 | 91最新在线视频 | 一区三区视频 | 中文字幕丝袜 | 亚洲国产精品500在线观看 | 91精品久久久久久久久久久久久 | 五月天综合激情网 | 欧美中文字幕久久 | 国产区精品在线观看 | 国产a级片免费观看 | 中文字幕区 | 欧美激情精品久久久久久免费 | 欧美精品一区二区三区一线天视频 | 日本黄色特级片 | 亚洲综合在线播放 | 欧美 日韩 性 | 国产精品男女啪啪 | 亚洲精品乱码久久 | 91完整视频 | 免费看黄在线 | 日韩精品短视频 | 青青河边草观看完整版高清 | 久久精品99久久久久久 | 一区二区三区精品在线视频 | 久久欧美在线电影 | 97香蕉视频 | 午夜精品一区二区三区免费 | 精品91在线 | 亚洲综合情| www.狠狠插.com | 色综合久久网 | 欧美国产在线看 | 97人人网| 狠色在线 | 免费在线观看a v | 国产在线观看h | 天堂av观看 | 亚洲欧洲日韩 | 午夜精品电影 | 在线视频成人 | 在线观看日韩精品 | 国产小视频你懂的在线 | 欧美精品首页 | 久草在线视频网 | 日韩二区三区 | 欧美性爽爽 | 日韩色高清 | 蜜臀一区二区三区精品免费视频 |