[AUTH] Add new object type AUTH - #849
Conversation
|
👋 Hi — I'm PR Bot, your SAP code review assistant. I'll automatically review your pull requests for code quality, security, and SAP compliance. Get an overview of what I do → What I do
Key commands
Configure me for your teamCreate {
"$schema": "https://devops-insights-pr-bot.cfapps.eu10-004.hana.ondemand.com/schema/pull_request_bot.json",
"features": {
"control_panel": false,
"summarize": {
"auto_generate_summary": true,
"auto_insert_summary": true,
"auto_run_on_draft_pr": true,
"use_custom_summarize_prompt": false,
"use_custom_summarize_output_template": false,
"excluded_paths": [],
"auto_exclude_authors": []
},
"review": {
"auto_generate_review": true,
"auto_run_on_draft_pr": false,
"use_custom_review_focus": false,
"excluded_paths": [],
"auto_exclude_authors": []
},
"sonar_fix": {
"enable": true,
"excluded_rules": []
},
"pipeline_fix": {
"enable": true
}
},
"excluded_paths": []
}
|
Control PanelHi, I'm an AI-powered Review Bot that helps you with summarizing and reviewing pull requests.
|
There was a problem hiding this comment.
This PR introduces the AUTH (Authorization Field) object type with several issues that need to be addressed before merging: the wrong header type is used (ty_header_60_src instead of ty_header_60 for a non-source DDIC object), both enum fields with no initial-value constant are missing $required, the README's file structure table is missing the example column link, and all four example JSON files are missing a trailing newline as required by the repository's .editorconfig.
PR Bot Information
Version: 1.29.33
- Review Focus Files:
- Event Trigger:
pull_request.opened - Correlation ID:
b050a540-9be4-11f1-9f2e-c1e6128bd17a - File Content Strategy: Full file content
- Agent Instructions:
- LLM:
anthropic--claude-4.6-sonnet
| "! <p class="shorttext">Header</p> | ||
| "! Header | ||
| "! $required | ||
| header TYPE zif_aff_types_v1=>ty_header_60_src, |
There was a problem hiding this comment.
Wrong Header Type: AUTH (Authorization Field) is not a source-code object, so ty_header_60_src is incorrect here.
ty_header_60_src is for source-code objects (CLAS, INTF, FUGR, PROG, etc.) and exposes the abapLanguageVersion enum with standard, keyUser, and cloudDevelopment values. Authorization Fields are DDIC non-source objects and should use ty_header_60 (supports standard + keyUser + cloud) or ty_header_60_no_abap_lv if the object has no ABAP language version concept at all.
The generated schema at lines 32–52 of auth-v1.json already shows abapLanguageVersion being emitted with standard/keyUser/cloudDevelopment enum values, which is the non-source set — so ty_header_60 is the correct choice. Consider replacing ty_header_60_src with ty_header_60.
| header TYPE zif_aff_types_v1=>ty_header_60_src, | |
| header TYPE zif_aff_types_v1=>ty_header_60, |
Double-check suggestion before committing. Edit this comment for amendments.
Please provide feedback on the review comment by checking the appropriate box:
- 🌟 Awesome comment, a human might have missed that.
- ✅ Helpful comment
- 🤷 Neutral
- ❌ This comment is not helpful
|
|
||
| File | Cardinality | Definition | Schema | Example | ||
| :--- | :--- | :--- | :--- | :--- | ||
| `<name>.auth.json` | 1 | [`zif_aff_auth_v1.intf.abap`](./type/zif_aff_auth_v1.intf.abap) | [`auth-v1.json`](./auth-v1.json) |
There was a problem hiding this comment.
README file structure table is missing the Example column link: The File Structure table header declares five columns (File | Cardinality | Definition | Schema | Example) but the data row only has four cells — there is no example file link in the last column. Every other README in the repo (e.g., clas/README.md) provides an example link. Please add the example file reference, e.g. [z_aff_example_auth_1.auth.json](./examples/z_aff_example_auth_1.auth.json).
| `<name>.auth.json` | 1 | [`zif_aff_auth_v1.intf.abap`](./type/zif_aff_auth_v1.intf.abap) | [`auth-v1.json`](./auth-v1.json) | |
| `<name>.auth.json` | 1 | [`zif_aff_auth_v1.intf.abap`](./type/zif_aff_auth_v1.intf.abap) | [`auth-v1.json`](./auth-v1.json) | [`z_aff_example_auth_1.auth.json`](./examples/z_aff_example_auth_1.auth.json) |
Double-check suggestion before committing. Edit this comment for amendments.
Please provide feedback on the review comment by checking the appropriate box:
- 🌟 Awesome comment, a human might have missed that.
- ✅ Helpful comment
- 🤷 Neutral
- ❌ This comment is not helpful
|
The structure and information in AFF are mainly based on the AUTH ADT editor. |
|
At first sight, this AFF seems to not have any overlap/common fields with SUSI/SUSH and TRAN. Is that correct? |
Yes, that's correct. |
GuilhermeSaraiva96
left a comment
There was a problem hiding this comment.
In general it looks pretty good!
| data_element TYPE c LENGTH 30, | ||
| "! <p class="shorttext">Organizational Level</p> | ||
| "! Organizational level information | ||
| org_level_info TYPE c LENGTH 120, |
There was a problem hiding this comment.
what are the possibles values for the organisational level? any description? I could only find in existing objects: Field is not defined as Organizational level.
There was a problem hiding this comment.
Also the text ‘Field cannot be defined as organizational level’ is possible (e.g. for auth field ACTVT) or ‘Field is defined as Organizational level with Variable $PLVAR.’ (e.g. for auth field PLVAR). The last text contains a variable part, in this example ‘$PLVAR’. This field will be read-only via configuration, but I can enhance the description.
| "! <p class="shorttext">Exit Function Module</p> | ||
| "! The authorization field uses an individual maintenance dialog that is implemented in the named function module | ||
| "! and overrides the standard maintenance dialog. | ||
| exit_function_module TYPE c LENGTH 30, |
There was a problem hiding this comment.
Could not find this field in ADT. How is this currently solved in ADT?
There was a problem hiding this comment.
Currently this information is concatenated to the text of one radio button in the section 'Maintenance Dialog', like “Authorization Maintenance using Exit Module F4_PFCG_SICF” for authorization field ICF_NODE. This field in AFF will be set to read only via configuration.
| "! <p class="shorttext">Search Help in Standard Maintenance Dialog</p> | ||
| "! Search help in standard maintenance dialog | ||
| "! $required | ||
| provide_search_help TYPE ty_search_help, |
There was a problem hiding this comment.
| provide_search_help TYPE ty_search_help, | |
| search_help TYPE ty_search_help, |
I think the verb 'provide' could be misleading as this field represents the configuration for the search help
| "exitFunctionModule": "F4_PFCG_SICF" | ||
| }, | ||
| "provideSearchHelp": { | ||
| "checkTable": "", |
There was a problem hiding this comment.
checkTable is not required and is empty -> delete field
| "checkTable": "", |
| }, | ||
| "maintenanceDialog": { | ||
| "typeOfMaintenanceDialog": "standard", | ||
| "exitFunctionModule": "", |
There was a problem hiding this comment.
| "exitFunctionModule": "", |
| }, | ||
| "maintenanceDialog": { | ||
| "typeOfMaintenanceDialog": "standard", | ||
| "exitFunctionModule": "" |
There was a problem hiding this comment.
| "exitFunctionModule": "" |
| "exitFunctionModule": "" | ||
| }, | ||
| "provideSearchHelp": { | ||
| "checkTable": "", |
There was a problem hiding this comment.
| "checkTable": "", |
| }, | ||
| "maintenanceDialog": { | ||
| "typeOfMaintenanceDialog": "standard", | ||
| "exitFunctionModule": "" |
There was a problem hiding this comment.
| "exitFunctionModule": "" |
|
|
||
| File | Cardinality | Definition | Schema | Example | ||
| :--- | :--- | :--- | :--- | :--- | ||
| `<name>.auth.json` | 1 | [`zif_aff_auth_v1.intf.abap`](./type/zif_aff_auth_v1.intf.abap) | [`auth-v1.json`](./auth-v1.json) | [`z_aff_example_auth_1.auth.json`](./examples/z_aff_example_auth_1.auth.json) |
React to comment of reviewer
No description provided.