Cách Sửa Logic Chương Trình Customize Không Cho Tạo DO Khi Thiếu Tồn Kho Trong SAP

1. Tổng Quan Vấn Đề

Trong quá trình hỗ trợ vận hành hệ thống SAP có một lỗi nghiêm trọng đã được phát hiện chương trình customize cho phép tạo Delivery Order (DO) ngay cả khi số lượng tồn kho không đủ, mà không có bất kỳ cảnh báo hay thông báo lỗi nào.

Hậu quả của vấn đề này là:

  • Chương trình vẫn sinh ra DO thành công dù không đủ tồn kho.

  • Gây lỗi tại trường LIPS-SITKZ bằng blank

  • Quá trình tạo Billing, Shipment, Packing, Loading, PGI và VLPOD đều hiển thị trạng thái "Completed".

  • Tuy nhiên, hệ thống không ghi nhận được giá vốn (COGS) cho những DO tạo sai này.


2. Nguyên Nhân Gốc Rễ

Lỗi xảy ra do hệ thống hiện đang dùng chương trình tạo DO sử dụng function tạo DO SAP chuẩn, với ngày due_date mặc định là '31-12-9999'. Điều này có nghĩa là SAP cho phép tạo DO ngay cả khi chưa có hàng trong kho dẫn đến việc không thể ghi nhận giá vốn sau này.

Chương trình tạo DO trước khi sửa
Hình 1: Chương trình tạo DO trước khi sửa


3. Giải Pháp: Sửa Logic Chương Trình Customize

Ở lỗi này, mình vẫn giữ nguyên phần sử dụng function tạo DO chuẩn của SAP, nhưng phần due_date đang mặc định là '31-12-9999' thì mình lấy thông tin từ bảng VBEP - bảng này chứa các thông tin số lượng hệ thống đã confirm, ngày Delivery DateDelivery Status (SO có bị block hay không).

Kiểm tra Delivery Status và Delivery Date:

  • Nếu Delivery Status = 'Blocked' → không cho phép tạo DO, báo rằng SO đang bị khóa.

  • Nếu Delivery Status và Delivery Date = blank → hệ thống mặc định ngày tạo DO là ngày hiện tại.

  • Nếu Delivery Status = blankDelivery Date ≠ blank → dùng Delivery Date làm ngày tạo DO.

Sau khi áp dụng, hệ thống tạo DO thành công mà vẫn đảm bảo hệ thống ghi nhận chính xác giá vốn (COGS) sau khi PGI.
Chương trình tạo DO sau khi sửa
Hình 2: Chương trình tạo DO sau khi sửa


4. Kết Luận

Đây là một cải tiến nhỏ nhưng rất cần thiết để giảm thiểu lỗi ghi nhận giá vốn. Bạn có cách khác để fix lỗi này không thì chia sẻ ở phần comment nhé.

Cảm ơn bạn đã theo dõi.

Post a Comment

0 Comments