You are on page 1of 17

INTEGRATE

Microsoft Dynamics GP

Integrating with the Historical


Inventory Trial Balance
White Paper
This paper provides guidance for ISV products that integrate
with Inventory transaction posting.

Date: April 18, 2008


http://www.microsoft.com/dynamics/gp

Table of Contents
Introduction ................................................................................................ 3
Code and data components ......................................................................... 3
Enabling HITB functionality ........................................................................ 4
Posting data to the HITB table .................................................................... 4
Using Inventory transaction work tables and posting scripts ...................................................... 4
Posting data directly to the Inventory purchase receipts tables .................................................. 4
Using lower-level posting scripts to post transactions to Inventory ............................................. 5

SEE30303 table definition ........................................................................... 6


SEE30303 table indexes (keys) ............................................................................................12

Script API.................................................................................................. 13
ivHITBActivated() ........................................................................................................... 13
ivHITB_Start_TRIGGER .................................................................................................... 13
ivHITB_Finish_TRIGGER .................................................................................................. 13
ivHITBDetail_Reserve_TRIGGER........................................................................................ 13
ivHITBDetail_Add_TRIGGER ............................................................................................. 13
ivHITBDetail_CacheItemValues_TRIGGER ........................................................................... 15
ivHITBDetail_GetCachedItemValues_TRIGGER .................................................................... 15
ivHITBDetail_CacheTrxValues_TRIGGER ............................................................................. 16
ivHITBDetail_GetCachedTrxValues_TRIGGER ...................................................................... 16
ivHITBDetail_CacheTrxLineValues_TRIGGER ....................................................................... 16
ivHITBDetail_GetCachedTrxLineValues_TRIGGER ................................................................. 16
ivHITBDetail_UpdateWithGLPostedValues_TRIGGER ............................................................. 16

2
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Introduction
This article describes how to integrate with the Historical Inventory Trial Balance (HITB) functionality
in Microsoft Dynamics GP 10.0. Specifically, this article details the changes necessary in integrating
applications whose posting logic updates item purchase receipt data in the Inventory module.
For integrating applications that post to Inventory by creating transactions in the Inventory
Transaction Work tables and then use the existing posting routines provided by Microsoft Dynamics GP
(i.e., global procedures IV_Post_Batch or IV_Post_Transaction), no changes are necessary to support
HITB because all necessary changes are embedded within those routines already.
For integrating applications that post directly to the Inventory purchase receipt and transaction history
tables, the appropriate related data must be created in a new table used to track HITB details. If the
correct HITB data is not created, the Historical Inventory Trial Balance Report will not balance with the
corresponding inventory accounts in General Ledger.

Code and data components


The following components have been added to Microsoft Dynamics GP Release 10.0 Service Pack 2 to
support the HITB functionality. (Note that Release 10.0 Service Pack 2 is a part of Release 10.0
Feature Pack 1, and for the purposes of this white paper, the two release names can be used
interchangeably.)

HITB dictionary A new dictionary has been added, which includes the HITB code, reports and
data model. This dictionary is named HTB5597.dic and has product ID 5597. This dictionary is
automatically installed with Release 10.0 Service Pack 2.

Inventory Transaction History Detail table A new table has been added in which HITB data
will be stored. This table (SEE30303) is automatically created in each company database when
that company is updated to Release 10.0 Service Pack 2. A detailed data model definition is
included later in this document.

HITB report stored procedure A new stored procedure has been added to collect and
aggregate the data used to print the Historical Inventory Trial Balance Report. This stored
procedure (ivCreateHistoricalIVTrialBalance) is automatically installed in each company database
when that company is updated to Release 10.0 Service Pack 2.

3
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Enabling HITB functionality


The following conditions must be met for the HITB functionality to be enabled in Microsoft Dynamics
GP. If these conditions are not met, HITB data will not be created by Inventory posting, and the
Historical Inventory Trial Balance Report will not be available within Microsoft Dynamics GP.

