Report Table

The current methods implemented for report tables in the ProcessMaker API designer are listed below:

Report Table:

NameDescriptionType Value
rep_uidReport table UIDStringString
rep_tab_nameReport table nameString"name" or "pmt_NAME" (Text string)
rep_tab_dscReport table descriptionString"Description of Report Table" (Text String)
rep_tab_connectionConnection of the report table, possible values are: "workflow", "rp" and Database connectionsString"workflow" or "h348fd..." (Text String)
rep_tab_typeReport table type, possible values are: "NORMAL" or "GRID"String"NORMAL" ("NORMAL" and "GRID") (unique allowed values)
rep_tab_gridBase grid UID where the report table will be generatedInteger"tr8945m..." (String of 32 characters)
fieldsArray of the report table columnsArrayCheck the next fields
Field Variables
fld_dynField name from a DynaformString"Accepted" (Text String)
fld_nameField name for the table created in mysqlString"Accepted" (Text String)
fld_labelLabel name of the field for the GUI in PMString"Accepted" (Text String)
fld_typeField type in mysql, values: "BOOLEAN", "TINYINT", "SMALLINT", "INTEGER", "BIGINT", "DOUBLE", "FLOAT","REAL", "DECIMAL", "CHAR", "VARCHAR", "LONGVARCHAR", "DATE", "TIME", "DATETIME"String"VARCHAR" (String type mysql field)
fld_sizeField size in mysqlInteger"23" (Numeric)

Get Report Tables List: GET project/{prj_uid}/report-tables

Gets the list of Report Tables in a project.

GET /api/1.0/{workspace}/project/{prj_uid}/report-tables

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Result:

TypeDescription
arrayReturns an array of report table objects

Example:

Response

 200 (OK)
 Content-Type: application/json
 [
    {
        "rep_uid": "12965606852f8dcf2154e21097825813",
        "rep_tab_name": "PMT_EJEMPLO",
        "rep_tab_description": "My table description",
        "rep_tab_class_name": "PmtExample",
        "rep_tab_connection": "workflow",
        "rep_tab_type": "NORMAL",
        "rep_tab_grid": "",
        "rep_num_rows": 2,
        "fields":
        [
           {
               "fld_uid": "64688692552f8de120c57d0031739165",
               "fld_index": "0",
               "fld_name": "APP_UID",
               "fld_description": "APP_UID",
               "fld_type": "VARCHAR",
               "fld_size": "32",
               "fld_null": "0",
               "fld_auto_increment": "0",
               "fld_key": "1",
               "fld_foreign_key": "0",
               "fld_foreign_key_table": "",
               "fld_dyn_name": "",
               "fld_dyn_uid": "",
               "fld_filter": "0"
           }
        ]
     }
 ]

Get Report Table: GET project/{prj_uid}/report-table/{rep_uid}

Gets a specified Report Table.

