Est-il possible de faire une requête de type UPDATE via le requêteur Sage?

SOLVED

Bonjour, 

Avec le requêteur Sage, on ne peut faire que des requêtes de visualisation. 

Mes questions : 

-   Est-il possible de mettre à jour la base sans écrire de traitement? Y a-t-il un utilitaire qui permette de faire des requêtes UPDATE? Par exemple, j'aimerais pouvoir lancer une requête qui met sous certaines conditions le champ SORDERQ.SOQSTA à 3 (soldé).

-   L'idéal serait de pouvoir batcher ma requête UPDATE pour qu'elle s'exécute tous les soirs. Cela me permettrait de batcher une mise à jour en masse de mes données sans avoir écrit une seule ligne de code.  

Je ping Sabrina pour cette question ;)

Léa 

  • +1
    verified answer

    Hello Léa, 

    Oui ! C'est tout à fait possible via une transaction système (Développement > Dictionnaire scripts).

    Je reprends ta demande : 

    - Dans la table SORDERQ (Commande de vente - Quantités), elle même liée à la table SORDERP Commandes de vente - Prix), il faudrait que le statut SOQSTA (ou "Etat ligne" qui peut être de type 1. Attente, 2. Retard, 3. Soldé) soit de type soldé selon certaines conditions

    - Un client me demande de corriger toutes les lignes de commandes de vente ayant un statut "en attente" alors que ces mêmes lignes sont soit déja livrées soit déja facturées. Il s'agit donc de remplacer le statut "en attente" (1) par "soldé" (3) si la quantité commandée [QTYSTU] est égale à la quantité livrée [DLVQTYSTU] ou facturée [INVQTYSTU].

    La formule correspondante est : 

    find([SOQ]QTYSTU, [SOQ]INVQTYSTU, [SOQ]DLVQTYSTU ) & [SOQ]SOQSTA <=1

    Avant d'exécuter cette transaction, je vous conseille de bien cocher l'option test (via le bouton exécuter) et de vérifier si les commandes de ventes notifiées dans le lecteur fichier trace ont bien des lignes avec un statut à corriger.

    Vous pouvez également créer une transaction système pour corriger uniquement une ou quelques commandes de vente, il suffit dans l'onglet détail, tableau sélections d'ajouter une deuxième ligne en mentionnant le numéro de la commande à modifier (ici par exemple il s'agit de la CVFR0119-000001)

    [SOQ]SOHNUM='CVFR0119-000001'

    NB : Il faut savoir que la R&D peut mettre à disposition des utilitaires qui corrigent certaines anomalies de manière massive, de la même manière qu'une transaction système. 

    Cette solution de transaction système est bien sûr batchable, par exemple, le client peut décider de créer un abonnement pour que tous les soirs cette transaction permettent un traitement en masse.

    En espérant avoir répondu à ta question :) 

  • 0 in reply to Sabrina P.

    Merci Sabrina, c'était pile ma question Slight smile

  • 0 in reply to Sabrina P.
    SUGGESTED

    J'ajoute une petite capture d'écran qui peut toujours servir pour les personnes plus "visuelles" et qui synthétise toutes les explications.