Skip to content

Review rounds: release-floor and RAP fixes, Cloud checks, clearer samples - #92

Merged
oblomov-dev merged 9 commits into
mainfrom
claude/wonderful-thompson-1wb308
Oct 9, 2026
Merged

oblomov-dev merged 9 commits into
mainfrom
claude/wonderful-thompson-1wb308

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Summary

Bugs

  • 07 app_489_ws: RAISE SHORTDUMP (7.53+) is replaced by MESSAGE … TYPE 'X'. The package runs from 7.50, and abaplint does not report this statement.
  • RAP (03/04/05):
    • 13 failed COMMIT ENTITIES branches now ROLLBACK ENTITIES. Without it the LUW stays poisoned.
    • Bare commits now check FAILED.
    • sy-datum in Cloud packages is replaced by cl_abap_context_info.
    • 010 Activate now writes the popup's edits into the draft first.
    • Regenerate now also discards drafts that were never activated.
    • The demo reset stops when a delete was refused.
  • 06 locks (485/490):
    • The E_TABLE varkey now carries the client.
    • ENQUEUE_READ no longer filters on a garg with the wrong padding.
    • Back releases only its own view's lock.
    • The lock status text is truthful.
    • Navigation keeps the user's "End session" choice.
  • Guards: event-argument and MAPPED lookups no longer dump on a missing row (001, 002, 003, 005, 008, 010).
  • 313: the SmartTable was inside the SmartFilterBar (a Grid); it is now on the page.
  • LLM (10):
    • The HTTP client is closed on error.
    • Control characters are escaped as \u00XX, with the repo's first unit test include.
    • A non-UTF-8 response is caught.
  • Open SQL: backtick literals in WHERE are now wrapped in @( ).

Samples

  • 011: status update, so StatusChanged is actually raised.
  • Overview: a package with a sample that is not on the system names the branch to pull.
  • Buttons: "Reset Demo Data" (it deletes), plus refresh buttons, empty-table hints and "what to try" strips.
  • READMEs: setup steps and a note on the open SYSUUID_X16 Cloud question.
  • Titles: page titles and back buttons aligned.

Checks

  • create-package-branches: cloud-capable branches are also linted at Cloud.
  • check:released-api: non-Z objects in cloud packages are checked against the released list.
  • check:titles.
  • Branch builds regenerate SAMPLES.md and catalogue.json for their own package.
  • check-overview holds branch names to packages.json.
  • check-abapdoc catches detached "! blocks.
  • abaplint is bumped to ^2.120.71.

Open, needs a system or a maintainer decision (not changed here)

  • The RAP release floors of 03/04 (7.54) and 05 (7.56) look too low: view entities need 7.55; strict ( 2 ) and business events probably need 7.57. This is not verified on a system.
  • check:released-api warns that the src/05 UUID data elements use the domain SYSUUID_X16, which is not in the released list.
  • Z2UI5_T_SMPS_01 uses the SD data element VBELN_VA. Both of these need a re-export from a system.

Test plan

  • npm run check (all gates, including the new ones)
  • All 10 one-package branches built with build-package-branch.mjs and linted at their declared release, plus Cloud where cloud-capable; check-overview passed on each
  • On a system: 485/490 locks in SM12, 010 activate, 011 events, LLM transport
  • CI

🤖 Generated with Claude Code

https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1


Generated by Claude Code

claude added 9 commits October 8, 2026 21:37
- 07 app_489_ws: RAISE SHORTDUMP is 7.53+, the package runs from 7.50 -
  the APC handler did not activate below 7.53; MESSAGE ... TYPE 'X'
- 04 app_010: Activate dropped popup edits made since the last Save
  Draft; both events now write the draft first (draft_update)
- 06 app_490: title named table ZTEST instead of Z2UI5_T_SMPS_01
- 10 app_014/015: the answer tick sets START_TIMER's no-busy flag, so
  the busy feed is not covered by the global overlay after a second
- 05 README: event handler snippet uses the entity alias like the code
- check-abapdoc: report a "! block detached by a blank line or comment

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
- 04 data_trd data_delete: never-activated drafts exist only in the
  draft table and survived Regenerate; their keys are now read there
- 05 app_011: per-row status update, so the StatusChanged data event the
  README describes is actually raised by the samples
- 07 app_489, 08 app_487: backtick literal in an Open SQL WHERE as @( )
  (refused on a real system, see abap-check)
