PO PREPROCESSOR   

Use the PO Preprocessor to import purchase orders from an ASCII fixed-length file. You can view Purchase Orders loaded from this preprocessor using the Enter Purchase Orders screen in Costpoint Purchasing.

In the Costpoint menu, select Others » Product Interfaces » Preprocessors » PO Preprocessor.

Deltek designed the preprocessor interface for loading purchase orders into Costpoint. Then you can use the loaded purchase orders to perform commitment, accrual, invoicing, and 2-way and 3-way matching in the Costpoint database into which you loaded them.

An Ongoing Support Plan (OSP) is available for routine maintenance and upgrades to this interface. Customization is priced separately. Please contact your Deltek account representative for additional information.

Only one user at a time can run this application.

If the PO vendor is changed in an existing purchase order (PO_HDR), Costpoint updates the corresponding PO_HDR_DFLT row for the vendor-related initial values.  This does not update values in existing PO lines.

Functional Currency versus Transactional Currency

When the multicurrency feature is in use, purchase orders can be created in terms of a currency (called transactional currency) different from the functional currency (the currency used for the company’s financial statements, and selected at Costpoint initialization).  Purchase order information is entered primarily in the transactional currency, and Costpoint calculates the corresponding value for the functional currency fields.  Data is stored in both currencies.

For example, the Gross Unit Cost amount in the PO line from the input file now loads into the Transaction Gross Unit Cost column (PO_LN. TRN_GR_UN_CST_AMT) and the system calculates the value of Gross Unit Cost (PO_LN. GROSS_UNIT_CST_AMT) in terms of functional currency.  Subsequent calculations will be performed separately for each currency.  For example, the Input file might have the Gross Unit Cost for the purchase order line as 100 (transactional currency=GBP).  This would translate to 160 (functional currency=USD) assuming an exchange rate of GBP to USD = 1.6.  Both these values are stored separately in different fields (PO_LN. TRN_GR_UN_CST_AMT = 100, PO_LN. GROSS_UNIT_CST_AMT = 160).  Subsequent calculations (like Net Unit Cost) will be calculated and stored separately too.  Assuming a volume discount rate of 10% (PO_LN.DISC_PCT_RT = 0.10), the PO line Net Unit Cost amount will be 90 (GBP) and 144 (USD) and stored as PO_LN. TRN_NET_UN_CST_AMT = 90 and PO_LN.NET_UNIT_CST_AMT = 144 respectively.

Calculations for Exchange Rates

Standard multicurrency functions are used to calculate exchange rates between transactional and functional currencies.  This applies exchange rates corresponding to the Rate Group and Rate Date (or Rate Period).  For non-Euro currencies, the Trans to Func exchange rate is used. If a direct exchange rate is unavailable, then the triangulation method, using a third common rate, is used to derive the exchange rate (if set up in Multicurrency Settings).  For Euro currencies, the products of Trans to Euro and Euro to Func exchange rates are used to derive the appropriate exchange rate between the transactional and functional currencies.

Multicurrency

To incorporate multicurrency features in the PO Preprocessor, the input files include new fields and additional calculations for transactional currency and functional currency. If you have multicurrency transactions, all amount fields in the input file are listed in the transactional currency, which may not be the same as the functional currency.  The process calculates the corresponding functional currency fields using exchange rate information in other tables. Data is stored in both currencies in Costpoint.

If the input file does not specify any transaction currency, the transactional and functional currencies are the same. All currency-related columns are nevertheless populated with default values, the system exchange rate is "1", and amount columns therefore have the same values for transactional and functional currencies.

Setup Procedures

After copying the new files and executing the script file, perform the following setup actions before running the application for the first time. Please see the installation instructions, or contact your Deltek representative for assistance.

  1. Establish default values in the PO Settings screen in Costpoint Purchasing.

  2. Set up these tables. Please see the "Data Integrity Checking" section under "Processing Details" for more information about these tables and the multicurrency tables:

 

*VEND

LN_CHG_TYPE

*VEND_ADDR

*BUYER

*BRNCH_ADDR

STD_TEXT

*VEND_TERMS

ITEM

*SHIP_ID

ALT_PART

