轻易改变 UOM conversion 会导致库存数量混乱, 也会造成财务上的数据错误. 我们这里做一个 case 来具体分析一下. 1. 开始 Carton 和 Each 的比例是 1 : 1. 2. 我们创建一个PO, ship to W1, 是一个WMS Org. Item 是 lot control 的. UOM 使用 Carton, 不用这
轻易改变 UOM conversion 会导致库存数量混乱, 也会造成财务上的数据错误. 我们这里做一个 case 来具体分析一下.
1. 开始 Carton 和 Each 的比例是 1 : 1.
2. 我们创建一个PO, ship to W1, 是一个WMS Org. Item 是 lot control 的. UOM 使用 Carton, 不用这个 item 的 Primary UOM.
这里我们注意单价是15, 因为在定义 item 的时候, 1 个 Each 单价是15, 再根据单位转换, 1 个 Carton 单价还是15. 之后所有的价格计算都根据这个来, 即使 Carton 和 Each 的单位转换比例变了.
3. 另外, 我们来看看税. 税也是根据税率乘以数量计算的. 这里10 个单位, 税是10.47.
4. 现在我们来到 Mobile 上面做收货的动作. 由于定义的PO 是ship 到WMS Org, 所以进入到WMS 的 Responsibility 里面.
5. 输入PO Number, LPN, 数量 10 Carton, Lot Number 等等. 确定. 喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140531/2014053108532928.jpg" alt="\">
6. 等所有的 concurrent request 都跑完, 我们来看看各个表里的数据.
a) rcv_receiving_sub_ledger, 由于我们收了10 个Carton, 每个 Carton 单价15, 所以总共要支付150. 加上10.47 的税, 所以总共 160.47.
b) mtl_supply, 10 Carton 10 each
c) mtl_txn_request_lines, 这里产生了一条记录, 10 Carton, 状态是7 = Pre-Approved.
到这里, 数据都正常.
7. 现在我们到 UOM Conversion 的界面, 去把比例改一下:
8. 然后到 Returns form 上来. 如果没有改 UOM conversion 的话, 这里的 Parent Qty 应该是10. 由于我们的EBS 只追踪 Primary UOM, 因此这里的 Parent Qty 就用 Primary Quantity 除以转换比例 20 了.
9. 我们把所有的数量都 Return 回去.
10. 等 RTP 跑完, 我们再看看数据.
a) PO 的表的数据都是追踪PO 上的单位 Carton. 所以 po_line_locations_all 里面 quantity 10, quantity received 9.5 CARTON.
b) rcv_receiving_sub_ledger, 总价是 8.02, 其中税 0.52, 也就是说这里的 Carton 的单价是15. 这里的单价是从 PO 里面来的, 但实际上, 1 Carton 已经改成 20 Each 了, 实际的单价应该是 300 才对. 但也有合理的一方面, 因为只 Return 了0.5 Carton, 总价不应该超过之前的总价.
c) RCV 表追踪的单位是 item 的 Primary UOM. 因此 rcv_transactions 里面的数据开始出现 mismatch. 接受了10 Each, 返回了10 Each, 相减为 0. 但是还剩9.5 Carton. 当然, RT 作为历史记录表, 只负责记录每个transaction 的数据, 这个数据没有问题, 但是其他表的很多数据是根据RT 的数据计算的, 这样就造成了数据错误.
d) mtl_supply 里面有两笔记录, 分别为 0.5 Carton 10 Each 和 9.5 Carton 190 Each. 这里有一点问题. 我们库存应该追踪 Primary UOM 才对, 这里数量应该都是0.
e) mtl_txn_request_lines, 状态变为5 = Closed, 数量0. 在做 Return 之前 状态是7 = Pre Approved, 数量是 10. 这里是根据 Primary Quantity 计算得出的结果.
f) rcv_lot_supply 里面的数据出现明显错误, Return 之前是 10 Carton 和 10 Each, Return 之后是 9.5 Carton, 0 Each. 这是怎么算出来的呢? 我猜是根据 rcv_lot_transactions 里面的两条记录做了简单的加减 10 Carton 10 Each 和 0.5 Carton 10 Each. 相减就得到lot supply 的数据了.
11. 上面经过 Return 出现的数据问题, 我们通过 Correction 来补救一下.
如果按照库存只追踪 Primary UOM 的原则的话, 上面 Receive 这条记录的数量应该是 0. 但是这里可能是从RT 里面取数据. 接收了10个, Return 了0.5, 所以还剩9.5.
12. 针对 Receive 的记录, 多收 0.5 Carton.
13. 做完 Correction 之后, 我们再看下数据.
a) rcv_receiving_sub_ledger 产生的账目 8.02 和之前 Return 一样. 算是把之前 Return 产生的错误数据弥补回来了. 负负得正.
b) mtl_supply 有 10 Carton 和 200 Each, 这个表的计算是比较聪明的. 说明以前可能常常出这样的bug. 虽然RT 的数据是错的, 但是mtl_supply 不是简单的把RT 的数据加加减减就OK 了.
c) 但是, rcv_lot_supply 显然没有mtl_supply 那么精心设计, 数据是错的. 10 Carton 10 Each. 因为rcv_lot_transactions 就是错的.

