首页 > 其他分享 >查找事物处理来源

查找事物处理来源

时间:2024-03-19 12:01:27浏览次数:25  
标签:END 处理 事物 ln 查找 ls -- type id

CREATE OR REPLACE FUNCTION cux_trans_source(p_trans_id NUMBER) RETURN VARCHAR2 IS
ln_type_id NUMBER;
ln_source_line_id NUMBER;
ln_trx_source_line_id NUMBER;
ln_source_type_id NUMBER;
ln_transaction_source_id NUMBER;
ls_type_name VARCHAR2(80);
ls_result VARCHAR2(80);
BEGIN
SELECT mmt.transaction_type_id,
mmt.source_line_id,
mtt.transaction_type_name,
mmt.trx_source_line_id,
mmt.transaction_source_type_id,
mmt.transaction_source_id
INTO ln_type_id,
ln_source_line_id,
ls_type_name,
ln_trx_source_line_id,
ln_source_type_id,
ln_transaction_source_id
FROM mtl_material_transactions mmt,
mtl_transaction_types mtt
WHERE mmt.transaction_type_id = mtt.transaction_type_id
AND mmt.transaction_id = p_trans_id;

IF ln_source_type_id = 1 THEN
IF ln_type_id = 18 THEN
--接收入库
SELECT '采购订单编号' || '.' || ph.segment1 ||
nvl(ph.comments, ' no comments')
INTO ls_result
FROM rcv_transactions rt,
po_headers_all ph
WHERE rt.transaction_id = ln_source_line_id
AND rt.po_header_id = ph.po_header_id;
END IF;
IF ln_type_id = 71 THEN
--交货调整
SELECT '采购订单' || '.' || ph.segment1 ||
nvl(ph.comments, ' no comments')
INTO ls_result
FROM rcv_transactions rt,
po_headers_all ph
WHERE rt.transaction_id = ln_source_line_id
AND rt.po_header_id = ph.po_header_id;
END IF;
IF ln_type_id = 36 THEN
--退货
SELECT '采购订单' || '.' || ph.segment1 ||
nvl(ph.comments, ' no comments')
INTO ls_result
FROM rcv_transactions rt,
po_headers_all ph
WHERE rt.transaction_id = ln_source_line_id
AND rt.po_header_id = ph.po_header_id;
END IF;
IF ln_type_id = 74 THEN
--转移至常规目的地
ls_result := ls_type_name;
END IF;
END IF;

IF ln_source_type_id = 2 THEN
--销售订单来源
IF ln_type_id = 33 THEN
--销售订单发运
SELECT ott.name || '.' || ooh.order_number || '.' ||
nvl(ooh.cust_po_number, 'no cust po')
INTO ls_result
FROM oe_order_lines_all ool,
oe_order_headers_all ooh,
oe_transaction_types_tl ott
WHERE ool.header_id = ooh.header_id
AND ool.line_id = ln_trx_source_line_id
AND ott.LANGUAGE = userenv('LANG')
AND ooh.order_type_id = ott.transaction_type_id;
END IF;
IF ln_type_id = 52 THEN
-- 销售订单挑库
SELECT ott.name || '.' || ooh.order_number || '.' ||
nvl(ooh.cust_po_number, 'no cust po')
INTO ls_result
FROM oe_order_lines_all ool,
oe_order_headers_all ooh,
oe_transaction_types_tl ott
WHERE ool.header_id = ooh.header_id
AND ool.line_id = ln_trx_source_line_id
AND ott.LANGUAGE = userenv('LANG')
AND ooh.order_type_id = ott.transaction_type_id;
END IF;
END IF;
IF ln_source_type_id = 3 THEN
--Account
IF ln_type_id = 1 THEN
--Account issue
ls_result := ls_type_name;
END IF;
IF ln_type_id = 40 THEN
--Account receipt
ls_result := ls_type_name;
END IF;
END IF;

IF ln_source_type_id = 4 THEN
-- 物料搬运单 ln_type_id=63,64
SELECT ls_type_name || '.' || H.REQUEST_NUMBER || '.' ||
NVL(H.DEscriptION, 'NO DESC')
INTO ls_result
FROM MTL_TXN_REQUEST_HEADERS_V H,
MTL_TXN_REQUEST_LINES_V L
WHERE H.HEADER_ID = l.HEADER_ID
AND l.LINE_ID = ln_source_line_id;
END IF;

IF ln_source_type_id = 5 THEN
--任务或计划 type id :17,25,35,38,43,44,48,55,56,57,58,90,91,92
SELECT ls_type_name || '.' || wdj.WIP_ENTITY_NAME || '.' ||
NVL(wdj.ATTRIBUTE12, 'NO 机型') || '.' ||
NVL(wdj.ATTRIBUTE1, 'NO 批次')
INTO ls_result
FROM WIP_DISCRETE_JOBS_V wdj
WHERE wdj.WIP_ENTITY_ID = ln_transaction_source_id;
END IF;

