为什么我在progress4GL上得到“记录不存档(138)”

时间:2015-10-07 13:35:29

标签: progress-4gl

我正在尝试检查记录是否存在,否则我想创建它。

例如,

我有一个<table>没有tab-code等于2,所以it is not available,然后我做另一个find只是为了“调用”表格来创建一个新项目,但由于某种原因,它没有“调用”表格,我得到一个漂亮的标准错误:record <table> is not on file (138).

我仍然是进步4GL的新手,所以如果它是愚蠢的我会道歉。

find <table> where tab-code = 2.

if not avail <table>
then do:

    find last <table> no-lock no-error.

    create <table>.
    assign <table>.tab-code = 2.

end.

2 个答案:

答案 0 :(得分:4)

find <table> where tab-code = 2 NO-ERROR.

答案 1 :(得分:0)

找到记录时,请始终使用NO-LOCK NO-ERROR。如果未使用NO-ERROR,则编译后将给出错误(表示记录不可用)。

FIND FIRST <table> NO-LOCK WHERE <table.id>  = 2 NO-ERROR.

IF NOT AVAILABLE <table> THEN DO:
   CREATE <table>.
   ASSIGN <table>.<table_id> = 2 NO-ERROR.
END.
 /*always use FIND FIRST to get record from the particular table. FIND case will fail some time */