- 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>
42 lines
879 B
ABAP
42 lines
879 B
ABAP
FUNCTION {{p}}prd_scrap
|
|
IMPORTING
|
|
iv_quantity TYPE decfloat34
|
|
iv_scrap TYPE decfloat34
|
|
EXPORTING
|
|
ev_scrap_pct TYPE decfloat34
|
|
ev_severity TYPE string
|
|
CHANGING
|
|
cv_rework_qty TYPE decfloat34
|
|
EXCEPTIONS
|
|
invalid_quantity
|
|
scrap_too_high.
|
|
|
|
IF iv_quantity <= 0 OR iv_scrap < 0.
|
|
RAISE invalid_quantity.
|
|
ENDIF.
|
|
|
|
IF iv_scrap > iv_quantity.
|
|
RAISE scrap_too_high.
|
|
ENDIF.
|
|
|
|
ev_scrap_pct = round( val = iv_scrap / iv_quantity * 100
|
|
dec = 1
|
|
mode = cl_abap_math=>round_half_up ).
|
|
|
|
IF ev_scrap_pct = 0.
|
|
ev_severity = 'OK'.
|
|
ELSEIF ev_scrap_pct <= 5.
|
|
ev_severity = 'LOW'.
|
|
ELSEIF ev_scrap_pct <= 20.
|
|
ev_severity = 'HIGH'.
|
|
ELSE.
|
|
ev_severity = 'CRITICAL'.
|
|
ENDIF.
|
|
|
|
CASE ev_severity.
|
|
WHEN 'HIGH' OR 'CRITICAL'.
|
|
cv_rework_qty = iv_scrap.
|
|
ENDCASE.
|
|
|
|
ENDFUNCTION.
|