結論
startIndex = 0;
listSize = baseList.size();
chunkSize = 100;
loopCount = (listSize / chunkSize).ceil();
counter = leftpad("1",loopCount).replaceAll(" ","1,").toList();
for each i in counter
{
if(startIndex + chunkSize > listSize)
{
chunk = baseList.subList(startIndex,listSize);
}
else
{
chunk = baseList.subList(startIndex,startIndex + chunkSize);
}
startIndex = startIndex + chunkSize;
// do something
}
用途
取得したレコードを一括更新する際、上限である100件ずつに分けて更新する等