Purchase Order Currency

Dr_mjhDr_mjh Member Posts: 203
Hi There;

My company Sells in US Dollars and purchase in other currencies, so I defined a currency for each vendor in the vendor card but when Navision tries to convert amounts from US dollars to JOD a meesage comes out say "There is no currency exchange rate within the filter. Filters: Currency Code: JOD, Starting Date: ".." " although I've already setup the exchange rate between the US Dollar and the JOD. #-o

Any reply will be appreciated.
Thank you for your cooperation.

Comments

  • navisi0nenavisi0ne Member Posts: 36
    Did you insert "Document Date" on your purchase order?
    The error message is because Navision is trying to find an Exchange Rate for an undefined date (Starting Date: "..").
  • johnson_alonsojohnson_alonso Member Posts: 690
    Hi Dr mjh,
    I think these code will explain your question about the exchange rate:

    UnitCostCurrency := "Unit Cost (LCY)";
    GetPurchHeader;
    IF PurchHeader."Currency Code" <> '' THEN BEGIN
    PurchHeader.TESTFIELD("Currency Factor");
    GetGLSetup;
    UnitCostCurrency :=
    ROUND(
    CurrExchRate.ExchangeAmtLCYToFCY(
    GetDate,"Currency Code",
    "Unit Cost (LCY)",PurchHeader."Currency Factor"),
    GLSetup."Unit-Amount Rounding Precision");


    the same as above also valids for sales order. so the item card invoicing (unit price and unit cost) must be set up in JOD, then in the currencies granule you can fill all the world money,and set the exchange rate base on LCY (local currency which in this case is JOD).
    Also, you must set the starting date in the exchange rate column of the currency you want, e.g. GBP = 100 JOD, starting date 010105.
    :whistle:

    Johnson "Six Day War" Alonso
  • Dr_mjhDr_mjh Member Posts: 203
    I've already setup a starting date for the exchange rate between the USD and the JOD and it is before the document date in the sales order.

    yeah.. already done. :|
    Any other thoughts? :-k

    Thank you for your cooperation
  • johnson_alonsojohnson_alonso Member Posts: 690
    dear dr mjh,
    what about in the general ledger set up, tab general, field LCY code, what did you fill there ? in my navision, I set LCY code in the set up IDR, and all vendor card and customer card are set another currencies. If I sell items to a certain customer or buy from a certain vendor, the system directly convert LCY in the item cards to vendor or customer currency in the column "direct unit cost exc.....". but firsts, in the exchange rate in currencies granule I set as follows in the lines of these columns:
    currency code : GBP
    Exchange rate amount : 1.0
    Relational exch. rate amount : 14,000 (IDR)
    Adjust. Exch. rate amount : 1.0
    Relational exch. rate amount : 14,000
    Fix exchange rate amount : currency
    starting date: 010199


    if you have done those mentioned, I think you will be able to use different curncy. if not, maybe there is some bugs.
    :-k

    rgds,
  • Dr_mjhDr_mjh Member Posts: 203
    My LCY is USD and that's what I have setup in the G\L setup, now I've already setup a currency for each vendor in the vendor card. My problem is when Navision coverts from USD to any other currency the message that I mentioned before comes out.

    Please help

    Thank you for your cooperation
  • navisi0nenavisi0ne Member Posts: 36
    What document are you trying to insert when you get the error?
    Did you insert "Document Date" on it?
  • Dr_mjhDr_mjh Member Posts: 203
    The document is the purchase order.

    Thank you for your cooperation.
  • ara3nara3n Member Posts: 9,257
    could you put the currency exchange rate table you've setup in here? It will help to see if you've setup something wrong. The other reason would be that there is a bug.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • Dr_mjhDr_mjh Member Posts: 203
    Here it is:
    [/url]

    www.erpme.com/jod.gif

    [url][/url]
  • navisi0nenavisi0ne Member Posts: 36
    the error message:
    "There is no currency exchange rate within the filter. Filters: Currency Code: JOD, Starting Date: ".." " (= Navision is searching for an exchange rate for an unknown date)
    it means that you didn't insert the date in your document, the problem is not in your Currency Exchange Rate table but in your Purchase Order.

    Did you insert the POSTING DATE in your Purchase Order?
  • Dr_mjhDr_mjh Member Posts: 203
    Yes, I did.
  • MRQMRQ Member Posts: 73
    weird problem
  • johnson_alonsojohnson_alonso Member Posts: 690
    hi dr mijh,
    have you deleted the USD currencies code in your currencies table or emptied its currency exchange rate table? if USD is really your LCY.


    g'luck,
  • Dr_mjhDr_mjh Member Posts: 203
    Dear Mr. Johnson Alonson;

    I'm not sure if I understand you, If you mean that did I setup the USD in the currency table? No, I didn't because that the currency table is only for foreign currencies and LCY shouldn't be setup their. USD or the LCY has to be setup only in the G\L setup window. Now, in the exchange rate window, all the currencies exchange rate must be setup toward the LCY. and that exactly what I did.

    I hope that I answered your question.
    Thank you for your cooperation.
  • johnson_alonsojohnson_alonso Member Posts: 690
    what about you try to compare these coding with yours :

    WITH SalesLine DO BEGIN
    SetCurrency(
    SalesHeader."Currency Code",SalesHeader."Currency Factor",SalesHeaderExchDate(SalesHeader));
    SetVAT(SalesHeader."Prices Including VAT","VAT %","VAT Calculation Type","VAT Bus. Posting Group");
    SetUoM(ABS(Quantity),"Qty. per Unit of Measure");
    SetLineDisc("Line Discount %","Allow Line Disc.","Allow Invoice Disc.");

    TESTFIELD("Qty. per Unit of Measure");
    IF PricesInCurrency THEN
    SalesHeader.TESTFIELD("Currency Factor");

    CASE Type OF
    Type::Item:
    BEGIN
    Item.GET("No.");
    SalesLinePriceExists(SalesHeader,SalesLine,FALSE);
    CalcBestUnitPrice(TempSalesPrice);

    IF FoundSalesPrice OR
    NOT ((CalledByFieldNo = FIELDNO(Quantity)) OR
    (CalledByFieldNo = FIELDNO("Variant Code")))
    THEN BEGIN
    "Allow Line Disc." := TempSalesPrice."Allow Line Disc.";
    "Allow Invoice Disc." := TempSalesPrice."Allow Invoice Disc.";
    "Unit Price" := TempSalesPrice."Unit Price";
    END;
    IF NOT "Allow Line Disc." THEN
    "Line Discount %" := 0;
    END;
    Type::Resource:
    BEGIN
    SetResPrice("Job No.","No.","Work Type Code","Currency Code");
    ResFindUnitPrice.RUN(ResPrice);

    ConvertPriceToVAT(FALSE,'','',ResPrice."Unit Price");
    ConvertPriceLCYToFCY(ResPrice."Currency Code",ResPrice."Unit Price");
    "Unit Price" := ResPrice."Unit Price" * SalesLine."Qty. per Unit of Measure";
    END;
    END;
    END;

    you just go to object designer and design code unit sales price calc. Mgt.

    rgds,
  • Dr_mjhDr_mjh Member Posts: 203
    I've just tried it my friend but it didn't work, I still have the same problem, the same ugly error message. ](*,)

    Thank you for your reply Johnson alonso
  • Dr_mjhDr_mjh Member Posts: 203
    I've just tried it my friend but it didn't work, I still have the same problem, the same ugly error message. ](*,)

    Thank you for your reply Johnson alonso

    sorry about the dublicate reply Mr. luc, that was a mistake.
  • johnson_alonsojohnson_alonso Member Posts: 690
    My best friend Dr. Mijh, I'd like you to compare this following codes with yours :
    Purchase order:

    Currency Code - OnAssistEdit()
    ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");
    IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN
    VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter);
    CurrForm.UPDATE;
    END;
    CLEAR(ChangeExchangeRate);


    Sales order:

    Currency Code - OnAssistEdit()
    ChangeExchangeRate.SetParameter("Currency Code","Currency Factor","Posting Date");
    IF ChangeExchangeRate.RUNMODAL = ACTION::OK THEN BEGIN
    VALIDATE("Currency Factor",ChangeExchangeRate.GetParameter);
    CurrForm.UPDATE;
    END;
    CLEAR(ChangeExchangeRate);

    then check and find in the object designer i.e. the form with ID 511 (change exchange rate). maybe it's the answer. maybe the form is not available or if it's available, try to see it in the tab foreign trade, currency code USD, you click not the lookup but before the lookup button, then see if the currency set up you made is available in the form.

    g'luck
  • ara3nara3n Member Posts: 9,257
    Please call your NSC to debug the problem. It is really hard to do guess works in order to find out your issue. The developer from your NSC will turn on the debugger and trace it through and tell you in 15 min what the problem is.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
Sign In or Register to comment.