c# wpf free pdf viewer : Extract pages from pdf online tool application SDK tool html winforms .net online ATGCommProgGuide5-part2129

ATG  C om mer ce P ro g ramm in g   Gui d e 
33  
3  -  I n t eg rati n g  T hi rd - Part y  So ft ware  W i th   A TG  C o mm erce 
μ
<attribute name="useCodeForValue" value="false"/> 
<option value="default" code="0"/> 
<option value="beverages" code="1"/> 
<option value="clothing" code="2"/> 
<option value="electronic_software" code="3"/> 
<option value="groceries" code="4"/> 
<option value="physical_software" code="5"/> 
</property> 
Important: 
useCodeForValue
must be set to false. If it is not, CyberSource will not 
calculate tax correctly. 
Note: The 
tax_status
column is already defined in the 
dcs_sku
table. 
2.
When you create a SKU, flag it with the appropriate 
taxStatus
flag. 
3.
Set the 
taxStatusProperty
property on the 
/atg/commerce/pricing/calculators/TaxProcessorTaxCalculator
service to 
taxStatus
4.
Set CyberSource to calculate taxes on the item level. See Calculating Taxes on the Item 
Level for more information. 
Specifying Sales Origin and Shipment Location Information 
The 
CyberSourceTax
component includes properties that represent information about the selling 
agency. The 
CyberSourceTax
component is located in the 
/atg/commerce/payment/
directory. The 
properties are: 
originCity
: The city from which the sale originated. 
originCountry
: The country from which the sale originated. 
originState
: The city from which the sale originated. 
originZip
: The zip code of the area from which the sale originated. 
shipFromCity
: The city from which the product will be shipped. 
shipFromCountry
: The city from which the product will be shipped. 
shipFromState
: The state from which the product will be shipped. 
shipFromZip
: The zip code of the area from which the product will be shipped. 
Calculating Taxes on the Item Level 
When taxes are determined for a shipping group as a whole, ATG Commerce assumes that all item in the 
group are taxable. This is the default behavior. 
If some or all items should be taxed, you need to configure ATG Commerce to calculate taxes individually, 
by following these instructions: 
Specify which products are not to be taxed. See Designating Tax Status of Products
Extract pages from pdf online tool - application SDK tool:C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others
www.rasteredge.com
Extract pages from pdf online tool - application SDK tool:VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
34  
3 -  I n t eg rat in g   Th ird - P art y  So f tw are W i t h  A TG  C o mm erce 
Specify the item calculation mode by setting the 
/atg/commerce/payment/CyberSourceTax.useProductCode
property to 
true
Specifying States and Provinces without Tax Obligations 
The 
noNexus
property in the 
CyberSourceTax
component lists states and provinces that do not have tax 
obligations. For example, 
noNexus=MA,NY,NJ
. This value is passed to the CyberSource tax system. The 
CyberSourceTax
component is located in the 
/atg/commerce/payment/
directory. 
Integrating TAXWARE with ATG Commerce 
TAXWARE’s SALES/USE, STEP and WORLDTAX systems provide an accurate means of calculating 
applicable taxes. TAXWARE’s VERAZIP system provides a means of verifying city, state, and ZIP code 
information, and determining when additional information is needed to accurately assess taxes (such as 
county or city-limits information). 
Before You Begin Integrating with TAXWARE 
Before you begin integrating TAXWARE with ATG Commerce, copy the 
taxcommon.class
file into your 
<ATG10dir>/Taxware/lib
directory. The 
taxcommon.class
file is in the TAXWARE installation 
directory. 
On Windows: 
Place the shared objects files (
taxcommon.dll
taxcommono.dll
avptax.dll
avpstep.dll
, and 
avpzip.dll
) from the TAXWARE CD into the following directory: 
<ATG10dir>\Taxware\os_specific_files\i486-unknown-win32 
On Linux: 
Copy the shared object files (
libtaxcommon.so
libtaxcommono.so
libsalesusetax.so
libstep.so
, and 
libverazip.so
libworldtax.so
) from 
the TAXWARE CD into a directory contained in your LD_LIBRARY_PATH environment 
variable. 
On UNIX: 
Copy the shared object files (
libtaxcommon.so
libtaxcommono.so
libsalesusetax.so
libstep.so
, and 
libverazip.so
libworldtax.so
) from 
the TAXWARE CD into the appropriate directory for your operating system. For 
example: 
<ATG10dir>/Taxware/os_specific_files/sparc-sun-solaris2 
TAXWARE Classes 
ATG Commerce’s TAXWARE SALES/USE and WORLDTAX integration consists of several classes: 
application SDK tool:C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
NET convert PDF to text, VB.NET extract PDF pages, VB.NET can view PDF document in single page or continue pages. PDF file is loaded as sample file for viewing
www.rasteredge.com
application SDK tool:VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
PDF file & pages edit, C#.NET PDF pages extract, copy, paste view PDF document in single page or continue pages. PDF file is loaded as sample file for viewing on
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
35  
3  -  I n t eg rati n g  T hi rd - Part y  So ft ware  W i th   A TG  C o mm erce 
Class 
Description 
TaxWareCalculateTax
TaxWareCalculateTax
is an order processing class that implements 
the 
TaxProcessor
interface. This class calls the appropriate 
TaxService
(domestic or international) to perform the tax calculation 
process. The 
TaxWareCalculateTax
calculates taxes and returns a 
TaxWareStatus
object (implements 
TaxStatus
interface) that 
contains the results of the calculation. This class also has an option to 
call to the VERAZIP system to obtain means for an extensive address 
verification procedure. 
TaxWareVerifyZipInfo 
TaxWareVerifyZipInfo
is an order processing class called by 
TaxWareCalculateTax
to verify the city, state, and ZIP code 
information before taxes are calculated. You can choose this execution 
by toggling the 
useVerazip
property in 
TaxWareCalculateTax
. This 
class calls to the TAXWARE VERAZIP system. TAXWARE may report 
errors concerning invalid ZIP code or state information, which your 
users may need to correct before proceeding. 
SalesTaxService
The persistent service that 
TaxWareCalculateTax
calls. One 
SalesTaxService
object represents one origin and shipping-source 
location and is used by 
TaxWareCalculateTax
to create a domestic 
TaxRequest
that contains default company, ship-from, and origin 
information. 
WorldTaxService 
This service represents one ship-from location. It is used by 
TaxWareCalculateTax
to create an international 
TaxRequest
that 
contains default company, ship-from, and transaction information. 
TaxRequest 
Represents a request for tax information. 
TaxResult 
Represents the result of tax information. 
Configuring ATG Commerce to Use TAXWARE 
When you use ATG Commerce with TAXWARE, ATG Commerce automatically configures the TAXWARE 
integration, running routines that setup CONFIGPATH and CLASSPATH and add libraries to the system’s 
path. 
To use TAXWARE, specify the following module as well as the ATG Business Commerce or ATG Consumer 
Commerce module during application assembly: 
Taxware
For information on ATG modules and assembling applications, see the ATG Programming Guide. 
application SDK tool:C# WPF PDF Viewer SDK to view, annotate, convert and print PDF in
convert PDF to text, VB.NET extract PDF pages, VB.NET comment annotate PDF, VB.NET delete PDF pages, VB.NET WPF PDF Viewer is an advanced PDF tool, which is
www.rasteredge.com
application SDK tool:VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Ability to create a blank PDF page with related by using following online VB.NET source code. Add and Insert Multiple PDF Pages to PDF Document Using VB.
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
36  
3 -  I n t eg rat in g   Th ird - P art y  So f tw are W i t h  A TG  C o mm erce 
Using the SALES/USE and WORLDTAX Integration 
Follow these steps to integrate SALES/USE and WORLDTAX with ATG Commerce if you want to customize 
the TAXWARE integration. Use the ATG Control Center to perform these steps. For more information on 
using the ATG Control Center, see the ATG Control Center online help. 
1.
Use the ATG Control Center to modify the 
SalesTaxService
component. It is located 
in 
/atg/commerce/payment
. Modify the following properties in 
SalesTaxService
companyId
OriginCity
OriginCountry
OriginGeoCode
OriginState
OriginZip
ShipFromCity
ShipFromCountry
ShipFromGeoCode
ShipFromState
, and 
ShipFromZip
. See TAXWARE’s documentation of the TAXWARE 
taxcommon
API for a description of these fields.. 
2.
If you ship products from more than one location or origin, you may want to create 
multiple 
SalesTaxServices
under separate names (for example, 
NYCSalesTaxService
and 
DallasSalesTaxService
). See the Customizing ATG 
Commerce’s TAXWARE Integration section for more information. 
3.
If you created more than one 
SalesTaxService
, you may want to create multiple 
/atg/commerce/payment/TaxWareCalculateTax
components (for example, 
named 
NYCTaxWareCalculateTax
and 
DallasTaxWareCalculateTax
) and point 
their 
salesTaxService
properties to the corresponding 
SalesTaxServices
If you do this, you will need to subclass the 
TaxWareCalculateTax
class so that it sets 
taxes only when appropriate. See Customizing ATG Commerce’s TAXWARE Integration 
for more information. 
4.
Check to see if any of your products fall into special taxation categories. If so, see 
Customizing ATG Commerce’s TAXWARE Integration below. 
5.
By default, the 
TaxWareCalculateTax
component points to 
SalesTaxService
which is designated for United States or Canadian requests. If you want to perform a 
WORLDTAX calculation, set the 
taxService
property to 
/atg/commerce/payment/WorldTaxService
. The properties of the 
WorldTaxService
should be set accordingly. Refer to your TAXWARE’s WORLDTAX 
manual for the information about these fields. If you have more than one international 
location, follow the steps 2-4 above to set multiple WORLDTAX services. 
Note: Refer to the WORLDTAX manual to install TAXWARE WORLDTAX System. 
Customizing ATG Commerce’s TAXWARE Integration 
You may want to customize ATG Commerce’s TAXWARE classes if: 
your products fall into special taxation categories 
you have multiple origin or ship-from locations 
you need to record or log additional tax information 
Most customizations can be completed by creating a subclass of the 
TaxWareCalculateTax
class. You 
will probably want to override the 
modifyRequest()
recordResult()
and 
getAppropriateSalesTaxService()
in methods. 
Once you create a subclass, set the 
$class
property of 
TaxWareCalculateTax
to your subclass. 
application SDK tool:VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
convert PDF to text, VB.NET extract PDF pages, VB.NET comment annotate PDF, VB.NET delete PDF pages, VB.NET An advanced PDF converter tool, which supports to
www.rasteredge.com
application SDK tool:C# HTML5 PDF Viewer SDK to convert and export PDF document to
convert PDF to text, VB.NET extract PDF pages, VB.NET comment annotate PDF, VB.NET delete PDF pages, VB.NET An advanced PDF converter tool, which supports to
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
37  
3  -  I n t eg rati n g  T hi rd - Part y  So ft ware  W i th   A TG  C o mm erce 
Customizing TaxWareCalculateTax Methods 
The following 
TaxWareCalculateTax
methods are called in the order listed. 
If you have multiple items in the same order and these items fall under different tax 
categories, you may also want to override 
calculateTaxes()
to make multiple item 
requests to TAXWARE based on their tax categories. You may want your version of 
calculateTaxes()
to make multiple calls to 
TaxWareCalculateTax
’s version. In 
this case, you should override 
modifyRequest
to set the tax category. Since 
TAXWARE supports multiple shipping destinations per order, the current 
TaxWareCalculateTax
implementation creates a multiple record TAXWARE input 
request where each record designates a unique shipping destination group with all 
items in it, see 
TaxRequestInfo
class for more references. 
getAppropriateSalesTaxService()
returns the appropriate 
SalesTaxService/WorldTaxService
based on the user and order. If you have 
multiple ship-from or origin locations, and each order only involves one of those 
locations, you may want to over-ride this method to return the appropriate 
SalesTaxService/WorldTaxService
. If so, you will also likely want to add 
additional 
SalesTaxService/WorldTaxService
properties that 
getAppropriateSalesTaxService
will choose between. If you have multiple ship-
from or origin locations and an order may involve more than a single location, it 
probably makes sense to override 
modifyRequest()
instead. The 
SalesTaxService/ WorldTaxService
returned by 
getAppropriateSalesTaxService()
is used to create a request, which is then 
passed to 
modifyRequest
modifyRequest()
Make additional changes to the 
TaxRequest
object before it is 
submitted to TAXWARE. Examples of information you may want to add or modify 
include setting appropriate origin and ship-from information, setting special tax-
category information, setting tax exemption information. See TAXWARE’s 
taxcommon
API for possible field values. 
getAppropriateSalesTaxService()
takes a 
TaxRequestInfo
object. 
TaxRequestInfo.getOrder()
returns a NULL object. To prevent this NULL return, 
subclass 
atg.commerce.pricing.TaxProcessorTaxCalculator.priceTax()
and override 
priceTax
calculateTax
and 
calculateTaxByShipping
to check for 
a null order. If the order is NULL, assign it the order that is passed in and call the 
superclass. 
TaxResult and TaxRequest Fields 
ATG Commerce includes convenience methods for accessing commonly used fields of 
TaxResult
and 
TaxRequest
. Other fields can be accessed using the 
get
TTTT
FieldValue()
, where 
TTTT
is the type 
returned by that call. For example, the convenience method 
TaxResult.getCityTaxRate()
actually 
just called returns the result of calling 
getDoubleFieldValue("TAXRATECITY")
You can set field values for fields without convenience methods by calling 
setFieldValue()
. For 
example, 
setShipFromCity()
calls 
setFieldValue("SHIPFROMCITY", CITY)
, where 
CITY
is the 
string argument passed to 
setShipFromCity
application SDK tool:VB.NET PDF - Annotate PDF Online with VB.NET HTML5 PDF Viewer
Best online HTML5 PDF Viewer PDF Viewer library as well as an advanced PDF annotating software for Visual Studio .NET. An advanced PDF annotating tool, which is
www.rasteredge.com
application SDK tool:C# HTML5 PDF Viewer SDK to annotate PDF document online in C#.NET
Best online HTML5 PDF Viewer PDF Viewer library as well as an advanced PDF annotating software for Visual Studio .NET. An advanced PDF annotating tool, which is
www.rasteredge.com
ATG  C om merce  P ro gra mm in g  G ui d e 
38  
3 -  I n t eg rat in g   Th ird - P art y  So f tw are W i t h  A TG  C o mm erce 
If you call 
setFieldValue()
directly, the value should be of the appropriate type for the field. You can 
examine the field definitions to determine which fields are available and what type they are. 
The fields for a 
TaxRequest
are defined in the 
InputRecordDef
class and the fields for 
TaxResult
are 
defined in the 
OutputRecordDef
class. 
Amount and rate values can be obtained either as doubles or as longs. The long values represent the raw 
amount read for TAXWARE, without correction for place (so rate values are 100,000 larger and US 
transaction price amounts are in cents when accessed as Integer). The double values reflect the implicit 
decimal points (rates are a percentage), and US transaction price amounts are in dollars. 
VERAZIP Integration 
ATG Commerce’s VERAZIP integration consists of several classes: 
TaxWareVerifyZipInfo
is an Order Processing class that calls the 
VeraZipCaller
class to perform the city, state, and ZIP code verification. The 
TaxWareVerifyZipInfo
class adds ZIP amount information to the current order. If 
the address verification fails for a specific address, the sophisticated error message is 
returned in the 
TaxWareStatus
object. The 
verifyZipInfo
property of 
TaxWareCalculateTax
should point to 
TaxWareVerifyZip
component in 
/atg/commerce/payment/
. If necessary, use the Component Editor in the ATG 
Control Center to set the 
useVerazip
property of 
TaxWareCalculateTax
to false to 
prevent the 
TaxWareVerifyZip
from executing, it is set to false by default. 
ZipRequest
: Represents a request for ZIP code information. 
ZipResult
: Represents the result of ZIP code information. 
To install ATG Commerce’s TAXWARE VERAZIP integration, you need a working copy of VERAZIP on the 
server machine. Since the VERAZIP Java interface calls into the TAXWARE VERAZIP libraries, VERAZIP must 
be installed and functioning on the server machine. 
Customizing ATG Commerce’s VERAZIP Integration 
You may want to customize ATG Commerce’s TAXWARE VERAZIP classes if: 
you have additional location information you want to add to 
ZipRequest
object 
you need to record or log addition ZIP code information 
you need to record or log additional tax information 
you need to specify additional fields in your TAXWARE request (if you are using 
WORLDTAX, for example) 
Most customizations can be completed by creating a subclass of the 
TaxWareVerifyZipInfo
class. You 
will likely want to override the 
modifyRequest()
method. 
Once you have created a subclass, set the 
$class
variable of 
/atg/commerce/payment/TaxWareVerifyZip
to your subclass. 
application SDK tool:VB.NET PDF - Create PDF Online with VB.NET HTML5 PDF Viewer
PDF file & pages edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET An advanced PDF loading and creation tool, which supports to
www.rasteredge.com
ATG  C om mer ce P ro g ramm in g   Gui d e 
39  
3  -  I n t eg rati n g  T hi rd - Part y  So ft ware  W i th   A TG  C o mm erce 
Customizing TaxWareVerifyZipInfo Methods 
The following 
TaxWareVerifyZipInfo
methods are called in the order listed. 
modifyRequest()
Make additional changes to the 
ZipRequest
object before it is submitted to 
TAXWARE. 
verifyZip()
Accepts an object that implements the 
VeraZipable
interface and uses that object to 
invoke the address verification routines. 
ATG  C om merce  P ro gra mm in g  G ui d e 
40  
3 -  I n t eg rat in g   Th ird - P art y  So f tw are W i t h  A TG  C o mm erce 
ATG  C om mer ce P ro g ramm in g   Gui d e 
41  
4  -  Us i n g  an d  E xt en d i n g  t h e  Pro d u ct  C at al o g  
4
Using and Extending the Product 
Catalog 
This chapter describes the product catalog definition and explains how to extend it to address your 
commerce site’s requirements. ATG Commerce allows you to set up your product catalog so different 
customers see different information about the products they view, or different products altogether. The 
default catalog provides sufficient functionality for many sites. However, you may want to extend or 
modify this catalog definition to include additional item types or properties. 
You create and modify catalog items through the ATG Control Center, as described in the ATG Commerce 
Guide to Setting Up a Store, or through the ATG Merchandising application, as described in the ATG 
Merchandising Guide for Business Users
This chapter includes the following sections: 
Production and Development Modes for ATG Commerce 
Product Catalog Repository 
Catalog Properties 
Categories and Products 
SKU Items and SKU Links 
Catalog Folders 
Folders and Media Items 
Internationalizing the Product Catalog 
Catalog Security 
Importing Product Catalog Content 
Assigning a Catalog to a User 
Production and Development Modes for ATG Commerce 
You can run ATG Commerce in either production mode or development mode. The mode that you run in 
determines how values for catalog-related properties are obtained, which significantly affects your 
Commerce application’s performance. 
ATG  C om merce  P ro gra mm in g  G ui d e 
42  
4  -  Us in g   and   Ex t en d in g   t he  P ro d uct   C at al og  
development mode: Uses derived properties so that you can preview a product 
catalog on a web site while you’re making changes without having to run the 
CatalogMaintenanceService
(see Using the Catalog Maintenance System  in this 
guide). Development mode makes updates incrementally so you can preview your 
changes throughout the development process. 
Development mode overrides the definitions of certain properties in the catalog 
repository that are normally computed by the batch service, and these properties are 
derived on-the-fly. Development mode is more resource-intensive than production 
mode because these properties have to be computed at the time they are referenced, 
rather than being pre-computed by the batch service. 
production mode: Uses computed properties. This mode uses properties pre-
computed by the 
CatalogMaintenanceService
, so performance is superior to 
development mode. 
EAR files are assembled with slight differences for each mode; for information, see the ATG Programming 
Guide
Product Catalog Repository 
ATG Commerce uses the ATG SQL Repository to define the product catalog. Before reading this chapter, 
you should be familiar with the ATG SQL Repository, as described in the ATG Repository Guide. 
A catalog repository is similar to any other SQL repository. There are three main parts: 
1.
The database schema on your SQL database server. 
2.
The repository component, which is of class 
atg.adapter.gsa.GSARepository
3.
The repository definition file, which is an XML file that defines the relationship 
between the SQL database and the repository component. 
A given user can only have permission to view one catalog. This catalog can be assigned in the catalog 
property of the user’s profile, or derived from the user’s 
parentOrganization
If you are using ATG’s multisite feature, you can assign catalogs to sites. The categories, products, and 
SKUs in that catalog inherit membership in that site from the catalog. 
Catalogs consist of 
rootCategories
and 
rootSubCatalogs
. A catalog’s 
rootCategories
combine 
with the 
rootCategories
of its 
rootSubCatalogs
to make up the list of the catalog’s 
allRootCategories
. For example: 
Catalog A: 
rootCategories = category1, category2
Catalog B: 
rootCategories = category3, category4 
rootSubCatalogs = CatalogA
Documents you may be interested
Documents you may be interested