<?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: Create production run</title>
    <para>
    In this screen you can create a new production run.
    </para>
    <section>
        <title>Create production run</title>
        <para>
           Select the product that needs to be manufactured. Set the quantity to produce and the start date.
           Subsequently set the warehouse and the routing ID. 
           Give the production run a name and optionally a description.
        </para>
    </section>
    <section>
        <title> </title>
        <para>
           Set the field for 'Create dependent production runs' to yes if you want the system to 
           automatically create the production runs of sub assemblies or components.
           
           Click the button 'Submit' to save the changes.
        </para>
    </section>
</section>