Ansicht
Dokumentation

CP_BD_DIRECT_INPUT_PLPO - Übernahme von Planpositionen im Direct Input Verfahren

CP_BD_DIRECT_INPUT_PLPO - Übernahme von Planpositionen im Direct Input Verfahren

Addresses (Business Address Services)   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Bearbeiten von Planvorgängen: CP_BD_DIR_INPUT_PLPO

Mit dem Funktionsbaustein können ein oder mehrere Vor- rsp. Untervorgänge bearbeitet werden. Voraussetzung hierzu ist, daß der Funktionsbaustein CP_BD_DIRECT_INPUT_PLNGR aufgerufen wurde. (Über diese wurden der Plantyp und die Plannummer festgelegt.)

Die Schnittstelle

Die Eingabeparameter

Die Eingabeparameter bestehen aus einer Tabelle von Elementen, die der Struktur PLPO_DI entsprechen. Die Tabellenelemente werden in aufsteigender Reihenfolge der Indizes abgearbeitet. Wird ein Eingabesatz als fehlerhaft abgelehnt, so berührt dies die Verarbeitung der Folgesätze nicht.

Die Struktur PLPO_DI enthält die Daten zur Bearbeitung eines Vorgangs rsp. eines Untervorgangs.

Zu jedem zu übernehmenden Vorgangs kann ein Aktivitätstyp angegeben werden:
H Mit diesem Aktivitätstyp kann ein Vorgang rsp. Untervorgang angelegt
werden. Beim Hinzufügen wird unterschieden, ob ein Vorgang mit oder
ohne Referenz auf einen Standardarbeitsplan angelegt wird. Erfolgt im
Feld VPLTY eine Angabe, so handelt es sich um eine Referenz.
V Hiermit kann ein Vorgang oder Untervorgang bearbeitet werden.
Vorgänge, die eine Referenz auf einen Standardarbeitsplan enthalten,
dürfen nicht bearbeitet werden.
L Hiermit kann ein Vorgang oder Untervorgang gelöscht werden.

Der Plantyp und die Plannummer werden über den Baustein CP_BD_DIRECT_INPUT_PLNGR bestimmt. Die Planalternative wird im Feld PLNAL, die Folge im Feld PLNFL angegeben.

Der Vorgang wird durch die Felder Vorgangsknoten (VORKN) und Vorgangsnummer (VORNR) spezifiziert. Eine Eindeutigkeit ist notwendig, wenn nur das Feld VORNR gefüllt ist. Bei einer Eingabe von beiden Feldern erfolgt die Bestimmung wie folgt: der Vorgang wird über das Feld VORKN ermittelt. Anschließend wird die dort vorgefundene Vorgangsnummer mit der Eingabe im Feld VORNR abgeglichen. Bei einem Unterschied wird der Satz als fehlerhaft abgewiesen und wie unter AUSGABEPARAMETER beschrieben behandelt.

Eine gleiche Behandlung findet bei dem Untervorgang mit den Feldern Untervorgangsnummer (UVORN) und Untervorgangsknoten (UVOKN) statt.

Soll ein Vorgang bearbeitet werden, so dürfen keine Angaben zum Untervorgang gemacht werden. Die entsprechenden Felder sind auf den Initialwert zu setzen. Die Planalternative und die Folge müssen spezifiziert werden. Diese Planelemente müssen vorhanden sein. Beim Ändern und beim Löschen gilt dasselbige für den Vorgang. Beim Hinzufügen kann eine Vorgangsnummer angegeben werden. Wird in diesem Fall ein Initialwert übergeben, so wird die Vorgangsnummer mit einem Defaultwert vorbelegt. Eine übergebene Knotennummer wird in diesem Fall ignoriert. Wird eine Vorgangsnummer beim Hinzufügen angegeben, so muß diese innerhalb der angegebenen Folge eindeutig sein.

Soll ein Untervorgang bearbeitet werden, so müssen Angaben zum Untervorgang gemacht werden. Die Planalternative, die Folge sowie der Vorgang, auf den sich der Untervorgang bezieht, müssen spezifiziert werden. Diese Planelemente müssen vorhanden sein. Beim Ändern und beim Löschen gilt dasselbige für den Untervorgang. Beim Hinzufügen muß eine Untervorgangsnummer angegeben werden. Eine übergebene Knotennummer wird in diesem Fall ignoriert. Die beim Hinzufügen angegebene Untervorgangsnummer muß innerhalb des angegebenen Vorgangs eindeutig sein.

