Sunday, August 16, 2020

Determine Metasolv Rules and Behaviors executed on a Metasolv Order

PROBLEM


In Oracle MetaSolv (M6) Rules and Behaviors function is one of the 'out of the box' way to control and manage business rules for a client. However, sometimes its really required to understand which Rules and Behaviors are associated with a specific order at certain process points like while assigning a Provisioning Plan. During one of the testing for one of our key projects, we encountered a problem where a Rule was deleting a task on a new order for a customer and when the scenario for a change order flowed from upstream M6 encountered with Oracle Metasolv API errors.


Caused by: com.metasolv.common.MSLVXMLApiException: Exception Thrown Supplementing Order 19368***.
Message: null
........98 more
Caused by: java.lang.NullPointerException
at com.mslv.core.api.external.WM.processData.PopulateGatewayEvent.insertGWEvent(PopulateGatewayEvent.java:466)
at com.mslv.core.api.external.WM.processData.PopulateGatewayEvent.insertInfo(PopulateGatewayEvent.java:420)
at com.mslv.core.api.external.WM.processData.SaveTaskLogic.saveTasksExisting(SaveTaskLogic.java:253)
at com.mslv.core.api.external.WM.processData.TaskMaintainLogic.runRules(TaskMaintainLogic.java:118)
at com.metasolv.impl.logic.order.OrderBusObj.runRules(OrderBusObj.java:678)
at com.metasolv.impl.logic.order.OrderBusObj.processSupp(OrderBusObj.java:286)
at com.metasolv.impl.logic.order.OrderBusObj.processSupp(OrderBusObj.java:234)
at com.metasolv.impl.logic.order.OrderBusObj.processSupp(OrderBusObj.java:177)
at com.metasolv.ejb.order.PSROrderManagerEJB.processSuppOrder(PSROrderManagerEJB.java:334)



CAUSE


During troubleshooting, we figured it was rules and behaviors that were causing this problem. 
The Metasolv supplement API is reading the GATEWAY_EVENT_PLAN_TASK table for PLAN_ID and was trying to insert the gateway events for a certain task 'XYZ' which was deleted while assigning provisioning plan due to a new rule and behavior that we added. 

This is a bug in M6.2.1b1226 and needs Oracle Patch.

In such scenarios to find out the right rules and behaviors is a critical step in order to fix the issue.

The ASAP.SP_RULES procedure is leveraged to identify the Rules and Behaviors at the time of Provisioning Plans assignment to M6 order.

SOLUTION


1. Connect to Metasolv DB using any DB software tool and be ready with Metasolv Order Number

2. Based on the document Number find out the provisioning plan id.


select PLAN_ID from svcreq_provplan where document_number=”M6 Order Number”

3.  Use the M6 Order Number from step 1 as DOC_NUM and PLAN_ID from step 2 as PROV_PLAN_ID in the following PLSQL block. For PROCESS_POINT use 1 for the ‘Task Generation’ process and execute the block.


declare
  doc_num number;
  prov_plan_id number;
  process_point number;
  event_output varchar2(200);
  result number;
  error_text varchar2(200);

begin

  doc_num := “m6 order number”;
  prov_plan_id := “plan_id”;
  process_point := 1;
  asap.sp_rules ( doc_num, prov_plan_id, process_point, event_output, result, error_text );
  dbms_output.put_line( event_output);
  commit;
end;

4. The e_process_point_type table contains the definitions for the various process points MetaSolv supports. 
Process point 1 will be triggered as noted in the table at "Task Generation" and for "Initial provisioning plan assignment to a service request" and process point 121 Process Supplement and 122 Proc Supp and Task Generation.

5.  In the DBMS OUTPUT, you may notice the string as below. Below one is a sample of how the output would look like.


      214^*232^*360^*370^*404^*428^*440^*4540



6.  Use all the event Ids (214,232,360,370,404,428,440,454) from output of step 4 in event table to query about rules.


select  asap.event.event_name as "Rule",
asap.event.event_description as "Description",
asap.event.rule_active_ind
from    asap.event
where   asap.event.rule_active_ind='Y'
and     asap.event.event_id in (?)
order by asap.event.event_name;

Hope this article helps you find out the rules triggered for the M6 order and helps in further debugging. Please leave your feedback or query.

Saturday, June 20, 2020

How did I crack PMP in the first attempt

[Long post alert] In case you are not able to read through the entire post, you can directly go to the last section of the key takeaways.
[Fun post alert] It's really fun to read this experience. I personally believe that journey is more fun than the destination.

I decided to go for PMP in 1st week of March 2020. I was out of touch with regular study for a long time so it was going to be a step by step journey for me. Initially like every other aspirant I was not sure how to proceed and it was not only about study I learned about the application process and contact hours. So this is how I went ahead.

1. Decision


During March 1st week I had this in mind that I need to clear this exam before June as the 6th edition was going to expire in June 2020 and from July 2020 PMI was changing the exam pattern so I had to do it before June. I did not have much time. However later due to COVID-19, this date was extended until Dec 2020 and as of today June 20, 2020, it is the same

2. Kick-off 


During 2nd week of March, I got to know about contact hours (35 hours of study is must for PMP application) and initially, I did not know that those are subjected to an audit, fortunately, I had access to Percipio application (thanks to my employer that it has tie-up with it) and it has 40 hours of PMBOK 6 videos and 15+ hours of boot camp replay videos for which it also gives certificate(that is good enough for audit clearance). So I started watching the videos and at the end of each video, there was an exam of 9-12 questions which I comfortably passed and I watched videos like 2 hours per day. Usually, it takes a little more time than video length as I kept preparing notes as below. It took almost 2 -3 weeks watching all these videos and completing 40 + contact hours. The extra sketching credit goes to my 2-year-old daughter.




 3. Submitting the application


Once after I was done with contact hours I decided to fill the application and submitted that. It almost took 4-5 days before I was notified that I can finally book the exam. Almost at the end of March, I booked the exam for 13th June 2020 thinking that booking the exam will expedite my preparation. Please note once finishing the contact hours of study I took a week break as I was not sure when will the application be approved so I did not study that week's time so up until March I just finished some 40 - 50 hours of study.

4. Getting equipped


After booking my exam I did not have a clue how to go next. So I decided to do a lot of youtube, google, and finally decided to start the PMBOK 6 guide. I would go through PMBOK 6 Part 1 Chapter 1 to 13. Because I was studying after a long time something so theoretical so it was quite uninteresting initially for me. I would start daydreaming looking at the book for minutes before I recollect myself but I thought let's finish it, take-home might be very low but still, finish it. Also to make things interesting I decided to use different color pens, markers, sticky notes.


5. Notes


During reading PMBOK 6 I was also preparing notes. Here I was studying 1 chapter in 3-4 days.





 6. Twists:


I also booked 3 Oracle Cloud Infrastructure Exam and 1 Scrum Master exam during PMP preparation to make PMP preparation more interesting. Now the schedule looks like below for all the exams.


Certifications
Date
Oracle Cloud Infrastructure Foundations 2020 Certified Associate
4/16/2020
Oracle Cloud Infrastructure 2019 Architect Associate
5/14/2020
Oracle Cloud Infrastructure 2019 Certified Architect Professional
5/15/2020
SAFe Scrum Master
5/19/2020
PMP
6/13/2020

7. Calendar


I wanted to plan my study and usually, I am happy if I can execute 50% of what I planned so that's when I drafted a calendar at the end of March. Initially, I started putting green ticks if I was happy with my study but that worked only for 3 days. Green ticks in boxes refer to some successful milestone and dense green box on May 14th when I cleared my top 2 Oracle Cloud Exams. I want to make it clear here during 5/11- 5/19 I barely studied for PMP as I was in a week training and then preparing for the Scrum Master exam on 5/19 which I passed as well.



 8.  Practice Tests


Up until now, I was already done with PMBOK 6 once so I decided to go for practice tests. I used the below book (Thanks to Percipio again).

PMP Exam Prep: Questions, Answers, & Explanations, 2018 Edition
By: Christopher Scordo 

