Skip to content

Allow boolean constants in errorlevel and errorcode #598

@mla2001

Description

@mla2001

Initial Checks

Summary

According to g4 grammar, boolean constants should be accepted as errorlevel/errorode.

Reproducible Example

    script = """
        define hierarchical ruleset hr_test (variable rule Id_1) is
            B = C - D errorcode true errorlevel true;
            N = A - L errorcode false errorlevel false
        end hierarchical ruleset;

        DS_r <- check_hierarchy(DS_1, hr_test rule Id_1);
    """

    script = ASTString().render(create_ast(script))

    data_structures = {
        "datasets": [
            {
                "name": "DS_1",
                "DataStructure": [
                    {"name": "Id_1", "type": "String", "role": "Identifier", "nullable": False},
                    {"name": "Id_2", "type": "String", "role": "Identifier", "nullable": False},
                    {"name": "Me_1", "type": "Integer", "role": "Measure", "nullable": True},
                ],
            }
        ]
    }

    data_df = pd.DataFrame(
        {
            "Id_1": ["B", "C", "D", "N", "A", "B", "C", "D", "C"],
            "Id_2": ["A", "B", "C", "D", "E", "F", "G", "H", "I"],
            "Me_1": [100, 110, 20, 200, 199, None, 120, 110, None],
        }
    )

    datapoints = {"DS_1": data_df}

    run_result = run(script=script, data_structures=data_structures, datapoints=datapoints)

    print(run_result)

Expected vs Actual

TBD

vtlengine version

1.6.0

Python version

Any

OS

Any

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions