Total Pageviews

Sunday, 30 July 2023

EBS : Add Attachment in Supplier Master OAF Page in Oracle Apps (r12)


How to add Attachments at Supplier and Supplier Site Level


Navigation:-

1) Adding attachment at supplier

  •      Go to Payables Manager Responsibility (Any super User Responsibility)
  •      Search for a particular Supplier
  •      Go to Supplier Company Profile > Organization >Attachments > Add Attachment
2)  Adding attachment at supplier site level

  •     Go to Payables Manager Responsibility  (Any super User Responsibility.
  •     Search for a particular Supplier
  •     Go to Supplier Address Book > Click on Manage Sites >Click on Identification Tab > Click on   Attachments  > Click on Add button '+' is Enable

***********************************************************************************
#Oracle Apps #EBS #OAF #Supplier Master Page 


Saturday, 29 July 2023

Oracle : Useful SQL Query

 

SQL Query

1) generate Serial number in SQL Query

select row_number() over(partition by part_no order by part_no,decode(ORDER_TYPE_TEXT,'On Hand','01','02') from dual;




*************************************************************************************

#SQL Query #Oracle #Oracle Apps #Oracle #

EBS : Oracle Forms Compilation Scripts in Oracle Apps (r12)

How to compile forms in Oracle Apps

Forms Compilation scripts

frmcmp_batch module=/oraTECHHARDS/oracle/PERSONAL/fs1/EBSapps/appl/au/12.0.0/forms/US/XX_AR_INV_FORM.fmb module_type=form output_file=/oraTECHHARDS/oracle/PERSONAL/fs1/EBSapps/appl/ap/12.0.0/forms/US/XX_AR_INV_FORM.fmx userid=apps/apps batch=no compile_all=special 



Steps:-

1) Deploy the .fmb in AU_TOP 

2) Compile the forms using above scripts to generate .fmx in the Custom_TOP (like XX, AP, AR).



=========================================================================
#Oracle Forms #Oracle Apps #EBS #Forms Compilation

EBS : Useful AOL Query in Oracle Apps (r12)

Query to find Concurrent Request Details against input Concurrent Program

SELECT concurrent_program_name, fcr.*
  FROM fnd_concurrent_programs fcp, fnd_concurrent_requests fcr
 WHERE fcp.concurrent_program_id = fcr.concurrent_program_id
   AND fcp.concurrent_program_name = 'XX_TECHHARDS';











***********************************************************************************
#Oracle Apps #EBS #Concurrent Request #Concurrent Programs

#How to get concurrent Request Details



Tuesday, 18 July 2023

EBS : WHEN-TAB-PAGE-CHANGED change code in oracle forms in Oracle Apps (r12)

Oracle Forms Code for TAB WHEN-TAB-PAGE-CHANGED


DECLARE
   v_tp_nm   VARCHAR2 (30);
   v_tp_id   tab_page;
   v_tp_lb   VARCHAR2 (30);
BEGIN
   v_tp_nm := GET_CANVAS_PROPERTY ('TECHHARDS_TABS', topmost_tab_page);---TECHHARDS_TABS is your tab canvas
   v_tp_id := FIND_TAB_PAGE (v_tp_nm);   --this is tab page which you just had clicked to activate
   v_tp_lb := GET_TAB_PAGE_PROPERTY (v_tp_id, label);
                        --you get the lable for that particular tab page here

--here is to check the page name and associate your auto-query options--
   IF v_tp_lb LIKE 'TechHards WB%'
   THEN
      GO_BLOCK ('XX_TECHHARDS_KAB');
      EXECUTE_QUERY (no_validate);
   ELSIF v_tp_lb LIKE 'TechHards WB Pro%'
   THEN
      GO_BLOCK ('XX_TECHHARDS_PAB');
      EXECUTE_QUERY (no_validate);
   ELSIF v_tp_lb LIKE 'TechHards WB Free%'
   THEN
      GO_BLOCK ('XX_TECHHARDS_DAB');
      EXECUTE_QUERY (no_validate);
   ELSE
      NULL;
   END IF;
