Translate

Sunday, June 12, 2016

1) Visual Representation of User Rating in XML Publisher , 2) How to Retrieve XML Publisher Report output , 3) How to Use XML Bursting to Send XML Report via Email

1) Visual Representation of User Rating in XML Publisher

Oracle BI Publisher provides end users with a template-based, easy-to-use publishing solution. It is based on standard, well-known technologies and tools so  users can take advantage of it easily. Users will have a set of familiar tools such as Adobe and Microsoft Word/Excel to create and maintain their own report formats based on data extracts. Users will then be able to send the report outputs to destinations of choice, email, fax, printers and others.
Oracle BI publisher can be easily integrated with Oracle Application.

Basic Requirement
We need to create the visual representation of rating depending on their performance appraisal so that user can compare them at a glance.  The business scenario is shown table below.
Pre-Requisite
Following are the pre-requisites for report to build and also for applicability of solution
  • Employees must have Performance Rating entered in the system.
  • We are creating the template using MS word Form Field method.
  • Necessary data definitions are present/created in the system.
Solution Approach
The Visual representation of User rating can be achieved in two different ways. There may be other possible ways but here we will restrict our discussion based on the creation of the template using MS word Form Field method.

       1) Using MS-Word Auto Shape Feature
  Here the Star shape is created using the  MS-Word auto shape feature
      a) Select the desired shape from Auto-Shape
     b) Double click on the selected image and paste the following code in Web tab
<?for-each@shape:xdoxslt:foreach_number($_XDOCTX,1,RATING,1)?><?shape-offset-x:(position()-1)*25?><?end for-each?>
Here "RATING" is nothing but the name of XML node of Data definition.

Here for-each@shape command is used to execute the ‘for…loop’. Here initial value of the loop is 1. The final value of the loop variable is the value of ‘RATING’ variable. The loop variable will increment by 1.

When the Rating =0 ---- there will be no execution of the loop, so star shape will be displayed.
When the Rating =1 ---- the loop will execute for 1 time, so a single star will be displayed.
When the Rating =2 ---- the loop will execute for 2 time, so two star will be displayed.
When the Rating =3 ---- the loop will execute for 3 time, so two star will be displayed.

Sample output

            2) Using External GIF Feature
               The MS Word Auto shape supports various shapes and as we know the shapes can be changed by skewing them, stretching them, squashing them, etc. Now if the customer wants to use an image which is not available in MS Word Auto Shape then we have to use the following solution
 When it is gif, the code is not straight forward as it is in case of MS word Auto Shape. We need to twist the code a bit to achieve our goal. The details are given below.

here "inline wrap" and "end" are the form field.Details of these fields are mentioned below

 Field  Form Field Entry
     inline wrap  <? for-each@inlines:xdoxslt:foreach_number($_XDOCTX,0,RATING,1)?>
 end <? end for-each?> 
Here we have to use @inlines instead of @shape to get the image on a single row and then start the loop from 1.If the user rating is not entered in the system then it will considered as ‘0’ and no star will be displayed.When the Rating =1 only single star will be displayed, so loop needs to run from 1,1
When the Rating =3 the loop will run from 1 to 3, so 3 star will be displayed.
Conclusion:-
The BI Publisher (formerly XML Publisher) supports Microsoft drawing, Shape etc. One can use these objects to template and they will appear in final PDF output.

    The following AutoShapes categories are supported.
  • Lines - straight, arrowed, connectors, curve, free form, and scribble

  • Connectors - straight connectors only are supported. Curved connectors can be achieved by using a curved line and specifying the end styles to the line.
  • Basic Shapes - all shapes are supported.
  • Block arrows - all arrows are supported.
  • Flowchart - all flowchart objects are supported.
Note:-   The Key benefits of BI Publishers are
              Þ Separation of presentation and data layer 
              Þ Cost reduction
              Þ Control over Report Layout and High customization
              Þ Different presentation tools.
              Þ Output in the format of one’s choice.
              Þ Tight integration with Oracle eBusiness Suite
              Þ No additional third party tool.

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

