psdi.app.po

Class POLine

  • All Implemented Interfaces:
    java.rmi.Remote, PurchasingLineMboRemote, POLineRemote, MboConstants, MboRemote, MaxRemoteProxy


    public class POLine
    extends PurchasingLineMbo
    implements POLineRemote
    MBO to represent a Purchase Order Line in the MAXIMO System.
    POLines consist of individual items (materials), services or special order items that are to be purchased. Each Item number or service is unique and is identified by its description. The number of lines per purchase order is determined by the number of items or the number of services or both. Each line has its own quantity, unitcost, linecost and taxes. The sum of the linecosts of the lines is reflected on a field called "Pretax total" on the PO Header. One purchase order can have any number of lines.
  • Item Materials include costs associated with items used for work done on site by company's employees. A material line has item number associated with and the service flag is set to false.
  • Services include costs associated with any service provided by a vendor or contractor, such as repairs to asset. The service may be performed on or off site. The user specifies service purchases either in terms of a quantity and a unit cost, or as a single lump sum amount. A service line has no item number and storeroom associated with. It does have description for the service provided and the service flag is set to be true.
  • Special Order Items include costs associated with special order items used for work done on site by company's employees. Special Order Item line has an auto-generated item number associated with and the service flag is set to be false.
    The key attributes for this object are OrgId and POLineId.

    See Purchase Order Package description for a detalied description of the important classes in this package.
    The attributes in this object are as follows:


    Attribute Name Description
    CatalogCode Vendor's catalog or product list number. The default is taken from inventory.
    Category Indicates if the item on the line is either stocked , non-stocked or a special order part (STK, NS, SP)
    ChargeStore Indicates whether the cost of this line should be added to the asset.
    Conversion Filled based on the order unit. For example if the orderunit is a "BOX" the conversion factor is 250 indicating that the box has a 250 qty. If there is no orderunit, conversion is defaulted to 1.
    Description Description of the item or service of this POLine. Also accomodates a long description.
    EnterBy, EnterDate Name of the user who entered the PO and the date the PO was entered.
    AssetNum Asset to charge the cost of this line item.
    FinCtrlId Financial Control Identifier.
    GLCreditAcct Any refunds or credits from the vendor or storeroom go to this gl account.
    GLDebitAcct Code for the GL Account to be debited for this line item's cost.
    InspectionRequired Indicates wheteher this item requires inspection upon receipt.
    Issue Flag to indicate if the items being ordered should be directly issued to a work order or asset or location.
    ItemSetIDIdentifier of the itemset identifier for this object.
    ItemNum Identifier for the item number on the POLine.
    LineCost Cost of the line item calculated as qty * unitcost. For service lines, this field is directly entered by the user.
    LDKey Long Description Key. This is a link to text stored in the LongDescription table.
    LineCost2 LineCost in Base Currency2.
    LineTypeThe type of PO Line. It could be ITEM, MATERIAL, SERVICE or EXTERNAL type.
    LoadedCost Contains the sum of linecost, taxes and special charges
    Location Location where the item or service will be used. If a Work Order is entered, the location is taken from the corresponding Work Order.
    Manufacturer Code for the manufacturer who manufactures the item.
    ModelNum Manufacturer's model number for the item. It is defaulted from inventory.
    MRLineNum Line number of the Material Requisition from which the POLine was created. This Material Requisition was created in Desktop Requisitions.
    MRNum Material Requisition number that is linked to this POLine. The PO was created from an MR in desktop requisitions.
    OrderQty The number of units of the item that have been ordered. If this PR was generated from Inventory, the default is the reorder quantity calculated in inventory.
    OrderUnit Standard unit by which this item is ordered. If you are requisitioning an item that has an orderunit, that unit(such as dozen or box) is copied from the corresponding inventory record.
    OrgId Identifier of the organization for this Purchase Order line.
    PCardExpDate The date on which the Procurement card expires. Synonymous with the credit card expiration date. Crosses over from PRLine.PCardExpDate.
    PCardType Type of Procurement card. Example VISA, MASTERCARD etc.Crosses over from PRLine.PCardType.
    PCardNum The number on the Procurement card. Crosses over from PRLine.PCardNum.
    PCardVerification Procurement card verification value.
    PONum Identifier of the Purchase Order to which this line belongs.
    POLineNum The line number of this POLine. This is unique to every line in a set of POLines that belong to a PO.
    POLineId Unique identifier for every POLine in the database. Every POLine has a unique POLineId.
    ProrateCost Amount of special charges loaded on the line item.
    ProrateService Should cost of service be prorated (loaded) to line items cost when invoicing?
    ReceiptReqd Flag to indicate if a receipt is required for Invoice Matching.
    ReceiptsComplete Flag to indicate the receipts for the line are complete.
    ReceivedQty Quantity that has been received till date.
    ReceivedTotalCost The total cost that has been received till date.
    ReceivedUnitCost The unit cost of each commodity that was received.
    RefWOThe referenced work order number
    RejectedQty Number of items or special order parts that were rejected.
    Remark Any additional description, remarks that need to be specified for this POLine.
    ReqDeliveryDate Date on which the delivery is required.
    RequestedBy The LaborCode of the person who requested this POLine.
    Storeloc The storeroom location that currently stocks the item.
    SiteIdIdentifier of the site for this Purchase Order.
    Supervisor The LaborCode of the person who is the supervisor.
    TaskIDThe task id for the work order
    Tax1 Amount of Tax1 due on goods being purchased. Tax1 is added to the grand tax-total only if Inclusive1 is "Yes"
    Tax2 Amount of Tax2 due on goods being purchased. Tax2 is added to the grand tax-total only if Inclusive2 is "Yes"
    Tax3 Amount of Tax3 due on goods being purchased. Tax3 is added to the grand tax-total only if Inclusive3 is "Yes"
    Tax4 Amount of Tax4 due on goods being purchased. Tax4 is added to the grand tax-total only if Inclusive4 is "Yes"
    Tax5 Amount of Tax5 due on goods being purchased. Tax5 is added to the grand tax-total only if Inclusive5 is "Yes"
    Tax1Code The code associated with the Tax1. It is used to calculate the value of Tax1.
    Tax2Code The code associated with the Tax2. It is used to calculate the value of Tax2.
    Tax3Code The code associated with the Tax3. It is used to calculate the value of Tax3.
    Tax4Code The code associated with the Tax4. It is used to calculate the value of Tax4.
    Tax5Code The code associated with the Tax5. It is used to calculate the value of Tax5.
    Taxed Flag to indicate of the line can be taxed.
    UnitCost Cost of each unit on the POLine.
    VenDeliveryDate Estimated Delivery date by the Vendor.
    VendorPackCode The pack code of the product. It is the code of how the items will be packed. For example, BOX (12 to a box) or PALLET (30 to a pallet).
    VendorPackQuantity The quantity of the pack code. For example, pack code is "DOZEN", pack quantity is 12.
    VendorWarehouse Vendor warehouse that the product will come from.
    WoNum Work Order number for this line item. If a wonum is specified, MAXIMO takes information from the WorkOrder to fill in Location, Asset, GLDebitAcct fields since this PRLine is linked to the WorkOrder.
    POLALN1 thru POLALN5 Extra fields. Crosses over from PRLINE.PRLALN1 thru PRLINE.PRLALN5


    Last Update: March 22, 2002 - Ganesh - javadocs
