p_acq_06 (for Serials): "Ratio of currency DEM for date 19940427 is zero"
- Article Type: General
- Product: Aleph
- Product Version: 18.01
Description:
I have been doing testing (in barnabas) on our fiscal year end rollover process in Aleph. The following error occurred when I ran p-acq-06 on Serials:
Ratio of currency DEM for date 19940427 is zero
There are several errors concerning currency like this for older orders, what I would like to know is how to find the orders these errors refer to and if this affects renewing encumbrance.
Resolution:
This message is produced by the ./com/price_to_local program, which is called twice by the ./butil/b_acq_06_a program:
(1) to update the z68_e_local_price, based on the z68_e_price, z68_e_currency, and z68_open_date; and
(2) to update the z601_local_sum, based on the z601_active_sum, z601_currency, and z601_currency_date.
The price_to_local program reads the z82 (currency) records looking for the z82 with a matching Z82-CURRENCY-NAME and the closest z82_date which less than the z68_open_date or the z601_currency_date.
There is always a z82 with z82_date of 00000000. If the z68 or z601 date is older than the z82_date of any of the z82's which have actual (non-zero) values for the z82_ratio, then this zero-ratio record will be retrieved and this message will be produced. In this case, for "DEM", we see the following (in util f/4):
Enter start Z82 key (CCCYYYYMMDD)
Only ratio of CCC will be displayed
DEM
01 z82_currency \
02 z82_currency_name ...DEM
02 z82_date ............00000000
02 z82_ratio ...........000000000000
02 filler1 .............
New key = K, exit = Q, continue = RETURN
01 z82_currency \
02 z82_currency_name ...DEM
02 z82_date ............19990111
02 z82_ratio ...........000000592100
02 filler1 .............
New key = K, exit = Q, continue = RETURN
01 z82_currency \
02 z82_currency_name ...DEM
02 z82_date ............19990125
02 z82_ratio ...........000000592900
<etc.>
SQL> select z68_rec_key from z68 where z68_e_currency = 'DEM' and z68_open_date = '19940427';
**** Hit return to continue ****
Z68_REC_KEY
--------------
00051796400101
And, looking for any DEM's older than 19990111:
SQL> select z68_rec_key, z68_order_number from z68 where z68_e_currency = 'DEM' and z68_open_date <= '19990111' and Z68_ORDER_TYPE ^= 'M';
**** Hit return to continue ****
Z68_REC_KEY Z68_ORDER_NUMBER
-------------- ------------------------------
00051796400101 0517964-00101
00085385100101 0853851-00101
The same for the z601 finds none:
select z601_rec_key, z601_rec_key_3 from z601 where z601_currency = 'DEM' and z601_currency_date = '19940427';
no rows selected
select z601_rec_key, z601_rec_key_3 from z601 where z601_currency = 'DEM' and z601_currency_date <= '19990111';
no rows selected
The same principles could be used for other currencies as well.
- Article last edited: 10/8/2013