Page tree
Skip to end of metadata
Go to start of metadata

Introduction

This guide describes the OECN State Software USAS SOAP service. This guide is intended for software developers interested in using SOAP to integrate with or add alternative interfaces to USAS.

This guide assumes basic familiarity with USAS and the USAS account coding scheme. It also assumes the reader is familiar with SOAP, XML and other related technologies.

Glossary

  • DAS or DA Site - Data Acquisition Sites. This term is obsolete. OECN sites are now refered to as ITC's
  • ITC - Information Technology Centers are regional data processing centers that provide computer services to member school districts. Among the services ITC's provide is hosting of the USAS application for school districts.
  • OECN -
    Ohio Education Computer Network
  • SSDT - State Software Development Team develops USAS, and other software, for school district on behalf of the Ohio Department of Education.
  • USAS - Uniform School Accounting system. USAS refers to both the USAS software developed by the SSDT on behalf of the Ohio Department of Education, and the USAS accounting structure defined by the Ohio Auditors of State and Ohio Department of Education.

Status of this Document

This document is updated routinely to reflect the current version of the USAS SOAP service. Links to the latest version of this document can be obtained from the SSDT Public Wiki at https://wiki.ssdt-ohio.org/display/CTD/USAS+SOAP+Developers+Guide

Resources

This document does not represent the complete documentation for the USAS SOAP service. The actual API documentation is contained in the WSDL, the USAS XML Schema and the OECN RPC XML schema.

The WSDL and Schemas are distributed by the SSDT as part of the SOAP service installation kit. Vendors should contact the school district's ITC or the SSDT for the WSDL for currently supported versions. The current development version of the USAS SOAP service is available at: http://devel.ssdt.nwoca.org/usassoap/. The latest WSDL and Schemas are available on that page.

Schema clarification: Requisitions

The deliver to address lines on the Requisition are limited to 24 characters, not 30 as stated by the schema.  The datatype for the deliver to address on the Requisition and the delivery address on the Purchase Order are the same, so we are unable to change the schema.

Developers should only use the development version of the SOAP service for reference or to review upcoming features. Developers should always check with the ITC or the SSDT to determine which version(s) are available and supported at the ITC sites.

Developers who need background documentation on USAS may wish to refer to the USAS User and Reference Manuals or the USAS System Managers Guide. This documents are available on-line at http://ssdt.oecn.k12.oh.us/projects/usas .

Developers who have questions or need technical advice on integrating with the USAS webservice are encouraged to join the ssdt-usas-dev-l list. This list is operated by the SSDT to assist developers with integration issues. For subscription options and to view the archives, visit http://listserv.nwoca.org/cgi/wa.exe?A0=ssdt-usas-dev-l.

Status of the USAS SOAP Service

The USAS SOAP service provides a limited subset of USAS functionality via a standards based SOAP service. See the WSDL for business functions supported by the service.

Standards Compliance

The SSDT believes that USAS SOAP service complies with the WS-I Basic Profile 1.0a WS-I Basic Profile 1.0a . The artifacts (definitions and messages) of the service have passed all assertions tested by the “WS-I Testing Tools v 1.0.1” provided by WS-I.

The SSDT believes that the WS-I BP 1.0a is the best solution to ensuring interoperability between various SOAP implementations. Developers wishing to use the USAS SOAP service are encouraged to use client tools that can support WS-I compliant services. Any developer detecting a WS-I compliance issue in the service artifacts is encouraged to contact the SSDT.

Test Accounts

Developers intending to integrate with USAS may not have access to a USAS server for development and testing. The SSDT can provide access to a test server for development and testing. The test server will always have the most recent released version of the web service. A user account can be provided which has access to a sample district database with limited test data.

Developers interesting in a test account, should send mail to smith@nwoca.org with their request. Please include contact information, company and a brief description of your application and intended use.

USAS Service Architecture Overview

The USAS system is hosted on servers operated by individual ITC's for their member school districts. Each server hosts a USAS database for one or more school districts.

District Database Identification

Each database is identified by a "district code" or IRN. Some ITC's also support the use of NCES codes to identify district databases. After a SOAP client authenticates with the SOAP service, it must declare the district database on which it intends to operate. Alternatively, the SOAP client may query the service for the databases the user has access to and allow the user to select the district code.

SOAP Service Endpoints

