




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1SAP動態內表與動態SQL技術動態內表的創建2當程序運行時才能確定內表的結構,我們就需要用到動態內表。動態內表的創建一般有兩種方法:1. 使用類CL_ALV_TABLE_CREATE的方法CREATE_DYNAMIC_TABLE;2. 使用RTTI(Run Time Type Services):CL_ABAP_TABLEDESCRCL_ALV_TABLE_CREATE3使用CL_ALV_TABLE_CREATE創建動態內表:1. 定義動態內表的數據類型type-pools: slis. field-symbols: type standard table, ” 內表指針 , ” 工作區 .
2、 ” 字段data: dy_table type ref to data, dy_line type ref to data, ” 行 wa_fcat type lvc_s_fcat, ” 列結構 it_fcat type lvc_t_fcat. CL_ALV_TABLE_CREATE42. 定義列結構動態內表表結構的定義必須使用表結構與tabletype:lvc_t_fcat一樣的內表.clear wa_fcat. wa_fcat-fieldname = MATNR. wa_fcat-datatype =CHAR. wa_fcat-intlen = 18. append wa_fcat to
3、 it_fcat. clear wa_fcat. wa_fcat-fieldname = MAKTX. wa_fcat-datatype = CHAR. wa_fcat-intlen = 40. append wa_fcat to it_fcat. CL_ALV_TABLE_CREATE53. 創建內表call method cl_alv_table_create=create_dynamic_table exporting it_fieldcatalog = it_fcat importing ep_table = dy_table. assign dy_table-* to . creat
4、e data dy_line like line of . assign dy_line-* to .動態內表的操作6獲取內表的行指針;獲取指定的字段;讀/寫指定字段的值;read table assigning index 1.if sy-subrc = 0. assign component MATNR of structure to . if sy-subrc = 0. write:/ . endif.endif.RTTI7定義數據類型DATA: CL_STRUTYPE REF TO CL_ABAP_STRUCTDESCR, CL_TABL TYPE REF TO CL_ABAP_TAB
5、LEDESCR, CL_HANDLE TYPE REF TO DATA, WA_COMPONENTS TYPE ABAP_COMPONENTDESCR, IT_COMPONENTS TYPE ABAP_COMPONENT_TAB.DATA: IT_CELLSTABTYPE LVC_T_STYL, WA_CELLSTABTYPE LVC_S_STYL.FIELD-SYMBOLS: TYPE STANDARD TABLE , TYPE ANY, TYPE LVC_T_STYL.使用cl_alv_table_create=create_dynamic_table動態創建內表的時候,如果是Deep S
6、tructure的結構的內表,程序Dump。這時就需要使用RTTI來創建。RTTI82. 定義列結構CLEAR: COMPDESC.WA_COMPONENTS-TYPE ?= CL_ABAP_DATADESCR=DESCRIBE_BY_NAME( EKPO-MATNR ).WA_COMPONENTS-NAME = MATNR.APPEND WA_COMPONENTS TO IT_COMPONENTS.WA_COMPONENTS-TYPE ?= CL_ABAP_DATADESCR=DESCRIBE_BY_NAME( EKPO-MENGE ).WA_COMPONENTS-NAME = MENGE.
7、APPEND WA_COMPONENTS TO IT_COMPONENTS.WA_COMPONENTS-TYPE ?= CL_ABAP_TYPEDESCR=DESCRIBE_BY_DATA( CELLSTAB ).WA_COMPONENTS-NAME = CELLSTAB.APPEND WA_COMPONENTS TO IT_COMPONENTS.RTTI93. 創建內表CL_STRU = CL_ABAP_STRUCTDESCR=CREATE( COMPONENTS ).CL_TABL= CL_ABAP_TABLEDESCR=CREATE( CL_STRU ).CREATE DATA CL_H
8、ANDLE TYPE HANDLE CL_TABL.ASSIGN CL_HANDLE-* TO .4. 操作SELECT * FROM ekpo INTO CORRESPONDING FIELDS OF TABLE UP TO 10 ROWS.WA_CELLSTAB-FIELDNAME = MENGE.WA_CELLSTAB-STYLE = CL_GUI_ALV_GRID=MC_STYLE_ENABLED.INSERT WA_CELLSTAB INTO TABLE IT_CELLSTAB.LOOP AT ASSIGNING .ASSIGN COMPONENT CELLSTAB OF STRUCTURE TO . = IT_CELLSTAB.ENDLOOP.動態SQL10SELECT (column_s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飯店股份分配協議書
- 共建大數據學院協議書
- 金屬回收調價協議書
- 醉酒死亡補償協議書
- 銷戶車輛賣車協議書
- 解除制作合同協議書
- 尿痛護理措施
- 遣散員工補償協議書
- 酒店合作框架協議書
- 銀行終止扣款協議書
- 2025年合肥交通投資控股集團有限公司第一批次招聘38人筆試參考題庫附帶答案詳解
- 浙江開放大學2025年《社會保障學》形考任務4答案
- JJF1033-2023計量標準考核規范
- 頸椎病課件完整版
- 2023高中學業水平合格性考試歷史重點知識點歸納總結(復習必背)
- 手術室剖宮產護理查房-課件
- 隧道工程隧道洞口臨建施工方案
- 心理咨詢的面談技術
- (word完整版)污水處理廠安全評價報告
- DB50∕T 867.6-2019 安全生產技術規范 第6部分:黑色金屬冶煉企業
- 新產品開發流程課件
評論
0/150
提交評論