首页 > 编程语言 >EBS AR接口表数据跑【自动开票主程序】一直空跑

EBS AR接口表数据跑【自动开票主程序】一直空跑

时间:2024-11-05 10:46:26浏览次数:3  
标签:主程序 id interface TL AR IL INTERFACE LINE 空跑

背景:业务设置定时任务【自动开票主程序】请求调起的子请求【自动开票导入程序】全部报错,导致ra_interface_lines_all表数据堆积,后期重跑【自动开票主程序】请求无法调起的子请求【自动开票导入程序】。

【自动开票导入程序】请求异常信息:(暂未找到原因)

org parameter (raamai) = ~401~
raassc()+ 当前的系统时间为 30-10-2024 23:46:42
org parameter (raassc) character = ~401~
org parameter (raassc) numeric = ~401~
raassc()- 当前的系统时间为 30-10-2024 23:46:43
raagsp()+ 当前的系统时间为 30-10-2024 23:46:43
Autoinvoice max memory set below recommended value, defaulted to 1048576 bytes
raagsp()- 当前的系统时间为 30-10-2024 23:46:43
Dumping data fetched from RA_BATCH_SOURCES
batch_source_id = 4004

针对跑【自动开票主程序】请求无法调起的子请求【自动开票导入程序】问题处理:

将AR接口表ra_interface_lines_all的request_id、interface_status刷为空值,重新跑【自动开票主程序】即可调起子请求。

--1、查看AR接口表的处理状态
SELECT t.request_id,
       t.interface_status , 
       t.header_attribute1, t.header_attribute2, t.header_attribute3,
       t.header_attribute_category, t.interface_line_attribute1, t.interface_line_attribute2,
       t.interface_line_attribute3, t.interface_line_attribute4, t.interface_line_attribute5,
       t.interface_line_attribute6, t.interface_line_attribute7, t.interface_line_attribute8,
       t.interface_line_attribute9, t.interface_line_attribute10, t.interface_line_attribute11,
       t.interface_line_attribute12, t.interface_line_attribute13, t.interface_line_attribute14 
FROM   apps.ra_interface_lines_all t
WHERE  1 = 1
AND    t.org_id = 401 --业务实体ID
--AND    t.request_id IS NOT NULL 
AND    t.interface_line_attribute1 IN ('21100031913','21100031914' )--销售订单号
;
       
--2、针对发票接口表无法处理的数据,更新请求ID和处理状态为空值,重跑【自动开票主程序】即可调起子请求【自动开票导入程序】
UPDATE ar.ra_interface_lines_all t
SET    t.request_id       = NULL,
       t.interface_status = NULL
WHERE  1 = 1
AND    t.org_id = 401 --业务实体ID
AND    t.request_id IS NOT NULL
AND    t.interface_line_attribute1 IN ('21100031859', '21100031860')--销售订单号
;

--3、执行过程进行请求监控
--3.1、根据请求查看执行的SQL
SELECT s.*
FROM   fnd_concurrent_requests r,
       gv$session              v,
       gv$sql                  s
WHERE  r.oracle_session_id = v.audsid
AND    v.sql_id = s.sql_id
AND    r.request_id = 20111547   ;
 
--3.2、查看sql的参数
select b.NAME,
       b.POSITION,
       b.DATATYPE_STRING,
       b.VALUE_STRING,
       b.LAST_CAPTURED
  from v$sql_bind_capture b
 where b.sql_id = '3as1tjywgb18w'; 
  
--3.3、查看SQL的执行计划
SELECT id,
       lpad(' ', 2 * (LEVEL - 1)) || operation || '' || options || ' ' ||
       object_name || ' ' || decode(id, 0, 'Cost=' || cost) "QueryPlan_Table",
       t.cost
FROM   v$sql_plan t
START  WITH id = 0
     AND    sql_id = '&sql_id'
CONNECT BY PRIOR id = parent_id
    AND    sql_id = '&sql_id';

--4、监控发现该段SQL查询较慢,
--创建客制化索引后,【自动开票导入程序】执行效率大幅度提升
-- create index CUX.CUX_RA_CUST_TRX_LINES_N3 on AR.RA_CUSTOMER_TRX_LINES_ALL (interface_line_attribute1, interface_line_attribute6);
/*INSERT INTO RA_INTERFACE_ERRORS
 (INTERFACE_LINE_ID,
  MESSAGE_TEXT,
  INVALID_VALUE, ORG_ID)*/
