DEFINE TEMP-TABLE tt_pay_terms NO-UNDO
FIELD pt_terms_code LIKE payment_terms.terms_code
FIELD pt_description LIKE payment_terms.description.
DEFINE VARIABLE htt AS HANDLE NO-UNDO.
htt = TEMP-TABLE tt_pay_terms:HANDLE.
FOR EACH platte.payment_terms
WHERE (
active = true
AND system_id = "000000"
)
NO-LOCK:
CREATE tt_pay_terms.
ASSIGN
pt_terms_code = payment_terms.terms_code.
pt_description = payment_terms.description.
END.
htt:WRITE-JSON("FILE", "/dev/stdout", FALSE).
我已编写此查询,并返回此类数据
[pt_terms_code] => 0.4%!N(MISSING)ET46
[pt_description] => 0.4%! (MISSING)DAYS NET 46
虽然我相信(使用SQL查询)数据应该是
0.4%45NET46
0.4% 45 DAYS NET 46
我假设%可能是一些特殊的角色(因为我过去遇到过类似的问题)。我尝试从表中提取所有数据,并得到相同的结果(即,不创建临时表并使用我想要的所有两个字段填充它)。
有关此问题的任何建议吗?
我仍然对4gl很新,所以上面的查询可能非常错误。欢迎所有评论和批评。
答案 0 :(得分:0)
我怀疑如果你试试这个:
FOR EACH platte.payment_terms NO-LOCK
WHERE ( active = true AND system_id = "000000" ):
display
payment_terms.terms_code
payment_terms.description
.
END.
您将看到查询实际返回的内容。 (WRITE-JSON在查询后添加了一个图层。)您可能会发现您的数据包含意外的内容。
在我看来,“%”看起来更像是格式化 - 这些术语很可能是0.4%。
然后,您似乎在说明字段的内容中存在一些问题。我的猜测是,当用户输入数据时,代码页不匹配,结果字段中存在乱码。