Oracle EBS OPM 创建生产批
--创建生产批
--created by jenrry
DECLARE
x_message_count NUMBER;
x_message_list VARCHAR2 (2000);
x_return_status VARCHAR2 (1);
p_batch_header gme_batch_header%ROWTYPE;
x_batch_header gme_batch_header%ROWTYPE;
x_exception_material_tbl gme_common_pvt.exceptions_tab;
l_user_name VARCHAR2 (80):= 'SYSADMIN';
l_user_id NUMBER; CURSOR get_user_id (v_user_name IN VARCHAR2)
IS
SELECT user_id
FROM fnd_user
WHERE user_name = v_user_name; PROCEDURE display_messages (p_msg_count IN NUMBER)
IS
MESSAGE VARCHAR2 (2000);
dummy NUMBER;
l_api_name CONSTANT VARCHAR2 (30) := 'DISPLAY_MESSAGES';
BEGIN
FOR i IN 1 .. p_msg_count
LOOP
fnd_msg_pub.get (p_msg_index => i,
p_data => MESSAGE,
p_encoded => 'F',
p_msg_index_out => dummy
);
DBMS_OUTPUT.put_line ('Message ' || TO_CHAR (i) || ' ' || MESSAGE);
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
fnd_msg_pub.add_exc_msg ('insert_step', l_api_name);
END display_messages;
BEGIN
DBMS_OUTPUT.ENABLE (20000);
l_user_name := 'SYSADMIN'; OPEN get_user_id (l_user_name); FETCH get_user_id
INTO l_user_id; IF get_user_id%NOTFOUND
THEN
DBMS_OUTPUT.put_line ('Invalid User ' || l_user_name); CLOSE get_user_id; RAISE NO_DATA_FOUND;
END IF; CLOSE get_user_id;
fnd_profile.initialize (l_user_id);
fnd_global.apps_initialize (user_id => l_user_id,
resp_id => 51010,
resp_appl_id => 553
);
fnd_profile.put ('AFLOG_LEVEL', '1');
p_batch_header.batch_no := '20170731';-- batch_type .. 10=fpo, 0=batch
p_batch_header.batch_type := 0;
-- p_batch_header.recipe_validity_rule_id := 1336;
p_batch_header.plan_start_date := SYSDATE;
-- p_batch_header.due_date := TO_DATE('');
-- p_batch_header.plan_cmplt_date := TO_DATE('');
p_batch_header.update_inventory_ind := 'Y';
gme_api_pub.create_batch
(p_api_version => 2.0,
p_validation_level => 100,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_true,
x_message_count => x_message_count,
x_message_list => x_message_list,
x_return_status => x_return_status,
p_org_code => 'B01',
p_batch_header_rec => p_batch_header,
x_batch_header_rec => x_batch_header,
p_batch_size => NULL,
p_batch_size_uom => NULL,
p_creation_mode => 'RECIPE',
p_recipe_id => NULL,
p_recipe_no => '60215000002',
p_recipe_version => 1,
p_product_no => NULL,
p_item_revision => NULL,
p_product_id => NULL,
p_ignore_qty_below_cap => fnd_api.g_true,
p_use_workday_cal => NULL,
p_contiguity_override => NULL,
p_use_least_cost_validity_rule => fnd_api.g_false,
x_exception_material_tbl => x_exception_material_tbl
);
DBMS_OUTPUT.put_line ('x_message_count = ' || TO_CHAR (x_message_count));
DBMS_OUTPUT.put_line (SUBSTR ('x_message_list = ' || x_message_list, 1,
255)
);
DBMS_OUTPUT.put_line ('x_return_status = ' || x_return_status);
DBMS_OUTPUT.put_line ('x_batch_header.batch_id = '|| x_batch_header.batch_id);
DBMS_OUTPUT.put_line ('x_batch_header.plant_code = '|| x_batch_header.plant_code);
DBMS_OUTPUT.put_line ('x_batch_header.batch_no = '|| x_batch_header.batch_no);
DBMS_OUTPUT.put_line ('x_batch_header.batch_type = '|| x_batch_header.batch_type);
DBMS_OUTPUT.put_line ('x_batch_header.recipe_validity_rule_id = ' || x_batch_header.recipe_validity_rule_id);
DBMS_OUTPUT.put_line ('x_batch_header.formula_id = '|| x_batch_header.formula_id);
DBMS_OUTPUT.put_line ('x_batch_header.routing_id = '|| x_batch_header.routing_id);
DBMS_OUTPUT.put_line ('x_batch_header.plan_start_date = '
|| TO_CHAR (x_batch_header.plan_start_date,'DD-MON-YYYY HH24:MI:SS'
)
);
DBMS_OUTPUT.put_line ( 'x_batch_header.due_date = '
|| TO_CHAR (x_batch_header.due_date,
'DD-MON-YYYY HH24:MI:SS'
)
);
DBMS_OUTPUT.put_line ( 'x_batch_header.plan_cmplt_date = '
|| TO_CHAR (x_batch_header.plan_cmplt_date,
'DD-MON-YYYY HH24:MI:SS'
)
);
DBMS_OUTPUT.put_line ('x_batch_header.batch_status = '|| x_batch_header.batch_status);
DBMS_OUTPUT.put_line ('x_batch_header.wip_whse_code = '|| x_batch_header.wip_whse_code);
DBMS_OUTPUT.put_line ('x_batch_header.poc_ind = '|| x_batch_header.poc_ind);
DBMS_OUTPUT.put_line ('x_batch_header.update_inventory_ind = '|| x_batch_header.update_inventory_ind);
DBMS_OUTPUT.put_line ( 'x_batch_header.last_update_date = '
|| TO_CHAR (x_batch_header.last_update_date,
'DD-MON-YYYY HH24:MI:SS'
)
);
DBMS_OUTPUT.put_line ( 'x_batch_header.last_updated_by = '||x_batch_header.last_updated_by);
DBMS_OUTPUT.put_line ( 'x_batch_header.creation_date = '
|| TO_CHAR (x_batch_header.creation_date,
'DD-MON-YYYY HH24:MI:SS'
)
);
DBMS_OUTPUT.put_line ('x_batch_header.created_by = '||x_batch_header.created_by);
DBMS_OUTPUT.put_line ('x_batch_header.last_update_login = '|| x_batch_header.last_update_login);
DBMS_OUTPUT.put_line ('x_batch_header.delete_mark = '||x_batch_header.delete_mark);
DBMS_OUTPUT.put_line ('x_batch_header.text_code = '||x_batch_header.text_code);
DBMS_OUTPUT.put_line ('x_batch_header.automatic_step_calculation = '||x_batch_header.automatic_step_calculation); IF x_exception_material_tbl.COUNT > 0
THEN
FOR i IN
x_exception_material_tbl.FIRST .. x_exception_material_tbl.LAST
LOOP
IF x_exception_material_tbl.EXISTS (i)
THEN
DBMS_OUTPUT.put_line
( 'x_exception_material_tbl('
|| TO_CHAR (i)
|| ').organization_id = '
|| TO_CHAR
(x_exception_material_tbl (i).organization_id
)
);
DBMS_OUTPUT.put_line ( 'x_exception_material_tbl('
|| TO_CHAR (i)
|| ').att = '
|| x_exception_material_tbl (i).att
);
DBMS_OUTPUT.put_line ( 'x_exception_material_tbl('
|| TO_CHAR (i)
|| ').atr = '
|| x_exception_material_tbl (i).atr
);
DBMS_OUTPUT.put_line
( 'x_exception_material_tbl('
|| TO_CHAR (i)
|| ').material_detail_id = '
|| x_exception_material_tbl (i).material_detail_id
);
DBMS_OUTPUT.put_line ( 'x_exception_material_tbl('
|| TO_CHAR (i)
|| ').batch_id = '
|| x_exception_material_tbl (i).batch_id
);
END IF;
END LOOP;
END IF; IF x_message_count > 1
THEN
display_messages (x_message_count);
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Error ' || TO_CHAR (SQLCODE) || ': ' || SQLERRM);
RAISE;
END;
/
Oracle EBS OPM 创建生产批的更多相关文章
- Oracle EBS OPM 发放生产批
--发放生产批 --created by jenrry DECLARE x_return_status VARCHAR2 (1); l_exception_material_tbl gme_commo ...
- Oracle EBS OPM 取消生产批
--取消生产批 --created by jenrry SET serveroutput on; DECLARE p_batch_header_rec gme_batch_header%ROWTYPE ...
- Oracle EBS OPM 生产批创建事务处理
--生产批创建事物处理 --created by jenrry DECLARE p_mmti_rec mtl_transactions_interface%ROWTYPE; p_mmli_tbl gm ...
- Oracle EBS OPM update material txn
--update_material_txn --created by jenrry DECLARE p_mmti_rec mtl_transactions_interface%ROWTYPE; p_m ...
- Oracle EBS OPM release step
--release_step生产批 --created by jenrry SET serveroutput on DECLARE x_return_status VARCHAR2 (1); l_ex ...
- Oracle EBS AP 创建贷项通知单并核销到相应发票
--1.0 生成与发票一样的贷项通知单 created by jenrry 20170423 DECLARE L_CUSTOMER_TRX_ID NUMBER; L_INVOICE_NUMBER VA ...
- Oracle EBS OPM close batch
--close_batch --created by jenrry DECLARE x_message_count NUMBER; x_message_list VARCHAR2 (4000); x_ ...
- Oracle EBS OPM convert dtl reservation
--convert_dtl_reservation --created by jenrry DECLARE l_reservation_rec mtl_reservations%ROWTYPE; l_ ...
- Oracle EBS OPM complete step
--complete_step --created by jenrry DECLARE x_return_status VARCHAR2 (1); l_exception_material_tbl g ...
随机推荐
- ecshop 安装出错gd_version
678: static function gd_version()
- Spring Boot使用Shiro实现登录授权认证
1.Shiro是Apache下的一个开源项目,我们称之为Apache Shiro.它是一个很易用与Java项目的的安全框架,提供了认证.授权.加密.会话管理,与spring Security 一样都是 ...
- mysql 删除单表内多个字段重复的数据
mysql 删除单表内多个字段重复的数据 DELETE from lot_log_payflow WHERE (pay_no,sub_flow_type) in () s1) AND id ) s2) ...
- lucene-01-简介
1, 介绍 hadoop作者开发的 hdfs最开始作为netch的文件存储来使用的 2, 存储结构 lucene快的原因, 是因为添加数据的时候会对数据进行分词, 将分词后的词建立索引, 存储到索引库 ...
- 【杂谈】从CGI到Servlet
访问服务器的静态页面 每个Web服务器都运行着一个HTTP服务软件,用于响应web浏览器的请求,返回客户想要的页面.HTTP服务器都会有一个文件夹用于放置相关的页面文件,默认是 /user/loca ...
- vim中使用系统粘贴板
在vim中如果想使用系统粘贴板,也就是说,如果你在其他程序中复制内容,那么使用shift+insert组合键就可以粘贴进来. 需要说明的是,vim中的粘贴板有很多,你可以输入 :reg来进行查看.而我 ...
- Python模板库Mako的用法
官网地址:http://www.makotemplates.org/ 文档地址:http://docs.makotemplates.org/ 中文文档基本用法地址:http://www.open-op ...
- Redis有序集合操作
有序集合存储着成员和分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序的获取或扫描成员和分值的命令 (常用命令) ZADD : ZADD key-name score member [sco ...
- [日常] Go语言圣经--并发的循环习题
练习 8.4: 修改reverb2服务器,在每一个连接中使用sync.WaitGroup来计数活跃的echo goroutine.当计数减为零时,关闭TCP连接的写入,像练习8.3中一样.验证一下你的 ...
- 导航栏pop拦截
一.新建一个分类 二.导入分类头文件 三.需要拦截的地方实现方法 - (BOOL)navigationShouldPopTwo 即可 .h #import <UIKit/UIKit.h&g ...