7 décembre 2004

Utiliser DAI pour les convertions Sequentiel / Indexé des fichiers de paie

Pour convertir un fichier de paie séquentiel en indexé - et inversement, vous pouvez utiliser le programme standard DAI.

Cet exemple de script prend en paramètres :
  • Le nom du fichier à traiter
  • Le type de conversion : IS ou SI
Les fichiers résultants sont suffixés par _SEQ ou _IND.
Adaptez les radicaux du programme DAI en fonction de ceux de votre site ...


if [ ! -f "$1" ]; then
 echo "fichier $1 inexistant"
 exit 1
fi
rm -f $TMP/T*.$$


echo "*-------------------------- STEP280A ---------------------------*"

echo "* Chargement de paramètres dans T280DPA *"
echo "*---------------------------------------------------------------*"

case "$2" in

IS)

echo "DA08E " >$TMP/T280DPA."$$"
SUF=SEQ
rm -f $1_$SUF

;;

SI)

echo "DA08S " >$TMP/T280DPA."$$"
SUF=IND
echo "DA08I " >$TMP/T220DPA."$$"

rm -f $1_$SUF

rm -f $1_$SUF.idx

echo "*-------------------------- STEP220N ---------------------------*"

echo "* Initialisation du fichier $1_$SUF "
echo "*---------------------------------------------------------------*"
   DPA=$TMP/T220DPA."$$"
export DPA
   DTA=$1_$SUF
export DTA
ES=$TMP/T050ES."$$"
export ES
NL=$TMP/T050NL."$$"
export NL
PO=$TMP/T050NT."$$"
export PO
$SIGACS/bin/RTSDGN $SIGACS/prod/gnt/DIFDPDAI.$SUFMOD
CODE_RETOUR=$?
unset DPA
unset DTA
unset ES
unset NL
unset PO
rm $TMP/T220DPA."$$"
;;

*) echo "Parametre 2 : IS pour Seq -> Ind"
echo " SI pour Ind -> Seq"
exit 1
;;
esac


echo "*-------------------------- STEP280N ---------------------------*"

echo "* Recopie sur séquentiel des résultats de paie définitifs *"
echo "*---------------------------------------------------------------*"
DPA=$TMP/T280DPA."$$"
export DPA
case "$2" in
IS)
   DTA=$1
export DTA
   DAT=$1_$SUF
export DAT
;;
SI)
   DAT=$1
export DAT
   DTA=$1_$SUF
export DTA
;;

esac
ES=$TMP/T050ES."$$"
export ES
NL=$TMP/T050NL."$$"
export NL
PO=$TMP/T050NT."$$"
export PO
$SIGACS/bin/RTSDGN $SIGACS/prod/gnt/DIFDPDAI.$SUFMOD
CODE_RETOUR=$?
unset DPA
unset DTA
unset DAT
unset ES
unset NL
unset PO

rm -f $TMP/T*.$$