OAM Patch Status Sub Order
Root Cause
- Batch
OAM_EXPORT_DOCUMENT_COLLECTION_SENTจะพบว่า API เส้นOA07003(/sent-outbound)หากมีการส่งไฟล์ไปยัง SFTP แล้ว ทางระบบจะเปลี่ยน Status(work_status) ของ Sub Order No. ดังกล่าวจากASSIGNED->GENERATEDและมีการอัพเดท Event status code เป็นS0071 - Batch
OAM_EXPORT_DOCUMENT_COLLECTION_SYNC_RESULTของ API เส้นOA07004(/sync-result-outbound)หากพบว่ารายการที่ส่งออกไปในไฟล์ Outbound ทั้งหมดSuccessจะมีการอัพเดท Event status code และorder_statusของ Order นั้น เป็นS0071 - แต่ถ้า API เส้น
OA07004(/sync-result-outbound)หากพบว่ารายการที่ส่งออกไปในไฟล์ Outbound บางรายการFailedจะมีการอัพเดท Event status code และorder_statusของ Order นั้น เป็นS0090แล้วต้องให้ทาง IT JAI ทำการปรับปรุงแก้ไขรายการ - จากข้อที่ 3 จะพบว่าระบบ OAM ไม่ได้มีการปรับ Status(
work_status) ในกรณีที่รายการไม่สามารถนำเข้าระบบของทาง Outsource PIVOT ได้ ทำให้รายการจะไม่สามารถดำเนินการต่อได้
เงื่อนไขสำหรับการ Patch Data
- Batch
OAM_EXPORT_DOCUMENT_COLLECTION_SYNC_RESULTมีรายการFailed - รายการอยู่ใน Status(
work_status) ->GENERATED - หมายเลข Sub Order ที่ต้องการ Patch จะต้องประเมินสถานการณ์ของแต่ละรายการก่อน เพื่อสรุปวิธีการ Patch
ขั้นตอนการเตรียมข้อมูล
- นำไฟล์ Outbound Response จาก SFTP มาจากทางทีม SRE หรือจากทาง PIVOT
- นำรายการ Sub Order No. แต่ละรายการไปตรวจสอบวันที่นัดหมาย และผลที่ไม่สามารถนำเข้าได้
- หากรายการเป็น
Successวันนัดหมายยังอยู่ใน Period ที่สามารถส่งในวันถัดไปได้ รายการ Sub Order นั้นจะต้อง Patch status =ASSIGNED - หากรายการเป็น
Successแต่วันนัดหมายไม่อยู่ใน Period ที่สามารถส่งในวันถัดไปได้ ให้ทาง User ติดต่อลูกค้าเพื่อสอบถามวันนัดหมายใหม่อีกครั้งและ รายการ Sub Order นั้นจะต้อง Patch status =CHECKINGเพื่อเข้า Flow Re-Assign - หากรายการเป็น
Failedให้ตรวจสอบเหตุผลข้อผิดพลาด แล้วปรับปรุงรายการ Sub Order นั้นให้ Patch status =CHECKINGเพื่อเข้า Flow Re-Assign โดยเบื้องต้นในส่วนของที่ User สามารถติดต่อสอบถามข้อมูลลูกค้าเพื่อช่วยปรับปรุงข้อมูลได้ มีดังนี้- งานที่นัดลูกค้าภายในวันนี้ ไม่อนุญาตให้สั่งงานหลัง 12.00 น.
- กรุณาเลือกวันนัดใหม่คุณเลือกวันนัดไม่ถูกต้อง
- ไม่อนุญาตให้นัดเกิน 5 วันทำการ
- กรุณาเลือกวันนัดใหม่ ระบบไม่เปิดให้นัดวันอาทิตย์ และ วันหยุดนักขัตฤกษ์
- นำส่งงานคืนธนาคารเกิน 5 วันทำการแล้ว ไม่สามารถซ่อมงานได้ (กรณีที่เกิน 5 วัน)
- งานไม่อยุ่ในสถานะที่สามารถซ่อมได้
- หากสั่งงานวันเสาร์หรืออาทิตย์ ไม่สามารถนัดวันจันทร์ได้
- หากสั่งงานวันหยุด ไม่สามารถนัดวันถัดไปได้
- ที่อยู่ไม่ถูกต้อง กรุณาตรวจสอบข้อมูล
- จากในข้อ 5 หากสาเหตุที่ผิดพลาดไม่ได้อยู่ใน Scope นี้ ให้ทาง IT JAI ตรวจสอบปัญหาที่เกิดขึ้นแล้วปรับปรุงรายการให้พร้อมสำหรับการ Patch ให้ Sub Order นั้น
มี Status =
CHECKINGเพื่อเข้า Flow Re-Assign
ขั้นตอนการดำเนินงาน
- รับแจ้งจากทีม Incident Management จาก F1
- สอบถามและเตรียมข้อมูลรายการที่ต้องการ Patch
- แจ้งทางทีม DBA เพื่อ booking เข้า Standard Patch(รอบวันจันทร์ และวันพุธ) พร้อมกับส่งข้อมูล Script ให้
- ทางทีม DBA ตรวจสอบ Script ก่อนเข้า Process Patch
- ทีม DBA ดำเนินการ Process Patch Data
- แจ้งทาง User เพื่อตรวจสอบข้อมูลรายการที่มีการแจ้งให้ Patch Data เพื่อตรวจสอบความถูกต้องบนหน้าจอ
Register Script Patch Data
Script Backup Database
CREATE SCHEMA IF NOT EXISTS backup_<YYYYMM>;
CREATE TABLE IF NOT EXISTS backup_<YYYYMM>.task_order_snapshot_<YYYYMMDD> (LIKE oam_service.task_order_snapshot INCLUDING ALL);
INSERT INTO backup_<YYYYMM>.task_order_snapshot_<YYYYMMDD>
SELECT * FROM oam_service.task_order_snapshot
WHERE snapshot_code = (SELECT snapshot_code
FROM oam_service.task_order_snapshot tos
WHERE tos.task_order_no = '<หมายเลข Sub Order>'
ORDER BY tos.amend_no DESC
LIMIT 1);
Script Verify Data
SELECT task_order_no, snapshot_code, status
FROM oam_service.task_order_snapshot
WHERE snapshot_code = (SELECT tos.snapshot_code
FROM oam_service.task_order_snapshot tos
WHERE tos.task_order_no = '<หมายเลข Sub Order>'
ORDER BY tos.amend_no DESC
LIMIT 1);
Script Patch Data
UPDATE oam_service.task_order_snapshot m_tos
SET status = '<Status ที่ต้องการ Patch>'
WHERE m_tos.snapshot_code = (SELECT tos.snapshot_code
FROM oam_service.task_order_snapshot tos
WHERE tos.task_order_no = '<หมายเลข Sub Order>'
ORDER BY tos.amend_no DESC
LIMIT 1);
Script Rollback Data
UPDATE oam_service.task_order_snapshot m_tos
SET status = '<Status ก่อนการ Patch>'
WHERE m_tos.snapshot_code = (SELECT tos.snapshot_code
FROM oam_service.task_order_snapshot tos
WHERE tos.task_order_no = '<หมายเลข Sub Order>'
ORDER BY tos.amend_no DESC
LIMIT 1);