版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ABAP動(dòng)態(tài)內(nèi)表的使用ABAP動(dòng)態(tài)內(nèi)表的使用/NUMPAGES8ABAP動(dòng)態(tài)內(nèi)表的使用ABAP動(dòng)態(tài)內(nèi)表的使用動(dòng)態(tài)內(nèi)表的創(chuàng)建和使用主要有以下幾點(diǎn):1.動(dòng)態(tài)內(nèi)表的創(chuàng)建,首先要定義動(dòng)態(tài)結(jié)構(gòu),然后再根據(jù)定義的動(dòng)態(tài)結(jié)構(gòu)利用系統(tǒng)一個(gè)標(biāo)準(zhǔn)的method:”cl_alv_table_create=>create_dynamic_table“生成動(dòng)態(tài)內(nèi)表。2.動(dòng)態(tài)內(nèi)表的賦值,遍歷動(dòng)態(tài)結(jié)構(gòu),獲取指定的字段,然后給指定的字段賦值。3.動(dòng)態(tài)內(nèi)表的讀取顯示,與賦值相似,遍歷動(dòng)態(tài)結(jié)構(gòu),獲取指定的字段,然后讀取對(duì)應(yīng)字段的值。下面是具體的代碼實(shí)例:①定義所需的系統(tǒng)變量。FIELD-SYMBOLS:<dyn_table>TYPESTANDARDTABLE,"動(dòng)態(tài)內(nèi)表
<dyn_wa>TYPEANY,"動(dòng)態(tài)內(nèi)表的工作區(qū)
<dyn_field>TYPEANY."指向動(dòng)態(tài)內(nèi)表工作區(qū)某一字段的指針
DATA:dy_tableTYPEREFTOdata,
dy_lineTYPEREFTOdata,
it_structureTYPElvc_t_fcat,”存儲(chǔ)動(dòng)態(tài)內(nèi)表列的內(nèi)表,其中的每一行代表動(dòng)態(tài)內(nèi)表的一列。
wa_structureTYPElvc_s_fcat.“l(fā)vc_t_fact的工作區(qū)。②通過lvc_t_fact構(gòu)建動(dòng)態(tài)內(nèi)表的列:FORMsetstructrueUSINGvalue(p_fname)TYPEchar6
value(p_col)TYPEint4
value(p_tab)TYPEchar10
value(p_fld)TYPEchar6.
wa_structure-fieldname=p_fname."列名
wa_structure-col_pos=p_col.“列的順序
wa_structure-ref_table=p_tab.”參照表
wa_structure-ref_field=p_fld.“參照字段
APPENDwa_structureTOit_structure.
ENDFORM."setstructrue③通過lvc_t_fact構(gòu)建創(chuàng)建動(dòng)態(tài)內(nèi)表給dy_table:FORMcreate_dynamic_table.
CALLMETHODcl_alv_table_create=>create_dynamic_table"類靜態(tài)方法
EXPORTING
it_fieldcatalog=it_structure
IMPORTING
ep_table=dy_table.
ASSIGNdy_table->*TO<dyn_table>.
ENDFORM."CREATE_DYNAMIC_TABLE④給動(dòng)態(tài)內(nèi)表賦值:FORMsetdata.
DATA:wa_new_lineTYPEREFTOdata.
DATAlv_tolTYPEwertv12.
CREATEDATAwa_new_lineLIKELINEOF<dyn_table>.
ASSIGNwa_new_line->*TO<dyn_wa>.”讓<dyn_wa>代表指向動(dòng)態(tài)內(nèi)表的工作區(qū)
LOOPATgt_coep2.
CLEAR<dyn_wa>.
READTABLEit_structureINTOwa_structureINDEX4.“獲取it_structure的第四行,即動(dòng)態(tài)內(nèi)表的第四列
ASSIGNCOMPONENTwa_structure-fieldnameOFSTRUCTURE<dyn_wa>TO<dyn_field>.”當(dāng)<dyn_field>指向工作區(qū)中的第四個(gè)字段
PERFORMremovezeroUSINGgt_coep2-kstar.
<dyn_field>=gt_coep2-kstar.“通過給field-symbol賦值來(lái)達(dá)到給工作區(qū)中第四個(gè)字段賦值的作用。
PERFORMaddzeroUSINGgt_coep2-kstar.
READTABLEit_structureINTOwa_structureINDEX5.
ASSIGNCOMPONENTwa_structure-fieldnameOFSTRUCTURE<dyn_wa>TO<dyn_field>.
<dyn_field>=gt_coep2-txt50.
READTABLEit_structureINTOwa_structureINDEX6.
ASSIGNCOMPONENTwa_structure-fieldnameOFSTRUCTURE<dyn_wa>TO<dyn_field>.
PERFORMgetksttolUSINGgt_coep2-kstar
lv_tol.
<dyn_field>=lv_tol.
LOOPATgt_coep1WHEREkstar=gt_coep2-kstar.
ASSIGNCOMPONENTgt_coep1-objnr6OFSTRUCTURE<dyn_wa>TO<dyn_field>.
<dyn_field>=gt_coep1-wkgbtr.
ENDLOOP.
APPEND<dyn_wa>TO<dyn_table>.”將工作區(qū)中的數(shù)據(jù)append到動(dòng)態(tài)內(nèi)表中去
ENDLOOP.
ENDFORM.⑤動(dòng)態(tài)內(nèi)表ALV展示時(shí)構(gòu)建fieldcatalog,通過循環(huán)it_structure來(lái)實(shí)現(xiàn)。FORMbuild_fieldcat1.
DATA:lv_nameTYPEstring,
lv_fnameTYPEprctr,
lv_sum,
lv_key.
CLEARgt_fieldcat[].
LOOPATit_structureINTOwa_structure.
IFwa_structure-fieldname<>'MARK'.
CLEARlv_name.
PERFORMfill_fieldcat1USINGwa_structure-fieldname
wa_structure-col_pos
lv_name
lv_key
lv_sum.
ENDIF.
ENDLOOP.
ENDFORM."build_fieldcat1FORMfill_fieldcat1USINGvalue(p_fname)
value(p_col)
value(p_txt)
value(p_key)
value(p_sum).
gs_fieldcat-tabname='<dyn_table>'.
gs_fieldcat-seltext_m=p_txt.
gs_fieldcat-fieldname=p_fname.
gs_fieldcat-col_pos=p_col.
gs_fieldcat-key=p_key.
gs_fieldcat-do_sum=p_sum.
APPENDgs_fieldcatTOgt_fieldcat.
ENDFORM."fill_fieldcat1⑤ALV展示動(dòng)態(tài)內(nèi)表FORMexcute_alv_function1.
CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program=sy-repid
i_callback_pf_status_set='SET_STATUS'
i_structure_name='<dyn_wa>'
is_layout=gs_layout_alv
it_fieldcat=gt_fieldcat[]
it_sort=gt_sort[]
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第一章教育概述
- 《深圳市地方稅務(wù)局》課件
- 2017年甘肅隴南事業(yè)單位招聘考試真題及答案解析
- 2021-2022學(xué)年四川省遂寧市國(guó)家公務(wù)員公共基礎(chǔ)知識(shí)模擬考試(含答案)
- 2024年漯河市郾城區(qū)人民醫(yī)院漯河市骨科醫(yī)院漯河市第五人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年湛江市第二中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年深圳市職業(yè)病防治院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年??谑虚L(zhǎng)流中心衛(wèi)生院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年河西區(qū)尖山醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 全國(guó)山西經(jīng)濟(jì)版小學(xué)信息技術(shù)第三冊(cè)第二單元活動(dòng)1《你猜我愛哪顆“星”》說課稿001
- 井下機(jī)電安裝安全教育培訓(xùn)試題及答案
- TZJXDC 002-2022 電動(dòng)摩托車和電動(dòng)輕便摩托車用閥控式鉛酸蓄電池
- GB/T 4744-2013紡織品防水性能的檢測(cè)和評(píng)價(jià)靜水壓法
- GB/T 337.1-2002工業(yè)硝酸濃硝酸
- 《解放戰(zhàn)爭(zhēng)》(共48張PPT)
- 放射工作人員法律法規(guī)及防護(hù)知識(shí)培訓(xùn)考核試題附答案
- 勞動(dòng)仲裁追加申請(qǐng)申請(qǐng)書(標(biāo)準(zhǔn)版)
- 西方法律思想史 課件
- 各種綠色蔬菜收貨驗(yàn)收作業(yè)標(biāo)準(zhǔn)和蔬菜品質(zhì)標(biāo)準(zhǔn)課件
- 內(nèi)蒙古烏蘭察布市市藥品零售藥店企業(yè)藥房名單目錄
- 叉車年度檢表
評(píng)論
0/150
提交評(píng)論