It had 50 questions each practice test with an answer immediately below with a total of 18 practice tests.

Though the tests were very good I did not like the test pattern where once you attempt a question and its answer/explanation is immediately below question you end up wasting a lot of time unlikely in the exam where you keep attempting.

it is during the 1st week of April I was giving 1 mock test every day mostly that's it for my PMP study for coming many days.




 8. Making Study more interesting/ wasting time


Now I have cleared the OCI foundation exam on April 15th and focusing back on PMP again it started becoming uninteresting so I used some techniques. Because I do know about excel a bit and wanted to play around it for ITTOs I created lots of notes and excel/pivot graphs just to keep myself engaged for the next few days until I go for the next cloud exam. In parallel, I was also studying for the next cloud exam.








9. Close look of Notes(from the wall & the file)


Process Chart with main outputs





Tools and Techniques

Data Representation



 Interpersonal and team skills






Data Gathering



Data Analysis



Ungrouped ITTOs

 Formula sheet




Output subsidiary plans/ Project documents







Input Subsidiary plans/ Project documents








10.  1st Mock (2nd May 2020- Failed :-(  with 63%)


As per the calendar, I was to appear for the 1st Mock exam which was on May 2nd. I woke up at 4 in the morning that day and sat for the exam in the next 15 minutes that's when I realized 4 hours exam also checks how psychologically prepared you are because after 1 hour you start losing your focus and start daydreaming about thousands of things. Again this was Percipio. Just to let everyone know all the Mocks I attempted had 200 questions just like the PMP exam.


11. Study kept on


After failing 1st Mock I decided to focus on a few chapters where I did not do well before my 2nd Mock so I was trying to study 1 chapter in 2 days.

12. 2nd Mock (10th May 2020- Failed :-( 66%)


Until now I have covered PMBOK 6 once completely and few chapters like Quality, resource, Cost 2nd time.

The Score improved but still failed. It was a free online exam with a 'PM exam coach'.



13.  No study days ( May 11 to May 19) 


As mentioned above this was training time and other 3 certificates 2 top cloud certificates and 1 scrum master certificate I passed successfully. I would just like to add though there was no study towards the PMP my morale was very high as achieving 3 certificates was not an easy journey with ongoing training. Just to mention one of my training was the European time zone and the other one was Eastern. On May 13 I was on both the training's consequently with an early morning on May 14  OCI architect exam at 4 AM and OCI architect professional exam at 11:15 PM the same late night on May 14.

Difficult to imagine how happy was I when I cleared Architect professional exam as it was more than 25 hours I did not sleep and constantly studying and at 1 point I was thinking not to give OCI Architect Professional exam just before few hours of the exam.

Then I prepared for the SAFe Scrum Master exam for the next few days and passed that too on 5/19.

14. Few weeks left for PMP exam


Now I am with high morale came back to restart PMP preparation after 10 days of a break on May 20. I again started reading PMBOK 6 and prepare for the next mock on 5/27. Please note this was not originally planned as they say in PMP it was progressive elaboration/rolling wave planning. I gave myself 7 days for the next mock.

Before May 20  I completed some 9/18 practice tests of

PMP Exam Prep: Questions, Answers, & Explanations, 2018 Edition
By: Christopher Scordo 


I picked up rest 9 practice tests and finished in the next 3-4 days and kept reading PMBOK 6.



15. 3rd Mock (27th May 2020- Passed :-) 71.5%)



By the time I am writing this 'greycampus' has changed its website drastically so I could not take its result's screenshot.

As usual, I woke up at 4 AM and now able to better manage my time of the exam. Finished this exam with little to no difficulty in managing time.




16. More study


I have given 3 Mocks and now decided to go for 1 more Mock on May 31st. By now I have completed PMBOK 6 once and few chapters like quality, cost, resources, stakeholders twice, and almost 2000+ questions including 1800 from Christopher Scordo and a few of them from Percipio.

I am also attempting as many questions online as I can because I am still not interested in studying chapters of PMBOK. I have back in my mind that I need to study Rita Mulcahy as well. Not sure as I will be able to start it as of now (later you will figure that I could never do that).

I was attempting 21 questions of the exam from the below website.

https://openpm.org/course/free-pmp-exams/

By now 1 thing was clear that most of the Mock questions are prepared as is from PMBOK 6 guide. So if you have read PMBOK 6 you can definitely attempt.

I more thing which I want to highlight that I have been also highlighting PMBOK 6 guide for all wrong answers in the Mock exams. Which I tried to revise every now and then.

I want to point out an important thing that in few mocks I saw certain words which I thought are out of PMBOK 6 guide but when I reviewed I realized I made a note of those in my notes and now I was surprised as I have gone through those terms but no recollection in memory so I know that I have to revise my notes (originally came from PMBOK 6 only) as well.

17. 4th Mock (31st May 2020- Passed :-) 77%)


By now I was able to handle the stress of the 4-hour factor of the exam. I can now focus on the exam with a little daydreaming but now have a plan of 50 questions each hour. I finished this exam for 3.5 hours.

Similarly woke up at 4 AM attempting my 4th Mock at

https://www.simplilearn.com/pmp-exam-prep-free-practice-test

got 157/200.

Huge morale boost.

One thing to note I realized this exam was simpler than previous exams.


18. 5th Mock ( 3rd June 2020- Disaster)


I did not tell you up until now but I got this Mock Test with my PMI membership.

I wanted to use this just 10 days before the actual exam so that I have enough time to correct my mistakes and I am close to my final preparation as well.

As usual, I woke up at 4 AM and sat for the exam. As I mentioned for such pattern type earlier this exam was showing the answers after attempting each question which does not work for mocks type test. But I still kept on for 2 hours attempting some 60 questions. This was the most difficult exam up until now. I left it there attempted again in the evening rest of the questions.

Believe me, this was the most difficult exam and that too you immediately know your answers so kills your morale as well.

However, I was still able to score 60% in the exam God only knows how!! It was at this time that I got really nervous about whether I will be able to make it or not. Because this exam was more of situational based questions unlike other previous Mock exams so I was doing very bad at it. So I know now that situational questions are my weakness and I have to work on it next 9 days as well as revise the PMBOK 6 again. Next 2 days I revised the same mock exam and prepared myself for situational questions based on its answers.

Below is my score of 2nd attempt for the same mock after revision and even after knowing all the answers I could not score even 90%.


19.  Final Week best 3 days (June 6 - June 8) 


This was the final week and I decided to first quit my mobile phone for the rest of the week and I did that successfully except a couple really important instances.

On June 6  revised Chapter 4 Integration - Chapter 7 Cost

On June 7 revised Chapter 8 Quality - Chapter 10 Communication

On  June 8 revised Chapter 11 Risk - Chapter 13 Stakeholder

Now 4 days left I decided to go for another Mock as last mock was a disaster. Now I had to find a mock exam online but I got a good one.

20.  6th Mock (9th June 2020 - Passed :-) 72%)


For the first time, I appeared for the mock in the evening and this was a very good mock test that had everything (situational + ITTOs + numerical) in proportion. I was able to complete the mock in time with 72% score.



This was definitely a booster as I was thinking now that I can do it.

21. Last few days ( June 10 - June 12)


I did not give any full mock during this period but I did give another 100 question exam of 2 hours that was from

https://www.oliverlehmann.com/pmp-self-test/100-free-questions.htm#testbegin

I did Ok in the exam and now the next 2 days I just have to prepare from my notes and PMBOK 6 Highlights however I still like to attempt more questions but I chose to revise rather questions.

22. The Final Day of the exam (13th June)


I woke up at 4 AM like usual started revising and but deep down I am thinking I was at the verge where I passed mostly making it up around 70-72% which can go either side in the exam meaning can go below 70 or above 70 but surety is not there. Anyways I decided to go with light lunch 1 avocado and 1.5 - 2  bowl of yogurt. I drove to the center they explained to me if you want you can take a break or can continue due to a new provision in the exam in 2 parts where you can not review questions of 1st part after the break. I was still confused about this process so I decided I would not take any break however when 127 minutes left review screen popped up so I thought let's review it and to continue I reviewed 2-3 questions then tried to resume the exam but it was constantly saying if you go to the exam you can't review it again so in this confusion I lost 11 minutes. I called for help and they suggested taking a break however I did not review except those 3 questions even-though I marked many. By this time I was done 89 questions.

