




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
案例十三Tree(Tree結(jié)構(gòu)—RecursionTree)及其一:需然后解析成Webdynpro中使用的tree數(shù)據(jù)。最終結(jié)果另外,不同的結(jié)點(diǎn)對應(yīng)著不同的editpanel:apply,點(diǎn)tree的其他結(jié)點(diǎn),點(diǎn)save,view,solution,language,換status,都會觸發(fā)“Apply”的功能:也就是將editpanel(綁定著context)中的數(shù)據(jù)賦給我tree.如下還提供restore功能,可以放棄當(dāng)前的操作,返回至上一次save完成時所做的操作。二:實(shí)解析XMLstring,產(chǎn)生內(nèi)表(使用Recursion總體設(shè)這里是,tree不是固定的,也就是說,treeCOA,CCD16種objecttypeSolutionBuilderRepository中拿數(shù)class實(shí)現(xiàn)MetaXMLmethodlo_exceptionTYPEREFTO/SMB/CX_PA_XML_TREE, typestring, typetyp_xmldef, typetyp_t_xmldef, typeREFTOif_ixml_node, typeREFTO*1st,parsethedefinitionXMLim_xmlstring=me->DEF_XMLeo_xmlnode= eo_parser=lo_parserCATCH/SMB/CX_PA_XML_TREEINTOlo_exception.lw_msg=lo_exception->get_text().RAISEEXCEPTIONTYPEEXPORTINGerror_message=**usethisXMLnodetocreateoneDefinition-Internal-io_xmlnode=lo_xmlnodees_xmldef=ls_xmldefET_XMLDEF=lt_xmldef *2nd,parsetheEnterpriseStructureXMLim_xmlstring=me- eo_xmlnode eo_xmlnode eo_parser= CATCH/SMB/CX_PA_XML_TREEINTO lw_msg=lo_exception->get_text( RAISEEXCEPTIONTYPE EXPORTINGerror_message=**usethisXMLnodetocreateoneDefinition-Internal- io_xmlnode= = it_xmldef= ET_XMLnode= ET_XMLATTR= CATCH/SMB/CX_PA_XML_TREEINTO lw_msg=lo_exception->get_text( RAISEEXCEPTIONTYPE EXPORTINGerror_message="IFET_XMLNODEisINITIALorET_XMLATTRis MESSAGEe003into RAISEEXCEPTIONTYPE EXPORTINGerror_message=lw_msg."ENDIF.methoddatalw_msgtypedatatempxml_stringtypetempxml_string=datal_xmltypedatal_ixmltypereftodatal_streamfactorytypereftodatal_istreamtypereftodata typerefto datal_parsertypereftodatanodetypereftodata tortyperefto data typerefto CreatingthemainiXML l_ixml=cl_ixml=>create(Creatingastream l_istream=l_streamfactory->create_istream_cstring(string=tempxml_string).Creating =l_ixml- (Createa l_parser=l_ixml->create_parser(stream_factory= == ifl_parser->parse()ne ifl_parser->num_errors()ne MESSAGEe003into "ParseXMLstring RAISEEXCEPTIONTYPE EXPORTINGerror_message= CALLMETHODl_istream->close( CLEAR eo_xmlnode?= EO_PARSER=.DEFDEF的XMLmethodDATA:lw_nodenamTYPE TYPEREFTOCASEIO_XMLNODE->get_type(WHENif_ixml_node=>co_node_element.lw_nodenam=io_xmlnode->get_name().CASEWHEN'ITEM'or "NewITEMIFES_XMLDEFisnotappendES_XMLDEFto WHEN WHEN WHEN WHEN "when *recursionlw_node=IO_XMLNODE->get_first_child("lw_node=WHILENOTlw_nodeIS io_xmlnode= es_xmldef= ET_XMLDEF=ET_XMLDEF lw_node=lw_node->get_next(EPSEPS的XMLmethod
type typereftoif_ixml_node, typestring,itortypereftoif_ixml_node_i typereftoif_ixml_named_node_map, typereftoif_ixml_node.ifIO_XMLNODEisMESSAGEe003into"ParseXMLstringRAISEEXCEPTIONTYPEEXPORTINGerror_message=ifIO_PARSER->is_dom_generating()eqitor=IO_XMLNODE->create_itor(*getcurrentlo_node=IO_XMLNODElo_node=itor->get_next(whilenotlo_nodeisinitial.lo_node->get_type().WHENelement =node->get_name( nodemap nodemap=lo_node->get_attributes( ifnotnodemapis attr=nodemap->GET_NAMED_ITEM('ObjectType' VALUE1=ATTR->GET_VALUE( IFVALUE1cs*Recursion callmethod = = it_xmldef= et_xmlnode= et_xmlattr= lo_node= tor->get_next(METHODMETHOD TYPE TYPE ls_xmlnode2TYPE TYPE TYPEREFTOif_ixml_node, TYPEstring,l TYPE TYPEnodemapTYPEREFTODATA:nodelistTYPEREFTOif_ixml_node_list,sub_nodeTYPEREFTO_node,countTYPEi,index_numTYPEi,parent_idTYPE TYPEi,lw_idxTYPEi, TYPEstring, TYPEstring.ifitistheroot,insertittotheIFim_parid=nodemap=im_node->get_attributes(attr=nodemap->get_named_item('ObjectType').value1=attr->get_value().CLEAR:***forXMLDESCRIBETABLEet_xmlnodeLINESlw_index.ls_xmlnode-solu_id=me->solu_id.ls_xmlnode-node_id=lw_index+1.ls_xmlnode-node_type=value1.ls_xmlnode-node_value=get_node_value(im_id='I_ERKRS'im_nodemap=nodemap).ls_xmlnode-parent_id=ls_xmlnode-same_id=0.ls_xmlnode-edit_done=space.APPENDls_xmlnodeTOet_xmlnode.***forXMLnodelw_num=nodemap->get_length().IFlw_num>0.lw_idx=DOlw_numCLEAR:value1,attr=nodemap->get_item(lw_idx).value1=attr->get_value().name1=attr->get_name().lw_idx=lw_idx+1.ls_xmlattr-solu_id=me->solu_id.ls_xmlattr-attr_name=name1.ls_xmlattr-attr_value=value1.***checkitallowseditorit_xmldef=it_xmldef ='OPC' =name1em_editno=ls_xmlattr-APPENDls_xmlattrTO***settheparentparent_id=ls_xmlnode-RecursionCALLMETHODrecur_parse_eps( =im_node =parent_idit_xmldef=it_xmldefet_xmlnode=et_xmlnodeet_xmlattr=CHECKim_parid<>ifitisnottheroot,recursionitsnodelist=im_node->get_children().count=nodelist->get_length().IFcount=recursionmethodindex_num=0.DOcountTIMES.sub_node=nodelist->get_item(index_num).index_num=index_num+1.nodemap=sub_node->get_attributes(attr=nodemap->get_named_item('ObjectType').value1=attr->get_value().objtyp=CASEvalue1.WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm= WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=WHENlw_atttnm=***forXMLDESCRIBETABLEet_xmlnodeLINESlw_index.ls_xmlnode-solu_id=me->solu_id.ls_xmlnode-node_id=lw_index+1.ls_xmlnode-node_type=value1.ls_xmlnode-node_value=get_node_value(im_id=lw_atttnmim_nodemap=nodemap).ls_xmlnode-parent_id=im_parid.ls_xmlnode-edit_done=space.***CheckisthesamewithanyonerecordofXMLNode,settheREADTABLEet_xmlnodeINTOls_xmlnode2WITHKEYnode_type=ls_xmlnode-node_typenode_value=ls_xmlnode-node_value =ls_xmlnode-solu_id.IFsy-subrc=ls_xmlnode-same_id=APPENDls_xmlnodeTO***settheparentparent_id=ls_xmlnode-***forXMLnodeIFls_xmlnode-same_id=***forXMLnodelw_num=nodemap->get_length().IFlw_num>0.lw_idx=DOlw_numCLEAR:value1,attr=nodemap->get_item(lw_idx).value1=attr->get_value().name1=attr->get_name().lw_idx=lw_idx+1.ls_xmlattr-solu_id=me->solu_id.ls_xmlattr-attr_name=name1.ls_xmlattr-attr_value=value1.***checkitallowseditor =it_xmldef =objtyp =name1em_editno=ls_xmlattr-APPENDls_xmlattrTORecursionCALLMETHODrecur_parse_eps( =sub_node =parent_idit_xmldef=it_xmldefet_xmlnode=et_xmlnodeet_xmlattr=tree:methodmethodFORM_TREEDATA TYPEREFTODATA TYPEREFTODATA data:ls_xmlnodetypedata:lw_idtypegetreferencetocontextlo_nd_EP_STRUCTURE=wd_context->get_child_node(wd_this->wdctx_TREE_EP.lo_nd_EP_STRUCTURE->INVALIDATE(getthe1stREADTABLEIT_XMLDATAintols_xmlnodeindexIFsy-subrc= lw_id=ls_xmlnode- **First:addthe<=NodeidastheRoot LOOPATIT_XMLDATAintols_xmlnodewherePARENT_ID=lw_idorPARENT_ID<lw_id.parsethexmlnodedatatoEP- wd_this- is_xmldata= IM_STATUS= IT_XMLDATA= es_eps= = abap_false*recursion wd_this- it_xmlnode= io_elem= type TYPEREFTO typeREFTO gettheio_elem- Name= Value=lw_paridcheckithaschildrenorREADTABLEit_xmlnodeintols_xmlnodewithkeyPARENT_ID=IFsy-subrc<>**recursionmethod lo_node_tmp lo_node_tmp=io_elem->get_child_node('TREE_REC_EP' LOOPATit_xmlnodeintols_xmlnodewherePARENT_ID=lw_paridparsethexmlnodedatatoEP- wd_this- is_xmldata= IM_STATUS= IT_XMLDATA= es_eps= lo_elem_tmp=lo_node_tmp->bind_structure(new_item set_initial_elements=abap_falserecursion wd_this- it_xmlnode= io_elem= 數(shù)據(jù)交做“apply”時:將數(shù)據(jù)從edit copy到內(nèi)表 TYPE TYPE lw_nodeidtype TYPEREFTO TYPEREFTO type TYPEwd_this- lw_solutionIDtype/SMB/PA_SOLUTION-SOLUTION_ID. TYPEFIELD-SYMBOLS:<lfs_xmdattr>TYPErecordthe =wd_this-then,showedit-lo_node=wd_this->path_lead_selection(i_path=wd_this->G_PATHgetlo_elme=lo_node->GET_element().name='OBJTYPE'value=lv_itm).name='NODE_ID'value=lw_nodeid*setthePathattribute,veryimportant,formethod:name='PATH'value=wd_this->G_PATHshoweditwd_this->show_edit_panel(lv_itmsavetheobject-wd_this->g_objtype=getlw_solutionID=wd_this->get_selected_solu(WHENforgetthels_ccd- =LOOPATwd_this->gt_xmlattrASSIGNING<lfs_xmdattr>WHEREnode_id=_nodeidSOLU_ID= wd_this- im_direction= = = = panycode = set_initial_elements=abap_true***for ls_add- = LOOPATwd_this->gt_xmlattrASSIGNING<lfs_xmdattr>WHEREnode_id=_nodeidSOLU_ID= wd_this- im_direction= = = = = set_init
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 二手房產(chǎn)買賣合同
- 2025年4個兄弟分家協(xié)議書模板
- 三年級上冊數(shù)學(xué)教案-8.1 分?jǐn)?shù)的初步認(rèn)識 ︳西師大版
- 2025年固始縣再就業(yè)小額擔(dān)保貸款協(xié)議
- 2025年廣東理工職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案一套
- 2025年河南機(jī)電職業(yè)學(xué)院單招職業(yè)傾向性測試題庫必考題
- 2025云南省建筑安全員-C證考試題庫
- 健身中心鏈家居間服務(wù)合同
- 2025年度中小企業(yè)擔(dān)保合同解除協(xié)議書
- 2025年度文化創(chuàng)意產(chǎn)品采購合同甲方責(zé)任與市場推廣
- GB/T 32399-2024信息技術(shù)云計算參考架構(gòu)
- 初中體育與健康 初二 水平四(八年級)田徑大單元教學(xué)設(shè)計+快速跑教案
- 2024-2025學(xué)年華東師大版數(shù)學(xué)七年級上冊計算題專項(xiàng)訓(xùn)練
- 移動通信運(yùn)營商倉庫安全管理制度
- DL∕T 5452-2012 變電工程初步設(shè)計內(nèi)容深度規(guī)定
- 人工智能產(chǎn)業(yè)分類目錄
- 中國急性缺血性卒中診治指南(2023)解讀
- 一年級下冊口算題卡大全(50套直接打印版)
- 一年級下冊寫字表練字帖
- 2024PowerTitan系列運(yùn)維指導(dǎo)儲能系統(tǒng)運(yùn)維指導(dǎo)
評論
0/150
提交評論