Arif's Profile
Agile Angel



PLM Enthusiast since 2011. Like Developing extensions,utilities,scripts and provide Configuration and Support on PC,PPM, PG&C, PQM,PCM. Connect with me on LinkedIn @
Title Agile PLM Technical Consultant
Company Company Not Entered
Agile Version 9.3.5, 9.3.3 , 9.3.4,9.3.2
  • Agree with Kevin here, OOTB Import doesn’t support appending values and writing a Macro by concatenating existing values with expected values will do the work. 

    Also, you can develop simple SDK based utility to read the excel file and append the values to Agile Object. Which you can reuse in future as well. Let me know if you need any help with that.

    • 2 answers
    • 0 votes
  • You are implying that existing PXs are configured without loggers or SOPs or you need additional logging apart from log4j. If the later to be true then i suggest going to
    Administration >> Logging Configuration and see if you can use additional logging option.  Note, these settings gives you logs based on the Jars on Core-APIs not sure how much they will help you on custom PX.

    • 3 answers
    • 0 votes
  • Hi Sai,

    What kind of PX you are writing.  You can use log4j to generate logs as per your wish. Sharing a quick snippet from my code.  You can place it before your  ActionResult method and test.

    public static Logger logger = null;

    static {
    try {

    InputStream ins = YourJavaClassName.class .getResourceAsStream(“/properties/Log4j_MyPX.xml”);

                new DOMConfigurator().doConfigure(ins, LogManager.getLoggerRepository());
              logger = Logger.getLogger(YourJavaClassName.class);


    • 3 answers
    • 0 votes
  • Hi Kaustabh,

    I don’t think there is one such procedure or utility to depict the relationship in Agile schema as such.  However there are many more threads in our community containing queries for key data from Agile. You can review them and use it as per convenience.

    I suggest you to go through the below post to start off then there are other specific queries that you can utilize.

    • 2 answers
    • 0 votes
  • Agile Angel Asked on December 26, 2018 in Product Collaboration.

    Hi Sandeep,

    This might sound a bit basic but can you cross verify few things:

    1.  Verify your Event class name entry in file –>  META-INF/services/com.agile.px.IEventAction file.
    2. If you are running a clustered environment, can you check if you have deployed the same version on extension folders of all the nodes.
    3.  At times i have faced similar issue in Java-client so what i do is i either login to one of my file server and try to launch Java-client there OR
    Clear temporary files form Java Control Panel and it works.


    • 3 answers
    • 0 votes
  • Agree with Steve here, faced similar situation. I have seen issue specifically with Manufacturer Parts and Manufacturer Page Two attributes when we upgraded to 9.3.5. We worked with Oracle to get a patch where the issue was fixed.

    So just double check your connection parameters and AgileAPI you have configured in your sdk project with server.

    • 3 answers
    • 0 votes
  • Agile Angel Asked on November 29, 2018 in IT and Networking.

    Hi Galactus3000,

    This is how i would suggest you to proceed. Please bear with me if some of the details seems elementary.  You can use this code and test it or google up sample code and integrate in your existing solutions be it PX or SDK based utilities.

    1. Step 1 : Open your Project you have setup in your IDE(in my case it is Eclipse) and add external jar in build path of your project. In my case i am using  “mail.jar”. 
    2. Scenario : Let’s say i have to sent a mail to my Change analyst after certain activity is completed in Agile.  Let’s say the mail id of my change analyst is

    // Making a call to my method sending mail by passing following parameters
    String msgBody=
    “<b> Please Note: </b> “+ “This is sample mail”;
    String msg  =
    “Demo Mail”;
    “You can enter your mail server detail here”; //e.g.
    “” //You can configure a mail id specific for the purpose. The last parameter i have set as blank which you can use to p

    //Calling My Sample Mail Method

    sendMail(mailServer, mailFrom, ““, msgSubject, msgBody, “”);

    //body of mail looks like this for me

        public static boolean sendMail(String mailServer, String from, String to, String title, String body,
                String fileAttachment) {

            // create some properties and get the default Session
            Properties props = new Properties();
            props.put(“”, mailServer);
            Session session = Session.getDefaultInstance(props, null);
            try {
                // create a message
                MimeMessage msg = new MimeMessage(session);
                msg.setFrom(new InternetAddress(from));
                InternetAddress[] address = { new InternetAddress(to) };
                msg.setRecipients(Message.RecipientType.TO, address);
                msg.setSentDate(new java.util.Date());
                // create and fill the first message part
                MimeBodyPart mbp1 = new MimeBodyPart();
                mbp1.setContent(body, “text/html”);
                // create and fill the second message part with attachment

                // create the Multipart and its parts to it
                Multipart mp = new MimeMultipart();

                // Test for file attachment = empty string
                if (!fileAttachment.equals(“”)) {
                    MimeBodyPart mbp2 = new MimeBodyPart();

                    DataSource source = new FileDataSource(fileAttachment);
                    mbp2.setDataHandler(new DataHandler(source));
                    String value = “”;// remove directory from file name
                    value = fileAttachment.substring(3);


                // add the Multipart to the message
                // send the message
            } catch (MessagingException mex) {
                Exception ex = null;
                if ((ex = mex.getNextException()) != null) {
                } // end if
                // err_flag = true;
            } // end try catch
            return true;




    This answer accepted by Galactus3000. on November 29, 2018 Earned 15 points.

    • 2 answers
    • 0 votes
  • Agile Angel Asked on November 28, 2018 in IT and Networking.

    Agree with Steve here. You can build a sdk based utility and use generic mail apis to configure such notification.

    This answer accepted by Galactus3000. on November 29, 2018 Earned 15 points.

    • 3 answers
    • 0 votes
  • Agile Angel Asked on November 26, 2018 in Other APIs.


    A part of this is possible but not advisable. If something breaks in the process then Oracle won’t support your there. Creation of any kind of objects starting from Item to Change and others require data manipulation in multiple tables so not a safe approach.

    Coming to update part, It is possible and i personally have done it quite a few times. To proceed with that you need to test it thoroughly in your non-prod environment. To state a few updates i tried as test is Page-Two,Page-Three  values, status change, User group name changes etc, they worked fine. At times they require a bit of time to reflect on front-end after you update them from back-end. Still i try to avoid this from back-end unless i have no choice.

    So for Create personally Not Advisable, for Update proceed with caution is what i can suggest.


    • 4 answers
    • 0 votes
  • Agile Angel Asked on November 26, 2018 in Software Development Kit (API).

    Hi Raju,

    I see a similar question asked by you on BOM Nth level data which few of the folks responded in the below thread

    Can you let us know the exact issue you are facing while using the existing query with the new conditions you shared. Your requirement seems specific to particular list values of items across level. So along with items you can join the P2 value and define your where-used condition. Should be simple to achieve. Let us know if you try and get stuck.


    • 1 answers
    • 0 votes