Die übernommenen Daten werden in eine Dialogstruktur des entsprechenenden Planelementes übernommen. Der Inhalt eines Datenfeldes des Eingabesatzes wird nur dann übernommen, wenn es ein Feld gleichen Namens in der Dialogstruktur gibt. Vor der Übernahme wird die Dialogstruktur initialisiert und ähnlich der Dialogstruktur vorbelegt.

Alle Felder der Dialogstruktur werden, sofern es sich nicht um eine Referenz auf einen Standardarbeitsplan handelt, anschließend gegen das Dynpro 1200 in SAPLCPDO verprobt. Standardarbeitsplanreferenzen werden gegen das Dynpro 1080 in SAPLCPDO verprobt.

Es werden die Felder des Eingabesatzes übernommen, für die es ein entsprechendes Feld im Dynpro gibt, das eingabebereit ist. Nach der Übernahme wird geprüft, ob das entsprechende Feld in der Dialogstruktur ein Mußfeld ist.

Wenn ein Feld nicht übernommen werden soll, so kann dieser Sachverhalt in der Tabelle NULL_FIELD_TAB entsprechend der Struktur MFIELDRES angegeben werden.

Im Feld D_IND wird der Index bzgl. des Eingabesatzes angegeben. Im Feld FNAME wird der Feldname angegeben. Der Feldname muß als Präfix den Namen der Referenzstruktur des Eingabesatzes gefolgt von einem '-' enthalten.

(Bsp.: Soll das Feld LTXA1 aus der Struktur PLPOD_DI nicht übertragen werden, so muß 'PLPO_DI-LTXA1' im Feld FNAME enthalten sein.)

Wird ein Eingabesatz abgearbeitet, so wird mit dem Index des Eingabesatzes in der Tabelle NULL_FIELD_TAB versucht, die Felder zu ermitteln, die nicht übernommen werden sollen. Werden keine Felder gefunden, so wird dasselbe mit dem Index 0 versucht.

Das Feld TRANC wird nicht verwendet.

Die Ausgabeparameter

Zur Ausgabe des Fehlerprotokolls werden drei Parameter verwendet:

ERROR_DI ist eine Struktur entsprechend ERROR_DI und gibt für jeden Aufruf den Fehlerstatus zurück:
HIGH-MSGTY gibt den Fehlertyp mit der höchsten Priorität an, der angefallen ist. Die Fehlertypen in absteigender Priorität sind: A, E, W, I und S.
ERROR_FROM ist ein Index und verweist auf die erste Fehlernachricht in ERROR_TAB.
ERROR_TO ist ebenfalls ein Index und verweist auf die letzte Fehlernachricht.
OBJ deutet auf das bearbeitete Planelement das den Fehler verursacht hat. Im vorliegenden Fall ist OBJ mit 'O' gefüllt.
D_IND ist ein Index und verweist auf den Eingabesatz, der die Meldung verursacht hat. Wird die Struktur ERROR_DI als Gesamtfehlerindikator verwendet, so ist D_IND nicht gefüllt.

ERROR_DI_TAB ist eine Tabelle von Sätzen, die der Struktur ERROR_DI entsprechen. ERROR_DI_TAB ist ein Fehlerstatussatz bzgl. eines Eingabesatzes. Im vorliegenden Fall ist D_IND gefüllt und verweist auf den Eingabesatz, der die Meldung verursacht hat. Liegt für einen Eingabesatz kein Eintrag in der Tabelle vor, so wurde der Eingabesatz fehlerfrei bearbeitet und es wurde bzgl. der Abarbeitung keine Meldung erzeugt.

ERROR_TAB ist eine Tabelle die die Fehlermeldungen enthält.

Beispiel

Hinweise

Weiterführende Informationen





Parameter

ERROR_DI_EXP
ERROR_DI_TAB
ERROR_TAB
NULL_FIELD_TAB
PLPO_DI_TAB

Ausnahmen

NO_INZ

Funktionsgruppe

CPBD

General Material Data   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7473 Date: 20240523 Time: 122433     sap01-206 ( 143 ms )