Maximo List Archive

This is an archive of the Maximo Yahoo Community. The content of this pages may be a sometimes obsolete so please check post dates.
Thanks to the community owner Christopher Wanko for providing the content.



Received Unit Cost for foreign currency - precision issue

From: Priyaranjandas (2012-10-21 10:10)

Maximo Version: 7.1.1.6
We have a strange thing occurring while receiving services for a PO release against a Purchase Contract. This happens where the currency is different than our book currency. The received unit cost is different than the unit cost on the PO line and hence the received line cost also differs from the line cost.
To give an example of a live scenario, we have a contract in USD. The unit cost on the PO Line is 997, however the received unit cost shows 996.999532. The precision for both the fields is 6 decimal places.
How does MAXIMO calculate the received unit cost?
Regards,
PK


From: al_potanin (2012-10-23 07:34)

Hi,
We also had this problem in 7.1.1.6. We raised a PMR with IBM and it should have been resolved in 7.1.1.8 (not sure as we are still on 7116 :)
Details are below:
Service Request 03284 999 616.
Answer: will be fixed in Patch 7.1.1.8 (will be released in Q4, 2010)
Problem: Receiving application incorrectly updates RECEIVEDTOTALCOST field of invento-ry PO line of PO in foreign currency.
Service lines are calculated correctly.
Steps to reproduce:
1. create PO in foreign currency (USD, exchange rate with base currency AUD is 1.3048)
2. add a PO Line #1: inventory item, quantity=1, unit cost=100
3. add a PO line #2: service, quantity=1, unit cost=100
4. approve PO, go to receiving application
5. completely receive service line
Expected result:
- RECEIVEDTOTALCOST field of service PO line #2 is 100 - CORRECT
Back-end script (most important fields):
1) insert into servrectrans (currencycode,…,linecost) values (?...,?)
LINETYPE = SERVICE
CURRENCYCODE = USD
CURRENCYUNITCOST = 100.0
EXCHANGERATE = 1.3048
UNITCOST = 130.48
TAX1 = 13.05
TAX1CODE = GST STD
QUANTITY = 1.0
CURRENCYLINECOST = 100.0
LOADEDCOST = 130.48
LINECOST = 130.48
2) update poline set re-ceivedqty=?,receiptreqd=?,isdistributed=?,rejectedqty=?,receivedtotalcost=?,receivedunitcost=?,receiptscomplete=? where polineid=? and rowstamp=?
RECEIVEDQTY = 1.0
RECEIPTREQD = 1
ISDISTRIBUTED = 0
REJECTEDQTY = 0.0
RECEIVEDTOTALCOST = 100.
RECEIVEDUNITCOST = 100.0
6. completely receive Inventory Item line
Expected result:
- RECEIVEDTOTALCOST field of service PO line #1 is 130.48 – INCORRECT
Back-end script (most important fields):
1) insert into matrectrans (currencycode,…,issue) values (?,…,?)
LINETYPE = ITEM
ITEMNUM = 440-22540
CURRENCYCODE = USD
CURRENCYUNITCOST = 100.0
UNITCOST = 130.48
EXCHANGERATE = 1.3048
TAX1 = 13.05
CONVERSION = 1.0
TAX1CODE = GST STD
ACTUALCOST = 130.48
QUANTITY = 1.0
LINECOST2 = 100.0
CURRENCYLINECOST = 100.0
LOADEDCOST = 130.48
TOSTORELOC = MAIN
POLINENUM = 1
LINECOST = 130.48
2) update poline set re-ceivedqty=?,isdistributed=?,rejectedqty=?,receivedtotalcost=?,receivedunitcost=?,receiptscomplete=? where polineid=? and rowstamp=?
RECEIVEDQTY = 1.0
ISDISTRIBUTED = 0
REJECTEDQTY = 0.0
RECEIVEDTOTALCOST = 130.48
RECEIVEDUNITCOST = 130.48
--- In MAXIMO@yahoogroups.com, "Priyaranjandas" <pkk0574@...> wrote:
>
> Maximo Version: 7.1.1.6
>
> We have a strange thing occurring while receiving services for a PO release against a Purchase Contract. This happens where the currency is different than our book currency. The received unit cost is different than the unit cost on the PO line and hence the received line cost also differs from the line cost.
>
> To give an example of a live scenario, we have a contract in USD. The unit cost on the PO Line is 997, however the received unit cost shows 996.999532. The precision for both the fields is 6 decimal places.
>
> How does MAXIMO calculate the received unit cost?
>
> Regards,
> PK
>


From: Priyaranjandas (2012-11-04 16:31)

