Wednesday 7 October 2015

How to Map Source Files to Templates (Programmatic Access Names) in Oracle iStore?



Goal

The purpose of this document is to describe how to map source files to templates (Programmatic Access Names) in Oracle iStore.

Solution

A template is just a simple way to get the correct source file according to a couple of parameters, site and language.
When iStore users select a site or a language, or even if these get defaulted, iStore displays some jsp files according to those parameters. Templates can have more than one jsp file, and each file can use one or more combination of these parameters, but this combination of site and language cannot be used by any other file mapped to the template. iStore evaluates which source file to use from the most detailed parameters to the most genric option (All sites and All languages)

Example
If a custom jsp file (xxx_ibeCCtdTop.jsp) is mapped to STORE_CTLG_TOP_PAGE template with parameters: All Sites and US language, means that no other file can be mapped to STORE_CTLG_TOP_PAGE with those options.

If you try to map a custom file with a combination of parameters that is being used by other file you will get an error like the following one
Error
Error in saving logical to physical mapping 

1. Error in saving logical to physical mapping 
2. ORA-00001: unique constraint (IBE.IBE_DSP_LGL_PHYS_MAP_U2) violated in Package IBE_PhysicalMap_GRP Procedure save_physicalmap 
3. All sites and all language exists already exists for deliverable 7672 


Most of the templates have a seeded jsp file which uses the All site and All language combination, this mapping cannot be deleted, so you cannot use that combination  for these cases.


To map a file do as follows:
  1. Responsibility: iStore Administrator
  2. Navigation: Advanced > Template Manager
  3. Search for the template
  4. Click on Update
  5. Then on Add Source File
  6. Fill in the details
    • Source File Name
    • Description
  7. Add the required combination of sites and languages
  8. Save the changes
  9. Bounce Apache (11i) or Oacore (R12)

The following SQL query will provide details about a source file or programmatic access name.
SELECT m.access_name,
m.file_name,
m.site_id,
DECODE(m.site_id, 1, 'All', s.msite_name) site_name,
m.default_msite,
m.language_code,
m.default_language
FROM IBE_DSP_ATTACHMENTS_V m, ibe_msites_tl s
WHERE m.site_id = s.msite_id
AND 'file_or_access_name' IN (access_name, file_name);
 
Thanks
Srini

No comments:

Post a Comment


No one has ever become poor by giving