Confused over Size & Color

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Confused over Size & Color

madppiper-2
Hey everybody,

I created a new product with locales and attributes just fine and wanted to add two new features/attributes to it: size & color. Just like in WG-9943. I am doing the following steps, but neither color nor size show up:

1) check if product with detailed information exists, if not create
2) check if product is set to Virtual = Y, if not, edit and add Virtual Variant Method = varianttree
3) create a new product with id similar to originalproduct (eg: productIdcolor) with Virtual = No, Variant = Y
4) create ProductAssoc with createProductI18nRollup.productIdTo = productIdColor, productId = productId, productAssocTypeId= PRODUCT_VARIANT
5) create ProductFeatureCategory if needed
6) create ProductFeature with productFeatureTypeId = COLOR, productFeatureId= FproductIdcolor
7) create ProductFeatureAppl with productFeatureApplTypeId =  SELECTABLE_FEATURE & productId = productIdColor
8) iterate through available sizes do
8a) create ProductFeature with productFeatureTypeId=SIZE, productId= productIdColor, productFeatureId=FproductIdColorSize
8b) create ProductFeatureIactn with productFeatureIactnTypeId = FEATURE_IACTN_INCOMP, productFeatureIdTo = FproductIdColor, productFeatureId=FproductIdColorSize
8c) create ProductFeatureAppl with productFeatureId= FproductIdColorSize, productFeatureApplTypeId=STANDARD_FEATURE, productId= productIdColor
8d) create ProductAssoc with productAssocTypeId= PRODUCT_VARIANT, productIdTo= productIdColor, productId = product


As I do here:


               
   
                       <entity-and entity-name="Product" list="resourceList">
                                        <field-map field-name="productId" from-field="parameters.productId"/>
                                        </entity-and>
                                       
                                        <first-from-list entry="resource" list="resourceList"/>                                               
                                        <if-not-empty field="resource">
                                                                       
                                                                        <log level="warning" message="Updating ${parameters.productId}"></log>
                                                                        <set field="createProductI18nRollup.productId" value="${parameters.productId}"/>                                       
                                                                        <set field="createProductI18nRollup.isVirtual" value="Y"/>
                                                                        <set field="createProductI18nRollup.isVariant" value="N"/>
                                                                        <set field="createProductI18nRollup.virtualVariantMethodEnum" value="VV_VARIANTTREE"/>                                                                                                                                       
                                                                        <set-service-fields map="createProductI18nRollup" service-name="editProductI18n" to-map="createProductI18nMap"/>
                                                                       
                                                                <call-service service-name="editProductI18n" in-map-name="createProductI18nMap" break-on-error="true" /> 
                                                        </if-not-empty>
   
               
        <call-bsh>
<![CDATA[
            color = parameters.get("color");
            if(color != null && color !=""){
            
               parameters.put("colorId", color.substring(0, 3).replace(" ","_"));
            }
        ]]>
</call-bsh>
                                                               
                                                               
                                                               
               
                               
                                                                        <map-to-map map="parameters" to-map="createProductI18nRollup"/>
                               
                                            <set field="createProductI18nRollup.taxable" value="Y"/>
                                                      <set field="createProductI18nRollup.chargeShipping" value="Y"/>
                                                                        <set field="createProductI18nRollup.isVirtual" value="N"/>
                                                                        <set field="createProductI18nRollup.isVariant" value="Y"/>
                                                                       
                                                                        <log level="warning" message="COLORID : ${parameters.colorId}"/>
                                                                        <set field="createProductI18nRollup.productId" value="${parameters.productId}${parameters.colorId}"/>
                                                                        <set field="createProductI18nRollup.productTypeId" value="FINISHED_GOOD"/>               
                                           
                                               
                                            <set-service-fields map="createProductI18nRollup" service-name="createProductI18n" to-map="createProductI18nMap"/>
                                           
                                           
                                                        <entity-and entity-name="Product" list="resourceList">
                                                        <field-map field-name="productId" from-field="createProductI18nRollup.productId"/>
                                                        </entity-and>
                                                       
                                                        <first-from-list entry="resource" list="resourceList"/>       
                                                        <if-empty field="resource">
                                                                             
                                                                               <call-service service-name="createProductI18n" in-map-name="createProductI18nMap"/> 
                                                                        <else>
                                                                                <call-service service-name="editProductI18n" in-map-name="createProductI18nMap"/> 
                                                                        </else>
                                                                        </if-empty>

 
 
 
 
  <now-timestamp field="createProductI18nRollup.fromDate"/>
  <set field="createProductI18nRollup.productIdTo" value="${createProductI18nRollup.productId}"/>
  <set field="createProductI18nRollup.productId" value="${parameters.productId}"/>
  <set field="createProductI18nRollup.productAssocTypeId" value="PRODUCT_VARIANT"/>
                                                               
                                                                        <entity-and entity-name="ProductAssoc" list="resourceList">
                                                        <field-map field-name="productId" from-field="createProductI18nRollup.productId"/>
                                                        <field-map field-name="productIdTo" from-field="createProductI18nRollup.productIdTo"/>
                                                             <field-map field-name="productAssocTypeId" from-field="createProductI18nRollup.productAssocTypeId"/>
                                                        </entity-and>
                                                       
                                                        <first-from-list entry="resource" list="resourceList"/>       
                                                        <if-empty field="resource">
                                                                               <set-service-fields map="createProductI18nRollup" service-name="createProductAssocI18n" to-map="createProductFeatureCategoryI18nMap"/>
                                                                               <call-service service-name="createProductAssocI18n" in-map-name="createProductFeatureCategoryI18nMap"/> 
                                                                        <else>
                                                                          <set field="createProductI18nRollup.fromDate" value="${resource.fromDate}"/>
                                            <set-service-fields map="createProductI18nRollup" service-name="editProductAssocI18n" to-map="createProductFeatureCategoryI18nMap"/>
                                                                                <call-service service-name="editProductAssocI18n" in-map-name="createProductFeatureCategoryI18nMap"/> 
                                                                        </else>
                                                                        </if-empty>
 
  <set field="createProductI18nRollup.productId" value="${createProductI18nRollup.productIdTo}"/>
 
 
 
 
  <set field="createProductI18nRollup.productFeatureCategoryId" value="BPfeatcat"/>
  <set field="createProductI18nRollup.description" value="Brandsparadise Features"/>
                                                               
                                                                <entity-and entity-name="ProductFeatureCategory" list="resourceList">
                                                        <field-map field-name="productFeatureCategoryId" from-field="createProductI18nRollup.productFeatureCategoryId"/>
                                                        </entity-and>
                                                       
                                                        <first-from-list entry="resource" list="resourceList"/>       
                                                        <if-empty field="resource">
                                                                               <set-service-fields map="createProductI18nRollup" service-name="createProductFeatureCategoryI18n" to-map="createProductFeatureCategoryI18nMap"/>
                                                                               <call-service service-name="createProductFeatureCategoryI18n" in-map-name="createProductFeatureCategoryI18nMap"/> 
                                                                        <else>
                                            <set-service-fields map="createProductI18nRollup" service-name="editProductFeatureCategoryI18n" to-map="createProductFeatureCategoryI18nMap"/>
                                                                                <call-service service-name="editProductFeatureCategoryI18n" in-map-name="createProductFeatureCategoryI18nMap"/> 
                                                                        </else>
                                                                        </if-empty>



                                                               
                                                                        <set field="createProductI18nRollup.productFeatureTypeId" value="COLOR"/>               
                                                                        <set field="createProductI18nRollup.description" value="${parameters.color}"/>               
                                                                        <set field="createProductI18nRollup.productFeatureId" value="F${parameters.productId}${parameters.colorId}"/>
                                                                                                         
              <entity-and entity-name="ProductFeature" list="resourceList">
                                                        <field-map field-name="productFeatureId" from-field="createProductI18nRollup.productFeatureId"/>
                                                        </entity-and>
                                                       
                                                        <first-from-list entry="resource" list="resourceList"/>       
                                                        <if-empty field="resource">
                                                                              <set-service-fields map="createProductI18nRollup" service-name="createProductFeatureI18n" to-map="createProductFeatureI18nMap"/>                     
                                                                               <call-service service-name="createProductFeatureI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                        <else>
                                                                           <set-service-fields map="createProductI18nRollup" service-name="editProductFeatureI18n" to-map="createProductFeatureI18nMap"/>
                                                                                <call-service service-name="editProductFeatureI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                        </else>
                                                                        </if-empty>



                                                                 
         
                                                                                <set field="createProductI18nRollup.productFeatureApplTypeId" value="SELECTABLE_FEATURE"/>               
                                                                                                                 
                      <entity-and entity-name="ProductFeatureAppl" list="resourceList">
                                                                <field-map field-name="productId" from-field="createProductI18nRollup.productId"/>
                                                               <field-map field-name="productFeatureId" from-field="createProductI18nRollup.productFeatureId"/>
                                                               <field-map field-name="productFeatureApplTypeId" from-field="createProductI18nRollup.productFeatureApplTypeId"/>       
                                                                </entity-and>
                                                               
                                                                <first-from-list entry="resource" list="resourceList"/>       
                                                                <if-empty field="resource">
                                                                                      <set-service-fields map="createProductI18nRollup" service-name="createProductFeatureApplI18n" to-map="createProductFeatureI18nMap"/>                     
                                                                                       <call-service service-name="createProductFeatureApplI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                                <else>
                                                                                   <set-service-fields map="createProductI18nRollup" service-name="editProductFeatureApplI18n" to-map="createProductFeatureI18nMap"/>
                                                                                        <call-service service-name="editProductFeatureApplI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                                </else>
                                                                                </if-empty>

 
<set field="newMap.colorId" from-field="parameters.colorId"/>

                                                               

                                                                <iterate entry="size" list="parameters.size" >
                                                               
                                                                <call-bsh>
<![CDATA[
							            color = parameters.get("color");
							            if(color != null && color !=""){
							            
							               parameters.put("colorId", color.substring(0, 3).replace(" ","_"));
							            }
							        ]]>
</call-bsh>

                                                                <set field="createProductI18nRollup.productId" value="${parameters.productId}${newMap.colorId}"/>               
                                                                        <set field="createProductI18nRollup.productFeatureTypeId" value="SIZE"/>               
                                                                        <set field="createProductI18nRollup.description" value="${size}"/>               
                                                                        <set field="createProductI18nRollup.productFeatureId" value="F${parameters.productId}${parameters.colorId}${size}"/>
                                                                                                         
              <entity-and entity-name="ProductFeature" list="resourceList">
                                                        <field-map field-name="productFeatureId" from-field="createProductI18nRollup.productFeatureId"/>
                                                        </entity-and>
                                                       
                                                        <first-from-list entry="resource" list="resourceList"/>       
                                                        <if-empty field="resource">
                                                                              <set-service-fields map="createProductI18nRollup" service-name="createProductFeatureI18n" to-map="createProductFeatureI18nMap"/>                     
                                                                               <call-service service-name="createProductFeatureI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                        <else>
                                                                           <set-service-fields map="createProductI18nRollup" service-name="editProductFeatureI18n" to-map="createProductFeatureI18nMap"/>
                                                                                <call-service service-name="editProductFeatureI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                        </else>
                                                                        </if-empty>                                               
                                                                                       
                                                                                       
                                                                <log level="warning" message="createProductI18nRollup.productId is now ${createProductI18nRollup.productId}"></log>
                                                                                       
                                                                                       
                                                                                       
                                                                                                <set field="createProductI18nRollup.productFeatureIdTo" value="F${parameters.productId}${parameters.colorId}"/>
                                                                                                <set field="createProductI18nRollup.productFeatureIactnTypeId" value="FEATURE_IACTN_INCOMP"/>
                                                                                                <set field="createProductI18nRollup.productFeatureId" value="F${parameters.productId}${parameters.colorId}${size}"/>
                                      <entity-and entity-name="ProductFeatureIactn" list="resourceList">
                                                                                <field-map field-name="productFeatureId" from-field="createProductI18nRollup.productFeatureId"/>
                                                                                <field-map field-name="productFeatureIdTo" from-field="createProductI18nRollup.productFeatureIdTo"/>
                                                                                </entity-and>
                                                                               
                                                                               
                                                                                <first-from-list entry="resource" list="resourceList"/>       
                                                                                <if-empty field="resource">
                                                                               
                                                                                <now-timestamp field="createProductI18nRollup.fromDate"/>
                                                                                                     <set field="createProductI18nRollup.productId" value="${createProductI18nRollup.productId}"/>
                                                                                                      <set-service-fields map="createProductI18nRollup" service-name="createProductFeatureIactnI18n" to-map="createProductFeatureI18nMap"/>                     
                                                                                                       <call-service service-name="createProductFeatureIactnI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                                                <else>
                                                                                               
                                                                                                </else>
                                                                                                </if-empty>       
                                                                                               
                                                                <log level="warning" message="createProductI18nRollup.productId is now ${createProductI18nRollup.productId}"></log>
                                                                                               
                                                                                               
                                 
                                                                                                        <set field="createProductI18nRollup.productFeatureApplTypeId" value="STANDARD_FEATURE"/>               
                                                                                                        <now-timestamp field="createProductI18nRollup.fromDate"/>                                 
                                              <entity-and entity-name="ProductFeatureAppl" list="resourceList">
                                                                                        <field-map field-name="productId" from-field="createProductI18nRollup.productId"/>
                                                                                       <field-map field-name="productFeatureId" from-field="createProductI18nRollup.productFeatureId"/>       
                                                                                        </entity-and>
                                                                                       
                                                                                        <first-from-list entry="resource" list="resourceList"/>       
                                                                                        <if-empty field="resource">
                                                                                                              <set-service-fields map="createProductI18nRollup" service-name="createProductFeatureApplI18n" to-map="createProductFeatureI18nMap"/>                     
                                                                                                               <call-service service-name="createProductFeatureApplI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                                                        <else>
                                                                                                                <set field="createProductI18nRollup.fromDate" value="${resource.fromDate}"/>               
                                                                                                       
                                                                                                           <set-service-fields map="createProductI18nRollup" service-name="editProductFeatureApplI18n" to-map="createProductFeatureI18nMap"/>
                                                                                                                <call-service service-name="editProductFeatureApplI18n" in-map-name="createProductFeatureI18nMap"/> 
                                                                                                        </else>
                                                                                                        </if-empty>
                                                               

                                                                <log level="warning" message="createProductI18nRollup.productId is now ${createProductI18nRollup.productId}"></log>
                                                               
                                                                 
 
 
                                                  <now-timestamp field="createProductI18nRollup.fromDate"/>
                                                  <set field="createProductI18nRollup.productIdTo" value="${createProductI18nRollup.productId}"/>
                                                  <set field="createProductI18nRollup.productId" value="${parameters.productId}"/>
                                                  <set field="createProductI18nRollup.productAssocTypeId" value="PRODUCT_VARIANT"/>
                                                                                                                <log level="warning" message="Adding ProductAssoc for Product_Variant ${createProductI18nRollup.productId} to ${createProductI18nRollup.productIdTo}"></log>
                                                                                                                        <entity-and entity-name="ProductAssoc" list="resourceList">
                                                                                                        <field-map field-name="productId" from-field="createProductI18nRollup.productId"/>
                                                                                                        <field-map field-name="productIdTo" from-field="createProductI18nRollup.productIdTo"/>
                                                                                                             <field-map field-name="productAssocTypeId" from-field="createProductI18nRollup.productAssocTypeId"/>
                                                                                                        </entity-and>
                                                                                                       
                                                                                                        <first-from-list entry="resource" list="resourceList"/>       
                                                                                                        <if-empty field="resource">
                                                                                                                               <set-service-fields map="createProductI18nRollup" service-name="createProductAssocI18n" to-map="createProductFeatureCategoryI18nMap"/>
                                                                                                                               <call-service service-name="createProductAssocI18n" in-map-name="createProductFeatureCategoryI18nMap"/> 
                                                                                                                        <else>
                                                                                                                          <set field="createProductI18nRollup.fromDate" value="${resource.fromDate}"/>
                                                                                            <set-service-fields map="createProductI18nRollup" service-name="editProductAssocI18n" to-map="createProductFeatureCategoryI18nMap"/>
                                                                                                                                <call-service service-name="editProductAssocI18n" in-map-name="createProductFeatureCategoryI18nMap"/> 
                                                                                                                        </else>
                                                                                                                        </if-empty>
                                                 
                                                  <set field="createProductI18nRollup.productId" value="${createProductI18nRollup.productIdTo}"/>
                                                               
                                                               
                                                               
                                                                </iterate>
       
       
       
                                                               
       
           



I tried to follow the steps for WG-9943 in ProductDemo.xml carefully, but the variants won't show up on my application. What am I missing?
Reply | Threaded
Open this post in threaded view
|

Re: Confused over Size & Color

BJ Freeman
This is problem in your code that is custom if I understand the email.

I suggest you follow the code that does use it, in ofbiz, to compare
what you are doing to what ofbiz does. and after that why not use the
ofbiz code?
you can start from the page that displays it and work backwards.


madppiper sent the following on 5/19/2009 10:28 AM:

> Hey everybody,
>
> I created a new product with locales and attributes just fine and wanted to
> add two new features/attributes to it: size & color. Just like in WG-9943. I
> am doing the following steps, but neither color nor size show up:
>
> 1) check if product with detailed information exists, if not create
> 2) check if product is set to Virtual = Y, if not, edit and add Virtual
> Variant Method = varianttree
> 3) create a new product with id similar to originalproduct (eg:
> productIdcolor) with Virtual = No, Variant = Y
> 4) create ProductAssoc with createProductI18nRollup.productIdTo =
> productIdColor, productId = productId, productAssocTypeId= PRODUCT_VARIANT
> 5) create ProductFeatureCategory if needed
> 6) create ProductFeature with productFeatureTypeId = COLOR,
> productFeatureId= FproductIdcolor
> 7) create ProductFeatureAppl with productFeatureApplTypeId =
> SELECTABLE_FEATURE & productId = productIdColor
> 8) iterate through available sizes do
> 8a) create ProductFeature with productFeatureTypeId=SIZE, productId=
> productIdColor, productFeatureId=FproductIdColorSize
> 8b) create ProductFeatureIactn with productFeatureIactnTypeId =
> FEATURE_IACTN_INCOMP, productFeatureIdTo = FproductIdColor,
> productFeatureId=FproductIdColorSize
> 8c) create ProductFeatureAppl with productFeatureId= FproductIdColorSize,
> productFeatureApplTypeId=STANDARD_FEATURE, productId= productIdColor
> 8d) create ProductAssoc with productAssocTypeId= PRODUCT_VARIANT,
> productIdTo= productIdColor, productId = product
>
>
> As I do here:
>
>
>                
>    
>      <entity-and entity-name="Product" list="resourceList">
>               <field-map field-name="productId"
> from-field="parameters.productId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>                
>                <if-not-empty field="resource">
>
> <log level="warning" message="Updating
> ${parameters.productId}"></log>
> <set field="createProductI18nRollup.productId"
> value="${parameters.productId}"/>                
> <set field="createProductI18nRollup.isVirtual" value="Y"/>
> <set field="createProductI18nRollup.isVariant" value="N"/>
> <set field="createProductI18nRollup.virtualVariantMethodEnum"
> value="VV_VARIANTTREE"/>
> <set-service-fields map="createProductI18nRollup"
> service-name="editProductI18n" to-map="createProductI18nMap"/>
>
> <call-service service-name="editProductI18n"
> in-map-name="createProductI18nMap" break-on-error="true" />
> </if-not-empty>
>    
>                
>         <call-bsh><![CDATA[
>             color = parameters.get("color");
>             if(color != null && color !=""){
>            
>                parameters.put("colorId", color.substring(0, 3).replace("
> ","_"));
>             }
>         ]]></call-bsh>
>        
>        
>        
>                 <!-- Create the basic item -->
>
> <map-to-map map="parameters" to-map="createProductI18nRollup"/>
>
>     <set field="createProductI18nRollup.taxable" value="Y"/>
>               <set field="createProductI18nRollup.chargeShipping"
> value="Y"/>
> <set field="createProductI18nRollup.isVirtual" value="N"/>
> <set field="createProductI18nRollup.isVariant" value="Y"/>
>
> <log level="warning" message="COLORID : ${parameters.colorId}"/>
> <set field="createProductI18nRollup.productId"
> value="${parameters.productId}${parameters.colorId}"/>
> <set field="createProductI18nRollup.productTypeId"
> value="FINISHED_GOOD"/>
>    
>        
>     <set-service-fields map="createProductI18nRollup"
> service-name="createProductI18n" to-map="createProductI18nMap"/>
>    
>    
>                <entity-and entity-name="Product" list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>
>                <if-empty field="resource">
>      
>       <call-service service-name="createProductI18n"
> in-map-name="createProductI18nMap"/>
> <else>
> <call-service service-name="editProductI18n"
> in-map-name="createProductI18nMap"/>
> </else>
> </if-empty>
>
>  
>   <!-- Create Assoc -->
>  
>  
>   <now-timestamp field="createProductI18nRollup.fromDate"/>
>   <set field="createProductI18nRollup.productIdTo"
> value="${createProductI18nRollup.productId}"/>
>   <set field="createProductI18nRollup.productId"
> value="${parameters.productId}"/>
>   <set field="createProductI18nRollup.productAssocTypeId"
> value="PRODUCT_VARIANT"/>
>
> <entity-and entity-name="ProductAssoc" list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>               <field-map field-name="productIdTo"
> from-field="createProductI18nRollup.productIdTo"/>
>                     <field-map field-name="productAssocTypeId"
> from-field="createProductI18nRollup.productAssocTypeId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>
>                <if-empty field="resource">
>       <set-service-fields map="createProductI18nRollup"
> service-name="createProductAssocI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
>       <call-service service-name="createProductAssocI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> <else>
> <set field="createProductI18nRollup.fromDate"
> value="${resource.fromDate}"/>
>     <set-service-fields map="createProductI18nRollup"
> service-name="editProductAssocI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
> <call-service service-name="editProductAssocI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> </else>
> </if-empty>
>  
>   <set field="createProductI18nRollup.productId"
> value="${createProductI18nRollup.productIdTo}"/>
>  
>  
>   <!-- Create the ProductFeatureCategory if needed -->
>  
>   <set field="createProductI18nRollup.productFeatureCategoryId"
> value="BPfeatcat"/>
>   <set field="createProductI18nRollup.description"
> value="Brandsparadise Features"/>
>
> <entity-and entity-name="ProductFeatureCategory"
> list="resourceList">
>               <field-map field-name="productFeatureCategoryId"
> from-field="createProductI18nRollup.productFeatureCategoryId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>
>                <if-empty field="resource">
>       <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureCategoryI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
>       <call-service
> service-name="createProductFeatureCategoryI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> <else>
>     <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureCategoryI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
> <call-service service-name="editProductFeatureCategoryI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> </else>
> </if-empty>
>
>
>
> <!-- Create Product Feature Color -->
> <set field="createProductI18nRollup.productFeatureTypeId"
> value="COLOR"/>
> <set field="createProductI18nRollup.description"
> value="${parameters.color}"/>
> <set field="createProductI18nRollup.productFeatureId"
> value="F${parameters.productId}${parameters.colorId}"/>
>          
>               <entity-and entity-name="ProductFeature"
> list="resourceList">
>               <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>
>                <if-empty field="resource">
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service service-name="createProductFeatureI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureI18n" to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureI18n"
> in-map-name="createProductFeatureI18nMap"/>
> </else>
> </if-empty>
>
>
>
> <!-- Create Product Feature Appl -->
>
> <set field="createProductI18nRollup.productFeatureApplTypeId"
> value="SELECTABLE_FEATURE"/>
>          
>             <entity-and entity-name="ProductFeatureAppl"
> list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>                <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>                <field-map field-name="productFeatureApplTypeId"
> from-field="createProductI18nRollup.productFeatureApplTypeId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource"
> list="resourceList"/>
>                <if-empty field="resource">
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureApplI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service service-name="createProductFeatureApplI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureApplI18n"
> to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureApplI18n"
> in-map-name="createProductFeatureI18nMap"/>
> </else>
> </if-empty>
>
>  
> <set field="newMap.colorId" from-field="parameters.colorId"/>
>
> <!-- Create Product Feature Size -->
>
> <iterate entry="size" list="parameters.size" >
>      
>        <call-bsh><![CDATA[
>            color = parameters.get("color");
>            if(color != null && color !=""){
>            
>               parameters.put("colorId", color.substring(0,
> 3).replace(" ","_"));
>            }
>        ]]></call-bsh>
>
> <set field="createProductI18nRollup.productId"
> value="${parameters.productId}${newMap.colorId}"/>
> <set field="createProductI18nRollup.productFeatureTypeId"
> value="SIZE"/>
> <set field="createProductI18nRollup.description" value="${size}"/>
> <set field="createProductI18nRollup.productFeatureId"
> value="F${parameters.productId}${parameters.colorId}${size}"/>
>          
>               <entity-and entity-name="ProductFeature"
> list="resourceList">
>               <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>
>                <if-empty field="resource">
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service service-name="createProductFeatureI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureI18n" to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureI18n"
> in-map-name="createProductFeatureI18nMap"/>
> </else>
> </if-empty>
>
>
> <log level="warning" message="createProductI18nRollup.productId is
> now ${createProductI18nRollup.productId}"></log>
>
> <!-- Link to color -->
>
> <set field="createProductI18nRollup.productFeatureIdTo"
> value="F${parameters.productId}${parameters.colorId}"/>
> <set field="createProductI18nRollup.productFeatureIactnTypeId"
> value="FEATURE_IACTN_INCOMP"/>
> <set field="createProductI18nRollup.productFeatureId"
> value="F${parameters.productId}${parameters.colorId}${size}"/>
>             <entity-and entity-name="ProductFeatureIactn"
> list="resourceList">
>               <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>               <field-map field-name="productFeatureIdTo"
> from-field="createProductI18nRollup.productFeatureIdTo"/>
>                </entity-and>
>                
>                
>                <first-from-list entry="resource"
> list="resourceList"/>
>                <if-empty field="resource">
>                
>                <now-timestamp
> field="createProductI18nRollup.fromDate"/>
>     <set field="createProductI18nRollup.productId"
> value="${createProductI18nRollup.productId}"/>
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureIactnI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service
> service-name="createProductFeatureIactnI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
> <!--
> <set field="createProductI18nRollup.productFeatureId"
> value="${resource.productFeatureId}"/>
> <set field="createProductI18nRollup.productFeatureIdTo"
> value="${resource.productFeatureIdTo}"/>
>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureIactnI18n"
> to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureIactnI18n"
> in-map-name="createProductFeatureI18nMap"/> -->
> </else>
> </if-empty>
>
> <log level="warning" message="createProductI18nRollup.productId is
> now ${createProductI18nRollup.productId}"></log>
>
> <!-- Product Feature Appl -->
>
> <set field="createProductI18nRollup.productFeatureApplTypeId"
> value="STANDARD_FEATURE"/>
> <now-timestamp field="createProductI18nRollup.fromDate"/>          
>             <entity-and entity-name="ProductFeatureAppl"
> list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>                <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource"
> list="resourceList"/>
>                <if-empty field="resource">
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureApplI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service
> service-name="createProductFeatureApplI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
> <set field="createProductI18nRollup.fromDate"
> value="${resource.fromDate}"/>
>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureApplI18n"
> to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureApplI18n"
> in-map-name="createProductFeatureI18nMap"/>
> </else>
> </if-empty>
>
>
> <log level="warning" message="createProductI18nRollup.productId is
> now ${createProductI18nRollup.productId}"></log>
>
> <!-- Create Assoc -->
>  
>  
> <now-timestamp field="createProductI18nRollup.fromDate"/>
> <set field="createProductI18nRollup.productIdTo"
> value="${createProductI18nRollup.productId}"/>
> <set field="createProductI18nRollup.productId"
> value="${parameters.productId}"/>
> <set field="createProductI18nRollup.productAssocTypeId"
> value="PRODUCT_VARIANT"/>
> <log level="warning" message="Adding ProductAssoc for
> Product_Variant ${createProductI18nRollup.productId} to
> ${createProductI18nRollup.productIdTo}"></log>
> <entity-and entity-name="ProductAssoc" list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>               <field-map field-name="productIdTo"
> from-field="createProductI18nRollup.productIdTo"/>
>                     <field-map field-name="productAssocTypeId"
> from-field="createProductI18nRollup.productAssocTypeId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource"
> list="resourceList"/>
>                <if-empty field="resource">
>       <set-service-fields map="createProductI18nRollup"
> service-name="createProductAssocI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
>       <call-service service-name="createProductAssocI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> <else>
> <set field="createProductI18nRollup.fromDate"
> value="${resource.fromDate}"/>
>     <set-service-fields map="createProductI18nRollup"
> service-name="editProductAssocI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
> <call-service service-name="editProductAssocI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> </else>
> </if-empty>
>
> <set field="createProductI18nRollup.productId"
> value="${createProductI18nRollup.productIdTo}"/>
>
>
>
> </iterate>
>        
>        
>        
>
>        
>            
>
>
>
> I tried to follow the steps for WG-9943 in ProductDemo.xml carefully, but
> the variants won't show up on my application. What am I missing?

--
BJ Freeman
http://www.businessesnetwork.com/automation
http://bjfreeman.elance.com
http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro
Systems Integrator.

Reply | Threaded
Open this post in threaded view
|

Re: Confused over Size & Color

madppiper-2
Yup, my code is custom. Perhaps I was missing out on a service that was already available for this? Or what am I missing here?

As said: I tried to follow the ProductDemo.xml code, but couldn't get it all right. If there is no such service available, are my steps correct that I described above?

BJ Freeman wrote
This is problem in your code that is custom if I understand the email.

I suggest you follow the code that does use it, in ofbiz, to compare
what you are doing to what ofbiz does. and after that why not use the
ofbiz code?
you can start from the page that displays it and work backwards.


madppiper sent the following on 5/19/2009 10:28 AM:
> Hey everybody,
>
> I created a new product with locales and attributes just fine and wanted to
> add two new features/attributes to it: size & color. Just like in WG-9943. I
> am doing the following steps, but neither color nor size show up:
>
> 1) check if product with detailed information exists, if not create
> 2) check if product is set to Virtual = Y, if not, edit and add Virtual
> Variant Method = varianttree
> 3) create a new product with id similar to originalproduct (eg:
> productIdcolor) with Virtual = No, Variant = Y
> 4) create ProductAssoc with createProductI18nRollup.productIdTo =
> productIdColor, productId = productId, productAssocTypeId= PRODUCT_VARIANT
> 5) create ProductFeatureCategory if needed
> 6) create ProductFeature with productFeatureTypeId = COLOR,
> productFeatureId= FproductIdcolor
> 7) create ProductFeatureAppl with productFeatureApplTypeId =
> SELECTABLE_FEATURE & productId = productIdColor
> 8) iterate through available sizes do
> 8a) create ProductFeature with productFeatureTypeId=SIZE, productId=
> productIdColor, productFeatureId=FproductIdColorSize
> 8b) create ProductFeatureIactn with productFeatureIactnTypeId =
> FEATURE_IACTN_INCOMP, productFeatureIdTo = FproductIdColor,
> productFeatureId=FproductIdColorSize
> 8c) create ProductFeatureAppl with productFeatureId= FproductIdColorSize,
> productFeatureApplTypeId=STANDARD_FEATURE, productId= productIdColor
> 8d) create ProductAssoc with productAssocTypeId= PRODUCT_VARIANT,
> productIdTo= productIdColor, productId = product
>
>
> As I do here:
>
>
>                
>    
>      <entity-and entity-name="Product" list="resourceList">
>               <field-map field-name="productId"
> from-field="parameters.productId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>                                               
>                <if-not-empty field="resource">
>
> <log level="warning" message="Updating
> ${parameters.productId}"></log>
> <set field="createProductI18nRollup.productId"
> value="${parameters.productId}"/>                
> <set field="createProductI18nRollup.isVirtual" value="Y"/>
> <set field="createProductI18nRollup.isVariant" value="N"/>
> <set field="createProductI18nRollup.virtualVariantMethodEnum"
> value="VV_VARIANTTREE"/>
> <set-service-fields map="createProductI18nRollup"
> service-name="editProductI18n" to-map="createProductI18nMap"/>
>
> <call-service service-name="editProductI18n"
> in-map-name="createProductI18nMap" break-on-error="true" />
> </if-not-empty>
>    
>                
>         <call-bsh>
<![CDATA[
>             color = parameters.get("color");
>             if(color != null && color !=""){
>             
>                parameters.put("colorId", color.substring(0, 3).replace("
> ","_"));
>             }
>         ]]>
</call-bsh>
>        
>        
>        
>                
>
> <map-to-map map="parameters" to-map="createProductI18nRollup"/>
>
>     <set field="createProductI18nRollup.taxable" value="Y"/>
>               <set field="createProductI18nRollup.chargeShipping"
> value="Y"/>
> <set field="createProductI18nRollup.isVirtual" value="N"/>
> <set field="createProductI18nRollup.isVariant" value="Y"/>
>
> <log level="warning" message="COLORID : ${parameters.colorId}"/>
> <set field="createProductI18nRollup.productId"
> value="${parameters.productId}${parameters.colorId}"/>
> <set field="createProductI18nRollup.productTypeId"
> value="FINISHED_GOOD"/>
>    
>        
>     <set-service-fields map="createProductI18nRollup"
> service-name="createProductI18n" to-map="createProductI18nMap"/>
>    
>    
>                <entity-and entity-name="Product" list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>       
>                <if-empty field="resource">
>      
>       <call-service service-name="createProductI18n"
> in-map-name="createProductI18nMap"/>
> <else>
> <call-service service-name="editProductI18n"
> in-map-name="createProductI18nMap"/>
> </else>
> </if-empty>
>
>  
>  
>  
>  
>   <now-timestamp field="createProductI18nRollup.fromDate"/>
>   <set field="createProductI18nRollup.productIdTo"
> value="${createProductI18nRollup.productId}"/>
>   <set field="createProductI18nRollup.productId"
> value="${parameters.productId}"/>
>   <set field="createProductI18nRollup.productAssocTypeId"
> value="PRODUCT_VARIANT"/>
>
> <entity-and entity-name="ProductAssoc" list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>               <field-map field-name="productIdTo"
> from-field="createProductI18nRollup.productIdTo"/>
>                     <field-map field-name="productAssocTypeId"
> from-field="createProductI18nRollup.productAssocTypeId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>       
>                <if-empty field="resource">
>       <set-service-fields map="createProductI18nRollup"
> service-name="createProductAssocI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
>       <call-service service-name="createProductAssocI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> <else>
> <set field="createProductI18nRollup.fromDate"
> value="${resource.fromDate}"/>
>     <set-service-fields map="createProductI18nRollup"
> service-name="editProductAssocI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
> <call-service service-name="editProductAssocI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> </else>
> </if-empty>
>  
>   <set field="createProductI18nRollup.productId"
> value="${createProductI18nRollup.productIdTo}"/>
>  
>  
>  
>  
>   <set field="createProductI18nRollup.productFeatureCategoryId"
> value="BPfeatcat"/>
>   <set field="createProductI18nRollup.description"
> value="Brandsparadise Features"/>
>
> <entity-and entity-name="ProductFeatureCategory"
> list="resourceList">
>               <field-map field-name="productFeatureCategoryId"
> from-field="createProductI18nRollup.productFeatureCategoryId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>       
>                <if-empty field="resource">
>       <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureCategoryI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
>       <call-service
> service-name="createProductFeatureCategoryI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> <else>
>     <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureCategoryI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
> <call-service service-name="editProductFeatureCategoryI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> </else>
> </if-empty>
>
>
>
>
> <set field="createProductI18nRollup.productFeatureTypeId"
> value="COLOR"/>
> <set field="createProductI18nRollup.description"
> value="${parameters.color}"/>
> <set field="createProductI18nRollup.productFeatureId"
> value="F${parameters.productId}${parameters.colorId}"/>
>          
>               <entity-and entity-name="ProductFeature"
> list="resourceList">
>               <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>       
>                <if-empty field="resource">
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service service-name="createProductFeatureI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureI18n" to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureI18n"
> in-map-name="createProductFeatureI18nMap"/>
> </else>
> </if-empty>
>
>
>
>
>
> <set field="createProductI18nRollup.productFeatureApplTypeId"
> value="SELECTABLE_FEATURE"/>
>          
>             <entity-and entity-name="ProductFeatureAppl"
> list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>                <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>                <field-map field-name="productFeatureApplTypeId"
> from-field="createProductI18nRollup.productFeatureApplTypeId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource"
> list="resourceList"/>
>                <if-empty field="resource">
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureApplI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service service-name="createProductFeatureApplI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureApplI18n"
> to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureApplI18n"
> in-map-name="createProductFeatureI18nMap"/>
> </else>
> </if-empty>
>
>  
> <set field="newMap.colorId" from-field="parameters.colorId"/>
>
>
>
> <iterate entry="size" list="parameters.size" >
>      
>        <call-bsh>
<![CDATA[
> 							            color = parameters.get("color");
> 							            if(color != null && color !=""){
> 							            
> 							               parameters.put("colorId", color.substring(0,
> 3).replace(" ","_"));
> 							            }
> 							        ]]>
</call-bsh>
>
> <set field="createProductI18nRollup.productId"
> value="${parameters.productId}${newMap.colorId}"/>
> <set field="createProductI18nRollup.productFeatureTypeId"
> value="SIZE"/>
> <set field="createProductI18nRollup.description" value="${size}"/>               
> <set field="createProductI18nRollup.productFeatureId"
> value="F${parameters.productId}${parameters.colorId}${size}"/>
>          
>               <entity-and entity-name="ProductFeature"
> list="resourceList">
>               <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource" list="resourceList"/>       
>                <if-empty field="resource">
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service service-name="createProductFeatureI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureI18n" to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureI18n"
> in-map-name="createProductFeatureI18nMap"/>
> </else>
> </if-empty>                                               
>
>
> <log level="warning" message="createProductI18nRollup.productId is
> now ${createProductI18nRollup.productId}"></log>
>
>
>
> <set field="createProductI18nRollup.productFeatureIdTo"
> value="F${parameters.productId}${parameters.colorId}"/>
> <set field="createProductI18nRollup.productFeatureIactnTypeId"
> value="FEATURE_IACTN_INCOMP"/>
> <set field="createProductI18nRollup.productFeatureId"
> value="F${parameters.productId}${parameters.colorId}${size}"/>
>             <entity-and entity-name="ProductFeatureIactn"
> list="resourceList">
>               <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>               <field-map field-name="productFeatureIdTo"
> from-field="createProductI18nRollup.productFeatureIdTo"/>
>                </entity-and>
>                
>                
>                <first-from-list entry="resource"
> list="resourceList"/>
>                <if-empty field="resource">
>                
>                <now-timestamp
> field="createProductI18nRollup.fromDate"/>
>     <set field="createProductI18nRollup.productId"
> value="${createProductI18nRollup.productId}"/>
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureIactnI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service
> service-name="createProductFeatureIactnI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
>
> </else>
> </if-empty>       
>
> <log level="warning" message="createProductI18nRollup.productId is
> now ${createProductI18nRollup.productId}"></log>
>
>        
>
> <set field="createProductI18nRollup.productFeatureApplTypeId"
> value="STANDARD_FEATURE"/>
> <now-timestamp field="createProductI18nRollup.fromDate"/>                                 
>             <entity-and entity-name="ProductFeatureAppl"
> list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>                <field-map field-name="productFeatureId"
> from-field="createProductI18nRollup.productFeatureId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource"
> list="resourceList"/>
>                <if-empty field="resource">
>      <set-service-fields map="createProductI18nRollup"
> service-name="createProductFeatureApplI18n"
> to-map="createProductFeatureI18nMap"/>      
>       <call-service
> service-name="createProductFeatureApplI18n"
> in-map-name="createProductFeatureI18nMap"/>
> <else>
> <set field="createProductI18nRollup.fromDate"
> value="${resource.fromDate}"/>
>
>   <set-service-fields map="createProductI18nRollup"
> service-name="editProductFeatureApplI18n"
> to-map="createProductFeatureI18nMap"/>
> <call-service service-name="editProductFeatureApplI18n"
> in-map-name="createProductFeatureI18nMap"/>
> </else>
> </if-empty>
>
>
> <log level="warning" message="createProductI18nRollup.productId is
> now ${createProductI18nRollup.productId}"></log>
>
>
>  
>  
> <now-timestamp field="createProductI18nRollup.fromDate"/>
> <set field="createProductI18nRollup.productIdTo"
> value="${createProductI18nRollup.productId}"/>
> <set field="createProductI18nRollup.productId"
> value="${parameters.productId}"/>
> <set field="createProductI18nRollup.productAssocTypeId"
> value="PRODUCT_VARIANT"/>
> <log level="warning" message="Adding ProductAssoc for
> Product_Variant ${createProductI18nRollup.productId} to
> ${createProductI18nRollup.productIdTo}"></log>
> <entity-and entity-name="ProductAssoc" list="resourceList">
>               <field-map field-name="productId"
> from-field="createProductI18nRollup.productId"/>
>               <field-map field-name="productIdTo"
> from-field="createProductI18nRollup.productIdTo"/>
>                     <field-map field-name="productAssocTypeId"
> from-field="createProductI18nRollup.productAssocTypeId"/>
>                </entity-and>
>                
>                <first-from-list entry="resource"
> list="resourceList"/>
>                <if-empty field="resource">
>       <set-service-fields map="createProductI18nRollup"
> service-name="createProductAssocI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
>       <call-service service-name="createProductAssocI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> <else>
> <set field="createProductI18nRollup.fromDate"
> value="${resource.fromDate}"/>
>     <set-service-fields map="createProductI18nRollup"
> service-name="editProductAssocI18n"
> to-map="createProductFeatureCategoryI18nMap"/>
> <call-service service-name="editProductAssocI18n"
> in-map-name="createProductFeatureCategoryI18nMap"/>
> </else>
> </if-empty>
>
> <set field="createProductI18nRollup.productId"
> value="${createProductI18nRollup.productIdTo}"/>
>
>
>
> </iterate>
>        
>        
>        
>
>        
>            
>
>
>
> I tried to follow the steps for WG-9943 in ProductDemo.xml carefully, but
> the variants won't show up on my application. What am I missing?

--
BJ Freeman
http://www.businessesnetwork.com/automation
http://bjfreeman.elance.com
http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro
Systems Integrator.