Each ITC that supports the USAS SOAP service will provide one or more “SOAP endpoint” URL's for accessing the service for their districts. In most cases, a single endpoint will be used for all districts hosted by a given DA Site. However, in some cases, an ITC may provide a different endpoint for specific districts.

Most ITC will provide an HTTPS (SSL) end-point can be used to encrypt SOAP messages on the wire. Developers are encouraged to use HTTPS when available. Each ITC decides whether HTTPS is available or required and may have other local security policies regarding from what networks SOAP connections are available.

Authentication and Authorization

When a client connects to the service, it must provide username and password credentials for an account on the ITC server. Usernames and access rights are administered by the DA Site on behalf of the member district. The access rights and functions the account can perform are limited by rights granted by the ITC and any USAS security profiles established by the district.

The account used to access the SOAP service may be a normal end-user account of a standard USAS user. A normal user account does not need special rights to use the SOAP service. This sort of access is appropriate, for example, when providing an alternative interface to USAS and the back-end service is being used for authentication (pass-through authentication).

Alternatively, the ITC may provide a specific account to be used for SOAP access by specific trusted applications. This might be appropriate for an application that has its own authentication scheme that is being integrated with USAS.

For example, an “eProcurement” application might have it’s own user accounts and authentication scheme and might be configured to use a single USAS account to post transactions. This type of access must be negotiated between the developer, ITC and school district. All parties must be aware that this access model effectively turns much of the USAS security over to the third party application. The district and ITC must determine if the developer’s product is to be trusted in this model.

A given user account on a USAS server may be granted access to one or more school district databases. Therefore, the ITC might provide a single account to access multiple districts, or a separate account for each district. If when a single account is used, the users rights in each district may vary based on the USAS profile established by the district (see USAS User Profiles below).

USAS User Profiles

The USAS SOAP service applies all business rules and security implemented by the USAS system. This includes per-district user profiles. User profiles are a feature of USAS that permit fine grained control over what functions a user is able to perform and which USAS budget accounts they can see or use in transactions. A school district can establish profiles that control what any user (including users of the SOAP service) are able to perform.

A developer need not have any special understanding of how USAS security works or how it is applied. The security is applied automatically by the server based on the security settings and profiles established on the server. However, faults can be returned if an operation is performed that the user account is not authorized to perform.

Assuming Profile of Another User

A special feature of the service allows a sufficiently privileged account to assume (or impersonate) the profile of another USAS user. If a SOAP client impersonates another profile, any operations it performs will be limited by the impersonated user’s profile.

This may be useful in situations where the client application uses a single account to access USAS, but still wishes to use USAS security features to limit what accounts can be seen or functions performed.

When posting requisitions, the username used in the impersonation call will also be used as the "requisitioner" in USAS.  This is currently true only for requisitions and not for any other data types.

Mapping Foreign Users to USAS Profiles by Convention

When assuming the role of another user, USAS does not interpret the username in any special way against a particular authentication source. USAS simply uses the profile name “as is” and looks for a corresponding profile.

Therefore, it is possible for a district to create profiles that are not traditional USAS user accounts. A third-party product and a school district could develop a convention for mapping usernames from the application to USAS profiles. This allows the district to control what the users of the third party application are permitted to do, without significant impact on the third party application.

For example, suppose an eProcurement application known as “Buy Good Stuff” (BGS) has it’s own user authentication is integrated with USAS. The BGS application could access USAS using a single username provided by the ITC. The “Buy Good Stuff” application could impersonate a USAS user profile in the form “BGS\username”, where username is the username in the BGS application.

The district can then use USAS’s security features to create profiles in the form “BGS\username” to control features available to users of the BGS application. The district can also provide a default profile that applies to all BGS users that do not have a specific profile.

In this way, a district could control what functions a given BGS user is permitted to perform or what USAS budget accounts they can see in a query. For example, suppose the user “smith” in the BGS application should only be allowed to see budget accounts that have “001” in the OPU field. The district could create a USAS profile for the user “BGS\smith” with this restriction.

The BGS application would need only to invoke assumeUserProfile for the user “BGS\smith” to cause USAS to enforce the restriction. BGS need not have any other understanding of the USAS security model.

The choice of the “BGS\” prefix in the above example is arbitrary and could be any convention agreed to by both the developer and district. The use of a convention that would not conflict with traditional USAS user accounts is strongly recommended.

