更新了用于DDL模型缺陷的PSDDLMODEL表,现在在页面上出现缓冲区错误

时间:2018-10-08 20:07:51

标签: peoplesoft

我正在PeopleSoft中修改Model DDL Defaults,然后删除,然后重新添加了Microsoft DB的索引模型默认值。我注意到,当我重新添加它时,语句类型为空白,并且没有选择它是索引的选项。我最终在表PSDDLMODEL上执行了UPDATE SQL语句,并将STATEMENT_TYPE设置为等于2(之前为0)。

现在,当我加载“ DDL模型默认值”页面并选择Microsoft作为平台时,我收到消息:

找不到与级别匹配的缓冲区。 (15,26)

检索页面的数据时,检索到的数据值在较高级别的滚动条目中没有匹配的数据值。 (例如,在滚动级别2上,读入了ABC的值,并且滚动级别1包含了这个更高级别的字段,但没有包含键值为ABC的行。)通常由于数据库记录中的错误而发生或查看或由于数据库中值的不正确删除。更正页面定义或与系统管理员联系。

该如何解决?

编辑:

我能够运行SQL UPDATE语句并将STATMENT_TYPE设置回0,并在线刷新页面,现在可以正确加载了。但是,我仍然存在未将STATEMENT_TYPE设置为“索引”的问题,并且我没有在线更新它的选项。我不知道应该如何更改它,如果更新表直接导致缓冲区问题...

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您更改PSDDLMODEL中的语句类型,则您的DDL参数是孤立的。 您还必须在PSDDLDEFPARMS中的STATEMENT_TYPE上执行SQL UPDATE。

UPDATE PSDDLDEFPARMS
SET STATEMENT_TYPE = '2'
WHERE STATEMENT_TYPE = '0'
  AND PLATFORMID = '7';

您的问题:

  1. 您在PSDDLMODEL中添加了新行(STATEMENT_TYPE为0)
  2. 您添加参数,它们会以STATEMENT_TYPE 0插入到PSDDLDEFPARMS中
  3. 您将“索引”的PSDDLMODEL设置STATEMENT_TYPE更新为2
  4. 缓冲区不匹配。

该缓冲区加载PSDDLMODEL和PSDDLDEFPARMS,在PSDDLDEFPARMS中找到STATEMENT_TYPE 0的条目,但由于已更新,因此无法将其与PSDDLMODEL中的父行匹配。这就是为什么在PSDDLMODEL中将STATEMENT_TYPE设置回0可以“修复”错误的原因。