You are on page 1of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

Question: 1 Which two steps are necessary to add a new shipping method? (Choose two.) A. create a component of type atg.commerce.pricing.ShippingMethod B. create a component of type atg.commerce.pricing.FixedPriceShippingCalculator C. add the new shipping method component to the ShippingPricingEngine component's preCalculator property D. add the new shipping method component to the ShippingPricingEngine component's shippingMethod property Answer: B, C Question: 2 What are two functions of the CartModifierFormHandler? (Choose two.) A. reprices the Order B. adds items to an Order C. schedules the Order for future fulfillment D. retrieves the list of payment groups associated with the Order Answer: A, B Question: 3 What should you do to prevent errors during submission in the checkout caused by session invalidation? A. You set the sessionExpirationURL property of the form handler to redirect the user to an appropriate page after submission. B. You ensure that the Profile.securityStatus is not anonymous before rendering the form and if it is anonymous, redirect the user to an appropriate page. C. You create a servlet that will check the SessionManager.validSessions property and ensure this session is valid when the form is displayed. If session is invalid, you redirect the user to an appropriate page. D. You check the creationTime of the user's session and ensure that the difference subtracted from current time is not greater than the SessionManager.sessionInvalidationTime on the page. If it is longer than the sessionInvalidationTime, you redirect the user to an appropriate page. Answer: A Question: 4 What are two ways to display items in an order in a JSP? (Choose two.) A. iterate through the CartModifierFormHandler.productIds property B. iterate through the CartModifierFormHandler.order.commerceItems property C. iterate through the CartModifierFormHandler.order.ShippingGroups property and then iterate through the ShippingGroup.CommerceItems property D. iterate through the CartModifierFormHandler.order.ShippingGroups property and then iterate through the ShippingGroup.CommerceItemRelationships property Answer: B, D Question: 5 Which two statements about the functions of the ShippingGroupFormHandler are true? (Choose two.)
Page 1 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

A. It allows you to split shipping by line item. B. It allows you to split shipping by payment group. C. It contains a list of CommerceItemShippingInfo objects. D. It loads the ShippingGroupMapContainer with the authorized shipping groups for the current user. Answer: A, C Question: 6 What are three main tasks in the PaymentGroupFormHandler? (Choose three.) A. create a new PaymentGroup for use in a user's current Order B. split extra CommerceIdentifierPaymentInfo objects by amount C. handle applying CommerceIdentifierPaymentInfo associations to the current Order D. specify a default PaymentGroup to be used for a CommerceIdentifier that is not explicitly assigned to a PaymentGroup Answer: B, C, D Question: 7 In which two cases is it recommended that you create repository item sub-types or modify the sku repository item rather than use dynamicAttributes? (Choose two.) A. when adding multiple attributes to a sku B. when using an attribute represented by a number C. when defining an attribute that can be different for all SKUs D. when defining an attribute that is specific to a small subset of SKUs Answer: A, D Question: 8 When would you use the CatalogItemLookupDroplet instead of the ItemLookupDroplet to look up items in a catalog repository? A. when you want to search for an item on a gift list B. when you want to search more than one repository for an item C. when you want to search for an item only from the current user's catalog D. when you want to search for a list of possible items that match a specific criteria Answer: C Question: 9 What must you do to sell multiple items as a bundle? A. offer a category of products as a SKU B. assign multiple SKUs into a product bundle C. assign the appropriate quantity of each SKU to a SKU bundle D. write a custom shopping cart handler to add related products to the cart when necessary Answer: C Question: 10 When searching custom catalogs, what do you do to ensure that all catalogs are searched if no user catalog is defined?
Page 2 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

A. You do nothing. This is the default behavior. B. set the currentCatalog property of the CatalogSearchFormHandler class to the default catalog C. set the nullCatalogMeansNoResult property of the CatalogSearchFormHandler class to false D. set the catalogPropertyName property of the CatalogSearchFormHandler class to the default catalog Answer: C Question: 11 Which property in the product catalog repository associates SKUs with a particular product? A. the product item type's childSKUs property B. the category item type's childSKUs property C. the sku item type's ancestorProducts property D. the product item type's descendentSKUs property Answer: A Question: 12 What three steps must you take to create a catalog template, such as a product information page? (Choose three.) A. create a media item repository item B. set the catalog item's template property to the URL of the template JSP C. design a JSP that displays information about the category, product, SKU, etc. D. associate the appropriate media item with the catalog items that will be displayed using the custom catalog template E. create a template repository item to hold the JSP fragment for the custom template and link it to the appropriate product category Answer: A, C, D Question: 13 Which two statements about custom catalogs are true? (Choose two.) A. A category cannot contain catalogs. B. A product can only belong to one category. C. Catalogs can contain one or more subcatalogs. D. Each category exists in one and only one catalog. Answer: C, D Question: 14 When is a custom catalog required? A. when you want a catalog that is easy to configure and provides the best search performance B. when you want to modify the list of root categories that will be shown to a specific group of users C. when you want to limit searches to a subset of the catalog, such as coats, sportswear, or accessories D. when you want to modify the prices of individual products that will be shown to a specific group of users E. when you want to be able to modify the list of root categories that are displayed on your home page as your catalog expands
Page 3 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

Answer: B Question: 15 How do you add a weight property to all of your SKUs? A. create a new subtype of sku to hold the weight property B. create a new subtype of sku-info to hold the weight property C. add the weight property to the existing sku item type and map it into an auxiliary table D. add the weight property to the existing sku-info item type and map it into an auxiliary table Answer: C Question: 16 Which two site architectural requirements mandate the use of custom catalogs? (Choose two.) A. The hierarchy of the catalog should depend on the user's locale. B. A product must be able to appear under more than one category. C. A category must be able to appear under more than one category. D. The contents of the catalog displayed should depend on the user's role. E. The catalog should automatically determine the value of each product or category's parentCategory property. Answer: A, D Question: 17 Which two statements about the relationship between Order objects and the OrderRepository are true? (Choose two.) A. OrderTools supplies a map between the Order object and the order item-descriptor. B. The actual work of persisting an Order in the OrderRepository is performed by pipelines. C. Order implements the RepositoryItem interface and is the object type returned from queries to the OrderRepository. D. The Order object has a dataSource property of type RepositoryItem that references an associated item from the OrderRepository. Answer: A, B Question: 18 Under what condition can a user NOT delete an Order using CancelOrderFormHandler? A. when the Order has been checked out B. when CancelOrderFormHandler.preserveOrder is set to true C. when the Order is in any state not listed in CancelOrderFormHandler.deleteStates D. when the Order is pending approval by a user other than the user who created it Answer: C Question: 19 What are three valid declarative transaction modes for individual processors in a commerce order processing pipeline chain? (Choose three.) A. TX_NEVER B. TX_SUPPORTS C. TX_REQUIRES_NEW
Page 4 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

D. TX_NOT_SUPPORTED Answer: B, C, D Question: 20 In what two cases might it be necessary to reprice an Order manually? (Choose two.) A. when a promotion is delivered via a scenario B. when using CartModifierFormHandler to add items or change quantities C. when using ExpressCheckoutFormHandler to expedite pre-checkout processing D. when using ShippingGroupFormhandler to create and add items to a new shipping group Answer: A, D Question: 21 Which statement about persistent orders is true? A. Orders can be persistent for anonymous profiles. B. Only non-anonymous profiles can have persistent orders. C. Persistent orders are those orders that have been saved using SaveOrderFormHandler. D. OrderHolder.currentEmpty will be true if a persistent order contains no CommerceItem objects. Answer: A Question: 22 You are creating an Order using OrderManager. Which parameter does the create method require? A. profile ID B. order type C. default locale D. a CommerceItem E. an OrderPriceInfo Answer: A Question: 23 Which two statements regarding the transactional behavior of order processing are true? (Choose two.) A. OrderManager.updateOrder() should always be called in a transaction. B. Individual custom processors in a commerce pipeline chain can override a transaction mode declared for the entire chain. C. To declare a transaction mode for an entire commerce pipeline chain, you set the same mode on each processor in the chain. D. TX_NEVER is used in commerce pipeline chains to mark particular non-transactional processors to throw an exception if a previous transaction is still running. Answer: A, B Question: 24 Which two statements accurately characterize promotions? (Choose two.) A. Promotion discounts are only factored in on the shopping cart page.
Page 5 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

B. Promotions are stored in the PricingModelHolder repository item. C. Giving a user a promotion does not guarantee that the user will receive the discount. D. A customer's promotions are assigned and removed using the Give Promotion and Revoke Promotion scenario actions. Answer: C, D Question: 25 Which two steps are required to create a promotion? (Choose two.) A. define promotion start date B. create an HTML promotion media C. create a discount rule for the promotion D. add the promotion to the Promotion repository Answer: C, D Question: 26 When setting up a checkout page to redeem a gift certificate, to what property do you map the gift certificate claim code text field of the checkout form? A. the giftCertificateClaim property of the ClaimableTools component B. the giftCertificateNumber property of the GiftCertificate component C. the giftCertificateNumbers property of the ShoppingCartModifier component D. the authorizeClaimableGiftCertificate property of the ClaimableManager component Answer: C Question: 27 Which two statements about promotions and claimable items are true? (Choose two.) A. Promotions are applied by the pricing engine, while claimable items require customer input. B. Promotions provide a percentage discount, while claimable items provide a fixed amount discount. C. Promotions only affect the price of one commerce item, but gift certificates and coupons can be applied to the whole order. D. Promotions may affect the displayed price of an item on the product page, but gift certificates and coupons come into play during the checkout process. E. Applicable gift certificates and coupons are stored in the profile's claimableItems property, but applicable promotions are stored in the activePromotions property. Answer: A, D Question: 28 Which three statements about displaying promotional media are true?(Choose three.) A. Scenario adds promotional media into the slot. B. MediaSlot components must be used to hold promotional media. C. TargetingFirst droplet can be used to display promotional media. D. TargetingForEach droplet can be used to display promotional media. Answer: A, C, D Question: 29 When creating a promotion in the ACC, which three statements are true?(Choose three.)
Page 6 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

A. You can create a "Buy 3, get one free" promotion. B. You cannot give promotions to anonymous customers. C. You can apply discounts to the shipping, order, tax, and item amounts. D. "infinite" is a valid entry for the "Number of uses allowed per customer" option. E. The usage period of the promotion is irrelevant when you have chosen the "Automatically apply to all orders" option. Answer: A, D, E Question: 30 What is the purpose of the checkRequiresApproval pipeline chain? A. It sets the order's state to PENDING_APPROVAL. B. It checks whether an approval is required for a customer's orders. C. It checks whether an approval is required for a customer's payment. D. It checks the system messages corresponding to the conditions that triggered an approval being required. Answer: B Question: 31 What property of the ApprovalFormHandler is used to submit comments as to why the order was approved or rejected? A. <dsp:input bean="ApprovalFormHandler.message" size="500" value="" type="text"/> B. <dsp:input bean="ApprovalFormHandler.approverMessage" size="500" value="" type="text"/> C. <dsp:input bean="ApprovalFormHandler.commentsMessage" size="500" value="" type="text"/> D. <dsp:input bean="ApprovalFormHandler.approverComments" size="500" value="" type="text"/> Answer: B Question: 32 Which scenario event notifies the Scenario Server that someone needs to approve an order? A. Order approval is required B. Order approval is completed C. Approval status has changed D. Approval request event received Answer: A Question: 33 ApprovalRequiredDroplet queries the order repository and returns all orders that meet which two criteria? (Choose two.) A. The state of the order is PENDING_APPROVAL. B. The order.pendingApproval property is set to true. C. The profile ID of the order belongs to a customer for whom the given approver is allowed to approve or reject orders. D. The profile ID of the user belongs to the user who wants to see his own orders, which are pending approval.
Page 7 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

Answer: A, C Question: 34 The PricingModelHolder provides what information to a pricing engine? A. a list of pricing calculators B. definition of a bulk pricing scheme C. cache for pricelists and global discounts D. all promotions a user is eligible to receive Answer: D Question: 35 When is a custom pricing calculator required? A. when a double (coupon) discount is applied to an item B. when a fixed price discount is applied to an entire order C. when an item discount is rounded up to the closest $x.99 price D. when a shipping price is determined based on the sum of the weights of each item in an entire order Answer: C Question: 36 Which two statements are true for pricing of all CommerceItem objects? (Choose two.) A. Each CommerceItem has exactly one ItemPriceInfo. B. Only one discount can apply to a given DetailedItemPriceInfo object. C. All the items described by a DetailedItemPriceInfo are in the same payment group. D. The sum of the prices given by a group of DetailedItemPriceInfo objects should equal the price given by the associated ItemPriceInfo object. Answer: A, D Question: 37 How would you display the price of a given item with discounts such as "Buy racing helmet, get 50% off gloves"? A. display /atg/commerce/cart.currentItem.priceInfo.amount B. display the ShoppingCartModifier's currentItem.priceInfo.amount C. iterate through the items in ShoppingCart.current.commerceItems, and display the priceInfo.amount of each item D. iterate through the objects in the PricingEngine.currentOrder.commerceItems array property, and display the priceInfo.amount of the CommerceItem corresponding to that item Answer: C Question: 38 Which three statements regarding the out-of-the-box functionality of price lists and static pricing are true? (Choose three.) A. Price lists handle sale prices. B. Price lists can be associated on a per-user basis. C. Price lists handle complex tiered-pricing schemes. D. Static pricing handles simple bulk-pricing schemes.
Page 8 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

E. In static pricing, the list price is stored in the listPrice property of the sku. Answer: B, C, E Question: 39 Which two statements about tax pricing are true? (Choose two.) A. Tax can be split into multiple payment groups. B. Tax pricing requires a third-party product integration. C. There is no item-descriptor for tax in the promotions repository. D. The TaxDiscountCalculator determines tax on discounted items. Answer: A, C Question: 40 How is the final price for a CommerceItem determined when using static pricing? A. by multiplying sku.listPrice amount by CommerceItem.quantity B. by multiplying ItemPriceInfo.quantity by ItemPriceInfo.listPrice C. by multiplying CommerceItem.quantity by sku.salePrice if sku.onSale is true, or by sku.listPrice if not D. by multiplying sku.listPrice amount by CommerceItem.quantity and setting ItemPriceInfo.amountIsFinal to true Answer: C Question: 41 When is it appropriate to disable caching if you are displaying inventory status or levels on a page? A. when better performance is more important than accurate information B. when your production site includes multiple instances of ATG Commerce C. when more accurate information is more important than fast performance D. when your production site includes only a single instance of ATG Commerce Answer: C Question: 42 Which four classes could serve as a base class for a custom inventory manager? (Choose four.) A. NoInventoryManager B. JMSInventoryManager C. AbstractInventoryManager D. LocalizingInventoryManager E. RepositoryInventoryManager F. DistributedInventoryManager Answer: A, C, D, E Question: 43 Bundle SKU D contains 1 item of SKU A, 2 items of SKU B and 10 items of SKU C. The stocklevel values for the individual SKUs are SKU A = 20, SKU B = 20, SKU C = 20. What is SKU D's stockLevel? A. stockLevel=0
Page 9 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

B. stockLevel=2 C. stockLevel=10 D. stockLevel=20 E. stockLevel=60 Answer: B Question: 44 Which inventory query method must be implemented when developing a custom InventoryManager? A. queryStockLevel B. queryPreorderLevel C. queryStockThreshold D. queryBackorderLevel E. queryAvailabilityDate F. queryAvailabilityStatus Answer: F Question: 45 When should you customize the commerce pipeline? A. when configuring a SKU B. when authorizing store credits C. when purchasing from a custom catalog D. when using checks as a form of payment Answer: D Question: 46 Which statement accurately describes the role of a pipeline manager with regards to transactions? A. The pipeline manager does not explicitly deal with transactions. B. The pipeline manager always creates a new transaction prior to executing the pipeline. C. A transaction rollback is indicated by returning a PipelineProcessor.STOP_CHAIN_EXECUTION in the PipelineResult. D. The pipeline manager cannot handle transactions that span a subset of the chain. The transaction must either span an entire chain or one element of a chain. Answer: D

Question: 47 Which three steps are used to create a new pipeline processor? (Choose three.) A. add your processor to the pipeline XML B. write a new Java class for your processor C. create a Nucleus component for your new processor D. add your processor to the pipeline manager properties file Answer: A, B, C
Page 10 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

Question: 48 Which three actions can the PaymentManager perform? (Choose three.) A. debit B. delay C. credit D. validate E. discount F. authorize Answer: A, C, F Question: 49 What is the correct sequence in which ATG Commerce moves through the payment relationships in an order? A. 1. Commerce Item Payment 2. Shipping Cost Payment 3. Tax Cost Payment 4. Order Cost Payment B. 1. Commerce Item Payment 2. Tax Cost Payment 3. Shipping Cost Payment 4. Order Cost Payment C. 1. Commerce Item Payment 2. Order Cost Payment 3. Shipping Cost Payment 4. Tax Cost Payment D. 1. Commerce Item Payment 2. Order Cost Payment 3. Tax Cost Payment 4. Shipping Cost Payment

Answer: A Question: 50 When creating a new payment group, which object must you configure to invoke the new payment group's pipeline? A. PaymentManager B. PaymentGroupManager C. validatePaymentGroup D. CommercePipelineManager Answer: A Question: 51 Every payment type has which two processors? (Choose two.) A. a pipeline processor to perform the payment operations B. a pipeline processor to inspect the PaymentStatus object C. a pipeline processor that calls into the CommerceManager pipeline to invoke the PaymentManager pipeline
Page 11 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

D. a pipeline processor that aggregates the information for performing the requested payment action and creates an XXXInfo object of the appropriate type Answer: A, D Question: 52 Which two statements are true? (Choose two.) A. All the payment groups in an order must be used toward the payment of an order. B. If an order contains only one PaymentGroup and no relationships exist, then the order cost is implicitly accounted for by that PaymentGroup. C. Once item costs are assigned to payment groups, the other order cost components (tax and shipping) must also be specifically assigned to payment groups. D. If an order contains only one PaymentGroup and a relationship exists between the PaymentGroup and the ShippingGroup, then the relationship must be ShippingAmountRemaining. E. If an order contains one or more PaymentGroupOrderRelationship objects of type TaxAmount, then the sum of the amounts in the relationships must be equal to or greater than the total tax amount of the order to account for tax payment.

Answer: B, E Question: 53 Which three statements are true about the credit card form of payment?(Choose three.) A. The defaultCreditCard property specifies the user's default credit card. B. You can use the CreateCreditCardFormHandler to add a credit card in a JSP page. C. In the user profile, the creditCards property is a map of the user's available credit cards. D. You can programmatically create a new CreditCard repository item using the PaymentGroupManager object. Answer: A, B, C Question: 54 Which statement about the payment process and thePaymentManager is true? A. The OrderInfo object is passed into the PaymentManager, which invokes a payment processor to perform the action returning the PaymentStatus. B. The PaymentGroup is passed to the PaymentManager, which invokes a processor to generate the XXXPaymentInfo for the order, returning the PaymentStatus. C. The PaymentGroup is passed to the PaymentManager, which invokes one processor to generate the XXXInfo, then a second processor is run to perform the actual operations returning the PaymentStatus. D. A list of CommerceItems is passed into the PaymentManager, which invokes its service method to create the paymentRelationship objects. A pipeline process for the payment type is then invoked and a PaymentStatus is returned. Answer: C Question: 55 At what two points is an attempt made to debit all payment groups? (Choose two.) A. once the shippingGroupHasShipped pipeline has executed B. once all ShippingGroups are in a PENDING_DELIVERY state
Page 12 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

