BUT
Cette fonction permet de manipuler le contenu d'un objet JSON, à partir d’une requête DIALOG.
Disponible dans tous les types de requête.
SYNTAXE
Variable = SW-OUTILS-JSON (ACTION : sur l’objet JSON
…
La syntaxe varie suivant la valeur du paramètre ACTION :
-
ACTION= AJOUT-VAL-OBJET
Variable = SW-OUTILS-JSON (ACTION= AJOUT-VAL-OBJET
CHEMIN-PERE : Chemin du père)
-
ACTION= AJOUT-VAL-TABLEAU
Variable = SW-OUTILS-JSON (ACTION= AJOUT-VAL-TABLEAU
CHEMIN-ELEMENT-TAB : Chemin du tableau)
-
ACTION= AJOUT-VAL-CAR
Variable = SW-OUTILS-JSON (ACTION= AJOUT-VAL-CAR
CHEMIN-ELEMENT : Chemin et référence de l’élément
VALEUR-CAR : Valeur)
-
ACTION= AJOUT-VAL-NUM
Variable = SW-OUTILS-JSON (ACTION= AJOUT-VAL-NUM
CHEMIN-ELEMENT : Chemin et référence de l’élément
VALEUR-NUM : Valeur)
-
ACTION= AJOUT-VAL-LOG
Variable = SW-OUTILS-JSON (ACTION= AJOUT-VAL-LOG
CHEMIN-ELEMENT : Chemin et référence de l’élément
VALEUR-LOG : Valeur)
-
ACTION= AJOUT-VAL-CONT-FIC
Variable = SW-OUTILS-JSON (ACTION= AJOUT-VAL-CONT-FIC
CHEMIN-ELEMENT : Chemin et référence de l’élément
PATH-FIC : Chemin et nom du fichier
OPTION : Options)
-
ACTION= AJOUT-ELEMENT-OBJET
Variable = SW-OUTILS-JSON (ACTION= AJOUT-ELEMENT-OBJET
CHEMIN-TABLEAU : Chemin et référence du tableau
S :REF-ELEMENT-CREE : Référence élément créé)
-
ACTION= AJOUT-ELEMENT-TABLEAU
Variable = SW-OUTILS-JSON (ACTION= AJOUT-ELEMENT-TABLEAU
CHEMIN-TABLEAU : Chemin et référence du tableau
S :REF-ELEMENT-CREE : Référence élément créé)
-
ACTION= AJOUT-ELEMENT-CAR
Variable = SW-OUTILS-JSON (ACTION= AJOUT-ELEMENT-CAR
CHEMIN-TABLEAU : Chemin et référence du tableau
VALEUR-CAR-TAB : Valeur caractère
S :REF-ELEMENT-CREE : Référence élément créé)
-
ACTION= AJOUT-ELEMENT-NUM
Variable = SW-OUTILS-JSON (ACTION= AJOUT-ELEMENT-NUM
CHEMIN-TABLEAU : Chemin et référence du tableau
VALEUR-NUM-TAB : Valeur numérique
S :REF-ELEMENT-CREE : Référence élément créé)
-
ACTION= AJOUT-ELEMENT-LOG
Variable = SW-OUTILS-JSON (ACTION= AJOUT-ELEMENT-LOG
CHEMIN-TABLEAU : Chemin et référence du tableau
VALEUR-LOG-TAB : Valeur logique
S :REF-ELEMENT-CREE : Référence élément créé)
-
ACTION= AJOUT-ELEMENT-CONT-FIC
Variable = SW-OUTILS-JSON (ACTION= AJOUT-ELEMENT-CONT-FIC
CHEMIN-TABLEAU : Chemin et référence du tableau
PATH-FIC : Chemin et nom du fichier
S :REF-ELEMENT-CREE : Référence élément créé)
-
ACTION= RECUP-CONT-FIC
Variable = SW-OUTILS-JSON (ACTION= RECUP-CONT-FIC
CHEMIN-ELEMENT : Chemin et référence de l’élément à lire
PATH-FIC : Chemin et nom du fichier
OPTION : Options)
-
ACTION= IMPORTER-FICHIER
Variable = SW-OUTILS-JSON (ACTION= IMPORTER-FICHIER
PATH-FIC : Chemin et nom du fichier
OPTION : Options)
-
ACTION= EXPORTER-FICHIER
Variable = SW-OUTILS-JSON (ACTION= EXPORTER-FICHIER
PATH-FIC : Chemin et nom du fichier
OPTION : Options)
PARAMETRES
|
Paramètre |
E/S |
O |
Type |
Description |
|
ACTION |
E |
Oui |
Caractère |
Action sur l’objet JSON. Cette action peut prendre l’une des valeurs suivantes :
|
|
CHEMIN-PERE |
E |
Non |
Caractère |
Chemin du père dans lequel on ajoute l’objet. Paramètre utilisé seulement l’action AJOUT-VAL-OBJET. Peut être donné par une variable locale, une constante globale ou une constante locale. |
|
CHEMIN-ELEMENT-TAB |
E |
Non |
Caractère |
Chemin et référence de l’élément à ajouter. Paramètre utilisé seulement l’action AJOUT-VAL-TABLEAU. Peut être donné par une variable locale, une constante globale ou une constante locale. |
|
CHEMIN-ELEMENT |
E |
Non |
Caractère |
Chemin et référence de l’élément. Paramètre utilisé seulement les actions AJOUT-VAL-CAR, AJOUT-VAL-NUM, AJOUT-VAL-LOG, AJOUT-VAL-CONT-FIC et RECUP-CONT-FIC. Peut être donné par une variable locale, une constante globale ou une constante locale. |
|
VALEUR-CAR |
E |
Non |
Caractère |
Valeur caractère. Paramètre utilisé seulement pour l’action AJOUT-VAL-CAR. Ce paramètre peut être donné par une variable locale, une constante globale ou une constante locale. |
|
VALEUR-NUM |
E |
Non |
Numérique |
Valeur numérique. Paramètre utilisé seulement pour l’action AJOUT-VAL-NUM. Ce paramètre peut être donné par une variable locale, une constante globale ou une constante locale. |
|
VALEUR-LOG |
E |
Non |
Logique |
Valeur logique. Paramètre utilisé seulement pour l’action AJOUT-VAL-LOG. Ce paramètre peut être donné par une variable locale ou une constante globale. |
|
PATH-FIC |
E |
Non |
Caractère |
Chemin et nom du fichier. Paramètre utilisé seulement pour les actions AJOUT-VAL-CONT-FIC, AJOUT-ELEMENT-CONT-FIC, RECUP-CONT-FIC, IMPORTER-FICHIER et EXPORTER-FICHIER. Ce paramètre peut être donné par une variable locale, une constante globale ou une constante locale. |
|
OPTION |
E |
Non |
Caractère |
Options. Paramètre utilisé seulement pour les actions AJOUT-VAL-CONT-FIC, RECUP-CONT-FIC, IMPORTER-FICHIER et EXPORTER-FICHIER. Ce paramètre peut être donné par une variable locale, une constante globale ou une constante locale. |
|
CHEMIN-TABLEAU |
E |
Non |
Caractère |
Chemin et référence du tableau recevant l’élément. Paramètre utilisé seulement pour les actions AJOUT-ELEMENT-OBJET, AJOUT-ELEMENT-TABLEAU, AJOUT-ELEMENT-CAR, AJOUT-ELEMENT-NUM, AJOUT-ELEMENT-LOG et AJOUT-ELEMENT-CONT-FIC. Ce paramètre peut être donné par une variable locale, une constante globale ou une constante locale. |
|
VALEUR-CAR-TAB |
E |
Non |
Caractère |
Valeur caractère de l’élément. Paramètre utilisé seulement pour l’action AJOUT-ELEMENT-CAR. Ce paramètre peut être donné par une variable locale, une constante globale ou une constante locale. |
|
VALEUR-NUM-TAB |
E |
Non |
Numérique |
Valeur caractère de l’élément. Paramètre utilisé seulement pour l’action AJOUT-ELEMENT-NUM. Ce paramètre peut être donné par une variable locale, une constante globale ou une constante locale. |
|
VALEUR-LOG-TAB |
E |
Non |
Logique |
Valeur caractère de l’élément. Paramètre utilisé seulement pour l’action AJOUT-ELEMENT-LOG. Ce paramètre peut être donné par une variable locale ou une constante globale |
|
S :REF-ELEMENT-CREE |
S |
Non |
Caractère |
Référence de l’élément créé. Ce paramètre ne peut être donné que par une variable locale. |
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
COMMENTAIRE : "************* TESTS FONCTION SW-OUTILS-JSON"
COMMENTAIRE : "****************** REINIT & PURGE"
EFFACER Liste WFSWListeJSON
VLO.RetourFonction = EXE-CDE-SYS( CDE-SYS= CLO."rm '/tmp/FicJsonTest0.json'" , SEPARATEUR= CLO."" ,REMP-SEPARATEUR= CLO."" )
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= IMPORTER-FICHIER , PATH-FIC= CLO tmp/FicJsonTest.json" , OPTION= CLO."" )
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= EXPORTER-FICHIER , PATH-FIC= CLO."/tmp/FicJsonTest0.json" , OPTION= CLO."" )
VLO.RetourFonction = EXE-CDE-SYS( CDE-SYS= CLO."diff '/tmp/FicJsonTest.json' '/ tmp/FicJsonTest0.json'" , SEPARATEUR= CLO."" , REMP-SEPARATEUR= CLO."" )
EFFACER Liste WFSWListeJSON
VLO.CheminPere = VLO.refRacine
VLO.CheminElement = VLO.CheminPere
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-OBJET , CHEMIN-PERE= VLO.CheminElement )
VLO.CheminElement = VLO.CheminPere + VLO.SepElmnt + CLO."DIAP_METHODE"
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-CAR , CHEMIN-ELEMENT= VLO.CheminElement , VALEUR-CAR= CLO."ISSWDG_SOR" )
VLO.CheminElement = VLO.CheminPere + VLO.SepElmnt + CLO."DIAP_DATA"
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-OBJET , CHEMIN-PERE= VLO.CheminElement )
VLO.CheminPere = VLO.CheminElement + VLO.SepElmnt + CLO."FicTestImg.jpg"
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-CONT-FIC , CHEMIN-ELEMENT= CLO.CheminPere, PATH-FIC= CLO."/tmp/FicTestImg.jpg" , OPTION= CLO."" )
VLO.CheminElement = VLO.CheminElement + VLO.SepElmnt + CLO."Ouvrants"
VLO.CheminPere = VLO.CheminElement
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-TABLEAU , CHEMIN-ELEMENT-TAB= VLO.CheminElement )
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-ELEMENT-OBJET , CHEMIN-TABLEAU= VLO.CheminPere , S:REF-ELEMENT-CREE= VLO.NewRefElement )
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-CAR , CHEMIN-ELEMENT= VLO.CheminElement , VALEUR-CAR= CLO."0633BG64" )
VLO.CheminElement = VLO.CheminPere + VLO.SepElmnt + VLO.NewRefElement + VLO.SepElmnt + CLO."modele"
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-CAR , CHEMIN-ELEMENT= VLO.CheminElement , VALEUR-CAR= CLO."Ouv12" )
VLO.CheminElement = VLO.CheminPere + VLO.SepElmnt + VLO.NewRefElement + VLO.SepElmnt + CLO."couleur"
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-CAR , CHEMIN-ELEMENT= VLO.CheminElement , VALEUR-CAR= CLO."gris" )
VLO.CheminElement = VLO.CheminPere + VLO.SepElmnt + VLO.NewRefElement + VLO.SepElmnt + CLO."haut"
VLO.RetourFonction = SW-OUTILS-JSON( ACTION= AJOUT-VAL-NUM , CHEMIN-ELEMENT= VLO.CheminElement , VALEUR-NUM= CLO.1200 )