IBM Global Data Synchronization for WebSphere Product Center

Version 1.3

 

Customization Guide

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Note: Before using this information and the product it supports, read the information in “Notices” on page 7756.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13 February28 July, 2006

This edition of this document applies to IBM Global Data Synchronization for Websphere Product Center, version 1.3, and to all subsequent releases and modifications until otherwise indicated in new editions.

© Copyright International Business Machines Corporations 20052006. All rights reserved. Licensed Materials-Property of IBM

US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.


 

Ch 1      About This Document.. 1

Audience. 1

Related Documentation.. 1

Typographic Conventions. 1

Ch 2      Mass Transactions.. 2

Creating a Mass transaction report 2

Mass Global Enrichment 3

Mass Local Enrichment 4

Mass Compliance check. 5

Mass Submission for item approval 5

Mass Item Add. 6

Mass Publish Items. 6

Mass synchronization of Items. 7

Mass Add Item Link. 8

Script for mass jobs. 9

Adding or ignoring a trade item in the search results. 10

Ch 3      Mass Update. 12

Ch 4      Configuring custom workflows.. 14

Ch 5      Script Operations Reference. 16

Compliance of the imported item... 16

Importing from a legacy system to GDS. 16

Scripting operation Reference – Supply side. 17

Trade Item Status Table. 17

List of Script Operations for Supply Side. 19

Script operations related to Trade Item.. 19

Script Operations related to Trade Item Links. 28

Script Operations related to Trading Partner. 30

Script Operations related to Notifications. 31

Script Operations related to Transactions. 32

Scripting operation Reference – Demand side. 32

List of Script Operations for Demand Side. 35

Script operations related to Trade Item.. 35

Script operations related to Trading Item Links. 40

Script operations related to Trading Partner. 42

Script operations related to Notifications. 44

Script operations related to Transactions. 45

Script operations related to Messaging. 45

Ch 6      Notices.. 56

Programming interface information. 57

Trademarks and service marks. 58

Ch 1      About This Document.. 3

Audience. 3

Related Documentation.. 3

Typographic Conventions. 3

Ch 2      Mass Transactions.. 4

Creating a Mass transaction report 4

Mass Global Enrichment 5

Mass Local Enrichment 6

Mass Compliance check. 7

Mass Submission for item approval 7

Mass Item Add. 8

Mass Publish Items. 8

Mass synchronization of Items. 9

Mass Add Item Link. 10

Script for mass jobs. 11

Adding or ignoring a trade item in the search results. 12

Ch 3      Mass Update. 14

Ch 4      Configuring custom workflows.. 16

Ch 5      Script Operations Reference. 18

Compliance of the imported item.. 18

Importing from a legacy system to GDS. 18

Scripting operation Reference – Supply side. 19

Trade Item Status Table. 19

List of Script Operations for Supply Side. 21

Script operations related to Trade Item.. 21

Script Operations related to Trade Item Links. 30

Script Operations related to Trading Partner. 32

Script Operations related to Notifications. 33

Script Operations related to Transactions. 34

Scripting operation Reference – Demand side. 34

List of Script Operations for Demand Side. 37

Script operations related to Trade Item.. 37

Script operations related to Trading Item Links. 42

Script operations related to Trading Partner. 44

Script operations related to Notifications. 46

Script operations related to Transactions. 47

Script operations related to Messaging. 47

Ch 6      Notices.. 58

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Ch 1          About This Document

Audience

The objective of this guide is to facilitate the customization of the IBM Global Data Synchronization for WebSphere Product Center solution for supply and demand components. This guide describes the steps to:

·   Create and run Mass Transactions

·   Create and run Mass Updations

·   Create and configure custom workflows

·   Run import and export scripts

The intended audiences for this guide are the system administrators and IT specialists who are responsible for installing and configuring IBM Global Data synchronization for WebSphere Product Center.  It is recommended that the users are proficient in Websphere Product Center.

Related Documentation

The following related Global Data Synchronization Demand documentation is also available:

·   User Guide

·   Installation and Configuration Guide

·   WBIC and MQ configuration guide

·   Release Notes

Typographic Conventions

This document uses the following conventions:

·   Courier New font - Indicates commands, directory names, user names, path names, and file names.

·   Note - Indicates important or clarifying information including exceptions, interdependencies, and special situations.

·   Tip - Indicates a helpful action that will simplify or streamline the current procedure.

·   bold font - Indicates buttons, tabs, menus, and keyboard key names. For example, the Save button.

·   Italics font - Indicates screen names. For example, the Login screen.

Ch 2          Mass Transactions

Mass transactions are scheduled GDS processes or jobs which are executed through Websphere Product Center. These processes are specific to the Supply Side Componenet of GDS. All the Mass Transaction jobs are defined as reports in WebSphere Product Center which get saved in the Document Store. The notifications that are generated as a result of these transactions are received by GDS.

You can search for a particular set of trade items. The trade items retrieved as search results will be submitted to a mass transaction process.

Creating a Mass transaction report

To create a mass transaction report:

1.        Go to Product Manager> Reports>New Report.

2.        From the report type drop down, select the type of the report.

The different types of mass transactions that are preseeded in the application are:

a.       Mass Global Enrichment

b.       Mass Local Enrichment

c.        Mass Compliance Check

d.       Mass Submission for Item Approval

e.        Mass Item Add

f.         Mass Publish Items

g.       Mass Synchronization of Items

h.       Mass Add Item Link

 

 

 

3.        In the Report Name field, enter a name for the report and click Next.

4.        From the Distribution drop down select the type of distribution.

A report creation confirmation message will be displayed. This will complete creating a new mass transaction report.

Mass Global Enrichment

This job will submit all the selected trade items into the Global Enrichment workflow. The selected trade items should be in “draft” state.

To submit items for Mass Global enrichment:

1.        Go to Product Manager> Reports> Reports Console.

2.        From the list of transactions, choose the report of type Mass Global enrichment.

3.        In the list of fields displayed, enter the search criteria for the items which you want to submit for global enrichment. If no value is specified then all items that are in draft state are selected.

4.        Save the report by clicking on the Save   icon and go back to the Reports Console by clicking on the  icon.

5.        To schedule the report, click on the scheduler  icon.  

Note: The users eligible for Global-Local Enrichment will get one notification for each trade item submitted.

               

                Depending on the security configurations, the appropriate user will receive a single enrichment completion notification for all the trade items submitted as part of mass global enrichment.

 

                You can see the status of the trade item submitted for enrichment in the Reports Console in WPC or through Search Transactions option in GDS. For more information on Search Transactions, refer to Chapter 8 Search in IBM Global Data Synchronization for WebSphere Product Center version 1.2 User Guide –supply side

Mass Local Enrichment

This job will submit all the selected trade items into the Local enrichment workflow.

To submit trade items for Mass Local enrichment:

1.        Go to Product Manager> Reports> Reports Console.

2.        From the list of transactions, choose a report of type Mass Local Enrichment.

3.        In the list of fields displayed, enter the search values for the items that you want to submit for local enrichment. If no value is specified then all items that are in draft with variant state are selected.

4.        Save the report by clicking on the Save   icon and go back to the Reports Console by clicking on the  icon.

5.        To schedule the report, click on the scheduler  icon.

 

Note: The user eligible for Global-Local Enrichment will get one notification for each trade item submitted.

                Depending on the configuration, the appropriate user will receive a single enrichment completion notification for all the Trade Items submitted as part of Mass Local Enrichment.

                You can see the status of the Trade Item submitted for Enrichment in the Reports Console in WPC and through Search Transactions option in GDS. For more information refer to Chapter 8 Search in IBM Global Data Synchronization for WebSphere Product Center version 1.2 User Guide –supply side.

 

 

 

Mass Compliance check

This job will perform a compliance check for all the selected trade items. The selected trade items should be in “complete”, “edited” or “modified locally” state. This job will generate a report listing the trade items that have either failed or passed the compliance check. The failed items log will have a description of the attributes that have failed validations.

To run a Mass compliance check:

1.        Go to Product Manager> Reports> Reports Console.

2.        From the list of transactions, choose a report of type Mass compliance check. 

3.        In the list of fields displayed, enter the search values for the items that you want to submit for mass compliance check. If no value is specified items which are in “Complete” state are selected.

4.        Save the report by clicking on the Save   icon and go back to the report’s console by clicking on the  icon.

5.        To schedule the report click on the scheduler  icon.

 

Mass Submission for item approval

This job will submit all the selected trade items into item approval workflow. The selected trade items should be in “compliant” state.

To run a Mass Item approval:

1.        Go to Product Manager> Reports> Reports Console.

2.        From the list of transactions, choose a report of type Mass submission for item approval.

3.        In the list of fields displayed, enter the search values for the items that you want to submit for approval. If no value is specified then all trade items that are compliant are selected.

Note: The user eligible for approval will get one notification for each Trade Item submitted for approval.

               

                Depending on the configuration, the appropriate user will get the Approve/Reject notification. The security of the user has to be set properly.

 

                You can see the status of the Trade Item submitted for approval in the Reports Console in WPC and through Search Transactions option in GDS. For more information refer to Chapter 8 Search in IBM Global Data Synchronization for WebSphere Product Center version 1.2 User Guide –supply side.

 

4.        Save the report by clicking on the Save   icon and go back to the report’s console by clicking on the  icon.

5.        To schedule the report, click on the scheduler  icon.

 

Mass Item Add

This job will generate an XML with the list of items to be submitted to the data pool. The XML can be viewed in the docstore archive. These selected trade items should be in “approved” state.

To run a Mass Item Add:

1.        Go to Product Manager> Reports> Reports Console.

2.        From the list of transactions, choose a report of type Mass Item Add.

3.        In the list of fields displayed, enter the search values for the items that you want to publish. In no value is specified, the report picks all the items which have successfully completed compliance check and are in “approved” state.

4.        Save the report by clicking on the Save   icon and go back to the report’s console by clicking on the  icon.

5.        To schedule the report, click on the scheduler  icon.

 

Mass Publish Items

This job will generate an XML for initial load or new item, with the list of items to be published to the trading partner. The XML can be viewed in the docstore archive.  The selected trade items can be in any of the following states: registered, registered-GS1, registered-GS1 non compliant state.

 

To run a Mass Publish Items:

1.        Go to Product Manager> Reports> Reports Console.

2.        From the list of transactions, choose a report of type Mass Publish Items.

3.        In the list of fields displayed, enter the search values for the items that you want to publish. If no value is specified then items with Global and Local status as “registered” or “registered-GS1”.is selected automatically and published.

Note: Fields that are marked are mandatory fields.

 

Note: In the trading partner field you can enter multiple values separated by a comma “,”.

 

