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).
J'ai écrit cette requête et renvoie les données comme celui-ciOpenEdge Progress 4GL Requête renvoie (MISSING) après% signe
[pt_terms_code] => 0.4%!N(MISSING)ET46
[pt_description] => 0.4%! (MISSING)DAYS NET 46
Bien que je crois (d'utiliser une requête SQL) que les données doivent être
0.4%45NET46
0.4% 45 DAYS NET 46
Je fais une hypothèse que le% est probablement un caractère spécial (comme je l'ai rencontré des problèmes similaires dans le passé). J'ai essayé d'extraire toutes les données de la table, et j'obtiens le même résultat, (c.-à-d., Ne pas créer une table de temp et la peupler avec seulement les deux champs que je veux).
Des suggestions autour de ce problème?
Je suis encore très nouveau sur 4gl, donc la requête ci-dessus peut être terriblement fausse. Tous les commentaires et critiques sont les bienvenus.
Je vais essayer. J'ai déjà rencontré ce problème auparavant, et j'ai dû tout analyser en une variable puis assigner cette variable à mon champ de table temporaire. –