Actualiser README.md
This commit is contained in:
71
README.md
71
README.md
@@ -143,32 +143,73 @@ ____________________________
|
|||||||
# niveau AMOA Conseil et Métier
|
# niveau AMOA Conseil et Métier
|
||||||
|
|
||||||
|
|
||||||
Pour avoir ces tables il va falloir alimenter la base de report à partir de la base public
|
|
||||||
|
|
||||||
Pour les alimenter on va utiliser une fonction SQL.
|
|
||||||
|
Pour avoir ces tables il va falloir alimenter la base de report à partir de la base public
|
||||||
|
donc rappel chaque socle a une base :
|
||||||
|
- public.socleng-nomduclient
|
||||||
|
et
|
||||||
|
- report.socleng-nomduclient_report
|
||||||
|
|
||||||
|
La finalité est d'avoir cette table demandé par PBI, exemple ici "f_task_v2" :
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
On cré donc la table et ensuite, pour l'alimenter on va utiliser une fonction SQL .
|
||||||
|

|
||||||
|
|
||||||
Cette fonction sera logé dans le dossier fonction sur dbeaver.
|
Cette fonction sera logé dans le dossier fonction sur dbeaver.
|
||||||
et cette fonction fera notamment appel à 3 autres fonctions qui sont logé dans le dossier
|
|
||||||
|
|
||||||
Cette fonction va être appelé par un cronjob.
|
|
||||||
En vous connectant donc a un serveur socle,
|
|
||||||
Au travers de putty,
|
|
||||||
Vous allez ajouter un job recurrent en .sh
|
|
||||||
|
|
||||||
Ce job pour faire simple, l'instance sur laquelle vous vous trouvez ayant accès à la base de donnée du socle, vous allez appelez la fonction via une sorte de
|
En ouvrant cette fonction et en lisant le SQL vous constaterez que elle est casiment générique pour tout les comptes mais elle fait appel à 3 autre fonctions qui elles par contre doivent être "calibré" selon la logique metier.
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
Ces sous fonctions sont logé dans la base public.socleng-nomduclient et leur contenu depend...du metier. Donc pour savoir comment les modifier il faut faire appel au conseil:
|
||||||
|

|
||||||
|
|
||||||
|
Cette fonction va être appelé ensuite par un cronjob depuis la liste des crontab -l accessible via putty (le classique). Sauf que cette fois on ne fait pas appel à un bash/shell executable ou autre mais on fait une connexion a postgre directement et on lance la fonction
|
||||||
|
|
||||||
|
Exemple d'un job à adapté selon vos comptes clients
|
||||||
|
|
||||||
```
|
```
|
||||||
echo blabla
|
#!/bin/bash
|
||||||
|
set -x
|
||||||
psql -U monsuperuser -d masuperbase...etc...on appele la fonction...
|
source /home/socleng-monoprix/exploit_batch/config-report-batch.properties
|
||||||
|
echo "toto"
|
||||||
echo blabla
|
#
|
||||||
|
#Logs
|
||||||
|
LOG_FILE="/home/socleng-monoprix/logs/Import_Donnes_Contact_For_PBI.log"
|
||||||
|
#
|
||||||
|
# Date de reference : 1er janvier 2023
|
||||||
|
date_ref="2025-01-01"
|
||||||
|
#
|
||||||
|
# Date du jour (aujourd hui)
|
||||||
|
date_du_jour=$(date +%Y-%m-%d)
|
||||||
|
#
|
||||||
|
# Calcul du nombre de jours entre les deux dates
|
||||||
|
nb_jours=$(( ($(date -d "$date_du_jour" +%s) - $(date -d "$date_ref" +%s)) / 86400 ))
|
||||||
|
echo "=== debut" >> "$LOG_FILE"
|
||||||
|
echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE"
|
||||||
|
echo "Nombre de jours entre le 1er janvier 2023 et aujourd'hui : $nb_jours" >> "$LOG_FILE"
|
||||||
|
#
|
||||||
|
# Suppression des donnees de la table f_contact_v2
|
||||||
|
echo "lancement truncate table f_contact_v2" >> "$LOG_FILE"
|
||||||
|
echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE"
|
||||||
|
psql -U $userReport -h $hoteReport -d $baseReport -c "TRUNCATE TABLE report.f_contact_v2 CONTINUE IDENTITY RESTRICT;" >> "$LOG_FILE" 2>&1
|
||||||
|
#
|
||||||
|
# Import des donnees de la table f_contact_v2
|
||||||
|
echo "lancement import des donnes table f_contact_v2" >> "$LOG_FILE"
|
||||||
|
echo "select report.refresh_contact($nb_jours);" >> "$LOG_FILE"
|
||||||
|
psql -U $userReport -h $hoteReport -d $baseReport -c "select report.refresh_contact($nb_jours);" >> "$LOG_FILE" 2>&1
|
||||||
|
echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" >> "$LOG_FILE"
|
||||||
|
echo "=== fin" >> "$LOG_FILE"
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Inspirez vous d'un compte qui a deja toute cette trame implementé pour construire votre script.
|
Inspirez vous d'un compte qui a deja toute cette trame implementé pour construire votre script.
|
||||||
|
|
||||||
**Cedric ajoutera des captures d'ecran pour illustré les choses**
|
Bon courage
|
||||||
|
|
||||||
|
|
||||||
_Fait le 23/09/2025_
|
_Fait le 23/09/2025_
|
||||||
_Réalisé par PREVOST Aurelien & FUSEAU Cédric_
|
_Réalisé par PREVOST Aurelien & FUSEAU Cédric_
|
||||||
Reference in New Issue
Block a user