Skip to content

Commit

Permalink
Merge pull request #2593 from TypeCobolTeam/v2.2.0
Browse files Browse the repository at this point in the history
v2.2.0
  • Loading branch information
fm-117 committed Nov 9, 2023
2 parents 28d1f98 + d6893fd commit 8fdd5cf
Show file tree
Hide file tree
Showing 67 changed files with 2,969 additions and 1,291 deletions.
13 changes: 12 additions & 1 deletion Codegen/test/resources/input/CobolV6/JsonGenerate.rdz.cbl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
02 var4 PIC X(20).
02 var5 PIC X(7).
02 var6 PIC 9(18).

02 var7 PIC X.
88 var7-flag VALUE 'T'.
01 char-count PIC 9(3).
01 result PIC X(256).
01 ret-code PIC 9(1).
Expand All @@ -22,6 +23,10 @@
JSON GENERATE result FROM elt NAME var1 'Nom'
JSON GENERATE result FROM elt NAME OF var1 'Nom'
JSON GENERATE result FROM elt NAME OF var1 IS 'Nom'
JSON GENERATE result FROM elt NAME OF elt IS OMITTED
JSON GENERATE result FROM elt NAME OF elt OMITTED
JSON GENERATE result FROM elt NAME elt IS OMITTED
JSON GENERATE result FROM elt NAME elt OMITTED
JSON GENERATE result FROM elt
NAME OF var1 IS 'Nom'
var2 'Age'
Expand Down Expand Up @@ -58,6 +63,12 @@
ON EXCEPTION MOVE 1 TO ret-code
NOT ON EXCEPTION MOVE 0 TO ret-code
END-JSON

JSON GENERATE result FROM elt
COUNT char-count
NAME elt::var1 'Nom'
SUPPRESS elt::var4 WHEN ZERO
CONVERTING elt::var7 BOOL var7::var7-flag.
.
END PROGRAM JsonTest.
9 changes: 9 additions & 0 deletions Codegen/test/resources/input/CobolV6/JsonParse.rdz.cbl
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
03 az PIC X(15) VALUE "goodbye, world!".
03 ab.
05 abc PIC x(3) value spaces.
01 a PIC X.
88 a1-flag VALUE 't'.
88 a2-flag VALUE 'v'.

PROCEDURE DIVISION.
JSON PARSE x INTO y
Expand Down Expand Up @@ -38,6 +41,12 @@
ON EXCEPTION display "error"
NOT EXCEPTION display "success"

JSON PARSE x INTO y DETAIL
NAME OF y::ab IS 'aaa'
SUPPRESS y::z y::ab
CONVERTING a FROM JSON BOOL USING
a::a1-flag AND a::a2-flag

GOBACK.
END PROGRAM Prog.

18 changes: 17 additions & 1 deletion Codegen/test/resources/output/CobolV6/JsonGenerate.rdz.cbl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
02 var4 PIC X(20).
02 var5 PIC X(7).
02 var6 PIC 9(18).

02 var7 PIC X.
88 var7-flag VALUE 'T'.
01 char-count PIC 9(3).
01 result PIC X(256).
01 ret-code PIC 9(1).
Expand All @@ -22,6 +23,10 @@
JSON GENERATE result FROM elt NAME var1 'Nom'
JSON GENERATE result FROM elt NAME OF var1 'Nom'
JSON GENERATE result FROM elt NAME OF var1 IS 'Nom'
JSON GENERATE result FROM elt NAME OF elt IS OMITTED
JSON GENERATE result FROM elt NAME OF elt OMITTED
JSON GENERATE result FROM elt NAME elt IS OMITTED
JSON GENERATE result FROM elt NAME elt OMITTED
JSON GENERATE result FROM elt
NAME OF var1 IS 'Nom'
var2 'Age'
Expand Down Expand Up @@ -58,6 +63,17 @@
ON EXCEPTION MOVE 1 TO ret-code
NOT ON EXCEPTION MOVE 0 TO ret-code
END-JSON