HITB code and data components are installed. Specifically, the HTB5597.dic file must be installed
and included in the Dynamics.set file. This is done automatically when Release 10.0 Service Pack 2
is installed.

The following row is included in the SY01401 table (in the company database):
USERID = sa, coDefaultType = 5597, USRDFSTR = 1

This row is created automatically when a new company is created in Release 10.0 Service Pack 2.
For existing companies, created prior to installing Release 10.0 Service Pack 2, this row is created
by the HITB Reset Tool provided by Microsoft Dynamics GP Support.
IMPORTANT: This tool must be run on existing companies to create the appropriate beginning
balance data in the SEE30303 table and to ensure that the Inventory sub-ledger and General
Ledger balance properly. If this is not done, the Historical Inventory Trial Balance Report will not
balance with General Ledger.

Posting data to the HITB table


There are several possible approaches for posting data to the HITB table (SEE30303), depending on
which of the following methods an integrating application uses to post transactions to the Inventory
module and its data tables.

Using Inventory transaction work tables and posting scripts


Using this method, an integrating product writes transactions to the Inventory transaction work tables
(IV10000 through IV10004) and then uses the existing Microsoft Dynamics GP posting scripts (global
procedure IV_Post_Batch or IV_Post_Transaction) to post those transactions.
Products using this method automatically inherit the HITB functionality with no additional code
changes.
The same is true of products which write transactions to the transaction work tables for other modules
(Sales Order Processing, Purchase Order Processing, Invoicing, etc.) that post through Inventory, and
use the associated module posting routines. Because these routines already handle posting data to
HITB, additional code changes in the integrating product should not be necessary.

Posting data directly to the Inventory purchase receipts tables


Using this method, an integrating product writes data directly to the Inventory purchase receipts
tables (IV10200 and IV10201) without using existing Microsoft Dynamics GP posting scripts.
Products using this method will need to also add the appropriate related data to the SEE30303 table.
The table definition and supporting APIs included in this document provide the necessary framework
for adding the data to the SEE30303 table. See also the posting code pattern outlined in the Using
lower-level posting scripts to post transactions to Inventory section below.

4
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Using lower-level posting scripts to post transactions to Inventory


Using this method, an integrating product has its own batch and transaction posting scripts, but
makes use of lower-level Inventory posting scripts (those not documented in the Microsoft Dynamics
GP SDK) to post transactions into Inventory module data tables.
Products using this method will need to be modified to include additional code as shown in the code
pattern listed below. This ensures that the posting environment is set up properly for the HITB calls
within subsequent (lower-level) purchase receipt processing scripts.
The following outlines the basic posting code pattern used in Microsoft Dynamics GP, provided as an
example. Items added for HITB are in red.
I.

Post Batch script


a.

Post Transaction script


i. Posting pre-verification processing (if this fails, dont do the following steps)
ii. Call ivHITB_Start_TRIGGER (to initialize the HITB sub-system)
iii. Call ivHITBDetail_CacheTrxValues_TRIGGER (to cache values typically stored
with the transaction header)
iv. Line item posting loop
1.

Call ivHITBDetail_CacheTrxLineValues_TRIGGER (to cache values


typically stored with the transaction line item)

2.

Post line item to Inventory (purchase receipts, etc.)


a.

3.

This should call the appropriate increase/decrease scripts in


Inventory that will automatically handle the rest of the HITB
data creation along with the existing purchase receipt
handling.

When done posting the last line item or the General Ledger black box
array is full:
a.

Call GL_BB_Create_Batch_Hdr_and_Activity_V410 to post


distributions for the line items to General Ledger.

v. call ivHITBDetail_UpdateWithGLPostedValues_TRIGGER (to set the General


Ledger transaction values on the HITB records generated by posting this line
item)
1.