END;
=========================================================================
#Oracle Forms #Oracle Apps #EBS #Forms Trigger #WHEN-TAB-PAGE-CHANGED

Sunday, 16 July 2023

EBS : Step to change supplier name prompt in AP Invoice Workflow in Oracle Apps (r12)

 Step to change supplier name prompt in AP Invoice Workflow

Go to below table and update the display name

before change


After Change







***********************************************************************************
#Oracle Workflow #Oracle Apps # EBS #WF Notifications 

Important WF Tables:-
WF_Notifications 
WF_Notification_attributes





Oracle : How to convert Column to Row in SQL in Oracle Apps (r12)

Convert Text (column) to Row in Oracle Apps


SELECT REGEXP_SUBSTR(p_inv_org_id,'[^,]+', 1, LEVEL) COL1 FROM DUAL

                               CONNECT BY LEVEL <= REGEXP_COUNT(p_inv_org_id, ',') + 1


===========================================================================

#SQL QUERY #Oracle Apps #EBS #Column to Row conversion #PLSQL #r12 #REGEXP

EBS : API to Add / Remove Concurrent Program from Request Group in Oracle Apps (r12)

How to ADD / Remove concurrent 

Program using API in Request Group

 

Remove Concurrent Request from request Group

BEGIN

begin

    apps.fnd_program.remove_from_group

           (PROGRAM_SHORT_NAME  => 'XXTECHARDS_PROG',

            PROGRAM_APPLICATION => 'SQLAP',

            REQUEST_GROUP       => 'All_Payables',

            GROUP_APPLICATION   => 'SQLAP'

          );

    commit;

exception

    when no_data_found then

    dbms_output.put_line('Unable to remove from Request group');

end;

ADD Concurrent Request from request Group

begin

apps.fnd_program.add_to_group(

            PROGRAM_SHORT_NAME  => 'XXTECHARDS_TRANS',

            PROGRAM_APPLICATION => 'SQLAP',

            REQUEST_GROUP       => 'All_Payables',

            GROUP_APPLICATION   => 'SQLAP'

      );

=========================================================================

#Oracle Apps #EBS #Concurrent Request #Remove Concurrent Program from Request Group #Add Concurrent Program from Request Group #Request Group

#Add Concurrent Program to Request group without front end.

Tuesday, 11 July 2023

EBS : API To Delete Concurrent Program and Executable in Oracle Apps (R12)

API To Delete Concurrent Program and Executable from Backend in Oracle Apps


---API : How to Delete Concurrent Program Executable From Backend 
DECLARE
   v_executable_short_name   VARCHAR2 (200);
   v_application             VARCHAR2 (200);
BEGIN
   v_executable_short_name := 'XX_SHORTNAME'; ---Short name 
   v_application           := 'Payables';
   apps.fnd_program.delete_executable (executable_short_name      => v_executable_short_name,
                                       application                => v_application
                                      );
   COMMIT;
END;
--API : How to Delete Concurrent Program AND Executable From Backend ---
begin
fnd_program.delete_program('TECHHARDS_SHORTNAME','APPLICATION');
fnd_program.delete_executable('TECHHARDS_EXE_NAME','APPLICATION');
COMMIT;
end; 

***********************************************************************************
#Oracle Apps #EBS #Concurrent Program #Executable 

#How to Delete Concurrent Program through API
#How to Delete Concurrent Program Executable through API
# Fnd_Concurrent_Requests

EBS : Trigger in Sales Order Line Interface in Oracle Apps

 How to write Trigger in Sales Order Line Interface


/* Formatted on 2023/07/11 10:22 (Formatter Plus v4.8.8) */
CREATE OR REPLACE TRIGGER apps.xxfah_iriso_default_lin_trig
   BEFORE INSERT
   ON "ONT"."OE_LINES_IFACE_ALL"
   FOR EACH ROW
DECLARE
   l_seg1          NUMBER;
   l_seg2          VARCHAR2 (50);
   l_seg3          VARCHAR2 (50);
   l_city          VARCHAR2 (50);
   l_hdr_context   VARCHAR2 (50);
   l_item_id       NUMBER;
   l_orgn_id       NUMBER;
   l_lin_context   VARCHAR2 (50);
   l_segment1      VARCHAR2 (50);
