Outsourcing: Villain of the piece?

President Barrack Obama’s views on ‘outsourcing’, articulated in the run up to the US presidential elections, is a real cause for concern for the $60-billion Indian IT and ITES industry, which has grown rapidly on US orders, in the last over a decade.


Obama had spelt out his views against outsourcing and is opposed to companies shipping jobs overseas. However, one hopes pragmatism will replace the rhetoric, now that he is the US President and that he will see the mutually beneficial, ‘win-win’ strategic advantages of outsourcing.

Post your comments on this topic…

Code to Send Email from Oracle DB

Code to Send Email from Oracle DB



DECLARE
v_connection UTL_SMTP.CONNECTION;
BEGIN
v_connection := UTL_SMTP.OPEN_CONNECTION(’mail.company.com’,25);
UTL_SMTP.HELO(v_connection,’mail.company.com’);
UTL_SMTP.MAIL(v_connection,’contact@company.com’);
UTL_SMTP.RCPT(v_connection,’contact@company.com’);
UTL_SMTP.DATA(v_connection,’Testing Hello Mail’);
UTL_SMTP.QUIT(v_connection);
END;

Code to create App Engine Process (Example)

See below the example to create process and schedule it as well ….

Function ScheduleNotification(&sRunCntl As string, &nMinuteOffset As number)

&RQST = CreateProcessRequest();
&RQST.ProcessType = “Application Engine”;

&RQST.ProcessName = “MRKCEM_WF_AE”;
&RQST.RunControlID = &sRunCntl;
SQLExec(”SELECT SERVERNAME FROM PS_RB_WF_DEFAULTS”, &WFACTIONSERVER);
If None(&WFACTIONSERVER) Then
&WFACTIONSERVER = “SERVER”;
End-If;


&RQST.RunLocation = &WFACTIONSERVER;
&RQST.OutDestType = “%OutputDirectory%”;
&RQST.OutDestFormat = “SPF”;
&RQST.OutDest = “C:\TEMP\”;
&RQST.RunDateTime = AddToDateTime(%Datetime, 0, 0, 0, 0, &nMinuteOffset, 0);
&RQST.TimeZone = %ServerTimeZone;
&RQST.Schedule();
&PRCSSTATUS = &RQST.Status;

End-Function;

Simple Code to check values in Array

To check the values of array , delete this code after done
&J = 1;
While &LNARRAY.Next(&J)
WinMessage(&LNARRAY [&J]);
End-While;

Error Trapping Application Class (Example)

See below the example, which uses application package & class, to trap the error comes in your program. This is reusable in all programs so I found it very useful.

/* Code to write in your code to call Error trap method */

import PKG:CLASS_PKG:*;

Local CLASSname &objName = create CLASSname();

try
—–
catch Exception &ex1
&objName.errorHandler(&ex1, “EOTP_PKG.EOTP_MAIN_PKG.TPMUtil.log”, True);
end-try;


/* Code to write in App Class for Error trap */

method errorHandler(&inputException As Exception, &logToFileName As string, &writeToFile As boolean);

/** This method writes the collection of error messages to a log file.
* Automatically puts the document in the directory specified by the
* TEMP system variable.
*
* So, on Windows, if %TEMP is defined to be C:\temp, then it will put
* the file into C:\temp\<&logToFileName> .
*
* If the &writeToFile parameter is true, then the method will write the
* output to a file. Otherwise, if you just want the output to be written
* to the screen in a MessageBox, you can leave the &logToFileName parameter
* blank (make it “” or something — the method won’t pay attention to it),
* and make the &writeToFile parameter False.
*/

method errorHandler
/+ &inputException as Exception, +/
/+ &logToFileName as String, +/
/+ &writeToFile as Boolean +/
Local number &i;
Local string &strErrMsgSetNum, &strErrMsgNum, &strErrMsgText, &strErrType;

&strErrMsgSetNum = String(&inputException.MessageSetNumber);
&strErrMsgNum = String(&inputException.MessageNumber);
&strErrMsgText = String(&inputException.ToString());
If (&writeToFile) Then
Local File &logToFile = GetFile(GetEnv(”TEMP”) | “\” | &logToFileName, “a”, %FilePath_Absolute);
&logToFile.WriteLine(%Datetime | “:”);
&logToFile.WriteLine(&strErrType | ” (” | &strErrMsgSetNum | “,” | &strErrMsgNum | “) - ” | &strErrMsgText);
Else
MessageBox(0, “”, &inputException.MessageSetNumber, &inputException.MessageNumber, &inputException.ToString());
End-If;
end-method;