
Tùy chỉnh Teamcenter ITK Extension: Triển khai Workflow Rule Handler
Trong hệ thống PLM (Product Lifecycle Management), Teamcenter của Siemens là một trong những giải pháp hàng đầu giúp doanh nghiệp quản lý dữ liệu sản phẩm và tối ưu hóa quy trình làm việc (workflow). Tuy nhiên, để phù hợp với từng nhu cầu cụ thể, đôi khi chúng ta cần mở rộng khả năng của Teamcenter bằng cách tùy chỉnh ITK Extension.
Bài viết này sẽ hướng dẫn cách tạo một Custom Rule Handler để kiểm soát số lượng target attachment trong workflow task, đảm bảo các quy trình nghiệp vụ được thực thi chính xác.
🔧 Mục tiêu của ITK Extension trong Teamcenter
Trong Teamcenter, workflow đóng vai trò quan trọng trong việc tự động hóa các quy trình kiểm tra, phê duyệt, và xử lý dữ liệu. Tuy nhiên, một số yêu cầu đặc thù như kiểm soát số lượng target attachment có thể không được hỗ trợ sẵn.
Giải pháp là tạo một ITK Extension để bổ sung một workflow rule handler tùy chỉnh. Rule này giúp xác minh số lượng file đính kèm (attachment) trong từng bước workflow, quyết định xem workflow có thể tiếp tục hay không.