2) How to Retrieve XML Publisher Report output

Oracle XML Publisher is a template-based publishing solution delivered with the Oracle E-Business Suite.One can Design and control how the report outputs will be presented in separate template files,known as template.At runtime, XML Publisher merges designed template files with the report data to create a variety of outputs to meet a variety of business needs.
 
Basic RequirementXML Publisher report generated through a concurrent program. The output of concurrent program merges the report data with the designed template.
Now our requirement is to get the concurrent output file and store the file in Database a clob/blob.
 
Pre-Requisite
Following are the pre-requisites for our solution approach
1) The XML Publisher report is configured and running as intended.
2) The user able to see the XML publisher report after successfull completion of Concurrent Program(OPP is running).
Solution Approach
First we will discuss about how we can see the concurrent program report output and the XML output
1) Report Output
The report can be viewed by clicking on the output button of the concurrent program.
 
Note:- If the output is not comming or comming as XML, then it may be because OPP is not running. Please get in touch with Database administrator team.Please ensure that
           there is no error in generating the data in XML format.
 
2) XML data Output
 
In XML Publisher data is formated in XML.To view the XML data generated via concurrent program we need to click on the Diagnostics button.(As shown below)
 
 
3) Retrieve XML output and store it in database
 
The XML output report/document are stored in $APPLCSF/$APPLOUT . The output file name is in the following format
<CONC_SHORT_NAME>_<REQUEST_ID>_<NO>.<Extension>
 
CONC_SHORT_NAME = This is the short name of concurrent program,given during the creation of concurrent program
REQUEST_ID              = Request_id of the concurrent program that generates the file
NO                              = Counter
Extension                     = Extension of the file can be RTF/PDF/HTML depends on output format chosen.
 
 
Now read the file/copy the file to store it in database blob/clob column. alternately file can be sent via email.
 
 
Disclaimer:- This is a knowledge sharing site. This topic talks about a custom solution. Oracle may not provide you a support for any data corruption or any other problem in your custom code/problem arises because of the custom code. The author is not responsible for any kind of  system/data problem appears because of usages of this code.Reader/implementer must do it on his/her own risk/responsibility.
-------------------------------------------------------------------------------------------------------------

3) How to Use XML Bursting to Send XML Report via Email

Oracle Bursting Mechanism enables us to deliver a single XML Publisher report/letter to multiple destinations simultaneously.One can create a single report/letter , then send it in any format (e.g., PDF or HTML) to multiple destinations(email ids).
There are two kind of bursting mechanism available within BI publisher
1) Control File Base:- Integrated with EBS
2) Delivery SQL based:- Part of Enterprise release.All delivery, template, output format, locale and other details define through delivery SQL Query. Enterprise Edition assume that this information is stored in data base. The process create the XML file out if this query and the delivery xml file works as control file.
 
Here we will discuss about the "Control File Base" mechanism.
 
Basic Requirement
 Our basic requirement is to send grade change(promotion) letter to the supervisor of the employee.This needs to be achieved using XML Publisher Bursting Mechanism.
 
Pre-Requisite
Following are the pre-requisites for report to build and also for applicability of solution
  • We are creating the template using MS word Form Field method.
Solution Approach
To achieve this we will first understand the different aspects and terminology used in XML Publisher
 
 
Data Definition
The data definition is registration the source of the data that will be merged with template layout to create published report/letter.
Navigation:- XML Publisher Administrator àData DefinitionsàClick on Create Data Definition
 
 

Bursting Control File
Bursting control file is a XML file that contains following information
Control file is xml file (.xml) and contains information such as
  • Level in XML data that you wish to burst on.
  • Email address From, To, subject etc
  • Message we want to send
  • Busted file type (PDF/Excel/HTML etc…), file name, Filter Conditions etc...
  • Location of Template which will be used to generate output busted file.
 
