SW-OUTILS-JSON
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 )