




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
案例十一:初始状态ALV区域,是动态产生的(set_dataALV的源数据。右边是对应左边的不同的objectname产生不同的editpanel. readdata按纽,将会pop-up个window供选择数据。同时,该window也是个ALV,该ALV提供了filter功能。可以把选择好的数据传递给主当点alvrecordeditpanelrecordobjectname.总体架构Main初始状态: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'初始状态:设置ALV的初始为material,并控制edit_panel的显示上面的EM_VIEW中WDDOMODIFYVIEW最后调用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,所以,现在将先调用P_CONTROLLER->display_edit_panel('MAT').然后调用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作用:设置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注意,现在它传的是READGET_ALV_METHOD中,可以判断它将执 P_CONTROLLER- 作用:打开一个pop-upwindow,调用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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025酒店游泳池管理承包合同
- 公司还款协议书计划
- 房屋联建分房协议书
- 2025年03月无锡高新区(新吴区)事业单位工作人员45人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月国家粮食和物资储备局直属联系单位(60名)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 旋片真空泵项目风险评估报告
- 广东省深圳实验学校2025年高三5月第一次调研考试历史试题含解析
- 九州职业技术学院《高级开发技术》2023-2024学年第二学期期末试卷
- 兰州交通大学《量子力学(I)》2023-2024学年第一学期期末试卷
- 辽宁现代服务职业技术学院《数字短片技术》2023-2024学年第二学期期末试卷
- 中医基础理论(中英文对照)
- 生理学(全套课件)
- 香港公司条例
- 污水处理系统工程合同范本
- 德能勤绩廉个人总结的
- 二年级美术上册课件 《3.我的手印画》 赣美版 (共18张PPT)
- Q∕SY 126-2014 油田水处理用缓蚀阻垢剂技术规范
- GB∕T 3216-2016 回转动力泵 水力性能验收试验 1级、2级和3级
- 电子电气评估规范-最新
- 黑布林绘本 Dad-for-Sale 出售爸爸课件
- 腹腔镜下肝叶切除术(实用课件)
评论
0/150
提交评论