Now to understand the bursting control file we will take an example of our sample XML data file(that will be created via pl/sql procedure)
 
 
 
There are restriction while creating bursting control file
a) The server ip address and port can not be dynamic. It must be hard coded in the file.
b) To define the location follow the following steps
<xapi:template type="rtf" location="/ora_shared/R12/DBXX/apps/apps_st/comn/temp/Test.rtf" /> ##
Navigation:- XML Publisher Administrator àAdministration
Go to Propertiesà Temporary Directory and copy the location that location will be location of our rtf template
 
##=> Sometime the above mentioned process may give you bursting error while running concurrent program, then use the alternative method mentioned below.
 
 
Alternatively the following can be used
location="xdo://<output of the following query>/?getSource=true"
<output of the following query> :-
select lt.application_short_name || '.' || lt.template_code || '.' || lt.default_language || '.' || lt.default_territory as burst_template_xdo_location
fromapps.xdo_templates_b lt where lt.template_code ='<Template Code>'; --here value <Template Code> is 'XX_TEST_XML_DT'
 
Now Search for the newly created Data Definition and click on the hyperlink the search results.Now attach the Bursting control file with the data definition.
Navigation:- XML Publisher Administrator àData DefinitionsàSearch for newly Created Data Definition
 
 
 
Template
Rich Text Format (RTF) is a specification used by common word processing applications, such as Microsoft Word.XML Publisher’s RTF Template Parser converts documents saved as the RTF file type to XSL-FO.Therefore we can create report designs using your standard word processing application’s design features and XML Publisher will recognize and maintain the design.
 
Now create a RTF using basic Form Field Method(Using Microsoft Word’s form field feature).
 
 
 
 
once the rtf is created, save it local. Now create a data template(follow the navigation mentioned above).
 
 
 
 
 
Note:-Now take the temp location path(noted while discussing Bursting Control file) and put your rtf file also in that location.
 
 
Concurrent Program
Define the concurrent program. The concurrent program used in XML publisher report has following restrictions.
1) The concurrent Short name must match with the short name of the data definition
2) The Output format of the concurrent program will be "XML"
 
 
 
Concurrent Executable Package
We need to create a database package that will generate the XML data file which will be used to feed the data in temaplate and generate letter.
Here our code will retrive the all the employee under a particular supervisor and send it to him with the grade information letter.
 
  
  Now write the cursor that will retrieve all the employee having valid grade for a particular supervisor(person_id came as input)
 
 
Now our cursors are ready, we have to create xml and need to write in the ourput of the concurrent program.
Please refer your designed xml based on which the bursting was designed and repeat/close any element as shown the pic below.
 
 
Once the xml is prepared , then we need to call the seeded bursting program,so that the generated letter can reach to supervisor
 
 
 
 
Now compile the package and run the concurrent program.
 
Note:- 1) As we mentioned earlier the bursting will happen from /ListOfEmpDtls/EmpDtls.
             create your xml accordingly.
 
    2) To write it log of the concurrent program use the following fnd utility
     LOG file writing:-
          FND_FILE.PUT_LINE(FND_FILE.LOG, 'ABCD in Log File');
     OUTPUT file writing:-
        FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'ABCD in Out File');
 
   3) Bursting program may goes into error, in that case will suggest you to raise a SR with Oracle.
   4) Sample rtf file,code,bursting control file is attached for reference
 
 
References:-                1) https://metalink.oracle.com
                                      2) Oracle XML Publishern( Release 12) B31410-01
 
 
Disclaimer:- This is a knowledge sharing site. This topic talks about a custom solution. Oracle may not provide you a support for any data corruption or any other problem in your custom code/problem arises because of the custom code. The author is not responsible for any kind of  system/data problem appears because of usages of this code.Reader/implementer must do it on his/her own risk/responsibility.

 
 
 
 
 
 