IF ln_source_type_id = 6 THEN
--帐户别名 type id :31,41
SELECT mgd.concatenated_segments
INTO ls_result
FROM MTL_GENERIC_DISPOSITIONS_KFV mgd
WHERE mgd.disposition_id = ln_transaction_source_id;
END IF;

IF ln_source_type_id = 7 THEN
--内部申请
IF ln_type_id = 61 THEN
ls_result := ls_type_name;
END IF;
IF ln_type_id = 72 THEN
ls_result := ls_type_name;
END IF;
END IF;

IF ln_source_type_id = 8 THEN
--内部订单
IF ln_type_id = 34 THEN
--Internal order issue
ls_result := ls_type_name;
END IF;
IF ln_type_id = 50 THEN
--Internal Order Xfer
ls_result := ls_type_name;
END IF;
IF ln_type_id = 53 THEN
--Internal Order Pick
ls_result := ls_type_name;
END IF;
IF ln_type_id = 54 THEN
--Int Order Direct Ship
ls_result := ls_type_name;
END IF;
IF ln_type_id = 62 THEN
--Int Order Intr Ship
ls_result := ls_type_name;
END IF;
END IF;

IF ln_source_type_id = 9 THEN
-- 周期盘点
IF ln_type_id = 4 THEN
--Cycle Count Adjust
ls_result := ls_type_name;
END IF;
IF ln_type_id = 5 THEN
--Cycle Count Transfer
ls_result := ls_type_name;
END IF;

END IF;

IF ln_source_type_id = 10 THEN
-- 实地盘点
IF ln_type_id = 8 THEN
--实地盘点调整
ls_result := ls_type_name;
END IF;

IF ln_type_id = 9 THEN
--实地盘点仓库转移
ls_result := ls_type_name;
END IF;
END IF;

IF ln_source_type_id = 11 THEN
--标准成本更新
IF ln_type_id = 24 THEN
ls_result := ls_type_name;
END IF;
END IF;

IF ln_source_type_id = 12 THEN
-- RMA 退货 ln_type_id is 15,37
IF ln_type_id = 15 THEN
--RMA 接收
SELECT ott.name || '.' || ooh.order_number || '.' ||
nvl(ooh.cust_po_number, 'no cust po')
INTO ls_result
FROM oe_order_lines_all ool,
oe_order_headers_all ooh,
oe_transaction_types_tl ott
WHERE ool.header_id = ooh.header_id
AND ool.line_id = ln_trx_source_line_id
AND ott.LANGUAGE = userenv('LANG')
AND ooh.order_type_id = ott.transaction_type_id;
END IF;
IF ln_type_id = 37 THEN
--RMA 退货
SELECT ott.name || '.' || ooh.order_number || '.' ||
nvl(ooh.cust_po_number, 'no cust po')
INTO ls_result
FROM oe_order_lines_all ool,
oe_order_headers_all ooh,
oe_transaction_types_tl ott
WHERE ool.header_id = ooh.header_id
AND ool.line_id = ln_trx_source_line_id
AND ott.LANGUAGE = userenv('LANG')
AND ooh.order_type_id = ott.transaction_type_id;
END IF;
END IF;

IF ln_source_type_id = 13 THEN
--库存
IF ln_type_id = 2 THEN
--子库存转移
SELECT nvl(mmt1.transaction_reference, 'no reference')
INTO ls_result
FROM mtl_material_transactions mmt1
WHERE mmt1.transaction_id = p_trans_id;
END IF;
IF ln_type_id = 3 THEN
--组织间直接转移
SELECT nvl(mmt.waybill_airbill, '无陆运单号')
INTO ls_result
FROM mtl_material_transactions mmt
WHERE mmt.transaction_id = p_trans_id;
END IF;
IF ln_type_id = 12 THEN
--Intransit Receipt
ls_result := ls_type_name;
END IF;
IF ln_type_id = 21 THEN
--Intransit Shipment
ls_result := ls_type_name;
END IF;
IF ln_type_id = 42 THEN
--杂项接收
ls_result := ls_type_name;
END IF;

IF ln_type_id = 32 THEN
--Miscellaneous issue
ls_result := ls_type_name;
END IF;

IF ln_type_id = 51 THEN
--Backflush Transfer
ls_result := ls_type_name;
END IF;

IF ln_type_id = 66 THEN
--Project Borrow
ls_result := ls_type_name;
END IF;
IF ln_type_id = 67 THEN
--Project Transfer
ls_result := ls_type_name;
END IF;
IF ln_type_id = 68 THEN
--Project Payback
ls_result := ls_type_name;
END IF;
IF ln_type_id = 70 THEN
--Shipment Rcpt Adjust
ls_result := ls_type_name;
END IF;

IF ln_type_id = 73 THEN
--Planning Transfer
ls_result := ls_type_name;
END IF;