Note that this call may be made inside the line item posting loop,
depending on how the integrating application posts distributions to
General Ledger for each line item. For example, Microsoft Dynamics GP
code uses an array (of General Ledger distributions) in conjunction
with the General Ledger black box posting routines. That array is
populated within the line item posting loop. When the array is full, the
distributions are posted to General Ledger, so at that point the General
Ledger values need to be applied to the HITB records created up to
that point in time. Thus Microsoft Dynamics GP code calls this script
within the line item posting loop.

vi. call ivHITB_Finish_TRIGGER (with false parameter)

5
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

SEE30303 table definition


The following table lists the columns (fields) in the Inventory Transaction History Detail table.
Field name

Data type

Physical name

Description

Item Number

String 30

ITEMNMBR

The item number being affected by this


transaction.

Sequence Number

Long Integer

SEQNUMBR

Sequence number per Item Number to


ensure uniqueness of primary key.

Document Number

String 20

DOCNUMBR

Number of the document being posted or


revalued.

Document Date

Date

DOCDATE

Date of the document/transaction being


posted or revalued.

GL Posting Date

Date

GLPOSTDT

The date assigned to the related General


Ledger transaction(s) indicates the date
on which General Ledger balances were
affected by this transaction.
This is also the General Ledger date that is
saved to the IV30200 table.

Location Code

String 10

LOCNCODE

The location code/site for the transaction.

Receipt Number

String 20

RCPTNMBR

The number of the purchase receipt that


increases inventory (from table IV10200).
This will be blank for decrease type
transactions and cost variances on sold
receipts.

Receipt SEQ Number

Long Integer

RCTSEQNM

The sequence number of the purchase


receipt layer being added, removed, or
directly adjusted by this transaction.
This is a value that enables the ability to link
directly back to the IV10200 and IV10201
tables.

Purchase Receipt Type

Drop-down
list

PCHSRCTY

Identifies what type of transaction increased


inventory. The values are:
1 Adjustment
2 Variance
3 Transfer
4 Override
5 Receipt
6 Return
7 Assembly
8 In Transit Transfer

6
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Field name

Data type

Physical name

Description

Document Type

Drop-down
List

DOCTYPE

The type of transaction being posted.


Types 1-12 are standard Inventory
document types:
1 IV Adjustment
2 IV Variance
3 IV Transfer
4 Receipt from other modules **
5 Return from Invoicing or Sales Order
Processing
6 Sale from Invoicing or Sales Order
Processing
7 BOM (Bill of Materials)
8 Adjust Cost Utility
9 Cost adjustment from closing a PO short
10 Cost adjustment from a PO Return
11 Cost adjustment from PO Invoice
Match
12 Cost adjustment from PO Landed Cost
Match
Type 100 represents a beginning
balance record created only by the
HITB reset tool:
100 beginning balance
Types 101-112 represent adjustments
to the unit cost on sold receipts in the
IV10201 table:
101 Cost variance on an IV Adjustment
102 Cost variance on an IV Variance
103 Cost variance on an IV Transfer
104 Cost variance on an IV Receipt from
another module **
105 Cost variance on a SOP or Invoicing
Return
106 Cost variance on a SOP or Invoicing
Sale
107 Cost variance on a BOM transaction
108 Cost variance on a purchase receipt
from using the Adjust Cost Utility
109 Cost variance resulting from closing a
PO short
110 Cost variance from PO return
111 Cost variance from an Invoice Match
in Purchase Order Processing (invoiced at
different cost than shipment)
112 Cost variance from a Landed Cost
Match in Purchase Order Processing
(invoiced with different landed cost than
was on the shipment)

7
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Field name

Data type

Physical name

Description

QTY Type

Drop-down
list

QTYTYPE

This is to indicate what quantity type is


affected for the specific transaction.
1 On Hand
2 Returned
3 In Use
4 In Service
5 Damaged

U Of M

String 8

UOFM

The unit of measure used for the transaction


line item.
For cost variance records, this will be blank.

TRX QTY In Base

Currency

TRXQTYInBase

The quantity from the transaction that


