Oracle EBS R12经验谈(二)

作者: jianping.ni    时间: 2009-2-13 12:52     标题: Oracle EBS R12经验谈(二)

OAF页面:银行帐户开户人LOV值列表无值   

在输入 应付超级用户职责/Setup : Payment/银行帐户/创建银行帐户:帐户开户人和用途
中的银行帐户开户人字段时,不要选择边上的LOV值列表(选了也白选,因为没有值可选,是bug),
直接在该字段输入法人实体

作者: jianping.ni    时间: 2009-2-13 12:52

付款保存时,报如下错误:
Document Payer Bank Branch Type is required.
Document Delivery Channel is required.
Document Payee Bank Branch Type is required.
Document Payee Bank Instruction Code 2 is required.
措施:
定义
AP Super User/Setup/Payment/Bank Accounts/Manage Payment Documents/Update/
Document Information/Format Standard Check Format

作者: jianping.ni    时间: 2009-2-13 12:52

一/子帐定义验证失败
经过对验证的并发请求进行TRACE,没找到关键问题
然后启用PROFILE  :FND:DEBUG LOG,检查FND_LOG_MESSAGES表获得详细的程序执行信息,发现原来是没有考虑UTF8的问题,导致xla_cmp_string_pkg程序执行失败.

解决方法:
将xla_cmp_string_pkg里的
xla_cmp_string_pkg.g_Max_line            CONSTANT NUMBER :=255 修改为80  
从255改为80,这样就肯定不会错了。理由:255/3=86,因此,80个字符长不会报错。

二/workflow的图不能打开,报Cannot View Workflow Status Monitor. Start: Applet Not Initialized
解决方法:
1.  Run Adadmin and regenerate all the jar files with FORCE option.
2.  Clear Jinitiator cache on client PC.
3.  Clear Apache cache and bounce Apache.
4. Retest the problem by logging out and logging back in.
参考文档:Note:304662.1

三/OPM费用分配代码的弹性域不能保存(保存后再查就没有了),能打开
解决方法:查看FORM的原代码,发现根本没有ATTRIBUTE字段,手工添加这几个字段到FORM中(别看这是低级问题,但很不好查,开始把我给搞蒙了)

四/打开http://erpdb.cnnice.com:8001登陆地址时,没有任何错误,但是什么也不做,蒙吧,根本没任何信息
解决方法,根据登陆页面的JSP页面到METALINK去找相关类似的信息,果然找到个文档:Note:435550.1:R12 Login issue on target after cloning
过程步骤:
1. cd $FND_TOP/patch/115/bin
2. ./ojspCompile.pl --compile --flush -p 2
3. Bring up the services and test login
问题原因: $COMMON_TOP/_pages 下的文件被人删除了,所以,12版本很不同的地方是,_pages在我们看来,肯定是属于缓存文件,应该是可以删除的,但是就是不能删除,删除就有问题了。需要重新编译。

作者: jianping.ni    时间: 2009-2-13 12:53

io wait特别大,而基本上无人使用ebs,也没有运行的request,发现数据库进程特别多
一看,原来是oracle10g数据库自动在收集统计数据。。。
这个自动收集的时间点也太不正常了吧,在工作时间运行,占用大量系统资源,
将它disable掉先
[转自metalink]How to Disable Automatic Statistics Collection in 10G
Solution
1)To Disable the automatic statistics collection in 10G , you can execute the following procedure :

EXEC DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB')';

2) To check whether the job is disabled, run the following QUERY:

SQL> SELECT STATE FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME = 'GATHER_STATS_JOB';

STATE
---------------
DISABLED

还是用ebs的gather schema statics请求来定期让它周末或者深夜执行吧~

作者: jianping.ni    时间: 2009-2-16 08:57

Q:报表:信用暂挂报表  提交报错。路径:AR超级用户-报表-收款
A:请参考metalink Doc ID:  744501.1
Subject:  Problems Submitting Several Reports In None US Session Language: APP-FND-806: "The default value xyz is invalid for segment Reporting Level".
  Doc ID:  744501.1 Type:  HOWTO
  Modified Date :  02-DEC-2008 Status:  PUBLISHED

In this Document
  Goal
  Solution
  References
-------------------------------------------------------------------------------
Applies to:
Oracle Receivables - Version: 12.0.4
Information in this document applies to any platform.
NLS MLS
ARRGTA - Journal Entries Report
ARRXACRC - Publish Actual Receipt
ARRXARRG - Applied Receipts Register
ARRXBRBS - Bills Receivable by Status Report
ARRXBRSS - Bills Receivable Summary Report
ARRXINVR - Transaction Register
ARRXMTRG - Miscellaneous Receipts Register
ARXAGE - Aging - 4 Buckets Report
ARXAWall - Aging - 7 Buckets - By Account Report
ARXAGLW - Aging - 7 Buckets - By Collector Report
ARXAGRW - Aging - 7 Buckets - By Salesperson/Agent Report
ARXAGSW - Aging - 7 Buckets Report
ARXCCS - Customer Credit Snapshot
ARXCHR - Credit Hold Report
ARXRECON - AR Reconciliation Report
RAXGLA - Sales Journal By Customer
RAXGLR - Sales Journal by GL Account Report
RAXINX - Invoice Exception Report
RXARADJR - RX-only: Adjustment Register
RXARARRG - RX-only: Applied Receipts Register
RXARBRBS - RX-only: Bills Receivable by Status Report
RXARBRSS - RX-only: Bills Receivable Summary Report
RXARMTRG - RX-only: Miscellaneous Receipts Register
RXARRCRG - RX-only: Receipt Register
Goal
In Release 12 several reports fail to submit, if you do this in any other session language than English with
"APP-FND-806: The default value xyz is  invalid for segment Reporting Level".

Example if you try to run the reports in French, Spanish or German environment you are not able to submit them due to above error message.
If you switch to American English Session language the report can be submitted without any problem.

Solution
Prio 3 Bug 7499513 has been logged for this to get the seed data changed.

Workaround:
Logon to System Administrator
Navigate to Concurrent > Program > Define
Query for Short Name <any of the reports that fail at your instance)
Click Button Parameters
Put your cursor on parameter 'Reporting Level'
Use Edit > Field on field 'Default Value'
Change the current default sql statement from
SELECT MEANING FROM FND_LOOKUPS WHERE LOOKUP_TYPE = 'FND_MO_REPORTING_LEVEL'
AND rownum=1
to
SELECT MEANING FROM FND_LOOKUPS WHERE LOOKUP_TYPE = 'FND_MO_REPORTING_LEVEL'
AND lookup_code = 1000

Save
After this has been done you should be able to submit the report in any session language.

