Friday, 17 April 2020

How to replace multiple special character from oracle BI etext template



Requirement: Bank disbursement etext report output file having multiple special characters like (i.e special character ‘&’, ’*’, ‘(‘, ‘)’ ) which is not accepted by banking team.


Example :

Report output having following text,

ABC & XYZ cooperation (LTD)  - Bank will not accept this format

Actual output required. Which is accepted at the banking system interface.

ABC  XYZ cooperation LTD  - Bank accepted format



Issue Facing during using SQL REPLACE function:

We can use REPLACE function to replace special character from a specific field, but on specific the field we can use max 1 or 2 nested REPLACE function at etext template level which is a limitation.

But when we have multiple special characters to replace REPLACE function will not work properly, We required to find other solution

i.e  REPLACE(REPLACE(FiledXMLtag))



Solution:

We can define the set of replacing a character in etext template definition part. You can see highlighted screenshot.

In between 

start tag <REPLACE CHARACTERS> and 
end tag <END REPLACE CHARACTERS> 

we have to use all special character which we have to replace, in the 1st column we have to add special character which we have to replace and in 2nd the column we have to add what we have to use in replacement of special character,

I have given space only as I want to remove the special character from my report output.




You can update your template and check your output your issue will be resolved.





Monday, 6 April 2020

Oracle Fusion Etext Report template output file numeric filed decimal value format issue




Problem Summary:

I have generated Etext file template where decimal numeric field value in Amount not showing properly. I have tried with format masking also but still facing the same issue.
We have to provide this output text payment detail file to Bank system so they can make payment against the customer.

Bank the requirement is to use decimal separator ‘,’ instead of ‘.’ (Bank accepted format – 10,50 QAR)


i.e If payment the amount is 10.50 than output showing 10.5 only. Which is not correct as per the bank requirement, bank system wants 10.50 as an output.



i.e If payment the amount is 1.88 than output showing 1.88 properly.





Report Path: Shared Folders/Custom/Financial/Payment


Report Name: Disbursement payment file formats. (Seeded Report we made custom template)


Etext RTF template Amount field datatype where we facing an issue:



I have tried with the format, masking option suggested by oracle but we not able to use this solution because oracle uses Decimal separator as ‘.’ When as per bank the requirement we have to use decimal separator as ‘,’

Oracle SR suggested solution: (Which is not working in our case, as we have required decimal separator ‘,’)



Solution:

Step1: Add Format setup command in RTF template.





Step 2: Add extra ‘0’ in decimal part based on conditional format. You can add condition as per your business needs.



Syntax: 
 
IF Length(DECIMAL_PART (PaymentAmount/Value)
) = 1 THEN
‘0’
END IF


Now issue will be resolve.

Report output:





Wednesday, 1 April 2020

How to get the table details used by custom designed fusion page using page composer - Oracle Fusion

SELECT
    table_name
FROM
    adf_extensible_table
WHERE
    table_id = (
        SELECT
            table_id
        FROM
            adf_extensible_table_usage
        WHERE
            context_column_value = 'MachineSpeed_c'  --pass api name used