IF ln_type_id = 75 THEN
--Transfer to Consigned
ls_result := ls_type_name;
END IF;
IF ln_type_id = 80 THEN
--平均成本更新
ls_result := ls_type_name;
END IF;
IF ln_type_id = 82 THEN
--Inventory Lot Split
ls_result := ls_type_name;
END IF;
IF ln_type_id = 83 THEN
--Inventory Lot Merge
ls_result := ls_type_name;
END IF;
IF ln_type_id = 84 THEN
--Inventory Lot Translate
ls_result := ls_type_name;
END IF;
IF ln_type_id = 86 THEN
--Cost Group Transfer
ls_result := ls_type_name;
END IF;
IF ln_type_id = 87 THEN
--Container Pack
ls_result := ls_type_name;
END IF;
IF ln_type_id = 88 THEN
--Container Unpack
ls_result := ls_type_name;
END IF;
IF ln_type_id = 89 THEN
--Container Split
ls_result := ls_type_name;
END IF;
IF ln_type_id = 93 THEN
--Field Service Usage
ls_result := ls_type_name;
END IF;
IF ln_type_id = 94 THEN
--Field Service Recovery
ls_result := ls_type_name;
END IF;
END IF;

IF ln_source_type_id = 14 THEN
--Periodic Cost Update
IF ln_type_id = 26 THEN
--Periodic Cost Update
ls_result := ls_type_name;
END IF;

END IF;

IF ln_source_type_id = 15 THEN
--Layer Cost Update
IF ln_type_id = 28 THEN
ls_result := ls_type_name;
END IF;
END IF;

IF ln_source_type_id = 16 THEN
--Project Contract
IF ln_type_id = 77 THEN
--ProjectContract Issue
ls_result := ls_type_name;
END IF;
END IF;

RETURN ls_result;
EXCEPTION
WHEN OTHERS THEN
ls_result := '无来源';
RETURN ls_result;

END;

标签:END,处理,事物,ln,查找,ls,--,type,id
From: https://www.cnblogs.com/ivenlin/p/18082462

相关文章

  • matinal:SAP ABAP OO面向对象编程中的触发和处理事件
    ......
  • 【数字图像处理系列】读取图像
    【数字图像处理系列】读取图像使用函数imread可以将图像读人MATLAB环境,imread的语法为imread('filename')其中,filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。例如,命令行>>f=imread('pout.tif')将tif图像pout读人图像数组f。就像上面的这个......
  • Oracle INV现用量,可保留量,可处理量
    createorreplaceprocedureget_inv_quantity(p_organization_idinnumber,p_inventory_item_idinnumber,p_lot_numberinvarchar2,......
  • 《手把手教你》系列技巧篇(四十二)-java+ selenium自动化测试 - 处理iframe -下篇(详解教
    1.简介经过宏哥长时间的查找,终于找到了一个含有iframe的网页。所以今天这一篇的主要内容就是用这个网页的iframe,宏哥给小伙伴或者童鞋们演示一下,在处理过程中遇到的问题以及宏哥是如何解决的。2.iframe是什么iframe就是我们常用的iframe标签:<iframe>。iframe标签是......
  • 自然语言:如何通过机器学习和自然语言处理技术训练生成一个AI?有没有代码展示
    要通过机器学习和自然语言处理技术训练生成一个AI,有一些步骤和代码示例可以帮助你。1.数据收集和准备:首先,需要收集和准备用于训练的数据。这可以是文本数据集,例如新闻文章、电影评论等。确保数据集的质量和多样性。2.数据清洗和预处理:清洗和预处理数据是一个重要的步骤。这可......
  • 常用命令--查找软件路径(同时可查看命令是否有权限)--which
    常用命令--查找软件路径(同时可查看命令是否有权限)--whichwhichwhich命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以......
  • NPL---自然语言处理单词界定问题
    2.1单词界定问题单词定界问题是属于词法层面的消歧任务。在口语中,词与词之间通常是连贯说出来的。在书面语中,中文等语言也没有词与词之间的边界。由于单词是承载语义的最小单元,要解决自然语言处理,单词的边界界定问题首当其冲。特别是中文文本通常由连续的字序列组成,词与词之间缺......
  • CentOS 执行sudo命令提示“XXX不在 sudoers 文件中“问题处理
    方法一:将用户添加到sudoers文件中定义的sudo组中切换到root用户,执行命令usermod-aGwheel,为要授予其权限的用户的名称使用su-命令切换到原来的用户(或使用reboot命令重启一下系统)。测试sudo访问权限,执行sudowhoami命令如果用户有sudo访问权限,该命令将打印“root”......
  • Oracle千万级数据处理
    --插入时不产生日志,--altertablecux_mtl_material_vmi2024038nologging;--记录时间--settimingon;declarecursorcurisselectmmt.organization_id,mmt.subinventory_code,mmt.transaction_quantity,mmt.transfer_organization_id,mmt.transfer_subinventory,mmt......
  • Java 文件处理完全指南:创建、读取、写入和删除文件详细解析
    Java文件操作文件处理简介文件处理是任何应用程序的重要部分。Java提供了许多用于创建、读取、更新和删除文件的方法。Java文件处理Java中的文件处理主要通过java.io包中的File类完成。该类允许我们处理文件,包括创建、读取、写入和删除文件。创建File对象要使用F......