| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- /*------------------------------------------------------------------------
- File : custom.p
- Purpose :
- Syntax :
- Description :
- Author(s) : walter.riechsteiner
- Created : Wed Jul 17 20:12:36 CEST 2024
- Notes :
- ----------------------------------------------------------------------*/
- /* *************************** Definitions ************************** */
- USING Progress.Json.ObjectModel.*.
- DEF VAR xx AS LONGCHAR NO-UNDO.
- DEF VAR yy AS LONGCHAR NO-UNDO.
- DEF VAR hDset AS HANDLE NO-UNDO.
- DEF VAR lRetVal AS LOGICAL NO-UNDO.
- DEF VAR ojsonObject AS jsonObject NO-UNDO.
- DEF VAR ojsonInput AS jsonObject NO-UNDO.
- DEF VAR ojsonKunde AS jsonObject NO-UNDO.
- DEF VAR oParser AS ObjectModelParser NO-UNDO.
- /* ******************** Preprocessor Definitions ******************** */
- /* *************************** Main Block *************************** */
- COPY-LOB FROM FILE 'C:\TEMP\jsonfile.json' TO xx.
- /*
- xx = CHR(123) + ' "ttInput" : '
- + CHR(10) + CHR(123) + CHR(10)
- + ' "benutzer" : "peter", '
- + ' "Sprache" : "DE", '
- + ' "Programm" : "test" '
- + CHR(10) + CHR(125) + ' , '
- + CHR(10)
- + ' "ttKunde" : '
- + CHR(10) + CHR(123) + CHR(10)
- + ' "Name" : "Meier",'
- + ' "Vorname" : "Manfred", '
- + ' "Strasse" : "Bergstrasse" '
- + CHR(10) + CHR(125) + CHR(10)
- + CHR(125)
- .
- */
- xx = CODEPAGE-CONVERT(xx, "UTF-8":U).
- /*
- OUTPUT TO 'C:\TEMP\jsonfile.json'.
- PUT CONTROL STRING(xx).
- OUTPUT CLOSE.
- */
- MESSAGE STRING(xx)
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
-
- oParser = NEW ObjectModelParser().
- oJsonObject = CAST(oParser:Parse(xx), JsonObject).
- oJsonObject:write(yy, TRUE).
- MESSAGE '1' STRING(yy)
- VIEW-AS ALERT-BOX.
- oJsonInput = NEW JsonObject().
- oJsonInput:GetJsonObject('ttInput').
- MESSAGE '2' STRING(yy)
- VIEW-AS ALERT-BOX.
- oJsonKunde:GetJsonObject('ttKunde').
- MESSAGE '3'
- VIEW-AS ALERT-BOX.
- oJsonInput:write(yy, TRUE).
- MESSAGE STRING(yy)
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
- DEF TEMP-TABLE ttInput
- FIELD benutzer AS CHAR
- FIELD Sprache AS CHAR
- FIELD Programm AS CHAR
- .
- DEF TEMP-TABLE ttKunde
- FIELD benutzer AS CHAR SERIALIZE-HIDDEN
- FIELD NAME AS CHAR
- FIELD Vorname AS CHAR
- FIELD Programm AS CHAR
- .
- DEFINE DATASET hDset FOR ttInput , ttKunde
- DATA-RELATION dsrel1 FOR ttInput, ttKunde RELATION-FIELDS(benutzer,benutzer) NESTED
- .
- /*
- CREATE ttInput.
- CREATE ttKunde.
- lRetVal = dataset
- hDset:READ-JSON("jsonObject", ojsonObject).
- MESSAGE lRetVal
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
- */
- DEF VAR httInput AS HANDLE NO-UNDO.
- DEF VAR httKunde AS HANDLE NO-UNDO.
- httInput = TEMP-TABLE ttInput:DEFAULT-BUFFER-HANDLE.
- httKunde = TEMP-TABLE ttKunde:DEFAULT-BUFFER-HANDLE.
- MESSAGE '2'
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
- httInput:READ-JSON('jsonObject', oJsonObject, 'empty').
- MESSAGE '3'
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
- httKunde:READ-JSON('jsonObject', oJsonObject, 'empty').
- MESSAGE '4'
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
- FIND FIRST ttInput.
- DISPLAY ttInput.
- DISPLAY 'kunde' SKIP.
- FIND FIRST ttKunde.
- DISPLAY ttKunde.
|