SELECT /*+ ORDERED INDEX(IL) USE_NL(TL,T) 
           DYNAMIC_SAMPLING(IL,5) DYNAMIC_SAMPLING(TL,5) */
INTERFACE_LINE_ID,
:b_err_msg6,
'trx_number='||T.TRX_NUMBER||','||'customer_trx_id='||TL.CUSTOMER_TRX_ID,
IL.ORG_ID
FROM RA_INTERFACE_LINES_GT IL, RA_CUSTOMER_TRX_LINES TL, RA_CUSTOMER_TRX T
WHERE  IL.REQUEST_ID = :b1
AND    IL.INTERFACE_LINE_CONTEXT = 'ORDER ENTRY'
AND    T.CUSTOMER_TRX_ID =TL.CUSTOMER_TRX_ID
AND  IL.INTERFACE_LINE_CONTEXT = TL.INTERFACE_LINE_CONTEXT 
AND IL.INTERFACE_LINE_ATTRIBUTE1 = TL.INTERFACE_LINE_ATTRIBUTE1
AND IL.INTERFACE_LINE_ATTRIBUTE2 = TL.INTERFACE_LINE_ATTRIBUTE2
AND IL.INTERFACE_LINE_ATTRIBUTE3 = TL.INTERFACE_LINE_ATTRIBUTE3
AND IL.INTERFACE_LINE_ATTRIBUTE4 = TL.INTERFACE_LINE_ATTRIBUTE4
AND IL.INTERFACE_LINE_ATTRIBUTE5 = TL.INTERFACE_LINE_ATTRIBUTE5
AND IL.INTERFACE_LINE_ATTRIBUTE6 = TL.INTERFACE_LINE_ATTRIBUTE6
AND IL.INTERFACE_LINE_ATTRIBUTE7 = TL.INTERFACE_LINE_ATTRIBUTE7
AND IL.INTERFACE_LINE_ATTRIBUTE8 = TL.INTERFACE_LINE_ATTRIBUTE8
AND IL.INTERFACE_LINE_ATTRIBUTE9 = TL.INTERFACE_LINE_ATTRIBUTE9
AND IL.INTERFACE_LINE_ATTRIBUTE10 = TL.INTERFACE_LINE_ATTRIBUTE10
AND IL.INTERFACE_LINE_ATTRIBUTE11 = TL.INTERFACE_LINE_ATTRIBUTE11
AND IL.INTERFACE_LINE_ATTRIBUTE12 = TL.INTERFACE_LINE_ATTRIBUTE12
AND IL.INTERFACE_LINE_ATTRIBUTE13 = TL.INTERFACE_LINE_ATTRIBUTE13
AND IL.INTERFACE_LINE_ATTRIBUTE14 = TL.INTERFACE_LINE_ATTRIBUTE14;

参考文档:

https://blog.itpub.net/312870/viewspace-157826/

根據提示可能是沒有找到條件下的數據,于是與DB進行查詢:

SQL> select count(*)
  2    from apps.ra_interface_lines_all a
  3   where  interface_status IS NULL;

  COUNT(*)
----------
       159

也就是還有159行沒有Past,再加個條件:

SQL> select count(*)
  2  from apps.ra_interface_lines_all a
  3  where interface_status is null
  4  and request_id is null;

  COUNT(*)
----------
         0

可能問題就是在于這里了,要成功處理數據,肯定是要聯系這兩個條件作業的,應該把這些沒有拋出的數據的 request_id欄位清理一下!

測試一筆,成功,直接update

update ra_interface_lines_all

set request_id =null

where interface_status is null;

总结一下,当应收接口失败的时候最少需要注意两点:
一、AR_CONC_PROCESS_REQUESTS记录了当前自动开票和合并客户的请求ID,如果确信系统中无运行中此两类请求,表应该为空;
二、表ra_interface_lines_all的request_id和interface_status应该对应,不对应将导致不能查询出数据;

三、要重新启动该资料的workflow,然后再运行autoinvoice