📂 Chức năng chính của ITK Extension
1️⃣ Đăng ký Callback
Mỗi ITK Extension khi được nạp vào Teamcenter sẽ cần đăng ký một điểm callback để kích hoạt. Trong trường hợp này, chúng ta sử dụng:
👉 libBHCore_register_callbacks
: Đăng ký một entry point tùy chỉnh (BHRegisterExtensions
) khi thư viện được nạp vào.
2️⃣ Tạo Rule Handler tùy chỉnh
Rule handler chính là phần cốt lõi giúp kiểm tra và xử lý logic nghiệp vụ. Trong ví dụ này, rule handler BHCheckTargetObjectCount
sẽ thực hiện các bước sau:
✅ Phân tích tham số đầu vào để xác định số lượng attachment tối đa được phép.
✅ Truy xuất danh sách target attachment của workflow task hiện tại.
✅ So sánh số lượng attachment với giá trị giới hạn. Nếu số lượng vượt quá ngưỡng, workflow sẽ không thể tiếp tục (EPM_nogo
), ngược lại, nếu hợp lệ, workflow sẽ tiếp tục (EPM_go
).
3️⃣ Xử lý lỗi tập trung
Trong quá trình xử lý workflow, nếu có lỗi xảy ra, hệ thống cần một phương thức để ghi log và báo lỗi một cách hiệu quả. Macro CHECK_ERROR
giúp đơn giản hóa việc phát hiện lỗi và ghi log thông qua các API như:
EMH_store_error
: Lưu trữ lỗi trong hệ thống Teamcenter.EMH_ask_error_text
: Lấy nội dung lỗi tương ứng từ mã lỗi.TC_write_syslog
: Ghi log vào hệ thống để dễ dàng theo dõi và gỡ lỗi.
4️⃣ Quản lý bộ nhớ
Việc quản lý bộ nhớ đúng cách là một yếu tố quan trọng trong lập trình C, đặc biệt khi phát triển các extension trong Teamcenter. Mọi vùng nhớ cấp phát động cần được giải phóng sau khi sử dụng để tránh lỗi memory leak.
📌 Giải pháp:
Sử dụng MEM_free
để giải phóng bộ nhớ được cấp phát trước đó, đảm bảo hệ thống hoạt động ổn định.
📜 Các API quan trọng được sử dụng
🔑 CUSTOM_register_exit
– Đăng ký một điểm callback tùy chỉnh.
🔑 EPM_register_rule_handler
– Đăng ký workflow rule handler trong Teamcenter.
🔑 EPM_ask_root_task
– Lấy root task của workflow.
🔑 EPM_ask_attachments
– Truy xuất danh sách target attachment hoặc reference attachment trong workflow task.
🔑 EMH_store_error
– Ghi lỗi vào hệ thống Teamcenter.
🔑 EMH_ask_error_text
– Lấy nội dung lỗi từ mã lỗi.
🔑 TC_write_syslog
– Ghi log hệ thống để kiểm tra trạng thái hoạt động.
🔑 MEM_free
– Giải phóng bộ nhớ để tránh lỗi memory leak.
💡 Lợi ích của việc tùy chỉnh Teamcenter ITK Extension
✅ Tự động hóa quy trình
Tích hợp validation rule trực tiếp vào Teamcenter giúp các workflow vận hành tự động và chính xác hơn.
✅ Tùy chỉnh theo nhu cầu doanh nghiệp
Không phải tất cả các doanh nghiệp đều có yêu cầu giống nhau. Việc tùy chỉnh Teamcenter giúp điều chỉnh hệ thống theo đúng logic nghiệp vụ của từng công ty.
✅ Quản lý lỗi hiệu quả
Hệ thống centralized logging & error handling giúp phát hiện lỗi nhanh chóng, dễ dàng kiểm tra log để khắc phục sự cố.
✅ Khả năng mở rộng linh hoạt
Có thể dễ dàng bổ sung thêm các workflow rule hoặc các điều kiện kiểm tra khác mà không ảnh hưởng đến hệ thống hiện tại.
🛠️ Công nghệ và công cụ sử dụng
🔹 Teamcenter ITK – Framework lập trình mở rộng tính năng của Teamcenter.
🔹 Ngôn ngữ C – Ngôn ngữ lập trình chính khi phát triển extension cho Teamcenter.
🔹 Workflow Automation – Tích hợp logic nghiệp vụ giúp tối ưu hóa vận hành.
💬 Kết luận
Việc tùy chỉnh Teamcenter ITK Extension giúp doanh nghiệp kiểm soát workflow chặt chẽ hơn, đặc biệt khi cần thực thi các quy tắc kiểm tra đặc thù như số lượng target attachment trong workflow task.
Bằng cách áp dụng ITK API, quản lý lỗi tập trung, và giải phóng bộ nhớ đúng cách, chúng ta có thể xây dựng một hệ thống Teamcenter tối ưu, tự động và mở rộng linh hoạt theo nhu cầu doanh nghiệp.
📢 Bạn có ý kiến hoặc thắc mắc nào về ITK Extension trong Teamcenter không? Hãy để lại bình luận để cùng trao đổi nhé! 🚀👨💻✨
Nếu bạn cần hỗ trợ hoặc muốn tìm hiểu thêm về cách triển khai PLM hiệu quả, đừng ngần ngại liên hệ với tôi.
🔗 Code mẫu tham khảo từ GitHub của Sudarshan Waghmare: GitHub Repository
Liên Hệ Ngay Để Được Hỗ Trợ
- Website: https://phanthanh.id.vn / https://plm.id.vn
- Facebook: https://www.facebook.com/thanh.sysadmin
- LinkedIn: https://www.linkedin.com/in/thanhplm/
- Hotline: +84 976-099-099
- Email: lpthanh.plm@gmail.com

Experienced in Healthcare IT, I specialize in implementing and optimizing PACS, HIS/RIS, and HL7-FHIR interoperability to enhance efficiency and patient care. My expertise includes:
✔ PACS Solutions – Streamlining medical image storage, communication, and integration with HIS/RIS & HL7-FHIR systems – Ensuring seamless data exchange across healthcare systems.
Passionate about digital transformation in healthcare, I help organizations improve connectivity and operations. Let’s connect!
Luu Phan Thanh (Tyler) Solutions Consultant at PACS Ecosystem Mobile +84 976 099 099
Web www.plm.id.vn Email tyler.luu@plm.id.vn / lpthanh.plm@gmail.com