Skip to main content
Skip table of contents

SW-DIAPASON


BUT

Les actions MODE=PUT-* de cette fonction permettent de récupérer les paramètres d’un service WEB Diapason, dans une requête DIALOG.

Les actions MODE=GET-* de cette fonction permettent de retourner les paramètres d’un service WEB Diapason, dans une requête DIALOG.

SYNTAXE

Variable = SW-DIAPASON ( MODE : action sur le service WEB

PARAM : Nom du paramètre en entrée ou sortie du service WEB

VALEUR  : Valeur du paramètre en entrée du service WEB

S :VALPARAM : Valeur du paramètre en sortie )

Les noms des paramètres (donnés après PARAM=) sont case-sensitive ce qui implique que les Majuscules et minuscules sont différenciées. Le nom du paramètre devra être donné de manière exacte.

PARAMETRES

  • MODE ( obligatoire, entrée, type caractère)

Mode = ?

Exemple REB 

Résultat dans le JSON 

MODE= PUT-C : permet d’écrire un paramètre de type caractère dans le « DIAP_DATA » de retour.

SW-DIAPASON( MODE= PUT-C , PARAM=CLO."Exemple_PUT-C", VALEUR=CLO."ValeurDuParamètre" )

"DIAP_DATA": {

        "Exemple_PUT-C": "Valeur du paramètre"

MODE= PUT-I : permet d’écrire un paramètre de type entier dans le « DIAP_DATA » de retour.

SW-DIAPASON( MODE= PUT-I , PARAM=CLO."Exemple_PUT-I", VALEUR= CLO.1234 )

"DIAP_DATA": {

        "Exemple_PUT-I": 1234,

MODE= PUT-R : permet d’écrire un paramètre de type réel dans le « DIAP_DATA » de retour.

SW-DIAPASON( MODE= PUT-R , PARAM= CLO."Exemple_PUT-R" , VALEUR= CLO.3,141 )

"DIAP_DATA": {

        "Exemple_PUT-R": 3.141,

Le séparateur décimal est le « . »

MODE= PUT-D : permet d’écrire un paramètre de type date dans le « DIAP_DATA » de retour.

SW-DIAPASON( MODE= PUT-D , PARAM= CLO."Exemple_PUT-D" , VALEUR= CLO.21/12/2021 )

"DIAP_DATA": {

        "Exemple_PUT-D": "2021-12-21",

La date est dans un format « inversé ».

MODE= PUT-L : Permet d’écrire un paramètre de type logique dans le « DIAP_DATA » de retour.

SW-DIAPASON( MODE= PUT-L , PARAM= CLO."Exemple_PUT-L" , VALEUR= CGL.OUI )

"DIAP_DATA": {

        "Exemple_PUT-L": true ,

Le logique est au format true/false.

MODE= PUT-LISTE : Permet d’écrire un paramètre de type liste dans le « DIAP_DATA » de retour.

CREATION Liste LST.ListeElements :

PRENDRE ListeElements RefElement = CLO."Ref1"

PRENDRE ListeElements DesElement = CLO."Description élément 1"

PRENDRE ListeElements ValNum = CLO.1

FIN_BLOC

CREATION Liste LST.ListeElements :

PRENDRE ListeElements RefElement = CLO."Ref2"

PRENDRE ListeElements DesElement = CLO."Description élément 2"

PRENDRE ListeElements ValNum = CLO.2

FIN_BLOC

CREATION Liste LST.ListeElements :

PRENDRE ListeElements RefElement = CLO."Ref3"

PRENDRE ListeElements DesElement = CLO."Description élément 3"

PRENDRE ListeElements ValNum = CLO.3

FIN_BLOC

SW-DIAPASON( MODE= PUT-LISTE , PARAM= CLO."Exemple_PUT-LISTE" , VALEUR= ListeElements )

"DIAP_DATA": {

        "Exemple_PUT-LISTE": [

            {

                "RefElement": "Ref1",

                "ValNum": 1.0,

                "DesElement": "Description élément 1"

            },

            {

                "RefElement": "Ref2",

                "ValNum": 2.0,

                "DesElement": "Description élément 2"

            },

            {

                "RefElement": "Ref3",

                "ValNum": 3.0,

                "DesElement": "Description élément 3"

            }

],

Choisir impérativement le format de liste Temp-Table [TT] Liste Optimisé.

MODE= PUT-TEXTE : permet d’écrire un paramètre de type « contenu de fichier texte » (liste WfFicContenu) dans le « DIAP_DATA » de retour.

VLO.NomFichier = CLO."/tmp/ExempleFichierTexte.txt"

FICHIER( NOM-FICHIER= VLO.NomFichier , CDE-SYS-OK= CLO."" , CDE-SYS-PB= CLO."" )

SW-DIAPASON( MODE= PUT-TEXTE , PARAM= VLO.NomFichier , VALEUR= WFFicContenu )

"DIAP_DATA": {

"/tmp/ExempleFichierTexte.txt": "Tm90ZSBkb250IGxhIGZy6X[…]ZCdhdXRydWku",

La valeur du paramètre est encodé en base 64 et le séparateur de ligne est le séparateur UNIX.

Le nom du paramètre (PARAM=) doit correspondre à la valeur contenue dans WFFicContenu.NomFichier.

MODE= PUT-XML : permet d’écrire un paramètre de type « contenu de fichier XML » (liste WFEIAXmlMes) dans le « DIAP_DATA » de retour.

VLO.NomFichier = CLO."/tmp/ExempleFichierXml.xml"

VLO.BalDep = CLO.""

XML-LECMESFIC( REF-MESSAGE-XML= CLO."XML2Test" , NOM-FICHIER= VLO.NomFichier , BALISE-DEPART= VLO.BalDep )

SW-DIAPASON( MODE= PUT-XML , PARAM= CLO."XML2Test" , VALEUR= WFEIAXmlMes )

"DIAP_DATA": {

"XML2Test": "PD94bWwgdmVyc2lvbj0iMS4wIiBl[…]aXR1cmVzPg=="

La valeur du paramètre est encodé en base 64 et le séparateur de ligne est le séparateur UNIX.

Le nom du paramètre (PARAM=) doit correspondre à la valeur contenue dans WFEIAXmlMes.MesIde.

MODE= PUT-FICHIER : permet d’écrire un paramètre de type « contenu de fichier binaire » (images, pdf ou autres) dans le « DIAP_DATA » de retour.

SW-DIAPASON( MODE= PUT-FICHIER, PARAM= CLO."ParamImage.jpg" , VALEUR= CLO."/tmp/Image2Test.jpg" )

"DIAP_DATA": {

"ParamImage.jpg": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI////////////////////////////////////////////////////2wBDAVVaWnhpeOuCguv/////////////////////////////////////////////////////////////////////////wAARCAFAAgADAREAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhB

...

7UAZ/nSf32/OgBUlkLrl26jvQBqUAf/Z"

La valeur du paramètre est le contenu binaire du fichier encodé en base 64.

MODE= GET-C : permet de lire un paramètre de type caractère dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-C , PARAM= CLO."ParamCar1" , S:VALPARAM= VLO.VarCar )

"DIAP_DATA": {

"ParamCar1": "Valeur 1",

Résultat : La variable VarCar contient "Valeur 1"

MODE= GET-I : permet de lire un paramètre de type entier dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-I , PARAM= CLO."ParamInt1" , S:VALPARAM= VLO.VarInt )

"DIAP_DATA": {

"ParamInt1": 9876,

Résultat : La variable VarInt contient 9876

MODE= GET-R : permet de lire un paramètre de type décimal dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-R , PARAM= CLO."ParamNum1" , S:VALPARAM= VLO.VarNum )

"DIAP_DATA": {

"ParamNum1": 12345.6789,

Résultat : La variable VarNum contient 12345,6789

MODE= GET-D : permet de lire un paramètre de type décimal dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-D , PARAM= CLO."ParamDate1" , S:VALPARAM= VLO.VarDate )

"DIAP_DATA": {

"ParamDate1": "2021-11-29",

Résultat : La variable VarDate contient la date 29/11/21

MODE= GET-L : permet de lire un paramètre de type décimal dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-L , PARAM= CLO."ParamLog1" , S:VALPARAM= VLO.VarLog )

"DIAP_DATA": {

"ParamLog1": false

Résultat : La variable VarLog contient le logique NO

MODE= GET-LISTE : permet de lire un paramètre de type liste dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-LISTE , PARAM= CLO."Exemple_de_liste" , VALEUR= ListeElements )

"DIAP_DATA": {

 "Exemple_de_liste": [

            {

                "RefElement": "Elem10",

                "ValNum": 10,

                "DesElement": "élément 10"

            },

            {

                "RefElement": "Elem20",

                "ValNum": 20,

                "DesElement": "élément 20"

            },

            {

                "RefElement": "Elem30",

                "ValNum": 30,

                "DesElement": "élément 30"

            }   

        ],

Résultat : La liste « ListeElements » est alimentée avec le contenu du JSON. Seuls les champs ayant exactement le même nom seront alimentés.

MODE= GET-TEXTE : Permet de lire un paramètre de type « contenu texte » dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-TEXTE , PARAM= CLO."ParamTexte" , VALEUR= WFFicContenu )

ECRIT-FICHIER( IDENTIFIANT= CLO."ParamTexte" , NOM= CLO."FichierTexte.txt" , REPERTOIRE= CLO."/tmp/" , PARAMETRES= CLO."" )

Résultat : La liste « WFFicContenu» est alimentée avec le contenu du texte et la fonction DIALOG « ECRIT-FICHIER » permet d’écrire ce contenu dans un fichier.

La valeur du paramètre est encodée en base 64 et le séparateur de ligne est le séparateur UNIX.

"DIAP_DATA": {

 "ParamTexte": "Tm90ZSBkb250IGxhIGZy6XF1Z[…]dhdHRpdHVkZSBvdSBsZXMgb3BpbmlvbnMgZCdhdXRydWku"

,

MODE= GET-XML : Permet de lire un paramètre de type « contenu XML » dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-XML , PARAM= CLO."ParamXML" , VALEUR= WFEIAXmlMes )

VLO.BalDep = CLO."voitures"

XML-ECRMESFIC( REF-MESSAGE-XML= CLO."ParamXML" , NOM-FICHIER= CLO."/tmp/ExempleFichierXml1.xml" , BALISE-DEPART= VLO.BalDep )

La liste « WFEIAXmlMes» est alimentée avec le contenu du XML et la fonction DIALOG « XML-ECRMESFIC » permet d’écrire ce contenu dans un fichier.

La valeur du paramètre est encodée en base 64 et le séparateur de ligne est le séparateur UNIX.

"DIAP_DATA": {

 "ParamXML": "PD94bWwg[…]0PC9kYXRlU29ydGllPjwvdm9pdHVyZT48L3ZvaXR1cmVzPg=="

,

MODE= GET-FICHIER : Permet de lire un paramètre de type « contenu Fichier » dans le « DIAP_DATA » de la demande.

SW-DIAPASON( MODE= GET-FICHIER , PARAM= CLO."ParamFichierJpg" , VALEUR= CLO."/tmp/ExempleImage.jpg" )

Résultat : Ecriture d’un fichier /tmp/ExempleImage.jpg avec le contenu du fichier d’origine.

La valeur du paramètre est encodée en base 64.

"DIAP_DATA": {

 "ParamFichierJpg": "/9j/4AAQSkZJRgABAQEAYABg[…]AAQRBRIhMUEGE1FhB

...

7UAZ/nSf32/OgBUlkLrl26jvQBqUAf/Z" ,

  • PARAM (Obligatoire, Entrée, Type caractère) : Nom du paramètre à envoyer au service WEB ou à récupérer en sortie du service WEB. Peut être donné par une variable locale, une constante globale ou une constante locale.

  • VALEUR (Obligatoire, Entrée, Type caractère, Numérique, Logique ou Date) : Valeur du paramètre à envoyer au service WEB. Paramètre utilisé seulement dans le cas où le MODE est égal à l’une des options de passage de paramètres (PUT-*). Ce paramètre peut être donné par une variable locale, une constante globale, une constante locale ou par une sélection de Liste DIALOG dans le cas PUT-LISTE.

  • S: VALPARAM (Obligatoire, Entrée, Type caractère, Numérique, Logique ou Date) : Valeur du paramètre après exécution du service WEB. Paramètre utilisé seulement dans le cas où le MODE est égal à l’une des options de récupération de paramètres (GET-*).

 NOTES

La fonction retourne dans la variable résultat :

  • Le code erreur DIAPASON et le libellé associé à l’erreur, lors de toute anomalie d’exécution

  • Vide si tout s’est bien passé

EXEMPLE

VLO.REs = SW-DIAPASON( MODE= GET-C , PARAM= CLO."ParamCar1" , S:VALPARAM= VLO.ValeurParam )

VLO.REs = SW-DIAPASON( MODE= GET-D , PARAM= CLO."ParamDate2" , S:VALPARAM= VLO.ValeurDate )

VLO.REs = SW-DIAPASON( MODE= GET-R , PARAM= CLO."ParamNum3" , S:VALPARAM= VLO.ValeurNum )

VLO.REs = SW-DIAPASON( MODE= PUT-C , PARAM= CLO."ListeParametresEntrees" , VALEUR= VLO.LstParamEntree )

VLO.REs = SW-DIAPASON( MODE= PUT-C , PARAM= CLO."Param_CHARACTER" , VALEUR= CLO."Test CAR" )

VLO.REs = SW-DIAPASON( MODE= PUT-D , PARAM= CLO."Param_DATE" , VALEUR= CLO.29/06/2020 )

VLO.REs = SW-DIAPASON( MODE= PUT-L , PARAM= CLO."Param_LOGICAL" , VALEUR= CGL.OUI )

VLO.REs = SW-DIAPASON( MODE= PUT-R , PARAM= CLO."Param_DECIMAL" , VALEUR= VLO.ValR )

CREATION Liste LST.Liste2Test :

PRENDRE Liste2Test ParCar1 = CLO."Valeur1"

PRENDRE Liste2Test ParCar2 = CLO."Valeur2"

PRENDRE Liste2Test ParNum1 = CLO.3

FIN_BLOC

VLO.REs = SW-DIAPASON( MODE= PUT-LISTE , PARAM= CLO."NomDeLaListeEnRetour" , VALEUR= Liste2Test )


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.