MySQL과 Sqlite의 주요 차이점은 설계 개념 및 사용 시나리오입니다. 1. MySQL은 대규모 응용 프로그램 및 엔터프라이즈 수준의 솔루션에 적합하며 고성능 및 동시성을 지원합니다. 2. SQLITE는 모바일 애플리케이션 및 데스크탑 소프트웨어에 적합하며 가볍고 내부질이 쉽습니다.

MySQL의 인덱스는 데이터 검색 속도를 높이는 데 사용되는 데이터베이스 테이블에서 하나 이상의 열의 주문 구조입니다. 1) 인덱스는 스캔 한 데이터의 양을 줄임으로써 쿼리 속도를 향상시킵니다. 2) B-Tree Index는 균형 잡힌 트리 구조를 사용하여 범위 쿼리 및 정렬에 적합합니다. 3) CreateIndex 문을 사용하여 CreateIndexIdx_customer_idonorders (customer_id)와 같은 인덱스를 작성하십시오. 4) Composite Indexes는 CreateIndexIdx_customer_orderOders (Customer_id, Order_Date)와 같은 다중 열 쿼리를 최적화 할 수 있습니다. 5) 설명을 사용하여 쿼리 계획을 분석하고 피하십시오

MySQL에서 트랜잭션을 사용하면 데이터 일관성이 보장됩니다. 1) STARTTRANSACTION을 통해 트랜잭션을 시작한 다음 SQL 작업을 실행하고 커밋 또는 롤백으로 제출하십시오. 2) SavePoint를 사용하여 부분 롤백을 허용하는 저장 지점을 설정하십시오. 3) 성능 최적화 제안에는 트랜잭션 시간 단축, 대규모 쿼리 방지 및 격리 수준을 합리적으로 사용하는 것이 포함됩니다.

MySQL 대신 PostgreSQL을 선택한 시나리오에는 다음이 포함됩니다. 1) 복잡한 쿼리 및 고급 SQL 기능, 2) 엄격한 데이터 무결성 및 산 준수, 3) 고급 공간 기능이 필요하며 4) 큰 데이터 세트를 처리 할 때 고성능이 필요합니다. PostgreSQL은 이러한 측면에서 잘 수행되며 복잡한 데이터 처리 및 높은 데이터 무결성이 필요한 프로젝트에 적합합니다.

MySQL 데이터베이스의 보안은 다음 조치를 통해 달성 할 수 있습니다. 1. 사용자 권한 관리 : CreateUser 및 Grant 명령을 통한 액세스 권한을 엄격히 제어합니다. 2. 암호화 된 전송 : 데이터 전송 보안을 보장하기 위해 SSL/TLS를 구성합니다. 3. 데이터베이스 백업 및 복구 : MySQLDump 또는 MySQLPump를 사용하여 정기적으로 백업 데이터를 사용하십시오. 4. 고급 보안 정책 : 방화벽을 사용하여 액세스를 제한하고 감사 로깅 작업을 가능하게합니다. 5. 성능 최적화 및 모범 사례 : 인덱싱 및 쿼리 최적화 및 정기 유지 보수를 통한 안전 및 성능을 모두 고려하십시오.

MySQL 성능을 효과적으로 모니터링하는 방법은 무엇입니까? Mysqladmin, Showglobalstatus, Perconamonitoring and Management (PMM) 및 MySQL Enterprisemonitor와 같은 도구를 사용하십시오. 1. MySQLADMIN을 사용하여 연결 수를보십시오. 2. showglobalstatus를 사용하여 쿼리 번호를보십시오. 3.pmm은 자세한 성능 데이터 및 그래픽 인터페이스를 제공합니다. 4. MySQLENTERPRISOMITOR는 풍부한 모니터링 기능 및 경보 메커니즘을 제공합니다.

MySQL과 SqlServer의 차이점은 1) MySQL은 오픈 소스이며 웹 및 임베디드 시스템에 적합합니다. 2) SQLServer는 Microsoft의 상용 제품이며 엔터프라이즈 수준 애플리케이션에 적합합니다. 스토리지 엔진의 두 가지, 성능 최적화 및 응용 시나리오에는 상당한 차이가 있습니다. 선택할 때는 프로젝트 규모와 향후 확장 성을 고려해야합니다.

고 가용성, 고급 보안 및 우수한 통합이 필요한 엔터프라이즈 수준의 응용 프로그램 시나리오에서는 MySQL 대신 SQLServer를 선택해야합니다. 1) SQLServer는 고 가용성 및 고급 보안과 같은 엔터프라이즈 수준의 기능을 제공합니다. 2) VisualStudio 및 Powerbi와 같은 Microsoft Ecosystems와 밀접하게 통합되어 있습니다. 3) SQLSERVER는 성능 최적화에서 우수한 성능을 발휘하며 메모리 최적화 된 테이블 및 열 스토리지 인덱스를 지원합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
