Feature: Add RuleSet data to transport requests (On-Premise)
Sequencing note: Implement this only after #88 is completed (Cloud / On-Premise split).
Depends on #88
Scope
Enable adding RuleSet-related table data from UI into an existing CTS transport request in on-premise systems.
UX draft (RAP/Fiori)
- Add bound action on RuleSet Object Page: Add to Transport.
- Action parameter dialog asks for
TransportRequest (required in MVP).
- Result shows request/task and per-object add status.
Backend draft
- Action handler resolves selected RuleSet and validates authorization.
- Build transport object list (
TABU) for:
ZASIS_RULESETHD (header row)
ZASIS_RULESETITM (all item rows for RuleSet)
- Insert entries into request via
TR_OBJECTS_INSERT.
- Return structured result (success/warnings/errors).
Sample (simplified)
METHOD add_ruleset_to_request.
DATA e071_tab TYPE STANDARD TABLE OF e071.
DATA e071k_tab TYPE STANDARD TABLE OF e071k.
APPEND VALUE e071(
pgmid = 'R3TR'
object = 'TABU'
obj_name = 'ZASIS_RULESETHD' ) TO e071_tab.
APPEND VALUE e071k(
pgmid = 'R3TR'
object = 'TABU'
objname = 'ZASIS_RULESETHD'
mastertype = 'TABU'
mastername = 'ZASIS_RULESETHD'
tabkey = zcl_zasis_transport_key=>build_rulesethd_tabkey( ruleset_id ) ) TO e071k_tab.
CALL FUNCTION 'TR_OBJECTS_INSERT'
EXPORTING
wi_order = transport_request
TABLES
wt_e071 = e071_tab
wt_e071k = e071k_tab
EXCEPTIONS
cancelled = 1
OTHERS = 2.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE zasis_cx_exc
EXPORTING textid = zasis_cx_exc=>transport_insert_failed.
ENDIF.
ENDMETHOD.
Validation and error handling
- Reject missing/invalid/non-modifiable request.
- Reject package/request mismatches.
- Report if object already assigned to conflicting open request.
- No silent partial failure; return per-item status.
Constraints
- On-Premise only.
- No auto-release/import in MVP.
- No Cloud implementation in this issue.
Acceptance criteria
- User can add one RuleSet (header + items) to specified open request from UI.
- Duplicate/conflict/request-state errors are surfaced clearly.
- Action response provides transport number and add results.
- Covered by tests for mapping + CTS integration behavior.
Related
Feature: Add RuleSet data to transport requests (On-Premise)
Depends on #88
Scope
Enable adding RuleSet-related table data from UI into an existing CTS transport request in on-premise systems.
UX draft (RAP/Fiori)
TransportRequest(required in MVP).Backend draft
TABU) for:ZASIS_RULESETHD(header row)ZASIS_RULESETITM(all item rows for RuleSet)TR_OBJECTS_INSERT.Sample (simplified)
Validation and error handling
Constraints
Acceptance criteria
Related