資源描述:
《SAP_ALV_詳細(xì)使用方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、ALV學(xué)習(xí)資料SAP提供一組ALV(ABAPLISTVIEWER)功能模塊,這些功能模塊可以修飾報表輸出。這些設(shè)置的ALV功能可以提高報表的可讀性。首先呢,我先跟大家說一下ALV是什么東西?ALV=SAPLISTVIEWER,SAP列表顯示器。就目前ALV技術(shù)主要分ALVGRID和ALVTREE。先跟大家說一下目前本人用的比較多的ALVGRID技術(shù),ALVGRID的效果見圖(1.1)。圖(1.1)第一步在使用ALV時,需要定義一個SAP標(biāo)準(zhǔn)TYPE-POOLS,具體語法為:TYPE-POOLS:SLIS.然后需要定義一個LAYOUT
2、式樣,和一個FIELDCAT字段格式,具體語法為:DATA:LIT_FCATTYPESLIS_T_FIELDCAT_ALV,LT_LAYOTYPESLIS_LAYOUT_ALV,GIT_EVENTSTYPESLIS_T_EVENT,GIT_LISTHEADERTYPESLIS_T_LISTHEADER.,LIT_EXTABTYPESLIS_T_EXTAB.第二步(可選)可以為需要為最初的目錄顯示選擇參數(shù)。在這里需要使用函數(shù)‘'REUSE_ALV_VARIANT_DEFAULT_GET’Samplecode:CALLFUNCTION'
3、REUSE_ALV_VARIANT_DEFAULT_GET'EXPORTINGi_save=variantsavecondition(A=all,U=user-specific)CHANGINGcs_variant=internaltablecontainingtheprogramname(andthedefaultvariant---optional)EXCEPTIONSnot_found=2.使用者也可以使用現(xiàn)有的變量中選擇,使用函數(shù)‘REUSE_ALV_VARIANT_F4’。第三步調(diào)用函數(shù)‘REUSE_ALV_EVENTS_
4、GET’達到分屏顯示的效果Samplecode:CALLFUNCTION'REUSE_ALV_EVENTS_GET'EXPORTINGI_LIST_TYPE=0IMPORTINGET_EVENTS=GIT_EVENTSEXCEPTIONSLIST_TYPE_WRONG=1OTHERS=2.具體效果見圖(3.1)圖3.1也可以為GIT_EVENTS添加許多參數(shù)也可以插入圖片,需要使用函數(shù)‘REUSE_ALV_COMMENTARY_WRITE’Samplecode:CALLFUNCTION'REUSE_ALV_COMMENTARY_WR
5、ITE'EXPORTINGIT_LIST_COMMENTARY=GIT_LISTHEADER?文本抬頭I_LOGO='ENJOYSAP_LOGO'.?圖片L_LISTHEADER-TYP='H'.L_LISTHEADER-INFO='TESTALV'.?文本抬頭內(nèi)容APPENDL_LISTHEADERTOGIT_LISTHEADER.具體效果見圖(3.2)圖(3.2)第四步調(diào)用函數(shù)‘REUSE_ALV_FIELDCATALOG_MERGE’獲得標(biāo)準(zhǔn)字段Samplecode:CALLFUNCTION'REUSE_ALV_FIELDCA
6、TALOG_MERGE'EXPORTINGI_PROGRAM_NAME=SY-REPIDI_STRUCTURE_NAME='MSEG'?表名CHANGINGCT_FIELDCAT=LIT_FCAT[]?字段格式EXCEPTIONSINCONSISTENT_INTERFACE=1PROGRAM_ERROR=2OTHERS=3CLEARPS_FCAT.PS_FCAT-FIELDNAME='MATNR'.?表中字段名PS_FCAT-REF_TABNAME='MSEG'.?表名PS_FCAT-KEY='X'?水平移動時固定該列PS_FCAT
7、-COL_POS='1'.?列的位數(shù)APPENDPS_FCATTOLIT_FCAT.具體效果見圖(4.1)圖(4.1)在這里我們也可以使用自定義字段Samplecode:PS_FCAT-FIELDNAME='TEXT'."?字段名,一定要大寫PS_FCAT-INTTYPE='P'.?字段類型PS_FCAT-OUTPUTLEN=20.?輸出長度PS_FCAT-COL_POS='7'.?列的位數(shù)PS_FCAT-SELTEXT_L='ADDBYJacky_L'.?列的抬頭文本PS_FCAT-SELTEXT_M='ADDBYJacky_M'
8、.?列的抬頭文本PS_FCAT-SELTEXT_S='ADDBYJacky_S'.?列的抬頭文本PS_FCAT-DDICTXT='M'.?選擇‘M’抬頭PS_FCAT-EDIT='X'.?該列可編輯APPENDPS_FCATTOLIT