← Projelerim
TP
TEI Part Traceability Portal
Parts › Object Page
Backend Connected
DU

SAP Fiori Elements · ABAP OOP · CDS · OData V2

Her kritik parça için dijital bir kimlik kartı

Havacılık kalitesindeki parçalar için uçtan uca üretim & kalite izlenebilirliği — otomatik tolerans doğrulama, durum roll-up'ı ve e-posta uyarısı doğrudan backend'e gömülü.

3
Özel Z-Tablosu
7
Bağlı OData Action
2
ABAP OOP Sınıfı
1
CDS Raporlama View'ı
01

Her parçayı haftalar değil, saniyeler içinde izle

Havacılık üretiminde, teslimattan yıllar sonra arızalanan bir parçanın geçmişi anında geriye izlenebilmelidir — geçtiği her tezgah, çalıştıran her operatör, ölçen her muayene cihazı. Bu proje, standart SAP teknolojisi üzerinde bu izlenebilirlik sistemini uçtan uca kuruyor: üç ABAP tablosu, klasik bir OData V2 servisi, nesne yönelimli bir kalite motoru, CDS tabanlı bir raporlama katmanı ve neredeyse tamamen annotation'lardan üretilen bir Fiori Elements arayüzü.

Temel Soru

Bu parçayı hangi tezgah üretti, hangi operatör çalıştırdı, hangi CMM cihazı ölçtü — ve tüm ölçümler tolerans içinde miydi?

List Report — parça listesi ve kritiklik donut chart'ı
List Report — kritiklik dağılımı canlı donut chart ile
02

Neler kuruldu

  • Tam parça soy ağacı

    Hammadde, işleme operasyonları ve kalite muayene sonuçları tek bir parça kaydından bağlantılı ve sorgulanabilir.

  • Canlı kritiklik analitiği

    Kritiklik seviyesine göre parça dağılımını gösteren donut chart'lı List Report — gerçek sunucu taraflı GROUP BY ile hesaplanıyor, istemci taraflı yaklaşık değer değil.

  • Üç seviyeli onay / red

    Parça, operasyon ve tekil kalite ölçümü birbirinden bağımsız olarak imzalanabiliyor — bu bir kalite mühendisinin incelemesi, otomatik doğrulamadan ayrı.

  • Otomatik durum roll-up'ı

    Herhangi bir operasyon ya da ölçümün reddedilmesi anında üst parçayı reddedilmiş olarak işaretliyor. Manuel takip yok, kötü bir sonucu gizlemek mümkün değil.

  • Sadece saklama değil, tolerans zorlaması

    Özel bir ABAP OOP sınıfı, her yeni ölçümü gönderildiği anda Nominal ± Tolerans'a karşı kontrol ediyor.

  • Beklemesiz e-posta uyarısı

    Tolerans dışı bir sonuç, CL_BCS üzerinden kalite yöneticisine otomatik e-posta gönderiyor — sorunu önce birinin fark etmesi gerekmiyor.

  • CDS tabanlı birleşik zaman çizelgesi

    Bir CDS View, operasyon ve kalite olaylarını her parça için tek bir kronolojik akışta birleştiriyor, @OData.publish ile kendi OData servisi olarak yayınlanıyor.

Object Page üst bölüm — General Information
Object Page — General Information
Object Page alt bölüm — Operation History ve Quality Results
Object Page — Operation History & Quality Results
03

Ölçümden karara, otomatik olarak

Tüm projenin etrafında kurulduğu çekirdek döngü — tek bir Fiori action'ı tarafından tetikleniyor: SubmitQualityMeasurement.

1

Muayene mühendisi bir ölçüm girer

Boyut adı, nominal değer, artı/eksi tolerans ve gerçek ölçülen değer belirli bir parçaya karşı girilir.

2

ZCL_TEI_QUALITY_VALIDATOR kontrol eder

Saf bir ABAP OOP sınıfı, gerçek değeri Nominal ± Tolerans ile karşılaştırır — yan etkisi yok, sadece bir sonuç ve sapma miktarı döner.

3

Sonuca göre dallan

GEÇTİ

Sonuç "Pass" olarak kaydedilir. Başka bir şey olmaz.

KALDI

Parça durumu "Reddedildi"ye yükselir ve ZCL_TEI_QUALITY_NOTIFIER uyarı e-postasını gönderir.

Yeni Ölçüm Gir formu — tolerans dışı değer girişi
1. Ölçüm girilir (tolerans dışı)
sonra
Oluşan Fail sonucu ve parçanın Reddedildi durumu
2. Otomatik Fail + roll-up sonucu
Reddedilmiş bir parçanın Object Page görünümü
Roll-up sonrası: kırmızı durum + reddedilmiş alt satır aynı ekranda
04