USAS user profile names are currently limited to 20 characters. Therefore, the naming convention must be devised to fit within this constraint.

USAS SOAP Service Details

This section contains details of using the USAS SOAP service operations and parameters. Items in italics refer to operations (methods), parameters or element names provided used the service. See the WSDL or generated WSDL documentation for details for each operation, parameters and data types.

SOAP Sessions

The USAS SOAP service is a “statefull” service. The login _operation, upon successful authentication, establishes a new session and returns a _sessionId. The session retains a connection to the USAS server and context for subsequent invocations of the service. The client application must retain this session id and pass it as a parameter to subsequent invocations of the service.

The steps for establishing a session are:

  1. Invoke _login _operation with credentials for an account on the USAS server
  2. Optional: Invoke _getDistrictList _to return a list of districts the user as access to
  3. Invoke _setDistrictAccess _to bind the session to a given district database
  4. Optional: Invoke assumeUserProfile to assume the profile of another user

After these steps are completed, the client may invoke any other USAS operation. The client may perform as many operations as necessary to perform its work. When the client is finished using the service, it should invoke the _logout _operation to cleanly close down the session.

It is important that the client invoke setDistrictAccess code to establish the district database to which the session is bound. This must be done exactly once after login and prior to any other USAS operation.

Important

A client must not invoke setDistrictAccess more than once for a session. A fault will be returned if such an attempt is made and the session will be left in an indeterminate state. Client applications that need to access more than one district, must establish at least one session for each district.

After the database context is established, the client application may optionally invoke assumeUserProfile to impersonate the profile of a different USAS user. This operation will only succeed if the authenticated user is authorized to impersonate other users and if a suitable profile exists on the USAS server. The _assumeUserProfile _operation may be used multiple times for a given session.

Session Timeout

Sessions consume resources on both the SOAP server and the back-end USAS server. Therefore, inactivity timeouts apply to the SOAP sessions. The timeout interval is configurable by each DA Site and defaults to approximately 45 minutes. If there is no activity for a session in during the timeout interval, the session will be deleted from the SOAP service. Any subsequent invocations using an expired sessionId will result in a fault being returned. Client applications that attempt to maintain long running connections, must be prepared to handle such faults.

Threaded Clients

The USAS SOAP service will accept multiple simultaneous requests for a given session. However, no guarantees are given regarding the order that the requests will be processed. Threaded client applications must use care if using a shared session, especially when using multiple invocations of _assumeUserProfile _with other operations.

For this reason, the SSDT recommends that threaded clients synchronize access such that only one thread performs operations for a given session. If multiple threads need to access the service simultaneously, it is preferable to have a separate session per thread, perhaps by maintaining a pool of active sessions.

XML Namespaces

Three distinct namespaces are used to define the service operations and parameters used by the service. These are described briefly below. See the SSDT web site for links to the WSDL and associated XML Schemas.

**

http://xml.ssdt.nwoca.org/usas/ws

* defines the implementation and interface for the SOAP service itself. It defines parameters and operations of the SOAP service. The type definitions for this name space are contained wholly within the WSDL document.
**

http://xml.ssdt.nwoca.org/USAS/61

* defines the USAS data model (Vendors, Requisitions, Budget Accounts, etc). An XML schema is provided that defines the complex types. For certain important USAS data types, user defined types are specified with restrictions that define the allowable content. However, the XML schema does not attempt to express all restrictions imposed by USAS. The service may reject or, in some cases, truncate values that are outside USAS’s normal limits.
**

http://xml.ssdt.nwoca.org/OECN-RPC/10

* defines complex types used generically by several SSDT products as part of the RPC (Remote Procedure Call) infrastructure. Many of the elements in this namespace are not relevant for the USAS service. The only element of any relevance for USAS developers is the response-msgs, which is used in custom faults to return additional error and warning details (See SOAP Faults below).

See #Resources for links to the schemas.

SOAP Faults

The WSDL defines custom SOAP faults for application specific errors. The faults are defined to clearly indicate the type of “normal” faults the client should be expected to handle. For example, getBudgetAccount can throw an AccountNotFoundFault.

However, not all possible faults are defined by the WSDL. All operations are capable of returning generic SOAP faults that indicate general failures. Examples of general failures include: “SessionId not found” (perhaps due to a timeout), connection failures, security violations (the user is not authorized for the operation). The client application should be written to expect and handle both application specific faults and general SOAP faults. The client must not assume that the only faults are those defined by the WSDL.