Note: The publication date is the date on which the publication will be sent by the data pool to the trading partners.

 

Note: Mass Publication can be either an “initial load item publication” or “new item publication”

 

Note: If the field cascade item is set to true, then the item will be published with the entire hierarchy.

 

4.        Save the report by clicking on the Save   icon and go back to the report’s console by clicking on the  icon.

5.        To schedule the report, click on the scheduler  icon.

 

Mass synchronization of Items

This job will generate an XML with the list of items to synchronise. The XML can be viewed in the docstore archive. These selected trade items should be in “modified locally”state.

To run mass synchronization of items:

1.        Go to Product Manager> Reports> Reports Console.

2.        From the list of transactions, choose a report of type Mass Synchronization of Items.

3.        In the list of fields displayed, enter the search values for the items that you want to add to synchronize. If no value is specified then all trade items that have been “modified locally” are picked up for synchronization.

4.        Save the report by clicking on the Save   icon and go back to the report’s console by clicking on the  icon.

5.        To schedule the report, click on the scheduler  icon.

 

Mass Add Item Link

This job will generate a .XML file with the list of item links to be added to the data pool. To view the XML file go to the archive folder in the Docstore. The selected trade items link should be in “approved” state.

To run a Mass Add Item Link:

1.        Go to Product Manager> Reports> Reports Console.

2.        From the list of reports, choose a report of type Mass Add Item Link.

3.        In the list of fields displayed, enter the search values for the items.

4.        Save the search parameters by clicking on the Save   icon and go back to the report’s console by clicking on the  icon.

5.        To schedule the report, click on the scheduler  icon.

 

Note: All the above mass job reports gets saved in the Document Store under the path “/reports/<Name of the Mass Job>/” folder with a name <time stamp when job got executed>.log

 

 

 

 

 

 

Script for mass jobs

This following script operation is a single entry point for all the Mass Jobs. The type of mass job is identified by the ID.

Operation name and signature:

processMassTransaction_SS(String massJobID,HashMap hmSearchParamsToValues)

Description:

A valid Mass Job ID can be any one of the following values:

 

Mass Job Type

ID

Global_Enrichment

1

Local_Enrichment

2

Compliance_Check

3

Item_Approval

4

Add_Item

5

Add_Item_Link

6

Publish_Item

7

Synchronize_Changes

8

 

The user can also pass the search parameters via hash map. The valid keys are as follows and they are case sensitive.

1. GTIN

2. GTIN_NAME

3. BRAND_NAME

4. PRODUCT_NAME

5. PRODUCT_DESCRIPTION

6. TARGET_MARKET

7. IP_GLN

8. IP_NAME

9. MANUFACTURER_GLN

10. MANUFACTURER_NAME

11. PRODUCT_TYPE

12. INTERNAL_CODE

13. INTERNAL_CODE_DESC

14. UDEX_CODE

15. UDEX_CATEGORY_DESC

 

The following is an example of how the mass job can be invoked through the WebSphere Product Center script sandbox.

 

       //initialize the mass job type

       var massJobID = 1;  //Global Enrichment

 

       //populate the search parameter values

       hmSearchParamsToValues["GTIN"]="0001230123012" ;

       hmSearchParamsToValues["TARGET_MARKET"]="US" ;

       hmSearchParamsToValues["IP_GLN"]="000123929234" ;

      

       //invoke the mass transaction

       processMassTransaction_SS (massJobID,hmSearchParamsToValues)

 

Mass jobs performance enhancements:

Ensure the following setting in order to ensure better performance of the mass import export operations:

 

At the starting of the mass import/export script:

 

              setMassImport_SS(toBoolean("true"));

 

At the end of the mass import/export script:

 

              setMassImport_SS(toBoolean("false"));

 

 

Adding or ignoring a trade item in the search results

To add or ignore the trade items in the search results:

Create an item in the catalog named "Mass_Publication_Bucket_Catalog". This catalog has a hierarchy named Mass_Transaction_bucket_hierarchy which has two categories, Ignore Item and Include Item.

Depending on the category under which you choose to create the item, the script will construct trade items using the values provided (GTIN, TM & IP) and include or remove it from the search results.

For more information on creating a record under catalog refer to the WebSphere Product Center 5.2.0.2 User guide.

 


Ch 3          Mass Update

The Mass Update functionality will let the user update a set of GTINs at one point of time on supply side.

To execute a mass update job:

Go to Product Manager> Reports> Reports Console

To create a new report:

1.       Click the New  icon.

 

2.       Select the report type as Mass update.

3.       In the report name field, type in the report name and click Next.

4.       Select the distribution.

5.       Click on  to go back to the reports console.

 

6.       From the list of reports, choose the report that you want to run. The page to enter values for the attributes is displayed.

In the list of fields displayed, under Mass Update Search criteria enter the search values for the trade items that you want to add to the data pool. You have to enter at least one search criterion.

Under the Mass Update Global attributes and Mass Update Local Attributes, enter the values for the attributes for which you want to perform a mass update.

Under the Mass Update Spec custom attributes, update the value by specifying the complete path of the attributes.

For example: Global_Attributes_Spec/Brand/BrandName

Note: The language specific attributes, interoperability attributes and partner specific attributes can be updated by the custom attributes provided.

 

Note: You cannot perform a mass update for the following attributes: GTIN, TM, IP, Product type, Internal Category, Data Pool Category, GPC classification, EAN UCC code, EAN UCC type.

 

7.       Save the report by clicking on the Save   icon and go back to the reports console by clicking on the  icon.

To schedule the report, click on the scheduler  icon.

Note: If an item is stuck in a workflow then a mass update will not be performed on that item.

 

After completing a mass update a trade item goes through the following status changes:

Local Status

Status Transition after Mass Update

Approved

Compliant

Compliant

Compliant

Edited

Compliant

Modified Compliant

Compliant

Modified Locally

Modified Locally

Registered

Modified Locally

Registered GS1

Modified Locally

Registered GS1 – Non Compliant

Modified Locally

 


Ch 4          Configuring custom workflows

For demand side publications the following are the default workflows that are invoked in case of normal flow in the IBM Global Data Synchronization for Websphere Product Center application

Normal Workflows:

·   NEW ITEM - ProcessNewItemWF

·   INITIAL LOAD - ProcessInitialLoadWF

·   ITEM CHANGE - ProcessItemChangeWF

·   ITEM DELIST – ProcessItemDelistWF     [only in Uccnet]

·   ITEM WITHDRAW – ProcessItemWithdrawWF [only in Uccnet]

·   ITEM CORRECT - ProcessItemCorrectWF

·   ITEM DELETE – ProcessDeleteItemWF  [only in WWRE]

 

In order to invoke a custom process flow for Catalogue Item Notifications [CIN] (for example: where the external legacy system does item management), a configuration file has been provided to specify the custom workflows for different CIN types.

Following is the location of this configuration file:

$TOP/etc/processflow/<datapool name>/publicationprocess.properties.default

Example: $TOP/etc/processflow/uccnet/publicationprocess.properties.default

Or

$TOP/etc/processflow/wwre/publicationprocess.properties.default

In order to configure the system to load the publications in the custom workflows [passthrough model], just rename the appropriate properties file from

publicationprocess.properties.default

to

publicationprocess.properties

 

The following constants can be used to configure the custom workflow names in the publicationprocess.properties

·   For New Item:  CIN_NEW_ITEM_PROCESS

·   For Initial Load: CIN_INITAL_LOAD_PROCESS

·   For Item Change: CIN_ITEM_CHANGE_PROCESS

·   For Item Withdraw: CIN_ITEM_WITHDRAW_PROCESS

·   For Item De-list: CIN_ITEM_DELIST_PROCESS

·   For Item Correct: CIN_ITEM_CORRECT_PROCESS

·   For Item Delete: CIN_ITEM_DELETE_PROCESS

 

 

Sample configuration file:

#NEW ITEM

CIN_NEW_ITEM_PROCESS=ProcessNewItemWFCustom

 

#INITAL LOAD

CIN_INITAL_LOAD_PROCESS=ProcessInitialLoadWFCustom

 

#ITEM CHANGE

CIN_ITEM_CHANGE_PROCESS=ProcessItemChangeWFCustom

 

The above sample defines custom workflows for New Item, Initial Load and Item Change publications. Any publication of the above types will be checked-out in the custom workflows instead of the normal GDS workflows.

 

With this configuration it is very easy to switch between the normal GDS CIN workflows and any custom workflow. In case the publicationprocess.properties file cannot be loaded, the default GDS workflows (as mentioned under the Normal Workflows section) will be invoked for the publications.

 

 


Ch 5          Script Operations Reference

The Import/Export operation allows the user to export or import information from or to IBM Global Data Synchronization for WebSphere Product Center. The user can import or export information about trade items, trade item links, and trading partners. This chapter provides a list of script operations to implement import and export in IBM Global Data Synchronization for WebSphere Product Center – Supply side component.

The data is imported or exported into GDS dependings on the way data is maintained in the legacy systems at the customer location. If the source data does not contain mandatory fields (required by IBM Global Data Synchronization for WebSphere Product Center), a dummy value needs to be generated. The trade items can be modified after the import.

Compliance of the imported item

The imported trade item status should be compliant with the status defined in IBM Global data synchronization for WebSphere Product center, refer trade item status table below. This can be done while performing import or export by modifying the import script used.

Once the trade items are imported, the user can ensure the datapool compliance, by running the compliance script provided.

Importing from a legacy system to GDS

This section explains the various scenarios and gives an overview of the import scripts.

Note: When an item is imported through scripts, unlike the IBM Global Data synchronization for WebSphere Product Center user interface, it does not go through an approval process. All approval processes are implicit and the user has to set the appropriate final status for the trade item. For the list of status changes refer to the trade item status list table below.

 

The imported trade items should be in compliant state for supply-side.

 

 

 

Scripting operation Reference – Supply side

Trade Item Status Table

The following table shows the rules that govern status of trade items.

From Status: Status of the trade item prior to import

To Status: Status of the item after import

Compliance check required: Specifies whether the trade item has to go through a compliance check

Notification: The notification column specifies whether the user has to be sent a notification or not. The types of notification are defined in the NotificationSecurityMappingTable lookup table.

Transaction: This column specifies which type of transation needs to be logged once the import is done. Transaction types are defined in Transaction_type lokup table.

From Status

To Status

Compliance Check Required

Notification

Transaction

 

Draft

 

 

CREATE_GTIN

Draft

Draft

NO

 

 

Draft With Variant

Draft With Variant

NO

 

 

Draft with Attribute

Global Attributes Modified Locally

NO

