Its always not that straightforward. I tend to use webservices  as it
provides
consistent results and you do not have to "reverse engineer" . Moreover
things
should work as advertised (documented) !


On Tue, Apr 17, 2018 at 9:17 PM, Mike <mz4whee...@gmail.com> wrote:

> Why not just write your own custom xmlrpc server (perl/python/java) that
> accepts just the P/N and new price, searches for the current record, and
> performs a SQL call to update the DB.
>
> On Tue, Apr 17, 2018 at 8:12 AM, Rajesh Mallah <mallah.raj...@gmail.com>
> wrote:
>
> > ERRATA: I meant "There is no parameter" in lieu of "There is parameter"
> >
> > On Tue, Apr 17, 2018 at 8:09 PM, Rajesh Mallah <mallah.raj...@gmail.com>
> > wrote:
> >
> > >
> > > Hi Rishi ,
> > >
> > > I am using XML RPC with OFBiz so my capabilities are limited to
> > > what the interface provides. There is  parameter that allows me
> > > to specify the data format/pattern .
> > >
> > > At this moment i have solved my problem temporarily by appending
> > > .001 after the second part in HH:MM:SS and i am only using
> > > createProductPrice instead of updateProductPrice . As creating new
> > > prices allows to have a history/audit of prices. I feel
> > updateProductPrice
> > > is really overwriting the values and trail is lost.
> > >
> > > regds
> > > mallah.
> > >
> > >
> > >
> > >
> > > On Tue, Apr 17, 2018 at 6:49 PM, Rishi Solanki <
> rishisolan...@gmail.com>
> > > wrote:
> > >
> > >> Idea of utility class is, use the format you would like and pass the
> > >> value.
> > >> It will convert into timestamp used in the table. In case you could
> not
> > >> get
> > >> the desired format in the utility class then the class uses the
> > >> java.text.SimpleDateFormat class to resolve its purpose.
> > >>
> > >> Please take a look at toTimestamp() method variations and format you
> are
> > >> receiving in the xml. Once you have the format with you, it can be
> > easily
> > >> converted into timestamp. Also if utility class does not support then
> go
> > >> to
> > >> core class for same i.e java.text.SimpleDateFormat and look for the
> > >> supporting format.
> > >>
> > >> HTH!
> > >>
> > >>
> > >> Rishi Solanki
> > >> Sr Manager, Enterprise Software Development
> > >> HotWax Systems Pvt. Ltd.
> > >> Direct: +91-9893287847
> > >> http://www.hotwaxsystems.com
> > >> www.hotwax.co
> > >>
> > >> On Tue, Apr 17, 2018 at 3:02 PM, Rajesh Mallah <
> mallah.raj...@gmail.com
> > >
> > >> wrote:
> > >>
> > >> > Further Info:
> > >> >
> > >> >   <member>
> > >> >             <name>fromDate</name>
> > >> >             <value>
> > >> >               <string><![CDATA[2018-04-17 14:59:34.001
> > +0530]]></string>
> > >> >             </value>
> > >> >    </member>
> > >> >
> > >> > In XML results in
> > >> >
> > >> > from_date                   | 2018-04-17 14:59:34.001+05:30
> > >> >
> > >> > in DB. looks like the parser is kind enough to consider TZ
> > >> > spec without colons.
> > >> >
> > >> >
> > >> > regds
> > >> > mallah.
> > >> >
> > >> >
> > >> > On Tue, Apr 17, 2018 at 2:42 PM, Rajesh Mallah <
> > mallah.raj...@gmail.com
> > >> >
> > >> > wrote:
> > >> >
> > >> > >
> > >> > > Its PostgreSQL
> > >> > > regds
> > >> > >
> > >> > >
> > >> > >  below is a sample data :
> > >> > >
> > >> > > SQL> select * from  ofbiz.product_price  where
> > >> > > product_id='PROD_SW52D5H3EN' order by created_date desc limit 1;
> > >> > >
> > >> > > -[ RECORD 1 ]---------------+------------------------------
> > >> > > product_id                  | PROD_SW52D5H3EN
> > >> > > product_price_type_id       | DEFAULT_PRICE
> > >> > > product_price_purpose_id    | PURCHASE
> > >> > > currency_uom_id             | INR
> > >> > > product_store_group_id      | _NA_
> > >> > > from_date                   | 2018-04-17 12:49:20+05:30    <----
> > This
> > >> has
> > >> > > been put by me.
> > >> > > thru_date                   |
> > >> > > price                       | 121.000
> > >> > > term_uom_id                 | WT_kg
> > >> > > 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                | Y
> > >> > > created_date                | 2018-04-17 12:49:20.416+05:30
> > >> > > created_by_user_login       | admin
> > >> > > last_modified_date          | 2018-04-17 12:49:20.416+05:30
> > >> > > last_modified_by_user_login | admin
> > >> > > last_updated_stamp          | 2018-04-17 12:49:20.416+05:30  <----
> > >> > > Generated by defaults.
> > >> > > last_updated_tx_stamp       | 2018-04-17 12:49:20.357+05:30
> > >> > > created_stamp               | 2018-04-17 12:49:20.416+05:30
> > >> > > created_tx_stamp            | 2018-04-17 12:49:20.357+05:30
> > >> > >
> > >> > >
> > >> > > On Tue, Apr 17, 2018 at 2:39 PM, Deepak Dixit
> > >> > <deepak.dixit@hotwaxsystems.
> > >> > > com> wrote:
> > >> > >
> > >> > >> Hi Rajesh,
> > >> > >>
> > >> > >> Could you please share which database you are using?
> > >> > >>
> > >> > >>
> > >> > >> Thanks & Regards
> > >> > >> --
> > >> > >> Deepak Dixit
> > >> > >> www.hotwax.co
> > >> > >>
> > >> > >> On Tue, Apr 17, 2018 at 2:36 PM, Rajesh Mallah <
> > >> mallah.raj...@gmail.com
> > >> > >
> > >> > >> wrote:
> > >> > >>
> > >> > >> >  Hi ,
> > >> > >> >
> > >> > >> >
> > >> > >> > it was in conversion/DateTimeConverters.java that was
> appending
> > >> '.0'
> > >> > to
> > >> > >> > the
> > >> > >> > end of
> > >> > >> > string if the string did not contain any  decimals. So i have
> now
> > >> > >> started
> > >> > >> > sending
> > >> > >> > the fractional seconds. And things are better (if not perfect).
> > >> > >> >
> > >> > >> >
> > >> > >> >
> > >> > >> > public java.sql.Timestamp convert(String obj, Locale locale,
> > >> TimeZone
> > >> > >> > timeZone, String formatString) throws ConversionException {
> > >> > >> >             String str = obj.trim();
> > >> > >> >             if (str.length() == 0) {
> > >> > >> >                 return null;
> > >> > >> >             }
> > >> > >> >             DateFormat df = null;
> > >> > >> >             if (UtilValidate.isEmpty(formatString)) {
> > >> > >> >                 // These hacks are a bad idea, but they are
> > >> included
> > >> > >> >                 // for backward compatibility.
> > >> > >> >                 if (str.length() > 0 && !str.contains(":")) {
> > >> > >> >                     str = str + " 00:00:00.00";
> > >> > >> >                 }
> > >> > >> >                 // hack to mimic Timestamp.valueOf() method
> > >> > >> >                 if (str.length() > 0 && !str.contains(".")) {
> > >> > >> >                     str = str + ".0";
> > >> > >> >                 } else {
> > >> > >> >                     // DateFormat has a funny way of parsing
> > >> > >> milliseconds:
> > >> > >> >                     // 00:00:00.2 parses to 00:00:00.002
> > >> > >> >                     // so we'll add zeros to the end to get
> > >> > 00:00:00.200
> > >> > >> >                     String[] timeSplit = str.split("[.]");
> > >> > >> >                     if (timeSplit.length > 1 &&
> > >> timeSplit[1].length()
> > >> > <
> > >> > >> 3)
> > >> > >> > {
> > >> > >> >                         str = str +
> "000".substring(timeSplit[1].
> > >> > >> > length());
> > >> > >> >                     }
> > >> > >> >                 }
> > >> > >> >                 df =
> > >> > >> > UtilDateTime.toDateTimeFormat(UtilDateTime.
> getDateTimeFormat(),
> > >> > >> timeZone,
> > >> > >> > locale);
> > >> > >> >             } else {
> > >> > >> >                 df = UtilDateTime.toDateTimeFormat(
> formatString,
> > >> > >> timeZone,
> > >> > >> > locale);
> > >> > >> >             }
> > >> > >> >             try {
> > >> > >> >                 return new java.sql.Timestamp(df.parse(
> > >> > str).getTime());
> > >> > >> >             } catch (ParseException e) {
> > >> > >> >
> > >> > >> >
> > >> > >> > On Tue, Apr 17, 2018 at 2:19 PM, Rajesh Mallah <
> > >> > mallah.raj...@gmail.com
> > >> > >> >
> > >> > >> > wrote:
> > >> > >> >
> > >> > >> > > Thanks Rishi.
> > >> > >> > >
> > >> > >> > > On Tue, Apr 17, 2018 at 2:08 PM, Rishi Solanki <
> > >> > >> rishisolan...@gmail.com>
> > >> > >> > > wrote:
> > >> > >> > >
> > >> > >> > >> UtilDateTime is the utility class, add the time format
> support
> > >> you
> > >> > >> want
> > >> > >> > >> and
> > >> > >> > >> use it. Most format supported by this utility class OFBiz
> > have.
> > >> > >> > >>
> > >> > >> > >> Rishi Solanki
> > >> > >> > >> Sr Manager, Enterprise Software Development
> > >> > >> > >> HotWax Systems Pvt. Ltd.
> > >> > >> > >> Direct: +91-9893287847
> > >> > >> > >> http://www.hotwaxsystems.com
> > >> > >> > >> www.hotwax.co
> > >> > >> > >>
> > >> > >> > >> On Tue, Apr 17, 2018 at 12:27 PM, Rajesh Mallah <
> > >> > >> > mallah.raj...@gmail.com>
> > >> > >> > >> wrote:
> > >> > >> > >>
> > >> > >> > >> > Now I am passing  "2018-04-17 12:09:17+05:30" as fromDate
> ,
> > >> > >> > >> > Which is the value picked up from the DB column.
> > >> > >> > >> >
> > >> > >> > >> > Even at XML level the string is preserved , but at some
> > stage
> > >> > after
> > >> > >> > >> > hitting tomcat it becomes: "2018-04-17 12:09:17+05:30.0"
> > >> > >> > >> >
> > >> > >> > >> > which is not parseable.
> > >> > >> > >> >
> > >> > >> > >> >  |W| [ModelService.makeValid] : Type conversion of field
> > >> > >> [fromDate] to
> > >> > >> > >> type
> > >> > >> > >> > [java.sql.Timestamp] failed f
> > >> > >> > >> > or value "2018-04-17 12:09:17+05:30":
> > >> > >> > >> > org.apache.ofbiz.base.util.GeneralException:
> > >> > >> > java.text.ParseException:
> > >> > >> > >> > Unparseable date: "2018-04-17 12:09:17+05:30.0"
> > >> > >> > (java.text.ParseExceptio
> > >> > >> > >> > n: Unparseable date: "2018-04-17 12:09:17+05:30.0")
> > >> > >> > >> >
> > >> > >> > >> >
> > >> > >> > >> > <!--- snippet from the XML-RPC -->
> > >> > >> > >> >
> > >> > >> > >> >           <member>
> > >> > >> > >> >             <name>fromDate</name>
> > >> > >> > >> >             <value>
> > >> > >> > >> >               <string><![CDATA[2018-04-17
> > >> > >> 12:09:17+05:30]]></string>
> > >> > >> > >> >             </value>
> > >> > >> > >> >           </member>
> > >> > >> > >> >
> > >> > >> > >> > <!-- end of snippet -->
> > >> > >> > >> >
> > >> > >> > >> >
> > >> > >> > >> >
> > >> > >> > >> >
> > >> > >> > >> > regds
> > >> > >> > >> > mallah.
> > >> > >> > >> >
> > >> > >> > >> >
> > >> > >> > >> > On Tue, Apr 17, 2018 at 11:08 AM, Rajesh Mallah <
> > >> > >> > >> mallah.raj...@gmail.com>
> > >> > >> > >> > wrote:
> > >> > >> > >> >
> > >> > >> > >> > > Hello Mr Deepak ,
> > >> > >> > >> > >
> > >> > >> > >> > > Thanks for the response . The record does exists but i
> > guess
> > >> > >> > >> > > i am not specifying the params good enough to hit the
> > record
> > >> > >> > >> > > by pkey.
> > >> > >> > >> > >
> > >> > >> > >> > > I wish there were a "product_price_id" in ProductPrice
> > >> entity.
> > >> > >> :-)
> > >> > >> > >> > >
> > >> > >> > >> > > regds
> > >> > >> > >> > > mallah.
> > >> > >> > >> > >
> > >> > >> > >> > >
> > >> > >> > >> > >
> > >> > >> > >> > >
> > >> > >> > >> > >
> > >> > >> > >> > > On Tue, Apr 17, 2018 at 9:58 AM, Deepak Dixit <
> > >> > >> > deepak.di...@hotwax.co
> > >> > >> > >> >
> > >> > >> > >> > > wrote:
> > >> > >> > >> > >
> > >> > >> > >> > >> Hi Rajesh,
> > >> > >> > >> > >>
> > >> > >> > >> > >> If you want to create product price you should use
> > >> > >> > createProductPrice
> > >> > >> > >> > >> service,
> > >> > >> > >> > >> https://demo-stable.ofbiz.apac
> > >> he.org/webtools/control/Servic
> > >> > >> > >> > >> eList?sel_service_name=createProductPrice
> > >> > >> > >> > >>
> > >> > >> > >> > >> If productPrice record already exists you should use
> > >> > >> > >> updateProductPrice,
> > >> > >> > >> > >>
> > >> > >> > >> > >> Thanks & Regards
> > >> > >> > >> > >> --
> > >> > >> > >> > >> Deepak Dixit
> > >> > >> > >> > >> Director of Product Engineering
> > >> > >> > >> > >> HotWax Commerce <https://hotwax.co/>
> > >> > >> > >> > >>
> > >> > >> > >> > >> On Mon, Apr 16, 2018 at 11:42 PM, Rajesh Mallah <
> > >> > >> > >> > mallah.raj...@gmail.com>
> > >> > >> > >> > >> wrote:
> > >> > >> > >> > >>
> > >> > >> > >> > >> > Hi ,
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > I am calling
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > https://demo-stable.ofbiz.
> apache.org/webtools/control/
> > >> > >> > >> > >> > ServiceList?sel_service_name=updateProductPrice
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > with ARGS
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > {
> > >> > >> > >> > >> >     currencyUomId           "INR",
> > >> > >> > >> > >> >     fromDate                "2018-04-16 17:39:52",
> > >> > >> > >> > >> >     price                   150,
> > >> > >> > >> > >> >     productId               "PROD_SW52D5H3EN",
> > >> > >> > >> > >> >     productPricePurposeId   "PURCHASE",
> > >> > >> > >> > >> >     productPriceTypeId      "DEFAULT_PRICE",
> > >> > >> > >> > >> >     productStoreGroupId     "_NA_",
> > >> > >> > >> > >> >     taxInPrice              "Y",
> > >> > >> > >> > >> >     termUomId               "WT_kg"
> > >> > >> > >> > >> > }
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > I am getting error:
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > faultString:Error running the simple-method: Entity
> > value
> > >> > not
> > >> > >> > found
> > >> > >> > >> > with
> > >> > >> > >> > >> > name: lookedUpValue Method = updateProductPrice,
> File =
> > >> > >> > >> > >> > file:/opt/ofbiz/apache-ofbiz-1
> > >> 6.11.04/applications/product/
> > >> > >> > >> > >> > minilang/product/price/PriceServices.xml,
> > >> > >> > >> > >> > Element = <set-nonpk-fields>, Line 69null
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > the minilang def is reproduced here for convinience:
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >  <simple-method method-name="updateProductPrice"
> > >> > >> > >> > >> short-description="Update
> > >> > >> > >> > >> > an ProductPrice">
> > >> > >> > >> > >> >         <set field="callingMethodName"
> > >> > >> > value="updateProductPrice"/>
> > >> > >> > >> > >> >         <set field="checkAction" value="UPDATE"/>
> > >> > >> > >> > >> >         <call-simple-method method-name="
> > >> > >> > >> > checkProductRelatedPermission"
> > >> > >> > >> > >> > xml-resource="component://product/minilang/product/
> > >> > >> > >> > >> > product/ProductServices.xml"/>
> > >> > >> > >> > >> >         <check-permission
> > permission="CATALOG_PRICE_MAIN
> > >> T">
> > >> > >> > >> > >> >             <fail-property resource="ProductUiLabels"
> > >> > >> > >> > >> > property="ProductPriceMaintPermissionError"/>
> > >> > >> > >> > >> >         </check-permission>
> > >> > >> > >> > >> >         <check-errors/>
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >         <call-simple-method method-name="
> > >> > >> > >> > inlineHandlePriceWithTaxInclud
> > >> > >> > >> > >> > ed"/>
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >         <entity-one entity-name="ProductPrice"
> > >> > >> > >> > >> > value-field="lookedUpValue"/>
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >         <!-- grab the old price value before setting
> > >> nonpk
> > >> > >> > >> parameter
> > >> > >> > >> > >> fields
> > >> > >> > >> > >> > -->
> > >> > >> > >> > >> >         <field-to-result field="lookedUpValue.price"
> > >> > >> > >> > >> > result-name="oldPrice"/>
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >         <set-nonpk-fields map="parameters"
> > >> > >> > >> > value-field="lookedUpValue"/>
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >         <now-timestamp field="nowTimestamp"/>
> > >> > >> > >> > >> >         <set field="lookedUpValue.lastModifiedDate"
> > >> > >> > >> > >> > from-field="nowTimestamp"/>
> > >> > >> > >> > >> >         <set field="lookedUpValue.lastModif
> > >> iedByUserLogin"
> > >> > >> > >> > >> > from-field="userLogin.userLoginId"/>
> > >> > >> > >> > >> >
> > >> > >> > >> > >> >         <store-value value-field="lookedUpValue"/>
> > >> > >> > >> > >> >  </simple-method>
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > The productID does exists in Entity ProductPrice
> > >> > >> > >> > >> > Where am I going wrong ?
> > >> > >> > >> > >> >
> > >> > >> > >> > >> > thanks & regds
> > >> > >> > >> > >> > Rajesh Mallah.
> > >> > >> > >> > >> >
> > >> > >> > >> > >>
> > >> > >> > >> > >
> > >> > >> > >> > >
> > >> > >> > >> >
> > >> > >> > >>
> > >> > >> > >
> > >> > >> > >
> > >> > >> >
> > >> > >>
> > >> > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Reply via email to