使用API创建AR 贷项通知单

DECLARE
  --8000000063
  l_dummy              varchar2(240);
  l_customer_trx_id    ra_customer_trx.customer_trx_id%type;
  l_line_credits_flag  ra_cm_requests.line_credits_flag%type;
  l_line_amount        number;
  l_freight_amount     number := 0;
  l_cm_lines_tbl       arw_cmreq_cover.cm_line_tbl_type_cover;
  l_cm_reason_code     varchar2(150);
  l_comments           varchar2(150);

  l_msg_count          number := 0;
  l_msg_data           varchar2(20000) := null;
  l_return_status      varchar2(1);
  l_request_id         NUMBER;
  l_batch_source_name  varchar2(150) default null;

  cm_trx_id            number;

BEGIN

   -- c. Set the applications and org context
   fnd_global.apps_initialize(1110,50683,222);

   mo_global.init('AR');
   mo_global.set_policy_context('S',121);

   -- d. provide CUSTOMER_TRX_ID of the invoice to credit
   l_customer_trx_id := 165023;

   l_comments := 'Demo for Create_Request API';

   -- e. Populate Batch Source information
   l_batch_source_name := 'OM前受';

   -- f. the presence of l_cm_lines_tbl indicates this is a LINE-LEVEL credit
   -- details for (1) are credits against line #1 identified by customer_trx_line_id = 824472
   l_cm_lines_tbl(1).customer_trx_line_id := 403228;
   l_cm_lines_tbl(1).quantity_credited := null;
   l_cm_lines_tbl(1).price := null;
   l_cm_lines_tbl(1).extended_amount := -151000;

   -- details for (2) are credits against line #2 identified by customer_trx_line_id = 824473
   --l_cm_lines_tbl(2).customer_trx_line_id := 824473;
   --l_cm_lines_tbl(2).quantity_credited := -2;
   --l_cm_lines_tbl(2).price := 2000.00;
   --l_cm_lines_tbl(2).extended_amount := -4000.00;

   -- g. call CREATE_REQUEST
   AR_CREDIT_MEMO_API_PUB.CREATE_REQUEST(
      P_API_VERSION => 1.0,
      P_INIT_MSG_LIST => FND_API.G_TRUE,
      P_COMMIT => FND_API.G_FALSE,
      P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
      P_CUSTOMER_TRX_ID => l_customer_trx_id,
      P_LINE_CREDIT_FLAG => 'Y',
      P_CM_REASON_CODE => 'RETURN',
      P_CM_LINE_TBL => l_cm_lines_tbl,
      P_SKIP_WORKFLOW_FLAG => 'Y',
      P_CREDIT_METHOD_INSTALLMENTS => null,
      P_CREDIT_METHOD_RULES => null,
      P_BATCH_SOURCE_NAME => l_batch_source_name,
      P_ORG_ID => 121,
      X_REQUEST_ID => l_request_id,
      X_RETURN_STATUS => l_return_status,
      X_MSG_COUNT => l_msg_count,
      X_MSG_DATA => l_msg_data);

   -- h. return information about the status of the API run
   FND_MSG_PUB.count_and_get (
      p_encoded => FND_API.g_false,
      p_count => l_msg_count,
      p_data => l_msg_data );

   dbms_output.put_line('Return Status ==> '||l_return_status);
   dbms_output.put_line('Credit Memo request_id ==> '||l_request_id);
   dbms_output.put_line('l_msg_count ==> '||l_msg_count);

   -- i. display messages from the message stack
   FOR I IN 1..L_MSG_COUNT LOOP
       DBMS_OUTPUT.PUT_LINE(SUBSTR(FND_MSG_PUB.GET(P_MSG_INDEX => I, P_ENCODED => 'F'), 1, 254));
   END LOOP;

   IF l_return_status <> 'S' THEN
      NULL;
   ELSE
     select cm_customer_trx_id
     into cm_trx_id
     from ra_cm_requests_all
     where request_id = l_request_id;

     dbms_output.put_line(' CM trx_id = '|| cm_trx_id );
     -- You can issue a COMMIT; at this point if you want to save the created credit memo to the database
   END IF;

