进入EBS AR 事务处理界面报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进入EBS AR 事务处理界面报错相关的知识,希望对你有一定的参考价值。

进入EBS AR ,选择事务处理,系统报错,FRM-40735:WHEN-CREATE-RECORD触发器提出了不能处理的异常状况 ORA-06502, 提交了复制系统初始化请求 ,还是不能进入,跪求答案

这个要看你用的哪一种ERP,如果是EBS,接口表参考如下信息:
AP接口表:
AP_INVOICES_INTERFACE
AP_INVOICE_LINES_INTERFACE
涉及的请求:
应付款管理系统开放接口导入
涉及案例: 运费导AP、费用导AP
PO接口表:
申请:
PO_REQUISITIONS_INTERFACE_ALL
涉及请求:
导入申请
采购:
po_headers_interface
po_lines_interface
po_distributions_interface
涉及的请求:
Import Standard Purchase Orders
接收:
rcv_headers_interface
rcv_transactions_interface
mtl_transaction_lots_interface
涉及请求:
接收事务处理处理器
涉及案例:运费导采购、MRP导申请、POP导申请
GL接口表:
gl_interface
涉及案例:ADI导日记账、返利导日记账
FA接口表:
fa_mass_additions
FA API:
增加fa_addition_pub.do_addition
修改:fa_adjustment_pub.do_adjustment
fa_asset_desc_pub.update_desc
涉及案例:电子资产清理