UsasGeneralFault

UsasGeneralFault is the base fault from which all other application faults are extended. The operations return either UsasGeneralfault directly or a fault message extended from it.

UsasGeneraFault messages always contain at least the standard SOAP fault elements (“faultcode” and “faultstring”). Client applications may minimally use these elements to retrieve the basic error information. Also included are several custom elements that are specific to USAS. The client may use these additional elements to retrieve detailed information about the fault.

The USAS system has the concept of “severity” when returning error conditions. Furthermore, USAS may return multiple errors for a single request. In general, multiple errors are associated with posting and update operations, but may occur for any operation.

When USAS returns multiple conditions of the same or differing severities, the messages are encapsulated in a response-msgs element and included in the fault response. The client may use this element to display to the user or for logging. A response-msgs _element, if present, will contain one or more _fatal, error, or warning elements that define the severity and contain the details of the message. Within these elements, a text element will contain the human readable error message. source, code, _or _vmsstatus elements may also appear, but are not intended for end-users. The latter elements may be useful for debugging or diagnosing problems with the SSDT.

Two other elements of UsasGeneralFault are also for convenience of clients that don’t wish to interpret the entire response-msgs _element. _UsasErrorMessage contains the text of the first message of the highest severity. Clients should use UsasErrorMessage, if only one message is to be displayed or logged. The _Severity _element is an enumerated element that contains the highest severity (Fatal, Error or Warning) of any message in the _response-msgs _element. The _Severity _can be regarded as the overall severity of the fault.

Qualified Success (Warning) Faults

In certain circumstances, USAS business rules require reporting one or more warning conditions as the result of a posting or validation operation. From a SOAP point of view, these faults are unusual because the fault does not indicate failure of the operation. Rather, the operation was successful but was qualified with warnings according to USAS business rules.

In all cases when a warning fault (e.g. PostingWarningFault) is returned, the USAS operation was completed successfully. When performing a posting operation, the client application must check for warning faults and process them as appropriate for the application. The warning might be shown the to user, logged or discarded. If the warning is displayed to the user, it must be shown in context of a successful operation.

In an interactive application, when performing a validation operation, it is recommended that messages from a warning fault be displayed to the user. A warning may contain important information that the user needs to decide whether to continue with a posting operation. For example, a warning might indicate “Available balance for account will be exceeded”, which may influence the users decision to proceed.

The SSDT choose this approach so that the reporting of both errors and warnings in a single response could be handled via the same fault structure. USAS may return a mixture of error and warning messages. Regardless of the severity of the fault, the messages will be returned in a fault derived from UsasGeneralFault and can be extracted from the message in the same manner by the client.

All cases where warning fault can occur are explicitly defined in the WSDL. A client application need only be concerned about a warning fault, if explicitly declared in the binding for the operation.

Auto-Assignment of Transaction Numbers

As of version 2.0 of the USAS SOAP service, most of the "posting" operations now support automatic assignment of transaction numbers. In previous versions, the application was required to determine the transaction number (e.g. purchase order number) before posting a new transaction.

In version 2.0, the transaction numbers are optional elements (may be omitted or empty). When the transaction number is not provided, the SOAP service will automatically assign the next available number.

Response Document

Prior to version 2.0, posting operations, such as "postNewPurchaseOrder", returned an empty ("void") response. In version 2.0, it will return the actual <PurchaseOrder> element as posted with the assigned transaction number. Therefore, the client application will be able to determine the number that was assigned to the new transaction.

The use of this new feature is optional. The client application may continue to assign transaction numbers, if desired. In either case, an instance of the posted element will be returned on "post" operations.

"Split" Items on Requisitions or Purchase Orders

USAS requisitions and purchase orders support "splitting" an item into multiple accounts, allowing it to be printed as one line on the requisition or purchase order but stored as multiple lines each charged to a separate account code.

In order for USAS to recognize a "split" item, the first item is called the "combined" item, meaning this is the line item the following items are being combined into. The rest of the items that are to be combined with the first item are called "split items".

There are 2 ways of combining items, splitting the quantity and splitting the price.

Splitting the Quantity

This type of split involves splitting the quantity of a particular item among several different account codes. The unit price must be the same for each item. For example:

Item data:

Qty !! Description !! Price !! Account Code

Reading Books

$15.00

