Как 'tmpdata' и 'Get_Parameter_List' работают в OracleForm?
Я новичок в OracleForms и Plsql, я нашел этот код в проекте:
PROCEDURE grabar IS
...
Pl_id paramlist;
...
BEGIN
pl_id := Get_Parameter_List ('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
я хочу знать, что если tmpdata не существует, я получу ошибку? со строкой: pl_id:= Get_Parameter_List ('tmpdata'); вставляю ли я данные 'tmpdata' в 'PL_id', это 'tmpdata' переменная по умолчанию Oracleforms или что-то еще?
это не OracleForms, но это инструмент, основанный на нем, так похож
Я доказал, чтобы измениться на: pl_id := Get_Parameter_List ('tmpdata_HELLO');
введите код и программа, переданная этой консоли, покажет мне это:
25 мая 2018 16:46:30 org.apache.tomcat.util.http.Parameters processParameters INFORMACIÓN: Ошибка декодирования символов. Параметр [значение] со значением [%null] был проигнорирован. Обратите внимание, что указанное здесь имя и значение могут быть повреждены из-за неудачного декодирования. Используйте ведение журнала уровня отладки, чтобы увидеть исходные, не поврежденные значения.
Примечание: дальнейшие появления ошибок параметров будут регистрироваться на уровне DEBUG.
1 ответ
В этом примере "tmpdata" - это имя списка параметров, который может существовать или не существовать. "ID_NULL" проверяет наличие списка параметров, проверяя, есть ли у возвращенного идентификатора значение или нет. Если оно имеет значение (т. Е. ID_NULL возвращает FALSE), то список параметров уничтожается, поэтому команда "Create_Parameter_List" не получит ошибку.
"Get_Parameter_List" не выдаст ошибку, если нет списка параметров с заданным именем (в данном случае "tmpdata"); он просто возвращает ноль.