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

Reply via email to