I still have 111 questions with 118 minutes left.

I kept marking questions for review in the 2nd half too but finally could not review a single question however I attempted 200 questions and when the last 10 seconds left I submitted my exam without review.

After submitting the questions hurriedly I missed seeing my result so again asked for help and they handed over me below sheet.







23. Key Takeaways



  1. 2 months of study is enough time for a full-time employee.
  2. Take out 4 hours of study every day, it might boil down to effectively 30 minutes of study or may be as effective as 4 hours of study.
  3. First thing before you start the study for the day, give 5 minutes for planning - ask these questions to your self: what did I do yesterday and what would I do today? I used to call it daily standup, my wife acted as a scrum master asking those questions to me.
  4. Do the retrospection frequently, why you could not achieve what you planned, or what could you do better. I clubbed this together with the daily standup.
  5. Studying PMBOK 6 is sufficient.
  6. Try to write notes and draw pictures and flow charts as notes, pictures, flow charts are an easy way to recollect what you already read during the exam and make sure you keep looking at them very often which will imprint their images in your mind. 
  7. Go for as many practice questions as you can including situational, ITTOs.
  8. Revise your notes.
  9. Just a recommendation as it helped me I guess, quit your mobile for a week before the exam, for me I am sure it saved a lot of time and energy and focus. 
  10. Lastly, I just want to say this is just an exam you may pass or not pass but beyond that what matters is that you tried, this whole process of preparation should not boil down only to the result but it's the journey that is the most important thing. During preparing for the PMP you are bringing in a change (it might be ethical, behavioral, or discipline wise) in yourself so it's more than earning a certificate, you may or may not get the certificate in the first attempt but let the change be there that is good for you.



Friday, August 25, 2017

ASR NO field is not auto-populated on Manual ASRs

PROBLEM


ASR NO field is not auto-populated on Manual ASRs post ASR 53 upgrade.




CAUSE


Beginning with ASR 53 ,the code which used to auto-populate the ASR NO field for SENT orders has been removed.

If the CCNA and ICSC selected to generate the ASR order results in SENT order the ASR number will not be auto generated. However, if CCNA and ICSC are selected so as it generates RECEIVED order the ASR number will be auto populated on ASR order.

SOLUTION


To fix the problem, it is really required to understand the cause of the problem.

Let’s see what SENT and RECEIVED orders are.

For that look closely at CCNA and ICSC fields. So I created 2 CCNAs(1 as an owner and other as not) and 2 ICSCs(1 as an owner and other as not).


Create Access Customer


Login to M6 GUI and go to find links and search for Access Customer and click 'Add New'.

1. Create an Access Customer with "MetaSolv Solution Owner" checked.


2. Create an Access Customer with "MetaSolv Solution Owner" not checked.




Create ICSC


Login to M6 GUI and go to find links and search for ICSC and click 'Add New'.

1. Create an ICSC with "MetaSolv Solution Owner" checked.



2. Create an ICSC with "MetaSolv Solution Owner" not checked.



While creating CCNA and ICSC on the M6 GUI an indicator check ‘MetaSolv Solution Owner’ plays an important role.

Now lets create ASRs to see the ASR NO field is being populated or not.

Create SENT Order ASR


Go to Find Links and search for Service Requests and click 'Add New' and then select Access Service Request. 
ASR order should be created using CCNA which has ‘MetaSolv Solution Owner’ checked and ICSC which does not have ‘MetaSolv Solution Owner’ checked. 


The SENT order will not have ASR NO field auto-populated.


The RECEIVED order can also be verified from M6 database from SERV_REQ table in the SENT_RECV_CD column as below. Value 'R' is stored for RECEIVED orders.



