




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
將得到并整理好的數據以ALV的形式顯示出 為ALV程序添加表頭標題(這里以添加HTML表頭標題為主 函數“REUSE_ALV_GRID_DISPLAY_LVC”中輸入參數的應 排 在顯示ALV的子FORM里定義排序用到的變 在顯示ALV的函數的輸入參數里添加排序的屬 先在顯示ALV的子FORM里定義隱藏按鈕用到的變 自定義“ 在顯示ALV的函數的輸入參數里指定自定義按鈕的子 熱點、用戶動作的捕捉、調用其他程序或標準事務程 在顯示ALV的函數的輸入參數里指定捕捉用戶動作的子 操作代 顯示具體細 調用其他事 關于設置字段和列名的子FORM(F_FIELDS)的參數設置 單列優(yōu)化寬 對其方 作為圖標輸 固定列和關鍵 列的字符寬 單元格的F1、F4幫助 F1幫助 F4幫助 輸入并保存、回調修改內表(輸入時的小數位錯位的問題、指定數據類型小說位數 界面顏色的更 利用設置字段和列名子的FORM(F_FIELDS)里來設置列的顏 ALV自帶的最左端復選框按鈕和自定義復選框按 按照上傳的模板格式導出為本地文 定義導出為EXCEL用到的數據變 上傳模 代 為ALV標題添加 ALV:SAPLISTVIEWALV用到的函數,目前有2個:REUSE_ALV_GRID_DISPLAY、REUSE_ALV_GRID_DISPLAY_LVC;兩個函數都可以將數據用ALV方有些不同。i."DATA:wa_fieldcatTYPEslis_fieldcat_alv " TYPEslis_t_fieldcat_alv "存放列名的列表 TYPEslis_layout_alv "負責整個DATA:DATA:wa_fieldcatTYPElvc_s_fcat," TYPElvc_t_fcat," TYPElvc_s_layo."負責整個ALV的全局屬性將得到并整理好的數據以ALV的形式顯 v_pos v_pos=v_pos+1wa_fieldcat-col_poswa_fieldcat-fieldname=v_pos='PSPID'""需要輸出的內表 wa_fieldcat- ='項目定義 "字段的描述-長字 wa_fieldcat ='項目定義 "字段描述-中字段簽 wa_fieldcat-scrtext_s ='項目定義'. "字段描述-短字段標列 APPENDwa_fieldcatTOi_fieldcat_lvc wa_fieldcatwa_fieldcat- ='X' "是否是固定ALV的全局屬性='X'"ALV=."選擇模式,“==='X''X'""." CALLFUNCTION " "" " " =sy- ======ALV(HTML表頭在顯示ALV==TYPEREF."定義登錄用戶的描述DATA:l_nameTYPEstring,LIKEadrp-name_last"定義登錄日期DATA:l_dateTYPEstring."定義緩沖區(qū)變量:istring"得到登錄用戶的描述SELECT"得到登錄用戶的描述SELECTusr21IFsy-subrc=usr21~bname=sy-unamel_name=sy-uname.l_name.adrp~persnumber=name_last.)4(2)4(2)6(2)sy-sy-"拼接制表日期l_datename_last"拼接制表日期l_datename_last"開始輸出表頭標題m_buffer'<HTML><CENTER><H1>ALVH1></CENTER></HTML>'.CALLcontents=position="輸出制表人和制表日期CONCATENATE'<PALIGN=CENTER>出表人:' '&&&&&&&&&&&& &&&INTOm_buffercontents== 到HTML頁面中顯示,至此顯示表頭數據完成;函數中輸入參數的應(ALV,ALVFORM", it_sort_lvcTYPElvc_t_sort"" =1 ='CITYFROM' " ='X'. APPENDwa_sort_lvcTOit_sort_lvc.CLEARwa_sort_lvc排序 =2 ='CITYTO' " ='X'. APPENDwa_sort_lvcTOit_sort_lvc.CLEARwa_sort_lvc排序==先在顯示ALV的子FORM里定義隱藏按鈕用到的變"定義隱藏標準按鈕的變量DATA:wa_excludingTYPEslis_t_extab it_excludingTYPEslis_extab“FCODE(1> "設置要隱藏的按鈕的"設置要隱藏的按鈕的 wa_excluding-fcode='&ABC'APPENDwa_excludingTOit_excluding2> 在顯示ALV的函數的輸入參數里添加隱藏按鈕的屬性參數 =1、ALV標題變量并賦值,然后在顯示ALV"DATA:i_grid_titleTYPElvc_title i_grid_title='小標題' =自定義“在顯示ALV的函數的輸入參數里指定自定義按鈕的FORM =FORMFORMf_set_statusUSINGp_extabTYPEslis_t_extabPF-.."雙其Z_AV_SATU入建的面輸名后入終界在面?zhèn)?,(必填ORM 2、沒有自定義按鈕時候,函數里的“i_callback_pf_status_set ='F_SET_STATUS'”這個參數可以不要,這時會顯示ALV標準的按鈕,當然這些按鈕可以部分隱藏(見三、2);3、當使用自定義按鈕后,ALV自帶的標準按鈕,就會失效,這時需要將一些用戶要求其中“分隔符”的方法為:在需要分隔符的方框內選擇菜單“Edit”→“Insert”→“Separatorline”即可分隔符;刷導出為EXCEL無ABC分總信明本地文打印預圖FORMmmTYPElis_selfield當然該子FORM頭的子FORM v_pos=v_pos1 =v_pos ='CITYFROM' ='起飛城市' ='X' ='X' "熱點,APPENDwa_fieldcatTOi_fieldcat.CLEARwa_fieldcat.這樣在顯式界面上“起飛城市”所代表的字段“CITFROM當鼠標移動到該列時,就會變成“等待”勢,當用戶單擊每一條時,就會觸動子FORM 對于熱點,所對應的動作碼為“&IC1”,在子FORM( WHEN"判斷用戶的動作WHEN"判斷用戶的動作"EQIFISEQISINITIAL"調用其ENDIF"打開文件WHEN'&SAVE_DATA'"'EXCEL'"導出數據"當用戶在顯式界面上對數據進行 .f_export"'PRINT'f_save_dataxlis_selfieldTYPEmm...=wa_tab..1> 2> 調用一個指定大小的屏幕來顯示具體的內容,代碼如下CALLCALLSCREEN0100STARTINGAT1212ENDINGAT137243>、雙擊該屏幕號碼“0100”創(chuàng)建該屏幕,在“屬性”卡輸入該屏幕的描述,在“邏輯流”卡里將系統(tǒng)默認注釋掉的PBO、PAI并產生這兩個模塊(雙擊并確定4>、在“屏幕制作器”界面點擊進入“屏幕制作器”的圖形界面,開始繪制我5> 6> 屏幕的PBO、PAI事件的代碼如下PROCESSPROCESSBEFOREMODULELOOPATi_detailINTOWITHCONTROLvs_detailCURSORi_detail-current_line*PROCESSAFTERLOOPATi_detail. 7> **表控制CONTROLSvs_detailTYPETABLEVIEWUSINGSCREEN0100"利用同名傳遞原理,來接受細節(jié)屏幕上的元素“ok_code”DATADATA:ok_code mMODULEstatus_0100OUTPUT.SETPF-STATUSMODULEstatus_0100OUTPUT.SETPF-STATUS'0100'DESCRIBETABLEi_detailLINESvs_detail-current_line " mand_0100CASE mand_0100CASEWHEN'BACK'SETSCREEN0 ""FORMFORMf_call_tranUSINGp_rs_selfieldTYPE SETPARAMETERID'LIB'FIELDp_rs_selfield-value."ANDSKIPSCREEN."“LIB”是指參數ID,查找方法:用一個事務碼進入事務界面,在輸入框內按F1 ,新界面中的就是參數“SE37”是指要調用的事務代碼,“ANDSKIPSCREEN”表示跳過第一屏屏幕1>現在內表中定義好存放文件路徑的字段(這里是FILE_PATH),當用戶點擊界面上設置好的打開文件圖標時,就會觸發(fā)子FORM MAND)里的打開文件的子2>FORM(F_OPEN_FOLDER)的代碼如下FORMf_open_folderUSINGp_rs_selfieldTYPEslis_selfieldDATA:l_file_pathLIKErlgrap-filenameCALLFUNCTION'WS_FILENAME_GET' = = =l_file_path = = selection_cancel= = =IFsy-subrc= wa_tab-file_path=l_file_path."將得到的文件的路徑賦給當前MODIFYi_tabINDEXwa_tab-numerFROMwa_tabfile_pathCLEARl_file_pathELSEMESSAGEs000WITH'沒有選擇文件'."(F_FIELDS)的參數設置當在子FORM(F_BUILD_LAYOUT)里沒有指明全局優(yōu)化列寬的時候,在需要指定優(yōu)化的字段的屬性里指定下 'X' ='X' "求 ='X' "取消求 ='X' ='L'. "左對齊 ='C'. "居中對齊 ='R'. "右對齊1>首先在開始包含進一個包括,如下""INCLUDE<list>"圖標"圖標 wa_banfn-icon_folder=icon_object_folder3>接著在子FORM(F_FIELDS)里給需要圖標顯示的列添加下列屬性 v_pos=v_pos1 =v_pos = 'ICON' ='ICON' ='X' " ='X'APPENDwa_fieldcatTOi_fieldcat.CLEARwa_fieldcat. ='X' "固定列 ='X' "關鍵列 =10 "輸出寬 ='提示'單元格的F1、F4幫助F11>、在子FORM(F_FIELDS) ='PS_PSPID' "指定數據元F41>、在子FORM(F_FIELDS) ='PSPID' ='PROJ'這樣在ALV以按F41、首先在顯示ALVFORM(F_DISPLAY)里定義“回調”的變量,如下"回調變量:lvc_s_glay .2、在顯示ALV(REUSE_ALV_GRID_DISPLAY_LVC)里添加輸 =3、對于貨幣字段,要在其設置字段和列名的屬性中再添加一個“指定數據類型”的屬性,如下 ."指定數據4、對于數量字段,也要添加一個“指定數據類型”的屬性,才能保持數據的正確性,如下='QUAN' " ='C'5、將界面數據保存到數據庫表中,觸發(fā)事件見子FORMF_SAVE_DATA,FORMFORMf_save_dateDATA:i_spfliLIKETABLEOFspfliWITHHEADERLINEDATA:l_errorTYPEREFTOcx_sy_open_sql_db l_error2TYPEREFTOcx_sy_arithmetic_overflow l_error_textTYPEstringLOOPATi_tabINTOwa_tab i_spfli-carrid='ZZ' i_spfli-connid=sy-tabix i_spfli-cityfrom=wa_tab-cityfrom i_spfli-airpfrom=wa_tab-airpfrom i_spfli-cityto=wa_tab-cityto i_spfli-airpto=wa_tab-airpto =wa_tab-distanceAPPENDi_spfli.CLEARi_spfli."保存到數據庫TRYDELETEspfliFROMTABLE.INSERTspfliFROMTABLE.CATCHcx_sy_open_sql_dbINTO.l_error_text=l_error-).sy-subrc=1ENDTRYIFsy-subrcNE0ROLLBACKWORKMESSAGEe000WITHl_error_textCLEARl_error_textELSEMESSAGEs000WITH'數據保存成功!'i_spflii_spfli."界面顏色的更1>、在定義內表的時候定義一單元格顏色的字段,如下2>、在子FORM(F_BUILD_LAYOUT)里,要指表單元格顏色的字段的名稱,如下 ."單元格顏色3>、在子FORM(F_CELL_COLOR)里給代表單元格顏色的字段賦值,如下"單元格顏色"單元格顏色DATA:l_cellcolorLOOPf_cell_color.wa_tab-pricewa_tabslis_specialcol_alvl_cellcolor-fieldnamel_cellcolor-fieldnamecolor-col. 'PRICE'.'PRICE'."6"顏色(1-color-inv= "前景字體APPENDl_cellcolorTOwa_tab-cell_colorEARl_cellcolorMODIFYi_tabINDEXwa_tab-numerFROMwa_tabTRANSPORTINGll_colorCLEARwa_tab "、在子FORM(F_BUILD_LAYOUT)里,要 line_color(、在子FORM(F_BUILD_LAYOUT)里,要 line_color(4)TYPE = ."行列3>、在子FORM(F_LINE_COLOR)FORMFORMf_line_colorDATA:l_iTYPEiLOOPATi_tabINTOwa_tab l_i=sy-tabixMOD2IFl_i=0 wa_tab-line_color='C311'MODIFYi_tabINDEXwa_tab-numerFROMwa_tabTRANSPORTINGline_color.CLEARwa_tab " 'C711'注意3ALV自帶的最左端復選框按鈕和自定義在定義內表時,需要指表復選框的字段,這里如:BOX_NAME,然后在定義ALV全局屬性的子FORM(F_BUILD_LAYOUT)里指表復選框的字段,如下: =box_fname =v_pos ='CHECKBOX' ='復選框' ='X' ='X' ='C' ='X'.APPENDwa_fieldcatTOi_fieldcat.CLEARwa_fieldcat.該功能必須在在顯示ALV的子FORM(F_DISPLAY)里添加“回調”的輸入參數,這樣當用DATADATA:l_grid_settingsTYPE l_grid_settings-edt_cll_cb= =按照上傳的模板格式導出為本地文EXCELTYPETYPE-POOLSole2DATA:v_excelTYPE v_sheetTYPE TYPE TYPE TYPE v_sheet_numberTYPEi2>、在“包”后面輸入一個包名后點擊或者按F8進入上傳模板的主界面,如下圖3>、在上圖中點擊或者按F5新建一個模板,彈出下圖 或者按“Shift+F6”找到自己存放模板的路徑雙擊上傳即可完成模板的上傳(名稱為Z_ALV.XLS);****f_exportDATA:l_nameLIKEl_mineLIKEw3mimeOCCURS****f_exportDATA:l_nameLIKEl_mineLIKEw3mimeOCCURSl_filenameTYPEstring,l_pathTYPEstring,l_fullpathTYPEl_name-relid=l_name-objid='Z_ALV.XLS'.l_name-text=sy-title._'sy-uname'_'sy-datum'_'sy-uzeitINTOl_title*CALLFUNCTION'WWWDATA_IMPORT' =CONCATENATE =wrong_object_typewrong_object_type===CALLCALL==IFsy-subrc<>===== ====IFl_filenameIFl_filename=MESSAGE.WITH.CALLCALLFUNCTION'GUI_DOWNLOAD'filename=l_fullpathfiletype='BIN'data_tabdata_tab=*excel
*excelCALLMETHOD
==== ==
OFv_sheetOF
*關閉EXCELPERFORMf_save_excelUSING " FORM CREATEOBJECTv_excel==CALLMETHOD ===CALLMETHODOF===
CALLMETHODOF
11.=#*
"***
typ_name(40)TYPEctyp_name TYPEc,OFtyp_name.DATA:
TABLE
.DATA:l_name(40)TYPEc.
FIELDS
usr21~bname=usr21~bname=sy-unamel_namei_namei_name-name_lasti_name-LOOPi_namei_name-name_lasti_name-
::
TYPETYPEi4.TYPEi4.
USING11'Z_ALV
'年'sy- '
-GAPS-GAPSl_name USING2l_name-GAPS-GAPS
USING
wa_tabLOOP wa_tab
wa_tab-numer ..
"l_num=l_num/r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)導師制師帶徒培養(yǎng)合同
- 2025年度人合作合伙合同:清潔能源項目投資合作框架
- 2025年度醫(yī)療護理勞務合同患者安全與權益保障合同
- 2025年度倉儲物流轉租服務合同
- 2025年度店面轉讓定金支付及品牌戰(zhàn)略合作協(xié)議
- 2025年度倉儲設施使用權及倉儲倉儲服務協(xié)議
- 2025年杭州醫(yī)學院單招職業(yè)適應性測試題庫完整版
- 2025年度個人短期租房合同月付與租戶退租流程管理協(xié)議
- 2025年度合伙投資開中式餐廳合作協(xié)議
- 2025年度互聯網企業(yè)產品經理崗位聘用合同
- 創(chuàng)新教案:《歌唱二小放牛郎》在2025年音樂教學中的應用
- 2024年西安電力高等??茖W校高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年湖南鐵路科技職業(yè)技術學院高職單招語文歷年參考題庫含答案解析
- 祖沖之的平生與貢獻
- 2025年版護理法律法規(guī)
- DB3305T 261-2023 湖州湖羊種羊等級評定
- 房屋市政工程生產安全重大事故隱患排查表(2024版)
- 2024年牡丹江大學單招職業(yè)適應性測試題庫帶答案
- 統(tǒng)編版(2024新版)七年級下冊道德與法治期末復習背誦知識點提綱
- 健康體檢報告解讀頁課件
- (高清版)DB43∕T 1147-2015 太陽能果蔬烘干機
評論
0/150
提交評論