首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >**无sls折扣记录。(91)

**无sls折扣记录。(91)
EN

Stack Overflow用户
提问于 2015-11-19 10:59:26
回答 2查看 553关注 0票数 0

/* sls-折扣I s数据库名称*/日安。关于特定浏览的值更改,我又遇到了另一个问题。

我的Add Button代码:

代码语言:javascript
复制
FIND CURRENT {&FIRST-TABLE-IN-QUERY-DIALOG-FRAME} NO-LOCK NO-ERROR.
IF AVAIL {&FIRST-TABLE-IN-QUERY-DIALOG-FRAME} THEN DO:
    ASSIGN mode = 3.
    ASSIGN BROWSE BROWSE-13:READ-ONLY = NO
        sls-discount.dsc-amount:READ-ONLY IN BROWSE BROWSE-13 = NO
        sls-discount.dsc-discount:READ-ONLY IN BROWSE BROWSE-13 = NO
        sls-discount.log:READ-ONLY IN BROWSE BROWSE-13 = NO.

    {&OPEN-QUERY-BROWSE-13}
    IF BROWSE-13:num-iterations ne 0 then
    BROWSE BROWSE-13:SELECT-FOCUSED-ROW().
    BROWSE BROWSE-13:INSERT-ROW("BEFORE"). /*will cause value-change in browse*/
    APPLY 'entry' TO sls-discount.dsc-discount IN BROWSE BROWSE-13.

    RUN disp-enable.
END.

我的browse-13代码如下:

代码语言:javascript
复制
ASSIGN xpromo-no = {&FIRST-TABLE-IN-QUERY-BROWSE-13}.promo-no
    mdlrid = {&FIRST-TABLE-IN-QUERY-BROWSE-13}.record-id.

MESSAGE xpromo-no mdlrid VIEW-AS ALERT-BOX INFO.

OPEN QUERY BROWSE-16 FOR EACH sls.sls-disccount-model WHERE sls.sls-disccount-model.promo-no = xpromo-no
    AND sls.sls-disccount-model.record-id = mdlrid NO-LOCK,
    EACH sls.sls-model WHERE sls.sls-model.car-model = sls.sls-disccount-model.car-model NO-LOCK.

如果我在浏览中取消对整个值更改的注释,当单击add按钮时,它将显示消息"** No DBName record is available. (91)“。但如果注释/删除,它将不会显示该消息。

希望你能再次帮助我..谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-11-19 11:52:44

毫无疑问,您已经遇到了臭名昭著的“部分字段自动完成”特性/ bug。这意味着-如果您引用一个没有本地定义的变量,Progress编译器将在所有可用的表中搜索以相同字母序列开头的字段,并使用该字段。

这个错误告诉您,编译器将一个字段与" DBName“表中的某些内容关联起来,当代码试图访问该变量时,DBName缓冲区不在作用域内-这是可以理解的,因为访问它不是您的本意。

我的猜测是您错误地指定了一个浏览结构。看看你的第一组结构,你有两种不同的形式:

代码语言:javascript
复制
BROWSE BROWSE-13:READ-ONLY = NO
sls-discount.dsc-amount:READ-ONLY IN BROWSE BROWSE-13 = NO 

我敢打赌其中一个是错误的,编译器正在将非法的“浏览”引用与DBName中以“浏览”开头的字段相关联。

如果将代码编译成XREF文件,它会告诉您它正在尝试将哪个变量与DBName表关联。纠正这一点,你就可以走了。

票数 1
EN

Stack Overflow用户

发布于 2015-11-23 09:59:56

我找出了代码中的问题所在。在单击Add按钮时,由于{&OPEN-QUERY-BROWSE-13}的原因,browse-13中的行被排列。在那之后,由于使用了BROWSE BROWSE-13:SELECT-FOCUSED-ROW(),它将重点放在浏览的顶部日期上,最后,BROWSE BROWSE-13:INSERT-ROW("BEFORE")在顶部创建了一个空白数据行。从而触发browse-13的值改变。在我的值--在browse-13上更改时,代码的开头是get current browse-13。由于它集中在空行上,因此导致了一个错误,没有找到查询。如果我在第一个示例中没有包含语法get current,很抱歉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33794489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档