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.
> >>> > >
> >>> >
> >>>
> >>
> >>
> >
>

Reply via email to