轉帖|其它|編輯:郝浩|2009-04-01 13:29:19.000|閱讀 404 次
概述:在ABAP編程中,有時候需要利用Native SQL操作數據庫表(自定義和非業務數據的表,業務數據表我的建議還是應該通過SAP提供的類、函數,BAPI等技術操作)。本文的例子是通過游標操作Oracle的系統表的代碼,供大家參考。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在ABAP編程中,有時候需要利用Native SQL操作數據庫表(自定義和非業務數據的表,業務數據表我的建議還是應該通過SAP提供的類、函數,BAPI等技術操作)。下面的例子是通過游標操作Oracle的系統表的代碼,供大家參考。
*---------------------------------------------------------------------*
* Read information about partitions of a table
*---------------------------------------------------------------------*
FORM get_partition_info
USING
i_tablnm TYPE rsd_tablnm
CHANGING
e_ts_part_info TYPE rsdu_ts_part_info.
DATA:
l_s_part_info TYPE rsdu_s_part_info.
* this works only for Oracle
CHECK sy-dbsys = 'ORACLE'.
EXEC SQL.
open csr for
select partition_name, high_value
from user_tab_partitions
where table_name = :i_tablnm
ENDEXEC.
DO.
EXEC SQL.
fetch next csr into :l_s_part_info-partition_name,
:l_s_part_info-high_value
ENDEXEC.
IF sy-subrc <> 0.
EXIT.
ENDIF.
* Special treatment of upper limit (highvalue) in Oracle
IF l_s_part_info-high_value EQ 'MAXVALUE'.
l_s_part_info-high_value = rsdu_c_max_value.
ENDIF.
INSERT l_s_part_info INTO TABLE e_ts_part_info.
ENDDO.
EXEC SQL.
close csr
ENDEXEC.
ENDFORM. " GET_PARTITION_INFO
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:CSDN