[BPMN] มาลองใช้ Timer Start Event กันครับ

จาก Blog ตอนที่แล้ว หลังจากไปตบตีกับ Timer Start Event  ที่ไม่สามารถ Deploy ได้มา 5 วัรเต็มๆ หลังจากแก้ปัญหาได้แล้ว คราวนี้มาลองดูตัวอย่างกันครับ หลายคนที่อ่าน Spec ของ BPMN เอาน่าจะงงกันครับ มาดูกระบวนการแบบง่ายๆกันก่อนครับ Note: กระบวนการที่ไม่ได้เป็นตัวอย่างของกระบวนการทางธุรกิจจริงๆนะครับ แค่เพียงทดสอบ Start Timer Event โดยมีส่วนประกอบ ดังนี้ รอที่ Job ทำงานครับ ต้องรอเวลา 2018-06-03 เวลาเที่ยงคืน ถ้าขี้เกียจก็เปลี่ยนเวลาเครื่องได้เลยครับ (ถ้าบน Windows ที่ยังไม่ Activate จะไม่สามารถย้อนเวลาได้ครับ) ดูผลลัพธ์ ดูที Console ของ Tomcat ครับ มีการ Execute 5 ครั้ง ครั้งแรกตอน Task Start ครับ และอีก 4 ครั้งตาม Config ครับ (เสียดายที่ลืมเขียนเวลาครับ) มาดูที่ Task ของ Mary ครับ  มีงาน 5 งานมารอให้ mary สะสางครับ จบไปแล้วกับ Blog ตอนนี้ครับ ต่อไปถ้าว่าง ผมคงลองเขียน Timer Start Event ตามกระบวนการธุรกิจจริงๆครับ ^__^

[BPMN] เมื่อ Timer Start Event ทำให้เกิดปัญหา duedate is null

หลังจากทำ Thesis มาเรื่อยๆ ผมได้มาลองใช้ Timer Start Event ของแบบจำลอง BPMN พอจะ Deploy เท่านั้นแหละ ? พระเจ้า !!!! ทำไมทำร้ายเด็กน้อยอย่างฉันเช่นนี้ ผมติดปัญหานี้มาประมาณ 2 สัปดาห์ครับ ระหว่างที่ทำก็ไล่ถาม Google ตรวจการกำหนด Config ไปเรื่อยๆ จนถึงเวลาแล้วทีผม ต้องเอา Stacktrace มาลองไล่ Code ของตัว BPMN Engine ใน GitHub ครับ ซึ่งพอไล่ๆไปแล้ว พบสาเหตุแล้ว มาลองดูผลลัพธ์กันครับ

How to Create COM DLL (.tlb) in .NET 4.x for reference in VB6

Recently, I’ve been working on a Helper (COM DLL (.tlb) in .NET 4.x for reference in VB6) to assist with the parallel migration from VB6 to .NET Framework. The issue that might arise is having to maintain the Business Logic in two places. So I design & implement a parallel approach, by default, VB6 will call the Business Logic in .NET Framework. If there are any problems, I can turn off the Feature Flag and use the VB logic instead. Add Reference to ADODB In this step, I want to use a recordset asa Data Structure for VB6 Side, such…

[MSSQL] มาดูขนาดของ Database และ Table กัล

Microsoft SQL Server

หลังจากช่วยได้ นอกจากเป็น Dev แล้ว อีกอย่างที่ Dev ควรรู้ด้วย คือ ตัว Database ครับ วันนี้ผมขอแปะ Query สำหรับดูขนาดของ Database ไฟล์ .mdf กับ .ldf โดยสามารถดูข้อมูลจากได้ Query ดังนี้ัครับ Database File Size ผลลัพธ์ที่ได้ Table Size ประโยชน์ แถม ถ้าเราต้องการจะลด Database Size หลังจากรู้ Size Database แล้ว ทั้งในาส่วน mdf / ldf ถ้าต้องการลด Database Size ตัวเนื่อ DB นะ ลองทำตาม Step ประมาณนี้ได้ การลบข้อมูล ข้อมูลหลายจริง แต่พื้นที่มันยังจะไม่คืนนะ ต้อ การ shrink บ่อยๆ อาจกระทบประสิทธิภาพและ fragmentationและก็คำสั่ง DBCC SHRINKFILE มีคู่มือเต็มๆลองไปอ่านกันได้ ปล. จริงๆแล้ว SHRINKFILE กดจาก GUI ใน SSMS ก็ได้นะ แต่ส่วนใหญ่ที่เจอ จะพบ log บวมมากกว่า สามารถไปอ่านได้จากอีก Blog ได้เลยครับ ส่วน DB2 ตามมา Blog แปะไว้ด้านล่างเรียบร้อย

