อาจมีบ้างที่เรามีความจำเป็นต้องหยุด ยกเลิก การใช้งานสินค้า (item) บางตัวในระบบ เช่น สินค้าเลิกผลิตไปแล้วและเพื่อมีผลกับระบบ  โดยไม่ให้มีการกระทำใดๆ กับสินค้าดังกล่าวในระบบอีก  จึงต้องเข้าไปทำการ Inactive สินค้า

การ Inactive เข้าไปในส่วนของเมนู Item  จากในรูป Inactive แล้วเกิด error ในลักษณะนี้
เกิดจากมี sales order ที่ยังคงค้างและอ้างอิงกับ item code ตัวนี้อยู่, กระบวนการ order life cycle ยังไม่ครบ loop  หรือโดนจองสินค้าไว้อยู่  ด้วยเหตุผลทั้งหลายเหล่านี้  ย่อมส่งผลให้ไม่สามารถ inactive item ดังกล่าวได้




สามารถใช้ query เพื่อตรวจสอบได้   สังเกตช่อง SOURCE_LINE_ID

select * from wsh_delivery_details
where inventory_item_id =&item_id
and pickable_flag = 'Y'
and inv_interfaced_flag in ('N','P')
and released_status <> 'D'
and organization_id =&org_id;



 
 
 
 
 
 


สำหรับวิธีการแก้ไขให้จำเป็นต้องรัน script  เพื่อยกเลิกรายการคงค้างในแต่ละรายการใน sales order ที่ปรากฎ

<download script>

เปลี่ยนนามสกุลจาก .jpg เป็น .sql  และ ftp upload  ไปยัง server




telnet ไปยัง server  ด้วย user ที่มี database permission  (ORAXXXXX)
change directory ไปยังตำแหน่งของ script  และใช้ sqlplus เพื่อรัน script ดังกล่าว




โดย Parameter ที่ต้องการก็คือ ค่า SOURCE_LINE_ID จากใน query แรกนั่นเอง
สุดท้ายอย่าลืม commit;




หากว่ามีรายการ LINE_ID ที่คงค้างเยอะ  การสั่งรันซ้ำๆ ก็คงจะลำบากไม่น้อย  อาจประยุกต์ใช้โปรแกรม Dataload
ในการทำวนซ้ำในการรัน script ก็ได้


 
ซึ่งท้ายสุดเมื่อจัดการรายการทั้งหมดที่ค้างได้แล้ว   กลับมาทำการ Inactive item อีกครั้ง
ก็จะพบว่าสามารถทำได้แล้ว ครับ
 
 

@ขอขอบคุณ Oracle Support  ที่มาของ Script
...
...

edit @ 11 Jun 2012 14:30:30 by รักกันมิสู้รู้ใจกัน

edit @ 11 Jun 2012 14:31:15 by รักกันมิสู้รู้ใจกัน

edit @ 11 Jun 2012 14:33:09 by รักกันมิสู้รู้ใจกัน

edit @ 11 Jun 2012 14:37:16 by รักกันมิสู้รู้ใจกัน

Comment

Comment:

Tweet