




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
案例十一:初始狀態(tài)ALV區(qū)域,是動態(tài)產(chǎn)生的(set_dataALV的源數(shù)據(jù)。右邊是對應左邊的不同的objectname產(chǎn)生不同的editpanel. readdata按紐,將會pop-up個window供選擇數(shù)據(jù)。同時,該window也是個ALV,該ALV提供了filter功能??梢园堰x擇好的數(shù)據(jù)傳遞給主當點alvrecordeditpanelrecordobjectname.總體架構(gòu)Main初始狀態(tài):dropdown中有值并有em_viewinitdropdown中有值。這里是使用的dropdownlistbyKey。除method NITDATA TYPEREFTODATAlo_nd_dropdown_key_infoTYPEREFTODATADATA*forObject wd_this->wdctx_objecttype).**definels_value_set-VALUE='MASTERDATA'.ls_value_set-text='MASTERDATA'.APPENDls_value_setTOlt_value_set.ls_value_set-VALUE='ORGDATA'.ls_value_set-text='OrganizeDATA'.APPENDls_value_setTOlt_value_set.lo_nd_dropdown_key_info- =value_set=lt_value_set)*forObjectNamewd_this->wdctx_objectname=wd_context- **definels_value_set-VALUE='Material'.ls_value_set-text='Material'.APPENDls_value_setTOlt_value_set.ls_value_set-VALUE='Vendor'.ls_value_set-text='Vendor'.APPENDls_value_setTOlt_value_set.lo_nd_dropdown_key_info- =value_set=lt_value_set)位于EM_VIEW中的WDDOMODIFYVIEW中。以及它們的方法 methodWDDOMODIFYVIEWcheckFIRST_TIME=********************************Initselect:materialDATA:lo_dptypereftoCL_WD_DROPDOWN_BY_KEY.lo_dp?=view->get_element('DROPDOWN2'lo_dp->SET_SELECTED_KEY(value='Material'wd_this->GET_ALV_METHOD(wd_this->GET_ALV_METHOD(I_TYPE='NEW'初始狀態(tài):設(shè)置ALV的初始為material,并控制edit_panel的顯示上面的EM_VIEW中WDDOMODIFYVIEW最后調(diào)用wd_this->GET_ALV_METHODI_TYPE'NEW').methodGET_ALV_METHODdata:typereftotypemethodGET_ALV_METHODdata:typereftotypereftoIf_Wd_Context_Element,typestring.*navigatefrom<CONTEXT>to<FLIGHTS>vialeadlo_Node=wd_Context->get_Child_Node(Name='OBJECTNAME'*getelementvialeadlo_Elem=lo_Node->get_Element(*getsingleattributeName=Value=lw_name*caselw_name.P_CONTROLLER->display_edit_panel('MAT').ifI_TYPE='READ'.P_CONTROLLER- P_CONTROLLER->set_alv_data(P_CONTROLLER->set_alv_data(I_type=I_TYPEwhenP_CONTROLLER->display_edit_panel('VEN').ifI_TYPE='READ'.P_CONTROLLER- P_CONTROLLER->set_alv_data(I_type=I_TYPE它所對應的因為前面的dropdown中的default是material,所以,現(xiàn)在將先調(diào)用P_CONTROLLER->display_edit_panel('MAT').然后調(diào)用P_CONTROLLER->set_alv_data(I_type=I_TYPE).I_VIEWmethodDISPLAY_EDIT_PANELI_VIEWmethodDISPLAY_EDIT_PANEL=wd_context-= getalldeclaredattributesgetalldeclaredattributesStatic_Attributes=stru_attributessetpropertycasei_view.when'MAT'.**firstsettheWD_this->g_acttype=**thenmodifydisablestru_attributes-ENABLE_MAT='X'.when**firstsettheWD_this->g_acttype=**thenmodifydisablestru_attributes-ENABLE_VEN='X'.bindnewelementtonode_attributes->bind_structure(new_item=stru_attributesSET_INITIAL_ELEMENTS=abap_true).context是與我們view中綁定這里,還使用了一個全局variantwd_this->g_acttype來判斷是哪methodSET_ALV_DATAdata:typereftotypereftoIf_Wd_Context_Element,typestring.ifwd_this->g_acttype=ls_materialtypewd_this-lt_materialtypestandardtableofwd_this-navigatefrom<CONTEXT>to<FLIGHTS>vialeadselectionlo_Node=wd_Context->get_Child_Node(Name='MATERIAL').bindlocalifi_type=elseifi_type='READ'.describetablelt_materiallineswd_this->w_num.lo_Node->bind_table(lt_material).ifwd_this->g_acttype='VEN'.ls_vendortypewd_this-lt_vendortypestandardtableofwd_this-navigatefrom<CONTEXT>to<FLIGHTS>vialeadselectionlo_Node=wd_Context->get_Child_Node(Name='VENDOR').bindlocaltableifi_type='NEW'.elseifi_type='READ'.describetablelt_vendorlineswd_this->w_num.lo_Node->bind_table(lt_vendor).checkifALVcomponentusageisallreadyDATA:lr_salv_wd_table_usageTYPEREF IFlr_salv_wd_table_usage-> ponent()ISINITIAL. ponent().getreferencetoALVcomponentDATA:lr_salv_wd_tableTYPEREFTOiwci_salv_wd_table.lr_salv_wd_table=wd_this->wd_cpifc_alv_child().****setlr_salv_wd_table->SET_DATA(R_NODE_DATA=lo_Node****ALVConfig****methodCONFIG_ALVconfigmethodCONFIG_ALVconfigwd_this->alv_table_settings(configwd_this->alv_colum_settings(cellwd_this->ALV_CELL_VARIANT(ALVmethodALV_TABLE_SETTINGS.l_valueTYPEREFTOlr_salv_wd_tableTYPEREFTOiwci_salv_wd_table,lr_table_settingsmethodALV_TABLE_SETTINGS.l_valueTYPEREFTOlr_salv_wd_tableTYPEREFTOiwci_salv_wd_table,lr_table_settingsTYPEREFTOif_salv_wd_table_settings.**********GETMODEL*getConfigurationModelfromALVComponent:ThisreferenceisusedtosetALVl_value=lr_salv_wd_table->get_model(l_value-=CL_WD_TOOLBAR=>E_VISIBLE-visiblel_value- abap_falsel_value->IF_SALV_WD_STD_FUNCTIONS~SET_DISPLAY_SETTINGS_ALLOWED(abap_false).l_value->IF_SALV_WD_STD_FUNCTIONS~SET_EXPORT_ALLOWED(abap_false).l_value- abap_falsel_value->IF_SALV_WD_STD_FUNCTIONS~SET_FILTER_FILTERLINE_ALLOWED(abap_false PLEX_ALLOWED(abap_false).l_value->IF_SALV_WD_STD_FUNCTIONS~SET_EDIT_UNDO_ALLOWED(abap_false).l_value->IF_SALV_WD_STD_FUNCTIONS~SET_EDIT_CHECK_AVAILABLE(abap_false). PLEX_ALLOWED(abap_false).l_value->IF_SALV_WD_STD_FUNCTIONS~SET_DIALOG_SETTINGS_ALLOWED(abap_false).l_value- l_value->IF_SALV_WD_STD_FUNCTIONS~SET_PDF_ALLOWED(abap_falsel_value- abap_falsel_value->IF_SALV_WD_STD_FUNCTIONS~SET_SORT_HEADERCLICK_ALLOWED(abap_false).l_value->IF_SALV_WD_STD_FUNCTIONS~SET_EXPORT_ALLOWED(abap_false).*******AddoneUser-lr_user_function1typerefto **Thefunctionisadata:lr_save_buttontypereftolv_button_texttypecreateobjectlv_button_text=*****************INITMODEL****************TABLESETTINGSinitlr_table_settings?=l_value"lr_table_settings->set_visible_row_count(wd_this->W_NUM)."lr_table_settings->set_first_visible_row('1')."lr_table_settings->DELETE_HEADER().data:data:lo_designtypeWDY_UIE_LIBRARY_ENUM_TYPE,"CL_WD_TABLE=>T_DESIGN,lw_design2likeCL_WD_TABLE=>E_DESIGN-STANDARD.lo_design=lr_table_settings->GET_DESIGN(lr_table_settings->SET_DESIGN(CL_WD_TABLE=>E_DESIGN-ALTERNATING*Maketableeditable******************TABLEHEADER**************************DATA:lr_headerTYPEREFTOcl_salv_wd_header,l_header lr_header=lr_table_settings->get_header(*************SETSTANDARDFUNCTIONSr_model=l_valueALVmethodALV_COLUM_SETTINGS.l_valueTYPEREFTOcl_salv_wd_config_table,lr_salv_wd_tableTYPEREFTOiwci_salv_wd_table.methodALV_COLUM_SETTINGS.l_valueTYPEREFTOcl_salv_wd_config_table,lr_salv_wd_tableTYPEREFTOiwci_salv_wd_table.*****************GETMODELgetConfigurationModelfromALVComponent:ThisreferenceisusedtosetALVl_value=lr_salv_wd_table->get_model(****************COLUMNSETTINGSinitDATA:lr_column_settingsTYPEREFTOif_salv_wd_column_settings.lr_column_settings?=l_value.getgettableofcolumnsettings-eachlineonecolumnDATA:lt_columnsTYPEsalv_wd_t_column_ref.lt_columns=lr_column_settings->get_columns().loopovertable-ineachloopanothercolumncanbemodifiedDATA:ls_columnTYPEsalv_wd_s_column_ref,lo_headertypereftodefinevisibleLOOPATlt_columnsINTOlo_header=ls_column-r_column->CREATE_HEADER().CASEls_column-id.****Forwhenlo_header->SET_TEXT(value='Material').when'DESCRIPTION'.lo_header->SET_TEXT(value='Description').when'VOLUME'.lo_header->SET_TEXT(value='Volume').when'VOLUMEUNIT'.lo_header->SET_TEXT(value='VolumeUnit').when'GWEIGHT'.lo_header->SET_TEXT(value='GrossWeight').when'WEIGHTUNIT'.lo_header->SET_TEXT(value='WeightUnit').when'BASEUNIT'.lo_header->SET_TEXT(value='BaseUnitofMeasure').when'MATGROUP'.lo_header->SET_TEXT(value='MaterialGroup').when'SALESUNIT'.lo_header->SET_TEXT(value='SalesmethodALV_CELL_VARIANT作用:設(shè)置ALV的不同Cell的顯示(inputmethodALV_CELL_VARIANTl_valueTYPEREFTOcl_salv_wd_config_table,lr_salv_wd_tableTYPEREFTOiwci_salv_wd_table.************GETMODELgetConfigurationModelfromALVComponent:ThisreferenceisusedtosetALVl_value=lr_salv_wd_table->get_model(******MASTERTABLESETTINGS->WILLWINgetflightsfromDATA: TYPEREFTOlt_materialTYPE ls_materialTYPE lr_node=wd_context->get_child_node('MATERIAL'lr_node->get_static_attributes_table(IMPORTINGtable=lt_material******ALVMODELSETTINGSDATA:lr_column_settingsTYPEREFTOaccesscolumnsettingslr_column_settings?=l_value.lt_columns=lr_column_settings->get_columns(LOOPATlt_columnsINTO**********CREATETEXTVIEWCELLVARIANTFOREACHCOLUMNcreateDATA:lr_cvTYPEREFTOcl_salv_wd_cv_standard.CREATEOBJECTlr_cv.lr_cv->set_key('TEXT_VIEW'createDATA:lr_textviewTYPEREFTOcl_salv_wd_uie_text_view.CREATEOBJECTlr_textview.definecellvariantTEXT_VEIWtobeatextviewlr_cv->set_editor(lr_textview).relaterelatecellvarianttoallforanycell,thiscellvariantwillbeusedifthemastertablecontainsentryTEXT_VIEWincolumnls_column-r_column->set_sel_cell_variant_fieldname('CELLVARIANT'DATA:lr_input_fieldTYPEREFTOcl_salv_wd_uie_input_field.CREATEOBJECTlr_input_fieldvalue_fieldname=ls_column-ls_column-r_column->set_cell_editor(lr_input_fieldAction:Read_data在EM_VIEW注意,現(xiàn)在它傳的是READGET_ALV_METHOD中,可以判斷它將執(zhí) P_CONTROLLER- 作用:打開一個pop-upwindow,調(diào)用W_CHOOSE_OBJECT這個windowmethodmethodOPEN_POP_UP_WINDOWTYPEREFTOTYPEREFTYPEREFTOTYPEponent=wd_this->wd_get_api(lo_window_manager lv_win_title='ReferenceDataFromlo_window=>create_window(window_name= = = =if_wd_window=>co_msg_type_none =abap_false).methodWD NIT.TYPEREFTOif_wd_view_controller,TYPEREFTOif_wd_window_controller,TYPEREFTO*methodWD NIT.TYPEREFTOif_wd_view_controller,TYPEREFTOif_wd_window_controller,TYPEREFTO*RegistertheeventhandlerfortheOK-buttonanddisablethebutton. =wd_this->wd_get_api().lo_window_ctlr=lo_api->get_embedding_window_ctlr().IFlo_window_ctlrISBOUND. =lo_window_ctlr->get_window().IFlo_popupISBOUND.lo_popup- = = =lo_apilo_popup- = = =lo_apiDATA TYPEREFTODATAlo_nd_dropdown_key_infoTYPEREFTOif_wd_context_node_info.DATAlt_value_set DATAls_value_set *forObject =wd_context->get_child_node(name='SEARCH').lo_nd_dropdown_key_info=lo_nd_dropdown_key->get_node_info().**definelistls_value_set-VALUE='Contains'.ls_value_set-text='Contains'.APPENDls_value_setTOlt_value_set.ls_value_set-VALUE='Equals'.ls_value_set-text='Equals'.APPENDls_value_setTOlt_value_set.ls_value_set-VALUE='StartWith'.ls_value_set-text='StartWith'.APPENDls_value_setTOlt_value_set.ls_value_set-VALUE='EndWith'.ls_value_set-text='EndWith'.APPENDls_value_setTOlt_value_set.lo_nd_dropdown_key_info- =value_set=lt_value_set)*ALV:allobjectfrommethodmethodCHOOSE_ALVdata:typereftotypereftoIf_Wd_Context_Element,typestring.ifwd_this->g_acttype=ls_materialtypewd_this-lt_materialtypestandardtableofwd_this-navigatefrom<CONTEXT>to<FLIGHTS>vialeadselection=wd_Context->get_Child_Node(Name='SELE_MATERIAL'bindlocal wd_this->w_num=5.ls_material-MATERIAL='H10'.ls_material-DESCRIPTION='ABBBBBdd'.ls_material-VOLUME='2.000'.ls_material-VOLUMEUNIT='L'.ls_material-GWEIGHT='1.400'.ls_material-WEIGHTUNIT='G'.ls_material-BASEUNIT='PC'.ls_material-MATGROUP='YBT01'.ls_material-SALESUNIT=''.appendls_materialtolt_material.ls_material-MATERIAL=ls_material-DESCRIPTION='MaterialH112'.ls_material-VOLUME='3.000'.ls_material-VOLUMEUNIT='L'.ls_material-GWEIGHT='1.000'.ls_material-WEIGHTUNIT='G'.ls_material-BASEUNIT='PC'.ls_material-MATGROUP='YBT01'.ls_material-SALESUNIT='appendls_materialtolt_material.ls_material-MATERIAL=ls_material-DESCRIPTION='MaterialH113'.ls_material-VOLUME='3.000'.ls_material-VOLUMEUNIT='L'.ls_material-GWEIGHT='1.000'.ls_material-WEIGHTUNIT='G'.ls_material-BASEUNIT='PC'.ls_material-MATGROUP='YBT01'.ls_material-SALESUNIT=''.appendls_materialtolt_material.ls_material-MATERIAL=ls_material-DESCRIPTION='MaterialH114'.ls_material-VOLUME='3.000'.ls_material-VOLUMEUNIT='L'.ls_material-GWEIGHT='1.000'.ls_material-WEIGHTUNIT='G'.ls_material-BASEUNIT='PC'.ls_material-MATGROUP='YBT01'.ls_material-SALESUNIT=''.appendls_materialtolt_material.describetablelt_materiallineswd_this-sortlt_materialbyMATERIAL.lo_Node->bind_table(lt_material).ifwd_this->g_acttype='VEN'.ls_vendortypewd_this-lt_vendortypestandardtableofwd_this-navigatefrom<CONTEXT>to<FLIGHTS>vialeadselectionlo_Node=wd_Context->get_Child_Node(Name='SELE_VENDOR').bindlocaltablels_vendor-LIFNR='Vendor-ls_vendor-NAME1='Vendor01-testfor01name1'.ls_vendor-NAME2='Vendor01-testfor01name2'.appendls_vendortolt_vendor.ls_vendor-LIFNR='Vendor-ls_vendor-NAME1='Vendor02-testfor02'.ls_vendor-NAME3='Vendor02-testfor02name3'.appendls_vendortolt_vendor.ls_vendor-LIFNR='Vendor-ls_vendor-NAME1='Vendor03-testfor03'.appendls_vendortolt_vendor.ls_vendor-LIFNR='Vendor-ls_vendor-NAME1='Vendor04-testfor04'.appendls_vendortolt_vendor.ls_vendor-LIFNR='Vendor-ls_vendor-NAME1='Vendor05-testfor05'.appendls_vendortolt_vendor.describetablelt_vendorlineswd_this->w_num.lo_Node->bind_table(lt_vendor).checkifALVcomponentusageisallreadyDATA:lr_salv_wd_table_usageTYPEREF IFlr_salv_wd_table_usage-> ponent()ISINITIAL. ponent().getreferencetoALVcomponentDATA:lr_salv_wd_tableTYPEREFTOiwci_salv_wd_table.lr_salv_wd_table=wd_this->wd_cpifc_alv_child2().****setlr_salv_wd_table->SET_DATA(R_NODE_DATA=lo_Node****ALVConfig****l_valueTYPEREFTOcl_salv_wd_config_table,lr_table_settingsTYPEREFTOif_salv_wd_table_settings. getConfigurationModelfromALVComponent:ThisreferenceisusedtosetALVl_value=lr_salv_wd_table->get_model( CL_WD_TOOLBAR=>E_VISIBLE-none).tabellr_table_settings?=l_valuelr_table_settings- cl_wd_table=>e_selection_mode- initDATA:lr_column_settingsTYPEREFTOif_salv_wd_column_settings.lr_column_settings?=l_value.gettableofcolumnsettings-eachlineonecolumnDATA:lt_columnsTYPEsalv_wd_t_column_ref.lt_columns=lr_column_settings->get_columns().loopovertable-ineachloopanothercolumncanbemodifiedDATA:ls_columnTYPEsalv_wd_s_column_ref,lo_headertypereftodefinevisibleLOOPATlt_columnsINTOlo_header=ls_column-r_column->CREATE_HEADER().CASEls_column-id.****Forwhenlo_header->SET_TEXT(value='Material').when'DESCRIPTION'.lo_header->SET_TEXT(value='Description').when'VOLUME'.lo_header->SET_TEXT(value='Volume').when'VOLUMEUNIT'.lo_header->SET_TEXT(value='VolumeUnit').when'GWEIGHT'.lo_header->SET_TEXT(value='GrossWeight').when'WEIGHTUNIT'.lo_header->SET_TEXT(lo_header->SET_TEXT(value='WeightUnit').when'BASEUNIT'.lo_header->SET_TEXT(value='BaseUnitofMeasure').when'MATGROUP'.lo_header->SET_TEXT(value='MaterialGroup').when'SALESUNIT'.lo_header->SET_TEXT(value='Sales選擇pop-up:選擇好record后,點擊View:methodmethodCHOOSE_ALV_OK*getreferencetoALVcomponentDATA:lr_salv_wd_tableTYPEREFTOiwci_salv_wd_table.lr_salv_wd_table=wd_this->wd_cpifc_alv_child2().****set"lr_salv_wd_table->DATA_CHECK(TYPEREFTOif_wd_context_node,TYPEREFTOif_wd_context_node,TYPEWDR_CONTEXT_ELEMENT_SET,TYPEREFTO ifwd_this->g_acttype= ponentcontroller=>wdctx_sele_material).elem_vent_sel_attributes=>GET_SELECTED_ELEMENTS(INCLUDING_LEAD_SELECTION=abap_trueloopatelem_vent_sel_attributesinto*getalldeclaredattributesStatic_Attributes=stru_event_attributesappendstru_event_attributestosorttabl_event_attributesby ponentcontroller=>wdctx_material).*bindnewelementtonode_attributes->bind_table(tabl_event_attributesifwd_this->g_acttype= ponentcontroller=>wdctx_sele_vendor).elem_vent_sel_attributes=>GET_SELECTED_ELEMENTS(INCLUDING_LEAD_SELECTION=abap_truelooploopatelem_vent_sel_attributesinto*getalldeclaredattributesStatic_Attributes=stru_event_attributes2appendstru_event_attributes2to=wd_context-= *bindnewelementtonode_at
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電器具包裝與物流考核試卷
- 2024年項目管理專業(yè)人士資格認證考試專業(yè)知識試題及答案
- 2025年注會考試成功的秘訣試題及答案
- 2024年項目管理考試實操指導試題及答案
- 電氣設(shè)備光纖傳感技術(shù)考核試卷
- 環(huán)保志愿者培訓考核試卷
- 掌握技巧2024年項目管理專業(yè)人士資格考試試題及答案
- 江蘇河道杉木樁施工方案
- 中型海水淡化處理設(shè)備考核試卷
- 項目管理人員資格考試資格設(shè)置試題及答案
- 1輸變電工程施工質(zhì)量驗收統(tǒng)一表式(線路工程)-2024年版
- 2024年全國鄉(xiāng)村振興職業(yè)技能大賽“育嬰”賽項考試題庫(決賽用)
- 《內(nèi)在強大:應變?nèi)f難的力量》記錄
- TSHJX 067-2024 基于TACS的全自動運行線路綜合聯(lián)調(diào)技術(shù)規(guī)范
- 2024至2030年中國擦窗機器人產(chǎn)業(yè)競爭現(xiàn)狀及投資決策建議報告
- 益母草顆粒的保肝作用機制
- 中國經(jīng)濟史教學課件第八章近代農(nóng)業(yè)經(jīng)濟的發(fā)展
- 2024年東南亞生化需氧量(BOD)分析儀市場深度研究及預測報告
- 高中數(shù)學教師資格證面試真題試
- 數(shù)學教育研究導論
- 醫(yī)療器械委托生產(chǎn)控制程序
評論
0/150
提交評論