ABAP動(dòng)態(tài)內(nèi)表的使用_第1頁(yè)
ABAP動(dòng)態(tài)內(nèi)表的使用_第2頁(yè)
ABAP動(dòng)態(tài)內(nèi)表的使用_第3頁(yè)
ABAP動(dòng)態(tài)內(nèi)表的使用_第4頁(yè)
ABAP動(dòng)態(tài)內(nèi)表的使用_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論