Variantenkonfiguration - funktion in Vorbedingung

BW, SRM, Berechtigung etc.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Variantenkonfiguration - funktion in Vorbedingung

Beitrag von comi_3 (ForumUser / 5 / 0 / 0 ) »
Hallo

ich möchte eine Funktion in eine Vorbedingung einbinden allerdings
finde ich keine Doku zur Syntax im Beziehungswissen
wer kann mir Hinweise zu Doku's oder gar ein Beispiel nennen

Vielen Dank

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von olli-x (Specialist / 166 / 0 / 1 ) »
Hallo,

mit Vorbedingungen hab ich noch nichts gemacht sondern mit Auswahlbedingung - aber ich kann mir nicht vorstellen, das dass Vorgehen sehr anders läuft...

Ich habe eine Beziehung Z_BEZIEHUNG mit folgendem Code:

Code: Alles auswählen.

 PFUNCTION z_test_cond( )

oder mit Übergabe von Merkmalen
 PFUNCTION z_test_cond
   (z_merkmal = $root.z_merkmal)  

alternativ:

 FUNCTION z_test_cond( )

oder mit Übergabe von Merkmalen
 FUNCTION z_test_cond
   (z_merkmal = $root.z_merkmal)  
 
In Transaktion CU65 wird die Funktion 'z_test_cond' angelegt und ggfs über die Schaltfläche Merkmale die Schnittstellenmerkmale eingetragen ( Übergabe- und Rückgabemerkmale).
Die Syntax in der Beziehung unterscheidet sich bei Übergabe- und Rückgabemerkmalen nicht.

Anschließend muss ein Funktionsbaustein angelegt werden, der den gleichen Namen wie die Funktion hat, die in der Transaktion CU65 angelegt wurde hat.

Schnittstelle dieses Bausteins:
Import:
GLOBALS TYPE CUOV_00
Tabellen:
QUERY LIKE CUOV_01
MATCH LIKE CUOV_01
Ausnahmen:
FAIL
INTERNAL_ERROR

Beim Aufruf mit PFUNCTION ist die Übergabestruktur GLOBALS gefüllt,
beim Aufruf mit FUNCTION nicht...

Wenn GLOBALS gefüllt ist, kann man über die Bausteine der Funktionsgruppen
CUFA - Variantenfunktionen - APIs Stammdaten oder
CULR - API für Prozeduren in Low Level Konfig.
auf die aktuellen Merkmalswerte zugreifen. Sehr nützlich, falls man in der Funktion z.B. erst zur Laufzeit weiß, welche Merkmale verprobt werden müssen...

Beispielcode, um einen Merkmalswert beim Auflösen des Arbeitsplanes zu ermitteln:

Code: Alles auswählen.

FUNCTION z_vgw_test_cond_olse.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(GLOBALS) TYPE  CUOV_00
*"  TABLES
*"      QUERY STRUCTURE  CUOV_01
*"      MATCH STRUCTURE  CUOV_01
*"  EXCEPTIONS
*"      FAIL
*"      INTERNAL_ERROR
*"----------------------------------------------------------------------
  TYPE-POOLS: cullt.

  DATA:  lv_val     TYPE  cullt_usr_val.

  CALL FUNCTION 'CULR_GET_VAL'
    EXPORTING
      instance                   = globals-root
      characteristic             = 'Z_MERKMAL'
    IMPORTING
      val                        = lv_val
    EXCEPTIONS
      unknown_instance           = 1
      unknown_characteristic     = 2
      multivalued_characteristic = 3
      not_found                  = 4
      internal_error             = 5
      OTHERS                     = 6.

  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

* Auswahlbedingung soll fehlschlagen, weil Bedingungen nicht erfüllt
*  -> Exception auslösen...
RAISE FAIL.

Die o.g. Funktionsgruppen enthalten auch Bausteine, um Merkmalswerte in die Konfiguration zu schreiben...

Alternativ ( Aufruf mit FUNCTION oder PFUNCTION )
Die Parametertabelle QUERY enthält alle in der Funktionsschnittstelle hinterlegten Übergabemerkmale mit aktuellem Wert.

In die Parametertabelle MATCH kann man die in der Funktionsschnittstelle hinterlegten Rückgabemerkmale mit aktuellem Wert ablegen

Zum Lesen aus QUERY kann man den Baustein 'CUOV_GET_FUNCTION_ARGUMENT' verwenden, zum schreiben in MATCH die Funktion 'CUOV_SET_FUNCTION_ARGUMENT'.


Ich hoffe das hilft weiter :D

Gruß,
Oliver

Beitrag von olli-x (Specialist / 166 / 0 / 1 ) »
Schnell noch eine Ergänzung,

die Übergabe der Merkmale beim Aufruf der Funktion kann variieren:
z.B.

Code: Alles auswählen.

 
FUNCTION z_test_cond 
   (z_merkmal = $self.z_merkmal) 

oder 

 FUNCTION z_test_cond 
   (z_merkmal = $parent.z_merkmal) 

oder  

FUNCTION z_test_cond 
   (z_merkmal = $root.z_merkmal) 
Genauso sieht bei der Verwendung der Struktur GLOBALS ( innerhalb der Funktion ) aus ... GLOBALS-PARENT, GLOBALS-SELF oder GLOBALS-ROOT...

Gruß,
Oliver

Seite 1 von 1

Vergleichbare Themen

0
Antw.
999
Views
ALE Variantenkonfiguration
von Thomas17 » 20.11.2012 09:25 • Verfasst in Basis
0
Antw.
1599
Views
Variantenkonfiguration FB:CUXM_GET_CONFIGURATION
von frankcc » 29.08.2012 07:57 • Verfasst in ABAP® für Anfänger
5
Antw.
6195
Views
Funktionsbausteine - FUNKTION/FUNKTION TOOL
von kafka » 06.02.2018 08:04 • Verfasst in ABAP® für Anfänger
5
Antw.
3371
Views
Funktion CO 24 ???
von Pinguincommander » 23.08.2013 08:38 • Verfasst in Material Management & Produktionsplanung
3
Antw.
1851
Views
Funktion 'PROCESS_STRINGS_FOR_PRINT'
von mip » 28.07.2008 17:32 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

FOR mit CORRESPONDING
Gestern von sap_enthusiast 11 / 1810
Netzplan drucken
Gestern von sap_enthusiast 2 / 175
SALV: Titel zu lang
vor 4 Tagen von ralf.wenzel 3 / 585
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1086
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 2995

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

FOR mit CORRESPONDING
Gestern von sap_enthusiast 11 / 1810
Netzplan drucken
Gestern von sap_enthusiast 2 / 175
SALV: Titel zu lang
vor 4 Tagen von ralf.wenzel 3 / 585
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1086
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 2995

Unbeantwortete Forenbeiträge

Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1086
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 3420
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 3293