Files

3.3 KiB

ADDED Requirements

Requirement: Charge-off reject metric SHALL be computed from five reject component columns

The system SHALL compute REJECT_TOTAL_QTY as the sum of five reject-related quantity columns.

Scenario: Reject total formula

  • WHEN a source record is transformed
  • THEN REJECT_TOTAL_QTY SHALL equal REJECTQTY + STANDBYQTY + QTYTOPROCESS + INPROCESSQTY + PROCESSEDQTY
  • THEN null component values SHALL be treated as zero

Requirement: Defect metric SHALL remain independent from reject total

The system SHALL compute DEFECT_QTY only from DEFECTQTY and SHALL NOT merge it into REJECT_TOTAL_QTY.

Scenario: Defect independence

  • WHEN a record has DEFECTQTY > 0 and reject component sum equals 0
  • THEN DEFECT_QTY SHALL be non-zero
  • THEN REJECT_TOTAL_QTY SHALL remain 0

Requirement: Yield-exclusion policy SHALL follow ERP exclusion table

The system SHALL use ERP_PJ_WIP_SCRAP_REASONS_EXCLUDE as the policy source for "not included in yield" scrap reasons.

Scenario: Enabled policy rows

  • WHEN exclusion policy is evaluated
  • THEN only rows with ENABLE_FLAG='Y' SHALL be considered exclusion rules

Scenario: Default exclusion behavior

  • WHEN include_excluded_scrap=false (default)
  • THEN source rows matching enabled exclusion reasons SHALL be excluded before computing yield-related metrics

Scenario: Optional inclusion override

  • WHEN include_excluded_scrap=true
  • THEN the same matched rows SHALL be included back into metric calculations

Requirement: Move-in denominator SHALL be deduplicated at event level

The system SHALL deduplicate MOVEIN_QTY by event key before rate calculations.

Scenario: Primary dedupe key

  • WHEN HISTORYMAINLINEID is present
  • THEN only one row per HISTORYMAINLINEID SHALL contribute MOVEIN_QTY

Scenario: Fallback dedupe key

  • WHEN HISTORYMAINLINEID is missing
  • THEN fallback dedupe key SHALL use a deterministic composite key from transaction context

Requirement: Reject and defect rates SHALL use the same deduplicated denominator

The system SHALL calculate percentage rates from deduplicated MOVEIN_QTY to ensure comparability.

Scenario: Reject rate formula

  • WHEN MOVEIN_QTY > 0
  • THEN REJECT_RATE_PCT SHALL equal REJECT_TOTAL_QTY / MOVEIN_QTY * 100

Scenario: Defect rate formula

  • WHEN MOVEIN_QTY > 0
  • THEN DEFECT_RATE_PCT SHALL equal DEFECT_QTY / MOVEIN_QTY * 100

Scenario: Zero denominator handling

  • WHEN MOVEIN_QTY = 0
  • THEN both rate fields SHALL return 0 and SHALL NOT raise divide-by-zero errors

Requirement: Reject share SHALL describe reject proportion within total loss

The system SHALL calculate reject share against combined reject and defect loss quantities.

Scenario: Reject share formula

  • WHEN REJECT_TOTAL_QTY + DEFECT_QTY > 0
  • THEN REJECT_SHARE_PCT SHALL equal REJECT_TOTAL_QTY / (REJECT_TOTAL_QTY + DEFECT_QTY) * 100

Requirement: Metric naming SHALL preserve semantic meaning across transformations

The system SHALL keep explicit names for charge-off reject and non-charge-off defect metrics.

Scenario: No ambiguous remapping

  • WHEN service or export fields are generated
  • THEN REJECT_TOTAL_QTY SHALL NOT be renamed to DEFECT_QTY
  • THEN DEFECT_QTY SHALL refer only to DEFECTQTY