Sage X3 : Comment obtenir la date de fin d’un mois en 4GL



📆 Sage X3 : Fonction 4GL pour obtenir la date de fin d’un mois

Dans Sage X3, il peut être utile de déterminer la date de fin d’un mois à des fins de traitement, de clôture ou de génération de périodes. Voici une fonction simple écrite en langage 4GL (L4G) qui permet de le faire :

💡 Fonction personnalisée F_ENDOFMONTH

Funprog F_ENDOFMONTH(PMONTH,PYEAR)
Value Integer PMONTH
Value Integer PYEAR
Local Date YD 

PMONTH += 1
If PMONTH > 12 Then
   PMONTH = 1
   PYEAR += 1
Endif 

YD = gdat$(1,PMONTH,PYEAR) - 1

End YD

🧪 Exemple d’appel

Infbox num$(func F_ENDOFMONTH(11,2015))

Ce test renvoie le dernier jour de novembre 2015, c’est-à-dire 20151130 selon le format de la fonction num$().

🔍 Explication du fonctionnement

  • PMONTH += 1 : On passe au mois suivant
  • Si PMONTH > 12 : On passe à janvier de l’année suivante
  • gdat$(1, PMONTH, PYEAR) : Donne le 1er jour du mois suivant
  • -1 : On revient au dernier jour du mois courant

🛠 Cas d’usage

Cette fonction peut être utilisée dans :

  • La génération automatique de périodes comptables
  • Les contrôles sur les dates de documents
  • La planification de clôtures mensuelles

🔗 Partage

Tu peux copier ce code et le réutiliser dans tes propres traitements Sage X3.

Tu as aimé cette astuce ? Partage le blog avec tes collègues ou sur LinkedIn !