Ansicht
Dokumentation

/MSG/4_PM_SET_OID - Suchhilfe Produktauswahl

/MSG/4_PM_SET_OID - Suchhilfe Produktauswahl

BAL Application Log Documentation   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Funktionsbaustein /MSG/4_PM_SET_OID gibt die Produkte für eine von 3 linear in Verbindung stehenden Produktmodellklassen in einer Auswahlliste aus. In FS-PM sind das Verkaufsprodukt (PV_PROD = 1), Produkt (PV_PROD = 2) und Elementarprodukt (PV_PROD = 3). Nach Auswahl in der Suchhilfe werden die gewählten Werte in die definierten Dynprofelder geschrieben.

Parameter

  • Import
  • PV_PROD,,

- 1 = oberste Ebene (FS-PM = Verkaufsprodukt)

- 2 = mittlere Ebene (FS-PM = Produkt)

- 3 = unterste Ebene (FS-PM = Elementarprodukt)

  • PV_LOB_ATTRNAME - Im msg.Produktmanager kann ein Klassenattribut definiert sein, welches die Zugehörigkeit eines Produkts zu einer Sparte identifiziert. Will man die Produktauswahl auf Produkte einer Sparte einschränken, so muss hier der Name des Attributs case-sensitive angegeben werden, z.B. 'LOB_CD'.

  • PV_LOB - Sparte, z.B. 'BASIS', ebenfalls case-sensitive

  • PV_CALCDATE - im Augenblick ohne Funktionalität, würde bei Aktivierung die Adapterstufe eines Produkts bestimmen

  • PV_RETFIELD - Name des Feldes in der Auswahlstruktur, das direkt zurückgeschrieben werden soll:

'OID' - Objekt-ID

'PRODUCTTEXT' - Bezeichnung des Produkts

'GEN_FROM' - Generationenanfangsdatum

'GEN_TO' - Generationenendedatum

  • PV_DYNPPROG - Name des aufrufenden Programms

  • PV_DYNPNR - Dynpronummer, in das geschrieben werden soll

  • PV_DYNPROFIELD - Dynprofeld, in das der Wert aus PV_RETFIELD geschrieben werden soll

  • PV_STEPL - Wenn die Suchhilfe aus einem Table Control aufgerufen wird, kann hier die Nummer der Zeile mitgeliefert werden. Der FB DYNP_GET_STEPL gibt die aktuelle Zeilennummer zurück. Es scheint aber auch so zu funktionieren.

  • PV_OID_VP - Produkt-ID des Objekts auf der obersten Ebene, funktioniert nicht mit PV_PROD = 1, da auf der obersten Ebene immer alle Produkte gezeigt werden. Mit PV_PROD = 2 würden nur alle Produkte der mittleren Ebene gezeigt werden, die auch mit PV_OID_VP in Relation stehen. Wird der Wert bei PV_PROD = 3 mitgeliefert, wird validiert, ob auch ein Produkt für die mittlere Ebene geliefert wurde. Wenn ja, wird geprüft, ob zwischen beiden auch eine Relation besteht.

  • PV_PM_CLASS_VP - Name der Produktmodellklasse auf der obersten Ebene (FS-PM = 'Verkaufsprodukt')

  • PV_GENDAT_VP - Generationendatum für Produkte der obersten Ebene. Ist das Datum initial, wird eine Auswahlliste ohne Generationendatum gezeigt. Ist das Datum gesetzt, wird eine Liste mit allen Produkten und Generationenstart und -endedatum angezeigt, die auch eine Generation besitzen, wo das Generationendatum gültig ist.

  • PV_OID_P - Produkt-ID eines Produktes der mittleren Ebene (FS-PM = 'Produkt'). Mit PV_PROD = 3 würden nur alle Produkte der untersten Ebene gezeigt werden, die auch mit PV_OID_VP in Relation stehen. Wird der Wert bei PV_PROD = 3 mitgeliefert, wird validiert, ob auch ein Produkt für die oberste Ebene geliefert wurde. Wenn ja, wird geprüft, ob zwischen beiden auch eine Relation besteht.

  • PV_PM_CLASS_P - Name der Produktmodellklasse auf der mittleren Ebene (FS-PM = 'Produkt')

  • PV_GENDAT_P - Generationendatum für Produkte der mittleren Ebene. Ist das Datum initial, wird eine Auswahlliste ohne Generationendatum gezeigt. Ist das Datum gesetzt, wird eine Liste mit allen Produkten und Generationenstart und -endedatum angezeigt, die auch eine Generation besitzen, wo das Generationendatum gültig ist.

  • PV_PM_CLASS_EP - Name der Produktmodellklasse auf der untersten Ebene (FS-PM = 'Elemetarprodukt')

  • PV_GENDAT_EP - Generationendatum für Produkte der untersten Ebene. Ist das Datum initial, wird eine Auswahlliste ohne Generationendatum gezeigt. Ist das Datum gesetzt, wird eine Liste mit allen Produkten und Generationenstart und -endedatum angezeigt, die auch eine Generation besitzen, wo das Generationendatum gültig ist.

  • Tabellen
  • DYNPFLD_MAPPING - Soll mehr als ein Wert aus der Suchhilfe in das Dynpro geschrieben werden, muss eine Mappingtabelle gefüllt werden. Beispielhaft wird hier der Wert der 2. Spalte 'Bezeichnung des Produktes' (F0002) in das Dynprofeld (ZZZ_PRODUKT-VPROD_TXT) übertragen.

