SAPABAPDOI技术的优化与说明Word文件下载.docx
- 文档编号:17362205
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:11
- 大小:20.25KB
SAPABAPDOI技术的优化与说明Word文件下载.docx
《SAPABAPDOI技术的优化与说明Word文件下载.docx》由会员分享,可在线阅读,更多相关《SAPABAPDOI技术的优化与说明Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
*
REPORT
ztraining26NOSTANDARDPAGEHEADING.
*****************************************************************
**
声明数据库表Declarationofdatabase
**
TABLES:
mara.
"
物料主数据
定义结构类型Definethestructure'
stype
*
结果内表结构
TYPES:
BEGINOFtyp_result,
matnrTYPEmatnr,
物料编号
werksTYPEwerks_d,
工厂
lgortTYPElgort_d,
库存地点
chargTYPEcharg_d,
批次
box
TYPEc,
ENDOFtyp_result.
定义变量与内表DefinethevariantsandInternaltables
DATA:
gt_resultTYPETABLEOFtyp_resultWITHHEADERLINE.
结果内表
*@--------------------------------------------------------------*
*调用相关对象使用的变量
TYPE-POOLS:
vrm,sbdst,soi.
定位EXCEL的单元格,
BEGINOFtyp_excel,
row
TYPEkcd_ex_row_n,
col
TYPEkcd_ex_col_n,
valueTYPEchar50,
ENDOFtyp_excel.
gt_tabcontentTYPETABLEOFtyp_excel.
wa_tabcontentTYPEtyp_excel.
typ_urlLIKEbapiuri-uri.
BEGINOFtyp_docu_descr,
document_name(40),
document_id(64),
ENDOFtyp_docu_descr.
BEGINOFtyp_area_excel,
areano
(2)TYPEn,
tabcontentLIKEgt_tabcontent,
ENDOFtyp_area_excel.
*SAPDesktopOfficeIntegrationInterfaces
cl_container
TYPEREFTOcl_gui_container,
cl_splitter
TYPEREFTOcl_gui_splitter_container,
cl_control
TYPEREFTOi_oi_container_control,
cl_docu_proxy
TYPEREFTOi_oi_document_proxy,
cl_spreadsheetTYPEREFTOi_oi_spreadsheet,
cl_error
TYPEREFTOi_oi_error,
cl_errors
TYPEREFTOi_oi_errorOCCURS0WITHHEADERLINE.
*spreadsheetinterfacestructuresforExceldatainput
wa_cellitem
TYPEsoi_generic_item,
wa_rangeitem
TYPEsoi_range_item,
gt_ranges
TYPEsoi_range_list,
gt_excel_inputTYPEsoi_generic_table,
wa_excel_inputTYPEsoi_generic_item,
g_initialized
typec,
g_retcode
TYPEsoi_ret_string,
gt_excel_formatTYPEsoi_format_table,
wa_format
LIKELINEOFgt_excel_format.
gt_itab
TYPETABLEOFalsmex_tablineWITHHEADERLINE,
gt_imt_tab
TYPETABLEOFtyp_area_excel,
wa_imt_tab
LIKELINEOFgt_imt_tab,
g_macro
TYPEtext100,
g_sheet(10)TYPEc,
g_cell_fit
TYPEc.
cl_bds_instance
TYPEREFTOcl_bds_document_set,
gt_doc_signature
TYPEsbdst_signature,
wa_doc_signature
LIKELINEOFgt_doc_signature,
gt_doc_componentsTYPEsbdst_components,
gt_doc_uris
TYPEsbdst_uri,
wa_doc_uris
LIKELINEOFgt_doc_uris.
g_app
TYPEvrm_id,
gt_applistTYPEvrm_values,
g_excel
TYPEtext80VALUE'
Excel.Sheet'
EXCEL的表单
g_docu_typeTYPEtext80,
g_url(256)
g_has_activexTYPEc,
g_colTYPEi,
字段所在的列数
g_rowTYPEi.
字段所在的行数
*以下三个值为Tcode:
OAOR里面新建模板文件的参数
g_classname
TYPEsbdst_classnameVALUE'
HRFPM_EXCEL_STANDARD'
g_classtype
TYPEsbdst_classtypeVALUE'
OT'
g_object_keyTYPEsbdst_object_keyVALUE'
ZMB51_FZ'
.
宏定义Definethemacro
DEFINEm_value.
clear&
1.
&
1-key=&
2.
1-text=&
3.
append&
END-OF-DEFINITION.
*将数据对应到EXCEL的单元格,并添加到内表中
DEFINEm_excel_cell.
clearwa_tabcontent.
g_col=g_col+1.
wa_tabcontent-row
=g_row.
wa_tabcontent-col
=g_col.
wa_tabcontent-value=&
shiftwa_tabcontent-valueleftdeletingleadingspace.
appendwa_tabcontenttogt_tabcontent.
选择屏幕Customizetheselection-screen
SELECTION-SCREENBEGINOFBLOCKxaveryWITHFRAMETITLEtext-001.
SELECT-OPTIONS:
s_matnrFORmara-matnrMEMORYIDmat.
SELECTION-SCREENENDOFBLOCKxavery.
执行程序事件Executingtheprogram'
sevents
INITIALIZATION.
START-OF-SELECTION.
PERFORMsub_query_mara.
END-OF-SELECTION.
PERFORMsub_process_excel.
CALLSCREEN0100.
---------------------------------------------------------------*
Form
sub_query_mara
从物料主数据表MARA中取数
*---------------------------------------------------------------*
FORMsub_query_mara.
*取物料主数据
SELECTmatnr
FROMmara
INTOCORRESPONDINGFIELDSOFTABLEgt_result
WHEREmatnrINs_matnr.
ENDFORM.
sub_query_mara
**DialogModulesPBOandPAI
MODULEstatus_0100OUTPUT.
wa_tabTYPEtyp_area_excel.
its_tabTYPETABLEOFtyp_excel.
SETPF-STATUS'
XAVERY_HSUEH'
SETTITLEBAR'
TIT_100'
WITH'
活动界面示例'
PERFORMsub_create_basic_object.
LOOPATgt_imt_tabINTOwa_tab.
REFRESHgt_itab.
gt_itab[]=wa_tab-tabcontent[].
PERFORMsub_set_cell.
ENDLOOP.
IFg_cell_fit='
X'
CALLMETHODcl_spreadsheet->
fit_widest
EXPORTING
name
=space
no_flush='
ENDIF.
*修改WORKSHEET的名字
set_sheet_name
newname='
物料主数据清单'
oldname='
Sheet1'
IMPORTING
error
=cl_errors.
*宏执行
IFNOTg_macroISINITIAL.
CALLMETHODDOCUMENT->
EXECUTE_MACRO
g_macro=g_macro
SCRIPT_NAME
='
Open_text'
NO_FLUSH
'
=cl_errorS.
CALLMETHODC_OI_ERRORS=>
SHOW_MESSAGE
TYPE='
E'
APPENDcl_errorS.
ENDMODULE.
status_0100OUTPUT
DialogModulesPAI
MODULEuser_command_0100INPUT.
LEAVETOSCREEN0.
USER_COMMAND_0100INPUT
SUB_CREATE_BASIC_OBJECT
创建相关的对象
FORMsub_create_basic_object.
CHECKg_initializedISINITIAL.
CALLFUNCTION'
GUI_HAS_ACTIVEX'
return=g_has_activex.
IFg_has_activexISINITIAL.
MESSAGEe007(demoofficeintegratio).
*firstgettheSAPDOIi_oi_container_controlinterface
CALLMETHOD
c_oi_container_control_creator=>
get_container_control
control=cl_control
=cl_error.
*checknoerrorsoccured
CALLMETHODcl_error->
raise_message
type='
*创建CONTIANER
CREATEOBJECTcl_splitter
parent
=cl_gui_container=>
screen0
rows
=1
columns=1.
CALLMETHODcl_splitter->
set_border
border=cl_gui_cfw=>
false.
cl_container
=cl_splitter->
get_container(row=1column=1).
*initializetheSAPDOIContainer,tellittoruninthecontainer
*specifiedaboveandtellittorunExcelin-place
CALLMETHODcl_control->
init_control
r3_application_name
RBasis'
#ECNOTEXT
inplace_enabled
inplace_scroll_documents='
=cl_container
register_on_close_event
register_on_custom_event='
no_flush
*saveerrorobjectincollection
APPENDcl_errors.
CALLMETHODcl_gui_cfw=>
dispatch.
wa_doc_signature-prop_name='
DESCRIPTION'
g_app='
excel'
.
IFg_app='
g_docu_type=g_excel.
wa_doc_signature-prop_value='
PP_REPORT'
ELSE.
APPENDwa_doc_signatureTOgt_doc_signature.
CREATEOBJECTcl_bds_instance.
CALLMETHODcl_bds_instance->
get_info
classname
=g_classname
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAPABAPDOI 技术 优化 说明
