在已存在的OM订单中增加一物料:

  1. PROCEDURE insert_new_so_api(p_return_code OUT VARCHAR2,
  2. p_return_msg OUT VARCHAR2) IS
  3. l_header_rec oe_order_pub.header_rec_type;
  4. l_line_tbl oe_order_pub.line_tbl_type;
  5. l_action_request_tbl oe_order_pub.request_tbl_type;
  6. l_header_adj_tbl oe_order_pub.header_adj_tbl_type;
  7. l_line_adj_tbl oe_order_pub.line_adj_tbl_type;
  8. l_header_scr_tbl oe_order_pub.header_scredit_tbl_type;
  9. l_line_scredit_tbl oe_order_pub.line_scredit_tbl_type;
  10. l_request_rec oe_order_pub.request_rec_type;
  11. l_return_status VARCHAR2(1000);
  12. l_msg_count NUMBER;
  13. l_msg_data VARCHAR2(1000);
  14. p_api_version_number NUMBER := 1.0;
  15. p_init_msg_list VARCHAR2(10) := fnd_api.g_false;
  16. p_return_values VARCHAR2(10) := fnd_api.g_false;
  17. p_action_commit VARCHAR2(10) := fnd_api.g_false;
  18. x_return_status VARCHAR2(1);
  19. x_msg_count NUMBER;
  20. x_msg_data VARCHAR2(100);
  21. p_header_rec oe_order_pub.header_rec_type := oe_order_pub.g_miss_header_rec;
  22. p_old_header_rec oe_order_pub.header_rec_type := oe_order_pub.g_miss_header_rec;
  23. p_header_val_rec oe_order_pub.header_val_rec_type := oe_order_pub.g_miss_header_val_rec;
  24. p_old_header_val_rec oe_order_pub.header_val_rec_type := oe_order_pub.g_miss_header_val_rec;
  25. p_header_adj_tbl oe_order_pub.header_adj_tbl_type := oe_order_pub.g_miss_header_adj_tbl;
  26. p_old_header_adj_tbl oe_order_pub.header_adj_tbl_type := oe_order_pub.g_miss_header_adj_tbl;
  27. p_header_adj_val_tbl oe_order_pub.header_adj_val_tbl_type := oe_order_pub.g_miss_header_adj_val_tbl;
  28. p_old_header_adj_val_tbl oe_order_pub.header_adj_val_tbl_type := oe_order_pub.g_miss_header_adj_val_tbl;
  29. p_header_price_att_tbl oe_order_pub.header_price_att_tbl_type := oe_order_pub.g_miss_header_price_att_tbl;
  30. p_old_header_price_att_tbl oe_order_pub.header_price_att_tbl_type := oe_order_pub.g_miss_header_price_att_tbl;
  31. p_header_adj_att_tbl oe_order_pub.header_adj_att_tbl_type := oe_order_pub.g_miss_header_adj_att_tbl;
  32. p_old_header_adj_att_tbl oe_order_pub.header_adj_att_tbl_type := oe_order_pub.g_miss_header_adj_att_tbl;
  33. p_header_adj_assoc_tbl oe_order_pub.header_adj_assoc_tbl_type := oe_order_pub.g_miss_header_adj_assoc_tbl;
  34. p_old_header_adj_assoc_tbl oe_order_pub.header_adj_assoc_tbl_type := oe_order_pub.g_miss_header_adj_assoc_tbl;
  35. p_header_scredit_tbl oe_order_pub.header_scredit_tbl_type := oe_order_pub.g_miss_header_scredit_tbl;
  36. p_old_header_scredit_tbl oe_order_pub.header_scredit_tbl_type := oe_order_pub.g_miss_header_scredit_tbl;
  37. p_header_scredit_val_tbl oe_order_pub.header_scredit_val_tbl_type := oe_order_pub.g_miss_header_scredit_val_tbl;
  38. p_old_header_scredit_val_tbl oe_order_pub.header_scredit_val_tbl_type := oe_order_pub.g_miss_header_scredit_val_tbl;
  39. p_line_tbl oe_order_pub.line_tbl_type := oe_order_pub.g_miss_line_tbl;
  40. p_old_line_tbl oe_order_pub.line_tbl_type := oe_order_pub.g_miss_line_tbl;
  41. p_line_val_tbl oe_order_pub.line_val_tbl_type := oe_order_pub.g_miss_line_val_tbl;
  42. p_old_line_val_tbl oe_order_pub.line_val_tbl_type := oe_order_pub.g_miss_line_val_tbl;
  43. p_line_adj_tbl oe_order_pub.line_adj_tbl_type := oe_order_pub.g_miss_line_adj_tbl;
  44. p_old_line_adj_tbl oe_order_pub.line_adj_tbl_type := oe_order_pub.g_miss_line_adj_tbl;
  45. p_line_adj_val_tbl oe_order_pub.line_adj_val_tbl_type := oe_order_pub.g_miss_line_adj_val_tbl;
  46. p_old_line_adj_val_tbl oe_order_pub.line_adj_val_tbl_type := oe_order_pub.g_miss_line_adj_val_tbl;
  47. p_line_price_att_tbl oe_order_pub.line_price_att_tbl_type := oe_order_pub.g_miss_line_price_att_tbl;
  48. p_old_line_price_att_tbl oe_order_pub.line_price_att_tbl_type := oe_order_pub.g_miss_line_price_att_tbl;
  49. p_line_adj_att_tbl oe_order_pub.line_adj_att_tbl_type := oe_order_pub.g_miss_line_adj_att_tbl;
  50. p_old_line_adj_att_tbl oe_order_pub.line_adj_att_tbl_type := oe_order_pub.g_miss_line_adj_att_tbl;
  51. p_line_adj_assoc_tbl oe_order_pub.line_adj_assoc_tbl_type := oe_order_pub.g_miss_line_adj_assoc_tbl;
  52. p_old_line_adj_assoc_tbl oe_order_pub.line_adj_assoc_tbl_type := oe_order_pub.g_miss_line_adj_assoc_tbl;
  53. p_line_scredit_tbl oe_order_pub.line_scredit_tbl_type := oe_order_pub.g_miss_line_scredit_tbl;
  54. p_old_line_scredit_tbl oe_order_pub.line_scredit_tbl_type := oe_order_pub.g_miss_line_scredit_tbl;
  55. p_line_scredit_val_tbl oe_order_pub.line_scredit_val_tbl_type := oe_order_pub.g_miss_line_scredit_val_tbl;
  56. p_old_line_scredit_val_tbl oe_order_pub.line_scredit_val_tbl_type := oe_order_pub.g_miss_line_scredit_val_tbl;
  57. p_lot_serial_tbl oe_order_pub.lot_serial_tbl_type := oe_order_pub.g_miss_lot_serial_tbl;
  58. p_old_lot_serial_tbl oe_order_pub.lot_serial_tbl_type := oe_order_pub.g_miss_lot_serial_tbl;
  59. p_lot_serial_val_tbl oe_order_pub.lot_serial_val_tbl_type := oe_order_pub.g_miss_lot_serial_val_tbl;
  60. p_old_lot_serial_val_tbl oe_order_pub.lot_serial_val_tbl_type := oe_order_pub.g_miss_lot_serial_val_tbl;
  61. p_action_request_tbl oe_order_pub.request_tbl_type := oe_order_pub.g_miss_request_tbl;
  62. l_header_rec_out oe_order_pub.header_rec_type;
  63. l_line_tbl_out oe_order_pub.line_tbl_type;
  64. x_header_val_rec oe_order_pub.header_val_rec_type;
  65. x_header_adj_tbl oe_order_pub.header_adj_tbl_type;
  66. x_header_adj_val_tbl oe_order_pub.header_adj_val_tbl_type;
  67. x_header_price_att_tbl oe_order_pub.header_price_att_tbl_type;
  68. x_header_adj_att_tbl oe_order_pub.header_adj_att_tbl_type;
  69. x_header_adj_assoc_tbl oe_order_pub.header_adj_assoc_tbl_type;
  70. x_header_scredit_tbl oe_order_pub.header_scredit_tbl_type;
  71. x_header_scredit_val_tbl oe_order_pub.header_scredit_val_tbl_type;
  72. x_line_val_tbl oe_order_pub.line_val_tbl_type;
  73. x_line_adj_tbl oe_order_pub.line_adj_tbl_type;
  74. x_line_adj_val_tbl oe_order_pub.line_adj_val_tbl_type;
  75. x_line_price_att_tbl oe_order_pub.line_price_att_tbl_type;
  76. x_line_adj_att_tbl oe_order_pub.line_adj_att_tbl_type;
  77. x_line_adj_assoc_tbl oe_order_pub.line_adj_assoc_tbl_type;
  78. x_line_scredit_tbl oe_order_pub.line_scredit_tbl_type;
  79. x_line_scredit_val_tbl oe_order_pub.line_scredit_val_tbl_type;
  80. x_lot_serial_tbl oe_order_pub.lot_serial_tbl_type;
  81. x_lot_serial_val_tbl oe_order_pub.lot_serial_val_tbl_type;
  82. x_action_request_tbl oe_order_pub.request_tbl_type;
  83. x_debug_file VARCHAR2(100);
  84. l_line_tbl_index NUMBER;
  85. l_msg_index_out NUMBER(10);
  86.  
  87. v_return_code VARCHAR2(10) := '';
  88. v_return_msg VARCHAR2(2000) := '';
  89.  
  90. l_user_id NUMBER;
  91. l_resp_id NUMBER;
  92. l_application_id NUMBER;
  93. BEGIN
  94.  
  95. --初始化SO環境變量
  96. BEGIN
  97. -- Get the user_id
  98. SELECT user_id
  99. INTO l_user_id
  100. FROM fnd_user
  101. WHERE user_name = l_user_name;
  102.  
  103. -- Get the application_id and responsibility_id
  104. SELECT application_id, responsibility_id
  105. INTO l_application_id, l_resp_id
  106. FROM fnd_responsibility_vl
  107. WHERE responsibility_name = l_resp_name;
  108.  
  109. --oe_msg_pub.initialize;
  110. fnd_global.apps_initialize(user_id => /*fnd_global.user_id,*/ l_user_id,
  111. resp_id => /*fnd_global.resp_id,*/ l_resp_id,
  112. resp_appl_id => /*fnd_global.resp_appl_id*/ l_application_id);
  113. mo_global.init('ONT');
  114. mo_global.set_policy_context('S', 349); --OU_ID
  115. END;
  116. --初始化環境變量 END --
  117.  
  118. /*
  119. **日志打印
  120. */
  121. oe_msg_pub.initialize;
  122. oe_debug_pub.initialize;
  123. x_debug_file := oe_debug_pub.set_debug_mode('FILE');
  124. oe_debug_pub.setdebuglevel(5);
  125. dbms_output.put_line('START OF NEW DEBUG');
  126.  
  127. /*
  128. **新增行
  129. */
  130. l_line_tbl_index := 1; --行号
  131. -- Initialize record to missing
  132. l_line_tbl(l_line_tbl_index) := oe_order_pub.g_miss_line_rec;
  133. -- Line attributes
  134. l_line_tbl(l_line_tbl_index).header_id := 98258; --订单头 id
  135. --Mandatory fields like qty, inventory item id are to be passed
  136. l_line_tbl(l_line_tbl_index).ordered_quantity := 4;
  137. l_line_tbl(l_line_tbl_index).inventory_item_id := 149;
  138. l_line_tbl(l_line_tbl_index).ship_from_org_id := 207;
  139. l_line_tbl(l_line_tbl_index).subinventory := 'FGI';
  140. --Operation set to Create
  141. l_line_tbl(l_line_tbl_index).operation := oe_globals.g_opr_create;
  142. -- CALL TO PROCESS orDER
  143. oe_order_pub.process_order(p_api_version_number => 1.0,
  144. p_init_msg_list => fnd_api.g_true, --是否每次初始化返回信息的listfnd_api.g_true (TRUE则每调用一次清空,false则不清空)
  145. p_return_values => fnd_api.g_false,
  146. p_action_commit => fnd_api.g_false,
  147. x_return_status => l_return_status,
  148. x_msg_count => l_msg_count,
  149. x_msg_data => l_msg_data,
  150. p_header_rec => l_header_rec, --输入:头信息
  151. p_line_tbl => l_line_tbl, --输入:行信息
  152. p_action_request_tbl => l_action_request_tbl,
  153. -- OUT PARAMETERS
  154. x_header_rec => l_header_rec_out, --输出:头信息;注意:不能和输入的头信息参数一样,必须用新变量
  155. x_header_val_rec => x_header_val_rec,
  156. x_header_adj_tbl => x_header_adj_tbl,
  157. x_header_adj_val_tbl => x_header_adj_val_tbl,
  158. x_header_price_att_tbl => x_header_price_att_tbl,
  159. x_header_adj_att_tbl => x_header_adj_att_tbl,
  160. x_header_adj_assoc_tbl => x_header_adj_assoc_tbl,
  161. x_header_scredit_tbl => x_header_scredit_tbl,
  162. x_header_scredit_val_tbl => x_header_scredit_val_tbl,
  163. x_line_tbl => l_line_tbl_out, --输出:行信息;注意:不能和输入的行信息参数一样,必须用新变量
  164. x_line_val_tbl => x_line_val_tbl,
  165. x_line_adj_tbl => x_line_adj_tbl,
  166. x_line_adj_val_tbl => x_line_adj_val_tbl,
  167. x_line_price_att_tbl => x_line_price_att_tbl,
  168. x_line_adj_att_tbl => x_line_adj_att_tbl,
  169. x_line_adj_assoc_tbl => x_line_adj_assoc_tbl,
  170. x_line_scredit_tbl => x_line_scredit_tbl,
  171. x_line_scredit_val_tbl => x_line_scredit_val_tbl,
  172. x_lot_serial_tbl => x_lot_serial_tbl,
  173. x_lot_serial_val_tbl => x_lot_serial_val_tbl,
  174. x_action_request_tbl => l_action_request_tbl);
  175.  
  176. -- Check the return status
  177. IF l_return_status <> fnd_api.g_ret_sts_success THEN
  178. v_return_code := l_return_status;
  179. v_return_msg := NULL; --初始化信息
  180. -- Retrieve messages
  181. FOR i IN 1 .. l_msg_count LOOP
  182. oe_msg_pub.get(p_msg_index => i,
  183. p_encoded => fnd_api.g_false,
  184. p_data => l_msg_data,
  185. p_msg_index_out => l_msg_index_out);
  186. dbms_output.put_line('message is: ' || l_msg_data);
  187.  
  188. v_return_msg := v_return_msg || l_msg_data;
  189. END LOOP;
  190.  
  191. p_return_code := v_return_code;
  192. p_return_msg := v_return_msg;
  193. ELSE
  194. p_return_code := l_return_status;
  195. p_return_msg := '新增销售订单成功!';
  196. END IF;
  197. EXCEPTION
  198. WHEN OTHERS THEN
  199. v_return_code := 'E';
  200. v_return_msg := '新增銷售訂單行出現異常:' || SQLCODE || ':' || SQLERRM;
  201. p_return_code := v_return_code;
  202. p_return_msg := v_return_msg;
  203. dbms_output.put_line(v_return_code || v_return_msg);
  204. END;