库存事务接口:mtl_transactions_interface
1)一般用来做各类杂收发、Cost Update,对于和业务有关的事务一般不建议使用,比如SO发货,如果自己发会导致Workflow没有往下走
2)成功导入之后运行Cost Manager生成会计分录
3)平均成本更新也通过此接口;如果该Item没有交易,则成本数据不会进入cst_item_costs
固定资产接口:fa_mass_additions
1)fa_mass_additions这个表有几个Trigger需要注意;会自动去插其他表,删除的时候也是
2)折旧方法接口表无法给,而是自动从Category继承下来,所以导入之后需要Update表
3)不是通过AP引过来的FA,是没有Source Lines信息的;如果需要,可以通过插表来实现
4)数据进接口之后从Navigator:Mass Additions/Post Mass Additions提交请求集,这样会有个报表显示导入结果。不过我的测试程序可以直接提交请求集。
总账分录接口:gl_interface
1)最简单的接口,不说了
应付发票接口:ap_invoices_interface/ap_invoice_lines_interface
1)Profile AP: Use Invoice Batch Controls定义是否使用批控制
2)仅支持CREDIT/STANDARD;注意金额正负,小于零用CREDIT,大于零用STANDARD
3)PREPAYMENT/DEBIT/EXPENSE REPORT/MIXED不支持,先用CREDIT或者STANDARD,进去之后再Update正式表ap_invoices_all
4)导入之后可再调用请求Invoice Validation自动Validate发票
应收发票接口:ra_interface_lines_all/ra_interface_salescredits_all
1)几个接口表之间的关系和其他接口不同,不是通过ID关联,而是通过描述性弹性域Line Transaction Flexfield定义
2)接口给ID还是Name,要根据Transaction Source上的定义,不能随便给
3)ra_interface_distributions_all这个表可以不插,让系统自动生成分配行
4)如果没有销售员,可以提供一条ID=-3的No Sales Person记录给接口。这个要看AR System Option Miscellaneous上的设置是否要求销售员
应收收据接口:ar_interim_cash_receipts_all
1)AR Receipt标准接口是Lockbox,需要预先定义Format;Oracle根据Format定义把接口数据写到ar_interim_cash_receipts_all;我们可以跳过第一步,直接把数据插入到ar_interim_cash_receipts_all,不过Batch需要我们直接插表
2)在Batch界面查看:数据在ar_interim_cash_receipts_all的Batch Type为 Mannual Quick
3)Batch的Currency取本位币即可,收据用需要的货币
客户导入接口:ra_customers_interface_all/ra_customer_profiles_int_all/ra_contact_phones_int_all
1)要导Customer,ra_customer_profiles_int_all需要有记录
2)orig_system_party_ref相同的话,Customer_Number不同,可以在一个Party下建多个Customer
3)ship to的bill_to_orig_address_ref可用bill to的orig_system_address_ref,这样可以自动关联
4)需要打Patch 3606744和3558213,否则Statement和Dunning类型的Site Use导不进去
5)不是所以字段都可以从Interface进去;以HZ_Cust_Site_Uses_all为例,导入之后需要直接Update如下比较重要的字段:payment_term_id、order_type_id、warehouse_id、territory_id、primary_salesrep_id
6)更新HZ_Cust_Site_Uses_all的Primary_flag的时候注意同时更新hz_cust_acct_sites_all的bill_to_flag和ship_to_flag为P(Primary)或者Y
销售订单接口:oe_headers_iface_all/oe_lines_iface_all/oe_actions_iface_all
1)整张Close的订单可以通过接口表;Close的订单,Oracle几乎是直接插表;其他的要做很多验证
2)部分行Close的订单,可以给行Assign一个仅负责Close(Enter/Fulfill/Close/End)的工作流,这样Workflow Back Ground Process起来之后就会Close
3)非Close的订单行号不能重复,所以接口表我们给空;如果有需要待导入后Update Line表即可
4)数量正负要与Line Type的类型一致,正的对Order,负的对Return,否则接口报Inventory Item错误
5)订单号更新需要更新几个表:oe_order_headers_all/wsh_delivery_details/mtl_sales_orders
6)订单行在收货或者发货不足的情况下会拆行,拆行的时候系统几乎是拷贝所有的字段,如果碰到Unique的字段会失败。我碰到的问题是把源系统的line_id记录在弹性域上,并给这个弹性域建了Unique索引,导致Dropship的订单采购部分收货老是报错
采购订单接口:po_headers_interface/po_lines_interface/po_distributions_interface
1)PO接口有问题可察看错误信息表po_interface_errors,可以解决大部分问题
2)本位币导入之后,头上的Rate Date为空,需要Update表
3)quantity_billed也可以事后更新,这样AP不会再Match过来
4)审批记录可以直接插入表po_action_history
5)注意采购的Valdiate ORG
6)如果Item没有Assign给Ship_to_org,会报No data found错误
采购接收接口:rcv_shipment_headers/rcv_transactions_interface
1)收据头直接写表;收据行和收货事务通过接口
2)注意parent_transaction_id,Receive需要放空
3)PO接口有问题可察看错误信息表po_interface_errors,可以解决大部分问题
4)如果要再现原来的Receiving Transaction,可按如下顺序分批进入接口RECEIVE、TRANSFER、ACCEPT、REJECT、DELIVER、RETURN TO RECEIVING、RETURN TO VENDOR、CORRECT
库存项目接口:mtl_system_items_interface
1)在Master Org新增Item比较简单,给足需要的字段即可
2)在其他组织增加Item(相当于从Master Assign后再Update),需要注意Master Org Conctrol的字段需要保持主组织的值(比较多,看mtl_item_attributes的Conctrol_level = 1)
3)在其他组织增加Item还需要注意一些字段需要保持主组织的值,否则接口会报错,它们是create_supply_flag、dual_uom_control、buyer_id、allowed_units_lookup_code、purchasing_item_flag、internal_order_flag、inventory_item_flag
4)如果要给Item Assign Category,可以通过mtl_item_categories_interface,对应的请求是Item Category Assignment Open Interface
详情联系左上角罗麦感恩
参考技术A MO:业务实体 或者 MO:安全性配置文件 没有设置。

Oracle EBS AR 客户API

------------------------------------
1. Set Environment

------------------------------------

-- 1a. Setup the Org_id
------------------------------------

exec dbms_application_info.set_client_info(‘204‘);

------------------------------------
-- 1b. Show the output variables
------------------------------------
set serveroutput on

------------------------------------
2. Create a party and an account

------------------------------------

DECLARE
 p_cust_account_rec HZ_CUST_ACCOUNT_V2PUB.CUST_ACCOUNT_REC_TYPE;
 p_organization_rec HZ_PARTY_V2PUB.ORGANIZATION_REC_TYPE;
 p_customer_profile_rec
 HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE;
 x_cust_account_id NUMBER;
 x_account_number VARCHAR2(2000);
 x_party_id NUMBER;
 x_party_number VARCHAR2(2000);
 x_profile_id NUMBER;
 x_return_status VARCHAR2(2000);
 x_msg_count NUMBER;
 x_msg_data VARCHAR2(2000);

