当前位置: 首页 > news >正文

APIs and Open Interface--非工单领、发料(含调拨)

  • 表名
  1. MTL_TRANSACTIONS_INTERFACE
  2. MTL_TRANSACTION_LOTS_INTERFACE

  • 序列
    1. MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL
  • APIs
  1. INV_TXN_MANAGER_PUB.PROCESS_TRANSACTIONS

  • 案例
    1. 杂发/杂收(代码)

       Declare

      v_user_id  number := fnd_global.user_id;

      v_login_id   number := fnd_global.login_id;

  v_request_id number := fnd_profile.value('CONC_REQUEST_ID');

Begin      

       --取transaction_interface_id

       v_transaction_interface_id := null;

        begin

          select mtl_material_transactions_s.nextval

          into v_transaction_interface_id

          from dual;

        exception

          when others then v_transaction_interface_id := null;

        end;

--处理lot no

 if v_lot_no is not null then

                begin

                 insert into mtl_transaction_lots_interface

                 (transaction_interface_id

                 ,lot_number

                 ,transaction_quantity

                 ,primary_quantity

                 ,last_update_date

                 ,last_updated_by

                 ,creation_date

                 ,created_by

                 ,last_update_login

                  )

                 values

                (v_transaction_interface_id  -- transaction_interface_id

                ,v_lot_no  -- lot_number

                ,v_transaction_quantity  -- transaction_quantity

                ,v_transaction_quantity  -- primary_quantity

                ,sysdate  -- last_update_date

                ,v_user_id  -- last_updated_by

                ,sysdate   -- creation_date

                ,v_user_id   -- created_by

                ,v_login_id -- last_update_login

                );

                exception

                  when others then

                    v_err_msg :=v_err_msg||' 新增LOT No交易时错误:'||SQLERRM;  

                end;

              end if;

    begin

                       

                insert into mtl_transactions_interface(

                      process_flag

                      ,organization_id

                      ,inventory_item_id

                      ,transaction_quantity

                      ,transaction_type_id

                      ,reason_id

                      ,transaction_reference

                      ,transfer_subinventory

                      ,transfer_locator

                      ,transfer_organization

                      ,subinventory_code

                      ,locator_id

                      ,transaction_date

                      ,transaction_uom

                      ,transaction_interface_id

                      ,source_code

                      ,source_header_id

                      ,source_line_id

                      ,transaction_header_id

                      ,validation_required

                      ,lock_flag

                      ,transaction_mode

                      ,last_update_date

                      ,last_updated_by

                      ,creation_date

                      ,created_by

                      ,last_update_login

                      ,request_id

                      ,distribution_account_id)

                values(

                      1    -- process_flag:'1' for ready, '2' for not ready3:fails 

                      ,v_organization_id          -- organization_id

                      ,v_inventory_item_id        -- inventory_item_id

                      ,v_transaction_quantity        -- transaction_quantity

                      ,v_transaction_type_id      -- transaction_type_id 杂收

                      ,v_reason_id                -- reason_id

                      ,v_request_number           -- transaction_reference

                      ,NULL -- transfer_subinventory  v_from_subinventory_code

                      ,NULL  -- transfer_locator_id     \*目的储位 *\

                      ,v_organization_id          -- transfer_organization

                      ,v_from_subinventory_code     -- subinventory_code

                      ,v_from_locator_id            -- locator_id from

                      ,sysdate                    -- transaction_date

                      ,v_primary_uom_code         -- transaction_uom

                      ,v_transaction_interface_id -- transaction_interface_id

                      ,'SIVP325'                   -- source_code

                      ,v_header_id                -- source_header_id

                      ,v_line_id                  -- source_line_id

                      ,v_transaction_interface_id -- transaction_header_id

                      ,1                          -- validation_required

                      ,2        -- lock_flag ('1' for locked, '2' or NULL for not locked 

                      ,3        -- transaction_mode 3-background 2-immediate

                      ,sysdate                    -- last_update_date

                      ,v_user_id                  -- last_updated_by

                      ,sysdate                    -- creation_date

                      ,v_user_id                  -- created_by

                      ,v_login_id                 -- last_update_login

                      ,v_request_id

                      ,v_account_id);

              exception

                  when others then

            

                 v_err_msg :=v_err_msg||' 新增 ERP 杂项出库时发生错误:'||SQLERRM;

                   

            

            v_error_str :=v_error_str||v_err_msg;

                    

              end;

              if sql%found then

                COMMIT;

                do_import(v_transaction_interface_id,v_err_code,v_err_msg);

                if v_err_code = 'E' then -- import 失败

                  rollback;                    

                   v_err_msg :=v_err_msg||'  自动杂项出库import失败:'

                 

                      

                       v_error_str :=v_error_str||v_err_msg;

                else

                    Null;

--根据实际情况,处理实际业务

                end if;

              end if; --sql%found

     -- ELSE

     End;

PROCEDURE DO_IMPORT(P_TRANSACTION_INTERFACE_ID IN NUMBER

                    ,X_RET_CODE              OUT NOCOPY VARCHAR2

                    ,X_ERR_MSG               OUT VARCHAR2) IS

x_return_status  varchar2(1);

x_msg_count      number;

x_msg_data       varchar2(4000);

x_trans_count    number;

l_retcode        number;

--l_return_message varchar2(32767);

cursor c_mti is

  select mti.error_code||'-'||mti.error_explanation error_message

  from mtl_transactions_interface mti

  WHERE mti.transaction_header_id = P_TRANSACTION_INTERFACE_ID;

BEGIN

  l_retcode := inv_txn_manager_pub.process_transactions

(p_api_version      => 1.0,

 p_commit           => 'F',

 p_init_msg_list    => 'T',

 p_validation_level => 100,

 x_return_status    => x_return_status,

 x_msg_count        => x_msg_count,

 x_msg_data         => x_msg_data,

x_trans_count      => x_trans_count,

p_header_id        => P_TRANSACTION_INTERFACE_ID);

  if l_retcode = -1 or x_return_status <> 'S' then

    for r_mti in c_mti loop

      if X_ERR_MSG is null then

        X_ERR_MSG := r_mti.error_message;

      else

        X_ERR_MSG := X_ERR_MSG||'-'||r_mti.error_message;

      end if;

    end loop;

    rollback;

    x_ret_code := 'E';

  else

    x_ret_code := 'S';

  end if;

END DO_IMPORT;

    1. 详细说明
  1. 步骤:先把资料导入到Interface,然后调用INV_TXN_MANAGER_PUB.PROCESS_TRANSACTIONS
  2. v_transaction_interface_id:根据序列进行获取mtl_material_transactions_s.nextval
  3. v_transaction_quantity :杂发数量为负数杂收为正数transaction_quantity/ primary_quantity是否一致,根据实际情况定义
  4. v_transaction_type_id要存在MTL_TRANSACTION_TYPES中
  5. v_reason_id 要存在MTL_TRANSACTION_REASONS中
  6. v_request_number:记录单据号码
  7.  source_code:记录源代码,
  8. v_header_id:记录源表头代码
  9. v_line_id:记录源表身代码
  10. v_account_id:会计科目
    1. 出库部分,建议在Interface前先检查库存数量是否满足。(该程序资料已检查,所以在此部分未做处理)
    2. 调拨transfer_subinventory、transfer_locator_id需要进行赋值,该值为调拨至的值,v_transaction_quantity为正数。

  • 手工转Interface功能与DO_IMPORT相同
  1. You can use the following steps:
        a. (N) Inventory > Transactions > Transaction Open Interface
        b. Query the stuck records
        c. No record should get queried up.
  • 常见错误
    1. Lot管理的料号,无MTL_TRANSACTION_LOTS_INTERFACE资料
    2. 出库类型库存不足
    3. 出库类型数量为正数
    4. 账期已经关账或没有开账
  • 表说明

相关文章:

APIs and Open Interface--非工单领、发料(含调拨)

表名 MTL_TRANSACTIONS_INTERFACEMTL_TRANSACTION_LOTS_INTERFACE序列 MTL_MATERIAL_TRANSACTIONS_S.NEXTVALAPIs INV_TXN_MANAGER_PUB.PROCESS_TRANSACTIONS案例 杂发/杂收&#xff08;代码&#xff09;Declare v_user_id number : fnd_global.user_id; v_login_id number …...

互联网医院系统软件开发|互联网医院管理系统开发的好处

互联网医院一直是现在的热门行业&#xff0c;很多的医院已经开发了互联网医院&#xff0c;并且已经在良好的运行中&#xff0c;而有一些医院和企业正在开发中&#xff0c;或者打算开发互联网医院系统&#xff0c;其实这些企业和医院还是很有远见的&#xff0c;因为他们知道并了…...

2.单例模式

基本概念 单例模式&#xff1a;保证一个类只有一个实例&#xff0c;并提供一个访问该实例的全局访问点 常见应用场景 读取配置文件的类一般设计为单例模式网站计数器应用程序的日志应用&#xff0c;因为共享日志文件一直处于打开状态&#xff0c;只能有一个实例去操作Spring…...

【保姆级】Java后端查询数据库结果导出xlsx文件+打印xlsx表格

目录前言一、需求一&#xff1a;数据库查询的数据导出成Excel表格1.1 Vue前端实现导出按钮点击事件1.2 后端根据数据库查询结果生成xlsx文件二、需求二&#xff1a;对生成的xlsx文件调用打印机打印2.1 Vue前端实现按钮事件2.2 后端实现打印前言 最近在弄一个需求&#xff0c;需…...

Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)

