Téléchargement des produits


Version anglaise


 

Génération de la cinématique en mode accès SQL

 

Remarque : lorsque l'entité logique a un serveur logique par défaut, les instructions concernant l'entité sont affectées automatiquement au serveur logique.

Dans l'exemple ci-dessous, <S1> est le serveur logique par défaut de ENTITE1, et <S2> est le serveur logique par défaut de ENTITE2.

 

Structure type

* Pour la fenêtre

DEBUT_STD_CIN

     INSERER_STD

<S1>           LIRE_SQL ENTITE1 *COND(E1_ZONE1 = :E1_VAR_HOTE1 ET .....)

<S1>           CODE_RET_SQL = *SQLCODE

<S1>

<S1>           INSERER_STD ENTITE1

<S1>

<S1>           SI CODE_RET_SQL = 0

<S1>                MAJ_SQL ENTITE1 *ALL *COND(E1_ZONE1 = :E1_VAR_HOTE1 ET ....)

<S1>           SINON

<S1>                SI CODE_RET_SQL = 100

<S1>                     CREER_SQL ENTITE1

<S1>                FIN

<S1>           FIN

FIN_STD_CIN

 

* Pour une liste

DEBUT_STD_CIN

     LECTURE_LST <fenêtre.objet:ppté_liste> *MODIF

          INSERER_STD

<S2>                LIRE_SQL ENTITE2 *COND(E2_ZONE1 = :E2_VAR_HOTE1 ET ....)

<S2>                CODE_RET_SQL = *SQLCODE

<S2>

<S2>                INSERER_STD ENTITE2

<S2>

<S2>                SI CODE_RET_SQL = 0

<S2>                     MAJ_SQL ENTITE2 *ALL *COND(E2_ZONE1 = :E2_VAR_HOTE1 ET ....)

<S2>                SINON

<S2>                     SI CODE_RET_SQL = 100

<S2>                          CREER_SQL ENTITE2

<S2>                     FIN

<S2>                FIN

     FIN_LECTURE_LST

FIN_STD_CIN

 

Les conditions des instructions LIRE_SQL et MAJ_SQL correspondent à des tests d'égalité, selon la règle suivante :

1. Pour une entité principale d'un chargement :

    • Si l'entité possède un identifiant, le test porte sur chacune des zones constituant l'identifiant ;

    • Si elle ne possède pas d'identifiant, le test porte sur la clé complète du premier index dont le chemin d'accès correspond aux accès spécifiés ;

    • Sinon, le test porte seulement sur les zones constituant le chemin d'accès spécifié.

 

2. Pour toute autre entité :

    • Si les accès spécifiés correspondent à l'identifiant de l'entité, le test porte sur les zones correspondant à la clé partielle de l'entité ;

    • Sinon, si les accès spécifiés correspondent à un index de l'entité, le test porte sur les zones correspondant à la clé partielle du premier index ;

    • Sinon, le test porte seulement sur les zones constituant le chemin d'accès spécifié.

 

Quant aux variables hôtes de la condition SQL, celles prises en compte sont :

  • La première zone écran en Entrée/Sortie (ou Sortie s'il s'agit de la mise à jour de liste) dont l'origine est la propriété logique définie dans l'accès de l'entité.

  • La première zone écran dont l'entité logique d'origine est différente de l'entité traitée, tout en ayant la même propriété conceptuelle d'origine.

  • La zone de l'entité constituant l'accès.

 

 

Cliquez ci-dessous pour plus d'informations sur :

 

↑ Haut de page

  • Aucune étiquette