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