- Static bundle checks (name length, seed type, reserved words, contract test classes, testclasses_file), local abaplint parser check before SAP, max_tokens, robust JSON parse - Runner: G2 for CDS views with parameters, contract_check detail in report - G0020 and G0013 fixed by review and revalidated (oracle 100, null 0) - Pilot results in docs/faz1-tasarim.md 11e; handover notes merged into CLAUDE.md and docs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
955 B
Plaintext
23 lines
955 B
Plaintext
@AccessControl.authorizationCheck: #NOT_REQUIRED
|
|
@EndUserText.label: 'Project effort'
|
|
define view entity {{P}}I_PROJ_EFFORT
|
|
as select from {{p}}proj as proj
|
|
inner join {{p}}asgn as asgn on asgn.proj_id = proj.proj_id
|
|
{
|
|
key proj.proj_id as proj_id,
|
|
proj.proj_name as proj_name,
|
|
count( * ) as assign_count,
|
|
sum( asgn.work_hours ) as total_hours,
|
|
sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) as total_cost,
|
|
case
|
|
when sum( cast( asgn.work_hours as abap.dec( 15, 2 ) ) * asgn.rate ) > proj.budget
|
|
then 'X'
|
|
else 'N'
|
|
end as over_budget
|
|
}
|
|
where asgn.status = 'A'
|
|
group by
|
|
proj.proj_id,
|
|
proj.proj_name,
|
|
proj.budget
|