Note: Please note ICSC value depends on CCNA value just have a close look what ICSC values you get while selecting CCNA. If CCNA is “owned” ICSC will automatically be “not owned” and vice versa.


Create RECEIVED order ASR


Go to Find Links and search for Service Requests and click 'Add New' and then select Access Service Request. 
ASR order should have CCNA of customer which is not the ‘MetaSolv Solution Owner’ so the CCNA should not have it checked.
The ICSC value will be picked accordingly. 


For RECEIVED orders the ASR NO field will be auto-populated.



The RECEIVED order can also be verified from M6 database from SERV_REQ table in the SENT_RECV_CD column as below. Value 'R' is stored for RECEIVED orders.


Hope this helps in understanding why ASR NO field is not populated on the ASR order.Please leave your feedback or query.

Sunday, August 28, 2016

ASR installation for Metasolv 6.2.x

As mentioned in earlier posts our Metasolv installation is clustered so we will do ASR installation in clustered environment.

Pre Installation checklist


Metasolv 6.2.x is installed.

below paths are set as per your directory structure.

PATH= BEA_Home/jdk_version/bin $PATH
BEA_HOME=/opt/app/mss_home/bea(installation directory of Oracle Weblogic 10.3 server)
JAVA_HOME=/opt/app/mss_home/bea/jdk_version

Installation of ASR


STEP 1. 


From Metasolv installation directory mss_home run the following command.

java -jar Asr.releaseNo.buildNo_M62.jar

for version 53 it should be java -jar Asr.R53_0_0.b23_M62.jar


STEP 2.


The above java command will ask to choose Metasolv Home directory, a directory asr53installer(asr+version+installer) will be created in the selected directory.


It will automatically invoke setup.sh/setup.cmd in mss_home/asr53installer directory.

STEP 3.


Click Next.

STEP 4.


Enter the path and name of the MetaSolv Home directory, MetaSolv Domain directory, and MetaSolv Server directory or click Open to search for the directories.


STEP 5.


Click Next.


STEP 6.


Select any one of the following installation types:


  •  Install all ASR Files
  •  Install Only ASR EAR File




For a clustered environment, you can choose an option to extract the .EAR file only

For a non-clustered environment, choose the option to install and deploy all files.


STEP 7.


Click Next.


STEP 8.


Click Finish.

STEP 9. 


For a clustered environment.

  1. Locate the loggingconfig_cluster-ASR53.xml file located in the mss_home/managedserver/appserver/config directory, where managedserver is the WebLogic managed server. 
Add the following snippet in appender element for ASR 53.


  <appender name="XMLFileAppASR53" class="org.apache.log4j.RollingFileAppender">
      <param name="ImmediateFlush" value="true"/>
      <param name="append" value="true"/>
      <param name="MaxFileSize" value="10000KB"/>
      <param name="MaxBackupIndex" value="10"/>
      <param name="File" value="${mslv.log.dir}/appserverlog_ASR53.xml"/>
      <layout class="com.metasolv.common.framework.logging.api.log4jext.xml.MSLVXMLLayout">
      </layout>
  </appender>

  <appender name="AuditFileAppASR53" class="org.apache.log4j.RollingFileAppender">
      <param name="ImmediateFlush" value="true"/>
      <param name="append" value="true"/>
      <param name="MaxFileSize" value="10000KB"/>
      <param name="MaxBackupIndex" value="10"/>
      <param name="File" value="${mslv.log.dir}/appserver_auditlog_ASR53.xml"/>
      <layout class="com.metasolv.common.framework.logging.api.log4jext.xml.MSLVXMLLayout">
      </layout>
  </appender>


Add the following snippet in category element for ASR 53.

  <category name="cmm.ASR" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileAppASR53"/>
  </category>

  <category name="ASR" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="debug" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileAppASR53"/>
  </category>

  <category name="cmm.SecurityASR" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="debug" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="AuditFileAppASR53"/>
  </category>

   
      2. Rename the file to loggingconfig_cluster-ASR53.xml.

STEP 10.


 RUN the ASR installation in each managed server instance.

STEP 11.


 Restart managed servers.

STEP 12.


RUN prodfixsql/procs sqls.

  1. Run pfixSQL_Master.sql file located in the mss_Home/server/appserver/sql/ASR53/prodfixsql. This sql will call rest of sql files located in same directory.
  2. Run the asr_master.sql file located in the mss_Home/server/appserver/sql/ASR53/procs directory that was created during the installation to apply the contents of the ASR procs directory to the database.


STEP 13.

  1. Undeploy existing ASRversion.ear from application servers
  2. Deploy ASRnewVersion.ear(cluster-ASR53.ear for clustered env) on application servers from admin console.
Changes done in STEP 9 will help in avoiding error while deployment.

“log4j: ERROR Attempted to append to closed appender named [XMLFileApp”

STEP 14.

Modify the gateway.ini , add below entry.

ASR53SERVER=MetaSolv.CORBA.WDIASR53.WDIROOT,MetaSolv.WDIASR53.WDIRootImpl

comment out similar entry for earlier version by placing a semi-colon in front of the entry.

;ASR52SERVER=MetaSolv.CORBA.WDIASR52.WDIROOT,MetaSolv.WDIASR52.WDIRootImpl


I hope this will help installing ASR newer upcoming versions, I will also try to post further the post ASR installation customization (e.g. generate java files from new IDL ASR files) for ASR new versions, please leave your feedback or query.

Saturday, August 27, 2016

Internal Compiler Error - NullPointerException in ReferenceBinding.binarySearch(ReferenceBinding.java:108)

PROBLEM


While compiling java code in Weblogic workshop 10.3(eclipse_3.3.2) encountered below error.

Internal Compiler Error-NPE in ReferenceBinding.binarySearch(ReferenceBinding.java:108)



Internal compiler error
java.lang.NullPointerException
at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.binarySearch(ReferenceBinding.java:108)
at org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.getMethods(ParameterizedTypeBinding.java:542)
at org.eclipse.jdt.internal.compiler.lookup.Scope.findMethod(Scope.java:1069)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:2072)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:428)
at org.eclipse.jdt.internal.compiler.ast.CastExpression.resolveType(CastExpression.java:459)
at org.eclipse.jdt.internal.compiler.ast.Assignment.resolveType(Assignment.java:185)
at org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:907)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:100)
at org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:233)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:428)
at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:195)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:400)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1085)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1164)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:366)
at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:626)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:392)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:362)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:174)
at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:299)
at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:59)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:269)
at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:172)
at com.bea.wstudio.javabuilderx.JavaBuilderX.build(JavaBuilderX.java:66)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:247)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:214)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:353)
at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:494)
at org.eclipse.core.internal.resources.Project.build(Project.java:76)
at org.eclipse.ui.actions.BuildAction.invokeOperation(BuildAction.java:195)
at org.eclipse.ui.actions.WorkspaceAction.execute(WorkspaceAction.java:141)
at org.eclipse.ui.actions.WorkspaceAction$1.runInWorkspace(WorkspaceAction.java:460)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)



CAUSE


During the Weblogic server installation process we apply multiple Weblogic patches and those need to be cleaned and activated.


SOLUTION


After applying Weblogic patches using smart update, we have to activate those patches and that we can do via below command.

Go to workshop folder in bea home directory(Oracle Weblogic installation directory) and then workshop_10.3 folder and run the command as below.

workshop.exe -clean -initialize


Hope this helps in resolving famous internal compiler error in you weblogic workshop or eclipse, Please leave your feedback or query.

Sunday, May 15, 2016

Metasolv Service Requests PSR, LSR, ASR, ISR explained

Service Requests in Metasolv


Before proceeding with Service Requests quickly understand LATA, LEC and IXC.


LATA(Local Access Transport Area)


A Local Access Transport Area (LATA) is a geographic area served by particular operating companies.
An IntraLATA call is a call made within a LATA.
An InterLATA call is a call made from one LATA to another


LECS AND IXCS

The local phone companies or Local Exchange Carriers (LECs) provide IntraLATA services.
The long distance phone companies or Interexchange Carriers (IXCs) provide InterLATA services.
Refer diagram above.

