Увеличение текстового поля в CL
Я должен изменить программу CL на компьютере iSeries. Исходный CL имеет переменную с именем &SEQ. Это текстовое поле со значением "001". Есть ли способ в CL добавить один к значению, чтобы сделать его '002'? Я не знаком с программированием на CL, поэтому я не знаю, можете ли вы выполнять математические функции над символьной переменной. Спасибо за любую помощь!
1 ответ
Для этого вы должны использовать переменную CL *DEC, а затем переместить ее в текстовое поле. В верхней части программы добавьте следующую строку:
DCL &SEQNBR *DEC 3 VALUE(1)
Затем в программе в точке, где вы хотите увеличить порядковый номер, сделайте это:
CHGVAR &SEQNBR VALUE(&SEQNBR + 1)
CHGVAR &SEQ VALUE(&SEQNBR)
Что здесь происходит? Вы объявляете числовую переменную &SEQNBR с начальным значением 1. Затем увеличиваете ее, используя команду CHGVAR. Это делает его значением 2. Затем вы перемещаете его в текстовое поле & SEQ, и оно получит значение как "002".