Depuis hier, nos modules Invantive Cloud App Online échouent sur Exact Online Belgique avec le code d’erreur itgenefd012.
Le message d’erreur est :
itgenefd012
Seules les colonnes texte et bytearray peuvent avoir une longueur maximale spécifiée.
La colonne ‘AccountContact’ a le type de données ‘guid’ et une longueur maximale de 60.
J’ai essayé de l’isoler avec deux petits tests App Online.
Test 1, sans tables Exact Online :
begin
cloud_http.set_use_template(true);
cloud_http.set_template_step_name('Smoke test');
cloud_http.append_line_to_response_body_text('<form>');
cloud_http.append_line_to_response_body_text('<ul>');
cloud_http.append_line_to_response_body_text('<li>OK - le code du module est exécuté correctement.</li>');
cloud_http.append_line_to_response_body_text('</ul>');
cloud_http.append_line_to_response_body_text('</form>');
end;
Ce test fonctionne correctement.
Test 2, avec seulement une simple requête Exact Online :
begin
cloud_http.set_use_template(true);
cloud_http.set_template_step_name('Exact endpoint test');
cloud_http.append_line_to_response_body_text('<form>');
cloud_http.append_line_to_response_body_text('<ul>');
for r
in
( select count(\*) as antal
from ExactOnlineREST.Logistics.Items@eol
where Division = 153543
)
loop
cloud_http.append_line_to_response_body_text('<li>Items@eol OK - nombre: ' || to_char(r.aantal) || '</li>');
end loop;
cloud_http.append_line_to_response_body_text('</ul>');
cloud_http.append_line_to_response_body_text('</form>');
end;
Ce deuxième test échoue immédiatement avec le même message AccountContact.
Remarques :
- la requête n’utilise pas
AccountContact; - la requête n’utilise pas
SalesOrders; - la requête n’utilise pas
PurchaseOrders; - la requête n’utilise que
Items@eol; - un test App Online sans
@eolfonctionne correctement.
Il semble donc que le problème survient dès que les métadonnées REST Exact Online sont chargées, avant même que la requête proprement dite ne soit exécutée.
Environnement :
- Invantive Cloud
- Exact Online Belgique
- Module App Online
Question :
Cela pourrait-il indiquer des informations de métadonnées/cache/datacontainer incorrectes pour le connecteur Exact Online ? Il semble que AccountContact soit enregistré quelque part comme un guid avec une longueur maximale de 60, alors qu’une colonne de type guid ne peut pas avoir de longueur maximale spécifiée.