Définition :
Cette fonction permet de lancer une application à partir d'une autre application, contrairement au "SLAL", l'application s'ouvre positionnée sur un enregistrement sans poser de filtre, elle permet donc de passer en création ou duplication.
Syntaxe :
SilLancerApplication(p1$,p2$,p3$,p4%)
SLA(p1$,p2$,p3$,p4%)
p1$ : Titre du bouton 'Reprise' en mode 2 (voir ci-dessous)
p2$ : Nom de l'application à lancer.
p3$ : Mini-script de positionnement.
1 er élément : positionnement en-tête ou corps
@E : positionnement sur l'en-tête.
@C : positionnement sur le corps.
2 ème élément : mode du positionnement
#F : positionnnement en visualisation selon la méthode utilisée voir exemples.
#M : positionnement en modification.
#C : positionnement en création.
#F, #M, #C sont immédiatement suivis par le nom de la table correspondant au positionnement entre parenthèses.
3 ème élément : (Utiliser seulement pour la création).
#X signifie retour à l'application appelante à la validation de la création dans l'application appelée.
#Z s'il n'y a pas de #X et si l'application appelée possède un corps.
p4% : Mode.
0 : Non bloquant ; l'application appelante est fermée si le SLA n'est pas lancé depuis un masque issu d'un SEM ou d'un SIM (lancé depuis l'application appelante).
1 : Non bloquant ; l'application appelante n'est pas fermée, l'application appelée apparait dans un onglet supplémentaire.
2 : Bloquant ; Il faut fermer l'application appelée pour accéder aux autres applications ouvertes.
p5$ : Lorsque le SLA est utilisé pour exécuter une tâche de l'application "Définition des tâches", un cinquième paramètre est utilisable pour saisir les options et paramètres de la tâche. Le paramètre p3$ doit rester à blanc dans ce cas.
Remarques :
Dans le cas des applications dupliquées, le mini script de positionnement doit être complété par "-s" au début.
exemple :SLA("", "APPTEST", "-s@E #F(APPTESTE.Cleenteteid=2)", 1)
Dans le mode modification et création, il faut encadrer le filtre du script par des accolades.
exemple :SLA("", "CLIENT", "@E #M({CLI.CodeClient="+vu$(1)+"}) #D", 1)
Exemples :
1 : Ouvrir une commande achat :
Soit la variable suivante :
"ParamNoAchat$" qui contient le numéro d'achat.
SLA("Achat", "ACH", "@E #F(ACHE.NoAchat="+ParamNoAchat$+")", 0)
2 : Ouvrir une commande vente :
Soit les variables suivantes :
"ParamDupNoCommande$" qui contient le numéro de commande.
"ParamDupCodeClient$" qui contient le code client.
SLA("Commande", "CDE", "@E #F(COME.NoCommande="+ParamDupNoCommande$+" AND COME.CodeClient="+ParamDupCodeClient$+")", 0)
3 : Pour se positionner sur la fourniture dans le corps des fournisseurs, depuis le corps d’un bon de réception :
SLA("Fournisseur","FOURN","@E #F(FOU.CodeFournisseur="+BDRC.CodeFournisseur+") @C #F(FUR.CodeFourniture="+BDRC.CodeFourniprestto+" AND FUR.CodeFournisseur="+BDRC.CodeFournisseur+") ",1)
4 : Pour se positionner sur le lot d'un article depuis une ligne de Bon d'expédition.
En passant par l'application article :
SLA("Articles","ARTICLE5","@E #F(ARTICLE.CodeArticle="+BDEC.CodeArticlePrestto+") @C #F(LOT.CodeLot="+BDEC.CodeLot+")",1)
En passant par l'application LOT :
SLA("LOT article", "LOT", "@E #F(LOT.CodeLot="+BDEC.CodeLot+") AND LOT.CodeGlossaire="+BDEC.CodeArticlePrestto+)",1)
5 : Ouvrir une ligne de commande achat en consultation :
Soit les deux variables suivantes :
"vu$(1)" qui contient le numéro d'achat.
"vu(1)" qui contient le numéro de la ligne d'achat.
SLA("Achat", "ACH", "@E #F(ACHE.NoAchat="+vu$(1)+") @C #F(ACHC.NumeroAchat="+vu$(1)+" AND ACHC.NoLigneAchat="+vu(1)+")",1)
6 : Exécuter la tâche nommée "VALO" de l'application "Définition des tâches" avec le debug activé :
Le paramètre p3$ reste vide dans ce cas. Le paramètre p5$ est alimenté avec la tâche à exécuter et la liste des paramètres.
SLA("","EDI_JOB","",2,"codetache=VALO,debug=1")
7 : Passer en création de fournisseur avec le code fournisseur pré renseigné :
Dans ce cas ajouter des accolades qui encadrent le filtre.
vu$(1)="ADS"
SLA("Fournisseur", "FOURN", "@E #C({FOU.CodeFournisseur="+vu$(1)+"}{'{)", 1, "")
8 : Passer en création d'une liste de fabrication depuis la fiche article avec le code liste de fabrication pré renseigné avec le code Article en cours :
Dans ce cas ajouter des accolades qui encadrent le filtre.
vu$(1)=ARTICLE.CodeArticle
SLA("TEST", "LISTFAB", "@E #C({LDFE.CodeListeFabStd="+vu$(1)+"})", 1, "")