How to Add Element Value in Oracle Online Payslip

Online Payslip enables employees to view their own payslip, via the Employee Self Service menu after payroll processing has been completed. Managers can also search for, and access the payslip of individual employees via the Payroll Professional menu.
The information displayed on the payslip is generated by an archiver program during the payroll process. This process and the payslip are localised for each payroll legislation supplied by Oracle to satisfy local requirements.
Each legislation has it's own requirements regarding what information to display on the Online Payslip. There will be standard information including header details such as Name, Address, Employee Number and National Identifier, and also statutory deductions and balances. There is also a user-definable capability as each legislation allows the user to specify additional site specific elements and balances that they wish to include on their payslip.
 
Basic Requirement
Our basic requirement is related to US legislation requirement.
It says:- Over Time rate must be displayed for all "Hourly" employee irrespective of their elligibility of OverTime payment.
This can be extent to any legislation or method can be used to fullfill other business requirement of similar kind.
Pre-Requisite
Following are the pre-requisites for applicability of the solution.
1) The related Business Group is defined and configured.
2) All the necessary setup for Payroll is present
3) Employees are attached with the payroll
 
Solution Approach
 Oracle prints the overtime rate only when person has a overtime payment in that pay-period.Now to achive our requirement,we consider the following design
Design:- 1) Two recurring element element of type "Information" with "Standard Link" is created.
             2) One recurring element will be attached with a fast formulla which is responsible for calculating the overtime rate and feed into the other element.**
 
** ==> Before, we proceed with our desgin implementation approach, We must remember that the archive program picks the value from element entry screen for "Information Type" element. Whereas in other cases, the value picks up from the run results.
         Payroll does not update the element entry screen of any processed element. It stores the value in Run Results.Hence we need to find a way that will feed the calculated value in element entry screen.
 
1) Create a recurring element "OT Rate Calculator" with classification "Information"
 
Navigation :- XX HRMS Manager -> Total Compensation -> Basic -> Element Description
 
 
 
2) Create another recurring element "OT Rate" with classification "Information"
Navigation :- XX HRMS Manager -> Total Compensation -> Basic -> Element Description
 
 
 

3) Create a Standard link for "OT Rate Calculator" with the salary basis "Hourly"
This will ensure that whenever any hourly employee is attached with the payroll is will be automatically attached with the employee.
Navigation :- XX HRMS Manager -> Total Compensation -> Basic -> Link

3) Create a Standard link for "OT Rate" with the salary basis "Hourly"
This will ensure that whenever any hourly employee is attached with the payroll is will be automatically attached with the employee.


Navigation :- XX HRMS Manager -> Total Compensation -> Basic -> Link


4) Now we have to find some way that will update the "Pay Value" of the "OT Rate" element.
To achieve that we will create a fast formula that will calculate and update the "pay value" of "OT Rate" in element entry screen.
a) Create a pl/sql Procedure that will update the input value of the element "OT Rate".
    For this purpose we will use the following API "hr_entry_api.update_element_entry". Sample code is given below.
      
FUNCTION FF_UPD_ELE_ENTRY_SCREEN_VALUE(p_assignment_id     IN NUMBER--- From Context Usages
                                      ,p_date_earned       IN DATE     --- From Context Usages
                                      ,p_Payroll_ID        IN NUMBER--- From Context Usages
                                      ,P_ENTRY_VALUE       IN NUMBER--- From Parameters
                                      ,p_period_start_date IN DATE     --- From Parameters
                                      ) RETURN NUMBER
IS
 PRAGMA AUTONOMOUS_TRANSACTION;