increased or decreased the inventory
quantity. This quantity is in the items base
unit of measure.
This value will be negative for decreases
(outflows) and positive for increases
(inflows).
This will be zero for cost variance records.

TRX QTY

Currency

TRXQTY

The quantity from the transaction line item


in the unit of measure used on the
originating transaction.
Note that when the quantity comes from
multiple purchase receipts, there will be
multiple HITB records. In that case, the TRX
QTY will be the full quantity from the
originating transactions line item, not a
proportional split (in U Of M) of the quantity
from the specific purchase receipt.
This will be zero for cost variance records.

Variance Qty

Currency

VARIANCEQTY

The quantity for any records generated in


this table due to cost variances.
This value will never be negative. It will
reflect the quantity that is affected by the
cost variance.

Unit Cost

Currency

UNITCOST

For original increase/decrease transactions,


this will contain the unit cost for those
transactions (always positive).
For cost variances, this will contain the
difference between the old and new unit
cost. If the new cost is less than the old
cost, this value will be negative; if the new
cost is more than the old cost, this value will
be positive.

8
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Field name

Data type

Physical name

Description

Extended Cost

Currency

EXTDCOST

Extended cost or extended cost variance for


this record.
This will be the same amount used for either
the credit or debit amount, but it will include
a sign reflecting the impact on the Inventory
value.
The basic formula is:
If TRXQTYInBase <> 0 then
EXTDCOST = (TRXQTYInBase *
UNITCOST)
else
EXTDCOST = (VARIANCEQTY *
UNITCOST)
Note that this value is rounded the same as
the General Ledger distribution amounts,
which is generally using the decimal places
assigned to the functional currency for the
company.

Decimal Places QTYS

Drop-down
list

DECPLQTY

Decimal places setting for the item for


quantities.

Decimal Places
Currency

Drop-down
list

DECPLCUR

Decimal places setting for the item for


currency.

IsOverrideReceipt

Boolean

IsOverrideReceipt

Indicates whether the record is for an


override purchase receipt or not.
Its value is true if the related purchase
receipts Receipt Type = 4.

IsOverrideRelieved

Boolean

IsOverrideRelieved

True if the override receipt is fully relieved


(so the override receipt has been removed
from the IV10200 table).
False if this is a non-override receipt or the
override receipt is not yet fully relieved.

OverrideRelievedDate

Date

OverrideRelievedDate

The date on which the override was fully


relieved.
Note that this is the SQL Server date (not
the Microsoft Dynamics GP user date) on
which the IsOverrideRelieved flag was set to
true.

Originating Revalued
Receipt Number

String 20

ORVRCTNMB

Identifies the original purchase receipt that


was revalued, which subsequently caused
the adjustment to the cost of the purchase
receipt identified by Receipt Number.

History Module

String 3

HSTMODUL

Identifies the module from which this


transaction originated.

Originating TRX
Source

String 13

ORTRXSRC

The transaction source for the originating


transaction that affected inventory.

Line SEQ Number

Currency

LNSEQNBR

The line sequence number from the IV30300


table.

Line Item Sequence

Long Integer

LNITMSEQ

The line item sequence number for Sales


Order Processing transactions (enables a
link back to SOP_LINE_HIST table).

9
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Field name

Data type

Physical name

Description

Component Sequence

Long Integer

CMPNTSEQ

The component sequence number for Sales


Order Processing transactions (in case the
item is a component on a kit sold or
returned through Sales Order Processing).

Source Reference
Number

String 30

SRCRFRNCNMBR

This is the third party dictionary reference


number that usually contains the document
number of the third party transaction that
caused the change in inventory. This value
is also stored in the IV10000 and IV30200
tables.

Vendor ID

String 15

VENDORID

The vendor ID (or sometimes the


transaction type) of the increase
transaction. Contains the same value as in
the IV10200 table.

PO Number

String 17

PONUMBER

The PO Number (or sometimes the


transaction type) of the increase
transaction. Contains the same value as in
the IV10200 table.

Transaction Reference

Integer