05 001 1100 521 0000 000000 001 00 000

 

$15.00

05 001 1100 521 0000 000000 005 00 000

 

$15.00

05 001 1100 520 0000 000000 006 00 000

Resulting printed PO item:

Qty !! Description !! Price !! Total

Reading Books

$15.00

$3,750.00

Splitting the Price

This type of split involves splitting the price of a particular item among several different account codes. The quantity field must be 1 for the combined item and zero for the split items.

Item data:

Qty !! Description !! Price !! Account Code

Color Printer

$250.00

05 001 2411 740 0000 000000 060 00 000

 

$275.00

05 001 2421 640 0000 000000 010 00 000

 

$300.00

05 001 2411 740 0000 000000 030 00 000

Resulting printed PO item:

Qty !! Description !! Price !! Total

Color Printer

$825.00

$825.00

Usage of "<SplitTag>"

In the requisition or purchase order xml document, the tag <SplitFlag> is required to be included as a part of the <item> information for both the combined and split items. The following values are accepted:

<SplitFlag>Combined</SplitFlag>
<SplitFlag>Split_Price</SplitFlag>
<SplitFlag>Split_Quantity</SplitFlag>

Restrictions

There must always be a "Combined" item first, immediately followed by one or more "Split_Price" or one or more "Split_Quantity" items. There cannot be both "Split_Price" and "Split_Quantity" items associated with the same "Combined" item.

The unit price must be the same for the "Combined" and all "Split_Quantity" items.

The quantity field must be 1 for the "Combined" item and zero for all "Split_Price" items.

Appendixes

Fault Message Codes

The table below defines response message codes returned by the USAS SOAP service faults. The codes define the nature of the fault in greater detail.

For faults that contain response-msgs _elements, each message (_fatal, error or _warning _element) may contain a _code _element. Developers may use these codes to programmatically test for specific types of USAS errors.

The codes in this table are the complete set of codes that can theoretically be produced by the current OpenVMS back-end implementation of USAS. However, in practice, some codes could never be returned by the USAS SOAP service. For example, “INVALIDXMLDATA” could not be returned in a USAS fault since the SOAP service would reject XML documents that do not conform to the USAS XML Schema.

 

 

<u>Category</u> <u>Code</u> <u>Description</u>
     
Common Messages INVALIDXMLDATA An incorrect tag was found, or XML document not in expected format.
  KEYNOTPROVIDED The key field is blank or zero.
  ALREADYONFILE The key is already on file.
  INVALIDFUNCTION An invalid 'function' tag value is present.
  INVALIDOPERATION An invalid 'operation' tag value is present
  RECORDNOTFOUND The record or records being read or searched for were not found.
  INVALIDDATE The date is invalid or not in the correct range.
  FILEOPENINPUTFAIL A data file failed to open for input.
  FILEOPENIOFAIL A data file failed to open for I/O.
  PROTVIO A protection violation occurred when trying to open a data file.
   
Account Balances CASHNEGFUND Negative fund balance for cash account.
  CASHNEGREMAIN Negative remaining balance for cash account.
  CASHNEGBALLESSPAY Negative cash balance less payables for cash account.
  APPNEGREMAIN Negative remaining balance for appropriation account.
  BUDNEGREMAIN Negative remaining balance for budget account.
  APPNEGNEXTYEAR Negative next year balance for appropriation account.
  BUDNEGNEXTYEAR Negative next year balance for budget account.
     
Invalid Accounts NOACCOUNTACCESS Access to given Account is denied.
  ACCTNOTACTIVE Account is not active.
  CASHACCTNOTFOUND Cash Account was not found on file.
  APPACCTNOTFOUND Appropriation Account was not found on file.
  BUDACCTNOTFOUND Budget Account was not found on file.
  REVACCTNOTFOUND Revenue Account was not found on file.
  INVALIDTRANSIND Invalid Transaction Indicator.
  INVALIDFUNCTION Invalid Function Code.
  INVALIDRECEIPT Invalid Receipt Code.
     
Account I/O BUDACCTWRITEFAIL Creation of Budget Account failed.
  REVACCTWRITEFAIL Creation of Revenue Account failed.
  CASHACCTREWRITEFAIL Update of Cash Account failed.
  APPACCTREWRITEFAIL Update of Appropriation Account failed.
  BUDACCTREWRITEFAIL Update of Budget Account failed.
  REVACCTREWRITEFAIL Update of Revenue Account failed.
     
