Correspondance pour ordres de rupture Adelia


Ci-après un exemple mettant en parallèle deux codes réalisant le même traitement.
Le deuxième (partie droite du tableau) met en avant l'utilisation des ruptures d'Adelia et démontre la simplicité de mise en œuvre.

Entité :   LIG_FACTURES
Vue :      LIGNES_FACTURES
Fichier :  LIGFACL3 (fichier ayant comme clés le code article et le n° de facture)
Clé :       LCOD_ARTICLE (zone clé du fichier)

 

Transcription en ordres décomposés                                 
Avec ordres de rupture Adelia                                               
LCOD_ARTICLE = *LOVALLCOD_ARTICLE = *LOVAL
  
WCOD_ARTICLE = *LOVALINIT_RUPTURE RUPT_ARTICLE
  
POSITIONNER_AV LIGNES_FACTURESPOSITIONNER_AV LIGNES_FACTURES
LIRE_AVANT LIGNES_FACTURESLIRE_AVANT LIGNES_FACTURES
TANT_QUE LIGNES_FACTURES EXISTETANT_QUE LIGNES_FACTURES EXISTE
    SI WCOD_ARTICLE <> LCOD_ARTICLE
        TRAITER_PROC ENTART     TRAITER_CHG RUPT_ARTICLE
        WCOD_ARTICLE = LCOD_ARTICLE
    FIN
    TRAITER_PROC DETAIL    TRAITER_PROC DETAIL
    LIRE_AVANT LIGNES_FACTURES    LIRE_AVANT LIGNES_FACTURES
    SI WCOD_ARTICLE <> LCOD_ARTICLE -
    OU LIGNES_FACTURES N_EXISTE_PAS 
        TRAITER_PROC TOTART    TRAITER_TOTAL RUPT_ARTICLE
    FIN 
  
REFAIREREFAIRE
  
DEBUT_PROCEDURE DETAILDEBUT_PROCEDURE DETAIL
FIN_PROCEDUREFIN_PROCEDURE
DEBUT_PROCEDURE ENTARTTRT_CHANGEMENT RUPT_ARTICLE
FIN_PROCEDUREFIN_TRAITEMENT
DEBUT_PROCEDURE TOTARTTRT_TOTAL RUPT_ARTICLE
FIN_PROCEDUREFIN_TRAITEMENT

 

Le mode de déclaration des ruptures ne sont pas identiques dans Adelia iSeries Studio ou Adelia Visual/Web Studio.

 

Pour Adelia iSeries Studio vous devez créer la rupture et définir les informations suivantes :

Nom de la ruptureRUPT_ARTICLE
FichierLIGFACL3
Zone 1 ruptureLCOD_ARTICLE


Le fichier est défini en sélectionnant la vue LIGNES_FACTURES.

Pour Adelia Visual/Web Studio vous devez créer une rupture puis ajouter dans la partie déclaration :

RUPTURE LCOD_ARTICLE *VUE(LIGNES_FACTURES) /* pour un accès natif iSeries
* ou
RUPTURE LCOD_ARTICLE *SQL(LIG_FACTURES)    /* pour un accès SQL sur l'entité LIG_FACTURES

  

 Rappel : Les ruptures peuvent porter sur une vue, une liste, un accès SQL ou un accès SQL sur une entité.