Dynamics 365 Business Central: การใช้งาน Continue ใน AL Programming

ในการเขียนลูปในภาษา AL เช่น for, while หรือ repeat-until บางครั้งเราอาจต้องการ ข้ามการทำงานของรอบนั้นทันที แล้วไปทำงานในรอบถัดไป โดยไม่ต้องหยุดลูปทั้งหมด ก่อนหน้านี้ ภาษา AL มีเพียง break ที่ใช้หยุดลูปทั้งหมด ซึ่งไม่ตอบโจทย์เมื่อต้องการเพียงแค่ข้ามรอบใดรอบหนึ่งเท่านั้น ใน Business Central 2025 Release Wave 1 ได้เพิ่มความสามารถให้สามารถใช้ continue เพื่อข้ามรอบปัจจุบันของลูป แล้วไปทำงานรอบถัดไปได้ทันที

รูปแบบการใช้งาน (Syntax)

for i := 1 to 10 do begin
    if i = 5 then
        continue;
    Message('รอบที่ %1', i);
end;

Output: แสดงเลข 1 ถึง 10 ยกเว้นเลข 5 ซึ่งจะถูกข้าม

ตัวอย่างการใช้งาน

ตัวอย่างที่ 1: แสดงเฉพาะเลขคี่

procedure ShowOddNumbers()
var
    i: Integer;
begin
    for i := 1 to 10 do begin
        if i mod 2 = 0 then
            continue;
        Message('เลขคี่: %1', i);
    end;
end;

ข้ามเลขคู่ และแสดงเฉพาะเลขคี่ (1, 3, 5, 7, 9)

ตัวอย่างที่ 2: continue กับ repeat-until

procedure SkipCertainValue()
var
    i: Integer;
begin
    i := 0;
    repeat
        i += 1;
        if i = 5 then
            continue;
        Message('ค่าปัจจุบัน: %1', i);
    until i = 10;
end;

ค่าที่เป็น 5 จะถูกข้าม ไม่แสดงผล

สรุป (Summary)

continue เป็นฟีเจอร์ใหม่ในภาษา AL ที่ช่วยให้การเขียนลูปมีความยืดหยุ่นและอ่านง่ายมากขึ้น
สามารถข้ามรอบที่ไม่ต้องการ และไปทำงานในรอบถัดไปทันที เหมาะกับกรณีที่มีเงื่อนไขเฉพาะ เช่น ข้ามค่าว่าง, ข้ามค่าที่ไม่ผ่านการตรวจสอบ ฯลฯ

Leave a comment