作者: jianping.ni    时间: 2009-2-16 08:58

公司知识库中的文件存放在数据库表中,
通过以下sql语句可以找到文件和目录结构:
--1.文件存放目录
SELECT folder.name folder_name,--文件夹
       op.name,                --文件名
       omc.globalindexedblob,  --文件内容
       omc.bfilecontent
  FROM content.odm_contentobject oc,
       content.odm_document od,
       content.odm_publicobject op,
       content.odmm_contentstore omc,
       content.odm_publicobject folder
WHERE od.contentobject = 2333911--具体ID
  AND od.contentobject = oc.id
  AND od.contentquota > 0
  AND op.id = od.id
  AND oc.content = omc.id
  AND folder.id = op.primaryparentfolder
  
--2.在知识库中用户创建的目录树状结构:
SELECT b.level_no ,
       c.name parent_path,--父目录
       b.name path,       --目录
       b.*  
  FROM (SELECT LEVEL level_no ,a.*
          FROM content.odm_publicobject a
          WHERE EXISTS(SELECT 'x' FROM content.odm_folder b--表示为目录
                         WHERE b.id = a.id)
            AND securingpublicobject != 0    --排除系统自带的目录(在知识库中界面中看不到的目录)
            AND securingpublicobject != 59181--排除系统自带的目录(在知识库中界面中看不到的目录)
            AND acl ! = 59391                --排除系统自带的目录(在知识库中界面中看不到的目录)
          START WITH a.id=607--根节点
          CONNECT BY a.primaryparentfolder = PRIOR a.id) b,
       content.odm_publicobject c
  WHERE c.id = b.primaryparentfolder
ORDER BY b.level_no,c.name

作者: jianping.ni    时间: 2009-2-16 08:58

Q:在资产工作台做资产当前成本调整时,系统报错“APP-OFA-48392:您不能更改进行扩展折旧的资产的成本”,英文环境下也是这个错误(Unable To Change Depreciation Method Of An Asset Which Is Not In Extended Depreciation)
A:参考metalink文章 Doc ID:756668.1,打补丁7612039

作者: jianping.ni    时间: 2009-2-16 08:59

metalink文档:
R12 Accounting Errors Encountered FAQs
  Doc ID:  601306.1 Type:  FAQ
  Modified Date :  10-NOV-2008 Status:  PUBLISHED

Subject:  R12 EBTax FAQs
  Doc ID:  602006.1 Type:  FAQ
  Modified Date :  13-DEC-2008 Status:  PUBLISHED

作者: jianping.ni    时间: 2009-2-16 09:00

Q:有同学非常认真,在春节期间说<<呵, 这两天我上了最新的测试环境, 想关库存会计期, 但是有很多未核算成本的事务哦;有空帮忙看下>>
A:
CREATE TABLE cux_mmt_0131
AS SELECT * FROM mtl_material_transactions mmt
    WHERE mmt.costed_flag = 'E'
      AND mmt.error_code = 'CST_INVALID_JOB_DATE'--事务处理日期早于任务或计划的发放日期。
      AND mmt.transaction_source_type_id=5;
SELECT * FROM cux_mmt_0131
DECLARE
  CURSOR cur_mmt IS
    SELECT wdj.date_released,mmt.transaction_date,mmt.transaction_source_id,mmt.transaction_id,mmt.error_code,mmt.error_explanation
      FROM mtl_material_transactions mmt,wip_discrete_jobs wdj
    WHERE mmt.costed_flag = 'E'
      AND mmt.error_code = 'CST_INVALID_JOB_DATE'
      AND mmt.transaction_source_type_id=5
      AND wdj.wip_entity_id = mmt.transaction_source_id;
BEGIN
  FOR rec_mmt IN cur_mmt LOOP
    UPDATE mtl_material_transactions
      SET transaction_date     = rec_mmt.date_released,
          costed_flag          = 'N',
          error_code           = NULL,
          error_explanation    = NULL,
          transaction_group_id = NULL
      WHERE transaction_id = rec_mmt.transaction_id;
  END LOOP;
  COMMIT;
END;

SELECT * FROM mtl_material_transactions mmt
    WHERE mmt.costed_flag = 'N'

(特别声明,本data fix仅作为在测试环境碰到类似问题时,提供一种思路。)

作者: jianping.ni    时间: 2009-2-16 09:00

EBS中安全性规则限制sql(Oracle官方写法):
SELECT fnd_flex_values_vl.flex_value,
       fnd_flex_values_vl.flex_value VALUE,
       fnd_flex_values_vl.description DESCRIPTION,
       nvl(fnd_flex_values_vl.summary_flag, 'N'),
       nvl(to_number(fnd_flex_values_vl.structured_hierarchy_level), -1),
       fnd_flex_values_vl.compiled_value_attributes,
       nvl(fnd_flex_values_vl.enabled_flag, 'Y'),
       nvl(to_char(fnd_flex_values_vl.start_date_active, 'J'), 0),
       nvl(to_char(fnd_flex_values_vl.end_date_active, 'J'), 0)
  FROM fnd_flex_values_vl fnd_flex_values_vl
  WHERE (fnd_flex_values_vl.flex_value_set_id = 1013707)--p_flex_value_set_id
    AND (((1 = 1) AND /*
        gl_coa_bs_tag */
        (gl_aff_awc_api_pkg.gl_valid_flex_values(SYSDATE,--p_date
                                                  fnd_flex_values_vl.flex_value) = 'Y')))
    AND NOT EXISTS (SELECT NULL FROM fnd_flex_value_rule_lines l, fnd_flex_value_rule_usages u
                     WHERE u.application_id = 101--p_application_id
                       AND u.responsibility_id = 50726--p_responsibility_id
                       AND u.flex_value_set_id = 1013707--p_flex_value_set_id
                       AND l.flex_value_rule_id = u.flex_value_rule_id
                       AND l.include_exclude_indicator = 'E'
                       AND fnd_flex_values_vl.flex_value BETWEEN
                           nvl(decode(u.flex_value_set_id,
                                      1013707,--p_flex_value_set_id
                                      l.flex_value_low,
                                      NULL),
                               fnd_flex_values_vl.flex_value) AND
                           nvl(decode(u.flex_value_set_id,
                                      1013707,--p_flex_value_set_id
                                      l.flex_value_high,
                                      NULL),
                               fnd_flex_values_vl.flex_value))                  
   AND NOT EXISTS (SELECT NULL FROM fnd_flex_value_rule_usages u
         WHERE u.application_id = 101--p_application_id
           AND u.responsibility_id = 50726--p_responsibility_id
           AND u.flex_value_set_id = 1013707--p_flex_value_set_id
           AND NOT EXISTS (SELECT NULL FROM fnd_flex_value_rule_lines l
                             WHERE l.flex_value_rule_id = u.flex_value_rule_id
                               AND l.include_exclude_indicator = 'I'
                               AND fnd_flex_values_vl.flex_value BETWEEN
                                   nvl(decode(u.flex_value_set_id,
                                              1013707,--p_flex_value_set_id
                                              l.flex_value_low,
                                              NULL),
                                       fnd_flex_values_vl.flex_value) AND
                                   nvl(decode(u.flex_value_set_id,
                                              1013707,--p_flex_value_set_id
                                              l.flex_value_high,
                                              NULL),
                                       fnd_flex_values_vl.flex_value)))
