更改UIBB列表的单元格的属性

2020-09-20 06:01发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,大家好吗?

例如,当另一个单元格的值达到某个值时,我必须将UIBB List单元格的属性更改为只读。

每次" Tipo referencia"字段的值都不等于" Financiera"时," Producto o servicio"字段必须为只读。

在某种形式上,我能够实现方法IF_FPM_GUIBB_FORM〜GET_DATA。

我在IF_FPM_GUIBB_LIST〜GET_DATA方法中执行相同的操作,但是它不起作用。

我的代码中有没有破旧的东西,或者不是通过这种方法完成的?

感谢您的帮助。

最诚挚的问候。

罗纳尔多·维埃拉

 SPAN {
 字体家族:" Courier New";
 字体大小:10pt;
 颜色:#000000;
 背景:#FFFFFF;
 }
 .L0S32 {
 颜色:#3399FF;
 }
 .L0S33 {
 颜色:#4DA619;
 }
 .L0S52 {
 颜色:#0000FF;
 }
 .L0S55 {
 颜色:#800080;
 }
 .L0S70 {
 颜色:#808080;
 }

   方法if_fpm_guibb_list〜get_data。
     数据:lr_data类型引用数据。

     字段符号:类型fpmgb_s_fieldusage,
                    键入任何表
                    。
     超级-> if_fpm_guibb_list〜get_data(
       导出iv_eventid = iv_eventid
                 it_selected_fields = it_selected_fields
                 iv_raised_by_own_ui = iv_raised_by_own_ui
                 iv_visible_rows = iv_visible_rows
                 iv_edit_mode = iv_edit_mode
                 io_extended_ctrl = io_extended_ctrl
       导入et_messages = et_messages
                 ev_data_changed = ev_data_changed
                 ev_field_usage_changed = ev_field_usage_changed
                 ev_action_usage_changed = ev_action_usage_changed
                 ev_selected_lines_changed = ev_selected_lines_changed
                 ev_dnd_attr_changed = ev_dnd_attr_changed
                 eo_itab_change_log = eo_itab_change_log
       更改ct_data = ct_data
                ct_field_usage = ct_field_usage
                ct_action_usage = ct_action_usage
                ct_selected_lines = ct_selected_lines
                cv_lead_index = cv_lead_index
                cv_first_visible_row = cv_first_visible_row
                cs_additional_info = cs_additional_info
                ct_dnd_attributes = ct_dnd_attributes
     )。

     将ct_data的引用转换为lr_data。
     将lr_data-> *分配给。
     循环在处分配字段符号()。
       将结构的组件'ZZ_REF_TIPO'分配给字段符号()。

       如果已分配 <> 4。
         读取表ct_field_usage分配
         键名称='ZZ_REF_SERVICIO'。
         如果已分配 -read_only = abap_true。
            -enabled = abap_true。
            -visibility = 02。
         万一。
       万一。
     结束循环。

     ev_data_changed = abap_true。
     ev_field_usage_changed = abap_true。

(17.4 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,大家好吗?

例如,当另一个单元格的值达到某个值时,我必须将UIBB List单元格的属性更改为只读。

每次" Tipo referencia"字段的值都不等于" Financiera"时," Producto o servicio"字段必须为只读。

在某种形式上,我能够实现方法IF_FPM_GUIBB_FORM〜GET_DATA。

我在IF_FPM_GUIBB_LIST〜GET_DATA方法中执行相同的操作,但是它不起作用。

我的代码中有没有破旧的东西,或者不是通过这种方法完成的?

感谢您的帮助。

最诚挚的问候。

罗纳尔多·维埃拉

 SPAN {
 字体家族:" Courier New";
 字体大小:10pt;
 颜色:#000000;
 背景:#FFFFFF;
 }
 .L0S32 {
 颜色:#3399FF;
 }
 .L0S33 {
 颜色:#4DA619;
 }
 .L0S52 {
 颜色:#0000FF;
 }
 .L0S55 {
 颜色:#800080;
 }
 .L0S70 {
 颜色:#808080;
 }

   方法if_fpm_guibb_list〜get_data。
     数据:lr_data类型引用数据。

     字段符号:类型fpmgb_s_fieldusage,
                    键入任何表
                    。
     超级-> if_fpm_guibb_list〜get_data(
       导出iv_eventid = iv_eventid
                 it_selected_fields = it_selected_fields
                 iv_raised_by_own_ui = iv_raised_by_own_ui
                 iv_visible_rows = iv_visible_rows
                 iv_edit_mode = iv_edit_mode
                 io_extended_ctrl = io_extended_ctrl
       导入et_messages = et_messages
                 ev_data_changed = ev_data_changed
                 ev_field_usage_changed = ev_field_usage_changed
                 ev_action_usage_changed = ev_action_usage_changed
                 ev_selected_lines_changed = ev_selected_lines_changed
                 ev_dnd_attr_changed = ev_dnd_attr_changed
                 eo_itab_change_log = eo_itab_change_log
       更改ct_data = ct_data
                ct_field_usage = ct_field_usage
                ct_action_usage = ct_action_usage
                ct_selected_lines = ct_selected_lines
                cv_lead_index = cv_lead_index
                cv_first_visible_row = cv_first_visible_row
                cs_additional_info = cs_additional_info
                ct_dnd_attributes = ct_dnd_attributes
     )。

     将ct_data的引用转换为lr_data。
     将lr_data-> *分配给。
     循环在处分配字段符号()。
       将结构的组件'ZZ_REF_TIPO'分配给字段符号()。

       如果已分配 <> 4。
         读取表ct_field_usage分配
         键名称='ZZ_REF_SERVICIO'。
         如果已分配 -read_only = abap_true。
            -enabled = abap_true。
            -visibility = 02。
         万一。
       万一。
     结束循环。

     ev_data_changed = abap_true。
     ev_field_usage_changed = abap_true。

(17.4 kB)
付费偷看设置
发送
1条回答
Cikesha
1楼-- · 2020-09-20 06:56

我是在Floorplan Manager ABAP-开发人员指南中找到的。

如果您要为单个单元格设置这些属性,请按照下列步骤操作:

1。 为表创建一个新列(使用GET_DEFINITION方法将一个字段添加到字段目录中。)

2。 通过将字段TECHNICAL_FIELD设置为" X",将该列定义为在运行时不可见的技术列。 此列包含单元格的属性。

3。 在GET_DEFINITION方法中,相应地调整字段描述。 例如,您有A列,并且想要为该列中的单个单元格设置属性READ_ONLY。 因此,您创建了技术列B。在字段描述中,将READ_ONLY_REF设置为B。

有人实施了吗? 还是可以请我举个例子?

最诚挚的问候

罗纳尔多·维埃拉

一周热门 更多>