* JSON GENERATE result FROM elt
* COUNT char-count
* NAME elt::var1 'Nom'
* SUPPRESS elt::var4 WHEN ZERO
* CONVERTING elt::var7 BOOL var7::var7-flag.
JSON GENERATE result FROM elt
COUNT char-count
NAME var1 OF elt 'Nom'
SUPPRESS var4 OF elt WHEN ZERO
CONVERTING var7 OF elt BOOL var7-flag OF var7.
.
END PROGRAM JsonTest.
14 changes: 14 additions & 0 deletions Codegen/test/resources/output/CobolV6/JsonParse.rdz.cbl
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
03 az PIC X(15) VALUE "goodbye, world!".
03 ab.
05 abc PIC x(3) value spaces.
01 a PIC X.
88 a1-flag VALUE 't'.
88 a2-flag VALUE 'v'.

PROCEDURE DIVISION.
JSON PARSE x INTO y
Expand Down Expand Up @@ -47,6 +50,17 @@
ON EXCEPTION display "error"
NOT EXCEPTION display "success"

* JSON PARSE x INTO y DETAIL
* NAME OF y::ab IS 'aaa'
* SUPPRESS y::z y::ab
* CONVERTING a FROM JSON BOOL USING
* a::a1-flag AND a::a2-flag
JSON PARSE x INTO y DETAIL
NAME OF ab OF y IS 'aaa'
SUPPRESS z OF y ab OF y
CONVERTING a FROM JSON BOOL USING
a1-flag OF a AND a2-flag OF a

GOBACK.
END PROGRAM Prog.

