Monday, September 26, 2011

How To Delete the Approve, Reject, and Request More Information Buttons from a Workflow E-mail Notificatin That Requires Response [ID 302214.1]


Applies to:

Oracle Workflow Cartridge - Version: 11.5.9 to 11.5.10.2 - Release: 11.5 to 11.5
Information in this document applies to any platform.
Checked for relevance on 06-JUL-2011

Goal

How to Delete the Approve, Reject, and Request More Information Buttons from wokflow e-mail notifications.
Need only 'Click Here to Respond' link in order to sign into applications and access the Notifications Detail web page.
Client e-mail software does not interpret correctly the mailto tag.

Solution

1. To change the message template for ALL the notification messages requesting a response, this is the solution.
Change the  Open Notification Template parameter value for Workflow Notification Mailer.
Change the Open Notification Template from Workflow Open Mail (Templated) to Workflow Open
Mail for Outlook Express.
a. Go to Oracle Applications Manager (OAM).
b. Navigate to WF Manager.
c. Select Service Components Link.
d. Select Workflow Notification Mailer Link.
e. EDIT
f. Advance until step #4.
g. Change the the Open Notification Template from Workflow Open Mail (Templated) to Workflow Open
Mail for Outlook Express.
h. Save the changes and re-start the workflow mailer.

OR
2. To hide the 'Request More Information' link in the workflow notifications (generally in the approval workflows), do the following:
- Open the workflow builder.
- Get connected to the database.
- Open your workflow.
- Open the workflow process in which we want remove this link.
- Expand: Messages in this process.
- Goto appropriate message of the notification.
- Do right click and select 'New Attribute'.
- Enter the following data:
1. Internal Name: #HIDE_MOREINFO
2. Display Name: Request Information
3. Description: Request Information
4. Value: Y.
- Click APPLY.
- Save the workflow process definition into the database.


Next time a requisition is sent for approval, the Request More Information button will be hidden.

NOTE: This is considered a customization, if any patch overwrite this workflow, the
customization above will be lost.

Please check the PART NO: B10284-02 (Oracle Workflow Developer's Guide) for more information.

Sunday, September 25, 2011

Oracle Financials GL AP AR etc & CRM documents

http://apps2fusion.com/apps-training/apps-functional-documents/gl-ap-ar-iproc-po-fa-iexpenses

Thursday, September 15, 2011

Query to find the responsibilities assigned to the user

SELECT UNIQUE u.description, u.user_name user_name,
r.responsibility_name responsiblity,
a.application_name application
FROM fnd_user u,
   fnd_user_resp_groups g,
   fnd_application_tl a,
   fnd_responsibility_tl r
WHERE g.user_id(+) = u.user_id
AND g.responsibility_application_id = a.application_id
AND a.application_id = r.application_id
AND g.responsibility_id = r.responsibility_id
AND g.end_date IS NULL
AND u.end_date IS NULL
AND a.application_id in (275,809)
ORDER BY u.user_name

Tuesday, September 13, 2011

In Oracle, I want to know if a string value is numeric only. How can I do this?


To test a string for numeric characters, you could use a combination of the LENGTHTRIM, AND TRANSLATE functions built into Oracle.
You can use the following command:
LENGTH(TRIM(TRANSLATE(string1, ' +-.0123456789', ' ')))
string1 is the string value that you are testing
This function will return a null value if string1 is numeric. It will return a value "greater than 0" if string1 contains any non-numeric characters.

For example,
LENGTH(TRIM(TRANSLATE('123b', ' +-.0123456789',' ')));would return 1
LENGTH(TRIM(TRANSLATE('a123b', ' +-.0123456789',' ')));would return 2
LENGTH(TRIM(TRANSLATE('1256.54', ' +-.0123456789',' ')));would return null
LENGTH(TRIM(TRANSLATE ('-56', ' +-.0123456789',' ')));

Wednesday, September 7, 2011

query to find the duplicate active employees in per_all_people_f

   SELECT email_address
--    INTO l_person_id
    FROM per_all_people_f
    WHERE 1=1
    AND SYSDATE Between effective_start_date and effective_end_date
    and person_type_id=6
    group by email_address
    having count(email_address) >1

Tuesday, September 6, 2011

Function to check if the mail address and attach to a value set

---------------------------------------------------------------------------------------
/*Function to check if the mail address is valid. it checks for any valid email address.*/
--------------------------------------------------------------------------------------
   FUNCTION check_valid_email_address (
      p_email_address_i    IN   VARCHAR2,
   )
      RETURN VARCHAR2
   AS
      l_email_result   VARCHAR2 (200);
      l_cnt            NUMBER (10)    := 0;
      l_count          NUMBER (10)    := 0;
   BEGIN
IF (INSTR (p_email_address_i, '..')) > 0
      THEN
         l_email_result := g_bad_email;
      ELSIF (INSTR (p_email_address_i, ' ')) > 0
      THEN
         l_email_result := g_bad_email;
      ELSIF (INSTR (p_email_address_i, '.')) = 0
      THEN
         l_email_result := g_bad_email;
      ELSIF (INSTR (p_email_address_i, '@')) = 0
      THEN
         l_email_result := g_bad_email;
      ELSIF INSTR (SUBSTR (p_email_address_i,
                           INSTR (p_email_address_i, '@') + 1,
                           LENGTH (p_email_address_i)
                          ),
                   '@'
                  ) > 0
      THEN
         l_email_result := g_bad_email;
      ELSIF INSTR (SUBSTR (p_email_address_i,
                           INSTR (p_email_address_i, '@') - 1,
                           LENGTH (p_email_address_i)
                          ),
                   '_'
                  ) = 1
      THEN
         l_email_result := g_bad_email;
      ELSIF SUBSTR (p_email_address_i, 1, 1) = '@'
      THEN
         l_email_result := g_bad_email;
      ELSIF INSTR (UPPER (p_email_address_i), '@_') > 0
      THEN
         l_email_result := g_bad_email;
      ELSIF INSTR (UPPER (p_email_address_i), '@-') > 0
      THEN
         l_email_result := g_bad_email;
      ELSIF SUBSTR (p_email_address_i,
                    LENGTH (p_email_address_i),
                    LENGTH (p_email_address_i)
                   ) = '.'
      THEN
         l_email_result := g_bad_email;
      ELSE
         WHILE (l_cnt < LENGTH (p_email_address_i) - 1)
         LOOP
            BEGIN
               SELECT COUNT (*)
                 INTO l_count
                 FROM DUAL
                WHERE ASCII (SUBSTR (p_email_address_i, l_cnt, l_cnt + 1))
                         BETWEEN ASCII ('A')
                             AND ASCII ('Z')
                   OR ASCII (SUBSTR (p_email_address_i, l_cnt, l_cnt + 1))
                         BETWEEN ASCII ('a')
                             AND ASCII ('z')
                   OR ASCII (SUBSTR (p_email_address_i, l_cnt, l_cnt + 1))
                         BETWEEN ASCII (0)
                             AND ASCII (9)
                   OR ASCII (SUBSTR (p_email_address_i, l_cnt, l_cnt + 1)) IN
                         (ASCII ('_'),
                          ASCII ('-'),
                          ASCII ('.'),
                          ASCII ('@'),
                          ASCII ('''')
                         );
            END;
            --Increment the counter
            l_cnt := l_cnt + 1;
         END LOOP;

         IF (l_count >= 1)
         THEN
            l_email_result := p_email_address_i;
         END IF;
      END IF;

      RETURN l_email_result;
   EXCEPTION
      WHEN OTHERS
      THEN
         RAISE;
   END check_valid_email_address;


---------------------------------
Value set for valid email address
---------------------------------

FND PLSQL  "declare
l_local VARCHAR2(200) := 'Invalid';
CURSOR validate_email_id
is
select 'Valid'
from dual
where check_valid_email_address(:!VALUE,'Y') = :!VALUE
and :!VALUE <> 'BAD_EMAIL_ADDRESS';
BEGIN
open validate_email_id;
fetch validate_email_id into l_local;
if validate_email_id%NOTFOUND then
fnd_message.set_name('XXCAS_PRJ','XXCAS_PRJ_INVALID_EMAIL_ID');
fnd_message.raise_error;
end if;
close validate_email_id;
end;"