销售订单(SO)-API-给已有的销售订单增加一行的更多相关文章

  1. 编写订单支付api中遇到的问题

    首先我是按照已经有的已经有的支付api去编写订单支付api,但是由于两者是有区别的,所以类似去搬用难免会出问题,首先我是套用已经写好的model,然后写相应的serializer,实现序列化之后就开始 ...

  2. 【百度地图API】今日小年大进步,齐头共进贺佳节——API优化升级上线,不再增加内存消耗

    原文:[百度地图API]今日小年大进步,齐头共进贺佳节--API优化升级上线,不再增加内存消耗 任务描述: 今天是2011年01月26日,小年夜.百度地图API在小年夜献给广大API爱好者一份给力的礼 ...

  3. 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

    查看Oracle数据库表空间大小(空闲.已使用),是否要增加表空间的数据文件 1.查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1 ...

  4. 编写Java程序,模拟网上商城购物,当用户选好物品提交订单时,每笔订单会自动生成一个唯一的订单编号。

    查看本章节 查看作业目录 需求说明: 模拟网上商城购物,当用户选好物品提交订单时,每笔订单会自动生成一个唯一的订单编号.而部分电子商务网站在数据高峰期时,一毫秒可能需要处理近千笔的订单 现在简单模拟 ...

  5. 盘点销售一体机 打印POS一体的设备。 打印,盘点,销售PDA(手持终端)+移动销售POS软件

    一.产品介绍 本产品为一个PDA(手持终端)+移动销售POS管理软件组合.可以实现功能如下: 可以实现移动销售(销售退货).盘点.配送.移库.打印小票的功能. 销售时,可以选择客户.业务员.库房,并且 ...

  6. 陆地观测卫星数据服务(CRESDA)订单ftp地址错误—已解决不能下载问题

    陆地观测卫星数据服务订单ftp地址错误 问题:本人在陆地观测卫星数据网站上申请GF1-WFV10幅数据,订单完成后返回的FTP地址出现无法连接服务器现象.(数据订单申请已通过) 一.情况介绍: ​ 我 ...

  7. Magento--修改已存在的订单的运费

    遇到一种情况,需要在下单后再由管理员添加订单运费,然后顾客再付款.那么问题来了,如何给订单添加运费呢?下面是一段代码,可以实现该功能: $orderId = 'your order id';$orde ...

  8. Universally Unique Identifier amazonservices API order 亚马逊订单接口的分析 NextToken

    one hour in linux mysql> ) from listorders; +----------+ | count() | +----------+ | | +---------- ...

  9. 免费安卓IOS测试API接口,后续会陆续增加接口

    各位博友好!开发的安卓或者ios的朋友们,经常会遇到想测试但是没有公开的api接口进行进行测试.但自己又不会开发服务端或者没有服务器,这里我免费提供了一整套API接口.欢迎大家调用,目标是方便大家. ...