BEGIN
 p_cust_account_rec.account_name := ‘CUSEXAPIFIG02‘;
 p_cust_account_rec.created_by_module := ‘TCAPI_EXAMPLE‘;
 
 p_organization_rec.organization_name := ‘CUSEXAPIFIG02‘;
 p_organization_rec.created_by_module := ‘TCAPI_EXAMPLE‘;

 hz_cust_account_v2pub.create_cust_account(
 ‘T‘,
 p_cust_account_rec,
 p_organization_rec,
 p_customer_profile_rec,
 ‘F‘,
 x_cust_account_id,
 x_account_number,
 x_party_id,
 x_party_number,
 x_profile_id,
 x_return_status,
 x_msg_count,
 x_msg_data);

 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_cust_account_id: ‘||x_cust_account_id);
 dbms_output.put_line(‘x_account_number: ‘||x_account_number);
 dbms_output.put_line(‘x_party_id: ‘||x_party_id);
 dbms_output.put_line(‘x_party_number: ‘||x_party_number);
 dbms_output.put_line(‘x_profile_id: ‘||x_profile_id);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_data);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_cust_account_id: 6075
x_account_number: 3040
x_party_id: 17092
x_party_number: 14444
x_profile_id: 5290
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************


/* BEGIN address  */

------------------------------------
3. Create a physical location

------------------------------------

DECLARE
 p_location_rec HZ_LOCATION_V2PUB.LOCATION_REC_TYPE;
 x_location_id NUMBER;
 x_return_status VARCHAR2(2000);
 x_msg_count NUMBER;
 x_msg_data VARCHAR2(2000);
BEGIN
 p_location_rec.country := ‘US‘;
 p_location_rec.address1 := ‘Address4‘;
 p_location_rec.city := ‘San Mateo‘;
 p_location_rec.postal_code := ‘94401‘;
 p_location_rec.state := ‘CA‘;
 p_location_rec.created_by_module := ‘TCAPI_EXAMPLE‘;
 hz_location_v2pub.create_location(
 ‘T‘,
 p_location_rec,
 x_location_id,
 x_return_status,
 x_msg_count,
 x_msg_data);

 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_location_id: ‘||x_location_id);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_data);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_location_id: 13326
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************

------------------------------------
4. Create a party site using party_id from step 2 and location_id from step 3

------------------------------------

DECLARE
 p_party_site_rec HZ_PARTY_SITE_V2PUB.PARTY_SITE_REC_TYPE;
 x_party_site_id NUMBER;
 x_party_site_number VARCHAR2(2000);
 x_return_status VARCHAR2(2000);
 x_msg_count NUMBER;
 x_msg_data VARCHAR2(2000);
BEGIN
 p_party_site_rec.party_id := 17092; --value for party_id from step 2>
 p_party_site_rec.location_id := 13326; --value for location_id from step 3>
 p_party_site_rec.identifying_address_flag := ‘Y‘;
 p_party_site_rec.created_by_module := ‘TCAPI_EXAMPLE‘;
 hz_party_site_v2pub.create_party_site(
 ‘T‘,
 p_party_site_rec,
 x_party_site_id,
 x_party_site_number,
 x_return_status,
 x_msg_count,
 x_msg_data);

 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_party_site_id: ‘||x_party_site_id);
 dbms_output.put_line(‘x_party_site_number: ‘||x_party_site_number);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_data);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_party_site_id: 8885
x_party_site_number: 6893
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************

------------------------------------
5. Create an account site using cust_account_id from step 2 and party_site_id from step 4.

------------------------------------

DECLARE
 p_cust_acct_site_rec hz_cust_account_site_v2pub.cust_acct_site_rec_type;
 x_return_status VARCHAR2(2000);
 x_msg_count NUMBER;
 x_msg_data VARCHAR2(2000);
 x_cust_acct_site_id NUMBER;
BEGIN
 p_cust_acct_site_rec.cust_account_id := 6075; --value for cust_account_id you get from step 2>
 p_cust_acct_site_rec.party_site_id := 8885; --value for party_site_id from step 4>
 p_cust_acct_site_rec.language := ‘US‘;
 p_cust_acct_site_rec.created_by_module := ‘TCAPI_EXAMPLE‘;
 hz_cust_account_site_v2pub.create_cust_acct_site(
 ‘T‘,
 p_cust_acct_site_rec,
 x_cust_acct_site_id,
 x_return_status,
 x_msg_count,
 x_msg_data);

 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_cust_acct_site_id: ‘||x_cust_acct_site_id);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_data);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_cust_acct_site_id: 6155
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************

