Sage X3 - How to Get the Description of a Local Menu


🛠 Sage X3 - Comment obtenir la description d'un menu local

Dans Sage X3, il peut être nécessaire de récupérer la description d'un élément de Menu Local à partir de son numéro de menu et de son code. Ce tutoriel explique comment le faire à l'aide d'une fonction 4GL simple.


📄 Fonction : GET_MENLOC_TEXT

Funprog GET_MENLOC_TEXT(PNUMENU,PCODE)
Value Integer PNUMENU # -> Numéro du menu
Value Integer PCODE   # -> Code de l'élément
   Local Char X_RET(250) : X_RET = ""
   If clalev([F:XAPL]) = 0 Then Local File APLSTD [F:XAPL] : Endif
   Read [F:XAPL]CLE = PNUMENU;PCODE;'ITA'
   If fstat = 0 Then
      X_RET = [F:XAPL]LANMES
   Endif
End X_RET
  

Cette fonction lit le champ LANMES (texte du message) de la table APLSTD pour le numéro de menu et le code donnés, dans la langue italienne ('ITA').

💻 Exemple d'utilisation

Local Integer XNUMMENU : XNUMMENU = 1
Local Integer XCODE : XCODE = 1 
 
#... retourne 'No'
Infbox func GET_MENLOC_TEXT(XNUMMENU,XCODE)
 
#... retourne 'Yes'
XCODE = 2
Infbox func GET_MENLOC_TEXT(XNUMMENU,XCODE)
  

Dans le premier cas, la fonction retourne 'No'. Après avoir changé le code à 2, elle retourne 'Yes'.

💡 Astuce : Vous pouvez adapter cette fonction pour d'autres langues en remplaçant 'ITA' par le code langue souhaité (ex. 'ENG' pour l'anglais, 'FRA' pour le français).