l_eff_start_date       DATE;
l_business_gr_id       NUMBER;
l_ele_entry_id         NUMBER;
l_obj_no               NUMBER;
l_input_value_id       NUMBER;
l_effective_start_date DATE;
l_effective_end_date   DATE;
l_upd_warn             BOOLEAN;
l_link_id              NUMBER;
l_warn                BOOLEAN;
l_start_date          DATE;
BEGIN
IF (to_char(p_period_start_date,'YYYY')='0001' OR p_period_start_date IS NULL) THEN--default value in fast formula
      BEGIN
      SELECT ptp.start_date
      INTO   l_start_date
      FROM per_time_periods ptp
      WHERE ptp.payroll_id=p_Payroll_ID
      AND   ptp.end_date=p_date_earned;
      EXCEPTION
      WHEN OTHERS THEN
      l_start_date:=trunc(SYSDATE);
      END;
ELSE
l_start_date:=p_period_start_date;
END IF;
              BEGIN
                  SELECT peevf.effective_start_date
                        ,petf.business_group_id
                        ,peevf.element_entry_id
                        ,peef.object_version_number
                        ,peevf.input_value_id
                     INTO l_eff_start_date
                         ,l_business_gr_id
                         ,l_ele_entry_id
                         ,l_obj_no
                         ,l_input_value_id
                  FROM pay_element_types_f   petf,
                       pay_element_entries_f peef,
                       pay_element_links_f  pelf,
                       pay_input_values_f   pivf,
                       pay_element_entry_values_f peevf
                  WHERE petf.element_type_id=peef.element_type_id
                  AND   petf.element_name='OT Rate'
                  AND   peef.assignment_id=p_assignment_id
                  AND   peef.element_link_id=pelf.element_link_id
                  AND   peef.element_entry_id=peevf.element_entry_id
                  AND   pivf.element_type_id=peef.element_type_id
                  AND   pivf.NAME='Pay Value'
                  AND   pivf.input_value_id=peevf.input_value_id
                  AND   trunc(p_date_earned) BETWEEN petf.effective_start_date AND petf.effective_end_date
                  AND   trunc(p_date_earned) BETWEEN peef.effective_start_date AND peef.effective_end_date
                  AND   trunc(p_date_earned) BETWEEN pelf.effective_start_date AND pelf.effective_end_date
                  AND   trunc(p_date_earned) BETWEEN pivf.effective_start_date AND pivf.effective_end_date
                  AND   trunc(p_date_earned) BETWEEN peevf.effective_start_date AND peevf.effective_end_date;
            EXCEPTION
            WHEN OTHERS THEN
              RETURN 1;
            END;
BEGIN
hr_entry_api.update_element_entry(
  p_dt_update_mode             => 'UPDATE_CHANGE_INSERT',
  p_session_date               => l_start_date,--p_session_date date on which change is taking place. It will always be start date of pay period
  p_check_for_update           =>'Y',                          ---- Check to see if the entry is being updated
  p_date_earned                => p_date_earned,
  p_element_entry_id           => l_ele_entry_id,
  p_input_value_id1            => l_input_value_id,
  p_entry_value1               => P_ENTRY_VALUE,-- the value will be calculated within the fast-formula using db item.
  p_override_user_ent_chk      => 'N'
                              );
COMMIT;
RETURN 0;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RETURN 1;
END;
END FF_UPD_ELE_ENTRY_SCREEN_VALUE;

b) Create a formula function and attached the above pl/sql function

Navigation :- XX HRMS Manager -> Total Compensation -> Fast Formula ->Formula Function

c) Create a fast formula that will calculate the overtime rate and call the above pl/sql function.
     A sample code is pasted below

Navigation :- XX HRMS Manager -> Total Compensation -> Fast Formula -> Write Formula 