Binary file modified Documentation/TokenTypes.xlsx
Binary file not shown.
1 change: 1 addition & 0 deletions TypeCobol.Test/Misc/LanguageLevel/tcQualifiedNames.Mix.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Line 45[20,24] <27, Error, Syntax> - Syntax error : extraneous input 's1::b' exp
PERFORM s1::b
*KO qualifiedDataName1
Line 47[42,67] <27, Error, Syntax> - Syntax error : mismatched input 'WORK-STUDENT::STUDENT-ID-W' expecting user defined word
Line 47[12,15] <27, Error, Syntax> - Syntax error : SORT file statement requires at least one sorting KEY.
SORT FILE-03 ON ASCENDING KEY WORK-STUDENT::STUDENT-ID-W
USING FILE-01 GIVING FILE-02
*KO qualifiedConditionName
Expand Down
119 changes: 116 additions & 3 deletions TypeCobol.Test/Parser/CodeElements/JSON/GENERATE.CodeElements.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
--- Diagnostics ---
Line 2[16,16] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting FROM RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement, OffendingSymbol=[16,16+:.]<PeriodSeparator>
Line 12[28,28] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {symbol, special register, keyword} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement, OffendingSymbol=[28,28+:.]<PeriodSeparator>
Line 14[30,30] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {alphanumeric literal, hexadecimal alphanumeric literal, null terminated alphanumeric literal, national literal, hexadecimal national literal, DBCS literal, IS} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonNameMapping, OffendingSymbol=[30,30+:.]<PeriodSeparator>
Line 20[33,33] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {alphanumeric literal, hexadecimal alphanumeric literal, null terminated alphanumeric literal, national literal, hexadecimal national literal, DBCS literal, IS} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonNameMapping, OffendingSymbol=[33,33+:.]<PeriodSeparator>
Line 30[32,32] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {symbol, special register, keyword} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement, OffendingSymbol=[32,32+:.]<PeriodSeparator>
Line 14[30,30] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {alphanumeric literal, hexadecimal alphanumeric literal, null terminated alphanumeric literal, national literal, hexadecimal national literal, DBCS literal, UTF-8 literal, hexadecimal UTF-8 literal, IS, OMITTED} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonNameMapping, OffendingSymbol=[30,30+:.]<PeriodSeparator>
Line 20[33,33] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {alphanumeric literal, hexadecimal alphanumeric literal, null terminated alphanumeric literal, national literal, hexadecimal national literal, DBCS literal, UTF-8 literal, hexadecimal UTF-8 literal, IS, OMITTED} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonNameMapping, OffendingSymbol=[33,33+:.]<PeriodSeparator>
Line 30[32,32] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {symbol, statement starting keyword, special register, keyword} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement, OffendingSymbol=[32,32+:.]<PeriodSeparator>
Line 43[24,30] <27, Error, Syntax> - Syntax error : extraneous input 'OMITTED' expecting {separator, numeric literal, character string, symbol, statement starting keyword, keyword, Formalized Comments elements, Sql statement starting keyword} RuleStack=, OffendingSymbol=[24,30:OMITTED]<OMITTED>
Line 64[39,42] <27, Error, Syntax> - Syntax error : mismatched input 'WHEN' expecting {user defined word, NUMERIC} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonSuppressDirective>jsonGenericSuppressionPhrase, OffendingSymbol=[39,42:WHEN]<WHEN>
Line 65[33,39] <27, Error, Syntax> - Syntax error : extraneous input 'NUMERIC' expecting {symbol, statement starting keyword, special register, keyword} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement, OffendingSymbol=[33,39:NUMERIC]<NUMERIC>
Line 68[38,42] <27, Error, Syntax> - Syntax error : mismatched input 'QUOTE' expecting {HIGH-VALUE, HIGH-VALUES, LOW-VALUE, LOW-VALUES, SPACE, SPACES, ZERO, ZEROES, ZEROS} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonSuppressDirective>jsonGenericSuppressionPhrase>whenPhrase>repeatedCharacterValue3>figurativeConstantForXMLGenerate, OffendingSymbol=[38,42:QUOTE]<QUOTE>
Line 69[38,43] <27, Error, Syntax> - Syntax error : mismatched input 'QUOTES' expecting {HIGH-VALUE, HIGH-VALUES, LOW-VALUE, LOW-VALUES, SPACE, SPACES, ZERO, ZEROES, ZEROS} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonSuppressDirective>jsonGenericSuppressionPhrase>whenPhrase>repeatedCharacterValue3>figurativeConstantForXMLGenerate, OffendingSymbol=[38,43:QUOTES]<QUOTES>
Line 70[38,41] <27, Error, Syntax> - Syntax error : mismatched input 'NULL' expecting {HIGH-VALUE, HIGH-VALUES, LOW-VALUE, LOW-VALUES, SPACE, SPACES, ZERO, ZEROES, ZEROS} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonSuppressDirective>jsonGenericSuppressionPhrase>whenPhrase>repeatedCharacterValue3>figurativeConstantForXMLGenerate, OffendingSymbol=[38,41:NULL]<NULL>
Line 71[38,42] <27, Error, Syntax> - Syntax error : mismatched input 'NULLS' expecting {HIGH-VALUE, HIGH-VALUES, LOW-VALUE, LOW-VALUES, SPACE, SPACES, ZERO, ZEROES, ZEROS} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonSuppressDirective>jsonGenericSuppressionPhrase>whenPhrase>repeatedCharacterValue3>figurativeConstantForXMLGenerate, OffendingSymbol=[38,42:NULLS]<NULLS>
Line 80[34,34] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {symbol, special register, keyword} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonGenerateConvertingPhrase>jsonGenerateConvertingDirective>variable1>identifier>storageAreaReferenceOrConditionReference, OffendingSymbol=[34,34+:.]<PeriodSeparator>
Line 81[36,36] <27, Error, Syntax> - Syntax error : extraneous input '.' expecting {user defined word, TO, JSON} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonGenerateConvertingPhrase>jsonGenerateConvertingDirective, OffendingSymbol=[36,36+:.]<PeriodSeparator>
Line 82[6,13] <27, Error, Syntax> - Syntax error : extraneous input 'GENERATE' expecting user defined word RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonGenerateConvertingPhrase>jsonGenerateConvertingDirective, OffendingSymbol=[6,13:GENERATE]<GENERATE>
Line 82[15,15] <27, Error, Syntax> - Syntax error : no viable alternative at input 'x' RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonGenerateConvertingPhrase>jsonGenerateConvertingDirective, OffendingSymbol=[15,15:x]<UserDefinedWord>
Line 83[53,53] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {symbol, special register, keyword} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonGenerateConvertingPhrase>jsonGenerateConvertingDirective>variable1>identifier>storageAreaReferenceOrConditionReference, OffendingSymbol=[53,53+:.]<PeriodSeparator>
Line 84[91,91] <27, Error, Syntax> - Syntax error : mismatched input '.' expecting {alphanumeric literal, hexadecimal alphanumeric literal, null terminated alphanumeric literal, user defined word} RuleStack=codeElement>cobol2002Statement>jsonGenerateStatement>jsonGenerateConvertingPhrase>jsonGenerateConvertingDirective, OffendingSymbol=[91,91+:.]<PeriodSeparator>
--- Code Elements ---
[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [15,15:x]<UserDefinedWord>

Expand Down Expand Up @@ -61,3 +74,103 @@ Line 30[32,32] <27, Error, Syntax> - Syntax error : mismatched input '.' expecti

[[SentenceEnd]] [41,41+:.]<PeriodSeparator> --> [41,41+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [37,43:OMITTED]<OMITTED>

[[SentenceEnd]] [44,44+:.]<PeriodSeparator> --> [44,44+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [34,40:OMITTED]<OMITTED>

[[SentenceEnd]] [41,41+:.]<PeriodSeparator> --> [41,41+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [34,40:OMITTED]<OMITTED>

[[SentenceEnd]] [41,41+:.]<PeriodSeparator> --> [41,41+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [31,37:OMITTED]<OMITTED>

[[SentenceEnd]] [38,38+:.]<PeriodSeparator> --> [38,38+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [22,22:y]<UserDefinedWord>

[[SentenceEnd]] [31,31+:.]<PeriodSeparator> --> [31,31+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,41:ZERO]<ZERO>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,42:ZEROS]<ZEROS>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,43:ZEROES]<ZEROES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,42:SPACE]<SPACE>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,43:SPACES]<SPACES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,46:LOW-VALUE]<LOW_VALUE>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,47:LOW-VALUES]<LOW_VALUES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,47:HIGH-VALUE]<HIGH_VALUE>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,48:HIGH-VALUES]<HIGH_VALUES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [40,43:ZERO]<ZERO>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [57,66:HIGH-VALUE]<HIGH_VALUE>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [60,69:HIGH-VALUE]<HIGH_VALUE>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [71,81:HIGH-VALUES]<HIGH_VALUES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [69,74:ZEROES]<ZEROES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [61,66:SPACES]<SPACES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [64,69:SPACES]<SPACES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [52,56:SPACE]<SPACE>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [54,63:HIGH-VALUE]<HIGH_VALUE>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,42:QUOTE]<QUOTE>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,43:QUOTES]<QUOTES>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,41:NULL]<NULL>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [38,42:NULLS]<NULLS>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [61,66:b-flag]<UserDefinedWord>