C. once all ShippingGroups are in a NO_PENDING_ACTION state D. once one shipping group has shipped and the fulfiller's settleOnFirstShipment is true Answer: C, D Question: 56 Which four are Relationship objects? (Choose four.) A. PromotionOrderRelationship B. SkuCommerceItemRelationship C. PaymentGroupOrderRelationship D. ShippingGroupOrderRelationship E. PaymentGroupPromotionRelationship F. PaymentGroupCommerceItemRelationship G. ShippingGroupCommerceItemRelationship H. PaymentGroupShippingGroupRelationship Answer: C, F, G, H Question: 57 If you set the enableSecurity property in the OrderLookup droplet to false, the OrderLookup will search for orders _____. A. that belong to all users B. that belong to the current user C. with secure property set to false D. that belong to profiles with member property set to true Answer: A Question: 58 Which two statements about the relationship between orders and shipping groups are true? (Choose two.) A. All CommerceItems must be explicitly added to a ShippingGroup. B. Specific items out of the total quantity in a CommerceItem can be associated with a given ShippingGroup. C. All orders must have at least one associated ShippingGroup in order to complete the out-ofthe-box order validation pipelines. D. If the quantity in a CommerceItem is not completely covered by one or more ShippingQuantity objects, the remainder is implicitly added to the default ShippingGroup. Answer: B, C Question: 59 Which two statements are true? (Choose two.) A. You can specify the default ShippingGroup in the OrderTools component. B. The ShippingGroupOrderRelationship indicates that all the items in the order will be shipped to a single location. C. In an order, the ShippingGroupCommerceItemRelationship specifies where a set of commerce items will be shipped. D. In any given order, the number of ShippingGroup objects will never be greater than the number of CommerceItem objects. E. You can prevent commerce items from being added to types of shipping groups by using the
Page 13 of 14

Exam Name: Exam Type: Exam Code:

ATG Commerce Certification Exam Exam Express EE0-021

Total Questions:

63

shippingGroupsAllowed property on the sku item descriptor. Answer: A, C Question: 60 Which two properties can manipulate quantities in an order from a JSP? (Choose two.) A. Order.quantity B. CommerceItem.quantity C. CommerceItemRelationship.quantity D. PaymentGroupCommerceItemRelationship.quantity E. ShippingGroupCommerceItemRelationship.quantity Answer: B, E Question: 61 A customer is purchasing an order that has a total amount (including tax and shipping) of $100. The customer wants to pay for $60 of the purchase with one credit card and $40 with another credit card. Which property of the PaymentGroupFormHandler needs to be set to $40 in the JSP for this to happen? A. currentList.splitAmount B. currentList.splitPaymentInfos C. currentList.splitPaymentAmount D. currentList.splitPaymentMethod Answer: A Question: 62 Which two statements about the Order object are true? (Choose two.) A. The order does not implement the RepositoryItem interface. B. The order contains coupons, commerce items, payment groups, and shipping groups. C. The OrderManager and the OrderTools classes are the only two APIs that modify the Order object. D. ATG Consumer Commerce and ATG Business Commerce offer different implementations of the order object. Answer: A, D Question: 63 A customer is purchasing ten lightbulbs. The customer wants to ship six to a default address in Boston and four to San Francisco. Which property of the ShippingGroupFormHandler needs to be set to four in the JSP for this to happen? A. currentList.quantity B. currentList.splitQuantity C. currentList.splitShippingCount D. currentList.splitShippingLevel Answer: B

End of Document
Page 14 of 14

You might also like