MODIFY_ITEM_APPROVED

MODIFY_GLOBAL_ITEM_APPROVED

Global Attributes Modified Locally

Global Attributes Modified Locally

YES

 

 

Global Enrichment Completed

Global Enrichment Completed

NO

 

 

Pending Variant Creation

Pending Variant Creation

NO

 

 

Modified Compliant

Modified Compliant

YES

 

 

Modified Compliant Approval Pending

Modified Compliant Approval Pending

YES

 

 

Registered

Modified Locally

YES

MODIFY_ITEM_APPROVED

MODIFY_ITEM_APPROVED

 

For Local Item

From Status

To Status

Compliance Check Required

Notification

Transaction

Draft

Draft

NO

 

 

Modified Compliant

Modified Compliant

YES

 

 

Modified Compliant Approval Pending

Modified Compliant Approval Pending

YES

 

 

Modified Locally

Modified Compliant Approval Pending

YES

MODIFY_ITEM_APPROVAL_PENDING

MODIFY_ITEM_APPROVAL_PENDING

Complete

Edited

YES

 

 

Compliant

Edited

YES

 

 

Compliant

Compliant

YES

 

 

Approved

Edited

NO

 

 

Rejected

Compliant

YES

 

 

Registered

Modified Locally

YES

MODIFY_ITEM_APPROVED

MODIFY_ITEM_APPROVED

 

Import Trade Item Links

The following table shows the rules that govern the status of trade item links.

From_Status

To_Status

Notification

Transaction

Draft

Draft

 

 

Approved

Edited

MODIFIED_ITEM_LINK_APPROVAL_PENDING

MODIFIED_ITEM_LINK_APPROVAL_PENDING

Rejected

Edited

MODIFIED_ITEM_LINK_APPROVAL_PENDING

MODIFIED_ITEM_LINK_APPROVAL_PENDING

Registered

Modified Locally

MODIFIED__ITEM_LINK_APPROVED

MODIFIED_ITEM_LINK_APPROVED

Modified Locally

Modified Locally

 

 

           

Import Trading Partners

The following table shows the rules that govern auto status of trading partners.

Existing Status

After Import

Notification

Transaction

Draft

Draft

 

0

Approved

Edited

 

0

Rejected

Edited

 

0

Edited

Edited

 

0

 

List of Script Operations for Supply Side

The following table lists the script operations, the arguments that each operation accepts and their descriptions. You can use a combination of these script operations to import/export data. The scripts listed are related to:

·   Trade Item

·   Trade Item Links

·   Trading Partner

·   Notifications

·   Transactions

Script operations related to Trade Item

 

Name

new$TradeItemSS

Description

Creates a new Supply Side Trade Item.

Type

constructor

Prototype

TradeItem new TradeItemSS(String sGtin, String sGTINName, String sProductType, String sInternalCatCode, String sDataPoolCatCode)

Parameters

sGtin - 14 digit Global Trade Item Number(GTIN)

sGTINName - Global Trade Item Number(GTIN) Name

"sProductType - Trade Item product Type, the valid valus are ""Each"", ""Case"", ""Mixed Pallet"", ""Package"" or ""Pallet""."

sInternalCatCode - Category code of the Internal classificatrion scheme.

sDataPoolCatCode- Category code of the Data Pool classificatrion scheme.

 

Name

getTradeItemSS

Description

Returns a Trade Item with the given GTIN, TM and IP values, else returns null. This method will return only the trade item global handle if the TM and IP are null or empty.

Type

method

Prototype

TradeItem getTradeItemSS(String sGTIN,String sTM,String sIP)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN)

sTM - 2 characters target martket code such as US, GB, etc,.

sIP - 13 digit Global Local Number(GLN) of the Information Provider

 

Name

setTradeItemAttributesSS

Description

Sets the Trade Item attributes with the given hashmap of attribute paths and their corresponding values. Note that multi occurrence attribute paths need to be indexed with #0,#1 and so on in their paths.

Type

method

Prototype

void TradeItem::setTradeItemAttributesSS(HashMap hmAttributePathsToValues)

Parameters

hmAttributePathsToValues - A map containing the attributePath as key and their corresponding values.

 

Name

setTradeItemAttributeSS

Description

Sets the trade item attribute value using the attribute path.

Type

method

Prototype

void TradeItem::setTradeItemAttributeSS(String attributePath,String attributeValue)

Parameters

attributePath - Trade Item attribute path.

attributeValue - Trade Item attribute value.

 

 

 

Name

getTradeItemAttributeValueSS

Description

Returns the attribute value of the Trade Item.

Type

static

Prototype

String TradeItem::getTradeItemAttributeValueSS(String sAttrPath)

Parameters

sAttrPath - Trade Item attribute path.

 

Name

validateGTIN

Description

Validates the GTIN value.

Type

static

Prototype

Boolean validateGTIN(String sGTIN)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN).

 

Name

validateGLN

Description

Validates the GLN value.

Type

static

Prototype

Boolean validateGLN(String sGLN)

Parameters

sGLN - 13 digit Global Local Number(GLN) of the Information Provider.

 

Name

getCategory

Description

Returns the Category in the GTIN_Hierarchy.

Type

static

Prototype

ICategory getCategory(String sGTIN)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN).

 

Name

getGTINTree

Description

Returns the GTIN Tree when the GTIN String is provided.

Type

static

Prototype

getGTINTree(String sGTIN)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN).

 

 

Name

addChild

Description

Adds GTIN to the tree.

Type

static

Prototype

addChild(GTINTree tree)

Parameters

Tree - Represents the GTIN tree.

 

Name

removeChild

Description

Removes GTIN from the tree.

Type

static

Prototype

removeChild(String sGTIN)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN).

 

Name

saveTradeItemSS

Description

Saves the trade item to the database and returns true if the save was successfull.

Type

method

Prototype

boolean TradeItem::saveTradeItemSS()

 

 

Name

searchTradeItems

Description

Searches and retrieves Ttrade Items based on a set of search parameters.

Type

method

Prototype

HashMap searchTradeItems(HashMap hmSearchParamsToValues)

Parameters

hmSearchParamsToValues - The input is a hashmap of search keys and their values. The Keys should be one of the following and the case has to be upper case.

GTIN, GTIN_NAME, BRAND_NAME, PRODUCT_NAME, DESCRIPTION, TARGET_MARKET, LANGUAGE_CODE, IP_GLN, IP_NAME, BRAND_OWNER_NAME, MANUFACTURER_GLN,MANUFACTURER_NAME, PRODUCT_TYPE, INTERNAL_CODE, INTERNAL_CODE_DESC, UDEX_CODE, UDEX_CATEGORY_DESC,GLOBAL_STATUS, UNIT_INDICATOR_YES(Value should be YES or NO), UNIT_INDICATOR_NO(Value should be YES or NO), UNIT_INDICATOR_NONE(Value should be YES or NO)

 

 

Name

getTradeItemParentLinks

Description

Searches for parent trade item links for this trade item.

Type

method

Prototype

HashMap TradeItem::getTradeItemParentLinks()

               

 

Name

getTradeItemChildLinks

Description

Searches for child trade item links for this trade item.

Type

method

Prototype

HashMap TradeItem::getTradeItemChildLinks()

 

 

Name

getModifiedTradeItems

Description

Searches and retrieves Ttrade Items modified between start date and end date for a given transaction type.

Type

method

Prototype

HashMap getModifiedTradeItems(String transactionType, Date startDate, Date endDate)

Parameters

transactionType - The trasansaction type for the trade Item. All the transaction types can be obtained from the Transaction_Type_LookUp table.

startDate - Start date of the transaction.

endDate - End date of the transaction.

 

 

Name

getItems

Description

Gets the Global and the local item for this TradeItem

Type

method

Prototype

HashMap TradeItem::getItems()

 

 

 

Name

setUDEXCategoryCode

Description

sets the value of trade item with the given the udex category code for a given trade item

Type

method

Prototype

void TradeItem::setUDEXCategoryCode(String code)

Parameters

code - The UDEX category code in the UDEX_Hierarchy_Uccnet.

 

Name

setInternalCategoryCode

Description

sets the trade item with the given internal category code

Type

method

Prototype

void TradeItem::setInternalCategoryCode(String code)

Parameters

code - The UDEX category code in the UDEX_Hierarchy_Uccnet.

 

 

Name

validateTradeItem

Description

This method validates the all the attributes for a ITrade Item object. Returns HashMap only for the attributes which have failed validation.

Type

method

Prototype

HashMap TradeItem::validateTradeItem()

 

Name

validateTradeItemAttribute

Description

This method validates the attribute for a ITradeItem object. Returns error msg if the attribute has errors else it returns null.

Type

method

Prototype

String TradeItem::validateTradeItemAttribute(String sAttrPath)

Parameters

sAttrPath - Trade Item attribute path.

 

Name

validateTradeItemAttributeGroup

Description

This method validates the an attribute group for a ITrade Item object. Returns HashMap only for the attributes which have failed validation.

Type

method

Prototype

HashMap TradeItem::validateTradeItemAttributeGroup(String sAttributeGroup)

Parameters

sAttributeGroup - Trade Item attribute group.

 

Name

deleteTMIPVariant

Description

Deletes the TMIP variant of this tradeItem.

Type

method

Prototype

boolean TradeItem::deleteTMIPVariant()

 

Name

deleteGTIN

Description

Deletes the GTIN of this tradeItem. This can only be used when the Ttrade Item does not have any variants.

Type

method

Prototype

boolean TradeItem::deleteGTIN()

 

Name

isTradeItemCheckedOut

Description

Returns whether the TradeItem is checked out in Workflow.

Type

static

Prototype

boolean TradeItem::isTradeItemCheckedOut()

 

 

Name

isWWREInteroperable

Description

This method returns whether the trade item is WWRE Interoperable or not.

Type

method

Prototype

boolean TradeItem::isWWREInteroperablee()

 

Name

addItem_SS

Description

Adds the Approved TradeItem to Transora

Type

method

Prototype

void addItem_SS(HashMap entryMap, String strDate)

Parameters

entryMap - Map containig the trade items.

strDate - Start date for the trade item Publication.

 

Name

synchronizeItemChanges_SS

Description

Synchronizes the Trade Item changes to Transora

Type

method

Prototype

void synchronizeItemChanges_SS(HashMap entryMap, String strDate)

Parameters

entryMap - Map containig the trade items.

strDate - Start date for the trade item Publication.

 

Name

publishNewItem_SS

Description

Synchronizes the Trade Item changes to Transora

Type

method

Prototype

void publishNewItem_SS(HashMap entryMap, HashMap tradingPartners, String cascade, String strDate)

Parameters