------------------------------------
6. Create an account site use using cust_acct_site_id from step 5 and site_use_code=‘BILL_TO‘

------------------------------------

DECLARE
 p_cust_site_use_rec HZ_CUST_ACCOUNT_SITE_V2PUB.CUST_SITE_USE_REC_TYPE;
 p_customer_profile_rec HZ_CUSTOMER_PROFILE_V2PUB.CUSTOMER_PROFILE_REC_TYPE;
 x_site_use_id NUMBER;
 x_return_status VARCHAR2(2000);
 x_msg_count NUMBER;
 x_msg_data VARCHAR2(2000);
BEGIN
 p_cust_site_use_rec.cust_acct_site_id := 6155; --value for cust_acct_site_id from step 5>
 p_cust_site_use_rec.site_use_code := ‘BILL_TO‘;
 p_cust_site_use_rec.created_by_module := ‘TCAPI_EXAMPLE‘;
 hz_cust_account_site_v2pub.create_cust_site_use(
 ‘T‘,
 p_cust_site_use_rec,
 p_customer_profile_rec,
 ‘‘,
 ‘‘,
 x_site_use_id,
 x_return_status,
 x_msg_count,
 x_msg_data);

 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_site_use_id: ‘||x_site_use_id);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_count);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_site_use_id: 7149
x_return_status: S
x_msg_count: 0
x_msg_data: 0
***************************

/* END address  */

commit;

/* BEGIN contact to an organization */

------------------------------------
7. Create a definition contact

------------------------------------

DECLARE
 p_create_person_rec HZ_PARTY_V2PUB.person_rec_type;
 x_party_id NUMBER;
 x_party_number VARCHAR2(2000);
 x_profile_id NUMBER;
 x_return_status VARCHAR2(2000);
 x_msg_count NUMBER;
 x_msg_data VARCHAR2(2000);

BEGIN
 p_create_person_rec.person_pre_name_adjunct := ‘MR.‘;
 p_create_person_rec.person_first_name := ‘ExFennerct4‘;
 p_create_person_rec.person_last_name := ‘ExGiraldoct4‘;
 p_create_person_rec.created_by_module := ‘TCAPI_EXAMPLE‘;

 HZ_PARTY_V2PUB.create_person(
 ‘T‘,
 p_create_person_rec,
 x_party_id,
 x_party_number,
 x_profile_id,
 x_return_status,
 x_msg_count,
 x_msg_data);

 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_party_id: ‘||x_party_id);
 dbms_output.put_line(‘x_party_number: ‘||x_party_number);
 dbms_output.put_line(‘x_profile_id: ‘||x_profile_id);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_data);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_party_id: 17093
x_party_number: 14445
x_profile_id: 17187
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************

------------------------------------
8. Create a relation cont-org using party_id from step 7 and party_id from step 2

------------------------------------

DECLARE
p_org_contact_rec HZ_PARTY_CONTACT_V2PUB.ORG_CONTACT_REC_TYPE;
x_org_contact_id NUMBER;
x_party_rel_id NUMBER;
x_party_id NUMBER;
x_party_number VARCHAR2(2000);
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
BEGIN
p_org_contact_rec.department_code := ‘ACCOUNTING‘;
-- p_org_contact_rec.job_title := ‘ACCOUNTS OFFICER‘;
-- p_org_contact_rec.decision_maker_flag := ‘Y‘;
-- p_org_contact_rec.job_title_code := ‘APC‘;
p_org_contact_rec.created_by_module := ‘TCAPI_EXAMPLE‘;
p_org_contact_rec.party_rel_rec.subject_id := 17093; --value for party_id from step 7>
p_org_contact_rec.party_rel_rec.subject_type := ‘PERSON‘;
p_org_contact_rec.party_rel_rec.subject_table_name := ‘HZ_PARTIES‘;
p_org_contact_rec.party_rel_rec.object_id := 17092; --Value for party_id from step 2>
p_org_contact_rec.party_rel_rec.object_type := ‘ORGANIZATION‘;
p_org_contact_rec.party_rel_rec.object_table_name := ‘HZ_PARTIES‘;
p_org_contact_rec.party_rel_rec.relationship_code := ‘CONTACT_OF‘;
p_org_contact_rec.party_rel_rec.relationship_type := ‘CONTACT‘;
p_org_contact_rec.party_rel_rec.start_date := SYSDATE;
hz_party_contact_v2pub.create_org_contact(
‘T‘,
p_org_contact_rec,
x_org_contact_id,
x_party_rel_id,
x_party_id,
x_party_number,
x_return_status,
x_msg_count,
x_msg_data);

 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_org_contact_id: ‘||x_org_contact_id);
 dbms_output.put_line(‘x_party_rel_id: ‘||x_party_rel_id);
 dbms_output.put_line(‘x_party_id: ‘||x_party_id);
 dbms_output.put_line(‘x_party_number: ‘||x_party_number);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_data);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_org_contact_id: 7110
