2015-04-13 4 views
-1

HI У меня есть программа, которая использовала для получения некоторых данных из системы доставки, которая была заменена. предыдущий код, прикованный к системе доставки с Компания Заказ № Выпуск № Получение данных из таблицы подробных данных заказа. Обратите внимание, что заказы могут иметь многолистные строки, где это другой номер позиции.лучший способ закодировать этот цикл

В настоящее время новая система доставки не имеет номера выпуска. У него есть счетчик строк каждого заказа # однако, чтобы мы имели бы

company order phno 

001  123  1 
001  123  2 
001  123  3 

так для кода я хочу знать, если есть аккуратнее способ закодировать это.

, что я думаю, что будет работать в том,

создать логический для вышеуказанных 3 столбцов.

создать только один раз запустить, который будет двигаться «1» в KeyList компе, заказ #, счетчик «1» (первый раз программы только)

цепи. переместите comp и закажите в prev_comp, Prev_order

затем в следующий раз в подпрограмме проверьте, есть ли заказ # = prev_order if = добавить 1 в phno, цепочку, продолжить, пока не будет # order = not prev_order. затем Z-add1 для встречной цепочки, установите превью поля, повторите цикл/

ответ

3

Вы можете использовать SetLL с двумя первыми столбцами, а затем ReadE читать все элементы заказа.

Если ваш логический файл объявлен как «Компания, заказ, PhNo», результаты будут заказываться в том же порядке.

Пример в свободной форме:

SetLL (Company:Order) YourFile; 
ReadE (Company:Order) YourFile; 
DoW not %EoF(YourFile); 
    ... //Your logic per item here 
    ReadE (Company:Order) YourFile; 
EndDo; 
Смежные вопросы