ERP/2.50/Developers Guide/Reference/Entity Model/ProductBOM
ProductBOM
The Bill of Materials defines those products that are generated from other products. A Bill of Material (BOM) is one or more Products or BOMs.
Available Quantity:
- Stored BOMs have to be created via "Production"
- The available quantity of a no
To the database table (M_Product_BOM) of this entity.
Properties
Note:
- Properties marked with a * are part of the Id of the Entity.
- Properties marked with a # are part of the Identifier of the Entity.
Property | Column | Constraints | Type | Description |
id* | M_Product_BOM_ID | Mandatory Max Length: 32 | java.lang.String | The Bill of Materials defines each product that are generated from other products. |
client | AD_Client_ID | Mandatory | ADClient | A Client is a company or a legal entity. You cannot share data between Clients. |
organization | AD_Org_ID | Mandatory | Organization | An organization is a unit of your client or legal entity - examples are store, department. You can share data between organizations. |
active | IsActive | Mandatory | java.lang.Boolean | There are two methods of making records unavailable in the system: One is to delete the record, the other is to de-activate the record. A de-activated record is not available for selection, but available for reporting. There are two reasons for de-activating and not deleting records:
(1) The system requires the record for auditing purposes. (2) The record is referenced by other records. E.g., you cannot delete a Business Partner, if there are existing invoices for it. By de-activating the Business Partner you prevent it from being used in future transactions. |
creationDate | Created | Mandatory | java.util.Date | The Created field indicates the date that this record was created. |
createdBy | CreatedBy | Mandatory | ADUser | The Created By field indicates the user who created this record. |
updated | Updated | Mandatory | java.util.Date | The Updated field indicates the date that this record was updated. |
updatedBy | UpdatedBy | Mandatory | ADUser | The Updated By field indicates the user who updated this record. |
lineNo# | Line | Mandatory | java.lang.Long | Indicates the unique line for a document. It will also control the display order of the lines within a document. |
product | M_Product_ID | Mandatory | Product | Identifies an item which is either purchased or sold in this organization. |
bOMProduct# | M_ProductBOM_ID | Mandatory | Product | The BOM Product identifies an element that is part of this Bill of Materials. |
bOMQuantity | BOMQty | Mandatory | java.math.BigDecimal | The BOM Quantity indicates the quantity of the product in its Unit of Measure (multiplication) |
description | Description | Max Length: 255 | java.lang.String | A description is limited to 255 characters. |
bOMType | BOMType | Max Length: 60 | java.lang.String | Type of Bill of Materials |
Java Entity Class
/* ************************************************************************* * The contents of this file are subject to the Openbravo Public License * Version 1.1 (the "License"), being the Mozilla Public License * Version 1.1 with a permitted attribution clause; you may not use this * file except in compliance with the License. You may obtain a copy of * the License at http://www.openbravo.com/legal/license.html * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU * All portions are Copyright (C) 2008-2010 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ */ package org.openbravo.model.common.plm; import org.openbravo.base.structure.ActiveEnabled; import org.openbravo.base.structure.BaseOBObject; import org.openbravo.base.structure.ClientEnabled; import org.openbravo.base.structure.OrganizationEnabled; import org.openbravo.base.structure.Traceable; import org.openbravo.model.ad.access.User; import org.openbravo.model.ad.system.Client; import org.openbravo.model.common.enterprise.Organization; import java.lang.Boolean; import java.lang.Long; import java.lang.String; import java.math.BigDecimal; import java.util.Date; /** * Entity class for entity ProductBOM (stored in table M_Product_BOM). * * NOTE: This class should not be instantiated directly. To instantiate this * class the {@link org.openbravo.base.provider.OBProvider} should be used. */ public class ProductBOM extends BaseOBObject implements Traceable, ClientEnabled, OrganizationEnabled, ActiveEnabled { private static final long serialVersionUID = 1L; public static final String TABLE_NAME = "M_Product_BOM"; public static final String ProductBOM = "ProductBOM"; public static final String PROPERTY_ID = "id"; public static final String PROPERTY_CLIENT = "client"; public static final String PROPERTY_ORGANIZATION = "organization"; public static final String PROPERTY_ACTIVE = "active"; public static final String PROPERTY_CREATIONDATE = "creationDate"; public static final String PROPERTY_CREATEDBY = "createdBy"; public static final String PROPERTY_UPDATED = "updated"; public static final String PROPERTY_UPDATEDBY = "updatedBy"; public static final String PROPERTY_LINENO = "lineNo"; public static final String PROPERTY_PRODUCT = "product"; public static final String PROPERTY_BOMPRODUCT = "bOMProduct"; public static final String PROPERTY_BOMQUANTITY = "bOMQuantity"; public static final String PROPERTY_DESCRIPTION = "description"; public static final String PROPERTY_BOMTYPE = "bOMType"; public ProductBOM() { setDefaultValue(PROPERTY_ACTIVE, true); setDefaultValue(PROPERTY_BOMQUANTITY, new BigDecimal(1)); setDefaultValue(PROPERTY_BOMTYPE, "P"); } @Override public String getEntityName() { return ProductBOM; } public String getId() { return (String) get(PROPERTY_ID); } public void setId(String id) { set(PROPERTY_ID, id); } public Client getClient() { return (Client) get(PROPERTY_CLIENT); } public void setClient(Client client) { set(PROPERTY_CLIENT, client); } public Organization getOrganization() { return (Organization) get(PROPERTY_ORGANIZATION); } public void setOrganization(Organization organization) { set(PROPERTY_ORGANIZATION, organization); } public Boolean isActive() { return (Boolean) get(PROPERTY_ACTIVE); } public void setActive(Boolean active) { set(PROPERTY_ACTIVE, active); } public Date getCreationDate() { return (Date) get(PROPERTY_CREATIONDATE); } public void setCreationDate(Date creationDate) { set(PROPERTY_CREATIONDATE, creationDate); } public User getCreatedBy() { return (User) get(PROPERTY_CREATEDBY); } public void setCreatedBy(User createdBy) { set(PROPERTY_CREATEDBY, createdBy); } public Date getUpdated() { return (Date) get(PROPERTY_UPDATED); } public void setUpdated(Date updated) { set(PROPERTY_UPDATED, updated); } public User getUpdatedBy() { return (User) get(PROPERTY_UPDATEDBY); } public void setUpdatedBy(User updatedBy) { set(PROPERTY_UPDATEDBY, updatedBy); } public Long getLineNo() { return (Long) get(PROPERTY_LINENO); } public void setLineNo(Long lineNo) { set(PROPERTY_LINENO, lineNo); } public Product getProduct() { return (Product) get(PROPERTY_PRODUCT); } public void setProduct(Product product) { set(PROPERTY_PRODUCT, product); } public Product getBOMProduct() { return (Product) get(PROPERTY_BOMPRODUCT); } public void setBOMProduct(Product bOMProduct) { set(PROPERTY_BOMPRODUCT, bOMProduct); } public BigDecimal getBOMQuantity() { return (BigDecimal) get(PROPERTY_BOMQUANTITY); } public void setBOMQuantity(BigDecimal bOMQuantity) { set(PROPERTY_BOMQUANTITY, bOMQuantity); } public String getDescription() { return (String) get(PROPERTY_DESCRIPTION); } public void setDescription(String description) { set(PROPERTY_DESCRIPTION, description); } public String getBOMType() { return (String) get(PROPERTY_BOMTYPE); } public void setBOMType(String bOMType) { set(PROPERTY_BOMTYPE, bOMType); } }