x_party_rel_id: 7788
x_party_id: 17094
x_party_number: 14446
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************

------------------------------------
9. Create a contact using party_id you get 8 and cust_account_id from step 2

------------------------------------

DECLARE
p_cr_cust_acc_role_rec HZ_CUST_ACCOUNT_ROLE_V2PUB.cust_account_role_rec_type;
x_cust_account_role_id NUMBER;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);

BEGIN

-- NOTE:
-- must be unique CUST_ACCOUNT_ID, PARTY_ID,ROLE_TYPE
-- must be unique CUST_ACCT_SITE_ID, PARTY_ID,ROLE_TYPE

p_cr_cust_acc_role_rec.party_id := 17094; --value for party_id from step 8>
p_cr_cust_acc_role_rec.cust_account_id := 6075; --value for cust_account_id from step 2>
p_cr_cust_acc_role_rec.primary_flag := ‘Y‘;
p_cr_cust_acc_role_rec.role_type := ‘CONTACT‘;
p_cr_cust_acc_role_rec.created_by_module := ‘TCAPI_EXAMPLE‘;

HZ_CUST_ACCOUNT_ROLE_V2PUB.create_cust_account_role(
‘T‘,
p_cr_cust_acc_role_rec,
x_cust_account_role_id,
x_return_status,
x_msg_count,
x_msg_data);

 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_cust_account_role_id: ‘||x_cust_account_role_id);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_data);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_cust_account_role_id: 5857
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************

/* END contact */


/* Create the contact ROLE for the Org Contact - (Contact Roles zone on Customers Form)*/

------------------------------------
10. Create the org contact role using x_cust_account_role_id from step 9

------------------------------------

DECLARE
p_role_responsibility_rec HZ_CUST_ACCOUNT_ROLE_V2PUB.ROLE_RESPONSIBILITY_REC_TYPE;
x_responsibility_id NUMBER;
x_return_status VARCHAR2(2000);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);

BEGIN

p_role_responsibility_rec.cust_account_role_id := 5857; --value for x_cust_account_role_id from step 9>
p_role_responsibility_rec.responsibility_type := ‘SOLD_TO‘;
p_role_responsibility_rec.created_by_module := ‘TCAPI_EXAMPLE‘;

HZ_CUST_ACCOUNT_ROLE_V2PUB.create_role_responsibility (
‘T‘,
p_role_responsibility_rec,
x_responsibility_id,
x_return_status,
x_msg_count,
x_msg_data
);


 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘Output information ....‘);
 dbms_output.put_line(‘***************************‘);
 dbms_output.put_line(‘x_responsibility_id: ‘||x_responsibility_id);
 dbms_output.put_line(‘x_return_status: ‘||x_return_status);
 dbms_output.put_line(‘x_msg_count: ‘||x_msg_count);
 dbms_output.put_line(‘x_msg_data: ‘||x_msg_data);
 dbms_output.put_line(‘***************************‘);

 IF x_msg_count >1 THEN
  FOR I IN 1..x_msg_count
   LOOP
    dbms_output.put_line(I||‘. ‘||SubStr(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
  END LOOP;
 END IF;

END;
/

***************************
Output information ....
***************************
x_responsibility_id: 3162
x_return_status: S
x_msg_count: 0
x_msg_data:
***************************

/* End contact ROLE */

commit;

  

以上是关于进入EBS AR 事务处理界面报错的主要内容,如果未能解决你的问题,请参考以下文章

Oracle EBS OPM 生产批创建事务处理

01 | MySQL事务处理

详解EBS接口开发之库存事务处理采购接收和退货

ORACLE EBS ASN入库事务处理开发接口案例

ORACLE EBS 物料事务处理开发接口案例 - 其物料启用了序列和批次

关于django出现重复点击,多事务处理