Hi,
Thanks for the information.
Actually we are getting the difference in SERVRECTRANS - MATRECTRANS seems to be working properly.
If you are still on 7.1.1.6, do you have any workaround to fix the issue?
Regards,
--- In MAXIMO@yahoogroups.com, "al_potanin" <spivot@...> wrote:
>
> Hi,
>
> We also had this problem in 7.1.1.6. We raised a PMR with IBM and it should have been resolved in 7.1.1.8 (not sure as we are still on 7116 :)
>
> Details are below:
> Service Request 03284 999 616.
> Answer: will be fixed in Patch 7.1.1.8 (will be released in Q4, 2010)
>
> Problem: Receiving application incorrectly updates RECEIVEDTOTALCOST field of invento-ry PO line of PO in foreign currency.
> Service lines are calculated correctly.
>
> Steps to reproduce:
> 1. create PO in foreign currency (USD, exchange rate with base currency AUD is 1.3048)
> 2. add a PO Line #1: inventory item, quantity=1, unit cost=100
> 3. add a PO line #2: service, quantity=1, unit cost=100
> 4. approve PO, go to receiving application
> 5. completely receive service line
> Expected result:
> - RECEIVEDTOTALCOST field of service PO line #2 is 100 - CORRECT
> Back-end script (most important fields):
> 1) insert into servrectrans (currencycode,…,linecost) values (?...,?)
> LINETYPE = SERVICE
> CURRENCYCODE = USD
> CURRENCYUNITCOST = 100.0
> EXCHANGERATE = 1.3048
> UNITCOST = 130.48
> TAX1 = 13.05
> TAX1CODE = GST STD
> QUANTITY = 1.0
> CURRENCYLINECOST = 100.0
> LOADEDCOST = 130.48
> LINECOST = 130.48
> 2) update poline set re-ceivedqty=?,receiptreqd=?,isdistributed=?,rejectedqty=?,receivedtotalcost=?,receivedunitcost=?,receiptscomplete=? where polineid=? and rowstamp=?
> RECEIVEDQTY = 1.0
> RECEIPTREQD = 1
> ISDISTRIBUTED = 0
> REJECTEDQTY = 0.0
> RECEIVEDTOTALCOST = 100.
> RECEIVEDUNITCOST = 100.0
> 6. completely receive Inventory Item line
> Expected result:
> - RECEIVEDTOTALCOST field of service PO line #1 is 130.48 – INCORRECT
> Back-end script (most important fields):
> 1) insert into matrectrans (currencycode,…,issue) values (?,…,?)
> LINETYPE = ITEM
> ITEMNUM = 440-22540
> CURRENCYCODE = USD
> CURRENCYUNITCOST = 100.0
> UNITCOST = 130.48
> EXCHANGERATE = 1.3048
> TAX1 = 13.05
> CONVERSION = 1.0
> TAX1CODE = GST STD
> ACTUALCOST = 130.48
> QUANTITY = 1.0
> LINECOST2 = 100.0
> CURRENCYLINECOST = 100.0
> LOADEDCOST = 130.48
> TOSTORELOC = MAIN
> POLINENUM = 1
> LINECOST = 130.48
> 2) update poline set re-ceivedqty=?,isdistributed=?,rejectedqty=?,receivedtotalcost=?,receivedunitcost=?,receiptscomplete=? where polineid=? and rowstamp=?
> RECEIVEDQTY = 1.0
> ISDISTRIBUTED = 0
> REJECTEDQTY = 0.0
> RECEIVEDTOTALCOST = 130.48
> RECEIVEDUNITCOST = 130.48
>
>
> --- In MAXIMO@yahoogroups.com, "Priyaranjandas" <pkk0574@> wrote:
> >
> > Maximo Version: 7.1.1.6
> >
> > We have a strange thing occurring while receiving services for a PO release against a Purchase Contract. This happens where the currency is different than our book currency. The received unit cost is different than the unit cost on the PO line and hence the received line cost also differs from the line cost.
> >
> > To give an example of a live scenario, we have a contract in USD. The unit cost on the PO Line is 997, however the received unit cost shows 996.999532. The precision for both the fields is 6 decimal places.
> >
> > How does MAXIMO calculate the received unit cost?
> >
> > Regards,
> > PK
> >
>


From: al_potanin (2012-11-06 01:58)

We also have problem with services.
Yes. We created a procedure to recalculate and update Received costs of PO lines. This procedure runs every night (scheduled job) and fix discrepancies.
CREATE OR REPLACE PROCEDURE MAXIMO.PO_RECEIVED_AMOUNT_FIX
IS
BEGIN
delete from MAXIMO.RECEIVED_LOG where TRANSDATE is NULL;