Üç tablo, tek parça kaydı

Her parça, PART_ID ile bağlanan bire-çok operasyon geçmişi ve bire-çok kalite kontrolü taşır.

ZTEI_PART_MASTER
  • PART_ID (key)
  • PART_NO · DRAWING_NO · DESCRIPTION
  • MATERIAL_SPEC · CRITICALITY_LEVEL (A/B/C)
  • STATUS — OK / RJ
↑ 1 : N
ZTEI_OPER_LOG
  • OPERATION_SEQ (key)
  • OPERATION_TYPE · MACHINE_ID
  • OPERATOR_ID · START/END_DATE
  • OPER_RESULT — P / F
↑ 1 : N
ZTEI_QUAL_RESULT
  • TEST_SEQ (key)
  • DIMENSION_NAME · CMM_DEVICE_ID
  • NOMINAL / TOLERANCE / ACTUAL
  • QUAL_RESULT — P / F
SE11'de ZTEI_PART_MASTER tablo yapısı
SE11 — ZTEI_PART_MASTER alan yapısı
05

Neyle inşa edildi

Backend
KalemBileşenDetay
B-01SAP Gateway servisiOData V2, klasik SEGW — ZTEI_PART_SRV_SRV
B-02Kalite doğrulayıcıABAP OOP sınıfı, ZCL_TEI_QUALITY_VALIDATOR
B-03Uyarı bildiriciABAP OOP sınıfı + CL_BCS, e-posta gönderimi
B-04Birleşik raporlamaCDS View, @OData.publish, iki olay tipinin UNION'ı
Frontend
KalemBileşenDetay
F-01UI frameworkSAP Fiori Elements v2 — Analytical List Page + Object Page
F-02RuntimeSAPUI5 / OpenUI5 1.150.0, sap_horizon teması
F-03UI tanımıOData annotation'ları — UI.LineItem, UI.FieldGroup, UI.Chart, UI.DataFieldForAction
F-04Araçlar@sap/ux-ui5-tooling, @ui5/cli, Node.js
SEGW'de ZTEI_PART_SRV servis ağacı
SEGW — ZTEI_PART_SRV servis ağacı
SE24'te ZCL_TEI_QUALITY_VALIDATOR sınıfı
SE24 — ZCL_TEI_QUALITY_VALIDATOR
06

Tek zaman çizelgesi, iki olay tipi

Operasyonlar ve kalite kontrolleri yapısal olarak farklı tablolar — ama bir parçanın geçmişi için ikisi de sadece birer olay. Bir CDS UNION bu şekilde ele alıyor.

ZTEI_I_PART_TRACE_EVT.ddls.asddlsCDS
@OData.publish: true
define view ZTEI_I_PART_TRACE_EVT as
  select from ztei_oper_log as oper
    inner join ztei_part_master as part on part.part_id = oper.part_id
{
  key part.part_id      as PartId,
  key oper.operation_seq as EventSeq,
      'OPERATION'       as EventType,
      oper.operation_type as EventDescription,
      oper.start_date     as EventDate,
      oper.oper_result    as EventResult
}
union
  select from ztei_qual_result as qual
    inner join ztei_part_master as part on part.part_id = qual.part_id
{ key part.part_id as PartId, … 'QUALITY' as EventType … }
ADT'de CDS view Data Preview sonucu
ADT Data Preview — OPERATION + QUALITY olayları birleşik
07

Bilinen kısıtlar

E-posta gönderimi backend'in SAPconnect (SCOT) SMTP yapılandırmasına bağlı. Uyarı doğru şekilde oluşturulup kuyruğa alınıyor (SOST'ta doğrulanabilir) — izole bir deneme sisteminde son internet teslimatı adımı Internal Routing Error ile başarısız olabilir. Bir altyapı eksikliği, uygulama hatası değil.
Object Page'de henüz literal bir sap.m.Timeline bileşeni yok — Smart Template'in dokümante edilmemiş extensibility sınırlarına takıldı. Kronolojik veri bugün iki tablo ve CDS tabanlı birleşik olay servisi üzerinden tam olarak mevcut.
SOST'ta kuyruğa alınmış uyarı e-postası
SOST — kuyruğa alınmış otomatik uyarı e-postası

Uygulamalı bir SAP Fiori Elements · ABAP OOP · CDS öğrenme ve portföy projesi olarak geliştirilmiştir.