DEFAULT FOR L is 0
    DEFAULT FOR Calculation_Period_SD is '0001/01/01 00:00:00' (DATE)
   DEFAULT FOR PAY_PROC_PERIOD_START_DATE    IS '0001/01/01 00:00:00' (DATE)
   DEFAULT FOR PAY_PROC_PERIOD_END_DATE     IS '0001/01/02 00:00:00' (DATE)
   DEFAULT FOR ASG_SALARY                       IS 0
   DEFAULT FOR ASG_SALARY_BASIS                 IS 'NOT ENTERED'
   DEFAULT FOR OT_REDUCE_REGULAR         IS 'N'
   DEFAULT FOR USER_ENTERED_TIME             IS 'N'
   DEFAULT FOR Timecard_Required             IS 'N'
   DEFAULT FOR LABOR_RECORDING_COUNT         IS 0
   DEFAULT FOR OT_ASG_GRE_RUN         IS 0
   DEFAULT FOR OT_ASG_GRE_YTD          IS 0
   DEFAULT FOR OT_HOURS_ASG_GRE_RUN    IS 0
   DEFAULT FOR Work_Schedule                    IS 'NOT ENTERED'
   DEFAULT FOR ASG_HOURS                        IS 0
   DEFAULT FOR Hours                            IS 0
   DEFAULT FOR Multiple                         IS 1
   DEFAULT FOR Rate                             IS 0
   DEFAULT FOR Rate_Code                        IS 'NOT ENTERED'
   DEFAULT FOR ASG_FREQ                     IS 'NOT ENTERED'
   DEFAULT FOR CURRENT_ELEMENT_TYPE_ID          IS 0
   DEFAULT FOR OT_ACCRUED_ASG_ITD  IS 0
   DEFAULT FOR  MAXIMUM_AMOUNT                  IS 0
   DEFAULT FOR  OT_ASG_GRE_ITD         IS 0
   DEFAULT FOR  AUTHORIZATION_END_DATE IS '0001/01/01 00:00:00' (DATE)
   DEFAULT FOR  PRORATE_START IS '0001/01/01 00:00:00' (DATE)
   DEFAULT FOR  PRORATE_END IS '0001/01/01 00:00:00' (DATE)
   DEFAULT FOR ENTRY_DATE_EARNED                IS '0001/01/01 00:00:00' (DATE)
   DEFAULT FOR p_return_no      IS 0


   DEFAULT FOR  REDUCE_REGULAR_EARNINGS_ASG_GRE_RUN   IS 0
   DEFAULT FOR  REDUCE_REGULAR_HOURS_ASG_GRE_RUN   IS 0

   DEFAULT FOR  REDUCE_REGULAR_EARNINGS_ASG_GRE_TD_BD_RUN   IS 0
   DEFAULT FOR  REDUCE_REGULAR_HOURS_ASG_GRE_TD_BD_RUN   IS 0


   /* ===== Defaults Section End ===== */
   /* ===== Inputs Section Begin ===== */
    INPUTS ARE
    Hours,
    Multiple,
    Rate,
    Rate_Code (text),
    maximum_amount,
    authorization_end_date,
    prorate_start (date),
    prorate_end (date)
   /* ===== Inputs Section End ===== */

Multiple = 2.5 -- Multipler for Overtime rate, specific to Organization

calc_rate = ASG_SALARY --- This will give the hourly rate
Rate =calc_rate * Multiple -- this will give the Over time Rate
Calculation_Period_SD=get_date('PAYROLL_PERIOD_START_DATE')--Provides the pay period start date
L=XX_OT_RATE_UPD_ELE_VAL(Rate,Calculation_Period_SD)
if(L=1) then
(
E=PUT_MESSAGE('Error While Determining Overtime Rate')
)
RETURN Rate

d) Now we have to attached the fast formula with the "OT Rate Calculator" element, so that when payroll process the element, execute the fast formula and update the "Pay Value"  of "OT Rate" in element entry screen.
 
Navigation :- XX HRMS Manager -> Total Compensation -> Fast Formula ->Formula Results


5) Our element is ready for use. Now if we run the payroll, it will populate the Overtime rate. Now to  make it visible in the online payslip , we have to add it  to the "Payslip Information" of the Business group.

