Friday, December 31, 2010

Registering Disco Workbook in Apps R12


1) Create the workbook

2) Open the workbook in the Discoverer Desktop or Plus edition and go to
'File->Manage Workbooks->Properties' look for the value for 'Identifier'. Save this value.

3) Create a form function. The form function definition includes the properties listed in these tabs:

3.1 Description tab:
3.1.1 Function Name: XX_[FUNCTION_NAME] (it is accepted practice to identify customizations with an XX prefix)
3.1.2 User Function Name: This is the name that will show in the menu
3.1.3 Description: Add a description of the function if you want.

3.2 Properties tab:
3.2.1 Type : SSWA jsp function
3.2.2 Maintenance Mode Support: Leave as "None"
3.2.3 Context Dependence: Leave as "Responsibility"

3.3 Form tab:
3.3.1 Form: Leave the field blank.
3.3.2 Application: Leave the field blank.
3.3.3 Parameters: mode=DISCO&workbook=(workbook identifier from step2)&parameters=(Disco parameters name/values)

3.4 Web HTML tab:
3.4.1 HTML call : OracleOasis.jsp

3.5 Web Host tab:
3.5.1 Leave all fields blank.

3.6 Region tab:
3.6.1 Leave all fields blank.

3.7 Save the form.

4) Open the menu form as sysadmin.

4.1 Search for the main menu under which you want the link to appear.
4.2 Add the information you need such as prompt, submenu, description etc.
4.3 Enter into the Function field the name of the function you created in step 3.
4.4 Save the menu form.

A message will appear saying that a concurrent program will run to regenerate the menus.

5) Set below Profile options, if your End User Layer Name = EUL_US
ICX: Discoverer Default End User Layer Schema Prefix = EUL
ICX: Discoverer EDW End User Layer Schema Prefix = US

6) Bounce Apache and Forms.

Tuesday, December 28, 2010

A is for ALPHA, it’s really all Greek,

B is for BRAVO, “three cheers” so to speak,

C is for CHARLIE, a Drake with a smile,

D is for DELTA, the mouth of the Nile,

E is for ECHO, a Sonar type ping,

F is for FOXTROT, a dancing type thing,

G is for GOLF, played with Ball and with Club,

H is for HOTEL, a posh sort of club,

I is for INDIA, far, far away,

J is for JULIET, in Shakespeare’s play,

K is for KILO, a thousand to you,

L is for LIMA, and thats in Peru,

M is for MIKE, makes your voice “loud and clear”,

N is for NOVEMBER, quite late in the year,

O is for OSCAR, a Wilde sort of chap,

P is for PAPA, a backward ApAp,

Q is for QUEBEC, far over the sea,

R is for ROMEO, ‘neath balcony,

S is for SIERRA, a mountain in Spain,

T is for TANGO, and dancing again,

U is for UNIFORM, white, black or blue,

V is for VICTOR, the man who beat you,

W is for WHISKEY, which TT’s deride,

X is for XRAY, to see your inside,

Y is for YANKEE, a New England man,

Z is for ZULU, he’s black (or dark tan!).

Friday, December 24, 2010

Pune Goa Direction

I know I am writing very late but it is for any on who wants to take NH 4 passing by Satara, Kolhapur and on the way to Belgaum. The road is wide, a high way and you can easily go up to a speed of 120-150. And is a nice ride.
Follow the Satara Road, go past kolhapur and then from Shankreshwara take a right turn.You will have to go down underthe bridge to take the right turn.
The small road will take you Gadgilanj or soemthing like this.Then coems Amboli Ghat and after that Sawantwadi.
From Sawantwadi its straight to Goa in 1 hour.
The whole journy for me takes not more then 8 to 10 hours driving with a speed of 100-120 on the highways and 60-80 on the inroads wiht one or two half hour stops in between. The distance is 450 kms approximately.
-----------------------------------------------------------------

to reach faster ...do pune to belgaum on the GQ ..u can easily do the 330 odd kms in about 4-5 hrs ...from belgaum you can tak eteh NH4A to panaji via Londa ...its a superb drive but you have to watch out for dumper trucks and also for loose sand on the corners ....

from belgaum to panaji its about 150 kms ...which should take you about 2.5 to 3 hours ...so the total time through this route should take about 8-10 hours max ..

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


Pune - Satara - Kolhapur - Kagal - Nipani - Uttur - Ajara - Amboli - Sawantwadi - Goa. Total distance 491 kms. Driving speed 80Kmph in my friends van on the 4 lane NH-4 and between 60 - 80 kmph on State Highways 121 and 123 between Sankeshwar and Sawantwadi. Surprisingly it took us 8 hours and 45 minutes at these speeds to reach Goa with 2 Fuel stops, 1 flat tyre repair, 1 break for lunch and 1 at the Amboli waterfall.

For a better driving experience, get into Kolhapur city, ask for directions in the crowded and narrow laned town for 'Rankala' (This is a huge lake/reservoir). On reaching Rankala ask for directions to Gaganbawda ghat and enjoy the drive. This road takes you to Kankavli on NH-17 (Bombay - Goa highway) which is about 100 kms north from Sawantwadi. This route extends the journey distance by about 85-90 kms.

Other alternate route as mentioned by Satya. One from the same route is to go via Chorla ghat this is between Belgaum and Panji. Try this resort for a stay http://www.wildernest-goa.com/ . You will have to leave your car in their guarded parking lot. They transport you to the resort on bullock carts.

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

have driven many times from various routes from Pune to Goa and found that route via Tamhini ghat-NH17 is more time consuming as compared to Route via Kolhapur-amboli-sawantwadi. This has become faster with 4 lanes on bangalore highway taking you to kolhapur in just 3 hours. Amboli ghat/Sawantwadi is scenic but NH17 has its own charm. Route via chiplun is even longe

Wednesday, December 15, 2010

item supply/demand - basics on calculation

http://forums.oracle.com/forums/thread.jspa?threadID=665964


Depends a lot on how your instance is configured (mfg is there or not, external ATP sources are used or consigned inventorry exists etc)

For simple site in a distribution company looking back into my notes, here are the details:

this form is based on a table mtl_supply_demand_temp. This table is usually empty, but you can find rows here if you query the table when you are in the form after you query the form (don't close the details block, it will delete the records from this table).

One ATP rule will be automatically created in mtl_atp_rules table for every session and is used to identify the supply and demand sources. If you look at the ATP rule screen you will get an idea for the demand and supply for the quantity.

As far as the calculation goes, depending on the sources for demand and supply used in the ATP rule created, it will look at the following tables:

Supply:
mtl_supply (PO and req)
mtl_onhand_quantities_detail (onhand)
wip_discrete_jobs (wip jobs)
mrp_org_quantity_v and mrp_plans (production schedules) to name a few for supplies

Demand:
mtl_reservations
mtl_material_transactions_temp
again mrp plans may also be used if there is a component demand.



traditional form launches the native C function "INXDSD" from the INVDVDSD procedure



I tried using the same code used by the form in SQL. It worked. The only issue is that the ATP group Id specific to this request is not populating appropritely. It is always populating as 0. If I register as concurrent program probably it will populate correctly. This is required in order to delete the rows correctly belonging to that session from the mtl_supply_demand_temp at the end of the session.

You can try that if you are Ok with that approach. This way you do not have worry about finding out the tables to query. Here is that I did.

DECLARE
l_seq_num NUMBER;
rtvl NUMBER;
args1 VARCHAR (240);
args2 VARCHAR (240);
args3 VARCHAR (240);
args4 VARCHAR (240);
args5 VARCHAR (240);
args6 VARCHAR (240);
args7 VARCHAR (240);
args8 VARCHAR (240);
args9 VARCHAR (240);
args10 VARCHAR (240);
args11 VARCHAR (240);
args12 VARCHAR (240);
args13 VARCHAR (240);
args14 VARCHAR (240);
args15 VARCHAR (240);
args16 VARCHAR (240);
args17 VARCHAR (240);
args18 VARCHAR (240);
args19 VARCHAR (240);
args20 VARCHAR (240);
l_session_id NUMBER;
l_count NUMBER;
cutoff_date_j NUMBER;
l_total_temp VARCHAR2 (30);
l_avail_qty_temp VARCHAR2 (30);

CURSOR c1
IS
SELECT inventory_item_id
FROM mtl_system_items_b
WHERE organization_id = 204 AND segment1 IN ('AS18947', 'AS81414');
BEGIN
fnd_global.apps_initialize (1072, 50346, 401);
--fnd_profile.put ('CONC_DEBUG', 'TC');
/* fnd_global.initialize (session_id => l_session_id
, user_id => 1072
, resp_id => 50346
, resp_appl_id => 401
, security_group_id => 0
, site_id => 0
, login_id => 1833382
, conc_login_id => -1
, prog_appl_id => 401
, conc_program_id => 33808
, conc_request_id => fnd_global.conc_request_id
, conc_priority_request => -1
, form_id => 52654
, form_appl_id => 401
, conc_process_id => NULL
, conc_queue_id => NULL
, queue_appl_id => NULL
, server_id => 147
);*/
inv_globals.set_org_id (204);

SELECT mtl_demand_interface_s.NEXTVAL
INTO l_seq_num
FROM DUAL;

SELECT TO_CHAR (SYSDATE, 'j')
INTO cutoff_date_j
FROM DUAL;

FOR i IN c1
LOOP
IF (inv_tm.launch ('INXDSD'
, 'GROUP_ID='
|| TO_CHAR (l_seq_num)
|| ' '
|| 'ORGANIZATION_ID='
|| TO_CHAR (204)
|| ' '
|| 'INVENTORY_ITEM_ID='
|| TO_CHAR (i.inventory_item_id)
|| ' '
|| 'ONHAND_SOURCE='
|| TO_CHAR (1) --1 ATP Only, 2 For Net Subinventories, 3 all subinvs
|| ' '
|| 'CUTOFF_DATE="'
|| TO_CHAR (cutoff_date_j)
|| '" '
|| 'MRP_STATUS='
|| TO_CHAR (1)
|| ' '
|| 'ONHAND_FIELD=l_total_temp'
|| 'AVAIL_FIELD=l_avail_qty_temp'
, l_total_temp
, l_avail_qty_temp
) = FALSE
)
THEN
DBMS_OUTPUT.put_line ('FAILED');
ELSE
DBMS_OUTPUT.put_line ('SUCCESS');
DBMS_OUTPUT.put_line (l_total_temp);
DBMS_OUTPUT.put_line (l_avail_qty_temp);

INSERT INTO xx_mtl_supply_demand_temp
SELECT *
FROM mtl_supply_demand_temp
WHERE seq_num = 0;
END IF;
END LOOP;

-- fnd_profile.put ('CONC_DEBUG', NULL);
BEGIN
DELETE FROM mtl_atp_rules
WHERE rule_id IN (SELECT atp_rule_id
FROM mtl_group_atps_view
WHERE atp_group_id = 0);
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;

BEGIN
DELETE mtl_group_atps_view
WHERE atp_group_id = 0;
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;

BEGIN
DELETE mtl_supply_demand_temp
WHERE seq_num = 0;
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;

inv_utilities.do_sql ('commit');END;

As you can see I have to use seq_num as zero it was always populating as zero in this table where as from form it populates correctly.

Since this is a function, probably you can use this in discoverer queuries (I am not sure). Then query this custom table (mirror of mtl_supply_demand_temp) to show the report.

Tuesday, December 14, 2010

Bhargavi's Milestones


Craig Elementary 12 Aug 2015

Upper Front Incisor 14 Jul 2015

Upper Front Incisor 28 Jun 2015

Lower Front Incisor  7-Oct-2014

Lower Front Incisor  21-Sep-2014

Grace Christian Academy  Jun 2014

Parkway Preschool   Aug 2013

Zion Preschool   May 2012

Reached US - 16th Apr 2012

1st Complaint @ Play School - 30-Nov-2011 ( bday ) - Slapped Vedant

Play School - 13-Jun-2011 ( bday )

Walking w/o support - 13-Dec-2010 ( bday )

Walking with support - 18-Nov-2010

Standing Up with Support - 13-Nov-2010 ( bday )

Crawling - 8-Aug-2010

Sitting - 6-Aug-2010

Turning Over - 29 Mar 2010

Welcome - 13 Jan 2010

How to Run-In your new car

http://www.team-bhp.com/web/index.php?categoryid=13&p2_articleid=25

Although this is a controversial topic, we stand by the opinions of the manufacturers – after all, who knows your engine better than the company that made it? There are good reasons most manufacturers ask you to take it easy during the initial running period. Call us conservative, but we recommend the tried and tested method. The moving parts of your new engine need an adjustment period before reaching normal operating conditions, and these conditions are determined by how the engine has been run-in. The run-in involves settling the piston rings and ensuring that the bearings and cylinders wear evenly, but it’s not only the engine that needs a running-in. The transmission, tyres and brakes all benefit from it too.

• We recommend that you warm up the engine before putting it under any load.

• A 2,500 km running-in period is ideal. After this, you can high-rev her away to glory.

• For a petrol engine do not allow the RPMs to go over 2,500 for the first 1,000 km. After that, you can increase the limit to 3,000 RPMs until 1,500 km and then gradually increase it to the maximum by 2,500 km.

• Long highway trips or time spent in bumper-to-bumper traffic is bad for the run-in process. The key to the run-in is to subject the engine to a wide range of RPMs, so you will probably have to alter your driving style and make a point of driving under various conditions.

• Team-BHP recommends that you change your engine oil after the first 1,000 km. As with all new engines, you will find that some metal slivers have found their way into the oil. From this point onward you can stick to the manufacturer recommended intervals.

• Do not use synthetic oil for the first 10,000 km. The impressive lubrication properties of synthetic oil only slow the run-in process.

By following these simple steps you can help ensure that your engine reaches its maximum performance and endurance condition. This will maximize you car’s power, fuel economy and engine life. Many new cars are designed to minimize damage from a poor running-in, but even these engines benefit from the advantages of a proper run-in regime.