ORDER BY fnd_flex_values_vl.flex_value

作者: jianping.ni    时间: 2009-2-16 09:00

Q:根据科目汇总模版、汇总科目 取 明细科目
A:直接从gl_account_hierarchies中取
(减掉了自己根据科目汇总模版得出明细科目的烦恼)

作者: jianping.ni    时间: 2009-2-16 09:00

Q:做销售发运确认时,提示发运确认成功,但是再次查看行状态为“已发运”,下一步为“运行接口”,手工运行“连接行程停靠站”也会提示警告,在物料事务处理中也无法查询到这些销售出库事务。
在库存开放接口可以查到相应的错误记录,报释放保留错误。
A:
CREATE TABLE mtl_reservations090118 AS
  SELECT * FROM mtl_reservations a
    WHERE demand_source_header_id IS NULL
      AND subinventory_code = 'STAGE'
      AND demand_source_type_id = 2;
        
DECLARE
  CURSOR cur_data IS
    SELECT * FROM mtl_reservations a
      WHERE demand_source_header_id IS NULL
        AND subinventory_code = 'STAGE'
        AND demand_source_type_id = 2;
  l_sales_order_id NUMBER;
BEGIN
  FOR rec_data IN cur_data LOOP
    SELECT msok.sales_order_id INTO l_sales_order_id
      FROM oe_order_lines_all oola,
            oe_order_headers_all ooha,
            mtl_sales_orders_kfv  msok
      WHERE oola.line_id = rec_data.demand_source_line_id
        AND ooha.header_id = oola.header_id
        AND msok.segment1 = ooha.order_number;
    UPDATE mtl_reservations
      SET demand_source_header_id = l_sales_order_id
      WHERE reservation_id = rec_data.reservation_id;
  END LOOP;
END;

UPDATE mtl_transactions_interface
  SET process_flag = 1,
      lock_flag = 2,
      transaction_mode = 3,
      validation_required = 1,
      error_code = NULL,
      error_explanation = NULL
  WHERE process_flag = 3
