CODIAL
La macro ci dessous effectue une lecture de tous les B.I. non facturé ou non terminé.
Elle cré les enregistrements existants dans une table PERSO vers une autre table PERSO
//Déclaration des variables
//————————-
VarIDCLIENTI est un entier
VarGENRE est une chaine
VarCODE est une chaine
VarNOM est une chaine
VarADR1 est une chaine
VarADR2 est une chaine
VarCP est une chaine
VarVILLE est une chaine
VarI est un entier
SQL est une chaîne
reqSQL est une Source de Données
//————————-
VarI = 0
//Je recherche tous les B.I. non terminés et/ou non facturés
//—————————————————————
SQL = « SELECT «
SQL += « R1CLEUNIK, «
SQL += « CODE, «
SQL += « GENREBL, «
SQL += « NOMBL, «
SQL += « ADRESSE1BL, «
SQL += « ADRESSE2BL, «
SQL += « COPBL, «
SQL += « VILLEBL «
SQL += « FROM «
SQL += « REPARAT «
SQL += « WHERE «
SQL += « TERMINE = 0 OR (INTFAC = 0 AND TERMINE = 0) »
SI HExécuteRequêteSQL(reqSQL,hRequêteDéfaut,SQL) ALORS
HLitPremier(reqSQL,hSansRafraîchir)
TANTQUE HTrouve(reqSQL)
HLitRecherche(« CLIENTI », « CODE », reqSQL.CODE)
TANTQUE HTrouve(« CLIENTI »)
VarIDCLIENTI = CLIENTI.IDCLIENTI
VarI = 0
Si CLIENTI.GENRE = reqSQL.GENREBL alors VarI = VarI + 1
Si CLIENTI.NOM = reqSQL.NOMBL alors VarI = VarI + 1
Si CLIENTI.ADRESSE1 = reqSQL.ADRESSE1BL alors VarI = VarI + 1
Si CLIENTI.ADRESSE2 = reqSQL.ADRESSE2BL alors VarI = VarI + 1
Si CLIENTI.COP = reqSQL.COPBL alors VarI = VarI + 1
Si CLIENTI.VILLE = reqSQL.VILLEBL alors VarI = VarI + 1
//info(VarIDCLIENTI + » – » + VarI)
Si VarI = 6 ALORS SORTIR
VarIDCLIENTI = 0
VarI = 0
HLitSuivant(« CLIENTI », « CODE »)
FIN
//CREATION FICHE PERSO
Si VarIDCLIENTI <> 0 alors
HLitRecherche(« FP_ADRESSE_LIVRAISON », »IDCLIENTI »,VarIDCLIENTI)
SI HTrouve(« FP_ADRESSE_LIVRAISON ») ALORS
HLitRecherche(« FP_BON_INTERVENTION », « R1CLEUNIK », reqSQL.R1CLEUNIK)
SI HTrouve(« FP_BON_INTERVENTION ») ALORS
//L’enregistrement existe
FP_BON_INTERVENTION.TECH_SUPPL = FP_ADRESSE_LIVRAISON.TECH_SUPPL
FP_BON_INTERVENTION.NACELLE = FP_ADRESSE_LIVRAISON.NACELLE
FP_BON_INTERVENTION.ECHELLE = FP_ADRESSE_LIVRAISON.ECHELLE
FP_BON_INTERVENTION.SECURITE = FP_ADRESSE_LIVRAISON.SECURITE
FP_BON_INTERVENTION.COMMENTAIRE = FP_ADRESSE_LIVRAISON.COMMENTAIRE
Hecrit(« FP_BON_INTERVENTION »)
SINON
//L’enregistrement n’existe pas
HRAZ(« FP_BON_INTERVENTION »)
FP_BON_INTERVENTION.R1CLEUNIK = reqSQL.R1CLEUNIK
FP_BON_INTERVENTION.TECH_SUPPL = FP_ADRESSE_LIVRAISON.TECH_SUPPL
FP_BON_INTERVENTION.NACELLE = FP_ADRESSE_LIVRAISON.NACELLE
FP_BON_INTERVENTION.ECHELLE = FP_ADRESSE_LIVRAISON.ECHELLE
FP_BON_INTERVENTION.SECURITE = FP_ADRESSE_LIVRAISON.SECURITE
FP_BON_INTERVENTION.COMMENTAIRE = FP_ADRESSE_LIVRAISON.COMMENTAIRE
Hajoute(« FP_BON_INTERVENTION »)
FIN
FIN
FIN
// Lecture du Bon d’intervention suivant
HLitSuivant(reqSQL)
FIN
FIN
info(« Traitement effectué »)