Ansicht
Dokumentation
CSAP_MAT_BOM_CLOSE - API Stücklisten: Abschließen/Buchen Materialstückliste nach Änderungen
PERFORM Short Reference General Material DataDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Die Funktionsbausteine CSAP_MAT_BOM_OPEN, CSAP_BOM_ITEM_MAINTAIN und
CSAP_MAT_BOM_CLOSE bilden eine Einheit.
Mit dem Funktionsbaustein CSAP_MAT_BOM_OPEN wird eine Stückliste für Änderungen
eröffnet, d.h. die Stückliste wird mit dem entsprechenden Gültig-ab eingelesen und gesperrt.
Der Baustein liefert - falls beim Eröffnen kein Fehler aufgetreten ist - als Ergebnis eine Tabelle von Positionen und die Stücklistenkopfdaten zurück.
Nur wenn eine Stückliste ohne Fehler eröffnet wurde, können danach mit
dem Funktionsbaustein CSAP_BOM_ITEM_MAINTAIN einzelne Positionen be-
arbeitet werden.
Nach Abschluß der Änderungen oder nach fehlerhaftem CSAP_MAT_BOM_OPEN
muß auf jeden Fall mit dem Funktionsbaustein CSAP_MAT_BOM_CLOSE die Bearbeitung einer Stückliste
abgeschlossen werden, d.h. Änderungen werden gebucht und/oder die Stückliste wird entsperrt. Außerdem wird über den Funktionsbaustein CSAP_MAT_BOM_CLOSE das Protokoll abgeschlossen.
Einschränkungen:
- Derzeit kann immer nur eine Alternative bzw. Variante bearbeitet werden, d.h. wird dem Baustein CSAP_MAT_BOM_OPEN keine Alternative mit gegeben, so wird davon ausgegangen, daß die Alternative '01' bearbeitet werden soll.
- Es existiert derzeit noch kein Baustein für Änderungen an den Kopfdaten.
Zu beachten:
- Erscheint im Protokoll die Fehlermeldung 'Position ist nicht änderbar', so kann dies folgende Gründe haben:
- die Position ist zum Gültig-ab nicht gültig, sie läuft erst zu einem
späteren Zeitpunkt ein.
- die Position wurde zum gleichen Gültig-ab bereits mit einer anderen
Änderungsnummer bearbeitet.
- Der Positionstyp einer bereits existierenden Position kann nicht geändert werden.
- Soll eine Position gelöscht werden, so muß für die entsprechende Position das Löschkennzeichen gesetzt werden.
- Jede Position kann zwischen Eröffnung und Abschluß der Stückliste nur einmal bearbeitet werden.
Beispiel
*---- Feldleiste Stücklistenkopfdaten
data: begin of tstk2.
include structure stko_api02.
data: end of tstk2.
*---- Tabelle Stücklistenpositionen
data: begin of tstp2 occurs 0.
include structure stpo_api02.
data: end of tstp2.
*---- Tabellen für Beziehungswissen:
* Basisdaten
data: begin of tdep2_data occurs 0.
include structure dep_data.
data: end of tdep2_data.
* Beschreibung
data: begin of tdep2_descr occurs 0.
include structure dep_descr.
data: end of tdep2_descr.
* Source
data: begin of tdep2_source occurs 0.
include structure dep_source.
data: end of tdep2_source.
* Reihenfolge
data: begin of tdep2_order occurs 0.
include structure dep_order.
data: end of tdep2_order.
* Dokumentation
data: begin of tdep2_doc occurs 0.
include structure dep_doc.
data: end of tdep2_doc.
data: flg_warning like capiflag-warning.
*- Datenbankprotokoll eröffnen
call function 'CALO_INIT_API'
exceptions
log_object_not_found = 1
log_sub_object_not_found = 2
other_error = 3
others = 4.
*- Eröffnen der Stückliste für Änderungen
call function 'CSAP_MAT_BOM_OPEN'
exporting
material = 'MAT100'
plant = '0001'
bom_usage = '1'
* valid_from = '20.12.1996'
change_no = 'AE001'
importing
o_stko = tstk2
fl_warning = flg_warning
tables
t_stpo = tstp2
exceptions
error = 1.
loop at tstp2.
clear: tdep2_data,
tdep2_source,
tdep2_descr,
tdep2_order,
tdep2_doc.
refresh: tdep2_data,
tdep2_source,
tdep2_descr,
tdep2_order,
tdep2_doc.
case tstp2-item_no.
*---- Löschen der Position 0020
when '0020'.
tstp2-fldelete = 'X'.
Perform item_maintain.
*---- Mengenänderung für Position 0050
when '0050'.
tstp2-comp_qty = '3'.
perform item_maintain.
*---- Sourceänderung am Beziehungswissen zu Position 0060
when '0060'.
tdep2_source-line_no = '1'.
tdep2_source-line = 'Farbe = ''blau'''.
append tdep2_source.
perform item_maintain.
endcase.
endloop.
*- Neue Position ITEM_NODE und ITEM_COUNT müssen initial sein
clear tstp2.
clear: tdep2_data,
tdep2_source,
tdep2_descr,
tdep2_order,
tdep2_doc.
refresh: tdep2_data,
tdep2_source,
tdep2_descr,
tdep2_order,
tdep2_doc.
tstp2-item_no = '0070'.
tstp2-item_categ = 'L'.
tstp2-component = 'MAT600'.
tstp2-comp_qty = '3,000'.
tstp2-rel_prod = 'X'.
perform item_maintain.
call function 'CSAP_MAT_BOM_CLOSE'
importing
fl_warning = flg_warning
exceptions
error = 1.
*- Unterroutine
Form item_maintain.
call function 'CSAP_BOM_ITEM_MAINTAIN'
exporting
i_stpo = tstp2
importing
fl_warning = flg_warning
tables
t_dep_data =
t_dep_descr =
t_dep_order =
t_dep_source = tdep2_source
t_dep_doc =
exceptions
error = 1
others = 2.
endform.
Hinweise
Weiterführende Informationen
Parameter
FL_COMMIT_AND_WAITFL_WARNING
Ausnahmen
ERRORFunktionsgruppe
CSAPROGBILLS - Synchronize billing plans PERFORM Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7060 Date: 20240523 Time: 140240 sap01-206 ( 58 ms )