`

form开发的小总结

阅读更多

Form 开发的一些小总结.当然要实现如下的功能不一定要这样做,但是下文的做法肯定是可以实现这个功能的,这些都是我在实际工作中使用过的。可能描述的不是很准确,大家不是很明白,但是可以试着操作,就知道了。

1. 在FORM的windows上显示名称:

在FORM级的trigger  when_new_form_instance上设置如下:

set_window_property('MPOSRFQA',TITLE,'业务核价--'||sysdate);

显示效果如图:

 

 

2. 在FORM中当某个Item的值为某个状态不可修改:

在block级的trigger pre_record中加入如下代码:

If :block_name.item_name = P_value  then

  Set_item_instance_property(‘Block_Name.Item_Name’,

                                           Current_record,

                                           Update_Allowed,

                                          Property_False);

Fnd_message.debug(‘item_name=P_value时不可以修改’);

End if;

 

3. 在某个Item下,当该Item为空时,它将复制这个Item的上一个值。

在该Item的trigger:when_new_form_instance下输入

If  :block_name.item_name is null   then

    Duplicate_Item;

End if;

4. 在FORM中设置某个Item在某个条件下显示时:

在form 级trigger  when_new_form_instance中加入如下代码:

If :parameter.p_select =’ENABLE’ then

  App_item_property.set_property(‘Block_Name.Item_Name1’,visible,Property_On);

  Else

App_item_property.set_property(‘Blocke_Name.Item_name1’,visible,Property_Off);

End if;

 

 5. Go_block()

L_where :=’Item_Name=:Paramter.item_name1’;

Go_block(‘Block_name’);

Set_block_property(‘block_name’,Default_where,L_where||’Order by item_name2’);

Execut_Query;

 

go_block('block_name');

first_record;

loop      

     if :block_name.item_name1 ='Y'

        and :block_name.item_name2 is null then

      :block_name.item_name3 := :parameter.p_refno ;

    commit;

     end if;

     exit when :system.last_record='TRUE';

     next_record;

end loop;

6. calendar 日历设置--其实在以前我的form开发技术中已经说过了

设置item的lov属性(calendar)

务必在validate from list 处选择no

在Item trigger : Key_listval 中写上 calendar.show;

Calendar.show 是可以带参数的,缺省就是当天(可以打开attached libraries à appdaypk à calendar),其参数就是设日历的缺省date

For example : calendar.show(to_date(‘2009-08-29’,’YYYY-MM-DD’));

 

7.在form调用window的例子

对于包含多个window的form在已打开的window上通过按钮打开另一个window

Begin

Show_window(‘TEST_WINDOW’,2,2);

Set_window_property(‘TEST_WINDOW’,title,’标题’);

End;

8.fnd_message.question

Declare

  v_num number;

Begin

  Fnd_message.set_string('确定执行此操作吗?');

  v_num := fnd_message.question('否', '是', 1, 2);

  if v_num = 2 then

    fnd_message.debug('選擇了是');

  elsif v_num = 1 then

    fnd_message.debug('選擇了否');

  end if;

end;

 

9.实现lov可自动录入内容

在item  level 的when_new_item_instance trigger上加入

Begin

Set_item_property(‘block.item1’,validate_from_list,property_false);

End;

在item level的when_validate_item trigger上加入

If :block_name.item_name is not null then

Begin

Select item_name into :block_name.item_name

From table_name where .....  and item_name = :block_name.item_name

Exception when others then

Fnd_message.debug(‘......’);

End;

End if;

 

10. 在form中创建一个item,用于加总另一个item的值

(1)首先创建的Item必须与要统计值的Item在同一个block上.

(2)在创建好的item上的calculation中设置好相应的函数

(3)在这个item所对应的block上把advanced database中飞precompute summaries修改为Yes。

11.

Form中如何实现 shift+F6 复制上一条纪录的功能

 

将KEY-DUPREC改称如下的样子就可以了:
--APP_STANDARD.EVENT('KEY-DUPREC');
duplicate_record;

12.

很多时候,根据单据的状态的变化,要控制单据是否只读。

常用的form子程序:

SET_BLOCK_PROPERTY('REQUEST_HEADERS_V',INSERT_ALLOWED,PROPERTY_TRUE);
SET_BLOCK_PROPERTY('REQUEST_HEADERS_V',UPDATE_ALLOWED,PROPERTY_TRUE);
SET_BLOCK_PROPERTY('REQUEST_HEADERS_V',DELETE_ALLOWED,PROPERTY_TRUE);
SET_BLOCK_PROPERTY('REQUEST_LINES_V',INSERT_ALLOWED,PROPERTY_TRUE);
SET_BLOCK_PROPERTY('REQUEST_LINES_V',UPDATE_ALLOWED,PROPERTY_TRUE);
SET_BLOCK_PROPERTY('REQUEST_LINES_V',DELETE_ALLOWED,PROPERTY_TRUE);

分享到:
评论

相关推荐

    Oracle EBS Form开发小技巧汇总

    在Oracle EBS Form开发中,提交并发请求是一项常见的需求。当用户希望执行后台处理时,可以通过这种方式来实现。以下是一个示例代码片段,展示了如何在Form中提交并发请求。 **验证块并提交请求** 在提交任何并发...

    oracle form总结

    ### Oracle EBS Form 开发总结 #### 一、Oracle EBS Forms 概述与Template.fmb Oracle EBS (Enterprise Business Suite) Forms 是一种用于构建企业级应用程序的强大工具。它利用预定义的模板(Template.fmb)作为...

    Oracle Form 实战总结

    Oracle Form实战总结主要聚焦在使用Oracle Form Builder进行企业级应用开发的经验分享。Oracle Form是Oracle Application Development Framework (ADF)的一部分,常用于构建基于数据库的桌面和Web应用程序,特别是在...

    EBS FORM开发常用技巧

    本文将深入探讨"EBS FORM开发常用技巧",这些技巧可以帮助开发者更高效、更专业地进行Oracle Forms的开发工作。 一、表单设计与布局 1. **模块化设计**:在开发大型表单时,采用组件化和模块化的设计方法,将复杂...

    .net FORM插件开发

    总结起来,".NET FORM插件开发"涉及的核心知识点包括: - .NET Framework的结构和用途 - Windows Forms的应用程序开发 - 插件开发的概念和好处 - 定义接口或基类以规范插件行为 - 使用DLL文件作为插件载体 - 反射...

    Oracle Form 学习总结

    首先,环境准备是Oracle Form开发的基础。在本例中,开发环境是在Windows XP-2上安装了Oracle Form 6i开发工具,而服务器环境为Linux,运行着EBS(E-Business Suite)11.5.10。开发者需要配置tnsname.ora文件,以便...

    eclipse插件开发form编辑器

    ### Eclipse插件开发Form编辑器的关键知识点 #### 一、Eclipse Forms简介 Eclipse Forms是一种用于创建丰富客户端界面的技术,它可以让你的应用程序在不使用Web浏览器的情况下展现出类似Web的效果。这种技术允许...

    Laravel开发-formbuilder

    总结,Laravel 的 FormBuilder 为开发者提供了一种简洁、高效的方式来创建和管理表单,同时简化了表单验证的过程。它增强了代码的可读性和可维护性,使开发者能更专注于业务逻辑而不是基础的 HTML 构建。通过熟练...

    Form常用小技巧总结

    有关于Oracle中EBS 的From开发的一些小技巧和一些用法

    Oracle Form 实战总结.pdf

    ### Oracle Form 实战总结知识点详解 #### 一、概述 《Oracle Form 实战总结》文档主要介绍了Oracle Forms的实战经验和技巧,特别强调了如何通过具体的步骤来创建一个客户化的Oracle应用。这对于那些希望深入理解...

    Laravel开发-formmodel

    总结,Laravel FormModel是一种高效开发策略,它使得创建和维护基于模型的表单变得更加容易。通过合理利用Eloquent、表单请求验证和Blade模板,开发者可以快速构建健壮且易于扩展的表单系统。在实际项目中,掌握并...

    微信小程序例子——使用form表单获取输入框数据

    微信小程序是一种轻量级的应用开发框架,由腾讯公司推出,旨在让开发者能够快速构建在微信内运行的小程序。在这个例子中,我们将深入探讨如何在微信小程序中使用`form`表单来获取用户输入的数据。 一、`<form>`组件...

    ORACLE_FORM_开发实战

    ### 一、基础的Form开发 1. **创建Form**:在Oracle Forms中,开发过程始于创建一个新的Form。这通常通过File菜单中的New命令开始,随后选择Table选项,以便创建一个新的表单。这一过程涉及到多个步骤,包括数据块...

    Form2调用Form1控件的解决方案

    6. **总结**: 通过上述示例,我们可以看到使用`ref`关键字来传递控件引用是一种简单有效的方式,可以在不同窗体之间共享数据和状态。这对于构建具有丰富用户交互的应用程序来说非常有用。不过,在实际开发中还需要...

    C# Form程序地图开发

    总结,C# Form程序地图开发主要涉及C#的WebBrowser控件、HTML页面设计、以及百度地图API的使用。通过合理地结合这些元素,开发者可以构建出功能丰富的地图应用,满足用户在桌面环境中查看和操作地理位置信息的需求。

    正则表达式总结-form表单

    ### 正则表达式与form表单应用总结 在Web开发中,正则表达式(Regular Expression)是一种非常强大的文本处理工具,它可以帮助开发者完成字符串的查找、替换、验证等功能。而form表单作为网站与用户交互的重要组成...

    C#常用form控件总结.DOC

    C#是一种广泛应用于桌面应用开发的编程语言,其Form控件是构建用户界面的基础元素。在C#中,Form不仅代表一个可视化的窗口,还包含了众多属性、方法和事件,使得开发者能创建出功能丰富的应用程序。以下是对C#常用...

    oacle form 学习总结文档附练习文档

    三、Oracle Form开发流程 1. 创建新表单:在Form Builder中,选择适当的表单模板,然后添加所需的控件和布局。 2. 编写PL/SQL代码:利用触发器编写业务逻辑,处理用户输入、数据验证和数据库操作。 3. 调试和测试...

Global site tag (gtag.js) - Google Analytics