-
Notifications
You must be signed in to change notification settings - Fork 78
[ABIQ] Add new object type ABIQ #745
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
a6dce2d
f3002fe
dca0724
7755a1f
bfb08bf
be38858
15d6a6c
3729a09
c6d2b9d
d946e6f
f359e08
e24e2e1
26e0511
1273b5f
47926c2
2c7770e
078da56
98d55a9
9b0dd9c
5983f0c
363cd0a
b2beddc
6ede36d
5dc3287
2369a4b
e9c0385
9363129
f85c75c
df0ffb2
820ddeb
e1a137c
1cca098
750fb1a
74ee2f1
43b3774
1270ccd
6857b41
8adff20
65c6740
dd7aac0
9a85dc4
d82098a
695d6d8
fec6ae9
ac08d6d
f3fece5
e3fc0a1
86da9bb
b09f92c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # Analytical Quick Action File Format | ||
|
|
||
| ## Object Type Information | ||
|
|
||
| Object Type | Description | Group | ||
| :--- | :--- | :--- | ||
| ABIQ | Analytical Quick Action | Others | ||
|
|
||
| ## File Structure | ||
|
|
||
| File | Cardinality | Definition | Schema | Example | ||
| :--- | :--- | :--- | :--- | :--- | ||
| `<name>.abiq.json` | 1 | [`zif_aff_abiq_v1.intf.abap`](./type/zif_aff_abiq_v1.intf.abap) | [`abiq-v1.json`](./abiq-v1.json) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,215 @@ | ||
| { | ||
| "$comment": "This file is autogenerated, do not edit manually, see https://github.com/SAP/abap-file-formats for more information.", | ||
| "$schema": "https://json-schema.org/draft/2020-12/schema", | ||
| "$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/abiq/abiq-v1.json", | ||
| "title": "Object Type ABIQ", | ||
| "description": "Object type ABIQ", | ||
| "type": "object", | ||
| "properties": { | ||
| "formatVersion": { | ||
| "title": "Format Version", | ||
| "description": "Format version", | ||
| "type": "string", | ||
| "const": "1" | ||
| }, | ||
| "header": { | ||
| "title": "Header", | ||
| "description": "Header", | ||
| "type": "object", | ||
| "properties": { | ||
| "description": { | ||
| "title": "Description", | ||
| "description": "Description of the ABAP object", | ||
| "type": "string", | ||
| "maxLength": 60 | ||
| }, | ||
| "originalLanguage": { | ||
| "title": "Original Language", | ||
| "description": "Original language of the ABAP object", | ||
| "type": "string", | ||
| "minLength": 2 | ||
| }, | ||
| "abapLanguageVersion": { | ||
| "title": "ABAP Language Version", | ||
| "description": "ABAP language version", | ||
| "type": "string", | ||
| "enum": [ | ||
| "standard", | ||
| "cloudDevelopment" | ||
| ], | ||
| "enumTitles": [ | ||
| "Standard", | ||
| "ABAP Cloud Development" | ||
| ], | ||
| "enumDescriptions": [ | ||
| "Standard", | ||
| "ABAP cloud development" | ||
| ], | ||
| "default": "standard" | ||
| } | ||
| }, | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "description", | ||
| "originalLanguage" | ||
| ] | ||
| }, | ||
| "generalInformation": { | ||
| "title": "General Information", | ||
| "description": "General information", | ||
| "type": "object", | ||
| "properties": { | ||
| "type": { | ||
| "title": "Type", | ||
| "description": "Type", | ||
| "type": "string", | ||
| "enum": [ | ||
| "llm", | ||
| "json", | ||
| "pal" | ||
| ], | ||
| "enumTitles": [ | ||
| "LLM", | ||
| "JSON", | ||
| "PAL" | ||
| ], | ||
| "enumDescriptions": [ | ||
| "LLM quick action", | ||
| "JSON quick action", | ||
| "PAL quick action" | ||
| ], | ||
| "default": "llm" | ||
| }, | ||
| "scope": { | ||
| "title": "Scope", | ||
| "description": "Scope", | ||
| "type": "string", | ||
| "enum": [ | ||
| "query", | ||
| "oneDataProvider", | ||
| "multipleDataProviders" | ||
| ], | ||
| "enumTitles": [ | ||
| "Query", | ||
| "One Data Provider", | ||
| "Multiple Data Providers" | ||
| ], | ||
| "enumDescriptions": [ | ||
| "Query", | ||
| "One data provider per page", | ||
| "Multiple data providers per page" | ||
| ], | ||
| "default": "query" | ||
| }, | ||
| "consumptionVisible": { | ||
| "title": "Consumption Visible", | ||
| "description": "Visible for consumption", | ||
| "type": "boolean" | ||
| } | ||
| }, | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "type", | ||
| "scope" | ||
| ] | ||
| }, | ||
| "promptDefinition": { | ||
| "title": "Prompt Definition", | ||
| "description": "Prompt definition (used when type is LLM)", | ||
| "type": "object", | ||
| "properties": { | ||
| "systemPrompt": { | ||
| "title": "System Prompt", | ||
| "description": "System prompt", | ||
| "type": "string" | ||
| }, | ||
| "userPrompt": { | ||
| "title": "User Prompt", | ||
| "description": "User prompt", | ||
| "type": "string" | ||
| }, | ||
| "resultSetRequired": { | ||
| "title": "Result Set Required", | ||
| "description": "Result set required", | ||
| "type": "boolean" | ||
| }, | ||
| "commentsRequired": { | ||
| "title": "Comments Required", | ||
| "description": "Comments required", | ||
| "type": "boolean" | ||
| }, | ||
| "outputType": { | ||
| "title": "Output Type", | ||
| "description": "Output type", | ||
| "type": "string", | ||
| "enum": [ | ||
| "notSet", | ||
| "html", | ||
| "cardChart" | ||
| ], | ||
| "enumTitles": [ | ||
| "Not Set", | ||
| "HTML", | ||
| "Card Chart" | ||
| ], | ||
| "enumDescriptions": [ | ||
| "Not set", | ||
| "HTML", | ||
| "Card chart" | ||
| ], | ||
| "default": "notSet" | ||
| } | ||
| }, | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "systemPrompt", | ||
| "userPrompt" | ||
| ] | ||
| }, | ||
| "jsonDefinition": { | ||
| "title": "JSON Definition", | ||
| "description": "JSON definition (used when type is JSON)", | ||
| "type": "object", | ||
| "properties": { | ||
| "jsonContent": { | ||
| "title": "JSON Content", | ||
| "description": "JSON content", | ||
| "type": "string" | ||
| } | ||
| }, | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "jsonContent" | ||
| ] | ||
| }, | ||
| "assignedQueries": { | ||
| "title": "Assigned Queries", | ||
| "description": "Assigned queries", | ||
| "type": "array", | ||
| "uniqueItems": true, | ||
| "items": { | ||
| "title": "Assigned Query", | ||
| "description": "Assigned query", | ||
| "type": "object", | ||
| "properties": { | ||
| "queryName": { | ||
| "title": "Query Name", | ||
| "description": "Query name", | ||
| "type": "string", | ||
| "maxLength": 30 | ||
| } | ||
| }, | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "queryName" | ||
| ] | ||
| } | ||
| } | ||
| }, | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "formatVersion", | ||
| "header", | ||
| "generalInformation" | ||
| ] | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| { | ||
| "formatVersion": "1", | ||
| "header": { | ||
| "description": "Example Quick Action", | ||
| "originalLanguage": "en" | ||
| }, | ||
| "generalInformation": { | ||
| "type": "llm", | ||
| "scope": "oneDataProvider", | ||
| "consumptionVisible": false | ||
| }, | ||
| "promptDefinition": { | ||
| "systemPrompt": "You are uniquely qualified to navigate, comprehend, and analyze the complex hierarchies of tabular financial data. Follow the instructions carefully.", | ||
| "userPrompt": "Analyze the review booket data... {result_set}", | ||
| "resultSetRequired": true, | ||
| "outputType": "html" | ||
| }, | ||
| "assignedQueries": [ | ||
| { | ||
| "queryName": "C_MYDUMMYQUERY" | ||
| } | ||
| ] | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,143 @@ | ||||||||||||||||||||||||||||||||||
| "! AFF type for the object ABIQ ( ABI Quick-Actions ) | ||||||||||||||||||||||||||||||||||
| INTERFACE zif_aff_abiq_v1 | ||||||||||||||||||||||||||||||||||
| PUBLIC. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| "! $values { @link zif_aff_abiq_v1.data:co_quick_action_type } | ||||||||||||||||||||||||||||||||||
| "! $default { @link zif_aff_abiq_v1.data:co_quick_action_type.llm } | ||||||||||||||||||||||||||||||||||
| TYPES ty_quick_action_type TYPE n LENGTH 2. | ||||||||||||||||||||||||||||||||||
| CONSTANTS: | ||||||||||||||||||||||||||||||||||
| BEGIN OF co_quick_action_type, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">LLM</p> | ||||||||||||||||||||||||||||||||||
| "! LLM quick action | ||||||||||||||||||||||||||||||||||
| llm TYPE ty_quick_action_type VALUE 1, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">JSON</p> | ||||||||||||||||||||||||||||||||||
| "! JSON quick action | ||||||||||||||||||||||||||||||||||
| json TYPE ty_quick_action_type VALUE 2, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">PAL</p> | ||||||||||||||||||||||||||||||||||
| "! PAL quick action | ||||||||||||||||||||||||||||||||||
| pal TYPE ty_quick_action_type VALUE 3, | ||||||||||||||||||||||||||||||||||
| END OF co_quick_action_type. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| "! $values { @link zif_aff_abiq_v1.data:co_quick_action_scope } | ||||||||||||||||||||||||||||||||||
| "! $default { @link zif_aff_abiq_v1.data:co_quick_action_scope.query } | ||||||||||||||||||||||||||||||||||
| TYPES ty_quick_action_scope TYPE n LENGTH 2. | ||||||||||||||||||||||||||||||||||
| CONSTANTS: | ||||||||||||||||||||||||||||||||||
| BEGIN OF co_quick_action_scope, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Query</p> | ||||||||||||||||||||||||||||||||||
| "! Query | ||||||||||||||||||||||||||||||||||
| query TYPE ty_quick_action_scope VALUE 1, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">One Data Provider</p> | ||||||||||||||||||||||||||||||||||
| "! One data provider per page | ||||||||||||||||||||||||||||||||||
| one_data_provider TYPE ty_quick_action_scope VALUE 2, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Multiple Data Providers</p> | ||||||||||||||||||||||||||||||||||
| "! Multiple data providers per page | ||||||||||||||||||||||||||||||||||
| multiple_data_providers TYPE ty_quick_action_scope VALUE 3, | ||||||||||||||||||||||||||||||||||
| END OF co_quick_action_scope. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| "! $values { @link zif_aff_abiq_v1.data:co_output_type } | ||||||||||||||||||||||||||||||||||
| "! $default { @link zif_aff_abiq_v1.data:co_output_type.not_set } | ||||||||||||||||||||||||||||||||||
| TYPES ty_output_type TYPE n LENGTH 2. | ||||||||||||||||||||||||||||||||||
| CONSTANTS: | ||||||||||||||||||||||||||||||||||
| BEGIN OF co_output_type, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Not Set</p> | ||||||||||||||||||||||||||||||||||
| "! Not set | ||||||||||||||||||||||||||||||||||
| not_set TYPE ty_output_type VALUE 0, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">HTML</p> | ||||||||||||||||||||||||||||||||||
| "! HTML | ||||||||||||||||||||||||||||||||||
| html TYPE ty_output_type VALUE 1, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Card Chart</p> | ||||||||||||||||||||||||||||||||||
| "! Card chart | ||||||||||||||||||||||||||||||||||
| card_chart TYPE ty_output_type VALUE 2, | ||||||||||||||||||||||||||||||||||
| END OF co_output_type. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| TYPES: | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Quick Action Definition</p> | ||||||||||||||||||||||||||||||||||
| "! Quick action definition | ||||||||||||||||||||||||||||||||||
| BEGIN OF ty_quick_action_definition, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Type</p> | ||||||||||||||||||||||||||||||||||
| "! Type | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| type TYPE ty_quick_action_type, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Scope</p> | ||||||||||||||||||||||||||||||||||
| "! Scope | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| scope TYPE ty_quick_action_scope, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Consumption Visible</p> | ||||||||||||||||||||||||||||||||||
| "! Visible for consumption | ||||||||||||||||||||||||||||||||||
| consumption_visible TYPE abap_bool, | ||||||||||||||||||||||||||||||||||
| END OF ty_quick_action_definition. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| TYPES: | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Prompt Definition</p> | ||||||||||||||||||||||||||||||||||
| "! Prompt definition | ||||||||||||||||||||||||||||||||||
| BEGIN OF ty_prompt_definition, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">System Prompt</p> | ||||||||||||||||||||||||||||||||||
| "! System prompt | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| system_prompt TYPE string, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">User Prompt</p> | ||||||||||||||||||||||||||||||||||
| "! User prompt | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| user_prompt TYPE string, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Result Set Required</p> | ||||||||||||||||||||||||||||||||||
| "! Result set required | ||||||||||||||||||||||||||||||||||
| result_set_required TYPE abap_bool, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Comments Required</p> | ||||||||||||||||||||||||||||||||||
| "! Comments required | ||||||||||||||||||||||||||||||||||
| comments_required TYPE abap_bool, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Output Type</p> | ||||||||||||||||||||||||||||||||||
| "! Output type | ||||||||||||||||||||||||||||||||||
| output_type TYPE ty_output_type, | ||||||||||||||||||||||||||||||||||
| END OF ty_prompt_definition. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| TYPES: | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">JSON Definition</p> | ||||||||||||||||||||||||||||||||||
| "! JSON definition | ||||||||||||||||||||||||||||||||||
| BEGIN OF ty_json_definition, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">JSON Content</p> | ||||||||||||||||||||||||||||||||||
| "! JSON content | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| json_content TYPE string, | ||||||||||||||||||||||||||||||||||
| END OF ty_json_definition. | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+94
to
+101
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What kind of JSON does this field contain? Wouldn't it be better, to include the schema of the JSON in here?
Suggested change
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The JSON needs to confirm to a pre-existing JSON-Schema. The Schema itself is available in the ABAP system. EDIT:
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
Sorry, something went wrong.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Somehow, I missed your comment, sorry. Yes, the schema looks quite complicated, and references/conditions are not yet supported by the AFF. How are these JSONs created? Are they generated by the system or do you plan to include some actions that allow the user to edit this field? @schneidermic0 any ideas?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
At the moment (SAP Developer Use-Case) they are written in JSON-Editor and uploaded. We are currently working on an Agent to generate these JSONs.
Yes, I agree. I was thinking only only of the Form-Based Editor so far. |
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| TYPES: | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Assigned Query</p> | ||||||||||||||||||||||||||||||||||
| "! Assigned query | ||||||||||||||||||||||||||||||||||
| BEGIN OF ty_assigned_query, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Query Name</p> | ||||||||||||||||||||||||||||||||||
| "! Query name | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| query_name TYPE zif_aff_types_v1=>ty_object_name_30, | ||||||||||||||||||||||||||||||||||
| END OF ty_assigned_query, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Assigned Queries</p> | ||||||||||||||||||||||||||||||||||
| "! Assigned queries | ||||||||||||||||||||||||||||||||||
| ty_assigned_queries TYPE SORTED TABLE OF ty_assigned_query WITH UNIQUE KEY query_name. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| TYPES: | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Object Type ABIQ</p> | ||||||||||||||||||||||||||||||||||
| "! Object type ABIQ | ||||||||||||||||||||||||||||||||||
| BEGIN OF ty_main, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Format Version</p> | ||||||||||||||||||||||||||||||||||
| "! Format version | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| format_version TYPE zif_aff_types_v1=>ty_format_version, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Header</p> | ||||||||||||||||||||||||||||||||||
| "! Header | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| header TYPE zif_aff_types_v1=>ty_header_60_cloud, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">General Information</p> | ||||||||||||||||||||||||||||||||||
| "! General information | ||||||||||||||||||||||||||||||||||
| "! $required | ||||||||||||||||||||||||||||||||||
| general_information TYPE ty_quick_action_definition, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Prompt Definition</p> | ||||||||||||||||||||||||||||||||||
| "! Prompt definition (used when type is LLM) | ||||||||||||||||||||||||||||||||||
| prompt_definition TYPE ty_prompt_definition, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">JSON Definition</p> | ||||||||||||||||||||||||||||||||||
| "! JSON definition (used when type is JSON) | ||||||||||||||||||||||||||||||||||
| json_definition TYPE ty_json_definition, | ||||||||||||||||||||||||||||||||||
| "! <p class="shorttext">Assigned Queries</p> | ||||||||||||||||||||||||||||||||||
| "! Assigned queries | ||||||||||||||||||||||||||||||||||
| assigned_queries TYPE ty_assigned_queries, | ||||||||||||||||||||||||||||||||||
| END OF ty_main. | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ENDINTERFACE. | ||||||||||||||||||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.