Running a Concurrent from PLSQL in oracle apps

DECLARE
v_request_id NUMBER;
ln_temp number;
BEGIN

apps.fnd_global.apps_initialize ( user_id => 0, resp_id => 50007, resp_appl_id => 201 );
——–CALLING STANDARD RECEIVING TRANSACTION PROCESSOR ———————————
select apps.rcv_interface_groups_s.nextval into ln_temp from dual;

v_request_id := apps.fnd_request.submit_request ( application => ‘PO’,
PROGRAM => ‘RVCTP’,
argument1 => ‘BATCH’,
argument2 => ln_temp
— argument3 => 204
);
commit;
dbms_output.put_line(‘Request Id’||v_request_id);
END;

தமிழா

தீபாவளி கொண்டாடும் தமிழர்களே அசுரன் யார் என்று தெரியுமா?

அசுரர் என்பது காரணப் பெயரே.
சுரன் என்றால் சுரபானம் (மது) அருந்துபவர். அசுரன் என்றால் மது அருந்தாதவர்கள்.

ஆரியர்கள் தங்கள் வழக்கப்படி நல்லவற்றை கெட்டவை என்றும், நல்லவர்களைக் கெட்டவர்கள் என்று நிலைநிறுத்த மக்களிடம் திரும்பத் திரும்பச் சொல்லி அவை வழக்கத்திற்கே வந்துவிட்டன.

இந்த முறையில் மக்களின் மூளைக்கு விலங்கிட்டும், பல மன்னர்களின் துணையாலும் புத்தர்கள், சமணர்கள் பலரைக் கொன்றும், யாக குண்டங்களில் இட்டுக் கொளுத்தியும், கழுவேற்றியும் அழித்தனர்.

அசுரர் என்பவர் வலிமை மிக்க, கொல்லாமை விரதம் பூண்ட, நல்லெண்ணம் கொண்ட நாகரிகம் மிக்க தமிழர்களையே குறிக்கிறது.

அது தவறாகக் கொள்ளப்பட்டு, மக்களை நம்பவைத்துள்ளனர்.

இந்தப் பண்டிகைகளைக் கொண்டாடும் மக்கள் மானமும் அறிவும் இல்லாமல் தங்களைத் தாங்களே இழிவுபடுத்திக் கொள்வதாகும்.

இராவணனின் வீழ்ச்சிக்கு பிறகு சில காலம் கழித்து ஆரிய ஆக்கிரமிப்பை எதிர்த்து போர் புரிந்த தமிழ் மன்னர்களில் ஒருவனே நரகாசுரன். நரகாசுரனும்மற்றைய பல மன்னர்களும் ஆரிய ஆக்கிரமிப்பை எதிர்த்து போர் புரிந்து வீர மரணம் அடைந்தார்கள்.

கடைசியில் தமிழினத்தை வெற்றி கொண்ட ஆரியர்கள் தமிழர்களின் வரலாற்றை திரிவுபடுத்தினார்கள். இன்று விடுதலைப் போராளிகளைஆக்கிரமிப்பாளர்கள் பயங்கரவாதிகள் என்று சொல்வது அன்று ஆரியர்கள் அன்று தமிழின விடுதலைக்காக போரடியவர்களை அரக்கர்கள் என்றுசொன்னார்கள். முறிக்கிய மீசையோடு கம்பீரமாக நின்று தமிழ் மண்ணைக் காக்க இறுதிவரை போராடி தன்னுயிரை ஈந்தவர்களுக்கு கொம்புகளும் கோரமானபற்களும் முளைத்து விட்டன.

ஒரு முறை சிந்தித்துப் பாருங்கள்! சிங்களப் படைகள் யாழ் நகரைக் கைப்பற்றிய நாளை நாம் கொண்டாடுவோமா? நிச்சயமாகக் கொண்டாடுவோம், சிங்களம்தமிழினத்தை முழுமையாக வெற்றி கொண்டால். அப்பொழுது எங்களின் விடுதலைப் போரளிகளுக்கும் கொம்புகளும், கோரமான பற்களும் முளைக்கும்.வெற்றி பெற்றவன் திணிப்பதே வரலாறு என்று ஆகின்றது. தோற்று போனவனின் வரலாறு அவனுடனேயே புதைகுழிக்குள் புதைக்கப்படுகிறது. எமது தமிழ்மன்னர்கள் அன்று தோற்றுப் போனார்கள். அதனால் அரக்கர்கள் ஆகி விட்டார்கள்.

இப்படி அரக்கன் ஆக்கப்பட்டு விட்ட ஒரு விடுதலைவீரனின் நினைவுநாளை நாம் மகிழ்ச்சியாகக் தீபாவளி என்று கொண்டாடுகிறோம். ஆரியர்கள்தமிழினத்தை வென்றது மாத்திரம் அன்றி, வென்ற நாளை தமிழர்களையோ கொண்டாட வைத்து விட்டார்கள். இதை உணர்ந்து தமிழினம் இந்த தீபாவளியைகொண்டாடுவதை நிறுத்த வேண்டும்.

