Ansicht
Dokumentation

CSAP_MAT_BOM_OPEN - API Stücklisten: Eröffnen Materialstückliste für Änderungen

CSAP_MAT_BOM_OPEN - API Stücklisten: Eröffnen Materialstückliste für Änderungen

ROGBILLS - Synchronize billing plans   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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

ALTERNATIVE
BOM_USAGE
CHANGE_NO
FL_NO_CHANGE_DOC
FL_WARNING
MATERIAL
O_STKO
PLANT
REVISION_LEVEL
T_DEP_DATA
T_DEP_DESCR
T_DEP_DOC
T_DEP_ORDER
T_DEP_SOURCE
T_STPO
VALID_FROM

Ausnahmen

ERROR

Funktionsgruppe

CSAP

ABAP Short Reference   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7286 Date: 20240523 Time: 125739     sap01-206 ( 67 ms )