<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5.0" 
    xmlns:xl="http://www.w3.org/1999/xlink" 
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xsi:schemaLocation="http://docbook.org/ns/docbook ../../../../content/dtd/docbook.xsd"
    xmlns="http://docbook.org/ns/docbook">
    <title>Manufacturing: Manage Cost Component Calc Entries</title>
    <para>
    In this screen you can create new cost calculations and modify existing calculations.
    </para>
    <section>
    <title>Modify cost calculation</title>
    <para>
    The first part of the screen is to create a new cost calculation, or to modify an existing calculation.
    Click the  'Submit'-button to save the changes.
    Subsequently, the screen will be refreshed and the the modified details are shown in the lower part of the screen.
    </para>
    </section>
    <section>
    <title>Cost calculations overview</title>
    <para>
        This part of the screen shows the available cost calculations. Click the ID of cost calculation to modify it.
        Click the 'Delete'-button to remove a cost calculation.
    </para>
    </section>
</section>