TRXREFERENCE

Identifies the source of the transaction (or


the adjusted sold receipt).
101 = BOM
102 = Invoicing Invoice
103 = IV Adjustment
104 = IV Transfer
105 = IV Variance
106 = MFG Close
107 = MFG Component Trx Entry
108 = MFG Receipt
109 = POP Purchase Return
110 = SOP Invoice
111 = IV Stock Count
112 = Field Service Service Call
113 = Field Service RMA Entry
114 = Field Service Return
115 = Field Service Depot
117 = IV Reconcile outflow
118 = Conversion Record
119 = POP Edit PO Status
120 = Adjust Cost Utility
121 = POP Invoice PPV
122 = POP Invoice Landed Cost
123 = POP Receipt
124 = SOP Return
125 = Invoicing Return
126 = In-Transit Transfer

Valuation Method

Drop-down
list

VCTNMTHD

The valuation method of the item at the


time of the transaction.

10
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Field name

Data type

Physical name

Description

IV IV Index

Long integer

IVIVINDX

The index for the Inventory account affected


by this transaction.
This is the account to which the credit or
debit amount will be posted.

IV IV Offset Index

Long integer

IVIVOFIX

The index for the offset account affected by


this transaction (PPV, IV offset, variance,
COGS, etc.).
This is the account to which the offset of the
credit or debit amount will be posted.

Journal Entry

Long integer

JRNENTRY

The journal entry number used for the


General Ledger distributions created for this
transaction.

TRX Source

String 13

TRXSORCE

The transaction source assigned on the


detail transaction in General Ledger.

Credit Amount

Currency

CRDTAMNT

The credit amount being posted to General


Ledger for the Inventory account.

Debit Amount

Currency

DEBITAMT

The debit amount being posted to General


Ledger for the Inventory account.

Date

Date

DATE1

The date (from SQL Server) when this row


was added to the table.

Time

Time

TIME1

The time (from SQL Server) when this row


was added to the table.

** Receipts for transactions from other modules include:


POP Shipment
POP Invoice
POP Shipment/Invoice
In-Transit Transfer
POP Return
POP Return for Credit
POP Inventory Return
POP Inventory Return for Credit

11
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

SEE30303 table indexes (keys)


Key name and attributes

Key fields

ivHITBDetailIdx_ID

Item Number

Primary, Unique

Document Date

Segment attributes

ascending

Receipt SEQ Number


Sequence Number
ivHITBDetailIdx_TrxByGLDate
Unique

GL Posting Date

ascending

Item Number
TRX QTY
Extended Cost
Sequence Number

ivHITBDetailIdx_TrxByDocDate
Unique

Document Date

ascending

Item Number
TRX QTY
Extended Cost
Sequence Number

ivHITBDetailIdx_ItemSequence
Unique
ivHITBDetailIdx_Aggregate
Unique, Clustered

Item Number
Sequence Number
GL Posting Date

ascending

Item Number
QTY Type
Sequence Number

12
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Script API
This section documents the scripts defined in the core Microsoft Dynamics GP dictionary for use in
posting code.

ivHITBActivated()
This global function returns a Boolean value indicating whether the HITB code is loaded and enabled.
See the Enabling HITB functionality section for the conditions that determine whether HITB
functionality is enabled.
Parameters:

(none)

ivHITB_Start_TRIGGER
This global procedure initializes the HITB supporting code and cache data structures. It should be
called at the start of the posting process for a transaction.
Parameters:

(none)

ivHITB_Finish_TRIGGER
This global procedure finalizes the HITB data and moves it from the cache to the SEE30303 table. It
should be called at the end of the posting process for a transaction. Note that if it is not called, the
data will not get added to the SEE30303 table.
Parameters:

fAbort [in] a Boolean value indicating whether the posting process was interrupted or aborted. If
true, the HITB data will be discarded from the cache rather than being transferred to the
SEE30303 table.