Script to get all the Concurrent Program Request details

Below is the script to get the Concurrent Program Request details by Various Users in a Particular Day.

select
request_id,
parent_request_id,
fcpt.user_concurrent_program_name Request_Name,
fcpt.user_concurrent_program_name program_name,
DECODE(fcr.phase_code,
‘C’,’Completed’,
‘I’,’Incactive’,
‘P’,’Pending’,
‘R’,’Running’) phase,
DECODE(fcr.status_code,
‘D’,’Cancelled’,
‘U’,’Disabled’,
‘E’,’Error’,
‘M’,’No Manager’,
‘R’,’Normal’,
‘I’,’Normal’,
‘C’,’Normal’,
‘H’,’On Hold’,
‘W’,’Paused’,
‘B’,’Resuming’,
‘P’,’Scheduled’,
‘Q’,’Standby’,
‘S’,’Suspended’,
‘X’,’Terminated’,
‘T’,’Terminating’,
‘A’,’Waiting’,
‘Z’,’Waiting’,
‘G’,’Warning’,’N/A’) status,
round((fcr.actual_completion_date – fcr.actual_start_date),3) * 1440 as Run_Time,
round(avg(round(to_number(actual_start_date – fcr.requested_start_date),3) * 1440),2) wait_time,
fu.User_Name Requestor,
fcr.argument_text parameters,
to_char (fcr.requested_start_date, ‘MM/DD HH24:mi:SS’) requested_start,
to_char(actual_start_date, ‘MM/DD/YY HH24:mi:SS’) ACT_START,
to_char(actual_completion_date, ‘MM/DD/YY HH24:mi:SS’) ACT_COMP,
fcr.completion_text

From

apps.fnd_concurrent_requests fcr,
apps.fnd_concurrent_programs fcp,
apps.fnd_concurrent_programs_tl fcpt,
apps.fnd_user fu

Where 1=1
— and fu.user_name = ‘DJKOCH’ ‘
— and fcr.request_id = 1565261
— and fcpt.user_concurrent_program_name = ‘Payables Open Interface Import”
and fcr.concurrent_program_id = fcp.concurrent_program_id
and fcp.concurrent_program_id = fcpt.concurrent_program_id
and fcr.program_application_id = fcp.application_id
and fcp.application_id = fcpt.application_id
and fcr.requested_by = fu.user_id
and fcpt.language = ‘US’
and fcr.actual_start_date like sysdate
— and fcr.phase_code = ‘C’
— and hold_flag = ‘Y’
–and fcr.status_code = ‘E’

GROUP BY
request_id,
parent_request_id,
fcpt.user_concurrent_program_name,
fcr.requested_start_date,
fu.User_Name,
fcr.argument_text,
fcr.actual_completion_date,
fcr.actual_start_date,
fcr.phase_code,
fcr.status_code,
fcr.resubmit_interval,
fcr.completion_text,
fcr.resubmit_interval,
fcr.resubmit_interval_unit_code,
fcr.description

Order by 1 desc;

JBO-25013 oracle.jbo.TooManyObjectsException on Web ADI Integrator

1

When you get a Error Something the below may be also a reason

When you Register your table

begin

ad_dd.register_table(‘XXCUST’, ‘XX_EMPLOYEE_DETAILS_CAL’, ‘T’,10,10,90);

commit;

end;

begin

ad_dd.register_table(‘XXCUST’, ‘XX_EMPLOYEE_DETAILS_CAL’, ‘T’,11,10,90);

commit;

end;

When you give the fourth parameter that is the sequence for next time then you register the same object with many times. So oracle will throw you error. The above is valid but when you refer to your Web ADI oracle will throw the Exception

Query to show the columns in rows on oracle

The Below Query helps to find to show the columns in rows. Here inside the Single Quotes replace your Table or View.

 

SELECT
column_name
FROM user_tab_columns
WHERE table_name=UPPER(‘xxcust_report_param_v’) order by 1;

Element Link report for balances and costing

Query to check get the Element name, Costing, Balancing

select petf.ELEMENT_NAME,pcak1.concatenated_segments COSTING,pcak2.concatenated_segments BALANCING from pay_element_links_f pelf,      pay_element_types_f petf,      PAY_COST_ALLOCATION_KEYFLEX PCAK1,       PAY_COST_ALLOCATION_KEYFLEX PCAK2 where pelf.element_type_id = petf.element_type_id and pelf.COST_ALLOCATION_KEYFLEX_ID = pcak1.COST_ALLOCATION_KEYFLEX_ID and pelf.BALANCING_KEYFLEX_ID = pcak2.COST_ALLOCATION_KEYFLEX_ID and sysdate between petf.EFFECTIVE_START_DATE and petf.EFFECTIVE_END_DATE and sysdate between pelf.EFFECTIVE_START_DATE and pelf.EFFECTIVE_END_DATE

Relation between Location and Organization in oracle apps

select * from hr_all_organization_units hou, hz_locations hl where hou.location_id=hl.location_id

A simple VO Iteration of Rows using While loop in OAF

 

A very simple method to  Iterate VO using While Loop.

 

OAViewObject eVO=am.findViewObject(“xxSuppSumVO”);

eVO.first();
while(eVO.hasNext())
{
System.out.println(“Attributes ————————————> “+eVO.getCurrentRow().getAttribute(0)+eVO.getCurrentRow().getAttribute(1)+eVO.getCurrentRow().getAttribute(2));
eVO.next();
}

Bring your firefox 29 to classic look by installing classic Theme

1

A few days ago, the fine folks at Mozilla released Firefox version 29. The ridiculously high number itself is a result of their attempt to appear as on the ball as Google’s Chrome, which seems to release new versions just for sport. Anyway, this latest Firefox release was the first in a long long while to display any actual change in the user interface, again in an apparent attempt to keep up with Chrome. I’m not a fan of Chrome myself, and have always stayed with Firefox, largely due the Mozilla’s devotion to most of the principles of free and/or open source software. Nothing in particular against Google, but they do seem a bit nosy at times. The new interface for Firefox takes some getting used to. It’s not awful, but some buttons have changed and the tabs look different. Lots of folks seem to hate it. What we’re gonna do here is guide you through the easy process of returning Firefox to its previous user interface in appearance.

It’s pretty simple really. One add-on and you’re in business. Even if you like the new changes, this add-on is handy as it gives you additional things to tweak. The add-on is called Classic Theme Restorer (get it here), and will get your Firefox back to looking like what you’re used to and not like the Chrome wannabe its new appearance implies. Just download it, maybe play with a few settings, and Bob’s your uncle, as they say. I’m not gonna go to the trouble of doing before and after screen-shots, a step by step sequence of what settings to fiddle with, or any of that malarkey, mainly because it’s too much work and you’ll be able to see for yourself what’s changed and what changes back when you install the add-on. It’s really really simple to figure out what to do, and most of it gets done just by installing it. I’ve settled on a blend of features from both new and old, keeping mainly the new curved tabs from the new “Australis” theme, while changing a few things back to the old way. Lots of stuff to play with in the settings here. Have fun.

I’ll take an additional moment here to once more beat the drum for Linux and free software in general, of which Firefox is a great and probably the most popular example. I did a piece a while back on Linux, but to sum up, it’s easy to use, more secure, infinitely configurable, does everything the average user needs to do, is available in an astonishing number of flavors, and best of all, is completely free in (in many cases) every possible sense of the word. Freedom is good. Don’t let the Microsofts and the Apples fool you. Don’t be an insecure sheep. Give it a try. Or at least look into using some of the many great free/open source software products available for all platforms. Some of my favorites include VLC, which is a great player of almost any kind of media you can imagine, the GIMP, which does a lot of what Photoshop does and more, Clementine, an easy to use and lightweight music player/library program (among other things, it handles all 103,000 of my music files), FBReader, which will read almost any kind of e-book format, and of course LibreOffice, a full featured MS Office replacement that is quite compatible for most everyday uses. These are all completely free in every sense of the word, the most important being the freedom thing. The no money thing is nice too.

 

Source

Prepared Statement and Callable Statement in OAF

We use Prepared Statement to Execute a Query or a SQL Statement and we use callable statement to call a package, function, procedure

In general, to invoke a stored procedure from within an entity object or an application module, you need to:
1. Create a JDBC CallableStatement with the PL/SQL block containing the stored procedure invocation
2. Bind any variables.
3. Execute the statement.
4. Optionally retrieve the values of any OUT parameters.
5. Close the statement.

For Prepared Statement we use directly for any DML operations. To Execute the SELECT Query we have to use the class Result set to get the Data..

