`

平时积累的一些SQL语句(转) 2

阅读更多
FORM中获取光标所在的TAB页面
1. 在Form级触发器中添加触发WHEN-TAB-PAGE-CHANGED
2. 在此触发器中写如下代码:

DECLARE
   canvas_id   VARCHAR2 (30);
--标签页ID


BEGIN
   canvas_id := GET_CANVAS_PROPERTY ('标签画布名', topmost_tab_page);


   IF canvas_id = '标签页1'
   THEN
      GO_BLOCK ('块1');
   END IF;


   IF canvas_id = '标签页2'
   THEN
      GO_BLOCK ('块2');
   END IF;


   IF canvas_id = '标签页3'
   THEN
      GO_BLOCK ('块3');
   END IF;


   EXECUTE_QUERY;
END;

设置时间

DECLARE
   timer_id     Timer;


   one_minute   NUMBER (5) := 60000;
BEGIN
   timer_id := CREATE_TIMER ('emp_timer', one_minute, REPEAT |NO_REPEAT);

END;

生成Editer框

DECLARE
   ed_id    Editor;
   status   BOOLEAN;
BEGIN
   ed_id := FIND_EDITOR ('edit_name');                    ---由'edit_name'导航器定义

 

   IF NOT ID_NULL (ed_id)
   THEN
      SHOW_EDITOR (ed_id,
                   NULL,
                   :block_name.item_name,
                   status);
   ELSE
      MESSAGE ('Editor "Happy_Edit_Window" not found');


      RAISE Form_Trigger_Failure;
   END IF;
END;

动态产生一个'LOV'框

DECLARE
   lv_id    LOV;
   status   BOOLEAN;
BEGIN
   lv_id := FIND_LOV ('lov_name');

   ---'lov_name' 由导航器定义
   --
   IF ID_NULL (lv_id)
   THEN
      --
      lv_id := FIND_LOV ('lov_name1');                   ---'lov_name1' 由导航器定义
   --
   END IF;
   status := SHOW_LOV (lv_id, 10, 20);
END;

打开form上标准菜单
app_menu.set_prop('EDIT.SELECT_ALL', ENABLED, PROPERTY_ON);
app_menu.set_prop('EDIT.DESELECT_ALL', ENABLED, PROPERTY_ON);
在相应层次建立出发器即可;

FROM 中Item代码格式Format

A typical item handler looks like this:

PROCEDURE ITEM_NAME (event VARCHAR2)
IS
   IF   (event = ’WHEN?VALIDATE?ITEM’) THEN

?? VALIDATE the item

ELSIF (event = ’INIT’) THEN

?? initialize this dependent item

ELSIF (event in (’PRE?RECORD’, ’POST?QUERY’)) THEN

?? etc.

ELSE fnd_message.debug(’Invalid event passed to item_name: ’ ||

EVENT);

END IF;

END ITEM_NAME;

取关键性弹性域帐户描述的方法

declare
-- Boolean parameters are translated from/to integers:
-- 0/1/null <--> false/true/null
result boolean;

begin
-- Call the function
result := fnd_flex_keyval.validate_ccid(

appl_short_name => :appl_short_name,--SQLGL

key_flex_code => :key_flex_code,--GL#

structure_number => :structure_number,--50228

combination_id => :combination_id,--113773

displayable => :displayable,--ALL

data_set => :data_set,
vrule => :vrule,
security => :security, --IGNORE
get_columns => :get_columns,
resp_appl_id => :resp_appl_id, --101
resp_id => :resp_id,--50481
user_id => :user_id, --11193
select_comb_from_view => :select_comb_from_view);
DBMS_OUTPUT.put_line(fnd_flex_keyval.concatenated_descriptions);

-- Convert false/true/null to 0/1/null

end;

 

组织访问权限的控制语句(11i)

SELECT ict.ROWID row_id,
       ict.organization_id,
       ict.rate,
       ict.base_type_code,
       flv.MEANING,
       ict.adjust_account_id,
       ict.description,
       ict.created_by,
       ict.creation_date,
       ict.last_updated_by,
       ict.last_update_date,
       ict.last_update_login,
       ood.ORGANIZATION_NAME ORGANIZATION_NAME
  FROM dpos_item_cost_rate ict,
       org_organization_definitions ood,
       org_access oa,
       fnd_lookup_values_vl flv
 WHERE     ict.organization_id = ood.ORGANIZATION_ID
       AND oa.organization_id = ood.ORGANIZATION_ID
       AND oa.resp_application_id = fnd_profile.VALUE ('RESP_APPL_ID')
       AND oa.responsibility_id = fnd_profile.VALUE ('RESP_ID')
--循环访问所有记录

DECLARE
cur_blk VARCHAR2(40) := :SYSTEM.Cursor_Block;
bk_id
BLOCK;

BEGIN
   bk_id := FIND_BLOCK (cur_blk);
   GO_BLOCK ('SHOPPEDAYOVERTB_V');
   GO_RECORD (1);
   LOOP
      IF GET_BLOCK_PROPERTY (bk_id, Update_Allowed) = 'TRUE'
      THEN
         :SHOPPEDAYOVERTB_V.import_flag := 'N';

         UPDATE SHOPPEDAYOVERTB
            SET import_flag = 'N'
          WHERE SHOPPEDAYOVERTB.ROWID = :SHOPPEDAYOVERTB_V.ROW_ID;
      END IF;

      EXIT WHEN (NAME_IN ('SYSTEM.LAST_RECORD') = 'TRUE');

Pre-form

DECLARE
   l_default_org_id    NUMBER;

   l_default_ou_name   VARCHAR2 (240);

   l_ou_count          NUMBER;

   BEGIN               ...mo_utils.get_default_ou (l_default_org_id, l_default_ou_name, l_ou_count);

ARAMETER.mo_default_org_id) := l_default_org_id;

:PARAMETER.mo_default_ou_name := l_default_ou_name;

:PARAMETER.mo_ou_count := l_ou_count;
...

END;

WHEN-Create-Record

IF :parameter.mo_default_org_id is NOT NULL and :block.org_id is NULL THEN

:block.org_id := :parameter.mo_default_org_id);

:block.operating_unit := :parameter.mo_default_ou_name;

END IF;
C.在各个触发器实现多OU的支持的代码


WHEN-Create-Record Trigger of Operating Unit Field Block


IF (:parameter.mo_default_org_id IS NOT NULL ) THEN

-- Defaulting org_id from profile option
:block.org_id := :parameter.mo_default_org_id;
:block.operating_unit := :parameter.mo_default_ou_name;
-- Set policy context
mo_global.set_policy_context('S',:block.org_id);

ELSE
mo_global.set_policy_context('M', NULL);

END IF;

IF :<your block name.org_id> is NOT NULL\


IF :<block name.org_id> <> NVL(:<parameter.old_org_id>,-99) THEN


-- Get the cache for current org


END IF;

ELSE


-- Refresh the cache

...

END IF;

WHEN-VALIDATE-Item Trigger of Operating Unit field

IF (:<your block name.org_id> IS NOT NULL ) THEN
IF :<block name.org_id> <> NVL(:<parameter.old_org_id>,-99) THEN
mo_global.set_policy_context('S', :block.org_id);
-- Get the cache for the current org
END IF;

ELSE -- :block.org_id is null
mo_global.set_policy_context('M', NULL);
-- Refresh the cache

END IF;

WHEN-New-Record-Instance Trigger of Operating Unit Field Block

IF (:<your block name.org_id> IS NOT NULL ) THEN
IF :<block name.org_id> <> NVL(:<parameter.old_org_id>,-99) THEN
mo_global.set_policy_context('S', :block.org_id);
-- Get the cache for the current org
END IF;

ELSE -- :block.org_id is null, so set the context to multiple


mo_global.set_policy_context('M', NULL);

-- Refresh the cache

END IF;

Pre-Insert Trigger of Operating Unit Field Block

USE this trigger if the form allows the USER to commit multiple records.

IF (:<your block name.org_id> IS NOT NULL ) THEN
IF :<block name.org_id> <> NVL(:<parameter.old_org_id>,-99) THEN
mo_global.set_policy_context('S', :block.org_id);
-- Get the cache for the current org
END IF;

ELSE -- :block.org_id is null, so set the context to multiple
mo_global.set_policy_context('M', NULL);


-- Refresh the cache

END IF;

Pre-Query Trigger of Operating Unit Field Block

BEGIN
   IF :parameter.mo_ou_count = 1
   THEN
      mo_global.set_policy_context (‘S’, :parameter.mo_default_org_id);
   ELSE
      mo_global.set_policy_context ('M', NULL);
   END IF;
-- Other Code

END;

Pre-Record Trigger of Operating Unit Field Block
USE this trigger if the form forces the USER to commit each record.

IF (:parameter.current_record is NOT NULL and

:parameter.current_record != :SYSTEM.trigger_record) THEN
IF (:SYSTEM.form_status in ('CHANGED','INSERT')) THEN

mo_global.set_policy_context('S', :parameter.old_org_id);

-- Get the cache for the current org

-- raise error message to the user to commit;

-- raise form_trigger_failure;
ELSE

-- No pending commits.

-- Reset the current record variable.

:parameter.current_record := '';
END IF;

ELSE


-- User has not navigated to another record.
-- Do not reset the current record variable.


NULL;

END IF;

Pre-Update Trigger
USE this trigger if the form allows the USER to commit multiple records commits that are in different operating units.

IF (:<your block name.org_id> IS NOT NULL ) THEN
IF :<block name.org_id> <> NVL(:<parameter.old_org_id>,-99) THEN
mo_global.set_policy_context('S', :block.org_id);

-- Get the cache for the current org
END IF;

END IF;

 

分享到:
评论

相关推荐

    SQL VS2003的平时一些小记录

    描述中提到,“里面包括平时的一些记录,是记录了但都没看过也没用过”,这暗示了这个压缩包可能包含作者在学习或工作中积累的笔记、代码片段、问题解决方案或者教程,可能涵盖SQL查询编写、数据库设计、VS项目设置...

    SQL SERVER2000数据库学生信息系统

    《SQL SERVER2000数据库学生信息系统详解》 在信息技术领域,...尽管SQL SERVER 2000已经不再是最新的数据库系统,但其在教育信息化领域积累的实践经验,对于理解现代数据库系统的设计和应用仍有重要的参考价值。

    《SQL数据库设计与实现》“4 1”考核模式的改革与实践.pdf

    这种模式鼓励学生在实践中学习和运用SQL知识,比如编写SQL语句、构建数据库项目,同时促进团队协作和问题解决能力的提升。项目设计要求学生运用所学设计并实现一个数据库系统,测试他们的综合运用能力;案例分析则...

    自己平时写的一些小例子

    很抱歉,根据您提供的信息,标题“自己平时写的一些小例子”表明这可能是一个包含个人编程练习或示例代码的压缩包。然而,描述部分似乎并非相关知识点的描述,而是一串无意义的重复词语。标签“fdfdf”也没有提供...

    数据库原理与应用课程说明PPT学习教案.pptx

    2. 操作技能:熟悉SQL Server的各项操作,包括创建、修改和查询数据库对象,以及执行T-SQL语句进行数据处理。 3. 应用系统开发:了解数据库在实际应用系统设计中的作用,学习如何进行需求分析、数据库设计和系统开发...

    PHP 开发PHP公共课平时成绩查询系统(源代码+论文+答辩PPT).rar

    2. **数据库连接与查询**:在成绩查询系统中,数据库是核心部分。通常使用MySQL作为后端存储,通过PHP的PDO(PHP Data Objects)或mysqli扩展进行数据库连接。开发者需要掌握SQL语言,用于创建、更新、查询数据库表...

    常用的脚本

    描述中的“平时常用的一些sql,供大家参考”表明这些脚本是作者或团队在实际工作中积累下来的经验总结,旨在分享给其他数据库管理员(DBA)作为参考。 #### 知识点详解 ##### 1. 查询表空间大小 **脚本**: ```sql ...

    oracle数据迁移到db2数据库的实现方法(分享)

    Oracle 数据迁移到 DB2 数据库是一项常见的任务,特别是在企业级应用中,可能因为各种原因需要进行数据平台的更换。...同时,平时的学习和积累是关键,了解数据库的各种知识,以便在面临类似任务时能够得心应手。

    计算机二级考试高频试题.pdf

    2. 数据库基础:识别到的“SQL”提示这可能与数据库相关的知识有关,SQL(Structured Query Language,结构化查询语言)是操作数据库的核心语言,考试中会测试考生对基本SQL语句的掌握,如增、删、改、查等操作。...

    Demo:平时写的一些代码功能例子

    我们可能会在代码中找到使用PDO或mysqli扩展进行数据库连接、执行SQL语句和处理结果集的例子。 5. **表单处理** Web应用中,用户输入的处理是常见的需求。PHP可以接收HTTP请求的数据,例如通过$_POST或$_GET全局...

    MAS:研究总结和最佳实践

    这是一个学习的项目,用来总结平时用的技术。 将学习到的新技术积累在该项目下,以便在...使用logback打印mybatis sql语句 规划学习路径 集成kafkamq、rabbitMQ 添加常用的工具类 如StringUtil、DateUtil 多线程编程 热

    blog:博客原始码包括前台和后台管理系统记录平时工作,生活的一些经验和感受,会持续更新,技术栈采用angular7 + ng-zerro + koa2 + mysql

    开发者可以利用其丰富的SQL语句进行数据操作,确保数据的安全性和一致性。 整个博客系统的架构可以这样描述:前端部分,用户通过Angular7和ng-zorro构建的用户界面浏览、发表和管理文章;后端部分,Koa2处理HTTP...

    Python-北邮部分机试题整理

    以下是基于这些试题整理出的一些核心知识点: 1. **Python基础语法**:包括变量声明、数据类型(如整型、浮点型、字符串、布尔型、列表、元组、字典、集合)、运算符(算术、比较、逻辑、位运算符)、流程控制(if-...

    南开上机100题 计算机二级

    11. 实际操作:在上机考试中,考生需要具备分析问题、查找资料、独立解决问题的能力,这需要在平时多做练习,积累经验。 "南开100题1.txt"可能包含了上述知识点的题目,考生可以通过解答这些题目来检验自己的知识...

    学生成绩管理系统的综合应用

    这些数据可以存储在数据库中,如MySQL或SQLite,通过SQL语句进行增删改查操作。 系统的核心功能可能包括以下几个部分: 1. **用户管理**:创建、修改和删除学生和教师账号,设置权限,确保数据的安全性。 2. **...

    东北大学 计算机考研 往届题目

    【东北大学计算机考研 往届题目】是针对有意报考东北大学计算机专业研究生的学生们的重要参考资料。这份资料集合了历年来的考研试题...同时,也要注重平时的知识积累和实践能力的培养,以应对可能出现的新题型和变化。

    毕业设计选题管理系统的设计与实现.zip

    2. **MyBatis**:持久层框架,方便数据库操作,支持SQL动态语句。 3. **Thymeleaf**或JSP:视图模板引擎,用于渲染前端页面。 4. **Maven或Gradle**:构建工具,管理项目依赖和构建流程。 5. **MySQL**:可能是用作...

    C#学生成绩管理系统(三层架构、CS,BS版本)

    同时,系统可能还会涉及数据库设计,如ER图的绘制,表结构的优化,以及SQL查询语句的编写。 总的来说,C#学生成绩管理系统是一个典型的C/S和B/S结合的应用,它展示了C#在开发企业级应用中的强大能力。通过对三层...

    java参考文件

    这份“java参考文件”包含了平时积累的小知识,是学习和理解Java技术的好资源。以下是一些核心的Java知识点: 1. **Java基础**:Java的基础包括语法、变量、数据类型、运算符、流程控制(如if-else,for,while循环...

    学生信息管理系统

    在实际开发过程中,学生可以深入学习德phi的事件驱动编程模型、数据库连接技术(如ADO或BDE)、SQL查询语句的使用等,从而提高编程技能和解决问题的能力。此外,课程设计中还需要考虑系统的可扩展性和维护性,为未来...

Global site tag (gtag.js) - Google Analytics