Хорошо, я понимаю, что это очень нишевая проблема, но я надеюсь, что процесс достаточно прост ...
Мне поручено создать файл данных из информации о клиентах / заказах. Проблема в том, что в файле данных установлен максимальный предел для 5 продуктов.
По сути, я получаю свои данные, сгруппированные по cust_id, создаю структуру файла, внутри этого цикла сгруппирую по product_id, перезаписываю поля в предыдущем file_struct новой информацией о продукте. Это работало все хорошо, пока пользователь не превысил этот максимум.
Краткий пример .. (имейте в виду, структура массива задается другим процессом, это НЕ МОЖЕТ изменить)
orderArray = arranyew(2);
set order = 1;
loop over cust_id;
field[order][1] = "field(1)"; // cust_id
field[order][2] = "field(2)"; // name
field[order][3] = "field(3)"; // phone
field[order][4] = ""; // product_1
field[order][5] = ""; // quantity_1
field[order][6] = ""; // product_2
field[order][7] = ""; // quantity_2
field[order][8] = ""; // product_3
field[order][9] = ""; // quantity_3
field[order][10] = ""; // product_4
field[order][11] = ""; // quantity_4
field[order][12] = ""; // product_5
field[order][13] = ""; // quantity_5
field[order][14] = "field(4)"; // trx_id
field[order][15] = "field(5)"; // total_cost
counter = 0;
loop over product_id
field[order[4+counter] = productCode;
field[order[5+counter] = quantity;
counter = counter + 2;
end inner loop;
order = order + 1;
end outer loop;
Как я уже сказал, это работало нормально, пока у меня не было пользователя, который заказал более 5 продуктов.
Что я в основном хочу сделать, так это проверить количество продуктов для каждого пользователя, если это число больше 5, начать новую строку в текстовом поле, но я не знаю, как туда добраться.
Я пробовал множество исправлений, но ничего не дает нужных мне результатов.
Я могу отправить весь файл, если он может помочь, но я не хочу публиковать все это здесь.