Как '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"); он просто возвращает ноль.

Другие вопросы по тегам