Dear Arun , Thanks for clarifying that .
(1) I observed that when I changed the file system configuration settings the restarted the server the value in SystemProperty remained the same. I am not sure if this is the expected behaviour. In My setup I use a remote postgresql server . I verified (1) just now. regds mallah. On Thu, Aug 31, 2017 at 7:46 PM, Arun Patidar < [email protected]> wrote: > Hi Rajesh, > > SystemProperty entity is used to override file system configuration > settings. This also gives flexibility of changing values on runtime without > restart. System, first checks in the database and then go to file system if > value not found. > > > -- > Thanks & Regards > --- > Arun Patidar > Manager, Enterprise Software Development > > HotWax Systems Pvt Ltd. > > www.hotwaxsystems.com > > > On Thu, Aug 31, 2017 at 6:41 PM, Rajesh Mallah <[email protected]> > wrote: > > > Hi List , > > > > At last I managed to get my setup pick up the prices specified in > non-USD > > currency (i.e INR in my case) . > > > > From what I could understand , the system attempts to get the the > > value of "currency of handling" from multiple sources as currency > attribute > > itself can be specified at multiple places. > > > > [ Source of above info: > > ./applications/product/src/main/java/org/apache/ofbiz/ > > product/price/PriceServices.java > > Lines: 80-567, Func: calculateProductPrice ] > > > > If for whatever reasons (or set of reasons) the currency could not > > be determined > > > > (1) it attempts to get the value of property 'currency.uom.id.default' > in > > general resource/category , > > (1.1) if that also cannot be got it uses the hard coded default > USD [ > > PriceServices.java:148 ] > > > > 142 String currencyDefaultUomId = (String) > > context.get("currencyUomId"); > > 143 String currencyUomIdTo = (String) > > context.get("currencyUomIdTo"); > > 144 if (UtilValidate.isEmpty(currencyDefaultUomId)) { > > 145 if (productStore != null && > > UtilValidate.isNotEmpty(productStore.getString("defaultCurrencyUomId"))) > { > > 146 currencyDefaultUomId = > > productStore.getString("defaultCurrencyUomId"); > > 147 } else { > > 148 currencyDefaultUomId = > > EntityUtilProperties.getPropertyValue("general", > > "currency.uom.id.default", > > "USD", delegator); > > 149 } > > 150 } > > > > > > The reason why it took so long to track it down is that > > the system property 'currency.uom.id.default' itself can be specified > > in 2 places: > > > > (1) ./framework/common/config/general.properties > > (2) ./framework/common/data/CommonSystemPropertyData.xml > > > > and the entity table (RDBMS) is : SYSTEM_PROPERTY > > which seems to be loaded from (2) only and not (1) > > ( at least for the property currency.uom.id.default ) > > > > I had been making changes to (1) and expecting the system to > > use it. However the system uses the table SYSTEM_PROPERTY > > that seems to be getting loaded only from (2). > > > > > > Although i have marked this thread as solved , I am yet to analyze > > why at all the flow control reached to the stage of last resort for > > determining the handling currency from system property > > currency.uom.id.default > > > > It should have been determined much earlier through information provided > > end user using WEB-UI controls. > > > > > > I would update this thread at a later time when i am able to investigate > > that. > > > > regds > > mallah. > > > > > > > > On Thu, Aug 31, 2017 at 11:39 AM, Rajesh Mallah <[email protected] > > > > wrote: > > > > > > > > > > > I wonder why a query on a table should be run looking for > > > rows where the primary key of table is null. > > > > > > the sole filter on the below query on ProductStore is: > > > WHERE ((PRODUCT_STORE_ID IS NULL)) > > > > > > Note: this query is just run *before* looking in the ProductPrice > > > table. > > > > > > more context here: https://pastebin.com/raw/sSh1sNWb > > > > > > BTW: what is the way of altering logging config in OfBiz > > > to include Filenames and Line number? > > > > > > regds > > > mallah. > > > > > > > > > > > > > > > 2017-08-31 10:45:18,180 |http-nio-8080-exec-5 > > > |GenericDAO |T| Ran query in 3 milli-seconds: > > > EntityName: ProductStore Sql: SELECT PRODUCT_STORE_ID, > > > PRIMARY_STORE_GROUP_ID, STORE_NAME, COMPANY_NAME, TITLE, SUBTITLE, > > > PAY_TO_PARTY_ID, DAYS_TO_CANCEL_NON_PAY, MANUAL_AUTH_IS_CAPTURE, > > > PRORATE_SHIPPING, PRORATE_TAXES, VIEW_CART_ON_ADD, AUTO_SAVE_CART, > > > AUTO_APPROVE_REVIEWS, IS_DEMO_STORE, IS_IMMEDIATELY_FULFILLED, > > > INVENTORY_FACILITY_ID, ONE_INVENTORY_FACILITY, CHECK_INVENTORY, > > > RESERVE_INVENTORY, RESERVE_ORDER_ENUM_ID, REQUIRE_INVENTORY, > > > BALANCE_RES_ON_ORDER_CREATION, REQUIREMENT_METHOD_ENUM_ID, > > > ORDER_NUMBER_PREFIX, DEFAULT_LOCALE_STRING, DEFAULT_CURRENCY_UOM_ID, > > > DEFAULT_TIME_ZONE_STRING, DEFAULT_SALES_CHANNEL_ENUM_ID, > ALLOW_PASSWORD, > > > DEFAULT_PASSWORD, EXPLODE_ORDER_ITEMS, CHECK_GC_BALANCE, > > > RETRY_FAILED_AUTHS, HEADER_APPROVED_STATUS, ITEM_APPROVED_STATUS, > > > DIGITAL_ITEM_APPROVED_STATUS, HEADER_DECLINED_STATUS, > > ITEM_DECLINED_STATUS, > > > HEADER_CANCEL_STATUS, ITEM_CANCEL_STATUS, AUTH_DECLINED_MESSAGE, > > > AUTH_FRAUD_MESSAGE, AUTH_ERROR_MESSAGE, VISUAL_THEME_ID, > > > STORE_CREDIT_ACCOUNT_ENUM_ID, USE_PRIMARY_EMAIL_USERNAME, > > > REQUIRE_CUSTOMER_ROLE, AUTO_INVOICE_DIGITAL_ITEMS, > > > REQ_SHIP_ADDR_FOR_DIG_ITEMS, SHOW_CHECKOUT_GIFT_OPTIONS, > > > SELECT_PAYMENT_TYPE_PER_ITEM, SHOW_PRICES_WITH_VAT_TAX, > > SHOW_TAX_IS_EXEMPT, > > > VAT_TAX_AUTH_GEO_ID, VAT_TAX_AUTH_PARTY_ID, > ENABLE_AUTO_SUGGESTION_LIST, > > > ENABLE_DIG_PROD_UPLOAD, PROD_SEARCH_EXCLUDE_VARIANTS, > > > DIG_PROD_UPLOAD_CATEGORY_ID, AUTO_ORDER_CC_TRY_EXP, > > > AUTO_ORDER_CC_TRY_OTHER_CARDS, AUTO_ORDER_CC_TRY_LATER_NSF, > > > AUTO_ORDER_CC_TRY_LATER_MAX, STORE_CREDIT_VALID_DAYS, > > AUTO_APPROVE_INVOICE, > > > AUTO_APPROVE_ORDER, SHIP_IF_CAPTURE_FAILS, SET_OWNER_UPON_ISSUANCE, > > > REQ_RETURN_INVENTORY_RECEIVE, ADD_TO_CART_REMOVE_INCOMPAT, > > > ADD_TO_CART_REPLACE_UPSELL, SPLIT_PAY_PREF_PER_SHP_GRP, MANAGED_BY_LOT, > > > SHOW_OUT_OF_STOCK_PRODUCTS, ORDER_DECIMAL_QUANTITY, ALLOW_COMMENT, > > > STYLE_SHEET, HEADER_LOGO, HEADER_MIDDLE_BACKGROUND, > > > HEADER_RIGHT_BACKGROUND, LAST_UPDATED_STAMP, LAST_UPDATED_TX_STAMP, > > > CREATED_STAMP, CREATED_TX_STAMP FROM ofbiz.PRODUCT_STORE WHERE > > > ((PRODUCT_STORE_ID IS NULL)) where clause:[] > > > > > > > > > > > > On Thu, Aug 31, 2017 at 11:23 AM, Rajesh Mallah < > [email protected] > > > > > > wrote: > > > > > >> Hi Arun , > > >> > > >> I checked PartyAcctgPreference which was USD and changed it to INR > > >> yesterday only. After changes i do logout and login and restart the > > tomcat > > >> to ensure there are no caching issues. > > >> > > >> > > >> ofbiz_redgrape=> SELECT PTYACCPREF.PARTY_ID, > > >> PTYACCPREF.BASE_CURRENCY_UOM_ID, PTYGROUP.GROUP_NAME, > > >> PTYROLE.ROLE_TYPE_ID FROM (ofbiz.PARTY_ACCTG_PREFERENCE PTYACCPREF > INNER > > >> JOIN ofbiz.PARTY_GROUP PTYGROUP ON PTYACCPREF.PARTY_ID = > > PTYGROUP.PARTY_ID) > > >> INNER JOIN ofbiz.PARTY_ROLE PTYROLE ON PTYACCPREF.PARTY_ID = > > >> PTYROLE.PARTY_ID WHERE (((PTYROLE.ROLE_TYPE_ID = > > 'INTERNAL_ORGANIZATIO'))); > > >> > > >> -[ RECORD 1 ]--------+---------------------------------- > > >> party_id | Company > > >> base_currency_uom_id | INR > > >> group_name | REDGRAPE TECHNOLOGIES PRIVATE LTD > > >> role_type_id | INTERNAL_ORGANIZATIO > > >> > > >> > > >> > > >> The relevant field ProductStore is also INR > > >> > > >> https://pastebin.com/raw/mM2j6kiE > > >> > > >> ...... > > >> > > >> requirement_method_enum_id | > > >> order_number_prefix | > > >> default_locale_string | en_US > > >> default_currency_uom_id | INR > > >> default_time_zone_string | Asia/Kolkata > > >> default_sales_channel_enum_id | > > >> allow_password | Y > > >> > > >> ......... > > >> > > >> regds > > >> mallah. > > >> > > >> > > >> On Thu, Aug 31, 2017 at 11:05 AM, Arun Patidar < > > >> [email protected]> wrote: > > >> > > >>> Hello Rajesh, > > >>> > > >>> ProductStore and PartyAcctgPreference entities also have fields to > > store > > >>> currency UOM. > > >>> > > >>> -- > > >>> Thanks & Regards > > >>> --- > > >>> Arun Patidar > > >>> Manager, Enterprise Software Development > > >>> > > >>> HotWax Systems Pvt Ltd. > > >>> > > >>> www.hotwaxsystems.com > > >>> > > >>> > > >>> On Thu, Aug 31, 2017 at 9:17 AM, Rajesh Mallah < > > [email protected]> > > >>> wrote: > > >>> > > >>> > looks like too many messages has already been > > >>> > exchanged in past at various point in time. > > >>> > > > >>> > http://ofbiz.markmail.org/search/?q=changing+default+ > > >>> > currency#query:changing%20default%20currency > > >>> > > > >>> > it will be beneficial to new users if it is given attention . > > >>> > > > >>> > regds > > >>> > mallah. > > >>> > > > >>> > > > >>> > On Thu, Aug 31, 2017 at 8:01 AM, Rajesh Mallah < > > >>> [email protected]> > > >>> > wrote: > > >>> > > > >>> > > > > >>> > > > > >>> > > > > >>> > > @Deepak , @Rishi / List , > > >>> > > > > >>> > > Additional SQL tracing reveals that the ProductPricing > > >>> > > entities are being queried with CURRENCY_UOM_ID=USD > > >>> > > and hence the USD pricing is being picked up. I am not sure > > >>> > > why USD currency is being picked. I have changed in almost > > >>> > > all places including properties file. > > >>> > > > > >>> > > -- ./framework/common/config/general.properties > > >>> > > > > >>> > > # -- unique instance id (20 char max) > > >>> > > unique.instanceId=ofbiz1 > > >>> > > # -- the default currency to use for prices, etc > > >>> > > currency.uom.id.default=INR > > >>> > > # These values override the _NA_ DEFAULT values in user > preferences > > >>> for > > >>> > > the GLOBAL_PREFERENCES userPrefGroupTypeId > > >>> > > # -- the default organizationPartyId for used in dropdowns and > > >>> reports > > >>> > > > > >>> > > > > >>> > > 2017-08-31 07:52:15,412 |http-nio-8080-exec-9 |GenericDAO > > >>> > > |T| Ran query in 1 milli-seconds: EntityName: ProductPrice > > >>> > > Sql: SELECT PRODUCT_ID, PRODUCT_PRICE_TYPE_ID, > > >>> PRODUCT_PRICE_PURPOSE_ID, > > >>> > > CURRENCY_UOM_ID, PRODUCT_STORE_GROUP_ID, FROM_DATE, THRU_DATE, > > >>> PRICE, > > >>> > > TERM_UOM_ID, CUSTOM_PRICE_CALC_SERVICE, PRICE_WITHOUT_TAX, > > >>> > PRICE_WITH_TAX, > > >>> > > TAX_AMOUNT, TAX_PERCENTAGE, TAX_AUTH_PARTY_ID, TAX_AUTH_GEO_ID, > > >>> > TAX_IN_PRICE, > > >>> > > CREATED_DATE, CREATED_BY_USER_LOGIN, LAST_MODIFIED_DATE, > > >>> > > LAST_MODIFIED_BY_USER_LOGIN, LAST_UPDATED_STAMP, > > >>> LAST_UPDATED_TX_STAMP, > > >>> > > CREATED_STAMP, CREATED_TX_STAMP FROM ofbiz.PRODUCT_PRICE WHERE > > >>> > > ((PRODUCT_ID = ? AND (PRODUCT_PRICE_PURPOSE_ID = ? OR > > >>> > PRODUCT_PRICE_PURPOSE_ID IS NULL) > > >>> > > AND CURRENCY_UOM_ID = ? AND PRODUCT_STORE_GROUP_ID = ?)) > > >>> > > ORDER BY FROM_DATE DESC > > >>> > > > > >>> > > where clause:[PRODUCT_ID=10000, PRODUCT_PRICE_PURPOSE_ID= > > PURCHASE, > > >>> > > CURRENCY_UOM_ID=USD,PRODUCT_STORE_GROUP_ID=_NA_] > > >>> > > > > >>> > > Full Log: > > >>> > > https://pastebin.com/raw/smdQX84B > > >>> > > > > >>> > > > > >>> > > Looking forward to further comments and > > >>> > > guidance. > > >>> > > > > >>> > > ​regds > > >>> > > mallah. > > >>> > > > > >>> > > > >>> > > >> > > >> > > > > > >