Vendors VENDORNOTFOUND Vendor number was not found or is invalid.
  VENDORNOTACTIVE Vendor is not active.
  VENDORISMULTIVENDOR Vendor is a Multi-Vendor.
  VENDORREWRITEFAIL Update of Vendor record failed.
  VENDORDIFFPO Vendor number provided is different from Vendor on the Purchase Order.
     
General Transaction ITEMOVERFLOW The maximum allowable number of items per transaction was exceeded.
     
Requisitions INVALIDREQNUMBER Requisition number supplied is not valid or is already on file.
  REQNOTFOUND Requisition was not found on file.
  NOASSOCIATEDITEMS There were no item records posted for this Requisition.
  REQWRITEFAIL Creation of Requisition record failed.
  REQDELONERECORD Only one record is permitted when performing a delete operation.
  REQACCESSDENIED Access is denied to the Requisition.
  REQALREADYPOSTED Requisition already converted to a Purchase Order.
  REQDELETEFAIL Deletion of Requisition record failed.
  GENERICBADLOCATION The generic record type did not precede all other records in batch.
     
Purchase Orders INVALIDPONUMBER The Purchase Order number supplied is not valid or is already on file.
  INVALIDDESCLINE The Purchase Order Description line number is not valid or is already on file.
  INVALIDDESCTYPE The Purchase Order Description Type field is not valid.
  PONOTFOUND Purchase Order was not found on file.
  POITEMNOTFOUND Purchase Order Item was not found on file.
  POHISTWRITEFAIL Creation of POHIST record failed.
  POHISTREWRITEFAIL Update of POHIST record failed.
  POHISTDELETEFAIL Deletion of POHIST record failed.
  POITEMWRITEFAIL Creation of POAMT record failed.
  POITEMREWRITEFAIL Update of POAMT record failed.
  POITEMDELETEFAIL Deletion of POAMT record failed.
  PODESCWRITEFAIL Creation of PODESC record failed.
  PODESCDELETEFAIL Deletion of PODESC record failed.
  PODESCREWRITEFAIL Update of PODESC record failed.
  FUTPODELETEFAIL Deletion of FUTPO record failed.
  ZEROQUANTITY Purchase Order item quantity must not equal zero.
  NOCHANGEKEY The key cannot be changed.
     
Combined Items QUANTITYNONZERO Quantity did not equal zero for split-price item.
  PRICENOTEQUAL Price is not equal for all split-quantity items.
  COMBINEDPRECEDESPL<span >IT</span> A combined item did not precede split item.
  INVALIDSPLITFLAG The Split Flag field is not valid.
  QUANTITYNOTONE The quantity does not equal one for a split-price item.
  DESCEQUALDASH The description field does not equal a dash for split items.
     
Change Orders NOCHANGEDATEPRIORY<span >R</span> The Purchase Order date may not be changed on a Purchase Order from a prior fiscal year.
  NOAMENDPO Only new, partially filled or partially paid Purchase Orders may be amended.
  NOCHANGEDATEAMEND<span >ED</span> The date cannot be changed on a Purchase Order that has already been amended.
  NOCHANGEVENDOR The Vendor cannot be changed because there is an associated invoice or the PO status is not new.
  ISSUELESSTHANPODAT<span >E</span> An item's Issue Date must not be before the Purchase Order date.
  INVALIDACCTMOD The account code may not be changed on an existing Purchase Order item.
  INVALIDQUANTMOD The quantity may not be changed on an existing Purchase Order item.
  INVALIDPRICEMOD The price may not be changed on an existing Purchase Order item.
  NOCANCELCOMBINED You cannot cancel a combined item without canceling all of the associated split items.
  INVALIDAMENDMENT Invalid amendment record or original Purchase Order item was not found.
     
Purchase Order Del<span >ete</span> PODELETEONERECORD Only one record is permitted when deleting a Purchase Order.
  POSTATUSNOTNEW Purchase Order status is not new, cannot be deleted.
  ASSOCINVCKNODELETE There is an associated Invoice or Check, Purchase Order cannot be deleted.
  ASSOCCANINVEXIST There is an associated 'cancel' Invoice.
     