ivHITBDetail_Reserve_TRIGGER
This global procedure reserves a record in the HITB data cache and returns the sequence number
assigned to that record. This is helpful if you need to reserve a sequence number early in processing
(before you know the full details of the HITB record), so records added by subsequent processing
appear after the one youve reserved (when sorting or iterating by sequence number).
Parameters:

Item Number [in] The item for which a HITB record will be created in the data cache.

Sequence Number [out] The sequence number reserved for the new record in the data cache.

ivHITBDetail_Add_TRIGGER
This global procedure adds a record to the HITB data cache. Use this whenever a new HITB record
needs to be generated. Note that the ivHITB_Start_TRIGGER script must be called at some point prior
to this in code execution to ensure the data cache is properly initialized.
Also, while this is primarily intended for adding records to the data cache, it can also be use to update
an existing record in the data cache. In order to do use it in this manner, the Item Number and
Sequence Number values must be known for the record you wish to update. Additionally, when used
in this manner, only the values being updated need to be passed into this procedure; those which you
do not wish to change can be passed in as empty values (which will be ignored when updating the
record).
13
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

Note that the following SEE30303 table values are not included as parameters. These are set
internally by the HITB code as follows:

IsOverrideReceipt Set to true if the 'Purchase Receipt Type' parameters value is 4; otherwise, it
is set to false.

IsOverrideRelieved Set to false.

OverrideRelievedDate Set to an empty date value.

Date Set to the date from the SQL Server when the record is saved to the data cache.

Time Set to the time from the SQL Server when the record is saved to the data cache.

Parameters (see the SEE30303 table definition for descriptions of each field):

'Item Number' [in]

'Sequence Number' [in] This value should always be zero when adding a new record. If this
script is being called to update an existing HITB record in the data cache, the appropriate
sequence number should be used.

'Document Date' [in]

'GL Posting Date' [in] This value is often not yet known at the time the line item is being posted,
so it can be left empty (zero) at this point and updated later.

'Document Number' [in]

'Document Type' [in]

'Location Code' [in]

'Receipt Number' [in]

'Receipt SEQ Number' [in]

'Purchase Receipt Type' [in]

'QTY Type' [in]

'U Of M' [in]

'TRX QTY In Base' [in]

'TRX QTY' [in]

'Variance Qty' [in]

'Unit Cost' [inout] Note that this value is, in certain cases, altered by Microsoft Dynamics GP
Manufacturing.

'Extended Cost' [inout] Note that this value is, in certain cases, altered by Microsoft Dynamics
GP Manufacturing.

'Decimal Places QTYS' [in]

'Decimal Places Currency' [in]

'Originating Revalued Receipt Number' [in]

'History Module' [in]

'Originating TRX Source' [in]

'Line SEQ Number' [in]

'Line Item Sequence' [in]

'Component Sequence' [in]

14
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

'Source Reference Number' [in]

'Vendor ID' [in]

'PO Number' [in]

'Transaction Reference' [in]

'Valuation Method' [in]

'IV IV Index' [in]

'IV IV Offset Index' [in]

'Journal Entry' [in] This value is often not yet known at the time the line item is being posted, so
it can be left empty (zero) at this point and updated later.

'TRX Source' [in] This value is sometimes not yet known at the time the line item is being
posted, so it can be left empty at this point and updated later.

'Credit Amount' [inout] Note that this value is, in certain cases, altered by Microsoft Dynamics
GP Manufacturing.

'Debit Amount' [inout] Note that this value is, in certain cases, altered by Microsoft Dynamics GP
Manufacturing.

nTriggerFlag [optional in] An integer used to tell Microsoft Dynamics GP Manufacturing whether
to modify distribution values during posting. To prevent Manufacturing from modifying the
distribution values, exclude or pass 0 to this parameter. In general, though, pass 1 to this
parameter.

ivHITBDetail_CacheItemValues_TRIGGER
This global procedure saves certain item-specific values for later use when adding the HITB record to
the data cache. This is useful when these values are known only outside of the scope of the code that
adds the HITB records to the data cache. These values can later be retrieved using global procedure
ivHITBDetail_GetCachedItemValues_TRIGGER.
Values cached by this procedure are:

