EBS中FND_REQUEST.SUBMIT_REQUEST的一点介绍

学习PO的时候,遇到一个Quotation Import的问题,然后在程式中看到以下部分,特记录下来。

   1:   
   2:    l_request_id := fnd_request.submit_request('XAO',
   3:                                               'XXAOIPO_R0007A',
   4:                                               'Upload Quotations to Interface.',
   5:                                               to_char(SYSDATE,
   6:                                                       'YYYY/MM/DD HH24:MI:SS'),
   7:                                               FALSE,
   8:                                               p_file_name,
   9:                                               fnd_global.local_chr(0));

fnd_request.submit_request函数是用来提交一个请求的,它返回一个NUMBER值,具体调用如下:

   1:  BEGIN
   2:    :RESULT := fnd_request.submit_request(application CHAR, --AP模快 
   3:                                          program CHAR, --应用程序 
   4:                                          description CHAR, --请求说明(可选) 
   5:                                          start_time CHAR, --RUN 时间(可选) 
   6:                                          sub_request BOOLEAN, --立刻提交请求 
   7:                                          argument1 CHAR, --参数1 
   8:                                          argument2 CHAR, --参数2 
   9:                                          argument3 CHAR, --参数3 
  10:                                          argument4 CHAR, --参数4 
  11:                                          argument5 CHAR, --参数5....... 
  12:                                          argument100 CHAR);
  13:  END;

具体参数的意义可以参考上面两段程式。

补充说明:

          在用fnd_request.submit_request的时候,第五个参数用false,不要被参数名称误导(没具体测试);

          这个函数有105个参数,前面5个定义请求本身,后面100个是传递给请求的具体参数,都是Char类型,

          如果不是Char的话我们需要转换,默认值是Chr(0),代表这个参数不用传递给调用的请求;

          在package里面调用只需要传递需要的参数个数,因为它有默认值指示结束;而在form里面则不行,要写满105个,而且我们参数结束之后要用一个Chr(0)来表示结束。例如:

   1:  BEGIN
   2:    fnd_request.submit_request('AR',
   3:                               'SVAINEX_P',
   4:                               '',
   5:                               '',
   6:                               FALSE,
   7:                               :parameter.invoice_store,
   8:                               chr(0),
   9:                               '','','',
  10:                               '','','','','','','','','','','','','','','','','','','','',
  11:                               '','','','','','','','','','','','','','','','','','','','',
  12:                               '','','','','','','','','','','','','','','','','','','','',
  13:                               '','','','','','','','','','','','','','','','','','','','',
  14:                               '','','','','','','','','','','','','','','');
  15:  END;

如果正常提交会返回request ID,否则就是有异常出现了。

原文地址:https://www.cnblogs.com/echochen/p/2049202.html