Invoices INVALIDINVNUMBER Invoice number supplied is not valid or is already on file.
  INVOICENOTFOUND Invoice number was not found on file.
  INVOICEWRITEFAIL Creation of INAMT record failed.
  INVOICEREWRITEFAIL Update of INAMT record failed.
  INVPAYNOTFOUND INVPAY record was not found on file.
  INVPAYWRITEFAIL Creation of INVPAY record failed.
  INVPAYDELETEFAIL Deletion of INVPAY record failed.
  AMOUNTSBOTHNEGORP<span >OS</span> Remaining encumbered amount and invoice amount must be both negative or both positive.
  INVALIDINVSTATUS Invalid Invoice status.
  CANCELEXCEEDSENC The canceled amount exceeds the remaining encumbrance amount.
  POITEMCOMPFILLED Invoice cannot be posted because Purchase Order item is already completely filled.
     
Checks INVALIDCHECKNUMBER Check number supplied is not valid or is already on file.
  CHECKWRITEFAIL Creation of Check record failed.
  CHECKREWRITEFAIL Update of Check record failed.
  CHECKITEMWRITEFAIL Creation of Check Item failed.
  NEGATIVECHECK The check to be created will be a 'negative check'.
  NOUPDATEHIGHCHECK The highest Check number on file was not updated.
  NOPOSTPAYWITHOUTPO Cannot post a payroll check without posting Purchase Order.
  NOPOSTCHECKWOUTPO<span >INV</span> Cannot post a check without posting Purchase Order and Invoice.
  NOPOSTCHECKINVC Cannot post a check when the Invoice status is 'Canceled'.
  FINALMONTHCLOSE Final month closed, but fiscal year is not.
  NOPENDINGINVOICE No associated pending invoice was found for selection.
  NOSELECTIONSMADE No invoices were selected for processing.
  COLLAPSESETPROMPT The collapse check items flag is set to 'prompt', instead of Y or N.
     
Receipts INVALIDRCPTNUMBER Receipt number supplied is not valid or is already on file.
  RECEIPTWRITEFAIL Creation of Receipt record failed.
  RECEIPTREWRITEFAIL Update of Receipt record failed.
  RECEIPTDELETEFAIL Deletion of Receipt record failed.
  NOITEMS No items associated with Receipt record.
   
Other I/O USASDATREWRITEFAIL Update of USASDAT record failed.
  INVENTWRITEFAIL Creation of INVENT record failed.
     
Invalid Dates INVALIDPODATE Purchase Order date is invalid or not in proper processing period.
  INVALIDPAYDATE Payroll date is invalid or not in proper processing period.
  INVALIDINVDATE Invoice date is invalid or not in proper processing period.
  INVALIDPAYDUEDATE Payment Due date is invalid or not in proper processing period.
  INVALIDCHECKDATE Check date is invalid or not in proper processing period.
  INVALIDISSUEDATE Issue Date is invalid or not in proper processing period.
  INVALIDRCVDDATE Received date is invalid or not in proper processing period.
  INVALIDRCPTDATE Receipt date is invalid or not in proper processing period.
  INVALIDREQDATE Requisition date is invalid or not in proper processing period.
  INVALIDDELDATE Delivery date is invalid.
     
AUTOPOST General NOTALLFILESAVAIL Not all USAS files were available for exclusive access.
  NORECORDSINBATCH No batch records were found in the batch.
  RECNUMNOTNUMERIC Record number is not numeric.
  REFNUMNOTNUMERIC Reference number is not numeric.
     
Inconsistent Data INCONSISTENTVENDOR Vendor number field is not consistent.
  INCONSISTENTPOFLAG Purchase Order posting flag is not consistent.
  INCONSISTENTCHECKFL<span >G</span> Check posting flag is not consistent.
  INCONSISTENTREFDATE Refund date field is not consistent.
  INCONSISTENTCREATE Check create flag is not consistent.
  INCONSISTENTCHECK Check number is not consistent.
  INCONSISTENTCHECKDT Check date is not consistent.
     
Invalid Numerics POITEMNOTNUMERIC Purchase Order item number is not numeric.
  QUANTNOTNUMERIC Quantity field is not numeric.
  PRICENOTNUMERIC Price field is not numeric.
  INVAMTNOTNUMERIC Invoice Amount field is not numeric.
  AMOUNTNOTNUMERIC Amount is not numeric.
  INVALIDNUMERIC Field is not numeric.
<span ></span> <span ></span> <span ></span>
  • No labels