if(pageContext.getParameter(EVENT_PARAM).equals(“TEST”))
{
String   valuetobePassed1=repId+””;
String valuetobePassed2 = null;
System.out.println(“Condition called for test”);
CallableStatement callableStatement = txn.createCallableStatement(“declare begin :outVariable := RET_QUERY_REP.RET_QUERY(:2, :3); end;”,OADBTransaction.DEFAULT); //Refer to the Syntax where the String is a procedure
//Create a JDBC CallableStatement with the PL/SQL block containing the stored procedure invocation
//Bind any variables.
try
{
callableStatement.registerOutParameter(1, Types.VARCHAR); //First Bind Varible should give us out Parameter
callableStatement.setString(2, valuetobePassed1); //Passing a variable to Second Variable
callableStatement.setString(3, valuetobePassed2); //Passing a variable to Second Variable
callableStatement.execute(); // Execute the statement.
outParamValue = (callableStatement.getString(1)).toString(); //Retrieve the values of any OUT parameters.
System.out.println(“The Out Parameter Obtained from the Procedure is “+outParamValue);
}
catch (SQLException sqle)  //Be cautious that execute() throws an SQL Exception
{
System.out.println(“Exception occured”);
}
//Sql Validation whether Query is Right or wrong
pageContext.writeDiagnostics(this, repId+outParamValue, 4);
System.out.println(“The output value is “+repId+”This “+outParamValue);
PreparedStatement transaction = (PreparedStatement)am.getOADBTransaction().createPreparedStatement(outParamValue,0);
OracleResultSet rs = null;  //Result Set to get the Data from the Query
try
{
rs=(OracleResultSet)transaction.executeQuery();
if(rs.next())
{
pageContext.writeDiagnostics(this, “Column one value”+rs.getString(1)+”Column two value”+rs.getString(2), 4 ); //We can see the Output
System.out.println(“Column one value”+rs.getString(1)+”Column two value”+rs.getString(2)); //We can see the Output
}
else
{
rs.close(); //Close the statement.
}
}
catch(Exception e)
{
pageContext.writeDiagnostics(this, “Exception Has occured”, 4 );
System.out.println(“Exception came Hence SQL query is wrong”);
}
}

 

 

 

The package that returns a Query from the table which is used in callable statement

 

CREATE OR REPLACE PACKAGE RET_QUERY_REP
IS
FUNCTION RET_QUERY (P_REP_ID NUMBER, P_VAL VARCHAR2)
RETURN VARCHAR2;
END;

CREATE OR REPLACE PACKAGE BODY RET_QUERY_REP
IS
FUNCTION RET_QUERY (P_REP_ID NUMBER, P_VAL VARCHAR2)
RETURN VARCHAR2
IS
QUERYSTR   VARCHAR2 (10000);
TYPE R_CURSOR IS REF CURSOR;
C_REF      R_CURSOR;
LV_TEMP    VARCHAR2 (1000);
LV_TEST    VARCHAR2 (1000);
LV_COLV    VARCHAR2 (1000);
BEGIN
IF P_VAL IS NULL THEN
SELECT   (‘ FROM ‘|| FROM_CLAUSE|| ‘ WHERE ‘|| NVL (WHERE_CLAUSE, ‘1=1′)|| NVL2 (GROUPBY_CLAUSE, ‘ GROUP BY ‘ || GROUPBY_CLAUSE, ”)|| ‘ ORDER BY ‘|| NVL (ORDERBY_CLAUSE, ‘1’))
INTO   QUERYSTR
FROM   XXCUST_REPORT_V
WHERE   REP_ID = P_REP_ID;          –Query without column names
ELSE
SELECT   (‘ FROM ‘|| FROM_CLAUSE|| ‘ WHERE ‘|| NVL2 (WHERE_CLAUSE, WHERE_CLAUSE||’ AND ‘||P_VAL, ‘1=1′)|| NVL2 (GROUPBY_CLAUSE, ‘ GROUP BY ‘ || GROUPBY_CLAUSE, ”)|| ‘ ORDER BY ‘|| NVL (ORDERBY_CLAUSE, ‘1’))
INTO   QUERYSTR
FROM   XXCUST_REPORT_V
WHERE   REP_ID = P_REP_ID;
END IF;

–DBMS_OUTPUT.PUT_LINE (‘THE QUERY OUTLINE ——-> ‘ || QUERYSTR);
OPEN C_REF FOR
SELECT   XRCV.REP_COLUMN
FROM   XXCUST_REPORT_V XRV, XXCUST_REPORT_COLUMN_V XRCV
WHERE   XRV.REP_ID = XRCV.REP_ID AND XRCV.REP_ID = P_REP_ID;
LOOP
FETCH C_REF INTO   LV_COLV;
EXIT WHEN C_REF%NOTFOUND;
LV_TEST := LV_TEST || LV_COLV || ‘, ‘;
–DBMS_OUTPUT.PUT_LINE(‘THE COLUMN NAMES ARE ——-> ‘||LV_TEST);
END LOOP;
CLOSE C_REF;
LV_TEMP := ‘SELECT ‘ || RPAD (LV_TEST, LENGTH (LV_TEST) – 2) || QUERYSTR;
DBMS_OUTPUT.PUT_LINE (‘THE FINAL QUERY IS  ARE ——-> ‘ || LV_TEMP);
RETURN LV_TEMP;
END RET_QUERY;
END RET_QUERY_REP;

 

 

Follow

Get every new post delivered to your Inbox.

Join 365 other followers