[CR] ยาคูลท์ไลท์ นมเปรี้ยวสำหรับคนรุ่นใหม่ ใส่ใจสุขภาพ

หลังจากเดินจับโปเกม่อนมานาน ระหว่างทางอยู่ๆก็พบสาวยาคูลท์ครับ ซึ่งสิ่งที่ผมได้มา คือ ยาคูลท์ ไลท์ ครับ สำหรับคุณสมบัติของมันครับ สรุป ยาคูลท์ไลท์ นมเปรี้ยวสำหรับคนรุ่นใหม่ ใส่ใจสุขภาพ Reference

[CR] เหนื่อยก็พักที่ PowerNap @Interchange Tower MRT Asoke

ติดปัญหา Error ของ BPMN ตั้งนานครับ พอแก้ได้แล้วเลยมาผ่อนคลายบ้างครับ ^__^ โดยวันนี้ผมได้ไปที่ร้าน PowerNap @Interchange Tower MRT Asoke ครับ เห็นใน Facebook มาหลายรอบแล้ว พอดีผ่านมาแถวนี้ด้วยโอกาศดีเลยครับ เตรียมนอนช่วงบ่ายครับ ตอนปี 2024 เข้าไปดู Line OA เหมือนจะเหลือส่วนเช่ารถแล้ว ที่อยู่ร้าน ภาพรวมร้าน ตัวร้านมี 2 ส่วน โปรโมชั่นที่ผมได้ลอง นวดด้วยเครื่องนวด 30 นาทีครับ + เครื่องดื่มครับ + ฟังเพลงผ่อนคลายครับ โดย ค่าเสียหายหละ ปิดท้าย  

[BPMN] เพิ่มเติมเกี่ยวกับ multiInstanceLoopCharacteristics

จาก Blog ที่แล้วที่ผมได้เขียนเกี่ยวกับตัวอย่างของ multiInstanceLoopCharacteristics โดยใช้ตัวอย่างเรื่อง กระบวนการของการขอเสนอรางวัลให้กับพนักงานดีเด่น ซึ่งลองเล่นไป เล่นมาแล้วพบปัญหา ดังนี้ สำหรับใน Blog นี้ ผมใช้วิธีแรกครับ แต่จะแทรก ตัวอย่างของ Listener เข้าไปด้วยครับ ลุยกันเลยครับ สำหรับภาพรวมของกระบวนการ (Process) เหมือนเดิมครับ แต่จะแก้ Coding และ Config ข้างในมากกว่าครับ มาเริ่มกันเลยครับ ใน Script Task “Setup Reviews” ผมแก้จากการใช้ List มาเป็น Dictionary ครับ โดยให้ มาที่พระเอกของแรกแล้วครับ ตรง Sub-Process “EvaluateProcess” ที่ถูกกำหนดเป็น MultiInstance ครับ มีการปรับแก้ตามนี้ครับ 1. แก้ไข MultiInstance ครับ แล้วที่นี้กำหนดข้อมูลของแต่ะส่วน ดังนี้ครับ 2. เพิ่ม Listener เพื่อกำหนดตัวแปรระดับ Local ให้ Engine รู้จักครับ เพิ่ม Listener เพื่อกำหนดตัวแปรระดับ Local ให้ Engine รู้จักครับ โดยผมเพิ่มตัวแปร reviewer(ชื่อผู้ประเมิน) และ reviewResult(ผลการประเมิน) ซื้อยู่ใน Scope ของ Sub-Process “EvaluateProcess” ดังนี้ครับ ในส่วนของ Script มีการแก้ไข โดยจะ Execute ต่อเมื่อมีการเรียกใช้ Sub Process “EvaluateProcess” ครับ โดยมีรายละเอียดของ Script ดังนี้ Note: อย่าลืมแก้ไขชื่อตัวแปรให้ครับนะครับ ถ้าไป Run ที่ตัว BPMN Engine แล้วเสียเวลาพอสมควรครับ ทดสอบกันเลยครับ Mary ได้เริ่มการทำงานของ Reward Process แล้วครับ สังเกตุดีๆว่าตอนนี้ Task “Evaluate Award” ได้ถูก…

[CUSE] เทอมที่ 3 แล้วนะ !!!!!

สำหรับเทอมนี้เป็นเทอมที่มีการเปลี่ยนแปลงเยอะครับ ทั้งการเปลี่ยนแผนการเรียนจาก แผน ข ไปเป็น แผน ก ครับ มาดูกันดีกว่า ว่าเทอมนี้ ผมได้ลองวิชาอะไรไปบ้าง Research Method Enterprise Application Architecture(EAA) Machine Learning(ML) Thesis (3 หน่วยกิต) เทอมนี้พอเข้าใจแล้วว่าทำไมเพื่อนหลายคนถึงลงเรียนน้อยๆกัน หรือไม่ลงเลยนอกจาก Research Method กับ Thesis ไอ้เราก็เสียดายค่าเทอมเกือบหกหมื่นเลยลงเรียน EAA กับ ML เพิ่ม แม้ว่าจะเกินจากแผน ก(2) ที่ต้องเรียนแล้วครับ เทอมนี้เหมือนเทอมที่ผ่านมาครับ เน้นสุขภาพให้ได้มากที่สุดครับ เพราะกลัวจะเป็นมะเร็งตับครับ เรื่องงาน