((特别声明,本data fix仅作为在测试环境碰到类似问题时,提供一种思路。)

作者: jianping.ni    时间: 2009-2-16 09:01

Missing Reference Link In GL Approval Workflow
  Doc ID:  363547.1
To implement the solution, please execute the following steps:



There are some notes that address this issue, but the following can be done also to achieve the requirement.


1. Define new custom menu (similar to Workflow User Web (New)).
2. Add 'Enter Journals' function to this new custom menu. (You can still add it to an available menu)
3. Create new custom responsibility 'i.e Workflow Notifications'
4. Add the custom menu to this new custom responsibility. (Or any available responsibility)
5. Assign the new custom responsibility to user.
..

6. Create Journal and submit it for approval.
7. Reference link should appear in the notification. (using this custom responsibility)

8.需要重启adapcctl.sh(11i)或者 adoacorectl.sh(R12)

作者: jianping.ni    时间: 2009-2-16 09:01

Q:应收做事务处理
1.输入头信息,保存
2.输入行项目,保存
3.回到头信息界面,按完成按钮
报APP-AR-294094:出现意外错误,状态已经恢复为未完成
A:找到arp_etax_util.synchronize_for_doc_seq(AREBTUTB.pls 120.39.12000000.29 2008/09/09)中,
   SELECT
     DECODE(TT.type, 'INV', 'INVOICE',
                     'DM',  'DEBIT_MEMO',
                     'CM',  'CREDIT_MEMO') event_class,
     TT.type || '_UPDATE'      event_type,
     T.customer_trx_id         customer_trx_id,
     T.trx_number              trx_number,
     SUBSTRB(T.comments,1,240) description,
     T.doc_sequence_id         doc_sequence_id,
     -- bug 6806843
     --TT.name                   trx_type_name,
     SEQ.name                  doc_seq_name,
     T.doc_sequence_value      doc_sequence_value,
     T.batch_source_id         batch_source_id,
     TB.name                   batch_source_name,
     TT.description            trx_type_description,
     T.printing_original_date  printing_original_date,
     T.term_due_date           term_due_date
   FROM  RA_CUSTOMER_TRX      T,
         RA_CUST_TRX_TYPES    TT,
         RA_BATCH_SOURCES     TB,
FND_DOCUMENT_SEQUENCES SEQ
   WHERE T.customer_trx_id = trx_id
   AND   T.cust_trx_type_id = TT.cust_trx_type_id
   AND   T.doc_sequence_id = SEQ.doc_sequence_id (+)
   AND   T.batch_source_id = TB.batch_source_id
   AND  (T.doc_sequence_id IS NOT NULL OR
         T.doc_sequence_value IS NOT NULL OR
         NVL(T.old_trx_number, T.trx_number) <> T.trx_number OR
         sync_line_data = 'Y')
因为T.doc_sequence_id和T.doc_sequence_value都为空导致
该sql没有返回数据。于是,尝试由顾问将单据编号改为在保存时自动产生。
此错误不再产生。

但以前的版本都是可以设置单据编号为手工或者部分产生,都是不报错的。
找到了ARP_PROCESS_HEADER_UPDTE_COVER.update_header_cover(ARTEHECB.pls 120.9.12000000.4 2008/07/08)
调用了arp_etax_util.synchronize_for_doc_seq。
从ARP_PROCESS_HEADER_UPDTE_COVER.update_header_cover中看出,p_sync_line_data的值并不是来源于预置文件
或者其它什么设置表。当付款条件和总帐日期没有改变时,就会传入p_sync_line_data='N'的值。
这就会导致不自动产生单据编号时,报APP-AR-294094:出现意外错误。
推断这是oracle的一个bug,需要提tar,请oracle给出补丁.

作者: jianping.ni    时间: 2009-2-16 09:01

本帖最后由 jianping.ni 于 2009-2-23 13:34 编辑

Q:定期实际成本处理程序 在某些职责中 巨慢,状态一直处于运行中,不能运行完成。
A:oracle刚出补丁8208324.

--------------------------------------------------------------
原来临时措施:

CREATE OR REPLACE PACKAGE BODY CSTPPACQ AS
/* $Header: CSTPACQB.pls 120.16.12000000.9 2008/08/13 19:32:14 vjavli ship $ */
.....
procedure acq_cost_processor
.....
the first "CURSOR c_invoices IS"
........


                  AND
                   ( ( l_res_flag =1 ) AND ( ad2.accounting_date between i_start_date and i_end_date) )
                  OR (l_res_flag = 2)
                  /* Invoice Lines Project TAX is now REC_TAX AND NONREC_TAX */
                  AND  ad2.line_type_lookup_code <> 'REC_TAX'
........

改为
........
                  AND
                  (  --Added ( at 2008.12.28
                   ( ( l_res_flag =1 ) AND ( ad2.accounting_date between i_start_date and i_end_date) )
                  OR (l_res_flag = 2)
                  )  --Added ( at 2008.12.28
                  /* Invoice Lines Project TAX is now REC_TAX AND NONREC_TAX */
                  AND  ad2.line_type_lookup_code <> 'REC_TAX'



长久措施:等待oracle给出补丁。

-------------------------------------------------------------------------------
oracle承认是个bug,正出补丁呢
Oracle metalink answer:

There was a problem with fix done through bug6748898 because of wrong
brackets there was cartesain join when fetching the invoice.
Fix the bracketing through bug8208324. CSTPACQB.pls 120.16.12000000.13

Bug 8208324 - PERIODIC ACQUISITION COST PROCESSOR DID NOT FINISH AFTER PATCH 6751847/69
42050
Tested the patch successfully in internal instance. After UT and QA
certified, supersede patch will be released.

Thanks,
Jayashree

STATUS
=======

@DEV -- Development Work In Progress



17-FEB-09 22:38:22 GMT

Associated bug 8208324 has been updated and is still at status: 11.

作者: jianping.ni    时间: 2009-2-16 09:02

销售退货库存事务在库存事务表中报错:
mtl_material_transactions.error_code = 'No Error'
mtl_material_transactions.error_explanation = 'CSTPACIN.COST_INV_TXN:Failure in procedure CST_RevenueCogsMatch_PVT.Process_RmaReceipt()'

其原因是销售退货库存事务的日期(mtl_material_transactions.transaction_date)早于了对应的销售订单的cst_cogs_events.event_date日期
通过以下SQL查找错误数据:
SELECT DISTINCT mmt.transaction_id,
                mmt.transaction_date,
                mmt.acct_period_id,
                mmt.organization_id,
                cce.event_id,
                cce.event_date
      FROM mtl_material_transactions mmt,
           oe_order_lines_all oola,
           cst_cogs_events cce
    WHERE mmt.costed_flag IN('E','N')
      --AND mmt.error_code = 'No Error'
      --AND mmt.error_explanation = 'CSTPACIN.COST_INV_TXN:Failure in procedure CST_RevenueCogsMatch_PVT.Process_RmaReceipt()'
      AND mmt.transaction_source_type_id = 12
      AND mmt.transaction_type_id = 15
      AND oola.line_id = mmt.trx_source_line_id
      AND oola.reference_line_id = cce.cogs_om_line_id
      AND cce.event_date > mmt.transaction_date;
措施:根据实际库存事务情况修正mmt.transaction_date,
使得mmt.transaction_date >= cce.event_date,
并保持mmt.transaction_date和mmt.acct_period_id在同一会计期间

作者: jianping.ni    时间: 2009-2-16 09:02

Q:现发现财务报表: CUX:应计负债 中,**号需要做“转义”处理,否则当**号中包含“&”之类的符号时无法正常显示,在导出、查询、对照的过程中易于出错。请解决。
A:
方法之一:提供给如下函数进行处理,这种方法可以处理HTML类型报表,XML PUBLISER的相关报表;
  /*------------------------------------------------------
     对字符串进行转义处理
  --------------------------------------------------------*/
  FUNCTION get_parsing_str(p_string IN VARCHAR2)
  RETURN VARCHAR2 IS
    v_parsing_str VARCHAR2(250);
  BEGIN
    --转义:&
    v_parsing_str := REPLACE(p_string, '&', '&');
    --转义:<
    v_parsing_str := REPLACE(v_parsing_str, '<', '<');
    --转义:>
    v_parsing_str := REPLACE(v_parsing_str, '>', '>');
    --转义:/
    v_parsing_str := REPLACE(v_parsing_str, '/', '"');
    --还有其他的好多转义字符:具体碰到的时候具体添加
    --......
   
    RETURN v_parsing_str;
  EXCEPTION
    WHEN OTHERS THEN
      RETURN NULL;
  END;

方法之二:如果是XML PUBLISHER报表,一种方法是使用如上“方法之一”进行解决,还有一种方法是使用XML的格式字符,就是在打印每个
             XML标签的时候,多打印一个标签,便可解决该问题。如下:<![CDATA[。。。。。。]]>

            比如说:
               <customer_name>上海&惠普</customer_name>
               修改为:
                <customer_name><![CDATA[上海&惠普]]></customer_name>

作者: jianping.ni    时间: 2009-2-16 09:03

有同学碰到如下问题
1.
Q:给某数据库用户授权(比如grant dba to cux)后,发现没有生效。
A:要重新登陆pl/sql developer才生效
2.
Q:修改了regedit注册表NLS_LANG的值(比如改成AMERICAN_AMERICA.ZHS16CGB231280),FORM界面还是乱码。
A:要关闭FORM BUILDER,重新打开

作者: jianping.ni    时间: 2009-2-16 09:10

本帖最后由 jianping.ni 于 2009-2-19 21:36 编辑

运行MRP很慢或者报错  

1.增加表空间大小
2.增加标准管理器个数(原来是3个)
3.MRP 管理器(原来是0个)
4.以系统管理员运行请求:Gather Schema Statistics
参数选择ALL或者分别选择MRP、INV、WIP
重新运行MRP

作者: jianping.ni    时间: 2009-2-16 09:11

本帖最后由 jianping.ni 于 2009-2-19 21:36 编辑

Q:新建销售订单时,在行信息中输入ITEM,数量和单位,不能自动带出价目表,提示物料和单位不在价目表中,并且手工输入价格不能继续,导致订单不能创建
A:参考metalink 605330.1,将profile:QP:custom sourced的值设置为No

该问题由顾问韩宇雷提tar解决,tar部分内容如下:
ISSUE CLARIFICATION
====================
On R12.HC_PF.A.DELTA.1 in Production:
When attempting to enter the item and UOM in sales order line.the error will appear,
the following error occurs.

ERROR
-----------------------
1255-3 and W not on test00.

STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Order management super user resp> Orders,Returns>Sales Orders>line item>enter the item and uom

BUSINESS IMPACT
-----------------------
The issue has the following business impact:
Due to this issue, users cannot filfull the sale order.

-------------------------------------------------------------------------------------------------------
UPDATE
======
Please take the following actions
1. Run Build Attribute Mapping Rules
Responsibility = Oracle Pricing Manager
Navigate: Reports
Select 'single request' then 'OK'
Name: Build Attribute Mapping Rules
Click OK then Submit Request

2. Once step #1 completes, Run QP: Maintains the denormalized data in QP
Qualifiers
Responsibility = Oracle Pricing Manager
Navigate: Reports
Select 'single request' then 'OK'
Name: QP: Maintains the denormalized data in QP Qualifiers
Parameters:
Enter the list header id (low) by selecting the lowest value from
the LOV (list of values). This is the first value listed.
Enter the list header id (high) by selecting the highest value
from the LOV (list of values). This is the last value listed.
Click OK then Submit Request

3. Please retest issue.
--------------------------------------------------------------------------------------------------------------
Build Attribute Mapping Rules
QP: Maintains the denormalized data in QP Qualifiers
i have run the requests according to your advice,and both are sucessfull.But the question is still existing.
--------------------------------------------------------------------------------------------------------------
Could you kindly review 605330.1 published on Metalink?
--------------------------------------------------------------------------------------------------------------
Closed by customer
the question is resolved.
set up profile:QP:custom sourced=NO
thanks a lot!
--------------------------------------------------------------------------------------------------------------
(Update for record id(s): 256082469,256082476,256082481,256082483)

CAUSE DETERMINATION
===================
QP: custom Sourced is set to 'Yes' when it was not supposed to be.

CAUSE JUSTIFICATION
===================
Reference Note 393665.1

PROPOSED SOLUTION(S)
====================
QP: custom Sourced is set to 'Yes' when it was not supposed to be.

PROPOSED SOLUTION JUSTIFICATION(S)
==================================
QP: custom Sourced is set to 'Yes' when it was not supposed to be.

SOLUTION / ACTION PLAN
======================
-- To implement the solution, please execute the following steps::
QP: custom Sourced is set to 'Yes' when it was not supposed to be.

KNOWLEDGE CONTENT
=================
Knowledge content not created because the following note already addresses this issue: SURE 3
93665.1 : Item Is Not Found On Price List - for a Simple Price List Setup
SURE 605330.1 : Common Reasons To Receive "Item and UOM Not on Price List" Error

作者: jianping.ni    时间: 2009-2-16 09:11

<<AP 和 PO 应计调节报表>>和<<未开票接收报表>>在运行时,如果不限定参数条件,会报错:ORA-06502: PL/SQL: numeric or value error: character string buffer too small 。
原因:<<未开票接收报表>>对应代码CST_UninvoicedReceipts_PVT.Print_ClobOutput中:
l_amount := 32700; 中的32700稍大了点,
临时措施:将其l_amount := 31000
长久措施:在oracle metalink上提tar,寻求相应补丁帮助。
同样,<<AP 和 PO 应计调节报表>>也是CST_ApPoAccrualReport_PVT.Generate_APPOReportXml中:
l_amount        := 32000;中的32000稍大了点
---------------------------------------------------------------------
另外,技术同事如果用PL/SQL来产生xml文件,可以参考这两个程序包写法。

作者: jianping.ni    时间: 2009-2-16 09:12

Q:在“查看净额结算报表”的WEB页面中,不能运行、查看净额结算报表.
A:<<最终的净额结算报表>>PL/SQL程序包FUN_XML_REPORT_PKG对应PL/SQL代码中,没有指定 <?xml version="1.0" encoding="....">,
参考其它EBS系统通过PL/SQL产生XML文件写法,临时措施为:
  l_encoding   VARCHAR2(100);
  l_xml_header VARCHAR2(100);
BEGIN
  .............
  l_encoding   := fnd_profile.value('ICX_CLIENT_IANA_ENCODING');
  l_xml_header := '<?xml version="1.0" encoding="'|| l_encoding ||'"?>';
  fnd_file.put_line(fnd_file.output,l_xml_header);
  .............

长久措施:在oracle metalink上寻找补丁或者提tar寻求相应补丁帮助。

PS:如果我们用PL/SQL产生XML文件,不妨和ORACALE EBS标准做法一致,
根据fnd_profile.value('ICX_CLIENT_IANA_ENCODING')来指定xml文件的encoding值。

作者: jianping.ni    时间: 2009-2-16 09:12

Q:如果碰到以下类似错误(XML文件不能正常显示、中文显示乱码等)
无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
--------------------------------------------------------------------------------
结束标记 'BATCH_DETAILS' 与开始标记 'NETTING_CURRENCY_RULE' 不匹配。处理资源 'http://rx6600.jasolar.com:8003/OA_CGI/FNDWRR.exe?temp_id=3364...
</BATCH_DETAILS>
---^
+------------- 1) PUBLISH -------------+
节点 RX6600 上的请求 391441 于 20-12-2008 21:08:01 开始进行后期处理。
请求 391441 的后期处理于 20-12-2008 21:08:01 失败,并显示错误消息:
One or more post-processing actions failed. Consult the OPP service log for details.
+--------------------------------------+

+------------- 2) PRINT   -------------+
由于后期处理失败,因此没有打印此请求的输出。
+--------------------------------------+
A:可能可以通过修改以下设置(可能需要重启unix adoacorectl.sh 或重登录EBS):
预置文件:ICX:客户机 IANA 编码 和 FND: NATIVE CLIENT ENCODING
首选项: 地区设置 和 客户机字符编码
来解决这一类问题

作者: jianping.ni    时间: 2009-2-16 09:13

Q:重启并发管理器失败
A:重启并发管理器失败之后,试图执行stopAPP.sh停止整个应用,
报如下错误
Database connection could not be established. Either the database is down or the APPS credentials supplied are wrong.
此错误的原因是unix服务器磁盘空间不足了。
删除了unix服务器上无用的文件后,重启成功。
unix服务器上无用的文件包括如下:
/tmp
请求结果:$INST_TOP/logs/appl/conc/out
日志:$INST_TOP/logs/appl/conc/log
已经打过patch的patch目录
$ORACLE_HOME/admin/....../udump (启动数据库用户的$ORACLE_HOME)
$ORACLE_HOME/forms/doc(启动EBS应用用户的$ORACLE_HOME)
......
还有其它无用的目录请大家补充

并建议调试或者跟踪完后,及时将调试或者跟踪flag关闭。
并以系统管理员职责计划运行那些清除过时数据的请求

作者: jianping.ni    时间: 2009-2-16 09:13

Q:运行请求时,报如下错误:
Enter Password:
Xlib: connection to "erpwork:0.0" refused by server
Xlib: Client is not authorized to connect to Server
Xlib: connection to "erpwork:0.0" refused by server
Xlib: Client is not authorized to connect to Server
REP-0069: Internal error
REP-57054: In-process job terminated:Terminated with error:
REP-3000: Internal error starting Oracle Toolkit.
A:
以root身份执行
DISPLAY=EBS应用服务器IP地址:0.0 (比如DISPLAY=192.168.100.13:0.0)
export DISPLAY
xhost +

以启动EBS应用的UNIX用户(比如apptest1)身份执行
DISPLAY=EBS应用服务器IP地址:0.0 (比如DISPLAY=192.168.100.13:0.0)
export DISPLAY
xhost + EBS应用服务器IP地址(比如xhost + 192.168.100.13)

作者: jianping.ni    时间: 2009-2-16 09:14

问题:客户化FORM添加了glcore.pll,在本地编译能够通过,
但到服务器上编译时报错,且没有显示具体错误信息。
原因:该pll在unix服务器上的文件名是GLCORE.pll,
unix是区分大小写的。
措施:在本地电脑上将glcore.pll改名为GLCORE.pll,
将客户化FORM重新attach一边GLCORE.pll。

问题:Autoinvoice Master Program的子请求报错
原因:1.没有设置预置文件AR: Use Invoice Accounting For Credit Memos
     2.Not all AutoAccounting types are defined

作者: jianping.ni    时间: 2009-2-16 09:14

Q:应付不能输入外币**
A:Please apply the patch 6661327 in your test instance..
下载patch时,需要oracle tar提供如下密码:
the password for Simplified Chinese (ZHS) is RYJxedJU
the password for Traditional Chinese (ZHT) is lfWfUg4J
the password for Us english is rddp3osy

作者: jianping.ni    时间: 2009-2-16 15:44

Q:物料接口表将物料属性更新为空值(也许也适用于其它接口表)
A:字符型的字段只要写'!',数值型写-999999

作者: baohaiqi    时间: 2009-2-16 20:12

好资料  学习中

作者: baohaiqi    时间: 2009-2-16 20:13

在顶一下

作者: smirkface    时间: 2009-2-16 21:55

超级牛贴

作者: sail.sun    时间: 2009-2-17 19:51

老大这种Q&A的帖子很有价值啊,大家得收hide啊

作者: jianping.ni    时间: 2009-2-18 17:20

不能创建会计分录   
--------------------------------------------------------------------------------
打补丁:6826219和6901404

处理原理:
如果创建会计分录失败,只要把xla_events.event_status_code和xla_events.process_status_code都改成'U',
然后提交<<创建会计科目>>请求或者直接在**界面创建会计分录,
创建会计分录程序不管xla_ae_headers和xla_ae_lines是否有与xla_events相应记录,
都会重新创建xla_ae_headers和xla_ae_lines记录

-----------------------------------------------------------------------------
处理应付**不能创建会计分录例子一:
create table xla_events_bkp
as select * from xla_events
where event_id in (select event_id  from xla_events e
                  where e.application_id = 200
                  and e.event_status_code ='P'
                and not exists ( select 1 from xla_ae_headers h
                                where e.event_id = h.event_id ));
UPDATE xla_events
SET event_status_code = 'U',
  process_status_code = 'U'
WHERE event_id IN (select event_id  from xla_events e
                  where e.application_id = 200
                  and e.event_status_code ='P'
                  and not exists ( select 1 from xla_ae_headers h
                                    where e.event_id = h.event_id ));
运行<<创建会计科目>>请求
-----------------------------------------------------------------------------
处理应付**不能创建会计分录例子二:
**号200803005(已取消) 部分创建会计分录,付款号1102000006 不能创建会计分录
因为先有**再有付款,所以思路
1.先试图创建**的会计分录
SELECT invoice_num,invoice_id,doc_sequence_id,doc_sequence_value FROM ap_invoices_all
WHERE invoice_num = '200803005'

select event_id,ae_header_id,a.* from xla_ae_headers a
WHERE doc_sequence_id = 130
AND doc_sequence_value = '210401983'

SELECT event_id,a.* FROM xla_ae_headers a
WHERE event_id IN (70300,80395)
找到那条xla_ae_headers记录没有创建会计分录的event_id=70300,ae_header_id=57016

DELETE FROM xla_ae_lines
WHERE ae_header_id = 57016

DELETE FROM xla_ae_headers
WHERE ae_header_id = 57016

UPDATE xla_events
SET event_status_code = 'U',
  process_status_code = 'U'
WHERE event_id =  70300
运行<<创建会计科目>>请求
2.再试图创建付款的会计分录
SELECT * FROM xla_ae_headers
WHERE DESCRIPTION LIKE '%1102000006%'
  AND je_category_name = 'Payments'

DELETE xla_ae_lines
WHERE ae_header_id IN (101270,101271)

DELETE xla_ae_headers
WHERE ae_header_id IN (101270,101271)

UPDATE xla_events
SET event_status_code = 'U',
  process_status_code = 'U'
WHERE event_id IN (70302,80394)
运行<<创建会计科目>>请求
-----------------------------------------------------------------------------
处理应付**不能创建会计分录例子三
ET1104应付 **号8000480849/859/862没有创建会计分录的原因是:
该**行1和 **行2 已放弃.

损益行中的帐户无效。如果您已定义损益日记帐行类型,请在日记帐行定义中检查附加至该类型的帐户推导规则。否则,请检查映射至会计属性“汇兑收益帐户”和“汇兑损失帐户”
的来源值。
无法创建帐户,因为 &OWNER 拥有的帐户推导规则 &COMPONENT_NAME 的所有条件均不满足。请更新 &COMPONENT_NAME 的条件,或分配其它帐户推导规则至 &PAD_OWNER 拥有的
应用产品会计定义 &PAD_NAME.
子分类帐会计无法使用 &OWNER 拥有的帐户推导规则 &COMPONENT_NAME 导出会计科目代码组合。请复核帐户推导规则,并确保对于为此事务处理传送的来源值,此规则可以导出
有效的会计科目弹性域组合。

请根据以上错误信息,检查 当**行被放弃时,汇兑损益 相关的帐户推导规则 ,映射至会计属性“汇兑收益帐户”和“汇兑损失帐户”的来源值,

但是顾问没有检查出来设置是否有问题。这也许是oracle的一个bug.

临时处理方法:
直接在表中删除了放弃行的**分配行和**行
CREATE TABLE AP_INVOICE_DISTRIBUTIONS_0427
AS SELECT * FROM AP_INVOICE_DISTRIBUTIONS_all
WHERE invoice_id = 15761 and invoice_line_number IN (1,2)

SELECT * FROM AP_INVOICE_DISTRIBUTIONS_0427

CREATE TABLE AP_INVOICE_LINES_0427 as
SELECT * FROM AP_INVOICE_LINES_all
WHERE invoice_id = 15761
  AND line_number IN (1,2)
  
SELECT * FROM AP_INVOICE_LINES_0427
  
DELETE FROM AP_INVOICE_DISTRIBUTIONS_all
WHERE invoice_id = 15761 and invoice_line_number IN (1,2)

DELETE FROM AP_INVOICE_LINES_all
WHERE invoice_id = 15761
  AND line_number IN (1,2)
直接在**界面创建会计分录

最终处理方法:建议用户提tar由oracle官方解决
-----------------------------------------------------------------------------
处理应付**不能创建会计分录例子四:
这张**2008030888.不能创建会计分录的原因是 没有录入**的分配信息
-----------------------------------------------------------------------------
处理应付**不能创建会计分录例子五:
标准**核销预付款**后,部分会计分录不能创建。已入帐显示:部分
措施:
先在**界面上验证相关**,然后在**界面上创建会计分录
-----------------------------------------------------------------------------
处理应付**不能创建会计分录例子六:
骆勇平员工由于EBS bug,再导入费用报表后,产生两个骆勇平供应商,经过删除其中一个供应商和供应商地点后
产生的出来会计分录信息居然还有被删除供应商的ID,供应商地点ID
措施:
找到了xla_ae_lines.party_id(这里找到有些会计分录的创建是根据以前会计分录记录来创建的,比如ref_event_id,ref_ae_header_id)
于是将xla_ae_lines.party_id,xla_ae_lines.party_site_id统统改成了现在的骆勇平供应商ID和供应商地点ID
运行cux_fix_invoice_accounting_pkg.fix_invoices程序,修正数据
运行<<创建会计科目>>请求
----------------------------------------------------------------------------
修正数据的程序包cux_fix_invoice_accounting_pkg:
CREATE OR REPLACE PACKAGE cux_fix_invoice_accounting_pkg IS
  PROCEDURE fix_invoices(p_invoice_id IN NUMBER);
  PROCEDURE fix_payments(p_payment_num IN VARCHAR2);
END;
/
CREATE OR REPLACE PACKAGE BODY cux_fix_invoice_accounting_pkg IS
  PROCEDURE fix_invoices(p_invoice_id IN NUMBER) IS
    CURSOR cur_invoice(i_cur_invoice_id IN NUMBER) IS
      SELECT doc_sequence_id,doc_sequence_value FROM ap_invoices_all
        WHERE invoice_id = i_cur_invoice_id;
    CURSOR cur_xla_ae_headers(i_cur_doc_sequence_id IN NUMBER,i_cur_doc_sequence_value IN NUMBER) IS
      SELECT event_id,ae_header_id from xla_ae_headers
       WHERE doc_sequence_id = i_cur_doc_sequence_id
         AND doc_sequence_value = i_cur_doc_sequence_value;
  BEGIN
    FOR rec_invoice IN cur_invoice(p_invoice_id) LOOP
      FOR rec_xla_ae_headers IN cur_xla_ae_headers(rec_invoice.doc_sequence_id,rec_invoice.doc_sequence_value) LOOP
        INSERT  INTO xla_ae_lines080421
          SELECT * FROM xla_ae_lines
            WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
        INSERT INTO xla_ae_headers080421
          SELECT * FROM xla_ae_headers
          WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
        DELETE xla_ae_lines
          WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
        DELETE xla_ae_headers
          WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
      END LOOP;
    END LOOP;
   
    UPDATE xla_events
    SET event_status_code = 'U',process_status_code = 'U'
    WHERE event_id IN (SELECT event_id  FROM xla_events e
                         WHERE e.application_id = 200
                           AND e.event_status_code ='P'
                           AND NOT EXISTS (SELECT 1 FROM xla_ae_headers h
                                             WHERE e.event_id = h.event_id ));
    COMMIT;
  END;
  
  PROCEDURE fix_payments(p_payment_num IN VARCHAR2) IS
    CURSOR cur_xla_ae_headers(i_cur_payment_num IN NUMBER) IS
      SELECT event_id,ae_header_id from xla_ae_headers
       WHERE description LIKE '%'||i_cur_payment_num||'%'
         AND je_category_name = 'Payments';
  BEGIN
    FOR rec_xla_ae_headers IN cur_xla_ae_headers(p_payment_num) LOOP
      INSERT  INTO xla_ae_lines080421
        SELECT * FROM xla_ae_lines
          WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
      INSERT INTO xla_ae_headers080421
        SELECT * FROM xla_ae_headers
        WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
      DELETE xla_ae_lines
        WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
      DELETE xla_ae_headers
        WHERE ae_header_id = rec_xla_ae_headers.ae_header_id;
    END LOOP;
   
    UPDATE xla_events
    SET event_status_code = 'U',process_status_code = 'U'
    WHERE event_id IN (SELECT event_id  FROM xla_events e
                         WHERE e.application_id = 200
                           AND e.event_status_code ='P'
                           AND NOT EXISTS (SELECT 1 FROM xla_ae_headers h
                                             WHERE e.event_id = h.event_id ));
    COMMIT;
  END;
END;
/
--=============================================================================
处理应收事务处理不能创建会计分录例子:
贷项通知单11040000002921不能创建会计分录

通过界面找到贷项通知单11040000002921对应的原始**11040000002801,
发现11040000002801没有创建会计分录,在界面上将11040000002801创建会计分录成功。

贷项通知单11040000002921按完成按钮后,发现不能保存,做跟踪约束值,
发现跟踪文件的最后几句
*******************************************************************************

SELECT AE.EVENT_ID , AE.EVENT_DATE , AE.EVENT_STATUS_CODE, AE.EVENT_TYPE_CODE
FROM
XLA_EVENTS AE, XLA_TRANSACTION_ENTITIES_UPG XT, RA_CUSTOMER_TRX_ALL TRX
  WHERE TRX.CUSTOMER_TRX_ID = :B3 AND NVL(XT.SOURCE_ID_INT_1,-99) =
  TRX.CUSTOMER_TRX_ID AND XT.ENTITY_CODE = 'TRANSACTIONS' AND XT.LEDGER_ID =
  TRX.SET_OF_BOOKS_ID AND XT.ENTITY_ID = AE.ENTITY_ID AND XT.APPLICATION_ID =
  222 AND AE.APPLICATION_ID = 222 AND NVL(AE.EVENT_DATE, TO_DATE('01-01-1900',
  'DD-MM-YYYY')) = :B2 AND AE.EVENT_STATUS_CODE <> 'P' AND :B1 =
  AE.EVENT_TYPE_CODE


call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0         11          2           1
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        3      0.00       0.00          0         11          2           1

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 44     (recursive depth: 1)
*******************************************************************************

SELECT MESSAGE_TEXT, MESSAGE_NUMBER, TYPE, FND_LOG_SEVERITY, CATEGORY,
  SEVERITY
FROM
FND_NEW_MESSAGES M, FND_APPLICATION A WHERE :B3 = M.MESSAGE_NAME AND :B2 =
  M.LANGUAGE_CODE AND :B1 = A.APPLICATION_SHORT_NAME AND M.APPLICATION_ID =
  A.APPLICATION_ID


call     count       cpu    elapsed       disk      query    current        rows
------- ------  -------- ---------- ---------- ---------- ----------  ----------
Parse        0      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        1      0.00       0.00          0          0          0           0
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        2      0.00       0.00          0          0          0           0

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 44     (recursive depth: 1)
********************************************************************************

ROLLBACK TO AR_PAYMENT_SCHEDULE

SELECT AE.EVENT_ID , AE.EVENT_DATE , AE.EVENT_STATUS_CODE, AE.EVENT_TYPE_CODE FROM XLA_EVENTS AE, XLA_TRANSACTION_ENTITIES_UPG XT, RA_CUSTOMER_TRX_ALL TRX WHERE TRX.CUSTOMER_TRX_ID = :B3 AND NVL(XT.SOURCE_ID_INT_1,-99) = TRX.CUSTOMER_TRX_ID AND XT.ENTITY_CODE = 'TRANSACTIONS' AND XT.LEDGER_ID = TRX.SET_OF_BOOKS_ID AND XT.ENTITY_ID = AE.ENTITY_ID AND XT.APPLICATION_ID = 222 AND AE.APPLICATION_ID = 222 AND NVL(AE.EVENT_DATE, TO_DATE('01-01-1900','DD-MM-YYYY')) = :B2 AND AE.EVENT_STATUS_CODE <> 'P' AND :B1 = AE.EVENT_TYPE_CODE
END OF STMT
PARSE #358:c=0,e=53,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=1,tim=4237611529714
BINDS #358:
kkscoacd
Bind#0
  oacdty=02 mxl=22(21) mxlc=00 mal=00 scl=00 pre=00
  oacflg=13 fl2=206001 frm=00 csi=00 siz=24 off=0
  kxsbbbfp=110ad52a0  bln=22  avl=04  flg=09
  value=22716
Bind#1
  oacdty=12 mxl=07(07) mxlc=00 mal=00 scl=00 pre=00
  oacflg=13 fl2=206001 frm=00 csi=00 siz=8 off=0
  kxsbbbfp=110ad52d0  bln=07  avl=07  flg=09
  value="5/23/2008 0:0:0"
Bind#2
  oacdty=01 mxl=32(09) mxlc=00 mal=00 scl=00 pre=00
  oacflg=13 fl2=206001 frm=01 csi=871 siz=32 off=0
  kxsbbbfp=110ad4a60  bln=32  avl=09  flg=09
  value="CM_CREATE"
将具体参数值代入sql语句,得到:
SELECT AE.EVENT_ID, AE.EVENT_DATE, AE.EVENT_STATUS_CODE, AE.EVENT_TYPE_CODE
  FROM XLA_EVENTS                   AE,
       XLA_TRANSACTION_ENTITIES_UPG XT,
       RA_CUSTOMER_TRX_ALL          TRX
WHERE TRX.CUSTOMER_TRX_ID = 22716
   AND NVL(XT.SOURCE_ID_INT_1, -99) = TRX.CUSTOMER_TRX_ID
   AND XT.ENTITY_CODE = 'TRANSACTIONS'
   AND XT.LEDGER_ID = TRX.SET_OF_BOOKS_ID
   AND XT.ENTITY_ID = AE.ENTITY_ID
   AND XT.APPLICATION_ID = 222
   AND AE.APPLICATION_ID = 222
   AND NVL(AE.EVENT_DATE, TO_DATE('01-01-1900', 'DD-MM-YYYY')) = to_date('2008-05-23 00:00:00','YYYY-MM-DD HH24:MI:SS')
   AND AE.EVENT_STATUS_CODE <> 'P'
   AND 'CM_CREATE'= AE.EVENT_TYPE_CODE
也就是说在按完成按钮是不应该出现以上SQL语句有值,即XLA_EVENTS.EVENT_STATUS_CODE <> 'P'的记录应该不存在

措施:
1.AE.EVENT_STATUS_CODE,ae.process_status_code暂时都改为'P',
然后再按完成按钮,这次保存成功。

2.将AE.EVENT_STATUS_CODE,ae.process_status_code都改回'U',
检查 xla_ae_headers,xla_ae_lines是否有数据,
SELECT * FROM xla_ae_headers--no row
WHERE event_id IN (162517,162518)
SELECT * FROM xla_ae_lines--no row
在界面上将11040000002801创建会计分录成功

作者: jianping.ni    时间: 2009-2-18 17:21

Q:有一笔付款单1104060585,做了创建会计分录动作。结果却是付款单的会计状态是正在处理中,导致无法看会计分录,也无法再创建。
A:检查如下:
    1.ap_invoice_payments_all.posted_flag和ap_payment_history_all.posted_flag的值都为'S'
    2.通过以下xla_events.event_id=ap_invoice_payments_all.accounting_event_id
关联,执行如下SQL语句:
     SELECT * FROM xla_events
       WHERE event_id = ap_invoice_payments_all.accounting_event_id
     返回event_status_code和process_status_code都为'U'的记录

    SELECT * FROM xla_ae_headers
      WHERE event_id = ap_invoice_payments_all.accounting_event_id
     没有返回记录

    猜测创建会计分录时,意外原因导致创建会计分录只执行了部分动作。
  措施:
      UPDATE ap_invoice_payments_all
        SET posted_flag = 'N'--old is 'S'
        WHERE check_id =

      UPDATE ap_payment_history_all
        SET posted_flag = 'N'--old is 'S'
        WHERE check_id =
      更新后,付款界面可以执行创建会计分录动作了。
      执行创建会计分录动作后,会计分录创建成功。

你可能感兴趣的:(Oracle EBS R12经验谈(二))