壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2357|回复: 4

关于后台程序调用请求的问题

[复制链接]
发表于 2008/11/19 11:30:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
现在有一个需求
有一个独立的系统a,和EBS用通一个DB,不同用户
我想在那个a系统下运行一段PL/SQL来调用EBS中的请求
请问能实现吗
或者用什么好的解决方案吗

多谢各位赐教
发表于 2008/11/19 12:27:40 | 显示全部楼层
如果是同一个db的同一个instance的话,让dba给你的那个db的用户做一下授权,是可以调用的。
  -- 先找个ebs 里边的用户的uid,和相应的那几个id,初始化一下,你在a系统跑了之后,这个请求就会在ebs里边按照下面的 uid,职责,产品去运行。
    fnd_global.apps_initialize(user_id      => c1.userid,
                             resp_id      => c1.rep_id,
                             resp_appl_id => 800);
l_request_id := fnd_request.submit_request('XX',
                                               'XXXX,
                                               '',
                                               '',
                                               FALSE,
                                               'RUN',
                                               c1.emp,
                                               1,
                                               '2008/10/31 00:00:00',
                                               '2008/10/31 00:00:00',
                                               '',
                                               '',
                                               '',
                                               '');
 楼主| 发表于 2008/11/19 12:34:52 | 显示全部楼层
把你说的这些写在一个Procedure中,那么这个Procedure需不需要在并发管理器中定义呢
昨天我想过这个方法,当时的想法是这个Procedure也需要在并发管理器中定义
所以不可以的
想问你一下
不需要定义并发,可以执行系统请求吗 2# gaoyiming
 楼主| 发表于 2008/11/19 14:14:59 | 显示全部楼层
OK!问题解决!
谢谢二楼!
和你说的一样
我把应用简称给写错了  。。。

评分

参与人数 1努力值 +5 收起 理由
纵横四海 + 5 请将你的做法反馈到论坛。谢谢

查看全部评分

发表于 2008/11/19 14:39:37 | 显示全部楼层
提交并发请求 (CONCSUB)

您可以使用操作系统中的 CONCSUB 公用程序提交并发程序并进行测试。

语法
您可以提交并发请求,以便通过使用以下语法运行 CONCSUB 程序来运行任何并发程序:

$ CONCSUB <APPS username>/<APPS password> \
<responsibility application short name> \
<responsibility name> \
<username> \
[WAIT=N|Y|<n seconds>] \
CONCURRENT \
<program application short name> \
<program name> \
[PROGRAM_NAME="<description>"] \
[REPEAT_TIME=<resubmission time>] \
[REPEAT_INTERVAL= <number>] \
[REPEAT_INTERVAL_UNIT=< resubmission unit>] \
[REPEAT_INTERVAL_TYPE=< resubmission type>] \
[REPEAT_END=<resubmission end date and time>] \
[START=<date>] \
[IMPLICIT=< type of concurrent request> \
[<parameter 1> ... <parameter n>]
对于紧跟在 CONCURRENT 参数之后且包含空格的参数,请在参数变元两边加上双引号,在此基础上再加上单引号。Oracle Application Object Library 要求使用此语法是因为它会对变元字符串作两次语法分析。例如,要将以下变元传递给程序:

This is an example
通过 CONCSUB 来传递此变元:

'"This is an example"'
实例
这是一个运行 CONCSUB 的命令实例:

$ CONCSUB APPS/APPS \
SYSADMIN \
"System Administrator" \
SYSADMIN \
WAIT=N \
CONCURRENT \CONCURRENT \
FND \
FNDFMRTC \
PROGRAM_NAME='"Register Custom Tables Weekly"' \
REPEAT_INTERVAL=7 \
REPEAT_INTERVAL_UNIT="DAYS" \
REPEAT_INTERVAL_TYPE="START" \
START='"08-JUN-96 23:55:00"'
CGL
APPLSYS
ALL
CGL
参数
以下各项向您介绍通过 CONCSUB 提交并发程序时使用的必需参数和可选参数。右侧列出了默认参数值。

用户名/口令  必需。ORACLE 用户名和口令,提供对程序所用数据的访问权限。  
责任应用简称  必需。您要使用其并发处理选项的责任应用简称。  
责任名  必需。责任的名称。如果责任名中包含空格,请在该名称两边加上双引号。  
用户名  必需。您要使用其并发处理选项的应用用户的大写用户名。  
WAIT  可选。此标志指明是否等待提交的请求完成。如果忽略此参数,则默认值为 N,CONCSUB 会让您返回到操作系统提示状态,而不等待请求完成。  
如果设置为 WAIT=Y,CONCSUB 会每隔 60 秒检查一次请求状态,并且在请求完成时让您返回到操作系统提示状态。您也可以为间隔秒数输入一个整数值(如 WAIT=30),这样 CONCSUB 会每隔 <number> 秒检查请求是否完成。  

注意:使用 WAIT=Y 或 WAIT=<number> 时,您必须在 CONCSUB 让您返回到操作系统之前完成请求。如果并发管理器关闭,则 CONCSUB 流程将一直等待直到并发管理器启动并且请求完成为止。

CONCURRENT  必需。此标志区分程序特定参数和操作系统参数。  
程序应用简称  必需。并发程序的应用简称。  
程序名  必需。程序的大写名。它必须是在定义并发程序时您在“并发程序”窗口中输入的简称。  
PROGRAM_NAME  可选。程序的说明性名称。“查看请求”表单的程序字段会显示用户友好程序名。最终用户通常很难理解传递给 CONCSUB 的并发程序简称,因此,PROGRAM_NAME 参数允许您传递更易于记忆的并发程序名。如果未指定 PROGRAM_NAME,则“查看请求”表单将显示在“并发程序”窗口中指定的用户友好程序名。  
您也可以使用 PROGRAM_NAME 参数来表示请求所处理的程序批(用于处理一组数据),其中一个程序可以同时存在几个有效的请求。  
REPEAT_TIME  可选。重新提交请求的时间。时间格式为 HH24:MI 或 HH24:MI:SS。例如,REPEAT_TIME=14:30 表示在每天下午 2:30 重新提交请求。  

注意:除可选参数 REPEAT_END 和 START 之外,请勿将 REPEAT_TIME 与其它重新提交参数一起使用。

REPEAT_INTERVAL  可选。重新提交的时间间隔(正整数或实数)。此参数与 REPEAT_INTERVAL_UNIT 配合使用,以便指定重新提交的时间间隔。  
REPEAT_INTERVAL_UNIT  可选。重新提交的时间间隔所用的时间单位。可用单位为“分钟”、“小时”、“天”或“月”。此参数与 REPEAT_INTERVAL 配合使用,以指定重新提交的时间间隔。例如,设置 REPEAT_INTERVAL=12 和 REPEAT_INTERVAL_UNIT=HOURS 表示每隔十二小时重新提交一次请求。默认值为“天”。  

注意:请勿将 REPEAT_INTERVAL 和 REPEAT_INTERVAL_UNIT 与 REPEAT_TIME 一起使用。

REPEAT_INTERVAL_TYPE  可选。指明重新提交的时间间隔是从提交请求的起始时间开始算起,还是从完成提交开始算起。将此参数设置为 START 或 END。默认值为 START。  

注意:仅当使用 REPEAT_INTERVAL 时才能使用 REPEAT_INTERVAL_TYPE。

REPEAT_END  可选。停止重新提交并发请求的日期和时间。请使用以下格式之一作为终止日期的格式:  
'"DD-MON-RR HH24:MI:SS"'(如 '"07-APR-01 18:32:05"')  
或  
'"DD-MON-RRRR HH24:MI:SS"'(如 '"07-APR-2001 18:32:05"')  
请注意,因为此日期格式包含空格,所以您必须在该日期两边加上双引号和单引号。您也可以只指定日期:  
'DD-MON-RR'  
或  
'DD-MON-RRRR'  
START  可选。程序的起始日期和时间,格式如下:  
'"DD-MON-RR HH24:MI:SS"'(如 '"07-APR-98 18:32:05"')  
因为此日期格式包含空格,您必须在该日期两边加上双引号和单引号。如果未指定起始时间,程序将立即提交,并由下一个可用的并发管理器执行处理。默认值为当前时间。  
IMPLICIT  可选。指明是否在“查看请求”表单中显示此并发请求。请指定 NO, YES, ERROR 或 WARNING。如果值 IMPLICIT=NO,则允许在“查看请求”表单中显示此请求。默认值为 NO。  
IMPLICIT=YES 表示只有系统管理员授权的“查看并发请求”表单才可以显示此请求。如果请求未引起用户的注意,则可以使用此值。  
如果要求请求仅在失败或以警告状态完成时才显示出来,请分别指定 IMPLICIT=ERROR 或 IMPLICIT=WARNING。  
REPEAT_DAYS  可选。从上一个请求起始日期算起,重新提交并发请求的天数。此天数可以是正整数或实数。例如,REPEAT_DAYS=1.5 即表示每 36 小时重新提交一次请求。  

注意:除可选参数 REPEAT_END 和 START 之外,请勿将 REPEAT_DAYS 与其它重新提交参数一起使用。

建议:REPEAT_DAYS 参数在将来版本中已不再使用。因此您可能要使用 REPEAT_INTERVAL, REPEAT_INTERVAL_TYPE 和 REPEAT_INTERVAL_UNIT,而不要再使用 REPEAT_DAYS。

参数 1...参数 n  可选。程序特定参数。如果参数包含空格,请在该参数两边加上双引号,在此基础上再加上单引号。如果参数变元中包含双引号,请在双引号前面加一个反斜杠 [\]。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 16:57 , Processed in 0.021372 second(s), 18 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表