BEGIN
   IF :NEW.order_source_id = 10
   THEN
      IF INSERTING
      THEN
--BEGIN
         :NEW.calculate_price_flag := 'Y';
         :NEW.CONTEXT := 'XXTECHHARDS Domestic';

--:NEW.ship_from_org_id :=l_seg1;
         BEGIN
            UPDATE ont.oe_headers_iface_all a1
               SET a1.ship_from_org_id = :NEW.ship_from_org_id
             WHERE a1.orig_sys_document_ref = :NEW.orig_sys_document_ref
               AND order_source_id = 10;
         EXCEPTION
            WHEN OTHERS
            THEN
               fnd_file.put_line
                  (fnd_file.LOG,
                      'Error in XXTECHHARDS_IRISO_DEFAULT_LIN_TRIG trigger..wXXTECHHARDSe updating ont.Oe_headers_iface_all: a1.ship_from_org_id  '
                   || SQLERRM
                  );
         END;

--commit;
         BEGIN
            SELECT attribute11
              INTO l_seg2
              FROM po.po_requisition_headers_all
             WHERE TO_CHAR (requisition_header_id) =
                                                    :NEW.orig_sys_document_ref;
         EXCEPTION
            WHEN OTHERS
            THEN
               fnd_file.put_line (fnd_file.LOG,
                                  'Error in fetching l_seg2' || SQLERRM
                                 );
         END;

         BEGIN
            SELECT attribute10
              INTO l_seg3
              FROM po.po_requisition_headers_all
             WHERE TO_CHAR (requisition_header_id) =
                                                    :NEW.orig_sys_document_ref;
         EXCEPTION
            WHEN OTHERS
            THEN
               fnd_file.put_line (fnd_file.LOG,
                                  'Error in fetching l_seg3' || SQLERRM
                                 );
         END;

         BEGIN
            SELECT item_id
              INTO l_item_id
              FROM po.po_requisition_lines_all a1
             WHERE requisition_header_id = :NEW.orig_sys_document_ref
               AND ROWNUM = 1;
         EXCEPTION
            WHEN OTHERS
            THEN
               fnd_file.put_line (fnd_file.LOG,
                                  'Error in fetching l_item_id' || SQLERRM
                                 );
         END;

         :NEW.attribute18 := :NEW.ship_to_city;
      END IF;
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      fnd_file.put_line (fnd_file.LOG, 'Error in trigger ' || SQLERRM);
END;
/
EXIT

**********************************************************************************
#Oracle Apps #EBS #Trigger #PLSQL

#How to write trigger in Standard Interface Table

EBS : AR Interface Scripts in Oracle Apps (R12)

 AR Interface Scripts  in Oracle Apps (R12)



Some Important AR Interface Tables are :-

  • ra_interface_lines_all
  • ra_interface_distributions_all
  • ra_interface_errors_all

Standard Import Program Name :- Autoinvoice Import Program

Saturday, 1 July 2023

Java : Send Email from Java

Java Code to send email

package com;


import java.io.File;

import java.util.Date;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.DataSource;

import javax.activation.FileDataSource;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Multipart;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;


/********

* This class is used to utility that sends e-mail messages.

* @author TechHards

*******/

public class EmailSender {


    /*********

     * Sends an e-mail with attachments.

     * @param host address of the server

     * @param port port number of the server

     * @param userName email address used to send mails

     * @param password password of the email account

     * @param toAddress email address to send

     * @param subject title of the email

     * @param message content of the email

     * @param attachFiles an array of file paths

     * @throws AddressException

     * @throws MessagingException

     ********/

    public void sendEmail(String host, String port, String userName, String password,

            String toAddress, String subject, String message, String[] attachFiles)

