Sample KServer Reports: Difference between revisions
Jump to navigation
Jump to search
Intra>Pmorey No edit summary |
m (1 revision imported) |
(No difference)
|
Latest revision as of 13:00, 14 July 2023
Here are a few examples from Keystone showing some KServer reports. These examples show the complete endpoint syntax. The examples range from simple to complex.
A/R Salesperson List
This example is a basic report with the following features:
- Query on a single table
- Report supports active/inactive selection
- Report selection on one field
- Report supports two sequences
- Fields and labels specified
{ "URI": "/ARSalespersonList", "query": [ { "name": "ARSalespersonList", "table": "artslspn", "sql": "SELECT SP.* FROM ARTSLSPN SP", "params": [ { "name": "CLASS_NO", "field": "CLASS_NO", "filter": "range" }, { "name": "ACTIVE_FLAG", "field": "ACTIVE_FLAG" } ], "record": { "fields": [] } } ], "report": { "title": "A/R Salesperson List", "activefieldcount": 1, "selection": [ { "title": "Salesperson Id", "field": "CLASS_NO", "type": "lookup", "lookup": { "type": "ARSalesperson" } } ], "sequence": [ { "title": "Salesperson Id", "field": "CLASS_NO" }, { "title": "Name", "field": "DESCRIPTION" } ], "fields": [ { "field": "CLASS_NO", "label": "Sls Id" }, { "field": "DESCRIPTION", "label": "Name" }, { "field": "JOB_TITLE", "label": "Job Title" }, { "field": "PHONE_NO", "label": "Phone" }, { "field": "CELL_NO", "label": "Mobile" }, { "field": "FAX_NO", "label": "Fax" }, { "field": "EMAIL", "label": "Email" } ] } }
A/R Product Class List
This example is a slightly more complex report with the following features:
- Query on a single table
- Report supports active/inactive selection
- Report selection on two fields
- Report supports two sequences
- Report has two options, one hidden (setparam) and one visible (list)
- The setparam option is used to read a Keystone system option (in this case to determine if G/L is active)
- The list option is used to select between Summary/Detail report types
- Two report fields have calculated values
- The translate function converts a code value into a descriptive value
- Some fields only print when a condition is satisfied
- Several fields print only for the Detail report type
- The two G/L account fields print only for the Detail report type and only if G/L is active
{ "URI": "/ARProductClassList", "query": [ { "name": "ARProductClassList", "table": "artprcls", "sql": "SELECT PC.* FROM ARTPRCLS PC", "params": [ { "name": "CLASS_NO", "field": "CLASS_NO", "filter": "list" }, { "name": "PLANT_NO", "field": "PLANT_NO", "filter": "range" }, { "name": "ACTIVE_FLAG", "field": "ACTIVE_FLAG" }, { "name": "REPORT_TYPE", "proc": true }, { "name": "OPT_GL_ACTIVE", "proc": true } ], "record": { "fields": [] } } ], "report": { "title": "A/R Product Class List", "activefieldcount": 1, "selection": [ { "title": "Product Class", "field": "CLASS_NO", "type": "lookupchecklist", "lookup": { "type": "ARProductClass" } }, { "title": "Plant Id", "field": "PLANT_NO", "type": "lookup", "lookup": { "type": "ARPlant" } } ], "sequence": [ { "title": "Product Class", "field": "CLASS_NO" }, { "title": "Description", "field": "DESCRIPTION" } ], "options": [ { "title": "Opt G/L Active", "type": "setparam", "param": "OPT_GL_ACTIVE", "setparam": { "calc": "ne(sysopt('SYSTEM','GLActive','0'), '0')" } }, { "title": "Report Type", "type": "list", "param": "REPORT_TYPE", "list": { "items": [ { "title": "Summary", "value": "1" }, { "title": "Detail", "value": "2" } ] } } ], "fields": [ { "field": "CLASS_NO", "label": "Class" }, { "field": "DESCRIPTION", "label": "Description" }, { "field": "PLANT_NO", "label": "Plant" }, { "field": "SUBTOTAL", "label": "Subtot?" }, { "field": "STD_AUTO_QTY", "label": "Auto Qty", "calc": "translate([STD_AUTO_QTY], 'ARProdAutoQty')", "detail": { "condition": "in([REPORT_TYPE], '2')" } }, { "field": "STD_DEFAULT_QTY", "label": "Def Qty", "detail": { "condition": "in([REPORT_TYPE], '2')" } }, { "field": "STD_PRODUCT_TYPE", "label": "Prod Type", "calc": "translate([STD_PRODUCT_TYPE], 'ARProdType')", "detail": { "condition": "in([REPORT_TYPE], '2')" } }, { "field": "STD_STOCKED", "label": "Stock?", "detail": { "condition": "in([REPORT_TYPE], '2')" } }, { "field": "STD_UNIT_OF_MEASURE", "label": "U\/M", "detail": { "condition": "in([REPORT_TYPE], '2')" } }, { "field": "STD_TAX_CODE", "label": "Tx", "detail": { "condition": "in([REPORT_TYPE], '2')" } }, { "field": "WEIGHT_FLAG", "label": "Weight?", "detail": { "condition": "in([REPORT_TYPE], '2')" } }, { "field": "STD_SALES_GL", "label": "Sales Account", "detail": { "condition": "and([OPT_GL_ACTIVE], in([REPORT_TYPE], '2'))" } }, { "field": "STD_COSTOFSALES_GL", "label": "COGS Account", "detail": { "condition": "and([OPT_GL_ACTIVE], in([REPORT_TYPE], '2'))" } }, { "field": "NON_TAX_AMOUNT", "label": "NonTax Amt", "format": "#.00" } ] } }