demo OO ALV 画2个tree 还有excel导出模板的程序实例 demo.docx
- 文档编号:11708242
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:44
- 大小:75.79KB
demo OO ALV 画2个tree 还有excel导出模板的程序实例 demo.docx
《demo OO ALV 画2个tree 还有excel导出模板的程序实例 demo.docx》由会员分享,可在线阅读,更多相关《demo OO ALV 画2个tree 还有excel导出模板的程序实例 demo.docx(44页珍藏版)》请在冰点文库上搜索。
demoOOALV画2个tree还有excel导出模板的程序实例demo
00两个树展示的结果图
和excel导出的结果图
REPORT zfii002_02.
*----------------------------------------------------------------------*
Tables :
S031,t001.
*----------------------------------------------------------------------*
TYPE-POOLS:
ole2. "引入SLIS工具包,需要用到里面的函数
DATA:
g_text(100),
g_text01(100),
g_date LIKE sy-datum.
DATA:
l_excel TYPE ole2_object, " Excel object
l_window TYPE ole2_object, " list of workbooks
l_books TYPE ole2_object, " list of workbooks
l_book TYPE ole2_object, " workbook
l_cell TYPE ole2_object, " cell object
l_font TYPE ole2_object, " font object
l_column TYPE ole2_object, " COLUMN OBJECT
l_row TYPE ole2_object, " COLUMN OBJECT
l_range TYPE ole2_object, " RANGE OBJECT
l_format TYPE ole2_object, " RANGE OBJECT
l_border TYPE ole2_object, " BORDER OBJECT
l_edgebottom TYPE ole2_object, " BORDER OBJECT
l_sheet TYPE ole2_object, " cell object
l_pagesetup TYPE ole2_object, " font object
l_interior TYPE ole2_object,
g_cell TYPE ole2_object,
v_excel TYPE ole2_object.
*----------------------------------------------------------------------*
* Type
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Constants
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* CONSTANT
*----------------------------------------------------------------------*
CONSTANTS:
c_hbkid TYPE hbkid VALUE 'YHDZ',
c_bukrs TYPE bukrs VALUE '8000',
c_ktopl TYPE ktopl VALUE '8000',
c_none TYPE char4 VALUE 'NONE',
c_all TYPE char4 VALUE 'ALL'.
DATA i_fcode TYPE TABLE OF sy-ucomm.
*----------------------------------------------------------------------*
* Variable
*----------------------------------------------------------------------*
DATA ok_code LIKE sy-ucomm.
DATA save_ok LIKE sy-ucomm.
DATA:
init TYPE c.
*Controls:
CLASS cl_gui_column_tree DEFINITION LOAD.
CLASS cl_gui_cfw DEFINITION LOAD.
DATA g_splitter TYPE REF TO cl_gui_splitter_container.
DATA g_container TYPE REF TO cl_gui_custom_container.
DATA g_container_l TYPE REF TO cl_gui_container.
DATA g_container_r TYPE REF TO cl_gui_container.
DATA:
g_tree_l TYPE REF TO cl_gui_alv_tree,
g_tree_r TYPE REF TO cl_gui_alv_tree.
DATA:
g_bank_s TYPE zdmbtr_s,
g_bank_h TYPE zdmbtr_h,
g_sap_s TYPE zdmbtr_s,
g_sap_h TYPE zdmbtr_h,
g_bank_balance TYPE zdmbtr_s,
g_bank_adjust TYPE zdmbtr_h,
g_sap_balance TYPE zdmbtr_s,
g_sap_adjust TYPE zdmbtr_h.
*----------------------------------------------------------------------*
* Internal table and work area
*----------------------------------------------------------------------*
DATA:
i_fcat_l TYPE lvc_t_fcat,
i_fcat_r TYPE lvc_t_fcat,
w_fcat TYPE lvc_s_fcat,
w_layout_l TYPE lvc_s_layo,
w_layout_r TYPE lvc_s_layo.
DATA:
BEGIN OF i_left OCCURS 0, "SAP单位日记帐,银行未勾对
sign TYPE c.
INCLUDE STRUCTURE zfit_bank_item1.
DATA:
ctab TYPE lvc_t_scol,
celltab TYPE lvc_t_styl,
auto TYPE char1,
END OF i_left.
DATA:
BEGIN OF i_right OCCURS 0,"银行对账单,SAP未勾对
sign TYPE c.
INCLUDE STRUCTURE zfit_sap_item1.
DATA:
ctab TYPE lvc_t_scol,
celltab TYPE lvc_t_styl,
auto TYPE char1,
END OF i_right.
DATA:
i_left_out LIKE i_left OCCURS 0 WITH HEADER LINE,
i_right_out LIKE i_right OCCURS 0 WITH HEADER LINE.
DATA:
w_bank LIKE zfit_bank.
*----------------------------------------------------------------------*
* Field-symbols
*----------------------------------------------------------------------*
FIELD-SYMBOLS:
*----------------------------------------------------------------------*
* Macro
*----------------------------------------------------------------------*
DEFINE alv_field_cat.
clear w_fcat.
w_fcat-tabname = &2.
w_fcat-fieldname = &3.
w_fcat-ref_field = &4.
w_fcat-ref_table = &5.
if &5 ne space.
w_fcat-scrtext_l = &6.
w_fcat-scrtext_m = &6.
w_fcat-scrtext_s = &6.
w_fcat-coltext = &6.
w_fcat-reptext = &6.
w_fcat-tooltip = &6.
w_fcat-seltext = &6.
endif.
if &7 ne 0.
* w_fcat-outputlen = &7.
endif.
w_fcat-col_opt = 'X'.
append w_fcat to &1.
END-OF-DEFINITION.
DEFINE alv_field_checkbox.
clear w_fcat.
w_fcat-fieldname = &2.
w_fcat-checkbox = 'X'.
* w_fcat-edit = 'X'.
if &3 ne space.
w_fcat-scrtext_l = &3.
w_fcat-scrtext_m = &3.
w_fcat-scrtext_s = &3.
w_fcat-coltext = &3.
w_fcat-reptext = &3.
w_fcat-tooltip = &3.
w_fcat-seltext = &3.
endif.
append w_fcat to &1.
END-OF-DEFINITION.
DEFINE m_range.
clear &1.
&1-low = &2.
&1-high = &3.
&1-sign = 'I'.
&1-option = &4.
append &1.
END-OF-DEFINITION.
*----------------------------------------------------------------------*
* Selection screen
*----------------------------------------------------------------------*
* 勾对
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-t01.
PARAMETERS:
p_bukrs LIKE t012k-bukrs MEMORY ID buk
MATCHCODE OBJECT c_t001,
p_hbkid LIKE t012k-hbkid , "DEFAULT '招行01',
p_hktid LIKE t012k-hktid , "DEFAULT '89798' ,
p_hkont LIKE t012k-hkont. "DEFAULT '1002002008'.
*PARAMETERS :
p_budat LIKE sy-datum(6) DEFAULT sy-datum+0(6) MODIF ID md1 OBLIGATORY.
PARAMETERS :
p_budat LIKE sy-datum(6) MODIF ID md1 OBLIGATORY.
*SELECT-OPTIONS:
S_SPMON FOR S031-SPMON DEFAULT SY-DATUM+0(6) OBLIGATORY.
SELECT-OPTIONS:
s_datum FOR sy-datum NO-EXTENSION MODIF ID md1 NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK block1.
*----------------------------------------------------------------------*
* Initailization
*----------------------------------------------------------------------*
INITIALIZATION.
PERFORM init_data.
AT SELECTION-SCREEN ON p_hkont .
if ( ( p_bukrs is NOT INITIAL AND p_hbkid is NOT INITIAL and P_hktid is not INITIAL ) AND p_hkont IS INITIAL ).
SELECT SINGLE hkont INTO p_hkont FROM t012k
WHERE bukrs = p_bukrs
AND hbkid = p_hbkid
AND hktid = p_hktid.
endif.
if ( ( p_bukrs is INITIAL or p_hbkid is INITIAL or P_hktid is INITIAL ) AND p_hkont IS NOT INITIAL ).
SELECT SINGLE bukrs hbkid hktid INTO (p_bukrs,p_hbkid,p_hktid) FROM t012k WHERE hkont = p_hkont.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_budat.
CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
EXPORTING
actual_month = sy-datum(6)
factory_calendar = ' '
holiday_calendar = ' '
language = sy-langu
start_column = 8
start_row = 5
IMPORTING
selected_month = p_budat.
REFRESH s_datum[].
CONCATENATE p_budat '01' INTO s_datum-low .
CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
EXPORTING
i_date = s_datum-low
IMPORTING
e_date = s_datum-high.
CLEAR s_datum-low.
s_datum-sign = 'I' .
s_datum-option = 'BT' .
APPEND s_datum.
CLEAR s_datum.
* AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_SPMON-LOW.
* PERFORM MONAT_F4.
*
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_SPMON-HIGH.
* PERFORM MONAT_F4.
* DATA BEGIN TYPE SY-DATUM.
* DATA BEGIN_END TYPE SY-DATUM.
* CONCATENATE S_SPMON-LOW '01' INTO S_DATUM-LOW.
* CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
* EXPORTING
* I_DATE = BEGIN
* IMPORTING
* E_DATE = S_DATUM-HIGH.
* IF S_DATUM-HIGH IS INITIAL.
* CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
* EXPORTING
* I_DATE = S_DATUM-LOW
* IMPORTING
* E_DATE = S_DATUM-HIGH.
* ENDIF.
* S_DATUM-SIGN = 'I' .
* S_DATUM-OPTION = 'BT' .
* APPEND S_DATUM.
* CLEAR S_DATUM.
*----------------------------------------------------------------------*
* Start-of-selection.
*----------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT .
* LOOP AT SCREEN .
* IF screen-name = 'P_HKONT' .
* screen-input = 0 .
* MODIFY SCREEN .
* ENDIF .
* ENDLOOP .
*----------------------------------------------------------------------*
* At selection-screen.
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
PERFORM screen_check.
*公司代码检查
PERFORM FRM_CHECK_BUKRS.
*权限检查
PERFORM AUTHORITY_CHECK.
*----------------------------------------------------------------------*
* Start-of-selection.
*----------------------------------------------------------------------*
START-OF-SELECTION.
* 取得银行主数据
PERFORM get_bank.
* 取得SAP日记帐科目余额
PERFORM get_account_balance.
* 取得银行未勾对
PERFORM get_bank_item.
* 处理左边的数据
PERFORM process_left.
* 取得SAP未勾对
PERFORM get_sap__item.
* 处理右边的数据
PERFORM process_right.
* 取得银行余额
PERFORM get_bank_balance.
PERFORM fieldcat_left.
PERFORM fieldcat_right.
CALL SCREEN 9000.
*&---------------------------------------------------------------------*
*& Module INIT_CONTROL OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE init_control OUTPUT.
IF init = ''.
PERFORM init_spliting.
PERFORM init_alv_display.
init = 'X'.
ENDIF.
ENDMODULE. " INIT_CONTROL OUTPUT
FORM screen_check .
* CASE sy-dynnr.
* WHEN '1000'.
* g_op = c_modi.
*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- demo OO ALV 画2个tree 还有excel导出模板的程序实例 tree 还有 excel 导出 模板 程序 实例
![提示](https://static.bingdoc.com/images/bang_tan.gif)