DATA LS_MAPPING TYPE DSELC.

DATA LT_MAPPING TYPE TABLE OF DSELC.

REFRESH LT_MAPPING.

LS_MAPPING-fldname = 'F0002'.

LS_MAPPING-dyfldname = 'ZZZ_PRODUKT-VPROD_TXT'.

APPEND LS_MAPPING TO LT_MAPPING.,,,,

Beispiel

Aufruf für Verkaufsprodukt (oberste Ebene)

* Setzen des Wertemapping-Eintrags in Auswahl zu Feld auf Dynpro

REFRESH LT_MAPPING.

LS_MAPPING-fldname = 'F0002'.

LS_MAPPING-dyfldname = 'ZZZ_PRODUKT-VPROD_TXT'.

APPEND LS_MAPPING TO LT_MAPPING.

* Aufruf der Suchhilfe

CALL FUNCTION '/MSG/4_PM_SET_OID'

EXPORTING

PV_PROD = '1' <= steht hier für 'Verkaufsprodukt, wenn PV_PM_CLASS_VP entsprechend gesetzt ist

PV_LOB_ATTRNAME = 'LOB_CD'

PV_LOB = 'BASIS'

PV_RETFIELD = 'OID' <= Name des Feldes, dessen Wert aus Auswahl zurückgeliefert wird

PV_DYNPPROG = 'Z_TEST_SUCHH_DIALOG' <= Programmname

PV_DYNPNR = '100' <= Dynpronummer

PV_DYNPROFIELD = 'ZZZ_PRODUKT-VPROD' <= Name des Dyn.feldes, in dem der Wert gesetzt werden soll

PV_OID_VP = 'Z000000T19' <= OID des bisher gewählten Produktes, spielt keine Rolle bei Neuauswahl

PV_PM_CLASS_VP = 'Verkaufsprodukt'

PV_GENDAT_VP = '00000000'

PV_PM_CLASS_P = 'Produkt'

PV_OID_P = '1200000T19'

PV_GENDAT_P = '00000000'

PV_PM_CLASS_EP = 'Elementarprodukt'

PV_GENDAT_EP = '00000000'

TABLES

DYNPFLD_MAPPING = LT_MAPPING.

Hinweise

Weiterführende Informationen





Parameter

DYNPFLD_MAPPING
PV_CALCDATE
PV_DYNPNR
PV_DYNPPROG
PV_DYNPROFIELD
PV_GENDAT_EP
PV_GENDAT_P
PV_GENDAT_VP
PV_LOB
PV_LOB_ATTRNAME
PV_OID_P
PV_OID_VP
PV_PM_CLASS_EP
PV_PM_CLASS_P
PV_PM_CLASS_VP
PV_PROD
PV_RETFIELD
PV_STEPL

Ausnahmen

CACHE_NOT_INITIALIZED
NO_PM_MODEL_CLASS
NO_RELATION
TRANSLATION_MISSING

Funktionsgruppe

/SAPL4_PM_SELECTION

ROGBILLS - Synchronize billing plans   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8460 Date: 20240420 Time: 011020     sap01-206 ( 122 ms )