*UM

 

* = Required

Files Necessary to Run PO Preprocessor

The following custom files and stored procedures files must be accessible to run the PO Preprocessor.

CSTPOINT.EXE

Costpoint executable

CPPMGRSV.EXE

Costpoint Process Server executable

AOPUTLPO.EXE

Purchase Order Preprocessor application executable

AOPUTLPO.ORA

Oracle stored procedures for the PO Preprocessor

AOPUTLPO.MSS

SQL Server stored procedures for the PO Preprocessor

See the Setup Procedures under the Processing Details section prior to using this program for the first time.

PO Preprocessor Screen

Input File

International users:

The data can contain non-English characters if they are in the ASCII character set. Before creating an ASCII text (.TXT) file, be sure that your keyboard language is set to "EN" (United States English) to prevent the application from generating errors.  The file must be an ASCII fixed-length file.

Select

Select this pushbutton to browse to the file, or enter the name of the file to be processed.

Performance Analysis

Load and Print

Start Load

This non-editable field displays the date and time this process started. 

End Load/Start Validation

This non-editable field displays the date and time when the loading process ended and the validation process started. 

End Validation/Start Print

This non-editable field displays the date and time when the validation process ended and the error report started to print. 

End Print

This non-editable field displays the date and time when the error report stopped printing. 

Total Rec Load

This non-editable field displays the total number of records read by the application. 

Total Error

This non-editable field displays the total number of records found with errors during the process. 

Processing Details

This application uses the following dynamically created worktables for processing:

Z_PO_HDR

Z_PO_LN_ACCT

Z_PO_HDR_NOTES

Z_PO_LN_CHG

Z_PO_TEXT

Z_PO_LN_NOTES

Z_PO_LN

Z_PO_PREP_ERROR

Z_PO_PREP_FILE

 

Data Integrity Checking

The application checks for data integrity using the following tables and multicurrency-related tables. 

An asterisk (*) precedes the tables that are required.  Use the other tables as guidelines for additional information and data entry. All fields except Unit of Measure (UM) and Billing Cycle (BILL_CYCLE) are validated based on the user's company ID.

 

Costpoint Table Name

Table Name

Maintenance Screens

*VEND

Vendor

Purchasing/Vendor Info/Maintain Vendors

*VEND_ADDR

Vendor Address

Purchasing/Vendor Info/Maintain Vendors

*BRNCH_ADDR

Branch Address

Purchasing/Purchasing Controls/Branch Locations

*VEND_TERMS

Vendor Terms

Purchasing/Vendor Controls/Vendor Terms

*SHIP_ID

Ship ID

Purchasing/Vendor Info/Maintain Vendors

Purchasing/Purchasing Controls/Branch Locations

Sales Order Entry/Customer Info/Maintain Customer

Inventory/Inventory Controls/Warehouses

*UM

Unit of Measure

Purchasing/Purchasing Controls/Units of Measure

LN_CHG_TYPE

Line Charge Type

Purchasing/Purchasing Controls/PO Line Charge Types

*BUYER

Buyer

Purchasing/Purchasing Controls/Buyers

STD_TEXT

Standard Text

 

ITEM

Item

Product Definition/Maintain Parts; Services; Goods

 

ALT_PART

Alternate Part

Product Definition/Part Master/Alternate Parts

CIS_CODES

Construction Industry Scheme Codes

System Administration/System Codes/Maintain CIS Codes

VEND_CIS_INFO

Vendor CIS Info

Purchasing/Vendor Info/Maintain Vendors

Input File and Error File Layout

The Input File is a fixed-length, ASCII file. The Error File, which contains records that were not processed from the Input File, has the same name as the Input File, but with an .ERR extension. After processing is complete, the Input File is renamed with an .OLD extension. The Error File layout is the same as the Input File layout.

You must fill every position in the Input File with the appropriate number of either characters or spaces for a given column before entering data in the next column. You need not use leading zeros; you can use spaces to maintain the proper format. Numeric fields should be right-justified; character fields should be left-justified. 

End every row with a carriage return and a line feed.

PO Header Record Format (PO_HDR)

Column Name

Costpoint Column