EXCEPTION
WHEN OTHERS THEN
   dbms_output.put_line('exception error!');
   dbms_output.put_line(substr(sqlerrm, 1, 80));
   fnd_message.retrieve(l_dummy);
   dbms_output.put_line(l_dummy);
END;

参考文档:

Oracle Receivables Credit Memo API: Setup and Sample Scripts (Doc ID 1272600.1)

时间: 2024-10-11 14:28:09

使用API创建AR 贷项通知单的相关文章

VBA api创建进度条

Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwE As Long, ByVal lpC As String, ByVal lpW As String, ByVal dwS As Long, ByVal x As Long, ByVal y As Long, ByVal nW As Long, ByVal nH As Long, ByVal h

使用Azure REST API创建虚拟机

使用Azure REST API创建虚拟机 使用REST API创建虚拟机之前,首先要确保Azure订阅中已经建好了"云服务"和"存储账号".如果没有的话,可以使用Azure管理页面,或Powershell命令行工具,或REST API来创建云服务和存储账号. https://msdn.microsoft.com/library/gg441304.aspx https://azure.microsoft.com/zh-cn/documentation/article

Web Api系列教程第2季(OData篇)(二)&mdash;&mdash;使用Web Api创建只读的OData服务

前言 很久没更新了,之前有很多事情,所以拖了很久,非常抱歉.好了,废话不多说,下面开始正题.本篇仍然使用上一季的的项目背景(系列地址http://www.cnblogs.com/fzrain/p/3490137.html)来演示OData服务,因此我们可以直接使用之前建好的数据访问层.但是不是说一定要看到之前的所有内容,我们只是借用数据库访问层,对于数据库的模型构建移步(使用Entity Framework Code First构建数据库模型). 有了数据访问的基础,我们可以开始构建OData服

SharePoint 2013 中代码创建列表查阅项字段

1.首先,打开VS创建两个List Definition,分别是Address和City,如下图: 2.City列表里修改Title为City Name,其实内部名称还是Title,注意一下: 3.给City的列表实例,添加几个值,用来测试使用,如下: 4.在Address列表里添加几个字段,分别是CityName(LookUp类型)和HomeAddress(Single Line of Text),如下: 5.查看Address列表的Schema.Xml,尤其是Fields节点,也就是字段,如

使用hbase的api创建表时出现的异常

1 /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Didea.launcher.port=7538 -Didea.launcher.bin.path=/usr/local/idea-IC-139.225.3/bin -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jr

TFS API : 四、工作项查询

TFS API : 四.工作项查询 本节将讲述如何查询工作项,将用户统计数据. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from workitems where [工作项类型]='任务' and [指派给] = 'administrator' order by [标题] 我们通过多个步骤来学习, 一.基本查询 //取出团队集合URI下的项目名称,如果团队集合为空则取默认集合下项目 Uri tfsUri = new Ur

Web Api ——创建WebAPI

Web Api --创建WebAPI 方法在Win10 + VS2017(MVC5)测试通过 1.建立 WebApi项目: 选择菜单 "文件->新建醒目->web ->ASP.NET Web 应用程序" 输入项目名称和位置,确定,进入模板选择页面. 选择 WEB API 模板(选择Web API 时会添加对MVC 的支持) 2.添加ApiController 查看生产的目录结构,发现WebAPI 的结构和普通MVC程序结构是非常类似的. 默认VS会在Controlle

关于api创建监控项,添加灵活调度的事件间隔

在api文档中没有明确说明,可以查询数据库,得到的是一个字符串, 原文地址:https://www.cnblogs.com/0916m/p/11768835.html

利用Azure Rest API 创建虚拟机

在此之前,我曾经看过一篇文章讲叙了如何利用Azure power shell team 提供的class library. 而就在这篇文章发布之后不久,我又发现微软发布了一个preview 版本的Windows Azure Management Libraries For .NET Nuget package来帮助.NET 开发人员来更好的控制Auzre Platform. 相比power shell team使用的library, Windows Azure Management Librar