                throws AddressException, MessagingException {

        // sets SMTP properties----

        Properties properties = new Properties();

        properties.put("mail.smtp.host", host);

        properties.put("mail.smtp.port", port);

        properties.put("mail.smtp.auth", "true");

        properties.put("mail.smtp.starttls.enable", "false");

        properties.put("mail.user", userName);

        properties.put("mail.password", password);


        // creates a new session with an authenticator

        Authenticator auth = new SMTPAuthenticator(userName, password);

        //Authenticator auth = new SMTPAuthenticator("finance", password);

        System.out.println("Authenticator reached"+password);

        

        Session session = Session.getInstance(properties, auth);


        // creates a new e-mail message

        MimeMessage msg = new MimeMessage(session);


        msg.setFrom(new InternetAddress(userName));

        InternetAddress[] toAddresses = {new InternetAddress(toAddress)};

        msg.setRecipients(Message.RecipientType.TO, toAddresses);

        msg.setSubject(subject);

        msg.setSentDate(new Date());


        // creates message part

        MimeBodyPart messageBodyPart = new MimeBodyPart();

        messageBodyPart.setContent(message, "text/html");


        // creates multi-part

        Multipart multipart = new MimeMultipart();

        multipart.addBodyPart(messageBodyPart);


        // adds attachments

        if (attachFiles != null && attachFiles.length > 0) {

            for (String filePath : attachFiles) {

                addAttachment_fnc(multipart, filePath);

            }

        }


        // sets the multi-part as e-mail's content

        msg.setContent(multipart);


        // sends the e-mail

        Transport.send(msg);


    }


    /******

     * You can add a file as an attachment to the email's content

     * @param p_multipart

     * @param p_filePath

     * @throws MessagingException

     *****/


    private void addAttachment_fnc(Multipart p_multipart, String p_filePath) throws MessagingException {

        MimeBodyPart l_attachPart = new MimeBodyPart();

        DataSource source = new FileDataSource(p_filePath);

        attachPart.setDataHandler(new DataHandler(source));

        attachPart.setFileName(new File(p_filePath).getName());


        p_multipart.addBodyPart(l_attachPart);

    }


    /**

     * This class is used to provides authentication information.

     * @author TechHards

     *

     */

    private class SMTPAuthenticator extends javax.mail.Authenticator {

        private String userName;

        private String password;


        public SMTPAuthenticator(String p_userName, String p_password) {

            this.userName = p_userName;

            this.password = p_password;

            System.out.println("#SMTPAuthenticator reached.User:"+p_userName);

            System.out.println("SMTPAuthenticator reached.pwd:"+p_password);

        }


        public PasswordAuthentication getPasswordAuthentication() {

        

        System.out.println("# PassAuthentication reached point");

            return new PasswordAuthentication(userName, password);

        }

    }

}

-----------------------------------------------------------------------------------------------------------------------------Call Java Program to send email

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

package com;


import javax.mail.MessagingException;

import javax.mail.internet.AddressException;

import com.EmailSender.*;

import com.EmailSender;

 

public class TechHardsEmailSender {

    public static void main(String[] args) throws AddressException, MessagingException {

        String host = "mailgate";

        String port = "25";

        String mailFrom = "techhards.admin@outlook.com";

        String mailTo = "ebs@dilmahtea.com";

        //#String mailTo = "techhards.admin@gmail.com";

        String password = "Engineer";

        String userName = "Engineer.admin";

        String subject = "News email";

        String bodyMessage = "<html><b>Hello</b><br/><i>This is an HTML email with an attachment</i></html>";

        

        EmailSender sender = new EmailSender();

        String[] fileAttachment = null ;//{"/tmp/a.pdf"};

        sender.sendEmail(host, port, mailFrom, password, mailTo, subject, bodyMessage, fileAttachment);       

    }

}




--###############################################################################---

#Java #Email Send 
#FNDLOAD #Oracle Apps #Migration Utility #.lct #.ldt #EBS
#How to send Email from java
#Use Java Code to Send Email
#Send email add attachment

FUSION: Purchasing Query

  1) ---------CPA to PO Amount---------- select poh.segment1, (select sum(nvl(cpol.quantity,1)* cpol.unit_price) from po_headers_all cpoh,po...