See Also:
PO
    • Constructor Detail

      • POLine

        public POLine(MboSet ms)
               throws MXException,
                      java.rmi.RemoteException
        Construct the POLine
        Throws:
        MXException
        java.rmi.RemoteException
    • Method Detail

      • init

        public void init()
                  throws MXException
        initialize the poline. The following fields are always set to read only:

        • category
        • chargestore
        • contractrefid
        • contractrefrev
        • isdistributed
        • loadedcost
        • mrnum
        • mrlinenum
        • receiptscomplete
        • receivedqty
        • receivedtotalcost
        • receivedunitcost
        • rejectedqty
        • refwo


        • Chargestore, receiptreqd and prorateservice flag are editable only if it's a service line.
        • Issue on Receipt and Storeroom are read only for service and material lines.
        • The PO Line is read only if it is associated to a payment schedule.

        Overrides:
        init in class Mbo
        Throws:
        MXException
      • initFieldFlagsOnMbo

        public void initFieldFlagsOnMbo(java.lang.String attrName)
                                 throws MXException
        Description copied from class: Mbo
        The logic of setting the readonly and required field flags to the mbo. Any setting of the field flags that require expensive operation, such as database query should be moved from init() to this method. However, those which don't require steps such as fetching Mbos can be left in init(). You can group the logic for a few attributes together if logic of deciding their flag is the same, or in other words, can be handled at once.
        Overrides:
        initFieldFlagsOnMbo in class PurchasingLineMbo
        Throws:
        MXException
      • add

        public void add()
                 throws MXException,
                        java.rmi.RemoteException
        Add a new Purchase Order Line. Required Fields of the POLine are initialised in this method. The following fields are initialised with their respective values


        Attribute Name Attribute Value
        chargestore No
        conversion 1.0
        enterby Current User
        enterdate Current Date
        inspectionrequired No
        issue false
        linecost 0(zero)
        linecost2 No
        loadedcost No
        orderqty No
        polinenum Max of POLineNum in this set + 1
        polineid Unique key.
        proratecost 0(zero)
        prorateservice No
        receiptreqd No
        receiptscomplete No
        receivedtotalcost 0(zero)
        receivedunitcost 0(zero)
        rejectedqty 0(zero)
        requestedby 0(zero)
        tax1 thru tax5 0(zero)
        tax1code companies.tax1code
        tax2code companies.tax2code
        tax3code companies.tax3code
        tax4code companies.tax4code
        tax5code companies.tax5code
        taxed No
        unitcost 0(zero)
        Specified by:
        add in interface MboRemote
        Overrides:
        add in class Mbo
        Throws:
        MXException
        java.rmi.RemoteException
      • receiptComplete

        public void receiptComplete()
                             throws MXException,
                                    java.rmi.RemoteException
        Attempt to set receiptscomplete flag of the poline. This function is called by matrectrans and serverectrans when receite creation or approval reach to a step. They will ask PO to try if receiptsComplete flag can be set.
        Specified by:
        receiptComplete in interface POLineRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.receiptComplete()
      • updateWOAssetOnReceipt

        public void updateWOAssetOnReceipt(double cost)
                                    throws MXException,
                                           java.rmi.RemoteException
        Called by servrectrans and matrectrans to update the workorder related information
        Specified by:
        updateWOAssetOnReceipt in interface POLineRemote
        Parameters:
        loadedcost. -
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        psdi.app.po.POLine#updatePOPOLine(double)
      • delete

        public void delete(long accessmodifier)
                    throws MXException,
                           java.rmi.RemoteException
        This method is called to delete a poline.It deletes the poline after updating the tax values and totalcost for the corresponding po. If this POLine was derived from a PR amd if that PR is closed,the PR status is changed back to approved again.
        Any POCOST records associated with this POLine will also be deleted.
        Specified by:
        delete in interface MboRemote
        Overrides:
        delete in class Mbo
        Parameters:
        None -
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Mbo.delete(long)
      • undelete

        public void undelete()
                      throws MXException,
                             java.rmi.RemoteException
        This method undeletes a POLine that has been marked for deletion
        1. It added the linecost of the undeleted line to the Pretax total on the PO Header The pretax total field validation updates the total cost and also the base total cost.
        2. It also adds up the taxes to the PO header total Tax
        3. Please note that if PO is not the owner of this POLine then this method throws an exception because you cannot just get a POLine reference and call this method.You must go through th PO.
        Specified by:
        undelete in interface MboRemote
        Overrides:
        undelete in class Mbo
        Throws:
        MXApplicationException(po,OwnerMustBePO) - is thrown when the owner of the line being undeleted is not a PO.
        MXException
        java.rmi.RemoteException
      • canDelete

        public void canDelete()
                       throws MXException,
                              java.rmi.RemoteException
        This method is automatically called by the framework before delete() is called.The delete process stops if there are any exceptions thrown in this method POLine can be deleted if
        1. The status of the PO is Waiting for Approval
        2. If there are no receipts against this line
        Overrides:
        canDelete in class Mbo
        Throws:
        MXApplicationException(pr, - cannotDelete) is thrown when we try to delete a line from a PO which is is not waiting for approval.
        MXApplicationException(po, - hasReceipts) is thrown when we try to delete a POLine that has receipts against it.
        MXException
        java.rmi.RemoteException
      • appValidate

        public void appValidate()
                         throws MXException,
                                java.rmi.RemoteException
        This method is used to perform last minute validations and/or actions before saving the poline. derived method from Mbo.java. Validations:
        • check to ensure that at least an itemnum or description is entered if the line is not a 'SERVICE'.
        • if issue = 'N'(direct issue), a storeroom location is required.
        • if chargetostore = 'Y' the asset must be a rotating asset.
        • Based on a maxvar value check if the GL debit and credit accounts are required for this transaction.
        Actions:
        - if the line type is service and wonum is not null and prorateservice = 'N' update workorder's ESTSERVCOST with the loadedcost for the wonum.
        Overrides:
        appValidate in class PurchasingLineMbo
        Throws:
        MXApplicationException(po, - ItemOrDescIsRequired) is thrown when the POLine is a not a service line, yet does not have both the itemnum or description.
        MXApplicationException(po, - assetwolocglNull) is thrown when at least one of assetnum, location, wonum,  gldebitacct does not have a value
        MXApplicationException(po, - StoreLocIsNull) is thrown when this POLine is a direct issue and if the storeloc is null
        MXApplicationException(po, - AssetNumNull) is thrown when the chargestore flag is true but the POLine does not have an asset.
        MXException
        java.rmi.RemoteException
      • checkPOCostValidity

        public void checkPOCostValidity()
                                 throws MXException,
                                        java.rmi.RemoteException
        Checks if the POCost lines associated with this POLine have correct values for percentage and loadedcost. If the percentage is not equal to hundred but the sum of the loadedcosts are equal to that of the parent poline, the percentage on the last distribution line is increased so that the sum of the percentages on the distribution is 100. The loaded cost on the last line is adjusted so that the sum of the loadedcosts on the distribution matches the loadedcost on the POLine if the percentages total to 100.
        Specified by:
        checkPOCostValidity in interface POLineRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.checkPOCostValidity()
      • isServicePOLineByCost

        public boolean isServicePOLineByCost()
                                      throws MXException,
                                             java.rmi.RemoteException
        The method checks to find if the POLine that is a Service, has a linecost and no qty and unitcost and if so returns TRUE.
        Specified by:
        isServicePOLineByCost in interface POLineRemote
        Returns:
        returns true if the poline that is a service has a linecost - no quantity.
        Throws:
        MXApplicationException(po, - polinenotservice) is thrown when the POLine is not a service
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.isServicePOLineByCost()
      • doPOLineReceiptsExist

        public boolean doPOLineReceiptsExist()
                                      throws MXException,
                                             java.rmi.RemoteException
        Does this POLine have receipts? Checks if this is a material POLine or a service line. If this is a service line, it checks to see if there are any SERVRECTRANS records. If this is a material line it checks to see if there are any MATRECTRANS records. If either of them exist this method returns true, otherwise it returns false.
        Specified by:
        doPOLineReceiptsExist in interface POLineRemote
        Returns:
        returns true if receipts exist for this poline, false otherwise.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.doPOLineReceiptsExist()
      • save

        public void save()
                  throws MXException,
                         java.rmi.RemoteException
        This saves the POLine and all related Mbos
        Overrides:
        save in class Mbo
        Throws:
        MXException
        java.rmi.RemoteException
      • updateCost1s

        public void updateCost1s()
                          throws MXException,
                                 java.rmi.RemoteException
        This updates the POLine linecost1 and loadedcost1 fields with linecost1 = linecost * exchangerate and loadedcost1 = loadedcost * exchangerate
        Specified by:
        updateCost1s in interface POLineRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.updateCost1s()
      • setEditibilityFlags

        protected void setEditibilityFlags(boolean flag)
                                    throws MXException,
                                           java.rmi.RemoteException
        This method sets the editibilty flags for poline fields. called by init() and on status change of PO.
        Parameters:
        flag- - boolean for setting/clearing the readonly flag for poline fields.
        Throws:
        MXException
        java.rmi.RemoteException
      • setEditibilityFlagsForPndRev

        protected void setEditibilityFlagsForPndRev(boolean flag)
                                             throws MXException,
                                                    java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • setEditibilityFlagsForPndRevEdit

        protected void setEditibilityFlagsForPndRevEdit(boolean flag)
                                                 throws MXException,
                                                        java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • setApprEditibilityFlags

        protected void setApprEditibilityFlags(boolean doPOLineReceiptsExist,
                                               boolean flag)
                                        throws MXException,
                                               java.rmi.RemoteException
        Throws:
        MXException
        java.rmi.RemoteException
      • updateInvVendor

        public MboRemote updateInvVendor()
                                  throws MXException,
                                         java.rmi.RemoteException
        Update invvendor during aprove. If the item-vendor-modelnum-manufacturer combination is not in invVendor table, a new record will be added. Otherwise, the existing record will be updated. It updates
        • conversion
        • catalog codel
        • last cost
        • tax codes
        • last date
        Throws:
        MXException
        java.rmi.RemoteException
      • generateWO

        public void generateWO()
                        throws MXException,
                               java.rmi.RemoteException
        Generating required work orders when approving PO. Only direct request purchases (direct issue item POs) will generate required work orders. During approval PO prcoess, a work order will be generated for each job plan, if the ordered item defined as a work asset (JPASSETSPLINK) and the WoReqWhenPurch flag = Y. Only one work order will be created for each job plan regardless of the qty ordered. copy jpassetsplink.jpnum to Workorder.jpnum copy Jobplan.description to Workorder.description copy Poline.enterty to Workorder.reportedby copy Po.requireddate to Workorder.targstartdate set Workorder.targcompdate = targstartdate + estdur
        Throws:
        MXException
        java.rmi.RemoteException
      • skipCopyField

        protected boolean skipCopyField(MboValueInfo mvi)
                                 throws java.rmi.RemoteException,
                                        MXException
        This method overrides the skipCopyField() in the Mbo.Since this method takes the MboValueInfo as its parameter just check to see if this field needs to be copied or skipped.If this field does not need to be copied return true. The following is a list of fields that are not copied from the source POLine to the target POLine.
        1. enterby
        2. enterdate
        3. mrlinenum
        4. mrnum
        5. polineid
        6. ponum
        7. proratecost
        8. receiptscomplete
        9. receivedqty
        10. receivedtotalcost
        11. receivedunitcost
        12. rejectedqty
        13. reqdeliverydate
        14. requestedby
        15. vendeliverydate
        16. vendorpackcode
        17. vendorpackquantity
        18. vendorwarehouse
        Overrides:
        skipCopyField in class Mbo
        Parameters:
        - - The MboValueInfo object of the MboValue that needs to be copied.
        Returns:
        - True,if the field does not need to be copied.In all other cases return false.
        Throws:
        java.rmi.RemoteException
        MXException
      • loadSkipFieldCopyHashSet

        public static void loadSkipFieldCopyHashSet()
                                             throws MXException,
                                                    java.rmi.RemoteException
        The following is a list of fields that are not copied from the source POLine to the target POLine.
        1. enterby
        2. enterdate
        3. mrlinenum
        4. mrnum
        5. polineid
        6. ponum
        7. proratecost
        8. receiptscomplete
        9. receivedqty
        10. receivedtotalcost
        11. receivedunitcost
        12. rejectedqty
        13. reqdeliverydate
        14. requestedby
        15. vendeliverydate
        16. vendorpackcode
        17. vendorpackquantity
        18. vendorwarehouse
        The above fields are added to the hashset so that
        Throws:
        MXException
        java.rmi.RemoteException
      • getHashSet

        public static java.util.HashSet getHashSet()
                                            throws MXException,
                                                   java.rmi.RemoteException
        Return the skipFieldCopy HashSet.
        Returns:
        Throws:
        MXException
        java.rmi.RemoteException
      • afterAdd

        public void afterAdd()
                      throws MXException,
                             java.rmi.RemoteException
        Called right after the new POLine mbo is added to the POLineSet. It creates a new POCost Mbo using a relationship. The POCost Mbo has a percentage value set to 100. Since the linecost and the loadedcost dont have values yet, they are not copied over from the POLine.
        Throws:
        MXException
        java.rmi.RemoteException
      • initRelationship

        public void initRelationship(java.lang.String relationName,
                                     MboSetRemote mboSet)
                              throws MXException,
                                     java.rmi.RemoteException
        Called whenever a relationship is initailized or reset from this Mbo to another MboSet. The POCOST relationship is dealt with here.
        Overrides:
        initRelationship in class Mbo
        Throws:
        MXException
        java.rmi.RemoteException
      • canDistribute

        public void canDistribute()
                           throws MXException,
                                  java.rmi.RemoteException
        Determines if any POCost lines can be created for a POLine, based on certain business rules. Following are some of the rules.
        • The po line has to be saved before distributing costs.
        • Distribution lines cannot be created for a POLine if the POLine is not a direct issue.
        • Distribution lines cannot be created for a POLine if the POLine havs been partially or completely received.
        • If the PRORATESERVICE flag is set to yes on the POLine, the cost cannot be distributed.
        • The cost of the POLine cannot be distributed if receipts exist against this line.
        • The cost on the rotating items cannot be distributed.
        Specified by:
        canDistribute in interface POLineRemote
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.isServicePOLineByCost()
      • propagateKeyValue

        public void propagateKeyValue(java.lang.String keyName,
                                      java.lang.String keyValue)
                               throws MXException,
                                      java.rmi.RemoteException
        Set value for PONUM.
        Specified by:
        propagateKeyValue in interface MboRemote
        Overrides:
        propagateKeyValue in class Mbo
        Parameters:
        keyName - Should equal "PONUM" or else nothing will be propagated.
        keyValue - The new value of ponum.
        Throws:
        MXException
        java.rmi.RemoteException
      • calculateUnInvoicedQtyCost

        public double[] calculateUnInvoicedQtyCost()
                                            throws MXException,
                                                   java.rmi.RemoteException
        This method is use by the Invoice's Copy PO Line page to calculate the uninvoiced quantity and cost. The uninvoiced quantity/cost is calculated by subtracting the sum of all the invoicelines quantity/cost which have the same ponum and polinenum as of this po line. Invoices which are cancelled are not considered.
        Specified by:
        calculateUnInvoicedQtyCost in interface POLineRemote
        Returns:
        double[] Returns an array which has the calculted quantity as the first element and the calculated cost as the second element.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.calculateUnInvoicedQtyCost()
      • setVendorItem

        public void setVendorItem(boolean value)
                           throws MXException,
                                  java.rmi.RemoteException
        Set fromVendorItem variable. fromVendorItem indicates if the action is from Vendor Item page or not.
        Throws:
        MXException
        java.rmi.RemoteException
      • getVendorItem

        public boolean getVendorItem()
                              throws MXException,
                                     java.rmi.RemoteException
        Return true if the action is from Vendor Item page. Otherwise return false.
        Throws:
        MXException
        java.rmi.RemoteException
      • getValidateOrder

        public java.lang.String[] getValidateOrder()
        Validation Order for PRLine attributes.
        Overrides:
        getValidateOrder in class Mbo
      • isServiceType

        public boolean isServiceType()
                              throws MXException,
                                     java.rmi.RemoteException
        The method checks to find if the POLine is a Service or STDService type.
        Specified by:
        isServiceType in interface POLineRemote
        Returns:
        returns true if the poline is a service or stdservice type.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.isServiceType()
      • canCancelIfScheduleInvoice

        public void canCancelIfScheduleInvoice()
                                        throws MXException,
                                               java.rmi.RemoteException
        Cannot cancel the owner PO if there are polines with invoices created from payment schedules and in the staus of SCHED.
        Throws:
        MXException
        java.rmi.RemoteException
      • cancelScheduleInvoice

        public void cancelScheduleInvoice()
                                   throws MXException,
                                          java.rmi.RemoteException
        If the owner PO is cancelled, go ahead and cancel all the invoices that have been created for payment schedules belonging to its polines.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        POLine.canCancelIfScheduleInvoice()
      • deleteReservation

        public void deleteReservation()
                               throws MXException,
                                      java.rmi.RemoteException
        Delete the inventory reservations created by this POLine.
        Throws:
        MXException
        java.rmi.RemoteException
      • modify

        public void modify()
                    throws MXException,
                           java.rmi.RemoteException
        This called whenever a change is made to the attributes of a MBO. Set revstatus to Changed if POLine is modified.
        Overrides:
        modify in class Mbo
        Throws:
        MXException
        java.rmi.RemoteException
      • getInternalRevStatus

        public java.lang.String getInternalRevStatus()
                                              throws MXException,
                                                     java.rmi.RemoteException
        Get the internal representation of the POLine.REVSTATUS
        Returns:
        The internal REVSTATUS value.
        Throws:
        MXException
        java.rmi.RemoteException
      • checkInvUseStatus

        public void checkInvUseStatus()
                               throws MXException,
                                      java.rmi.RemoteException
        Check Inventory Usage status for Internal PO. If Inventory Usage is canceled status, PO could be canceled.
        Throws:
        MXException
        java.rmi.RemoteException
      • setReceiptQtyAndCostInfo

        public void setReceiptQtyAndCostInfo(double receivedQty,
                                             double rejectedQty,
                                             double receivedTotalCost,
                                             MboRemote po)
                                      throws MXException,
                                             java.rmi.RemoteException
        10-17510/10-16749
        Parameters:
        receivedQty -
        rejectedQty -
        receivedTotalCost -
        po -
        Throws:
        MXException
        java.rmi.RemoteException
      • isPOLineReceived

        public boolean isPOLineReceived()
                                 throws MXException,
                                        java.rmi.RemoteException
        If it's PNDREV, check the APPR POLine receivedtotalcost.
        Throws:
        MXException
        java.rmi.RemoteException
      • checkPOLineReceipts

        public void checkPOLineReceipts(int source)
                                 throws MXException,
                                        java.rmi.RemoteException
        Check POLine receipt status. Users cannot cancel or delete a received POLine (complete or partial received, returned, WINSP/WASSET inspection status, etc). Only exception is if VOIDRECEIPT exists for the POLine receipt.
        Parameters:
        source - to indicate where to call this method
        Throws:
        MXException
        java.rmi.RemoteException