文章目录1 JDBC&#xff08;Java Database Connectivity&#xff09;1.1 什么是 JDBC&#xff1f;1.2 JDBC 核心思想2 JDBC开发步骤【重点】2.0 环境准备2.1 注册数据库驱动2.2 获取数据库的连接2.3 获取数据库操作对象Statement2.4 通过Statement对象执行SQL语句2.5 处理返回结…...

vue3生命周期

一、Vue3中的生命周期 1、setup() : 开始创建组件之前&#xff0c;在 beforeCreate 和 created 之前执行&#xff0c;创建的是 data 和 method 2、onBeforeMount() : 组件挂载到节点上之前执行的函数&#xff1b; 3、onMounted() : 组件挂载完成后执行的函数&#xff1b; 4、…...

Python学习笔记10:开箱即用

开箱即用 模块 python系统路径 import sys, pprint pprint.pprint(sys.path) [,D:\\Program Files\\Python\\Lib\\idlelib,D:\\Program Files\\Python\\python310.zip,D:\\Program Files\\Python\\DLLs,D:\\Program Files\\Python\\lib,D:\\Program Files\\Python,D:\\Progr…...

详解JAVA反射

目录 1.概述 2.获取Class对象 3.API 3.1.实例化对象 3.2.方法 3.3.属性 1.概述 反射&#xff0c;JAVA提供的一种在运行时获取类的信息并动态操作类的能力。JAVA反射允许我们在运行时获取类的属性、方法、构造函数等信息&#xff0c;并能够动态地操作它们。 2.获取Class…...

在nestjs中进行typeorm cli迁移(migration)的配置

在nestjs中进行typeorm cli迁移(migration)的配置 在学习nestjs过程中发现typeorm的迁移配置十分麻烦,似乎许多方法都是旧版本的配置&#xff0c;无法直接使用. 花了挺长时间总算解决了这个配置问题. db.config.ts 先创建db.config.ts, 该文件export了两个对象&#xff0c;其…...

前端工程构建问题汇总

1.less less-loader安装失败问题 npm install less-loader --save --legacy-peer-deps 加上–legacy-peer-deps就可以了 在NPM v7中&#xff0c;现在默认安装peerDependencies&#xff0c;这会导致版本冲突&#xff0c;从而中断安装过程。 –legacy-peer-deps标志是在v7中引…...

某马程序员NodeJS速学笔记

文章目录前言一、什么是Node.js?二、fs文件系统模块三、Http模块四、模块化五、开发属于自己的包模块加载机制六、Express1.初识ExpressGET/POSTnodemon2.路由模块化3.中间件中间件分类自定义中间件4. 跨域问题七、Mysql模块安装与配置基本使用Web开发模式Session认证JWT八、m…...

SpringMVC DispatcherServlet源码(6) 完结 静态资源原理

阅读源码&#xff0c;分析静态资源处理器相关组件&#xff1a; 使用SimpleUrlHandlerMapping管理url -> 处理器映射关系spring mvc使用WebMvcConfigurationSupport注入SimpleUrlHandlerMapping组件DelegatingWebMvcConfiguration可以使用WebMvcConfigurer的配置静态资源url…...

2023年全国最新会计专业技术资格精选真题及答案9

百分百题库提供会计专业技术资格考试试题、会计考试预测题、会计专业技术资格考试真题、会计证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 四、材料题 1.某企业为增值税一般纳税人&#xff0c;2019年12月初“应付职工薪酬…...

Web3中文|把Web3装进口袋,Solana手机Saga有何魔力?

2月23日&#xff0c;Solana Web3手机Saga发布新的消息&#xff0c;将推出NFT铸造应用程序Minty Fresh。在Minty Fresh&#xff0c;用户仅需轻点并完成拍摄&#xff0c;就可以直接在手机中进行NFT铸造&#xff0c;并在几秒钟内将其转换为链上NFT&#xff0c;NFT还可以发布在 Ins…...

【配电网优化】基于串行和并行ADMM算法的配电网优化研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

数据结构初阶 -- 顺序表

数据结构初阶 链表的讲解 目录 一. 线性表 1.1 定义 1.2 特点 二. 顺序表 2.1 定义 2.2 代码 2.3 功能需求 2.4 静态顺序表的特点以及缺点 2.5 动态的顺序表 2.6 动态顺序表接口的实现 三. 代码 头文件 主文件 一. 线性表 1.1 定义 线性表&#xff08;linear li…...

uniapp:3分钟搞定在线推送uni.createPushMessage,uni.onPushMessage

安卓端 在线推送功能演示&#xff1a; 1、dcloud后台申请开通uniPush dcloud后台 &#xff08;1&#xff09;&#xff1a;找到我的应用 &#xff08;2&#xff09;&#xff1a;点进去后&#xff0c;各平台信息&#xff0c;点击新增 &#xff08;3&#xff09;&#xff1a;填…...

C/C++开发,无可避免的多线程(篇一).跨平台并行编程姗姗来迟

一、编译环境准备 在正式进入c/c多线程编程系列之前&#xff0c;先来搭建支持多线程编译的编译环境。 1.1 MinGW&#xff08;win&#xff09; 进入Downloads - MinGW-w64下载页面&#xff0c;选择MinGW-w64-builds跳转下载&#xff0c; 再次进行跳转&#xff1a; 然后进入下载页…...

如何把照片的底色修改为想要的颜色

如何给照片更换底色&#xff1f;其实有可以一键给照片更换底色的 APP &#xff0c;但是几乎都要收费。如果想要免费的给照片更换底色的话&#xff0c;分享两种简单便捷的方法给你。掌握了这项技能&#xff0c;以后就不用店花钱处理啦&#xff01;1、免费&#xff01;线上快速 给…...

【高效办公】批量生成固定模板的文件夹名称

老师让你按照他的要求生成每位学生的文件夹,你是学委,让你马上完成该任务,但你又不想是手动一个一个码字,因此聪明的你就看到了本篇文章啦!!! 虽说一个人懒惰,并不是好的事情。 但这个似乎合情合理啊~ 然后,就动手想办法,一开始就真的打算码字了。。 思路 在实际开…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...