Monthly Archives: October 2006

Useful Linux Commands

This documentation covers Linux commands that are useful as they pertain to Oracle Applications.

1. To change prompt to display the time:

PS1='[u@h W] t $ ‘

alias settime=’PS1=”'[u@h W] t $ ””

alias settime=”PS1='[u@h W] t $ ‘”

Modify the /etc/bashrc file as root to add alias for all terminal windows.

2. To list the free disk space on all drives:

df -h

3. To display the disk space used by a directory:

du oracle -csh

4. To display lines in files with the word ‘oracle’:

for i in `ls -a`; do grep -Hnr oracle $i; done;

-H, –with-filename

Print the filename for each match.

-n, –line-number

Prefix each line of output with the line number within its

inputfile.

-R, -r, –recursive

Read all files under each directory, recursively; this is

equivalent to the -d recurse option.

5. To create a symbolic link to another directory:

ln -s stage11i10/ stage11510

For example: [root@appslinux u1]# ln -s stage11i10/ stage11510

ln [OPTION]… TARGET… DIRECTORY

Note that this command may need to be executed as the root user.

6. To delete directories one at a time while noting the time started:

for i in `ls`; do echo –n ‘Deleting ‘ $i ‘: Started ‘ ; date ; rm -r $i /u4/oracle/; done

7. To copy directories one at a time while noting the time started:

for i in `ls`; do echo –n ‘Copying ‘ $i ‘: Started ‘ ; date ; cp -r $i /u4/oracle/; done

8. How to Set the Date:

date -s “09/03/2006 14:09:00”

This sets the date to 03-SEP-2006, time 13:17. Note: this command is executed as root. Note: format is “mm/dd/yyyy”

9. To test all zip files in a directory:

for i in `ls *.zip`; do unzip -qt $i; done;

10. To get the size of directories one at a time:

for i in `ls`; do echo -n ‘Size of ‘ $i ‘: ‘ ; du $i -sh ; done ; du -sh

11. To get the total size of a directory:

du -sh

12. To search all files with AP_ACCOUNTING_MAIN_PKG:

for i in `find . -type f`; do grep -Hin AP_ACCOUNTING_MAIN_PKG $i; done;

Configuring crontab

Crontab Commands

export EDITOR=vi ;to specify a editor to open crontab file.

crontab -e Edit your crontab file, or create one if it doesn’t already exist.

crontab -l Display your crontab file.

crontab -r Remove your crontab file.

crontab -v Display the last time you edited your crontab file. (This option is only available on a few systems.)

Crontab file

Crontab syntax :-

A crontab file has five fields for specifying day , date and time followed by the command to be run at that interval.

* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)

* in the value field above means all legal values as in braces for that column.

The value column can have a * or a list of elements separated by commas. An element is either a number in the ranges shown above or two numbers in the range separated by a hyphen (meaning an inclusive range).

Note: The specification of days can be made in two fields: monthday and weekday. If both are specified in an entry, they are cumulative .

Crontab Example

A line in crontab file like below removes the tmp files from /home/someuser/tmp each day at 6:30 PM.