entryMap - Map containig the trade items.

strDate - Start date for the trade item Publication.

 

Name

sendInitialLoad_SS

Description

Synchronizes the Trade Item changes to Transora

Type

method

Prototype

void sendInitialLoad_SS(HashMap entryMap, HashMap tradingPartners, String cascade, String strDate)

Parameters

entryMap - Map containig the trade items.

tradingPartners - Map containing the trading partners whom the trade items have to be published.

"cascade - cascade option, possible values are ""Yes""/""No""."

strDate - Start date for the trade item Publication.

 

Name

addItemLinksForMassTransactions_SS

Description

Method to Add Item Links for Mass Transactions

Type

method

Prototype

void addItemLinksForMassTransactions_SS(HashMap entryMap, String strDate)

Parameters

entryMap - Map containig the trade items.

strDate - Start date for the trade item Publication.

 

Name

getCtgItemAttribValues

Description

Returns a HashMap mapping the paths (spec_name/attribute_name) of attributes to their respective values for all the attributes.

Type

method

Prototype

HashMap Item::getCtgItemAttribValues()

 

Name

readGDSProperties_SS

Description

Method to read GDS Properties

Type

method

Prototype

String readGDSProperties_SS(String key)

Parameters

key - Key for the property in the $TOP/etc/default/gds.properties files.

 

Name

searchTradeItemsPaginated_SS

Description

Searches and retrieves trade Items based on a set of search parameters.

Type

method

Prototype

HashMap searchTradeItems(HashMap hmSearchParamsToValues,String start, String end)

Parameters

entryMap - The input is a hashmap of search keys and their values. The Keys should be one of the following and the case has to be upper case.

GTIN, GTIN_NAME, BRAND_NAME, PRODUCT_NAME, DESCRIPTION, TARGET_MARKET, LANGUAGE_CODE, IP_GLN, IP_NAME, BRAND_OWNER_NAME, MANUFACTURER_GLN,MANUFACTURER_NAME, PRODUCT_TYPE, INTERNAL_CODE, INTERNAL_CODE_DESC, UDEX_CODE, UDEX_CATEGORY_DESC,GLOBAL_STATUS, UNIT_INDICATOR_YES(Value should be YES or NO), UNIT_INDICATOR_NO(Value should be YES or NO), UNIT_INDICATOR_NONE(Value should be YES or NO)

Start - Start index of the page.

End - End index of the page.

 

Name

processMassTransaction_SS

Description

A single entry point for all the Mass Jobs. A Mass Job type is identified by the ID.

Type

method

Prototype

void processMassTransaction(String massJobID,HashMap hmSearchParamsToValues)

Parameters

massJobID - A valid Mass Job ID can be anyone of the following values

Global_Enrichment   =  1,

Local_Enrichment    =  2,

Compliance_Check    =  3,

Item_Approval       =  4,

Add_Item            =  5,

Add_Item_Link       =  6,

Publish_Item        =  7,

Synchronize_Changes =  8.

hmSearchParamsToValues –map containing the following keys

 1. GTIN,

 2. GTIN_NAME,

 3. BRAND_NAME,

 4. PRODUCT_NAME,

 5. PRODUCT_DESCRIPTION,

 6. TARGET_MARKET,

 7. IP_GLN,

 8. IP_NAME,

 9. MANUFACTURER_GLN,

 10. MANUFACTURER_NAME,

 11. PRODUCT_TYPE,

 12. INTERNAL_CODE,

 13. INTERNAL_CODE_DESC,

 14. UDEX_CODE,

 15. UDEX_CATEGORY_DESC

 

Name

setMassImport_SS

Description

To be used during the import of the Trade Items script.

Type

static

Prototype

HashMap setMassImport_SS(boolean bImport)

Parameters

"bImport - set the value to ""true"" if the import contains more than 100 trade items."

 

Script Operations related to Trade Item Links

 

Name

new$TradeItemLink

Description

Returns a new Trade Item Link with the parent GTIN and child GTIN. Optionally a link quantity can be passed. The default link quantity is zero. Note that for the trade item link to be created the parent GTIN and the child GTIN should exist in the system.

Type

Constructor

Prototype

TradeItemLink new TradeItemLink(String parentGTIN, String childGTIN, [Integer linkQuantity])

Parameters

parentGTIN - 14 digit Global Trade Item Number(GTIN)

childGTIN - 14 digit Global Trade Item Number(GTIN)

linkQuantity – Quantity of the Trade item link.

 

Name

setLinkAttributes

Description

Sets the Trade Item Link with the given hashmap of attribute names and their corresponding values.

Note that only attribute names need to be passed and not the full attribute path.

Type

method

Prototype

void TradeItemLink::setLinkAttributes(HashMap hmAttributeNamesToValues)

Parameters

hmAttributePathsToValues - A map containing the attributePath as key and their corresponding values.

 

 

Name

setLinkAttribute

Description

Sets the attribute value for the attribute name of the Trade Item Link.

Note that attributeName is just the attribute name and not the full path of the attribute.

Type

Method

Prototype

void TradeItemLink::setLinkAttribute(String attributeName,String attributeValue)

Parameters

attributeName - Trade Item Link attribute path.

attributeValue - Trade Item Link attribute value.

 

Name

getTradeItemLink

Description

Returns a TradeItemLink between parentGTIN and the childGTIN.

Type

Method

Prototype

TradeItemLink getTradeItemLink(String parentGTIN, String childGTIN)

Parameters

parentGTIN - 14 digit Global Trade Item Number(GTIN)

childGTIN - 14 digit Global Trade Item Number(GTIN)

 

Name

saveTradeItemLink

Description

Saves the Trade Item Link to the database and returns true if the save was successful.

Type

static

Prototype

boolean TradeItemLink::saveTradeItemLink()

 

Name

deleteTradeItemLink

Description

Deletes the TradeItemLink from the database and returns true if the Delete was successful.

Type

static

Prototype

boolean TradeItemLink::deleteTradeItemLink()

 

Name

getParentGTIN

Description

Returns the parent GTIN of the given Trade Item Link.

Type

static

Prototype

String TradeItemLink::getParentGTIN()

 

Name

getChildGTIN

Description

Returns the child GTIN of the given Trade Item Link.

Type

static

Prototype

String TradeItemLink::getChildGTIN()

Script Operations related to Trading Partner

Name

new$TradingPartner[I1] 

Description

Creates a new Trading Partner with the given GLN, partner name, country and, GLNID and Item Type.

Type

Constructor

Prototype

TradingPartner new TradingPartner(String sGLN, String sPartnerName, String sCountry, String sGLNID)

Parameters

sGLN - 13 digit Global LocationNumber(GLN)

sPartnerName – Name of the Trading Partner

sCountry – Target Market/Country of the Trading Partner.

sGLNID – GLN identifier

ItemType – Type of entity that is created. Valid values are: Trading Partner and Information Provider.

 

Name

getTradingPartner

Description

Returns a Trading Partner with the given GLN, else returns null.

Type

method

Prototype

TradingPartner getTradingPartner(String sGLN)

Parameters

hmAttributePathsToValues - A map containing the TradingPartner attributePath as key and their corresponding values.

 

Name

setPartnerAttributes

Description

Sets the Trading Partner with the given hashmap of attribute p aths and their corresponding values.

Note that multi occurrence attribute paths need to be indexed with #0,#1 and so on in their paths.

Type

Method

Prototype

void TradingPartner::setPartnerAttributes(HashMap hmAttributePathsToValues)

Parameters

hmAttributePathsToValues - A map containing the TradingPartner attributePath as key and their corresponding values.

 

 

Name

setPartnerAttribute

Description

Sets the attribute value for the attribute path of the Trading Partner. If any errors, returns an error message. If all values are set  correctlyset correctly, returns null.[I2]  The Item Type cannot be modified/Set using this Script.

 

Type

Method

Prototype

String TradingPartner::setPartnerAttribute(String attributePath,String attributeValue)

Parameters

attributePath – Trading Partner attribute path.

attributeValue - Trading Partner attribute value.

 

Name

saveTradingPartner

Description

Saves the trading partner to the database and returns true if the save was successful.

Type

Static

Prototype

boolean TradingPartner::saveTradingPartner()

 

Name

searchTradingPartners

Description

Searches and retrieves trading partners based on a set of search parameters.

The input is a hashmap of search keys and their values. The Keys should be one of the following and the case has to be upper case.

GLN, PARTNER_NAME, STATUS, CONTACT, PARTY_ROLE, CITY_NAME, COUNTRY_CODE, LANGUAGE

Type

Static

Prototype

HashMap searchTradingPartners(HashMap hmSearchParamsToValues)

Parameters

hmAttributePathsToValues - A map containing the TradingPartner search parameters.

 

Name

getPartnerAttributeValue

Description

Returns the attribute value for the given path in the Trade Item Link

Type

Static

Prototype

String TradingPartner::getPartnerAttributeValue(String sAttrPath)

Parameters

attributePath – Trading Partner attribute path.

Script Operations related to Notifications

Name

createNotification

Description

Creates a notification object and returns true if the operation was successful.

Type

Constructor

Prototype

boolean createNotification(IBusinessObject iObj, String notfType, String userName)

Parameters

iObj is the Business Object. The business object can be of TradeItem/TradingPartner/Trade Item Link.

notfType is the NotificationType. This can be retrieved from the NotificationSecurityMappingTable lookup table.

UserName is the user id of the user who is initiating the notification or who is responsible for the import/export of the item.

Script Operations related to Transactions

 

Name

createTransaction

Description

Creates a Transaction object and returns true if the operation was successfull.

Type

Constructor

Prototype

boolean createTransaction(IBusinessObject iObj, String txnType, String username)

Parameters

iObj is the Business Object. The business object can be of TradeItem/TradingPartner/Trade Item Link.

txnType is the TransactionType. This can be retrieved from the NotificationSecurityMappingTable lookup table.

UserName is the user id of the user who is initiating the notification or who is responsible for the import/export of the item.

 

 

Scripting operation Reference – Demand side

Trade Item Status

The following table shows the rules that govern status of trade items.

For Global Item:

From Status

To Status

Compliance Check Required

Notification

Transaction

Draft

Draft

NO

 

0

Draft With Variant

Draft With Variant

NO

 

 

Global Attributes Modified Locally

Global Attributes Modified Locally

YES

 

0

Global Enrichment Completed

Global Enrichment Completed

NO

 

 

Pending Variant Creation

Pending Variant Creation

NO

 

 

Modified Compliant

Modified Compliant

YES

 

 

Modified Compliant Approval Pending

Modified Compliant Approval Pending

YES

 

 

Registered

Modified Locally

YES

MODIFY_ITEM_APPROVED

MODIFY_ITEM_APPROVED

 

 

 

 

For Local Item

From Status

To Status

Compliance Check Required

Notification

Transaction

Draft

Draft

NO

 

0

Draft With Variant

Draft With Variant

NO

 

 

Global Attributes Modified Locally

Global Attributes Modified Locally

YES

 

0

Global Enrichment Completed

Global Enrichment Completed

NO

 

 

Pending Variant Creation

Pending Variant Creation

NO

 

 

Modified Compliant

Modified Compliant

YES

 

 

Modified Compliant Approval Pending

Modified Compliant Approval Pending

YES

 

 

Modified Locally

Modified Compliant Approval Pending

YES

MODIFY_ITEM_APPROVAL_PENDING

MODIFY_ITEM_APPROVAL_PENDING

Complete

Edited

YES

 

0

Compliant

Edited

YES

 

0

Compliant

Compliant

YES

 

 

Approved

Edited

NO

 

0

Rejected

Compliant

YES

 

 

Registered

Modified Locally

YES

MODIFY_ITEM_APPROVED

MODIFY_ITEM_APPROVED

 

The following table shows the rules that govern the status of trade item links.

From_Status

To_Status

Notification

Transaction

Draft

Draft

 

 

Approved

Edited

MODIFIED_ITEM_LINK_APPROVAL_PENDING

MODIFIED_ITEM_LINK_APPROVAL_PENDING

Rejected

Edited

MODIFIED_ITEM_LINK_APPROVAL_PENDING

MODIFIED_ITEM_LINK_APPROVAL_PENDING

Registered

Modified Locally

MODIFIED__ITEM_LINK_APPROVED

MODIFIED_ITEM_LINK_APPROVED

Modified Locally

Modified Locally

 

 

 

The following table shows the rules that govern auto status of trading partners.

Existing Status

After Import

Notification

Transaction

Draft

Draft

 

0

Approved

Edited

 

0

Rejected

Edited

 

0

Edited

Edited

 

0

 

 

List of Script Operations for Demand Side

The following table lists the script operations, the arguments that each operation accepts and their descriptions. You can use a combination of these script operations to import/export data. The scripts listed are related to:

·   Trade Item

·   Trade Item Links

·   Trading Partner

·   Notifications

·   Transactions

·   Messaging

 

Script operations related to Trade Item

Name

new$TradeItemDS

Description

Creates a new TradeItem with the given EAN UCC Code or GTIN, EAN UCC Type (if EAN UCC Code is used), Core Extensions, Product Type and maps it to sInternalCatCode. Optionally the GTIN Name, UDEX category code and GPC code can be supplied. The GPC Code and UDEX code are mandatory based on conditions.

Type

constructor

Prototype

TradeItem new TradeItemDS([String sEANUCCCode], String sEANUCCCodeType, String sExtensionName, String sProductType,String sInternalCatCode, [ [String sGTIN],[String sGTINName],[String sDataPoolCatCode] [String GPC Code]

]]))

Parameters

sEANUCCCode - The EAN/UCC code or number required if GTIN is not provided

sEANUCCCodeType - The EAN/UCC type.

"sExtensionName - Name of the trade item extension. The extension can be ""FMCG"", ""Hardlines"", ""OTC"", ""HBC""."

"sProductType - Trade Item product Type, the valid valus are ""Each"", ""Case"", ""Mixed Pallet"", ""Package"" or ""Pallet""."

sInternalCatCode - Category code of the Internal hierarchy

sGTIN - 14 digit Global Trade Item Number(GTIN)

sGTINName - Global Trade Item Number(GTIN) Name

sDataPoolCatCode- The UDEX category code. This is a required parameter if UDEX is set as the internal classification scheme.

 

[String GPC Code] - If GS1_ENABLED is set, GPC Code has to be given. If GPC is set as the internal classification scheme, this field becomes mandatory.

 

Name

getExchangeSpecificAttribute

Description

This method returns the exchnage attributes which are part of interoperability. Right now the implementation is specific to tranora, not advised to use this for any other purpose

Prototype

HashMap getExchangeSpecificAttribute()

 

 

 

 

Name

getTradeItemDS

Description

Returns a Trade Item with the given sEANUCCCode or GTIN (both can also be provided), sTM, and  sIP values, else returns null.

If TM or IP is provided as ‘XX’ or ‘’, the script returns the Global Item.

If information is provided for TM or IP, the script returns the Local Item.

Type

method

Prototype

TradeItem getTradeItemDS([String sEANUCCCode],String sTM,String sIP,[String sGTIN])

Parameters

sEANUCCCode - The EAN/UCC code or number required if GTIN is not provided

sTM - 2 characters target martket code such as US, GB, etc,.

sIP - 13 digit Global Local Number(GLN) of the Information Provider

sGTIN - 14 digit Global Trade Item Number(GTIN)

 

Name

setTradeItemAttributesDS

Description

Sets the Trade Item with the given hashmap of attributepaths and their corresponding values. Note that multi occurrence attribute paths need to be indexed with #0,#1 and so on in their paths.

Type

method

Prototype

void TradeItem::setTradeItemAttributesDS(HashMap hmAttributePathsToValues)

Parameters

hmAttributePathsToValues - A map containing the attributePath as key and their corresponding values.

 

Name

setTradeItemAttributeDS

Description

Sets the attribute value for the attribute path of the trade item.

Type

method

Prototype

void TradeItem::setTradeItemAttributeDS(String attributePath,String attributeValue)

Parameters

attributePath - Trade Item attribute path.

attributeValue - Trade Item attribute value.

 

 

Name

getTradeItemAttributeValueDS

Description

Returns the attribute value of the TradeItem.

Type

static

Prototype

String TradeItem::getTradeItemAttributeValueDS(String sAttrPath)

Parameters

sAttrPath - Trade Item attribute path.

 

Name

saveTradeItemDS

Description

Saves the trade item to the database and returns true if the save was successfull.

Type

method

Prototype

boolean TradeItem::saveTradeItemDS()

 

Name

getAllTradeItemAttributes

Description

Returns a hashmap of all tradeItem attributes to their values

Type

method

Prototype

HashMap TradeItem::getAllTradeItemAttributes()

 

Name

searchTradeItemsDS

Description

Searches and retrieves tradeItems based on a set of search parameters.

Type

method

Prototype

HashMap searchTradeItemsDS(HashMap hmSearchParamsToValues)

Parameters

hmSearchParamsToValues - The input is a hashmap of search keys and their values. The Keys should be one of the following and the case has to be upper case.

GTIN, GTIN_NAME, BRAND_NAME, PRODUCT_NAME, DESCRIPTION, TARGET_MARKET, LANGUAGE_CODE, IP_GLN, IP_NAME, BRAND_OWNER_NAME, MANUFACTURER_GLN,MANUFACTURER_NAME, PRODUCT_TYPE, INTERNAL_CODE, INTERNAL_CODE_DESC, UDEX_CODE, UDEX_CATEGORY_DESC,GLOBAL_STATUS, UNIT_INDICATOR(Possible Values YES or NO)

 

 

Name

validateGTIN

Description

Validates the GTIN value.

Type

static

Prototype

Boolean validateGTIN(String sGTIN)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN).

 

Name

validateGLN

Description

Validates the GLN value.

Type

static

Prototype

Boolean validateGLN(String sGLN)

Parameters

sGLN - 13 digit Global Local Number(GLN) of the Information Provider.

 

Name

getCategory

Description

Returns the Category in the GTIN_Hierarchy.

Type

static

Prototype

ICategory getCategory(String sGTIN)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN).

 

Name

getGTINTree

Description

Returns the GTIN Tree when the GTIN String is provided.

Type

static

Prototype

getGTINTree(String sGTIN)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN).

 

Name

addChild

Description

Adds GTIN to the tree.

Type

static

Prototype

addChild(GTINTree tree)

Parameters

Tree - Represents the GTIN tree.

 

Name

removeChild

Description

Removes GTIN from the tree.

Type

static

Prototype

removeChild(String sGTIN)

Parameters

sGTIN - 14 digit Global Trade Item Number(GTIN).

 

Name

getTradeItemParentLinks

Description

Searches for parent trade item links for this trade item.

Type

method

Prototype

HashMap TradeItem::getTradeItemParentLinks()

               

Name

getTradeItemChildLinks

Description

Searches for child trade item links for this trade item.

Type

method

Prototype

HashMap TradeItem::getTradeItemChildLinks()

 

Name

getModifiedTradeItems

Description

Searches and retrieves tradeItems modified between start date and end date for a given transaction type.

Type

method

Prototype

HashMap getModifiedTradeItems(String transactionType, Date startDate, Date endDate)

Parameters

transactionType - The trasansaction type for the trade Item. All the transaction types can be obtained from the Transaction_Type_LookUp table.

startDate - Start date of the transaction.

endDate - End date of the transaction.

 

Name

getItems

Description

Gets the Global and the local item for this TradeItem

Type

method

Prototype

HashMap TradeItem::getItems()

 

Name

setUDEXCategoryCode

Description

Sets the trade item with the given udex category code

Type

method

Prototype

void TradeItem::setUDEXCategoryCode(String code)

Parameters

Code - The UDEX category code in the UDEX_Hierarchy_Uccnet.

 

 

Name

setInternalCategoryCode

Description

Sets the trade item with the given internal category code

Type

method

Prototype

void TradeItem::setInternalCategoryCode(String code)

Parameters

Code - The UDEX category code in the UDEX_Hierarchy_Uccnet.

 

Name

deleteTMIPVariant

Description

Deletes the TMIP variant of this tradeItem.

Type

method

Prototype

boolean TradeItem::deleteTMIPVariant()

 

Name

deleteGTIN

Description

Deletes the GTIN of this tradeItem. This can only be used when the tradeItem does not have any variants.

Type

method

Prototype

boolean TradeItem::deleteGTIN()

 

Name

isTradeItemCheckedOut

Description

Returns whether the TradeItem is checked out in Workflow.

Type

static

Prototype

boolean TradeItem::isTradeItemCheckedOut()

 

 

Script operations related to Trading Item Links

 

Name

new$TradeItemLink

Description

Returns a new TradeItemLink with the parentGTIN and childGTIN. Optionally a link quantity can be passed. The default linkquantity is zero. Note that for the tradeitem link to be created the parentGTIN and the childGTIN should exist in the system.

Type

Constructor

Prototype

TradeItemLink new TradeItemLink(String parentGTIN, String childGTIN, [Integer linkQuantity])

Parameters

parentGTIN - 14 digit Global Trade Item Number(GTIN)

childGTIN - 14 digit Global Trade Item Number(GTIN)

linkQuantity – Quantity of the Trade item link.

 

Name

setLinkAttributes

Description

Sets the TradeItemLink with the given hashmap of attribute names and their corresponding values.

Note that only attribute names need to be passed and not the full attribute path.

Type

method

Prototype

void TradeItemLink::setLinkAttributes(HashMap hmAttributeNamesToValues)

Parameters

hmAttributePathsToValues - A map containing the attributePath as key and their corresponding values.

 

Name

setLinkAttribute

Description

Sets the attribute value for the attribute name of the TradeItemLink.

Note that attributeName is just the attribute name and not the full path of the attribute.

Type

Method

Prototype

void TradeItemLink::setLinkAttribute(String attributeName,String attributeValue)

Parameters

attributeName - Trade Item Link attribute path.

attributeValue - Trade Item Link attribute value.

 

Name

getTradeItemLink

Description

Returns a TradeItemLink between parentGTIN and the childGTIN.

Type

Method

Prototype

TradeItemLink getTradeItemLink(String parentGTIN, String childGTIN)

Parameters

parentGTIN - 14 digit Global Trade Item Number(GTIN)

childGTIN - 14 digit Global Trade Item Number(GTIN)

 

 

 

 

Name

saveTradeItemLink

Description

Saves the TradeItemLink to the database and returns true if the save was successful.

Type

static

Prototype

boolean TradeItemLink::saveTradeItemLink()

 

 

Name

deleteTradeItemLink

Description

Deletes the TradeItemLink from the database and returns true if the Delete was successful.

Type

static

Prototype

boolean TradeItemLink::deleteTradeItemLink()

 

Name

getParentGTIN

Description

Returns the parent GTIN of the given Trade Item Link.

Type

static

Prototype

String TradeItemLink::getParentGTIN()

 

Name

getChildGTIN

Description

Returns the child GTIN of the given Trade Item Link.

Type

static

Prototype

String TradeItemLink::getChildGTIN()

 

 

Script operations related to Trading Partner

Name

new$TradingPartner

Description

Creates a new Trading Partner with the given GLN, partner name, country, and GLNID and Item Type..

Type

Constructor

Prototype

TradingPartner new TradingPartner(String sGLN, String sPartnerName, String sCountry, String sGLNID, String itemType)

Parameters

sGLN - 13 digit Global LocationNumber(GLN)

sPartnerName – Name of the Trading Partner

sCountry – Target Market/Country of the Trading Partner.

sGLNID – GLN identifier

IitemType – Type of entity that is created. Valid values are: Trading Partner and Information Provider.

 

 

 

 

Name

getTradingPartner

Description

Returns a TradingPartner with the given GLN, else returns null.

Type

method

Prototype

TradingPartner getTradingPartner(String sGLN)

Parameters

hmAttributePathsToValues - A map containing the TradingPartner attributePath as key and their corresponding values.

 

Name

setPartnerAttributes

Description

Sets the Trading Partner with the given hashmap of attributep aths and their corresponding values.

Note that multi occurrence attribute paths need to be indexed with #0,#1 and so on in their paths.

Type

Method

Prototype

void TradingPartner::setPartnerAttributes(HashMap hmAttributePathsToValues)

Parameters

hmAttributePathsToValues - A map containing the TradingPartner attributePath as key and their corresponding values.

 

Name

setPartnerAttribute[I3] 

Description

Sets the attribute value for the attribute path of the Trading Partner. If any errors, returns an error message. If all values are set  correctly, returns null.[I4]  The Item Type cannot be modified/Set using this Script.Sets the attribute value for the attribute path of the Trading Partner.

Type

Method

Prototype

void TradingPartner::setPartnerAttribute(String attributePath,String attributeValue)

Parameters

attributePath – Trading Partner attribute path.

attributeValue - Trading Partner attribute value.

 

 

 

 

Name

saveTradingPartner

Description

Saves the trading partner to the database and returns true if the save was successful.

Type

Static

Prototype

boolean TradingPartner::saveTradingPartner()

 

 

 

 

 

Name

searchTradingPartners

Description

Searches and retrieves trading partners based on a set of search parameters.

The input is a hashmap of search keys and their values. The Keys should be one of the following and the case has to be upper case.

GLN, PARTNER_NAME, STATUS, CONTACT, PARTY_ROLE, CITY_NAME, COUNTRY_CODE, LANGUAGE

Type

Static

Prototype

HashMap searchTradingPartners(HashMap hmSearchParamsToValues)

Parameters

hmAttributePathsToValues - A map containing the TradingPartner search parameters.

 

Name

getPartnerAttributeValue

Description

Returns the attribute value for the given path in the Trade Item Link

Type

Static

Prototype

String TradingPartner::getPartnerAttributeValue(String sAttrPath)

Parameters

attributePath – Trading Partner attribute path.

 

Script operations related to Notifications

Name

createNotification

Description

Creates a notification object and returns true if the operation was successful.

Type

Constructor

Prototype

boolean createNotification(IBusinessObject iObj, String notfType, String userName)

Parameters

iObj is the Business Object. The business object can be of TradeItem/TradingPartner/Trade Item Link.

notfType is the NotificationType. This can be retrieved from the NotificationSecurityMappingTable lookup table.

UserName is the user id of the user who is initiating the notification or who is responsible for the import/export of the item.

 

 

 

Script operations related to Transactions

 

Name

createTransaction

Description

Creates a Transaction object and returns true if the operation was successfull.

Type

Constructor

Prototype

boolean createTransaction(IBusinessObject iObj, String txnType, String username)

Parameters

iObj is the Business Object. The business object can be of TradeItem/TradingPartner/Trade Item Link.

txnType is the TransactionType. This can be retrieved from the NotificationSecurityMappingTable lookup table.

UserName is the user id of the user who is initiating the notification or who is responsible for the import/export of the item.

 

Script operations related to Messaging

 

Name

New$MessageItemHandler

Description

This operation can be used to instantiate a new MessageItemHandler for the specified correlation Id.

Type

Constructor

Prototype

New$MessageItemHandler (String correlationId)

Usage

msgId = "3";

msgItemHandler = new MessageItemHandler(msgId);

 

The correlationId is the primary key in the MessageArchiveCatalog.

The MessageItemHandler exposes methods to retrieve the Trade Items and link information from the CIN.

Parameters

The correlationId is the primary key in the MessageArchiveCatalog.

The MessageItemHandler exposes methods to retrieve the Trade Items and link information from the CIN.

 

 

 

 

 

Name

getTradeItems

Description

The getTradeItems() method can be invoked on the MessageItemHandler object. This returns a HashMap of ITradeItems present in the message item represented by the MessageItemHandler.

Type

Method

Prototype

HashMap MessageItemHandler :: getTradeItems()

Usage

msgId = "3";

msgItemHandler = new MessageItemHandler(msgId);

 

items = msgItemHandler.getTradeItems();

out.writeln("Items are " + items);

out.writeln(“GTIN is “ + items[“0”].getTradeItemAttributeValueDS

(“Global_Attributes_Spec/GlobalTradeItemNumber”));

 

Note: For List of API’s exposed on the TradeItem (like the getTradeItemAttributeValueDS used above) refer to GDS Documentation.

 

 

Name

getLinks

Description

The getLinks() method can be invoked on the MessageItemHandler object. This returns a HashMap of TradeItemLink objects present in the message item represented by the MessageItemhandler.

Type

Method on MessageItemHandler

Prototype

ITradeItemLink  MessageItemHandler :: getLinks()

Usage

msgId = "3";

msgItemHandler = new MessageItemHandler(msgId);

 

links = msgItemHandler.getLinks()

out.writeln("Items are:" + items["0"].getLinkAttributeValue("GlobalTradeItemNumber"));

 

  Note: For List of API’s exposed on the TradeItemLink (like the           getLinkAttributeValue used above) refer GDS Documentation.

 

Name

getNewPublicationMessageIds

Description

This operation can be used to search all the CIN’s that have been received by GDS.

Type

Static Method to get all the publications

Prototype

HashMap getNewPublicationMessageIds()

Usage

items = getNewPublicationMessageIds();

out.writeln("First Id is  " + items[“0”]);

 

 

 

 

Name

getNewPublicationMessageIdsByType

Description

This operations returns the message item ids (each message item represents a CIN) based upon the types specified.

 

Type

Static Method

Prototype

HashMap getNewPublicationMessageIdsByType(HashMap CINTypes)

Usage

arr = [];

arr[0] = "NEW_ITEM";

arr[1] = "INITIAL_LOAD";

 

items = getNewPublicationMessageIdsByType(arr);

out.writeln("First Value is " + items[“0”]);

 

 

 

Parameters

Parameter : Array

The valid types are as follows:

Types for Uccnet:

“NEW_ITEM”, “INITIAL_LOAD”, “ITEM_CHANGE”,”ITEM_DELIST”,”ITEM_WITHDRAW”’,”CORRECTION”;

Types for WWRE:

“NEW_ITEM”, “INITIAL_LOAD”, “ITEM_CHANGE_BY_REFRESH”,”ITEM_CORRECT”,”ITEM_DELETE”

 

The operation returns a HashMap of the all the “NEW” message item ids of all the requested types. Items that have already been “READ” or that are checked out in any workflow are not returned.

 

 

 

 

 

 

Name

getPublicationMessageIdsByDate

Description

This operation returns all the message item ids for CIN’s of all different types between the dates specified.

Type

Static Method

Prototype

HashMap getPublicationMessageIdsByDate(String fromDate, String toDate)

Usage

toDate = "28-02-2005 00:00:00";

fromDate = "10-01-2005 19:20:00";

 

items = getPublicationMessageIdsByDate(fromDate, toDate);

 

out.writeln("First MsgItem Id is " + items[“0”]);

Parameters

fromDate, toDate

 

Note: The dates should be specified in the following format

dd-MM-yyyy HH:mm:ss”         [Example : “28-06-2005 10:15:30”]

 

 

Name

changeState 

Description

This operation is invoked on the MessageItemHandler object to change the external read status of the message item (represented by the MessageItemHandler) to “READ”.

Type

Method on MessageItemHandler

Prototype

Boolean MessageItemHandler :: changeState()

Usage

msgId = "3";

msgItemHandler = new MessageItemHandler(msgId);

 

result = msgItemHandler.changeState();

out.writeln("Is status changed  " + result);

 

Name

sendConfirmationMessage 

Description

This operation is invoked to send a confirmation message to the data pool.

Type

Static Method

Prototype

HashMap sendConfirmationMessage (String confirmationType, HashMap correlationID)

Usage

ids = [];

ids.add("3");

hmMap = sendConfirmation("ACCEPT_MSG",ids);

out.writeln("Return is  " + hmMap );

 

 

Parameters

The type of message that is to be sent and the correlation ids of the message Items are specified as the parameters.

Following is the list of message types that can be sent:

·   REVIEW_MSG

·   ACCEPT_MSG

·   REJECT_MSG

·   SYNCHRONISED_MSG

               

The HashMap that is returned contains a list of error messages (if any).

A successful operation returns an empty map.

 

 

Name

getHierarchyTree

Description

This operation can be used to retrieve the CIN represented by the MessageItemHandler as a Tree [GTINtree].

Type

Method on MessageItemHandler

Prototype

GTINTree MessageItemHandler:: getHierarchyTree()

Usage

msgId = "5";

msgItemHandler = new MessageItemHandler(msgId);

 

var rootTree = msgItemHandler.getHierarchyTree();

out.writeln("Root Tree is " + rootTree);



Note: One CIN is equivalent to a single MessageItemHandler

 

 

Name

getNumberOfChildren

Description

This operation returns number of child GTIN tree(s) for the root item in the GTINTree in context.

It returns only the immediate children of the root item.

Example:        

A

/  |   \

B C  D

        |

       E

 In this case the number of children for A would be returned as 3.

Type

Method on MessageItemHandler

Prototype

Integer GTINTree :: getNumberOfChildren()

Usage

msgId = "5";

msgItemHandler = new MessageItemHandler(msgId);

 

var rootTree = msgItemHandler.getHierarchyTree();

 

numberOfChildren  = rootTree.getNumberOfChildren();

 

out.writeln("Number of children are " + numberOfChildren  );

 

 

 

 

Name

getNumberOfParent

Description

This operation returns number of parent GTIN tree(s) for the root item in the GTINTree in context

It returns the number of immediate parents.

Example:

A

/  |   \

B C  D

       |

       E

 

 In this case the number of parents for B would be returned as 1.

Type

Method on GTINTree

Prototype

Integer GTINTree :: getNumberOfParent()

Usage

msgId = "5";

msgItemHandler = new MessageItemHandler(msgId);

 

var rootTree = msgItemHandler.getHierarchyTree();

var childTree = rootTree.getChild(0);            

 

numberOfParents = childTree.getNumberOfParents();

 

out.writeln("Number of parents are " + numberOfParents);

 

 

 

 

 

 

 

 

Name

getChild

Description

This operation can be used to retrieve the child tree at the specified index.

Type

Method on GTINTree

Prototype

GTINTree :: getChild(Integer index)

Usage

msgId = "5";

msgItemHandler = new MessageItemHandler(msgId);

 

var rootTree = msgItemHandler.getHierarchyTree();

var childTree = rootTree.getChild(0);            

 

out.writeln("child tree at 0 is  " + childTree);

 

Name

getParent

Description

This operation can be used to retrieve the parent tree at the specified index.

Type

Method on GTINTree

Prototype

Integer GTINTree :: getParent(Integer index)

Usage

msgId = "5";

msgItemHandler = new MessageItemHandler(msgId);

 

var rootTree = msgItemHandler.getHierarchyTree();

var childTree = rootTree.getChild(0);            

var parentTree = childTree.getParent(0);            

 

out.writeln("Parent tree at 0 is  " + parentTree);

 

 

Name

isLeaf

Description

This operation is used to check whether the root item represented by the GTINTree is a leaf node.

It returns true if the item is a leaf node in the complete hierarchy.

Example:

 A

/  |   \

B C  D

        |

        E

 

 In this case invoking the isLeaf method on the GTINTree represented for item E, B and C would return true.

Type

Method on GTINTree

Prototype

Integer GTINTree :: isLeaf()

Usage

msgId = "5";

msgItemHandler = new MessageItemHandler(msgId);

 

var rootTree = msgItemHandler.getHierarchyTree();

var childTree = rootTree.getChild(0);            

    

isLeaf = childTree.isLeaf();

out.writeln("Is Child Tree leaf  " + isLeaf);

 

 

Name

getRootTradeItem

Description

This operation returns the root trade item object [ITradeItem] of the GTINTree in the current context.

Type

Method on GTINTree

Prototype

ITradeItem GTINTree :: getRootTradeItem()

Usage

msgId = "5";

msgItemHandler = new MessageItemHandler(msgId);

 

var rootTree = msgItemHandler.getHierarchyTree();

rootItem = rootTree.getRootTradeItem();            

    

out.writeln("Root Item GTIN is   " + rootItem. getTradeItemAttributeValueDS(“Global_Attributes_Spec/GlobalTradeItemNumber”));

 

 

Note: For List of API’s exposed on the TradeItem (like the getTradeItemAttributeValueDS used above) refer GDS Documentation

 

Name

getAssociatedLinks

Description

If the fetchChildLinks flag is true, the list contains ITradeItemLink objects where the specified GTIN is the parent item in the link.

If the fetchChildLinks flag is false, the list contains ITradeItemLink objects where the specified GTIN is the child item in the link.

[Note: A TradeItemLink Object represents a single link ex: A (parent)---B(child)].

 

Example

A

/  |   \

B C  D

        |

        E

 

 In this case when getAssociatedLinks is called for item A and fetchChildLinks is true, the following TradeItemLink object will be returned:

1.       A-B

2.       A-C

3.       A-D

 

Type

Method on MessageItemHandler

Prototype

HashMap MessageItemHandler :: getAssociatedLinks (String gtin, Boolean fetchChildLinks)

Usage

msgId = "3";

msgItemHandler = new MessageItemHandler(msgId);

 

var rootTree = msgItemHandler.getHierarchyTree();

 

out.writeln("Root Tree is " + rootTree);

 

childLinks = msgItemHandler.getAssociatedLinks(rootTree.getRootTradeItem().getTradeItemAttributeValueDS("Global_Attributes_Spec/GlobalTradeItemNumber"), true);

 

out.writeln( "Child Links are  " + childLinks);

out.writeln( "First Child Links is  " + childLinksList[“0”]);

 

Parameters

Takes 2 parameters: 

1.The GTIN number

2. A Boolean value

 

 

Note: In case no item links are present, NULL will be returned. [ex: if fetchChildLinks is false for the above case, NULL will be returned]

 

Name

getParentGTIN

Description

This operation returns the parent GTIN of the given Trade Item Link

Type

                Method on TradeItemLink

Prototype

String TradeItemLink::getParentGTIN()

Usage

link = getTradeItemLink(“<parent GTIN>”, “<child GTIN>”);

parent = link.getParentGTIN();

out.writeln (“Parent GTIN “+parent);

 

 

 

 

 

 

 

 

Name

getChildGTIN

Description

This operation returns the child GTIN of the given Trade Item Link

Type

Method on TradeItemLink

Prototype

String TradeItemLink::getChildGTIN()

Usage

link = getTradeItemLink(“<parent GTIN>”, “<child GTIN>”);

parent = link.getChildGTIN();

out.writeln (“Parent GTIN “+parent);

 

 

Name

sendCICConfirmationReasonCodes

Description

This operation is invoked to send a confirmation message to the data pool with Reason Codes, Action Codes and Comments. This script is valid in case of UCCNet demand side application only

Type

Static Method

Prototype

HashMap sendConfirmationReasonCodes (String confirmationType, String MessageId,HashMap reasonCodesWithComments)

Usage

var msgId = "5";

var hmCICReasonCodes = [];

msgItemHandler = new MessageItemHandler(msgId);

readRes = msgItemHandler.changeState();

hmCICReasonCodes["CIC01"] = " Wrong publication type; was New; should have been Initial Item Load";

hmCICReasonCodes["CIC02"] = "EANUCC Code and Type Mismatch";

hmMap = sendCICConfirmationReasonCodes

("REJECT_MSG",msgId,hmCICReasonCodes);

out.writeln("Result :"+ hmMap );

 

Send confirmation message without any reason Codes (SKIP):

var msgId = "5";

var hmCICReasonCodes = [];

msgItemHandler = new MessageItemHandler(msgId);

readRes = msgItemHandler.changeState();

hmMap = sendCICConfirmationReasonCodes

("REJECT_MSG",msgId,hmCICReasonCodes);

out.writeln("Result :"+ hmMap );

Parameters

Following is the list of message types that can be sent:

·   ACCEPT_MSG

·   REJECT_MSG

·   REVIEW_MSG

·   SYNCHRONISED_MSG

·   Valid Reason Codes and Corresponding Action Codes :

·   for REJECT_MSG and REVIEW_MSG:

·   CIC01, CIC02, CIC08,CIC09,CIC10 – Initial Item Load

·   CIC03, CIC04, CIC05,CIC06,CIC07,CIC11 – Correction

·   CIC12 – None

·   for ACCEPT_MSG, REJECT_MSG, REVIEW_MSG and SYNCHRONISED_MSG

·   CIC99 - Unknown

The HashMap that is returned contains a list of error messages (if any).

·   A successful operation returns an empty map.

 

 

Ch 6          Notices

IBM may not offer the products, services, or features discussed in this document in all countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law:

INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

IBM Burlingame Laboratory
Director IBM Burlingame Laboratory
577 Airport Blvd., Suite 800
Burlingame, CA 94010
U.S.A

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement, or any equivalent agreement between us.

Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not necessarily tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

This information may contain examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples may include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.

All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice, and represent goals and objectives only.

Programming interface information

Programming interface information, if provided, is intended to help you create application software using this program.

General-use programming interfaces allow you to write application software that obtain the services of this program's tools.

However, this information may also contain diagnosis, modification, and tuning information. Diagnosis, modification and tuning information is provided to help you debug your application software.

Warning: Do not use this diagnosis, modification, and tuning information as a programming interface because it is subject to change.

Trademarks and service marks

The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States or other countries, or both:

IBM
the IBM logo
AIX
CrossWorlds
DB2
DB2 Universal Database
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

MMX, Pentium, and ProShare are trademarks or registered trademarks of Intel Corporation in the United States, other countries, or both.

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Other company, product or service names may be trademarks or service marks of others.

 

IBM Global Data Synchronization for WebSphere Product Center includes the

following software that was licensed by IBM from the Apache Software Foundation

under the terms and conditions of the Apache 2.0 license:

 

- Apache Struts v1.1

- Apache Commons-beanutils v1.6

- Apache Commons-digester v1.4 

- Apache Xerces-j v2.4.0

- Apache XMLBeans v1.0.3

- Apache Commons-JXPath v1.2

- XML4J 4.3.3

 

 

This software is licensed to you under the terms and conditions of the

International Program License Agreement, subject to its Excluded Components

provisions. IBM is required to provide the following notice to you in

connection with this software:

 

                                 Apache License

                           Version 2.0, January 2004

                        http://www.apache.org/licenses/

 

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

 

   1. Definitions.

 

      "License" shall mean the terms and conditions for use, reproduction,

      and distribution as defined by Sections 1 through 9 of this document.

 

      "Licensor" shall mean the copyright owner or entity authorized by

      the copyright owner that is granting the License.

 

      "Legal Entity" shall mean the union of the acting entity and all

      other entities that control, are controlled by, or are under common

      control with that entity. For the purposes of this definition,

      "control" means (i) the power, direct or indirect, to cause the

      direction or management of such entity, whether by contract or

      otherwise, or (ii) ownership of fifty percent (50%) or more of the

      outstanding shares, or (iii) beneficial ownership of such entity.

 

      "You" (or "Your") shall mean an individual or Legal Entity

      exercising permissions granted by this License.

 

      "Source" form shall mean the preferred form for making modifications,

      including but not limited to software source code, documentation

      source, and configuration files.

 

      "Object" form shall mean any form resulting from mechanical

      transformation or translation of a Source form, including but

      not limited to compiled object code, generated documentation,

      and conversions to other media types.

 

      "Work" shall mean the work of authorship, whether in Source or

      Object form, made available under the License, as indicated by a

      copyright notice that is included in or attached to the work

      (an example is provided in the Appendix below).

 

      "Derivative Works" shall mean any work, whether in Source or Object

      form, that is based on (or derived from) the Work and for which the

      editorial revisions, annotations, elaborations, or other modifications

      represent, as a whole, an original work of authorship. For the purposes

      of this License, Derivative Works shall not include works that remain

      separable from, or merely link (or bind by name) to the interfaces of,

      the Work and Derivative Works thereof.

 

      "Contribution" shall mean any work of authorship, including

      the original version of the Work and any modifications or additions

      to that Work or Derivative Works thereof, that is intentionally

      submitted to Licensor for inclusion in the Work by the copyright owner

      or by an individual or Legal Entity authorized to submit on behalf of

      the copyright owner. For the purposes of this definition, "submitted"

      means any form of electronic, verbal, or written communication sent

      to the Licensor or its representatives, including but not limited to

      communication on electronic mailing lists, source code control systems,

      and issue tracking systems that are managed by, or on behalf of, the

      Licensor for the purpose of discussing and improving the Work, but

      excluding communication that is conspicuously marked or otherwise

      designated in writing by the copyright owner as "Not a Contribution."

 

      "Contributor" shall mean Licensor and any individual or Legal Entity

      on behalf of whom a Contribution has been received by Licensor and

      subsequently incorporated within the Work.

 

   2. Grant of Copyright License. Subject to the terms and conditions of

      this License, each Contributor hereby grants to You a perpetual,

      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

      copyright license to reproduce, prepare Derivative Works of,

      publicly display, publicly perform, sublicense, and distribute the

      Work and such Derivative Works in Source or Object form.

 

   3. Grant of Patent License. Subject to the terms and conditions of

      this License, each Contributor hereby grants to You a perpetual,

      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

      (except as stated in this section) patent license to make, have made,

      use, offer to sell, sell, import, and otherwise transfer the Work,

      where such license applies only to those patent claims licensable

      by such Contributor that are necessarily infringed by their

      Contribution(s) alone or by combination of their Contribution(s)

      with the Work to which such Contribution(s) was submitted. If You

      institute patent litigation against any entity (including a

      cross-claim or counterclaim in a lawsuit) alleging that the Work

      or a Contribution incorporated within the Work constitutes direct

      or contributory patent infringement, then any patent licenses

      granted to You under this License for that Work shall terminate

      as of the date such litigation is filed.

 

   4. Redistribution. You may reproduce and distribute copies of the

      Work or Derivative Works thereof in any medium, with or without

      modifications, and in Source or Object form, provided that You

      meet the following conditions:

 

      (a) You must give any other recipients of the Work or

          Derivative Works a copy of this License; and

 

      (b) You must cause any modified files to carry prominent notices

          stating that You changed the files; and

 

      (c) You must retain, in the Source form of any Derivative Works

          that You distribute, all copyright, patent, trademark, and

          attribution notices from the Source form of the Work,

          excluding those notices that do not pertain to any part of

          the Derivative Works; and

 

      (d) If the Work includes a "NOTICE" text file as part of its

          distribution, then any Derivative Works that You distribute must

          include a readable copy of the attribution notices contained

          within such NOTICE file, excluding those notices that do not

          pertain to any part of the Derivative Works, in at least one

          of the following places: within a NOTICE text file distributed

          as part of the Derivative Works; within the Source form or

          documentation, if provided along with the Derivative Works; or,

          within a display generated by the Derivative Works, if and

          wherever such third-party notices normally appear. The contents

          of the NOTICE file are for informational purposes only and

          do not modify the License. You may add Your own attribution

          notices within Derivative Works that You distribute, alongside

          or as an addendum to the NOTICE text from the Work, provided

          that such additional attribution notices cannot be construed

          as modifying the License.

 

      You may add Your own copyright statement to Your modifications and

      may provide additional or different license terms and conditions

      for use, reproduction, or distribution of Your modifications, or

      for any such Derivative Works as a whole, provided Your use,

      reproduction, and distribution of the Work otherwise complies with

      the conditions stated in this License.

 

   5. Submission of Contributions. Unless You explicitly state otherwise,

      any Contribution intentionally submitted for inclusion in the Work

      by You to the Licensor shall be under the terms and conditions of

      this License, without any additional terms or conditions.

      Notwithstanding the above, nothing herein shall supersede or modify

      the terms of any separate license agreement you may have executed

      with Licensor regarding such Contributions.

 

   6. Trademarks. This License does not grant permission to use the trade

      names, trademarks, service marks, or product names of the Licensor,

      except as required for reasonable and customary use in describing the

      origin of the Work and reproducing the content of the NOTICE file.

 

   7. Disclaimer of Warranty. Unless required by applicable law or

      agreed to in writing, Licensor provides the Work (and each

      Contributor provides its Contributions) on an "AS IS" BASIS,

      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or

      implied, including, without limitation, any warranties or conditions

      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A

      PARTICULAR PURPOSE. You are solely responsible for determining the

      appropriateness of using or redistributing the Work and assume any

      risks associated with Your exercise of permissions under this License.

 

   8. Limitation of Liability. In no event and under no legal theory,

      whether in tort (including negligence), contract, or otherwise,

      unless required by applicable law (such as deliberate and grossly

      negligent acts) or agreed to in writing, shall any Contributor be

      liable to You for damages, including any direct, indirect, special,

      incidental, or consequential damages of any character arising as a

      result of this License or out of the use or inability to use the

      Work (including but not limited to damages for loss of goodwill,

      work stoppage, computer failure or malfunction, or any and all

      other commercial damages or losses), even if such Contributor

      has been advised of the possibility of such damages.

 

   9. Accepting Warranty or Additional Liability. While redistributing

      the Work or Derivative Works thereof, You may choose to offer,

      and charge a fee for, acceptance of support, warranty, indemnity,

      or other liability obligations and/or rights consistent with this

      License. However, in accepting such obligations, You may act only

      on Your own behalf and on Your sole responsibility, not on behalf

      of any other Contributor, and only if You agree to indemnify,

      defend, and hold each Contributor harmless for any liability

      incurred by, or claims asserted against, such Contributor by reason

      of your accepting any such warranty or additional liability.

 

   END OF TERMS AND CONDITIONS

 

   APPENDIX: How to apply the Apache License to your work.

 

      To apply the Apache License to your work, attach the following

      boilerplate notice, with the fields enclosed by brackets "[]"

      replaced with your own identifying information. (Don't include

      the brackets!)  The text should be enclosed in the appropriate

      comment syntax for the file format. We also recommend that a

      file or class name and description of purpose be included on the

      same "printed page" as the copyright notice for easier

      identification within third-party archives.

 

   Copyright [yyyy] [name of copyright owner]

 

   Licensed under the Apache License, Version 2.0 (the "License");

   you may not use this file except in compliance with the License.

   You may obtain a copy of the License at

 

       http://www.apache.org/licenses/LICENSE-2.0

 

   Unless required by applicable law or agreed to in writing, software

   distributed under the License is distributed on an "AS IS" BASIS,

   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

   See the License for the specific language governing permissions and

   limitations under the License.

 

IBM Global Data Synchronization for WebSphere Product Center also includes the

following software, portions of which were licensed from the World Wide Web Consortium (W3C):

 

- Apache XMLBeans v1.0.3

- Apache Commons-JXPath v1.2

 

This software is licensed to you under the terms and conditions of the

International Program License Agreement, subject to its Excluded Components

provisions. IBM is required to provide the following notice to you in

connection with portions of this software:

 

W3C SOFTWARE NOTICE AND LICENSE

http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231

 

This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.

 

Permission to copy, modify, and distribute this software and its

documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:

 

1.             The full text of this NOTICE in a location viewable to users of

the redistributed or derivative work.

2.             Any pre-existing intellectual property disclaimers, notices, or

terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.

3.             Notice of any changes or modifications to the files, including

the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)

 

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

 

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.

 

The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any  associated documentation will at all times remain with copyright

holders.

 

____________________________________________________________________________________

 

This formulation of W3C's notice and license became active on December 31 2002. This version removes the copyright ownership notice such that this license can be used with materials other than those owned by the W3C, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the license, and removes the ambiguous grant of "use". Otherwise, this version is the same as the previous version and is written so as to preserve the Free Software Foundation's assessment of GPL compatibility and OSI's certification under the Open Source Definition. Please see our Copyright FAQ for common questions about using materials from our site, including

specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org.

 

Joseph Reagle <site-policy@w3.org>

 

Last revised $Id: copyright-software-20021231.html,v 1.11 2004/07/06 16:02:49

slesch Exp $

 

IBM Global Data Synchronization for WebSphere Product Center also includes the

following software:

 

- XML4J 4.3.3

 

This software is licensed to you under the terms and conditions of the

International Program License Agreement, subject to its Excluded Components

provisions. IBM is required to provide the following notice to you in

connection with portions of this software:

 

 

ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1995-2003 International Business Machines Corporation and others All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.

-------------------------------------------------------------------------------------

All trademarks and registered trademarks mentioned herein are the property of their respective owners.


 [I1]This Script should be like the Demand Side Script for new$TradingPartner

 

 [I2] The Item Type cannot be modified/Set using this Script.

 [I3]This Script should be the same as the SetPartnerAttribute Script present in Supply Side.

 [I4] The Item Type cannot be modified/Set using this Script.