-- SERVICE
insert into maximo.RECEIVED_LOG
select PONUM, POLINENUM, ReceivedByPOLINE, ReceivedByReceipt, NULL from
(select st.ponum, pl.polinenum, pl.linecost, pl.receivedtotalcost as ReceivedByPOLINE, sum(st.currencylinecost) as ReceivedByReceipt
from maximo.servrectrans st, maximo.poline pl, maximo.po po
where pl.ponum=po.ponum and pl.ponum = st.ponum and pl.polinenum=st.polinenum and pl.linetype = 'SERVICE'
group by st.ponum, pl.polinenum, pl.receivedtotalcost)
where ReceivedByPOLINE <> ReceivedByReceipt;

update maximo.POLINE p1 set receivedtotalcost = (select RECAMOUNT from maximo.RECEIVED_LOG l where p1.ponum = l.ponum and p1.polinenum=l.polinenum and TRANSDATE is NULL)
where (ponum,polinenum) in (select ponum, polinenum from maximo.RECEIVED_LOG l where TRANSDATE is NULL);

update MAXIMO.RECEIVED_LOG set TRANSDATE = sysdate
where TRANSDATE is NULL;

commit;
END PO_RECEIVED_AMOUNT_FIX;
/
--- In MAXIMO@yahoogroups.com, "Priyaranjandas" <pkk0574@...> wrote:
>
> Hi,
>
> Thanks for the information.
>
> Actually we are getting the difference in SERVRECTRANS - MATRECTRANS seems to be working properly.
>
> If you are still on 7.1.1.6, do you have any workaround to fix the issue?
>
> Regards,
>
> --- In MAXIMO@yahoogroups.com, "al_potanin" <spivot@> wrote:
> >
> > Hi,
> >
> > We also had this problem in 7.1.1.6. We raised a PMR with IBM and it should have been resolved in 7.1.1.8 (not sure as we are still on 7116 :)
> >


From: Priyaranjandas (2012-11-07 20:12)

Thank you, much appreciated.
Regards,
--- In MAXIMO@yahoogroups.com, "al_potanin" <spivot@...> wrote:
>
> We also have problem with services.
>
> Yes. We created a procedure to recalculate and update Received costs of PO lines. This procedure runs every night (scheduled job) and fix discrepancies.
>
> CREATE OR REPLACE PROCEDURE MAXIMO.PO_RECEIVED_AMOUNT_FIX
> IS
> BEGIN
> delete from MAXIMO.RECEIVED_LOG where TRANSDATE is NULL;
>
> -- SERVICE
> insert into maximo.RECEIVED_LOG
> select PONUM, POLINENUM, ReceivedByPOLINE, ReceivedByReceipt, NULL from
> (select st.ponum, pl.polinenum, pl.linecost, pl.receivedtotalcost as ReceivedByPOLINE, sum(st.currencylinecost) as ReceivedByReceipt
> from maximo.servrectrans st, maximo.poline pl, maximo.po po
> where pl.ponum=po.ponum and pl.ponum = st.ponum and pl.polinenum=st.polinenum and pl.linetype = 'SERVICE'
> group by st.ponum, pl.polinenum, pl.receivedtotalcost)
> where ReceivedByPOLINE <> ReceivedByReceipt;
>
> update maximo.POLINE p1 set receivedtotalcost = (select RECAMOUNT from maximo.RECEIVED_LOG l where p1.ponum = l.ponum and p1.polinenum=l.polinenum and TRANSDATE is NULL)
> where (ponum,polinenum) in (select ponum, polinenum from maximo.RECEIVED_LOG l where TRANSDATE is NULL);
>
> update MAXIMO.RECEIVED_LOG set TRANSDATE = sysdate
> where TRANSDATE is NULL;
>
> commit;
> END PO_RECEIVED_AMOUNT_FIX;
> /
>
> --- In MAXIMO@yahoogroups.com, "Priyaranjandas" <pkk0574@> wrote:
> >
> > Hi,
> >
> > Thanks for the information.
> >
> > Actually we are getting the difference in SERVRECTRANS - MATRECTRANS seems to be working properly.
> >
> > If you are still on 7.1.1.6, do you have any workaround to fix the issue?
> >
> > Regards,
> >
> > --- In MAXIMO@yahoogroups.com, "al_potanin" <spivot@> wrote:
> > >
> > > Hi,
> > >
> > > We also had this problem in 7.1.1.6. We raised a PMR with IBM and it should have been resolved in 7.1.1.8 (not sure as we are still on 7116 :)
> > >
>