[[SentenceEnd]] [67,67+:.]<PeriodSeparator> --> [67,67+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [83,88:a-flag]<UserDefinedWord>

[[SentenceEnd]] [89,89+:.]<PeriodSeparator> --> [89,89+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [56,58:'T']<AlphanumericLiteral>(',Y,Y){T}

[[SentenceEnd]] [59,59+:.]<PeriodSeparator> --> [59,59+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [92,102:data-b-flag]<UserDefinedWord>

[[SentenceEnd]] [103,103+:.]<PeriodSeparator> --> [103,103+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [24,33:CONVERTING]<CONVERTING>

[[SentenceEnd]] [34,34+:.]<PeriodSeparator> --> [34,34+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [37,40:BOOL]<UserDefinedWord>

[[SentenceEnd]] [41,41+:.]<PeriodSeparator> --> [41,41+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [49,52:ALSO]<ALSO>

[[SentenceEnd]] [53,53+:.]<PeriodSeparator> --> [53,53+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [86,90:USING]<USING>

[[SentenceEnd]] [91,91+:.]<PeriodSeparator> --> [91,91+:.]<PeriodSeparator>

[[JsonGenerateStatement]] [1,4:JSON]<JSON> --> [108,113:b-flag]<UserDefinedWord>

[[SentenceEnd]] [114,114+:.]<PeriodSeparator> --> [114,114+:.]<PeriodSeparator>

52 changes: 52 additions & 0 deletions TypeCobol.Test/Parser/CodeElements/JSON/GENERATE.cbl
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,55 @@ JSON GENERATE x FROM y SUPPRESS.
JSON GENERATE x FROM y SUPPRESS t.
*OK multiple suppress directives
JSON GENERATE x FROM y SUPPRESS t1 t2 t3.

*OK
JSON GENERATE x FROM y NAME OF y IS OMITTED.
JSON GENERATE x FROM y NAME OF y OMITTED.
JSON GENERATE x FROM y NAME y IS OMITTED.
JSON GENERATE x FROM y NAME y OMITTED.
*KO OMITTED without NAME
JSON GENERATE x FROM y OMITTED.

*OK
JSON GENERATE x FROM y SUPPRESS WHEN ZERO
JSON GENERATE x FROM y SUPPRESS WHEN ZEROS
JSON GENERATE x FROM y SUPPRESS WHEN ZEROES
JSON GENERATE x FROM y SUPPRESS WHEN SPACE
JSON GENERATE x FROM y SUPPRESS WHEN SPACES
JSON GENERATE x FROM y SUPPRESS WHEN LOW-VALUE
JSON GENERATE x FROM y SUPPRESS WHEN LOW-VALUES
JSON GENERATE x FROM y SUPPRESS WHEN HIGH-VALUE
JSON GENERATE x FROM y SUPPRESS WHEN HIGH-VALUES
JSON GENERATE x FROM y SUPPRESS a WHEN ZERO
JSON GENERATE x FROM y SUPPRESS EVERY NUMERIC WHEN ZERO HIGH-VALUE
JSON GENERATE x FROM y SUPPRESS EVERY NUMERIC WHEN ZERO OR HIGH-VALUE
JSON GENERATE x FROM y SUPPRESS EVERY NUMERIC WHEN ZERO OR HIGH-VALUE HIGH-VALUES
JSON GENERATE x FROM y SUPPRESS EVERY NUMERIC WHEN ZERO OR ZEROS OR ZEROES
JSON GENERATE x FROM y SUPPRESS EVERY NONNUMERIC WHEN SPACE SPACES
JSON GENERATE x FROM y SUPPRESS EVERY NONNUMERIC WHEN SPACE OR SPACES

*KO bad syntax for SUPPRESS with generic-suppression-phrase
JSON GENERATE x FROM y SUPPRESS EVERY WHEN ZERO OR SPACE
JSON GENERATE x FROM y SUPPRESS NUMERIC WHEN ZERO OR HIGH-VALUE

*KO wrong figurative constants in SUPPRESS
JSON GENERATE x FROM y SUPPRESS WHEN QUOTE
JSON GENERATE x FROM y SUPPRESS WHEN QUOTES
JSON GENERATE x FROM y SUPPRESS WHEN NULL
JSON GENERATE x FROM y SUPPRESS WHEN NULLS

*OK
JSON GENERATE x FROM y CONVERTING a BOOL a-flag ALSO b BOOL b-flag.
JSON GENERATE x FROM y SUPPRESS WHEN LOW-VALUE CONVERTING a TO JSON BOOLEAN USING a-flag.
JSON GENERATE x FROM y CONVERTING a TO JSON BOOL USING 'T'.
JSON GENERATE x FROM y CONVERTING data-a TO BOOLEAN USING 'T' ALSO data-b TO BOOLEAN USING data-b-flag.

*KO wrong syntax for CONVERTING phrase
JSON GENERATE x FROM y CONVERTING.
JSON GENERATE x FROM y CONVERTING a.
JSON GENERATE x FROM y CONVERTING a BOOL.
JSON GENERATE x FROM y CONVERTING a BOOL a-flag ALSO.
JSON GENERATE x FROM y CONVERTING data-a TO BOOLEAN USING 'T' ALSO data-b TO BOOLEAN USING.

*OK all together
JSON GENERATE x FROM y COUNT c NAME n 'new-name' SUPPRESS s WHEN ZERO CONVERTING a BOOL a-flag ALSO b BOOL b-flag.

0 comments on commit 8fdd5cf

Please sign in to comment.