Now coming back to Service Requests.
Service Requests are the orders that a company receives for products or services. If a company needs a circuit, the company must use a service request to order it. If a company needs a piece of equipment, again it must submit a service request to order it.

Metasolv has following 4 types of service requests

  1. Product Service Request (PSR)
  2. Local Service Request (LSR)
  3. Access Service Request (ASR)
  4. Internal Service Request (ISR)

     Lets have a look at each one of them.

PRODUCT SERVICE REQUEST (PSR)


A product service request (PSR) supports requests for products from end users.
Some examples of products ordered include:

Basic residential service
Dedicated lines
ISDN Basic Rate Interface (BRI)

End users place orders with their providers.


In the above example, 'Customer A' needs a private line to the 'Customer C'. Since both companies use the same local service provider, this scenario requires only one order.
CLEC receives the PSR for a dedicated line between 'Customer A' and 'Customer C'.


LOCAL SERVICE REQUEST(LSR)



A local service request (LSR) handles requests from local service providers for unbundled elements or resale services from the ILECs(Incumbent Local Exchange Carriers).
LSRs and Access Service Request (ASRs) are the two types of orders that are regulated. A regulated
order has to pass standards set by the Ordering and Billing Forum (OBF), which was created to
standardize orders so that all companies utilize the same elements when they submit a service request.


In this example, CLEC Telecom, a new local service provider, wants to provide local service to the XYZ area, which is currently being served by ABC-ILEC.
Before providing service to its end user customers, CLEC Telecom must purchase access to local loops and network interface devices.
The CLEC will attain all the unbundled elements. To accomplish this, it must send an LSR to the ILEC for the purchase of the unbundled elements in the XYZ area.

PURPOSE OF AN LSR


You can use a local service request to order any of the following:
Local loop
Network Interface Device (NID)
Signaling and call-related database
Local and tandem switch access
Operator and directory assistance



ACCESS SERVICE REQUEST(ASR)


An access service request (ASR) is an order for terminating an access connection to a telephony network.

There are two main types of ASRs:
Special Access ASR—For dedicated line telephone network entities (end user to ACTL or CO).
Switched Access ASR—For trunks between network locations, ACTLs, Tandems, and COs.


SWITCHED ACCESS ASR

In the following example, a new LSP (CLEC Telecom) will begin serving customers in the area currently being served by ABC-ILEC.

Before providing local service, CLEC Telecom must complete the ASR for trunks connecting the switching equipment between the two LECs.


In the above example of a Switched Access ASR, an IXC called New IXC wants to sell long distance services to customers being served by CLEC Telecom.
First, New IXC must complete a switched access ASR for trunks between New IXC and CLEC Telecom.

SPECIAL ACCESS ASR

Parent/Child Relationship

A special access ASR is an order for dedicated line telephone network entities such as end user to
ACTLs or COs.


In this example, CustomerA orders a dedicated 56K line to the CustomerB in location B.
Since the two locations are not in the same LATA, the PSR for the private line generates two child
orders:

  • One ASR to CLEC A for special access from CustomerA location to CLEC A ACTL(CO) in location A.
  • Another ASR for special access to CLEC B from CustomerB's location to the CLEC B ACTL(CO).




INTERNAL SERVICE REQUEST


An internal service request (ISR) is simply that, an internal (within your own company) service
request. An ISR is the fastest and easiest order that you can place in the MetaSolv Solution.


Because ISRs are not validated against OBF guidelines, the MetaSolv Solution order-entry process for ISRs is very flexible. ISRs are often submitted as child orders to parent ASRs or PSRs.
Companies create ISRs to document inventory and to provision their own circuits. They use ISRs to
communicate to field personnel which equipment to assign to a circuit.
Also, some companies use ISRs as a standard to build all facility circuits.
Here are the types of circuits associated with an ISR:
Facility circuits
Trunks
Special (for non-ordered circuits that are not facility circuits)
Broadband (for ATM or frame relay, each of which require a facility circuit)

I hope I was able to explain the Metasolv Service Requests, please leave your feedback or query.