All Superinterfaces:
BusinessObject, Cloneable, Comparable<SimpleItem>, ItemBase, MessageListHolder, Serializable, SimpleItem, StatusObject
All Known Subinterfaces:
CPQItem
All Known Implementing Classes:
CPQItemSalesDoc, ItemSalesDoc

public interface Item extends ItemBase, StatusObject
Represents the backend's view of the items of a shopping basket.
  • Field Details

    • DELIVERY_IN_STOCK

      static final String DELIVERY_IN_STOCK
      Return value for back-end Delivery meaning product can be delivered completely.
      See Also:
    • DELIVERY_PARTLY

      static final String DELIVERY_PARTLY
      Return value for back-end Delivery meaning product can be delivered partly.
      See Also:
    • DELIVERY_DELAYED

      static final String DELIVERY_DELAYED
      Return value for back-end Delivery meaning product delivery is delayed
      See Also:
    • DELIVERY_OUT_OF_STOCK

      static final String DELIVERY_OUT_OF_STOCK
      Return value for back-end Delivery meaning product can not be delivered
      See Also:
  • Method Details

    • createAlternativProductList

      AlternativeProductList createAlternativProductList()
      Creates a new AlternativProductListData.
      Returns:
      AlternativProductListData
    • getAlternativProductList

      AlternativeProductList getAlternativProductList()
      Returns the alternativProductList.
      Returns:
      AlternativProductListData
    • getBillingStatus

      BillingStatus getBillingStatus()
      returns the billing status of the item
      Returns:
      the actual billing statuts of the item
    • getOverallStatus

      OverallStatus getOverallStatus()
      Returns the overall status
      Returns:
      the overall item status
    • getParentHandle

      String getParentHandle()
      Returns the parentHandle, that is the handle of the parent, if the position is a sub position
      Returns:
      String the parentHandle
    • getPaymentTerms

      String getPaymentTerms()
      Get the payment terms.
      Returns:
      paymentTerms the payment terms set.
    • getPricingDate

      Date getPricingDate()
      Get the date which is used to calculate prices in IPC
      Returns:
      date relevant for pricing
    • getShippingStatus

      ShippingStatus getShippingStatus()
      Get The shipping status
      Returns:
      the shipping status of the item
    • getShipTo

      ShipTo getShipTo()
      Returns the shipTo associated with this item
      Returns:
      the shipTo to which this item will be shipped to
    • getSubstitutionReasonId

      String getSubstitutionReasonId()
      Returns the substitutionReasonId.
      Returns:
      String
    • getSystemProductId

      String getSystemProductId()
      Returns the systemProductId.
      Returns:
      String
    • isChangeAllowed

      boolean isChangeAllowed()
      Returns:
      true if the item can be changed
    • isCopiedFromOtherItem

      boolean isCopiedFromOtherItem()
      This method returns a flag, that indicates if the item is copied from another item, e.g. when an order is created from an order template If so, this flag might be used, to suppress things like campaign determination, etc. for the copied item.
      Returns:
      true if this item is copied from another item false else
    • isFreeGood

      boolean isFreeGood()
      Determines whether the item is a free good by checking the item usage.
      Returns:
      true, only if this item is a FreeGood
    • isFromCatalog

      boolean isFromCatalog()
      Indicates whether the item is originated from catalog.
      Returns:
      true if the item is from catalog; otherwise false.
    • isMergeSupported

      boolean isMergeSupported(Item toMerge)
      Checks whether this item can be merged with the given item.
      Parameters:
      toMerge - the item this item should be merged with
      Returns:
      true, only if this item can be merged with the given item
    • setAlternativProductList

      void setAlternativProductList(AlternativeProductList alternativProductList)
      Sets the alternativProductListData.
      Parameters:
      alternativProductList - The alternativProductList to set
    • setFromCatalog

      void setFromCatalog(boolean fromCatalog)
      Indicate whether the item is originated from catalog.
      Parameters:
      fromCatalog - should be set to true if the item originated from catalog
    • setParentHandle

      void setParentHandle(String parentHandle)
      Sets the parentHandle, that is the handle of the parent, if the position is a sub position
      Parameters:
      parentHandle - the new value for the parentHandle
    • setPaymentTerms

      void setPaymentTerms(String paymentTerms)
      Set the payment terms.
      Parameters:
      paymentTerms - the payment terms to be set.
    • setPricingDate

      void setPricingDate(Date pricingDate)
      set the date which is used to calculate prices in IPC
      Parameters:
      pricingDate - date which should be used for pricing
    • setShipTo

      void setShipTo(ShipTo shipTo)
      Sets the shiptTo for this item.
      Parameters:
      shipTo - shipTo to which the item will be shipped
    • setSubstitutionReasonId

      void setSubstitutionReasonId(String substitutionReasonId)
      Sets the substitutionReasonId.
      Parameters:
      substitutionReasonId - The substitutionReasonId to set
    • setSystemProductId

      void setSystemProductId(String systemProductId)
      Sets the systemProductId.
      Parameters:
      systemProductId - The systemProductId to set
    • setRejectionCode

      void setRejectionCode(String rejection)
      Sets rejection/cancellation reason for the order.
      Parameters:
      rejection - cancellation reason (key)
    • getRejectionCode

      String getRejectionCode()
      Gets rejection/cancellation reason for the order.
      Returns:
      cancellation reason (key)
    • getQuantityToPay

      BigDecimal getQuantityToPay()
      This getter is dependent on the quantity and the free quantity of this product.
      Returns:
      the quantity that must be paid
    • setCopiedFromOtherItem

      void setCopiedFromOtherItem(boolean isCopiedFromOtherItem)
      This method sets a flag, that indicates if the item is copied from another item, e.g. when an order is created from an order template If so, this flag might be used, to suppress things like campaign determination, etc. for the copied item.
      Parameters:
      isCopiedFromOtherItem - true when item is copied
    • getProcessingStatus

      ProcessingStatus getProcessingStatus()
      Get the processing status of the sales document item. The processing status equates GBSTA field in ERP back end
      Used for the definition of possible cancellation
      Returns:
      BusinessStatus
    • setProcessingStatus

      void setProcessingStatus(ProcessingStatus processingStatus)
      Get the processing status of the sales document item. The processing status equates GBSTA field in ERP back end
      Parameters:
      processingStatus - ProcessingStatus
    • applyAlternativeProduct

      void applyAlternativeProduct(TechKey productGUID, String productID) throws CommunicationException
      Apply alternative product, e.g. product to be substituted with .
      Parameters:
      productGUID - GUID of the applied product
      productID - ID of the applied product
      Throws:
      CommunicationException - in case of an back-end error
    • isSubItem

      boolean isSubItem()
      Indicates whether the item is a subitem (has a parent) or not
      Returns:
      true if subitem