Item Number

Valuation Method

Decimal Places QTYS

Decimal Places Currency

Parameters:

table IV_Item_MSTR [in] The item master table buffer, positioned on the item record for which
you wish to cache the values.

ivHITBDetail_GetCachedItemValues_TRIGGER
This global procedure returns the values cached by the ivHITBDetail_CacheItemValues_TRIGGER
procedure.
Parameters:

Item Number [inout] This value is provided mainly to validate that the cached values are for
the desired item number.

'Valuation Method' [out] The valuation method cached for the item.

'Decimal Places QTYS' [out]

'Decimal Places Currency' [out]

15
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

ivHITBDetail_CacheTrxValues_TRIGGER
This global procedure saves certain values (which are generally stored with the transaction header
information) for later use when adding the HITB record to the data cache. This is useful when these
values are known only outside of the scope of the code which adds the HITB records to the data
cache. These values can later be retrieved using global procedure
ivHITBDetail_GetCachedTrxValues_TRIGGER.
Parameters:

'History Module' [in]

'TRX Source' [in]

'Source Reference Number' [in]

ivHITBDetail_GetCachedTrxValues_TRIGGER
This global procedure returns the values cached by the ivHITBDetail_CacheTrxValues_TRIGGER
procedure.
Parameters:

'History Module' [out]

'TRX Source' [out]

'Source Reference Number' [out]

ivHITBDetail_CacheTrxLineValues_TRIGGER
This global procedure saves certain values (which are generally stored with the transaction line item
information) for later use when adding the HITB record to the data cache. This is useful when these
values are known only outside of the scope of the code that adds the HITB records to the data cache.
These values can later be retrieved using global procedure
ivHITBDetail_GetCachedTrxLineValues_TRIGGER.
Parameters:

'Line Item Sequence' [in]

'Component Sequence' [in]

'U Of M' [in]

'TRX QTY' [in]

ivHITBDetail_GetCachedTrxLineValues_TRIGGER
This global procedure returns the values cached by the ivHITBDetail_CacheTrxLineValues_TRIGGER
procedure.
Parameters:

'Line Item Sequence' [out]

'Component Sequence' [out]

'U Of M' [out]

'TRX QTY' [out]

ivHITBDetail_UpdateWithGLPostedValues_TRIGGER
This global procedure updates any records in the HITB data cache (which have not already been
assigned GL posting values) with the specified posting date, journal entry number and (optionally)
transaction source (batch ID). This is useful when many line items are posted before the related GL
16
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE

distributions get posted (so there are records in the data cache without GL transaction information
assigned to them).
Parameters:

'GL Posting Date' [in] The date on which the distributions were posted to GL.

'Journal Entry' [in] The Journal Entry Number to which the GL distributions have been assigned.

'TRX Source' [optional in] The transaction source to which the journal entry is assigned in GL.

Microsoft Dynamics is a line of integrated, adaptable business management solutions that enables you and your
people to make business decisions with greater confidence. Microsoft Dynamics works like and with familiar
Microsoft software, automating and streamlining financial, customer relationship and supply chain processes in a
way that helps you drive business success.
U.S. and Canada Toll Free 1-888-477-7989
Worldwide +1-701-281-6500
0Hwww.microsoft.com/dynamics

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the
date of publication. Because Microsoft must respond to changing market conditions, this document should not be interpreted to be a
commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of
publication.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS
TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of
this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means
(electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of
Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject
matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this
document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
2008 Microsoft Corporation. All rights reserved.
Microsoft, the Microsoft Dynamics Logo, Microsoft Dynamics, and SQL Server are either registered trademarks or trademarks of
Microsoft Corporation in the United States and/or other countries.

17
INTEGRATING WITH THE HISTORICAL INVENTORY TRIAL BALANCE