iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >EBS 并发请求 计划 fnd_conc_release_classes
  • 995
分享到

EBS 并发请求 计划 fnd_conc_release_classes

2024-04-02 19:04:59 995人浏览 安东尼
摘要

EBS并发请求中有可以设置计划用以定时运行,计划存储在 fnd_conc_release_classes 表中,通过release_class_id与请求表fnd_concurrent_requests关联

EBS并发请求中有可以设置计划用以定时运行,计划存储在 fnd_conc_release_classes 表中,通过release_class_id与请求表fnd_concurrent_requests关联。

详细信息如下:


RELEASE_CLASS_ID: 主键,与fnd_concurrent_requests关联.

CLASS_TYPE: contains value 'P' for "Periodic" schedules, 'S' for "on Specific Days" schedules and 'X' for "advanced schedules".  P:定期,S:在特定日期,X:高级

DATE1: start date of the schedule ("Start at" field in the fORM) 起始日期

DATE2: end date of the schedule ("End at" field in the form), as fnd_concurrent_requests.resubmit_end_date 终止日期

CLASS_INFO: this is the most interesting field as it contains all the information needed for rescheduling. The format of the field depends on the type of schedule. 因计划类型的不同,数据格式也随之出现差异.


"PERIODIC" schedule: 定期

In case of Periodic schedule fnd_conc_release_classes.CLASS_INFO field contains values like "2:D:S" or X:Y:Z where:

X – number of months/weeks/days/hours/minutes the request has to be rescheduled from prior run.

Y – contains a single letter representing units

"M" – months;

"D" – days;

"H" – hours;

"N" – minutes;

(there is no representation of "weeks" option. If you specify interval in weeks, it’s automatically calculated and stored in "days").

Z – contains a single letter to represent if the rescheduling has to be done from start or from completion of the prior run

S – from the start of the prior run;

C – from the completion of the prior run.

Some samples:

30:N:S – Repeat every 30 minutes from the start of the prior run

5:N:C – Repeat every 5 minutes from the completion of the prior run

12:H:S – Repeat every 12 hours from the start of the prior run

It’s interesting that information about intervals of periodic schedules is duplicated infnd_concurrent_requests table fields RESUBMIT_INTERVAL, RESUBMIT_INTERVAL_TYPE_CODE and RESUBMIT_INTERVAL_UNIT_CODE.


"ON SPECIFIC DAY" schedule: 在特定日期

In case of on Specific Day schedule fnd_conc_release_classes.CLASS_INFO field contains values like "000010000000000000000000000000010000000" – a 39 character value consisting of 0 and 1. The idea is that the placement of 1-s represent the options selected through form:

1-s at places 1 to 31 – represent dates, when request has to be run, eg, if the 10th character is "1" – the request is scheduled to run on 10th day of each month;

character "1" at the 32nd position – specifies that the request has to be run at the last day of each month;

1-s at places 33 to 39 – specifies days of week (Sunday – Saturday)the request has to be run. if the 33rd character is "1" – the request is scheduled to run each Sunday, if 34th – on Monday and so on.

Some samples:

000000000000000000000000000000000000001 – Days of week: Sa

111111111000000000000000000000000111110 – Dates: 1 2 3 4 5 6 7 8 9. Days of week: Mo Tu We Th Fr

000000000000000000000000000000010000000 – Last day of month


最后,奉上一段sql:

SELECT r.Request_Id,
       p.User_Concurrent_Program_Name || CASE
           WHEN p.User_Concurrent_Program_Name = 'Report Set' THEN
            (SELECT ' - ' || s.User_Request_Set_Name
               FROM Fnd_Request_Sets_Tl s
              WHERE s.Application_Id = r.Argument1
                AND s.Request_Set_Id = r.Argument2
                AND LANGUAGE = 'US')
           WHEN p.User_Concurrent_Program_Name = 'Check Periodic Alert' THEN
            (SELECT ' - ' || a.Alert_Name
               FROM Alr_Alerts a
              WHERE a.Application_Id = r.Argument1
                AND a.Alert_Id = r.Argument2
                AND LANGUAGE = 'US')
       END Concurrent_Program_Name,
       CASE
           WHEN p.User_Concurrent_Program_Name != 'Report Set' AND
                p.User_Concurrent_Program_Name != 'Check Periodic Alert' THEN
            r.Argument_Text
       END Argument_Text,
       r.Requested_Start_Date Next_Run,
       r.Hold_Flag On_Hold,
       Decode(c.Class_Type,
              'P',
              'Periodic',
              'S',
              'On Specific Days',
              'X',
              'Advanced',
              c.Class_Type) Schedule_Type,
       CASE
           WHEN c.Class_Type = 'P' THEN
            'Repeat every ' ||
            Substr(c.Class_Info, 1, Instr(c.Class_Info, ':') - 1) ||
            Decode(Substr(c.Class_Info,
                          Instr(c.Class_Info, ':', 1, 1) + 1,
                          1),
                   'N',
                   ' minutes',
                   'M',
                   ' months',
                   'H',
                   ' hours',
                   'D',
                   ' days') ||
            Decode(Substr(c.Class_Info,
                          Instr(c.Class_Info, ':', 1, 2) + 1,
                          1),
                   'S',
                   ' from the start of the prior run',
                   'C',
                   ' from the completion of the prior run')
           WHEN c.Class_Type = 'S' THEN
            Nvl2(Dates.Dates, 'Dates: ' || Dates.Dates || '. ', NULL) ||
            Decode(Substr(c.Class_Info, 32, 1), '1', 'Last day of month ') ||
            Decode(Sign(To_Number(Substr(c.Class_Info, 33))),
                   '1',
                   'Days of week: ' ||
                   Decode(Substr(c.Class_Info, 33, 1), '1', 'Su ') ||
                   Decode(Substr(c.Class_Info, 34, 1), '1', 'Mo ') ||
                   Decode(Substr(c.Class_Info, 35, 1), '1', 'Tu ') ||
                   Decode(Substr(c.Class_Info, 36, 1), '1', 'We ') ||
                   Decode(Substr(c.Class_Info, 37, 1), '1', 'Th ') ||
                   Decode(Substr(c.Class_Info, 38, 1), '1', 'Fr ') ||
                   Decode(Substr(c.Class_Info, 39, 1), '1', 'Sa '))
       END Schedule,
       c.Date1 Start_Date,
       c.Date2 End_Date,
       c.Class_Info
  FROM Fnd_Concurrent_Requests r,
       Fnd_Conc_Release_Classes c,
       Fnd_Concurrent_Programs_Tl p,
       (SELECT Release_Class_Id,
               Substr(MAX(Sys_Connect_By_Path(s, ' ')), 2) Dates
          FROM (SELECT Release_Class_Id,
                       Rank() Over(PARTITION BY Release_Class_Id ORDER BY s) a,
                       s
                  FROM (SELECT c.Class_Info,
                               l,
                               c.Release_Class_Id,
                               Decode(Substr(c.Class_Info, l, 1),
                                      '1',
                                      To_Char(l)) s
                          FROM (SELECT LEVEL l FROM Dual CONNECT BY LEVEL <= 31),
                               Fnd_Conc_Release_Classes c
                         WHERE c.Class_Type = 'S')
                 WHERE s IS NOT NULL)
        CONNECT BY PRIOR
                    (a || Release_Class_Id) = (a - 1) || Release_Class_Id
         START WITH a = 1
         GROUP BY Release_Class_Id) Dates
 WHERE r.Phase_Code = 'P'
   AND c.Application_Id = r.Release_Class_App_Id
   AND c.Release_Class_Id = r.Release_Class_Id
   AND Nvl(c.Date2, SYSDATE + 1) > SYSDATE
   AND c.Class_Type IS NOT NULL
   AND p.Concurrent_Program_Id = r.Concurrent_Program_Id
   AND p.Application_Id = r.Program_Application_Id
   AND p.Language = 'US'
   AND Dates.Release_Class_Id(+) = r.Release_Class_Id
 ORDER BY On_Hold, Next_Run;


您可能感兴趣的文档:

--结束END--

本文标题: EBS 并发请求 计划 fnd_conc_release_classes

本文链接: https://www.lsjlt.com/news/40472.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么查询当前用户所有的表
    要查询当前用户拥有的所有表,可以使用以下 sql 命令:select * from user_tables; 如何查询当前用户拥有的所有表 要查询当前用户拥有的所有表,可以使...
    99+
    2024-05-15
    oracle
  • oracle怎么备份表中数据
    oracle 表数据备份的方法包括:导出数据 (exp):将表数据导出到外部文件。导入数据 (imp):将导出文件中的数据导入表中。用户管理的备份 (umr):允许用户控制备份和恢复过程...
    99+
    2024-05-15
    oracle
  • oracle怎么做到数据实时备份
    oracle 实时备份通过持续保持数据库和事务日志的副本来实现数据保护,提供快速恢复。实现机制主要包括归档重做日志和 asm 卷管理系统。它最小化数据丢失、加快恢复时间、消除手动备份任务...
    99+
    2024-05-15
    oracle 数据丢失
  • oracle怎么查询所有的表空间
    要查询 oracle 中的所有表空间,可以使用 sql 语句 "select tablespace_name from dba_tablespaces",其中 dba_tabl...
    99+
    2024-05-15
    oracle
  • oracle怎么创建新用户并赋予权限设置
    答案:要创建 oracle 新用户,请执行以下步骤:以具有 create user 权限的用户身份登录;在 sql*plus 窗口中输入 create user identified ...
    99+
    2024-05-15
    oracle
  • oracle怎么建立新用户
    在 oracle 数据库中创建用户的方法:使用 sql*plus 连接数据库;使用 create user 语法创建新用户;根据用户需要授予权限;注销并重新登录以使更改生效。 如何在 ...
    99+
    2024-05-15
    oracle
  • oracle怎么创建新用户并赋予权限密码
    本教程详细介绍了如何使用 oracle 创建一个新用户并授予其权限:创建新用户并设置密码。授予对特定表的读写权限。授予创建序列的权限。根据需要授予其他权限。 如何使用 Oracle 创...
    99+
    2024-05-15
    oracle
  • oracle怎么查询时间段内的数据记录表
    在 oracle 数据库中查询指定时间段内的数据记录表,可以使用 between 操作符,用于比较日期或时间的范围。语法:select * from table_name wh...
    99+
    2024-05-15
    oracle
  • oracle怎么查看表的分区
    问题:如何查看 oracle 表的分区?步骤:查询数据字典视图 all_tab_partitions,指定表名。结果显示分区名称、上边界值和下边界值。 如何查看 Oracle 表的分区...
    99+
    2024-05-15
    oracle
  • oracle怎么导入dump文件
    要导入 dump 文件,请先停止 oracle 服务,然后使用 impdp 命令。步骤包括:停止 oracle 数据库服务。导航到 oracle 数据泵工具目录。使用 impdp 命令导...
    99+
    2024-05-15
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作