001/* 002 * Copyright 2006-2008 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.ole.module.purap.document.service; 017 018import org.kuali.ole.module.purap.document.PurchaseOrderDocument; 019import org.kuali.ole.vnd.businessobject.ContractManager; 020 021/** 022 * These items will allow a user to send Purchase Orders electronically to vendors 023 */ 024public interface B2BPurchaseOrderService { 025 026 /** 027 * Send the Purchase Order 028 * 029 * @param po 030 * @return Response 031 */ 032 public String sendPurchaseOrder(PurchaseOrderDocument po); 033 034 /** 035 * Returns the cxml of the Purchase Order for electronic transmission to the vendor 036 * 037 * @param purchaseOrder PurchaseOrderDocument - PO data 038 * @param requisitionInitiator Person - user that created the Requisition 039 * @param password String - password for PO transmission 040 * @param contractManager ContractManager - contract manager for the PO 041 * @param contractManagerEmail String - email address for the contract manager 042 * @param vendorDuns String - vendor DUNS number for the PO 043 * @return String which is the cxml of the PO to send to the vendor 044 */ 045 public String getCxml(PurchaseOrderDocument purchaseOrder, String requisitionInitiatorId, String password, ContractManager contractManager, String contractManagerEmail, String vendorDuns); 046 047 /** 048 * Verifies that each piece of data required for the PO cXML is present. 049 * 050 * @param purchaseOrder 051 * @param requisitionInitiator 052 * @param password 053 * @param contractManager 054 * @param contractManagerEmail 055 * @param vendorDuns 056 * @return 057 */ 058 public String verifyCxmlPOData(PurchaseOrderDocument purchaseOrder, String requisitionInitiatorId, String password, ContractManager contractManager, String contractManagerEmail, String vendorDuns); 059 060}