随机推荐

  1. redis多实例与主从同步及高级特性(数据过期机制,持久化存储)

    redis多实例 创建redis的存储目录 vim /usr/local/redis/conf/redis.conf #修改redis的配置文件 dir /data/redis/ #将存储路径配置修改 ...

  2. 快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题

    快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题 转 https://www.jb51.net/article/144939.htm 今天小编就为大家分享一篇快速解决设置And ...

  3. 【转】Jquery ajax与asp.net MVC前后端各种交互

    本文转载自:https://www.cnblogs.com/fengyeqingxiang/p/11169218.html 1.Jquery通过ajaxSubmit提交表单 if (jQuery(&q ...

  4. Unity Shader的形式

    (1)表面着色器 表面着色器是Unity自身的一种着色器代码类型.它需要的代码量很少,Unity在背后做了很多工作,但渲染的代价比较大.但Unity在背后仍旧把表面着色器转换成对应的顶点/片元着色器. ...

  5. Unreal Engine* 4.19 的 CPU 功能检测

    随着现代 CPU 内核数量的增加,可以拥有更多的游戏功能.但是,相比配备高端系统的玩家,内核数量较少的玩家可能会处于劣势.为了缩小这种差距,可以使用 C++ 和蓝图划分特性.这样可以实现最大的 CPU ...

  6. epoll 数据库安装以及相关概念

    epoll select 只能同时处理1024个客户端, 多线程会遇到资源瓶颈,什么才是解决高并发最有效的方式呢 linux中提供了epoll 这种多路复用的IO模型,注意其他平台没有相应的实现 所以 ...

  7. 调用存储在session属性里的东西

    将对象放在session里面 request.getSession().setAttribute("username", username); //放到会话里 永EL表达式调用 $ ...

  8. 请求头出现Provisional headers are shown

    provisional headers are shown 知多少:https://juejin.im/post/5c00980751882518805add83 请求头出现Provisional h ...

  9. 关于js中this指向的问题

    this的绑定规则有4种 默认绑定 隐性绑定 显性绑定 new绑定 this绑定优先级 new 绑定 > 显性绑定 > 隐性绑定 > 默认绑定 1.如果函数被new 修饰 this绑 ...

  10. poj3162(树形dp+线段树求最大最小值)

    题目链接:https://vjudge.net/problem/POJ-3162 题意:给一棵树,求每个结点的树上最远距离,记为a[i],然后求最大区间[l,r]满足区间内的max(a[i])-min ...