Navigation :- XX HRMS Manager -> Work Structure -> Organization -> Description -> Query for business Group --> Others--> Payslip Information


Note:- 1) Instead of using API to update the element entry via API, we can use the "Update recurring entry" option available in Formula Results screen.
               The above mentioned option also update the value in the element entry screen of  an recurring element. But main problem with the option is that it updates the 
               element w.e.f check date. Generally check date always lie on next pay period.
Hence the element will have the value in next pay period, where as the current pay period won't have any value or value of previous pay period. If there is any changes in hourly rate for the current pay period that won't get reflected.

[Screen shot of the option is shown below]

Personalization - How to Change Field Name

Form Personalization feature allows us to alter the behavior of Forms-based screens, including changing properties, displaying messages etc.
For a single form-function
(a form running in a particular context based on parameters passed to it defined at function level) we can specify one or more Rules. Each Rule consists of an Event, an optional Condition, the Scope for which it applies, and one or more Actions to perform.

Here we will discuss about how can we change the field display name.

Basic Requirement
Our basic requirement is to change name the 'Latest Start Date' field to 'ABCD' in people Screen. Remember this name change should only be applicable for persons who are using 'UK HRMS Manager'.

Solution Approach
Form Personalization feature is declarative and any personalization to form may interfere with base code of a  form.
before we start personalization please ensure that the following security profiles are properly set
  1) FND_HIDE_DIAGNOSTICS (Hide Diagnostics menu entry)
  2) DIAGNOSTICS (Utilities:Diagnostics)


a) Now open the people & Assignment form from the navigator menu. Click on the 'Latest Start Date field'. Now go to  Help >> Diagnostics >>  Properties >>  Item.
    It will display the 'Object Properties' window. Note Down the  Object2 value (HIRE_DATE) which is nothing but the name of the item.





b) Now to personalize the screen, go to  Help >> Diagnostics >> Custom Code >> Personalize
 Set the following values

Condition Tab
Seq:- Next highest available number.
Description:-
Test Personalization
Level:-
Function
Trigger Event:- WHEN-NEW-FORM-INSTANCE
Trigger Object**:-
Condition:-
Processing Mode:- Both
Scope:- Site


** Depending on the Trigger Event, this field may be Disabled, or Enabled and Required in which case it will validate against a List of Values. For example, if Trigger Event WHEN-NEW-ITEM-INSTANCE is selected, then we must enter a specific block.field for that trigger to be processed.






Action Tab
Seq:- 10
Type:- Property
Description:-
Language***:- All
Object Type:- Item
Target Object:- PERSON.HIRE_DATE (Search with string that we copied from step a)
Property Name:- PROMPT_TEXT
Value:- ABCD


 ***  Select 'All' to have the action processed for any language, or select a specific language.Generally text-related personalizations are applied for a specific
       language
.


c) Validate the design and click on Apply Now.



Note:- 1) Since we have selected processing mode as 'Both', hence the field name 'ABCD' will appear under both the condition 'New form is open' and
             'Enter-Query Mode'.

                If we select the processing mode as 'Only in Enter-Query Mode', then we will see the original name of the field while opening the form.Where as  if we
            query the form it will execute the trigger event and change the name of the field.





      2) Each Rule consists of one or more Scope rows, and one or more Actions. If a Rule has no Scope rows or Action rows, it is not processed. Note that
         upon saving a Rule, if no Scope rows have been entered the form will automatically create a row at the Site level. If any scope matches the current
         runtime context then the Rule will be processed.



http://www.club-oracle.com/threads/calculating-supplier-balance-with-sql.12095/http://alloraclesql.blogspot.com/2015/05/supplier-balance-break-up-query.html

Accounts Receivable-AR setups in Oracle EBS Functional Financials - Apps R12

   1. Oracle Receivables -> Setup -> System ->System Options     a. Receivable GL related setup    b. Transaction and Customer rela...