GET /api/1.0/{workspace}/project/{prj_uid}/report-table/{rep_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
rep_uidStringReport table UID

Result:

TypeDescription
objectReturns a report table object

Example:

Response

 200 (OK)
 Content-Type: application/json
 [
    {
        "rep_uid": "12965606852f8dcf2154e21097825813",
        "rep_tab_name": "PMT_EJEMPLO",
        "rep_tab_description": "descripcion de la tabla",
        "rep_tab_class_name": "PmtEjemplo",
        "rep_tab_connection": "workflow",
        "rep_tab_type": "NORMAL",
        "rep_tab_grid": "",
        "rep_num_rows": 2,
        "fields":
        [
           {
               "fld_uid": "64688692552f8de120c57d0031739165",
               "fld_index": "0",
               "fld_name": "APP_UID",
               "fld_description": "APP_UID",
               "fld_type": "VARCHAR",
               "fld_size": "32",
               "fld_null": "0",
               "fld_auto_increment": "0",
               "fld_key": "1",
               "fld_foreign_key": "0",
               "fld_foreign_key_table": "",
               "fld_dyn_name": "",
               "fld_dyn_uid": "",
               "fld_filter": "0"
           }
        ]
     }
 ]

Populate Report Table: GET project/{prj_uid}/report-table/{rep_uid}/populate

Repopulates a Report Table with case data. This endpoint deletes the contents of a specified Report Table and then refills it with data from the cases. This endpoint can be called if the data in a Report Table gets out of sync with the data from the cases.

GET /api/1.0/{workspace}/project/{prj_uid}/report-table/{rep_uid}/populate

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
rep_uidStringReport table UID

Result:

TypeDescription
emptyNo return

Example:

Response

 200 (OK)

Get Report Table Data: GET project/{prj_uid}/report-table/{rep_uid}/data

Gets the data from a Report Table. Returns all the rows in a Report Table and a count of the number of rows.

GET /api/1.0/{workspace}/project/{prj_uid}/report-table/{rep_uid}/data

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
rep_uidStringReport table UID

Result:

TypeDescription
objectReturns an object containing data about the report table

Example:

Response

 200 (OK)
 Content-Type: application/json
 {
     "rows": [
        {
            "app_uid":    "16154487852d6e4a63e8974075801312",
            "app_number": "652",
            "app_status": "DRAFT",
            "name":       "Jane Doe",
            "address":    "2132 W. Oak Av.",
            "__index__":  "lqaeqZWWpJyooqbFmNGZ0aOnxpqlnKSdq5aanJajnqY"
        },
        {
            "app_uid": "29839101252b8a4f21dfb22075517639",
            "app_number": "647",
            "app_status": "DRAFT",
            "name":       "Joh Roe",
            "address":    "955 S. Birch St.",
            "__index__": "l6mlp5qTnJaioqbDms2Z1p+lxcjOl6Kdq5aXnZymoK0"
        }
     ],
     "count": 2
 }

Create Report Table: POST project/{prj_uid}/report-table

Creates a new Report Table.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

POST /api/1.0/{workspace}/project/{prj_uid}/report-table

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID

Required Fields:

Name Type Description
rep_tab_name String Report table name
rep_tab_dsc String Report table description
rep_tab_connection String Report table connection, possible values: "workflow", "rp" and database connection
rep_tab_type String Report table type, possible values: "NORMAL" or "GRID"
fields Array Columns in the report table. Check their variables in the following table.

Inside "fields" parameter, these are the required variables:

Name Type Description
fld_name String This variable is for the name of the field.
fld_label String This variable is for the label of the field.
fld_description String This variable is for the description of the field.
fld_type String This variable is for the type of the field, if it could be a "String", "Integer", etc.
fld_size Integer This variable is for the size of the field.

If you send an empty array you will create a Report Table with the default columns, those are the following:

Response

  ...
    "fields": [
        {
            "fld_uid": "4337807815b699dfe7235f9040768634",
            "fld_index": "0",
            "fld_name": "APP_UID",
            "fld_description": "APP_UID",
            "fld_type": "VARCHAR",
            "fld_size": "32",
            "fld_null": "0",
            "fld_auto_increment": "0",
            "fld_key": "1",
            "fld_table_index": "0"
        },
        {
            "fld_uid": "2791806115b699dfe812da4020621359",
            "fld_index": "1",
            "fld_name": "APP_NUMBER",
            "fld_description": "APP_NUMBER",
            "fld_type": "INTEGER",
            "fld_size": "11",
            "fld_null": "0",
            "fld_auto_increment": "0",
            "fld_key": "0",
            "fld_table_index": "0"
        },
        {
            "fld_uid": "2456566415b699dfe8b5820080052075",
            "fld_index": "2",
            "fld_name": "APP_STATUS",
            "fld_description": "APP_STATUS",
            "fld_type": "VARCHAR",
            "fld_size": "10",
            "fld_null": "0",
            "fld_auto_increment": "0",
            "fld_key": "0",
            "fld_table_index": "0"
        }
    ]
  ...

These columns are APP_UID, APP_NUMBER and APP_STATUS and their purpose is the following:

  • APP_UID: The case's unique ID. This value is used to obteined the case information. This field can NOT be removed from the report table.
  • APP_NUMBER: The case number. Report tables use this value to relate the case information with an individual case. This field can NOT be removed from the report table.
  • APP_STATUS: The case status. This field can be removed from the report table if desired.

Optional Fields:

NameTypeDescription
rep_tab_gridStringBase grid UID where the report table was generated.

Result:

TypeDescription
objectReturns an object containing data about the new repot table.

Example:

Request

 Content-Type: application/json
 [
    {
        "rep_tab_name" : "PMT_TABLE_TEST",
        "rep_tab_dsc" : "test",
        "rep_tab_connection" : "workflow",
        "rep_tab_type" : "NORMAL",
        "rep_tab_grid" : "",
        "fields":
            [
                {
                    "fld_name": "Text1",
                    "fld_label": "Text1",
                    "fld_description": "Text1",
                    "fld_type": "VARCHAR",
                    "fld_size": 255
                 },
                 {
                     "fld_name" : "Text2",
                     "fld_label": "Text2",
                     "fld_description": "Text2",
                     "fld_type" : "INTEGER",
                     "fld_size" : 10
                 }
            ]
     }
 ]

Response

 201 (Created)
 {
    "rep_uid": "72024958352f8f4b5b29e68065335979",
    "rep_tab_name": "PMT_TABLE_TEST",
    "rep_tab_description": "test",
    "rep_tab_class_name": "PmtTableTest",
    "rep_tab_connection": "workflow",
    "rep_tab_type": "NORMAL",
    "rep_tab_grid": "",
    "rep_num_rows": 2,
    "fields": [
                {
                    "fld_uid": "43224891252f8f4b5b3e7d5064126010",
                    "fld_index": "0",
                    "fld_name": "APP_UID",
                    "fld_description": "APP_UID",
                    "fld_type": "VARCHAR",
                    "fld_size": "32",
                    "fld_null": "0",
                    "fld_auto_increment": "0",
                    "fld_key": "1",
                    "fld_foreign_key": "0",
                    "fld_foreign_key_table": "",
                    "fld_dyn_name": "",
                    "fld_dyn_uid": "",
                    "fld_filter": "0"
                },
                {
                    "fld_uid": "88732448352f8f4b5b54e40018186789",
                    "fld_index": "1",
                    "fld_name": "APP_NUMBER",
                    "fld_description": "APP_NUMBER",
                    "fld_type": "INTEGER"
                    "fld_size": "11",
                    "fld_null": "0",
                    "fld_auto_increment": "0",
                    "fld_key": "0",
                    "fld_foreign_key": "0",
                    "fld_foreign_key_table": "",
                    "fld_dyn_name": "",
                    "fld_dyn_uid": "",
                    "fld_filter": "0"
                },
                {
                    "fld_uid": "28542848352f8f4b5b66c73025097960",
                    "fld_index": "2",
                    "fld_name": "APP_STATUS",
                    "fld_description": "APP_STATUS",
                    "fld_type": "VARCHAR",
                    "fld_size": "10",
                    "fld_null": "0",
                    "fld_auto_increment": "0",
                    "fld_key": "0",
                    "fld_foreign_key": "0",
                    "fld_foreign_key_table": "",
                    "fld_dyn_name": "",
                    "fld_dyn_uid": "",
                    "fld_filter": "0"
                },
                {
                    "fld_uid": "46525369552f8f4b5b7ce74071402298",
                    "fld_index": "3",
                    "fld_name": "Texto1",
                    "fld_description": "Texto1",
                    "fld_type": "VARCHAR",
                    "fld_size": "32",
                    "fld_null": "1",
                    "fld_auto_increment": "0",
                    "fld_key": "0",
                    "fld_foreign_key": "0",
                    "fld_foreign_key_table": "",
                    "fld_dyn_name": "",
                    "fld_dyn_uid": "",
                    "fld_filter": "0"
                },
                {
                    "fld_uid": "85085540252f8f4b5b90f02097502798",
                    "fld_index": "4",
                    "fld_name": "Texto2",
                    "fld_description": "Texto2",
                    "fld_type": "INTEGER",
                    "fld_size": "10",
                    "fld_null": "1",
                    "fld_auto_increment": "0",
                    "fld_key": "0",
                    "fld_foreign_key": "0",
                    "fld_foreign_key_table": "",
                    "fld_dyn_name": "",
                    "fld_dyn_uid": "",
                    "fld_filter": "0"
                }
            ]
 }

Update Report Table: PUT project/{prj_uid}/report-table/{rep_uid}

Updates a specified Report Table.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

PUT /api/1.0/{workspace}/project/{prj_uid}/report-table/{rep_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
rep_uidStringReport table UID

Required Fields:

NameTypeDescription
fieldsArrayColumns in the report table. Check their variables in the main table.

Optional Fields:

NameTypeDescription
rep_tab_dscStringReport table description

Result:

TypeDescription
emptyNo return

Example:

Request

 {
    "rep_tab_dsc" : "table description",
    "fields" : [
      {
          "fld_name" : "CAMPO",
          "fld_label" : "CAMPITO",
          "fld_type" : "VARCHAR",
          "fld_size" : 200
       }
    ]
 }

Response

 200 (OK)

Delete a Report Table: DELETE project/{prj_uid}/report-table/{rep_uid}

Deletes a Report Table.

Permission:

Users must have the PM_FACTORY permission assigned to their role to perform this action.

Structure:

DELETE /api/1.0/{workspace}/project/{prj_uid}/report-table/{rep_uid}

Parameters:

NameTypeDescription
workspaceStringWorkspace name
prj_uidStringProject UID
rep_uidStringReport table UID

Result:

TypeDescription
emptyNo return

Example:

Response

 200 (OK)