K_UNITCOSTING_CREATE

K_UNITCOSTING_CREATE ist ein CO-Funktionsbaustein für die Kalkulation mit Mengenstruktur (Unit Costing). Er legt eine neue Kalkulation an, berechnet Material-, Fertigungs- und Gemeinkosten nach den Vorgaben der Kalkulationsvariante und liefert eine Kalkulationsnummer (KALNR) zurück.


CO-Funktionsbaustein

Je nach Szenario liest er Stücklisten und Arbeitspläne ein oder verarbeitet übergebene Einzelpositionen. Das Ergebnis wird in den CO-Tabellen abgelegt und kann z. B. in CK13N eingesehen oder programmgesteuert ausgelesen werden. Typisch gibst du Kalkulationsvariante, Datum und das zu kalkulierende Objekt an. Optional übergibst du eigene Positionen. Als Ergebnis bekommst du die KALNR und die berechnete Itemization.


REPORT z_test_k_unitcosting.

PARAMETERS: p_klvar TYPE rk70k-klvar OBLIGATORY,
            p_kadat TYPE rk70k-kadat OBLIGATORY,
            p_matnr TYPE mara-matnr,
            p_werks TYPE t001w-werks,
            p_save  AS CHECKBOX DEFAULT 'X'. "speichern ja/nein

DATA: lv_kalnr TYPE rk70k-kalnr,
      lv_rc    TYPE rk70k-rc,
      lt_post  TYPE STANDARD TABLE OF string, "Dummy für Tabellenparam
      lv_subrc TYPE sy-subrc.

CALL FUNCTION 'K_UNITCOSTING_CREATE'
  EXPORTING
    kuc_rk70k_klvar   = p_klvar
    kuc_rk70k_kadat   = p_kadat
    kuc_rk70k_matnr   = p_matnr
    kuc_rk70k_werks   = p_werks
    kuc_rk70k_save_flg = COND rk70k-save_flg( WHEN p_save = abap_true THEN 'X' ELSE space )
  IMPORTING
    kuc_rk70k_kalnr   = lv_kalnr
    ex_rc             = lv_rc
  TABLES
    kuc_posting       = lt_post
  EXCEPTIONS
    abnormal_end      = 1
    klvar_not_found   = 2
    popup_cancelled   = 3
    no_ref_possible   = 4
    OTHERS            = 5.

lv_subrc = sy-subrc.

IF lv_subrc = 0 AND lv_rc = 0.
  WRITE: / 'Kalkulation angelegt. KALNR:', lv_kalnr.
ELSE.
  WRITE: / 'Fehler. SY-SUBRC:', lv_subrc, 'RC:', lv_rc.
ENDIF.