- 09 app_481/482: Go Back button visible only with an app to return to
- check-overview: scan every z2ui5_<xx>_smps_* object type, any case

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
- 03/04/05: 13 failed COMMIT ENTITIES branches never rolled back (the
  poisoned-LUW case); bare COMMIT ENTITIES in data_trv/data_trd now check
  FAILED and roll back
- 03/04: sy-datum (not readable in ABAP Cloud) replaced by
  cl_abap_context_info=>get_system_date( )
- 06 app_490: Back released every stacked lock at once (session off at
  each level); it now dequeues only its own view's lock, and a failed
  lock is reported instead of leaving silently
- 06 app_485/490: E_TABLE varkey carries the client of the client-
  dependent table; ENQUEUE_READ no longer filters on a garg with the
  wrong padding; rollback toast shows the locks actually released; the
  view is built before the first lock read
- build-package-branch: SAMPLES.md and catalogue.json regenerated for
  the branch's package, no dead links
- @abaplint/cli ^2.120.71

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
- create-package-branches: cloud-capable packages (runsOn /cloud/i, as
  read-packages.mjs decides) are also linted at abaplint version Cloud
- 003, 005, 008: event-argument table lookups guarded (unknown key
  dumped)
- 485, 486: navigation no longer forces the session back to stateful,
  the user's End session choice is kept; lock messages fall back to a
  text when sy-msgid is empty
- 490: lock keys seeded as 0001 so they stay four digits
- 03, 09 README: two statements that contradicted apps 001 and 484

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
- new check:released-api (also in CI): cloud-capable packages linted at
  Cloud with errorNamespace "." against the steampunk-2305 released list;
  src/10/01 and 10/03 are documented Standard/SDK-only. Open warning:
  src/05's UUID data elements use domain SYSUUID_X16, which is not in
  the released list - needs confirming on a Cloud system
- 313: the SmartTable was chained behind an end( ) and became content of
  the SmartFilterBar (a Grid); it is the page's own child again
- 001, 010: missing result rows can no longer dump
- 485, 486, 487: on_event runs only on event roundtrips
- llm_sm59: a non-UTF-8 response becomes z2ui5_cx_smps_llm instead of
  an uncaught codepage exception
- 487: keywords say mp3, not wav

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
- llm_cloud: the HTTP client is closed when execute( ) or the codepage
  conversion raises, not only on success
- llm_json string_escape: control characters below U+0020 other than
  tab/CR/LF written as \u00XX (a raw one made the provider answer 400);
  first unit test include of the repo (5 tests)
- 002, 005: reading the created travel from MAPPED no longer dumps when
  the row is missing after a successful save

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
- overview: a package with a sample missing on the system names the
  abapGit branch to pull and its README; check-overview holds the branch
  names to packages.json in both directions
- 005, 006, 010 + overview: "Generate Demo Data" deletes the user's
  travels/drafts - now "Reset Demo Data" with a tooltip saying so
- 007, 008, 009: refresh button, drafts from another tab show up
- empty-table hints in 005-012; "what to try" strips in 011, 485, 490
- 011: create/update failures show the business object's own message
- READMEs 01-06: setup steps (/DMO/ bindings, UI_PRODUCTLIST, button
  names), the open SYSUUID_X16 Cloud note, DEQUEUE_E_TABLE
- check-released-api: a clearer message when abaplint checked nothing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
- data_trv/data_trd data_reset: a refused delete no longer goes on to
  generate - it reports how many travels/drafts are still there
- 487, 490: page titles, Shell and back button like the other samples
- 485: shows whether SM12 holds the lock on Z100 and how often it was
  requested (the cumulative counter is not a lock count); the Rollback
  toast says released / still held / none
- overview: regenerate toast labels the RAP and RAP-with-draft halves
- 489_ws DESCRIPT typo, button texts in 487/490, README wording

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
- new gate check:titles (CI): the first Page after a Shell carries a
  literal title starting with `abap2UI5 - ` (headerless launchpad pages
  and the overview excepted); fixed 011, 012, 319 and 315's title
- 485: "Refresh lock status" throughout, stray "- (" in the title gone
- README workflow table and AGENTS gate list complete and de-duplicated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017djANPyp3d2DmqGu6Xnca1
@oblomov-dev
oblomov-dev merged commit da85c9a into main Oct 9, 2026
25 checks passed
@oblomov-dev
oblomov-dev deleted the claude/wonderful-thompson-1wb308 branch October 9, 2026 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants