- 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>
39 lines
760 B
ABAP
39 lines
760 B
ABAP
FUNCTION {{p}}repl_qty
|
|
IMPORTING
|
|
iv_stock TYPE decfloat34
|
|
iv_safety TYPE decfloat34
|
|
iv_lot_size TYPE decfloat34
|
|
iv_min_order TYPE decfloat34
|
|
EXPORTING
|
|
ev_order_qty TYPE decfloat34
|
|
ev_action TYPE string
|
|
EXCEPTIONS
|
|
invalid_input.
|
|
|
|
IF iv_lot_size < 0.
|
|
RAISE invalid_input.
|
|
ENDIF.
|
|
|
|
DATA lv_required TYPE decfloat34.
|
|
lv_required = iv_safety - iv_stock.
|
|
|
|
IF lv_required <= 0.
|
|
ev_order_qty = 0.
|
|
ev_action = 'NONE'.
|
|
RETURN.
|
|
ENDIF.
|
|
|
|
IF iv_lot_size > 0.
|
|
ev_order_qty = ( floor( lv_required / iv_lot_size ) + 1 ) * iv_lot_size.
|
|
ELSE.
|
|
ev_order_qty = lv_required.
|
|
ENDIF.
|
|
|
|
IF ev_order_qty < iv_min_order.
|
|
ev_order_qty = iv_min_order.
|
|
ENDIF.
|
|
|
|
ev_action = 'ORDER'.
|
|
|
|
ENDFUNCTION.
|