Number of Characters

Starting Position

Ending Position

Required/ Optional

Format

Record Type

N/A

Character 2

1

2

Required.

(PH)

PO ID

PO_ID

Character 10

3

12

Required.

 

PO Release Number

PO_RLSE_NO

Number 3

13

15

Required.

(999)

PO Change Order Number

PO_CHNG_ORD_NO

Number 3

16

18

Required.

(999)

Buyer ID

BUYER_ID

Character 12

19

30

Required.

 

Vendor ID

VEND_ID

Character 12

31

42

Required.

 

Vendor Address Code

ADDR_DC

Character 10

43

52

Required.*

 

Branch Location ID

BRNCH_LOC_ID

Character 12

53

64

Required.*

 

Branch Address Code

BRNCH_ADDR_DC

Character 10

65

74

Required.*

 

Bill To Location ID

BILL_TO_LOC_ ID

Character 12

75

86

Required.*

 

Bill To Address Code

BILL_TO_ADDR_DC

Character 10

87

96

Required.*

 

Default Save Changes Flag

N/A

 

97

97

(Not used; leave one space.)

 

PO Status

S_PO_STATUS_
TYPE

Character 1

98

98

Optional.

Must be "C" (Closed), "O" (Open), "P" (Pending), or "V" (Void).

Terms Code

TERMS_DC

Character 15

99

113

Optional.

 

FOB Point (Free on Board)

FOB_FLD

Character 15

114

128

Optional.

 

Change Date

CHNG_DT

Date 10

129

138

Optional.

(MM/DD/YYYY)

Procurement Type

PROCURE_TYPE_CD

Character 2

139

140

Optional.

 

Timestamp

 

Date 10

141

150

Not used.

 

PO Type

S_PO_TYPE

Character 1

151

151

Optional.

If entered, must be "P" (Purchase Order), "B" (Blanket), "S" (Subcontract), or "R" (Release).

CIS Code

CIS_CD

Character 6

152

157

Optional.

 

Create Change Order

N/A

Character 1

158

158

Optional.

Can be "Y" or "N". Default is "N". If this value is "Y," PO must already exist in Costpoint.  Change Order Number must be greater than current Change Order.

Transaction Currency

TRN_CRNCY_CD

 

Character 3

159

161

Optional

 

Rate Group

RATE_GRP
_ID

Character 6

162

167

Optional

 

Rate Date

TRN_CRNCY_DT

Date

168

177

Optional

MM/DD/YYYY

 

* The Vendor Address, Branch Location, Bill to Location, and Bill To Address are all required in the Address subtask of the Enter POs screen. If you do not provide the vendor's Address Code in the input file, Costpoint loads the default Order Address in the Maintain Vendors screen.  If you do not provide the Branch Location, Branch Address, Bill To Location, and Bill To Address in the input file, Costpoint populates each field by default from the Buyer table, and verifies that valid values can be found for the given vendor and/or buyer.

PO Text Record (PO_TEXT)

Name

Costpoint Column

Number of Characters

Starting Position

Ending Position

Required/ Optional

Format

Record Type

N/A

Character 2

1

2

Required.

(HT)

PO ID

PO_ID

Character 10

3

12

Required.

 

PO Release Number

PO_RLSE_NO

Number 3

13

15

Required.

(999)

Sequence Number

SEQ_NO

Number 4

16

19

Required.

(9999)

Text Code

TEXT_CD

Character 10

20

29

Required.

 

 

PO Header Notes Record (PO_HDR_NOTES)

Name

Costpoint Column

Number of Characters

Starting Position

Ending Position

Required/ Optional

Format

Record Type

N/A

Character 2

1

2

Required.

(PN)

PO ID

PO_ID

Character 10

3

12

Required.

 

PO Release Number

PO_RLSE_NO

Number 3

13

15

Required.

(999)

PO Header Notes

PO_HDR_TX

Character 1,000

16

1,015

Required.

 

 

PO Line Record (PO_LN, PO_LN_ACCT, PO_LN_CHG)

Name

Costpoint Table/Column

Number of Characters

Starting Position

Ending Position

Required/ Optional

Format

Record Type

N/A

