Задание 6. Разработка и тестирование внутренней процедуры, вызываемой в пределах процедурного файла
Задание
Создать внутреннюю процедуру в процедурном файле и протестировать её.
Реализация
В каталоге Server\src\Utility сделайте копию процедуры GenPO.p, для этого:
- Щёлкните правой кнопкой мыши по файлу процедуры GenPO.p в Project Explorer и выберите пункт Copy.
- Щёлкните правой кнопкой мыши по каталогу Utility и выберите пункт Paste.
- Введите имя нового процедурного файла GenPO2.p. По умолчанию при копировании предлагается новое имя копии, которое состоит из имени копируемого файла и порядкового номера копии.
- Щёлкните по кнопке Ok.
- В Project Explorer двойным щелчком мыши откройте файл GenPO2.p.
- Замените в заголовке процедуры имя файла на GenPO2.p, как показано:
/*------------------------------------------------------------------------ File : GenPO2.p Purpose : Написание кода внешней процедуры с параметрами Syntax : Description : Внешняя процедура с параметрами Author(s) : v.bashkatov Created : Mon Feb 21 12:14:55 MSK 2022 Notes : ----------------------------------------------------------------------*/
В процедурном файле GenPOp опишите новую внутреннюю процедуру с именем CreatePOString. Она должна быть описаны после оператора return в основном блоке. Процедура поможет с созданием части строки PO на основе входящего номера клиента с возвращением результата вызывающей процедуре.
Внутри процедурного блока опишите два параметра:
- pCustNum входящий параметр с типом integer.
- pOutputString исходящий параметр с типом character.
Добавьте в процедурный блок код присвоения значения параметру pOutputString, которое формируется с помощью конкатенации значения pCustNum приведённого к строковому типу и значения «-xx».
Добавьте оператор return в качестве последнего оператора процедуры CreatePOString.
Внутренняя процедура CreatePOString возвращает строку, которую вы должны объединить с параметром pPO. Для хранения возвращённой строки из CreatePOString опишите переменную sCustNum с типом character в секции Definitions основного блока процедурного файла.
В качестве первого оператора основного блока процедурного файла вызовите процедуру CreatePOString() с указанием входящего параметра pCustomerNumber и исходящего параметра sCustNum.
Измените присвоение переменной pPO так, чтобы выполнялась конкатенация значений sCustNum и pPO.
Сохраните файл GenPO2.p и убедитесь в отсутствии ошибок компиляции.
Для тестирования процедуры GenPO2.p в каталоге Client\src\Test сделайте копию файла Test_GenPO.p:
- В Project Explorer щёлкните правой кнопкой мыши по Test_GenPO.p и выберите пункт Copy.
- Щёлкните правой кнопкой мыши по каталогу Test и выберите пункт Paste.
- Введите имя копии Test_GenPO2.p.
- Щёлкните по кнопке Ok.
- В Project Explorer двойным щелчком мыши откройте файл Test_GenPO2.p.
- Замените имя в заголовке процедуры имя файла на Test_GenPO2.p.
Внутри Test_GenPO2.p замените вызов процедуры GenPO на вызов процедуры GenPO2.
Сохраните файл Test_GenPO2.p и убедитесь в отсутствии ошибок компиляции.
Выполните (Run) процедуру Test_GenPO2.p. Если вы всё сделали правильно, то вы должны увидеть: