Saturday, October 08, 2011

SQLPLUS Script in UNIX Shell Produce Output on Same Line

A Simple Select statement is executed from CURRENT a shell. The value returned by the select query is transferred back to the shell.

For example:

RESULT=`sqlplus -s apps/WELCOME123@DEVPR12 < <(printf "set pages 0 \n select SYSDATE from dual; \n")`
echo "RESULT=${RESULT}"

Another Way to Execute sqlplus from unix shell

sqlplus -s /nolog << EOF
connect apps/Welcome123
select sysdate from dual;
exit;
EOF

Groovy Support in ADF

Groovy Support in ADF

Groovy is as an agile dynamic language, Oracle JDeveloper and Oracle ADF 11g introduce support for the Groovy scripting language, allowing you Groovy expressions to be used in attribute validation and as a source for attribute values Groovy need to have a minimum java version 1.5.Groovy comes into its own is within Oracle ADF Business Components is helping to bridge the gap between Oracle ADF's declarative business logic,Groovy supports 99% of java syntax it's so easy to paste some java code into groovey programs

 

Oracle ADF provides a number of different declarative points into which you can drop Groovy code:

 

• Values for view and entity objects attributes
• Validation rules on entity object attributes
• Expressions for error messages Oracle White Paper-Introduction to Groovy support in JDeveloper and Oracle ADF 11g.
• Values for view object bind variables
• View object transient attribute validation


Groovy Expressions in ADF Business Components View Objects

 

ADF Business Components view objects also provide the ability to use Groovy expressions. As with entity objects, view objects can support:
• Referencing attributes in the same view object
• Referencing attributes in other view objects
• Transient attribute validation Oracle White Paper-Introduction to Groovy support in JDeveloper and Oracle ADF 11g.
• Referencing methods in the Java class that backs the view object
• Referencing built in calls such as sum and min
View objects also allow Groovy expressions to be used in bind variables

.

Things to be aware of

 

· Semicolons are optional. Use them if you like (though you must use them to put several statements on one line).

· the return keyword is optional.

· You can use this keyword inside static methods (which refers to this class).

· Methods and classes are public by default.

· Protected in Groovy has the same meaning as protected in Java, i.e. you can have friends in the same package and derived classes can also see protected members.

· Inner classes are not supported at the moment. In most cases you can use Closures instead.

· The throws clause in a method signature is not checked by the Groovy compiler, because there is no difference between checked and unchecked exceptions.

· You will not get compile errors like you would in Java for using undefined members or passing arguments of the wrong type.

Some Examples:

Java code

 

class  HelloWorld {

private final Thing thing = new Thing ( ) ;

   {

          thing.doSomething ( ) ;

   }

}

 

Groovy Code

class HelloWorld {

private final thing = new Thing ( )

{

      thing.doSomething ( )

}

}

Semicolons is optional in Groovy

 

A = 10

println x

 

A = new java.util.Date()

println A

 

A = -3.1499392

println A

 

A = false

println A

 

A= "Hi"

println A

println is equalant to System.out.println

 

 

The first line java import tells to groovy the full name of sql object 

The second line creates SQL DB connection and stores in variable
Third line calls "eachRow" Method of sql and passing two parameters


1.Query String is first param
2.printing some sql result values
The closure the fields of "it" are accessed in two different ways. The first is as a simple field reference, accessing the id field of it. The second is the included Groovy expression mentioned above

 

Who will Benefit


Who don't already know java and who don't want learn java they can use Groovy to use power of JVM and Development kit while programming


conclusion

 

Java is Groovy,Groovy is Java


1.99% java code supports Groovy
2.Groovy supports JSR 175 annotation same as Java
3.Increases developer productivity by reducing scaffolding code when developing web, GUI ,database or console applications
4.Compiles straight to Java byte code so you can use it anywhere you can use Java

 

 

Source from: http://groovy.codehaus.org and oracle.com

Thursday, October 06, 2011














Toad start-up Script

Save below script in c:\toad.startup.sql


BEGIN
INSERT INTO FND_SESSIONS
SELECT USERENV('SESSIONID'), TRUNC( SYSDATE )
FROM DUAL;
COMMIT;
END;
/
BEGIN
DBMS_APPLICATION_INFO.SET_CLIENT_INFO( 101 );
END;
/
BEGIN
FND_GLOBAL.SET_NLS_CONTEXT (P_NLS_LANGUAGE => 'AMERICAN');
COMMIT;
END;
/

---End of script


open toad then click on view-> Toad options->schema browser->Startup(As shown below)







click on apply and restart the toad, The above script files executed automatically and set to language and org information to your toad session.


If you want execute above script for every new connecton call same file in " File to execute on new connections: c:\toad_startup.sql "
SQL connect Tip



I am lazy to make Tns entry in TNSNAMES.ORA file
But, still you can connect sqlplus session using following tip
make the tns entry as shown below , First  open sqlplus connect window then follow below steps


Syntax:


(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xyzabc.com)(PORT=1521))(CONNECT_DATA=(SID=Devep11i)))


Username : apps
Password : apps
Host string : < paste above tns entry here>






click on ok , it will connect to specified dbserver with making entry in TNSNAMES.ORA 
Linux server auto connect using Putty


if you want auto connect to specific server using putty here is some tips


First locate "putty.exe"  then right click on "putty.exe" goto properties-> short cut


Consider below syntax as example
in target field enter below syntax


C:\putty.exe -ssh  "user_name"@"servername"  "port_number"  -pw  "Password"

  1. -ssh is connection type
  2. -pw is password
  3. -port number (By default is 22 for ssh)



C:\putty.exe -ssh ABCABC@devUnix100.com 22 -pw Welcome123!





click on Apply then double click on "putty.exe"  it will connect you server without password

Be careful it's not good practice to keep your password at file properties :)


comparison ADF vs OAF

Oracle recommendations 

If you want to integrate your extensions tightly with the E-Business Suite,
you should use the OAF Release 12 technology stack, which includes the
use of JDeveloper 10g and ADF BC (or use OAF Release 11i, which uses
JDeveloper 9i).


 If you are building a separate application that does not integrate tightly
with the E-Business Suite, but needs E-Business Suite-specific capabilities
like Flexfields and personalization, you should use the OAF Release 12
technology stack. If your application does not need to integrate with the
E-Business Suite, or doesn't require any of the E-Business Suite-specific
capabilities enumerated above, you should use ADF 10g with SOA based
integration with E-Business Suite.


 If you are building a separate application that does not need to integrate at
all with the E-Business Suite, and you need an AJAX-style rich client user
interface, you should use ADF 11g.








Source : oracle support





Monday, October 03, 2011

inv item categories and iproc item categories

Below query gives Mapping between inv item categories and iproc item categories using mapping table ICX_POR_CATEGORY_ORDER_MAP

SELECT
MC . SEGMENT1 ,
MC . DESCRIPTION ,
MCT . CATEGORY_ID ,
ICCT . CATEGORY_NAME ,
ICCT . RT_CATEGORY_ID
FROM 

MTL_CATEGORIES_TL MCT ,
MTL_CATEGORIES_KFV MCK ,
ICX_POR_CATEGORY_ORDER_MAP IPCO ,
ICX_CAT_CATEGORIES_TL ICCT ,
MTL_CATEGORIES MC ,
MTL_CATEGORY_SET_VALID_CATS mcsv
WHERE MCT . CATEGORY_ID = MCK . CATEGORY_ID
AND MCT . CATEGORY_ID = MC . CATEGORY_ID
AND mct . CATEGORY_ID = mcsv . CATEGORY_ID
AND IPCO . EXTERNAL_SOURCE_KEY = MCK . CATEGORY_ID
AND ICCT . RT_CATEGORY_ID = IPCO . RT_CATEGORY_ID

Script to Converting BLOB to CLOB

BLOB to CLOB

step-1) create temp table
step-2) prepare conversion script
step-3) execute script to store converted CLOB to temp table



Table creation


CREATE TABLE
APPS . XXNR_XML_DATA_TEMPLATE_TEMP (
TEMPLATE_CODE VARCHAR2 ( 200 BYTE),
DATA_SOURCE_CODE VARCHAR2 ( 200 BYTE),
FILE_NAME VARCHAR2 ( 200 BYTE),
FILE_DATA CLOB
);



Conversion Script


CREATE OR REPLACE PROCEDURE XX_BLOB_RAMA
IS
v_clob CLOB ;
v_varchar VARCHAR2 ( 32767 );
v_start PLS_INTEGER := 1 ;
v_buffer PLS_INTEGER := 32767 ;

BEGIN
DBMS_OUTPUT.put_line ( 'starting blob to clob conversion' );
alter session set nls_language= 'AMERICAN' ;


FOR x
IN (SELECT xtv . template_code ,
xdd . DATA_SOURCE_CODE ,
xl . LOB_CODE ,
xl . file_data ,
xl . FILE_NAME
FROM XDO_TEMPLATES_VL xtv , XDO_DS_DEFINITIONS_VL xdd , XDO_LOBS xl
WHERE xdd . DATA_SOURCE_CODE = xtv . DATA_SOURCE_CODE
AND xl . LOB_CODE = xtv . DATA_SOURCE_CODE
AND lob_type = 'DATA_TEMPLATE'
AND xl . APPLICATION_SHORT_NAME IN ( 'XXPEP' , 'XXABC' ))

LOOP
BEGIN


DBMS_OUTPUT.put_line ( 'prccessing DATA_SOURCE_CODE ' || x . DATA_SOURCE_CODE );
v_start := 1 ;
v_clob := NULL;
v_varchar := NULL;
DBMS_LOB.CREATETEMPORARY ( v_clob , TRUE);
FOR i IN 1 .. CEIL ( DBMS_LOB.GETLENGTH ( x . file_data ) / v_buffer )


LOOP
v_varchar :=
UTL_RAW . CAST_TO_VARCHAR2 (
DBMS_LOB.SUBSTR ( x . file_data , v_buffer , v_start ) );
DBMS_LOB.WRITEAPPEND ( v_clob , LENGTH ( v_varchar ), v_varchar );
v_start := v_start + v_buffer ;
END LOOP;

INSERT INTO XXNR_XML_DATA_TEMPLATE_TEMP
VALUES ( x . TEMPLATE_CODE ,
x . DATA_SOURCE_CODe ,
x . FILE_NAME ,
v_clob );
COMMIT;


DBMS_OUTPUT.put_line ( 'DATA_SOURCE_CODE ' || x . DATA_SOURCE_CODE || ' processed.' );
EXCEPTION
WHEN OTHERS
THEN

DBMS_OUTPUT.put_line (SQLERRM);
END;
END LOOP;
END XX_BLOB_RAMA ;



Finally execute the script


BEGIN
XX_BLOB_RAMA ;
END;


see the below script result in custom table  XXNR_XML_DATA_TEMPLATE_TEMP



Alert History Query

Query to get alert history



SELECT
alv . *
FROM ALR_ALERTS al ,
ALR_ACTION_HISTORY aah ,
ALR_OUTPUT_HISTORY aoh ,
ALR_ACTIONS_V alv ,
alr_alert_historY_view aahv
WHERE al . alert_name = <name of alert > ---------'XXPEP_PENDING_APPROVALS'
AND al . alert_id = aah . alert_id
AND aah . check_id = aoh . check_id
AND alv . ALERT_ID = aah . alert_id
AND aahv . alert_name = al . alert_name;


Wednesday, August 17, 2011

Oracle Application Framework (OAF) vs  Application Development Frame work (ADF)


ADF :

  1. J2EE enabled Frame work
  2. ADF Uses JSF
  3. Design time page Editor
  4. Minimal Java Coding
  5. Declarative controller
  6. Rapid Development
  7. Support MVC Architecture
  8. Deployed in Web logic server
  9. ADF is open source
  10. Support web service and SOA Service



OAF:

  1. Oracle application Frame Work
  2. OAF uses UIX
  3. No UI page Editor
  4. Complex Java coding
  5. Support MVC Architecture
  6. Deployed in Oracle  Application Server
  7. Development is more complex


Saturday, July 09, 2011

Linux/Unix echo colour coding 








Below colour code statements are very useful when your coding installation script in Linux/ UNIX environments



echo -e  "\033[1;30m";        
echo Dark Gray

echo -e "\033[0;30m";
echo Black

echo -e "\033[1;31m";
echo Light RED

echo -e "\033[0;32m";
echo Light Green

echo -e "\033[0;33m";
echo Brown

echo -e "\033[1;33m";
echo Yellow

echo -e "\033[0;34m";
echo blue

echo -e "\033[1;34m";
echo light blue

echo -e "\033[0;35m";
echo purple

echo -e "\033[0;36m";
echo Cyan

echo -e "\033[1;36m";
echo Light Gray

echo -e "\033[1;37m";
echo White

echo -e "\033[0m";
echo Neutral

Wednesday, June 08, 2011

Payroll Tables

Payroll Tables


Below are the basic main tables between HR and Payroll


1) Pay_all_payrolls_f-> Payroll_id  linked with PER_ALL_ASSIGNEMNTS_F.Payroll_id
2)Pay_personal_payment_methods_F->Assignment_id linked with PER_ALL_ASSIGNEMNTS_F.Assignment_id
3)PAY_ORG_PAYMENT_METHODS_F->Payment_type_id linked with   pay_payment_types.Payment_type_id
4) PER_ALL_ASSINMENTS_F->Assignment_id linked with PAY_ELEMENT_ENTRIES_F.Assignment_id
5)PAY_ELEMENT_TYPES_F->ELEMENT_LINK_ID linked with  PER_ELEMENT_LINKS_F.ELEMENT_LINK_ID 
6)PAY_ELEMENT_TYPES_F-> element_type_id linked with pay_input_values_f.element_type_id 
7)HR_ALL_POSITIONS_F->position_id  linked with PAY_ELEMENT_TYPES_F.Position_id

Saturday, March 05, 2011

Positions in Oracle HRMS


Positions are used to define employee roles within Oracle Human Resources.position is a specific occurrence of one job, fixed within one organization,Positions are independent of the employees

position will need to be defined for every unique combination of:
·   Job
·   Organization
·   Reporting To Position Hierarchy
·   Valid Grades (Valid Grades to which incumbents are assigned)
·   Position Requirements (Required qualifications or valid experience)
·   Position Evaluation (Evaluation information and overall evaluation score for the Position)
·   Position Key Flex Field (Name Field components, such as Position Title, Position ID or other client defined keys)
·   Position Successor
·   Probation Periods (To define the length of the Probation Period for incumbents holding this position)

Advantages:
 Position definition with no override attributes, ensures derivation from the position.  It is more accurate because the definition focuses on the position and is not affected by the employee in the position

  Position attributes change less often than employee movement.  When the position attributes change, the system automatically updates incumbent records with the new value. 

Types of Positions

PooledThis approach is very good for organizations where groups of people are doing the same work (many employees assigned to one position), have the same reporting relationship (predominate in manufacturing and transportation industries).  This approach allows multiple people to occupy a single position that has the same attributes and reporting relationship.

Shared: This approach supports the ability to assign employees to several part-time positions.  This approach is becoming more common.  In some companies, an employee works part-time (20 hours) in one department and then part-time in another department.  In essence the company divides the employee and distributes the cost across the two departments.  The company benefits from only having to pay benefits to one person.

Single Incumbent: This approach is usually used for positions, which are managerial or at least static.  This approach is usually needed for those positions, which will have spending authority levels, and defined succession planning.  This approach assumes on position per person

Table Information

1)PER_POSITION_DEFINITIONS
This is a key flexfield combinations table.  It stores segment combinations for positions that are stored in the HR_ALL_POSITIONS_F table.

2)HR_ALL_POSITIONS_F
This table holds datetracked position definitions.
Column POSITION_DEFINITION_ID links this table to PER_POSITION_DEFINITIONS to identify the segment values.
This table was introduce in R11i and prior to that the non-datetracked table PER_ALL_POSITIONS was used.


3)PER_POSITION_EXTRA_INFO
This table holds details of extra information for a position.

4)PER_POSITION_INFO_TYPES
This table holds the definitions of extra information types that may be held against a position.

4)PER_POSITION_LIST
Holds the list of positions that can be accessed by a specific security profile.
The rows in this table are generated by the 'Security List Maintenance' process.

5)PER_POSITION_STRUCTURES
Holds information about position hierarchies defined for each Business Group.

6)PER_ALL_POSITIONS
PO still uses this table and a concurrent request 'Synchronize Positions Process' is available to keep the two tables in synch.

APIs

1)hr_position_api (peposapi.pkh)
   create_position
  delete_position
  update_position

2)hr_position_extra_info_api (pepoiapi.pkh)
create_position_extra_info
delete_position_extra_info
update_position_extra_info

3)hr_position_requirement_api (pepsrapi.pkh)
   create_position_requirement
   per_position_structure_api (pepstapi.pkh)
   create_pos_struct_and_def_ver
   create_position_structure
   delete_position_structure
   update_position_structure

4)per_pos_structure_version_api (pepsvapi.pkh)
  create_pos_structure_version
  delete_pos_structure_version
  update_pos_structure_version

5)hr_pos_hierarchy_ele_api (pepseapi.pkh)
  create_pos_hierachy_ele
  delete_pos_hierachy_ele
  update_pos_hierachy_ele


Saturday, October 16, 2010

Portable Benthic Cracked PL EDIT Software


download from below link
http://www.megaupload.com/?d=U8KWOWO0

Friday, March 26, 2010

Link for Etrm Download

Using below link you can download Etrms

http://download.oracle.com/docs/cd/A89549_01/html/trmset.html

Wednesday, December 30, 2009

Saturday, December 12, 2009

fnd_concurrent.set_completion_status

By using following API you can manually warn out the oracle Reports in oracle applications.

Call This API in after report trigger in oracle reports 6i and see the result.

g_flag := fnd_concurrent.set_completion_status

('WARNING',

'Any Message...'

);


Run reports in oracle applications concurrent process.

Saturday, August 29, 2009

HRMS PYUPIP

PYPIP is a utility used for tracing the flow of HRMS PL/SQL .The database trace pipe allows the user to record the flow of HRMS PL/SQl code.
The PL/SQL code can reside in a script or in package its displays all different break points when the code is executed.

PYPIP can be launched in multiple ways
1) From Unix version
2)Self service applications
3)The professional USer Interface(PUI).

Tuesday, July 21, 2009

Requisition Preferences

You can setup some of PO Requisition fields defaults for

  • Need By Date
  • charge account
  • Justification
  • Notes to receiver/Buyer
  • Requestor
  • Organization
  • Ship to Location
  • Taxable
  • Destination Type
  • Project Information
Note : You can Override the charge account number when destination type is Expense.
PO Requisition cancellation Rules

You can cencel PO requisition that have been submitted for approval from requisition status Page.
But You must follow the Rules.

1)Cancel Requisition of any status.
2)cannot support cancelling individual requisition lines.
3)cannot cancel requisition once it has a line converted to a Purchase Order.
Iproc Product Features

  • Standard Web shopping experience
  • Complete catalog and content management
  • Next Generation catalog engine
  • Streamlined requisition process
  • View and respond your notifications
  • View company latest requisition policies
  • Respond to the Requisitions

Sunday, July 19, 2009

CUSTOM.PLL

It is mechanism that allows extension of oracle applications without modification of oracle apps code.
Custom.pll let you change properties ,functionality and operation of forms.

How it works

it works by sending events from each oracle applications form to the CUTOM library, which is automatically attached at runtime.

Details

The custom Library is availble within oracle applications that are developed in oracle forms.
The Custom library is actually a pair of files called CUSTOM.pll and CUSTOM.plx.
The plx version is a compiled version of .pll file.

Library Rules
Since there is only a single library that is shared by all forms in installation

  • You can't use SQL in the CUSTOM library except server side packages instead.
  • you can't change the specification of the CUSTOM package
  • you can't attach the PCORE library to the CUSTOM library
  • Always use FNDSQF library for function security flexfields and message procedures.
  • Don't use CALL_FORM or OPEN_FORM within the CUSTOM library, Use FND_FUCTION package instead
  • You can switch on and off dynamically by the user selecting Help-> tools->Custom code-> off option.
  • You can prevent users from being able to switch off the CUSTOM library by setting profile option Diagnostics to No

Usage of CUSTON library

There are four main ways to use the CUSTOM library .

ZOOM : A zoom opens another from and can pass parameters to opened form.

Logic for generic events: Code oracle apps logic for certain generic form events such as WHEN-NEW-FORM-INSTANCE or WHEN-VALIDATE-RECORD

Logic for product-Specific events: code or replace oracle apps logic for certain product-specific events

Custom entries for the Special menu: Add entries to the Special menu for oracle Apps forms.

Note

The CUSTOM library provides a non-invasive mechanism that allows customers to extend the application in a manageable and controlled environment
Common Profile Options in APPS

Password Profile Options

1) Sigon Password Length
Default= 5 Char
Recommended= 6 Chars

2)Signon Password Hard to Guess
Default=No
Recommended=Yes

3)Sigon Password No Reuse
Default=0(Zero) -No limit on resuse
Recommended=At least 180 Days

4)Sigon Password Failure Limit
Default=0 attempts- no lockout
Recommended=3
Implement custom workflow to notify admin of lockout

Security Profile Options

1)Sign-on:Audit Level
Default=None
Recommended=Form
Use Standard Sigon Audit report to view data
Truncate FND_SIGNON_XXXX tables periodically

2)Sign-on:Notification
Default=No
Recommended=Yes

3)ICX:Session Timeout
Default=None
Recommendation=30 Mins
Also Set Jserv Sessiontimeout in Zone.properties

Diagnistics Profile Options

1)Utilites:Diagnostics(Forms)
Default=No
Recommendation=No a Site Level , No for sysadmin

2)Hide Diagnostics Menu entry(forms)
Default=no
Recommendation=Yes at site level, No for sysadmin
Hides Disgnostics menu

3)FND:Disgnostics(Self Service)
Default=no
Recommendation=No
Require APPS Password to use Examine function
Usually set to Yes durning development

GL INTERFACE Mandatory columns and Pre requisites

Table: GL_INTERFACE

STATUS: This column will accept any string but we will always insert standards string called new it indicates that we are brining new data in to General Ledge Applications.

SET_OF_BOOKS_ID: We have to enter the appropriate set of books ID, it should be valid set of books id is available in GL_SETS_BOOKS table it is valid, otherwise i8t is invalid.

USER_JE_SOURCES_NAME: We have to enter the journal sources name for the transaction we can find all the valid source names in the tabled called GL_JE_SOURCES.

USER_JE_CATEGORY_NAME: We have to find out weather journal category is available in the GL_JE_CATEGORIES table. It is is available then we will insert, otherwise we will reject.

CURRENCY_CODE: We have to enter the valid currency code in FND_CURREINCES table we can find out weather it is valid or not.

ACCOUNTING_DATE and CREATION_DATE: Both columns will accept valid date but that date should be less than or equal to System date.

CREATED_BY: We have to enter valid user_id from FND_USER table we can identify weather it is valid user_id or not.

PERIOD_NAME: We have to enter valid period name and period should be in the open status from GL_PERIODS table we can find out weather it is valid period or not, from GL_PERIOD_STATUS table we can find out period is in the open status or not.

ENTERED_DR and ENTERED_CR: Both columns will accept positive number Debit and credit amount, both debit and credit should be equal otherwise account will be imported as suspense account.

GROUP_ID: We will enter unique group number while importing from interface table to base table it will be used as parameter.

CTUAL_FLAG: This column will accept single character either ‘A’ or ‘B’ or ‘E’ a- Actual amounts, B- Budget Amounts, E- Encumbrance Amounts

Pre requisites

  1. Set of books should be defined (Currency, Calendar, Chart of Accounts)
  2. Currency Conversion Rates needs to be defined.
  3. Accounting Period should be defined and also opened
  4. Source name and as well as category name should be defined.

Adding Multiple Request Groups to the Responsibility


  • Create Request Group in System Administrator
  • Copy Request Group name application short name and Request group code.
  • Go to application developer create function for the form called “Run Report” and pass the following parameters in the parameter field
    • REQUEST_GORUP_CODE = “XYZABC_CODE”
    • REQUEST_GROUP_APPL_SHORT_NAME=”PO
    • TITLE = “XYZ ABC”