Character 2

1

2

Required.

(PL)

PO ID

PO_ID (all tables)

Character 10

3

12

Required.

 

PO Release Number

PO_RLSE_NO (all tables)

Number 3

13

15

Required.

(999)

PO Line Number

PO_LN_NO/PO_ LN_KEY (all tables)

Number 4

16

19

Required.

(9999)

PO Line Description

PO_LN.PO_LN_ DESC

Character 60

20

79

Optional.

 

Quantity Ordered

PO_LN.ORD_ QTY

Number 14

80

93

Required. If PO Type is "S," this field will not be used.

(999999999.9999)

Order Date

PO_LN.ORD_DT

Date 10

94

103

Optional.

(MM/DD/YYYY)

Due Date

PO_LN.DUE_DT

Date 10

104

113

Optional.

(MM/DD/YYYY)

Desired Date

PO_LN.DESIRED_DT

Date 10

114

123

Optional.

(MM/DD/YYYY)

Discount Rate

PO_LN.DISC_ PCT_RT

Number 11

124

134

Optional. If PO Type is "S," this field will not be used.

(99.99999999)

The value can range from 0 to 1.

Receipt Tol Percent

PO_LN.RECPT_TOL_PCT_RT

Number 11

135

145

Optional.

(99.99999999)

The value can range from 0 to 1.

Gross Unit Cost

PO_LN.TRN_GR_UN_CST_ AMT

Number 13

146

158

Required. If PO Type is "S," this field is not used.

(99999999.9999)

Net Unit Cost

Net Unit Cost

Number 13

159

171

Not used; leave 13 spaces.

(99999999.9999)

Extended Cost

PO_LN.TRN_PO_LN_EXT_AMT

Number 16

172

187

Not used; leave 16 spaces. This field will be required if PO Type is "S."

(-999999999999.99)

Total Line Cost

Total Line Cost

Number 16

188

203

Not used; leave 16 spaces.

(-999999999999.99)

Sales Tax

PO_LN.TRN_SALES_TAX_AMT

Number 16

204

219

Optional.

(-999999999999.99)

Ship ID

PO_LN.SHIP_ID

Character 20

220

239

Required.

 

Status

PO_LN.S_LN_STATUS_TYPE

Character 1

240

240

Required.

Must be C - closed; O - open; P - pending; or V - void.

Auto Voucher Flag

PO_LN.AUTO_VCHR_FL

Character 1

241

241

Optional.

 

Commitment Type

PO_LN.S_PO_COMMIT_TYPE

Character 1

242

242

Optional.

 

Taxable Flag

PO_LN. TAXABLE_FL

Character 1

243

243

Optional.

 

Deliver To

PO_LN.DEL_TO_FLD

Character 25

244

268

Optional.

 

Misc. Line Charge Type

PO_LN.MISC_ LN_CHG_TYPE

Character 6

269

274

Optional.

 

Requisition ID

PO_LN.RQ_ID

Character 10

275

284

Optional.

 

Manufacturer Part ID

PO_LN.MANUF_PART_ID

Character 30

285

314

Optional.

 

Manufacturer Revision ID

PO_LN.MANUF_PART_RVSN_ ID

Character 3

315

317

Optional.

 

Vendor Part ID

PO_LN.VEND_ PART_ID

Character 30

318

347

Optional.

 

Vendor Revision ID

PO_LN.VEND_ PART_RVSN_ID

Character 3

348

350

Optional.

 

Cert Of Conf Flag

PO_LN.CERT_ OF_CNFRM_FL

Character 1

351

351

Optional.

 

QC Required Flag

PO_LN.QC_ REQD_FL

Character 1

352

352

Optional.

 

Source Insp Flag

PO_LN.SRCE_ INSP_FL

Character 1

353

353

Optional.

 

Overshipment Flag

PO_LN.OVRSHP_ALLOW_FL

Character 1

354

354

Optional.

 

Match Type

PO_LN.S_ MATCH_TYPE

Character 1

355

355

Required.

 

Project

PO_LN_ACCT. PROJ_ID

Character 30

356

385

Optional.

 

Org

PO_LN_ACCT ORG ID

Character 20

