Damit die QPPD-PP-Funktionalitäten in SAP Standard angebunden werden können, müssen Beziehungswissen angelegt werden, und am Arbeitsplan bzw. an der Stückliste zugeordnet werden. Jeweils eine Auswahlbedingung und eine Funktion, i.e. insgesamt 4 Objekte:

1 - Auswahlbedingung am Vorgang (bestimmt, ob der Vorgang relevant ist oder nicht)

2 - Funktion am Vorgang(schreibt die QPPD-Daten zurück)

3 - Auswahlbedingung an der Stucklistenkomponente (bestimmt, ob die Komponente relevant ist oder nicht)

4 - Funktion an der Stucklistenkomponente (schreibt die QPPD-Daten zurück)

Zusätzlich zu den Beziehungswissen müssen auch 4 Funktionsbausteine im Kundennamensraum angelegt werden. Eine Beispielimplementierung wird in der Funktionsgruppe /SCT/QP_PP mitgeliefert.

Die Funktionsbausteine bzw. Funktionsgruppe müssen im Kundennamensraum angelegt werden. Der Name ist frei.

1. Funktionsbausteine anlegen

  1. Transaktion SE80

  2. Funktionsgruppe  Z_QPPD_BZW anlegen

  3. Funktionsbaustein Z_QP_PP_CHECK_PLPO anlegen

  4. Die Funktionsbausteine für Beziehungswissen unterliegen eine vorgegebene Signatur:

  5. Für die Implementierung, Siehe Beispiele in der Funktionsgruppe  /SCT/QP_PP

image-20240604-120803.png

Hiermit ist der Rumpf der Funktionsbaustein für die Auswahlbedingung am Vorgang angelegt.

Diese Schritte wiederholen für:

  1. Funktion am Vorgang (Z_QP_PP_SET_PLPO)

  2. Auswahlbedingung an der Stucklistenkomponente (Z_QP_PP_CHECK_STPO)

  3. Funktion an der Stucklistenkomponente (Z_QP_PP_SET_STPO)

2. Funktion anlegen

  1. Transaktion CU65

  2. Die Funktion muss genau so heißen wie der Funktionsbaustein im vorigen Schritt

  3. Merkmale zuordnen (die Merkmale müssen in der Transaktion CT04 vorab angelegt werden)

  4. Funktion freigeben (Status = 1)

image-20240604-121034.pngimage-20240605-072648.pngimage-20240605-072700.png

Diese Schritte für die 3 restlichen Funktionen wiederholen.

3. Beziehung pflegen:

  1. Transaktion CU01

  2. Beziehung:  Z_QPPD_CHECK_PLPO

  3. <Enter>

  4. Bezeichnung:  Auswahl am Plan

  5. Beziehungsart  Auswahlbedingung

  6. Auf Dependency editor klicken

  7. Eingetragen im Dependency Editor für die Beziehung Z_QPPD_CHECK_PLPO wird folgendes:

    PFUNCTION Z_QP_PP_CHECK_PLPO( )

    Somit werden die Beziehung und die Funktion (bzw. der Funktionsbaustein) verheiratet.
    Der Code für die anderen Beziehungen könnte wie folgt aussehen (hier werden Merkmale aus der CT04 angesprochen, es sind exemplarisch Merkmalsnamen vorgegeben):
    Z_QPPD_SET_PLPO

    PFUNCTION Z_QP_PP_SET_PLPO(
    plpo_plnkn = MDATA $self.plpo_plnkn,
    plpo_vgw01 = $self.plpo_vgw01,
    plpo_vge01 = $self.plpo_vge01,
    plpo_vgw02 = $self.plpo_vgw02,
    plpo_vge02 = $self.plpo_vge02,
    plpo_steus = $self.plpo_steus,
    plpo_arbid = $self.plpo_arbid,
    plpo_vnr = $self.plpo_vnr
    )

Z_QPPD_CHECK_STPO

PFUNCTION Z_QP_PP_CHECK_STPO(
stpo_posnr = MDATA $self.stpo_posnr
)

Z_QPPD_SET_STPO

PFUNCTION Z_QP_PP_SET_STPO(
stpo_stlkn = MDATA $self.stpo_stlkn,
stpo_idnrk = $self.stpo_idnrk,
stpo_menge = $self.stpo_menge
)
  1. Beziehung freigeben (Status=1)

image-20240605-072712.pngimage-20240605-072723.pngimage-20240605-072733.png

Diese Schritte für die 3 restlichen Beziehungen wiederholen.

4. Beziehungen zuordnen

Die Beziehungen Z_QPPD_CHECK_PLPO und Z_QP_PP_SET_PLPO müssen mit der Transaktion CA02 an allen relevanten Vorgängen eines Arbeitsplans zugeorden werden.

Die Beziehungen Z_QPPD_CHECK_STPO und Z_QP_PP_SET_STPO müssen mit der Transaktion CS02 an allen relevanten Komponenten einer Stückliste zugeorden werden.

5. BADI Implementierung anlegen

Über einen Doppelklick auf die neu angelegt Enhancement Implementierung öffnet sich der Anlagedialog für eine BADI Implementierung:

BAdI Implementation

Description

Implementing Class

/SCT/QP_BADI_PP

description

/SCT/ZQP_CL_BADI_PP

image-20240605-072745.png

6. SAP Enhancement ist angelegt

image-20240605-072755.png