30 18 * * * rm /home/someuser/tmp/*

Changing the parameter values as below will cause this command to run at different time schedule below :

min hour day/month month day/week Execution time

30 0 1 1,6,12 * — 00:30 Hrs on 1st of Jan, June & Dec.

0 20 * 10 1-5 –8.00 PM every weekday (Mon-Fri) only in Oct.

0 0 1,10,15 * * — midnight on 1st ,10th & 15th of month

5,10 0 10 * 1 — At 12.05,12.10 every Monday & on 10th of every month

Note : If you inadvertently enter the crontab command with no argument(s), do not attempt to get out with Control-d. This removes all entries in your crontab file. Instead, exit with Control-c.

(taken from the crontab 5 manual pages)

Creating A Custom Application

This documentation covers how to create a custom application, program and executable in Oracle Applications. The custom application will load data from feeder systems into Oracle Application’s interface tables.

A custom application needs to be set up only once. The custom program executable will then need to be set up and the program defined. Finally, the program must be added to a request group, so that it appears in a user’s responsibility.

Step 1:        Create a new application: Log on as the SYSADMIN user. Select the System Administrator responsibility, then navigate to Application, and then Register.

Step 2:        Click the New button to insert a new row.

Insert a new application, Maryland Financial Group Limited. The Short Name chosen is MFGL and Basepath is MFGL_TOP. Save the record.

Step 3:        Create a directory d:PRODprodapplmfgl on oracleserver. Under mfgl, create a directory ‘11.5.0. Under this directory, create the directories: bin, data, log, out, reports, and sql.

The d:PRODprodapplmfgl11.5.0 directory will be set to the environment variable MFGL_TOP.

Step 4:        Under Windows, Oracle Applications stores the application top folders in the registry. Update the registry on oracleserver to add the MFGL_TOP base path:

[HKEY_LOCAL_MACHINESOFTWAREORACLEAPPLICATIONS11.5.0 PROD_oracleserver]

MFGL_TOP=”d:PRODprodapplmfgl11.5.0″

Step 5:        To add MFGL_TOP as an environment variable, create customPROD_oracleserver.cmd in the d:PRODprodappl directory and put the following path into this file.

set MFGL_TOP=d:PRODprodapplmfgl11.5.0

Step 6:        Navigate to Security, then ORACLE and finally DataGroup.

Insert a new record. Select the Maryland Financial Group Limited application, add APPS as Oracle ID and enter an optional description. Click Save.

Note that steps 1 to 6 only need to be done once. Since these steps have already been done, there is no need to go do them again.

Step 7:        The data will be loaded via SQL*Loader. Create the control file GLMLAS400.ctl file and place the SQL*Loader command in it. Place the control file in the d:PRODprodapplmfgl11.5.0bin folder.

Step 8:        Set up the concurrent program executable: Navigate to Concurrent, then Program and finally Executable.

Insert a new executable program. Ensure that the Execution Method is SQL*Loader, since selecting Host causes Oracle Application to look for an executable (“.EXE”) program rather than a “.CMD” program on Windows. Click Save.

Step 9:        Define the concurrent program: Navigate to Concurrent, then Program and finally Define.

Insert a new record and fill in the fields to add the new program. Click Save.

Step 10:   Click the Incompatibilities button. Insert a new incompatible program ‘Maryland – Load AS/400 GL Journals’. This will prevent another instance of this program from running if it is running already.

Step 11:    The program must now be set up so that it can be submitted from Standard Request Submission. To submit the program from the General Ledger Manager, the request group for the responsibility must be found. Navigate to Security, then Responsibility, and finally Define.

Search for the ‘General Ledger Manager’ responsibility. Note the name of the Request Group.

Step 12:   Add the new program to the Request Group. To do so, navigate to Security, then Responsibility and finally Request.

Search for the group noted in the previous step (in this case, ‘GL Concurrent Program Group’). Insert a new record for ‘Maryland – Load AS/400 GL Journals’.

Step 13:   Before running the concurrent request, place the data file in the d:PRODprodapplmfgl11.5.0data directory, under the name GLMLAS400GL.dat. If this file already exists in the directory, it can be overwritten.

Step 14:   Choose the General Ledger Manager responsibility. Submit a new request, ‘Maryland – Load AS/400 GL Journals’.

No parameters need to be entered for this request. The request will automatically search for the data file and load it if present. If not, the request completes in error and the log will have to be checked to determine the cause of the error.

For additional information on setting up a custom application, refer to Metalink Doc ID: Note:105127.1, Subject: FAQ (Customization).

Journal Importing GL_INTERFACE Data

This documentation shows how to load journals that were loaded into the GL_INTERFACE table.

Step 1:        Log on as a user with access to the GL responsibility and select the General Ledger Manager responsibility.

Step 2:        Navigate to Journals > Import > Run.

Step 3:        Enter the Source and Group ID. Select Without Validation.

Step 4:        Click Import.

Step 5:        To delete imported journals, navigate to Journals > Import > Delete.

Step 6:        Enter the Source, Request ID and Group ID.

The Request ID is that of the request used to import the journals (check View Requests to determine this ID).

Deleting Print Job

Problem: When a print job is deleted from the queue, it remains in a state of ‘deleting’.

Solution: Stop and restart “Print Spooler” service on the print server.

Importing Supplier Data

We had some problems with loading the data because one of the fields, address_line3 was omitted from the data file. Verify the data file against the control file.

You must log on to the correct responsibility in order to import the data.

Company Org_id
Company A 123
Company B 141
Company C 142

After the data is loaded, two concurrent programs must be run to import the data:

  1. Supplier Open Interface Import
  2. Supplier Sites Open Interface Import

Data is loaded into:

  1. AP_SUPPLIERS_INT
  2. AP_SUPPLIER_SITES_INT

Data is imported into:

  1. PO.PO_VENDORS
  2. PO.PO_VENDOR_SITES_ALL

Change VENDOR_SITE_CODE to ‘PRIMARY’.

For manual entry of vendor numbers, change the settings in the application and populate the SEGMENT1 field.

Valid TERMS_DATE: ‘Net 30 Days’

VENDOR_INTERFACE_ID must be in both tables. Insert it into the data file if necessary.