386

405

Optional.

 

Account

PO_LN_ACCT. ACCT_ID

Character 15

406

420

Optional.

 

Project Abbrev

PO_LN_ACCT. PROJ_ABBRV_CD

Character 6

421

426

Optional.

 

Org Abbrev

PO_LN_ACCT.ORG_ABBRV_CD

Character 6

427

432

Optional.

 

Proj/Acct Abbrev

PO_LN_ACCT.PROJ_ACCT_ ABBRV_CD

Character 6

433

438

Optional.

 

Line Charge Type 1

PO_LN_CHG.LN_CHG_TYPE

Character 6

439

444

Optional.

 

Line Charge Cost 1

PO_LN_CHG.TRN_CHG_CST_AMT

Number 16

445

460

Optional.

(-999999999999.99)

Line Charge Type 2

PO_LN_CHG.LN_CHG_TYPE

Character 6

461

466

Optional.

 

Line Charge Cost 2

PO_LN_CHG.TRN_CHG_CST_AMT

Number 16

467

482

Optional.

(-999999999999.99)

Unit of Measure Code

PO_LN.PO_LN_UM_CD

Character 3

483

485

Optional.

 

Date/Time Stamp

Date/Time Stamp

Date 10

486

495

Not used; leave 10 spaces.

(MM/DD/YYYY)

Reference 1

PO_LN_ACCT. REF_STRUC_1_ ID

Character 20

496

515

Optional.

 

Reference 2

PO_LN_ACCT. REF_STRUC_2_ ID

Character 20

516

535

Optional.

 

Order Reference ID

PO_LN.ORDER_REF_ID

Character 10

536

545

Optional.

 

Item

PO_LN.ITEM_ID

Character 30

546

575

Optional.

 

Item Revision

PO_LN.ITEM_RVSN_ID and USER_RVSN_ FLD

Character 3

576

578

Optional.

 

Order Reference Type

PO_LN.S_ORD_REF_TYPE_CD

Character 1

579

579

Optional

 

Order Reference Line No

PO_LN.ORDER_REF_LN_NO

Number 4

580

583

Optional.

 

Industry Class Code

PO_LN.IND_ CLASS_CD

Character 8

584

591

Optional.

 

CIS Withholding Flag

PO_LN.CIS_ WH_FL

Character 1

592

592

Optional.

 

Inventory Abbreviation Code

PO_LN.INVT_ ABBRV_CD

Character 6

593

598

Optional.

 

Requisition Line Key

RQ_LN_KEY

Integer 10

599

608

Optional.

 

Warehouse ID

PO_LN.WHSE_ ID

Character 8

609

616

Optional.

 

Completed Work Retention Pct

PO_LN. COMPLT_RET_
PCT

Number 10,8

617

626

Optional.

9.99999999

Stored Materials Retention Pct

PO_LN.STORED_RET_PCT

Number 10,8

627

636

Optional.

9.99999999

Mil Spec ID

PO_LN.MIL_SPEC_ID

Character 20

637

656

Optional.

If null, load from Costpoint Product Definition.

 

PO Line Notes Record (PO_LN_NOTES)

Name

Costpoint Column

Number of Characters

Starting Position

Ending Position

Required/ Optional

Format

Record Type

N/A

Character 2

1

2

Required.

(LN)

PO ID

PO_ID

Character 10

3

12

Required.

 

PO Release Number

PO_RLSE_NO

Number 3

13

15

Required.

(999)

PO Line Number

PO_LN_NO/PO_LN_KEY

Number 4

16

19

Required.

(999)

PO Line Text

PO_LN_TX

Character 1,000

20

1,019

Required.

 

 

PO Line Text Record (PO_LN_TEXT)

Name

Costpoint Column

Number of Characters

Starting Position

Ending Position

Required/ Optional

Format

Record Type

N/A

Character 2

1

2

Required.

(LT)

PO ID

PO_ID

Character 10

3

12

Required.

 

PO Release Number

PO_RLSE_NO

Number 3

13

15

Required.

(999)

PO Line Number

PO_LN_NO/PO_LN_KEY

Number 4

16

19

Required.

(9999)

Text Code