[CR] ข้าวกระเพราเป็ดย่าง @ Emporium Food Hall by Dragon X

จริงๆวันนี้ก็กะนั่งทำ Thesis ยาวๆไปครับทีคณะวิศวะฯ ครับ แต่นั่งแก้ BPMN ตั้งนาน มันก็ยังติดอยู่ครับ ตอนบ่ายผมเลยตัดสินใจเดินจากจุฬา มา Terminal ไล่มาเรื่อยๆจนถึงตู้ปลา มาไล่จับโปเกม่อนกับวางเสา Ingess ครับ วันนี้ผมได้  Pokémon Ho-Oh 4 ตัวครับ ทำไมไม่ได้ Latios แงงง สถานที่ตั้ง เมนูของร้านครับ ข้าวกระเพราเป็ดย่าง หิวมากครับ หลังจากจับ Pokémon Ho-Oh มาได้ 4 ตัวได้้เวลามาผัดกระเพรากินครับ ฮ่าๆ ม่ายใช่ครับ ที่มาเลือกเมนูนี้ เพราะน้องที่ทำงานบอกว่ามันอร่อยมว๊ากกก อร่อยที่สุดดดดด สำหรับข้าวกระเพราเป็ดย่าง ข้าวหน้าเป็ด อีกเมนูครับ ข้าวหน้าเป็ด – อันนี้แถมครับ เพราะวันอาทิตย์ ผมก็มาทำ Thesis + จับโปเกม่อนครับ ใจจริง อยากสั่งเฉโปครับ แต่มาช่วงบ่ายโมง หมูกรอบหมดครับ สรุปตอนนี้ น่าจะวิถีชีวิตใหม่หลังปิดเทอมครับ ตอนเช้าไปจุฬาฯ นั่งที่ซอกข้างตึก บ่ายๆมา Terminal จับโปเกม่อน เดินมาเรื่อยๆ แล้วมาเติมหลังที่ Emporium เท่าที่สังเกตใน Food Hall มีร้านอร่อยอยู่หลายร้านะครับ ^__^

[BPMN] ตัวอย่าง multiInstanceLoopCharacteristics

หลังจากโดนมรสุมงานไปจนวันหยุดเดือนเมษา หายวับไปกับรายงานแบงค์ชาติ DataSet เดือนนี้ ผมเริ่มมีเวลาว่างแล้วครับ โดยจาก Blog ตอนก่อนที่เขียนเกี่ยวกับ BPMN ไปในเรื่องของ Loop หรือ การทำซ้ำ ที่จะเน้นไปในตัวของ StandardLoopCharacteristics สำหรับใน Blog ตอนนี้เป็นตัวอย่างของ multiInstanceLoopCharacteristics ครับ ความแตกต่างระหว่าง StandardLoopCharacteristics  กับ multiInstanceLoopCharacteristics  ครับ มาดูตัวอย่างของ multiInstanceLoopCharacteristics กันดีกว่า อ่านผ่านๆมา หลายคนน่าจะงงครับ คราวนี้ลองมาดูตัวอย่างกันครับ โดยกระบวนการตัวอย่างที่ผมเขียนใน Blog เป็นกระบวนการของการขอเสนอรางวัลให้กับพนักงานดีเด่นครับ โดยผู้จัดการ(Manager) User Mary ต้องเสนอชื่อ เพื่อให้คณะกรรมการ(Reward Commitee) ซึ่งประกอบไปด้วย User Jame, Peter และ John ทำการตรวจสอบ และอนุมัติ ดังรูป – กระบวนการมีขั้นตอน ดังนี้ครับ กลับมาดูที่กิจกรรมย่อยๆ ภายใน Sub-Process “Evaluate Process” Note: เมื่อ Execute Process มาจนถึง Step “Evaluate Process” สิ่งที่ระบบทำ คือ สร้าง Instance ขึ้นมา 3 Instance ครับ เพื่อให้คณะกรรมการ 3 ท่าน เข้ามาพิจารณารับงานไปทำต่อ (Claim Task) ครับ หลังจากผ่าน Sub Process เรียบร้อยมาทำงานในส่วนที่เหลือตาม Flow ได้แก่ Task “Calculate results” / Excustive Gateway “Is Approved Award” – Source Code (BPMN File) อ่านมานานแล้วมาดู Source Code…