标签:主程序,id,interface,TL,AR,IL,INTERFACE,LINE,空跑
From: https://blog.csdn.net/weixin_70597203/article/details/143487911

相关文章

  • 学习笔记(二十三):ArkTS语言-模块
    概述:程序可划分为多组编译单元或模块。每个模块都有其自己的作用域,即,在模块中创建的任何声明(变量、函数、类等)在该模块之外都不可见,除非它们被显式导出。与此相对,从另一个模块导出的变量、函数、类、接口等必须首先导入到模块中。一、导出可以使用关键字export导出顶层的声明......
  • Blocked aria-hidden on an element because its descendant retained focus.
    背景vue2.6.10报错:Blockedaria-hiddenonanelementbecauseitsdescendantretainedfocus.Thefocusmustnotbehiddenfromassistivetechnologyusers.Avoidusingaria-hiddenonafocusedelementoritsancestor.Considerusingtheinertattributeinste......
  • Harbor双主复制高可用部署
    环境信息:主机名称IP备注harbor01192.168.61.56harbor1服务器harbor02192.168.61.57harbor2服务器192.168.61.59Nginx代理192.168.61.56/57两个节点分别部署docker-ce,docker-compose,harbor-offline-installer-v2.9.1.tgz部署docker-cedocker-com......
  • 1.fastapi的quickstart
    1.fastapi的quickstart_接口案例2.fastapi的quickstart_运行项目的启动方式3.fastapi的quickstart_打开FastAPI测试网址,点击Tryitout4.fastapi的quickstart_打开FastAPI测试网址,点击Execute5.fastapi的quickstart_打开FastAPI测试网址,接口的运行结果......
  • js 函数 function sum(...args),function sum(args) 什么区别呢
    在JavaScript中,functionsum(...args)和functionsum(args)这两种写法有重要的区别:1.functionsum(...args)这种写法使用了剩余参数(restparameter)语法。...args会将传入函数的所有参数收集到一个数组中,args是这个数组。...args允许函数接收任意数量的参数,并将它们......
  • AI赛道盈利模式揭秘——以AIStarter为例【AI数字人、大模型、工作流...】
    随着人工智能技术的飞速发展,越来越多的企业涌入这一赛道,试图在激烈的市场竞争中占据一席之地。作为其中的一员,AIStarter凭借其独特的商业模式和技术创新,成功地在市场上站稳了脚跟。本文将深入探讨AIStarter的盈利模式,揭示其成功的秘密。AIStarter概述AIStarter是一家专注于提......
  • 从零开始学AIStarter:创作者模式全攻略【AI工作流、数字人、大模型、对话、设计...】
    在数字化时代,项目管理工具成为了提高工作效率、促进团队协作不可或缺的一部分。对于创作者来说,选择一个既能满足个性化需求又能提供高效管理支持的平台尤为重要。AIStarter项目管理平台正是这样一款专为创意人士设计的强大工具,它不仅提供了丰富的功能来帮助用户更好地组织工作......
  • 新手必看!AIStarter能帮你做什么?【AI绘画、设计、对话、工作流、编程...】
    在当今这个技术飞速发展的时代,人工智能(AI)已经成为了推动各行各业创新的关键力量。为了帮助更多的人能够轻松地利用AI技术解决实际问题,AIStarter应运而生。作为一款面向开发者的强大工具,AIStarter不仅简化了AI模型的构建过程,还提供了丰富的资源和支持,让不论是初学者还是有经验......
  • 强!34.1K star! 再见Postman,新一代API测试利器,功能强大、颜值爆表!
    1、引言在当今的互联网时代,API(应用程序编程接口)已经成为连接不同软件系统的桥梁。作为一名开发者,掌握API测试技能至关重要。市面上的API测试工具琳琅满目,今天我们要介绍的是一款开源、跨平台的API测试工具——Insomnia。2、Insomnia介绍Insomnia是一款功能丰富、易使用、强大且......
  • Docker部署(启动)tar包
    在Docker中,启动一个tar包通常意味着你需要先将这个tar包加载为一个Docker镜像,然后从该镜像启动一个新的容器。以下是具体的步骤:一、加载tar包为Docker镜像确保tar包存在:首先,你需要有一个包含Docker镜像的tar包文件。这个文件通常是通过 dockersave 命令......