TEXT_CD

Character 10

20

29

Required.

 

Text Source Code

S_TEXT_SRCE_CD

Character 1

30

30

Required.

 

Sequence Number

SEQ_NO

Number 4

31

34

Required.

(9999)

Processing Procedure

1.         The application inserts rows from the Input File into the worktables and validates each purchase order in its entirety.

2.         Defaults are applied.

3.         The application inserts any errors found into the error table. Purchase Orders with no errors are inserted or updated in the Costpoint tables.

4.         If a Purchase Order has errors, all its rows from the Input File will be written to the Error File (*.ERR).

5.         The Input File is renamed (*.OLD).

6.         Once you exit the screen, all data in all the worktables, including the Error table, is deleted.

You can print or view the Error Report on the screen. 

  Limitations

1.         A maximum of two line charges is accepted per PO Line.

2.         One Account ID is allowed per PO Line.

3.         You cannot load historical purchase order data into the Archive tables. You can load such data with a "Closed" status (with some limitations) and then archive it using the Archive Purchase Orders screen in Costpoint Purchasing.

4.         The application does not auto-assign Purchase Order numbers.

5.         The application does not process a purchase order if there are an insert record and an update record in the same Input File.

6.         You can use this preprocessor to generate releases against blanket POs, but it does not perform any blanket balance validation or allow the user to enter blanket restrictions.

7.         Any new purchase orders will have the user’s company ID in the PO_HDR. For a user to  change an existing purchase order, the company ID in the header must match the user’s company ID.

Changes to Purchase Orders

When you enter purchase orders through this interface, they are marked as loaded by the system using the Modified By field in all affected tables. 

If you make changes to these purchase orders, Deltek recommends making them in the source system to maintain system integrity.

The following rules apply for updating existing purchase orders:

1.         If receipts or vouchers exist, the program performs several edits:

a.       The Order Quantity (ORD_QTY) cannot be less than the Received Quantity (RECVD_QTY) or Accepted Quantity (ACCPTD_QTY).

b.      The Calculated PO Line Total Amount (PO_LN_TOT_AMT) cannot be less than the Vouchered Amount (VCHRD_AMT) or Posted Amount (PSTD_AMT).

2.         No line renumbering is allowed. If you delete a line in the host system, the system sends a record with zero quantity, zero amount, and a status of "V" (Void).

3.         The Vendor Address and Branch Locations columns are updated only when new PO lines are being inserted or when new information is specified in the input file.

Application Processing Notes

After you run this application, you should be able to view and/or update the purchase orders in Costpoint Purchasing.

Editing purchase order information in the input files for this application may cause discrepancies between the PO in the source system and the PO in Costpoint.

Most of the edits are contained in the Input File tables. Please see the relationships between the Purchase Order Line (PO_LN) and the Purchase Order Header (PO_HDR) for each input file field, and note the screen and report error messages that may display. For example, if you are running the Purchase Order Line input file, the Purchase Order ID must already exist. If you update the amount of the PO Line, you will need to adjust the PO Total Amount (PO_HDR.PO_TOT_AMT). Also note the relationships between all fields that are populated as a result of the calculations.

If the Input File contains purchase orders and/or lines that already exist in the database, the system assumes that the record needs to be updated. Therefore, fields in the Input File take precedence. For instance, if you have changed the quantity in the Input File, the program uses the new quantity and adjusts the PO Header accordingly. 

However, updates to a purchase order are restricted to certain fields if there are receipts and/or vouchers charged against it, with the exception of a status change.

Updates to the PO Header Status are allowed, even if there are no associated PO lines in the input file. The system displays an error message if the PO Header Status is changed to "V" (Void) or "P" (Pending) in the input file, and there are one or more existing PO lines for which PO Receipts or Vouchers have been created.  The system also displays a warning message if the PO Header Status is changed from "O" (Open) or "P" (Pending) to "V" (Void); during processing, PO lines with an "O" (Open) or "P" (Pending) status is automatically voided (the status will change to "V").  Updates to the Blanket PO Header Status are not allowed if releases have already been created.

DETAILED TABLE SPECIFICATIONS

ERROR MESSAGES