Tuesday, September 12, 2023

How To Start A Business

                              How To Start A Business 

 

Starting a business is simple if you follow this guide which explains all the necessary steps. 





Considering Starting A Business?

Many people are starting their own business nowadays due to the rise of digitalisation. Starting your own business has its pros and cons.

Pros: You are your own boss, you can work to your own schedule and creative freedom.

Cons: It is a high risk, it requires a lot of hard work and dedication and you may be unfamiliar with new tasks and duties.  


Do Your Research.

Before deciding what type of business you want to get into, you should do your research. 

Once you have made up your mind, kickstart a business plan to help you on where to begin and where you want your business to go. It also gives you an overview of what is trending in the industry.


Register Your Business

The most important step is to register your business. There are two options when it comes to business registration; either do it yourself or find a services company to handle the process for you.

There are many factors when it comes to registering your business; e.g business name, ownership requirements and appointing an auditor( a person authorised to review and verify the accuracy of  financial records and to ensure that companies comply with tax laws)


Secure Funding

Without adequate capital, you will not be able to hire staff, which can seriously limit your potential to grow and gain market share.

Furthermore, without the necessary funds, you will not be able to invest in marketing or advertising campaigns which could reach a wider audience.





Surround Yourself With The Right People

The right people can offer valuable advice and guidance on the dos and don'ts of starting a business. They can also share their experiences and help you avoid common mistakes. 

Moreover, surrounding yourself with people who are better than you can be a source of inspiration.



Congratulations!

You have the basic skills and tips to jumpstart business! By following these simple steps, you can start a business without any major complications.




                                                                                                                                                         By Sai Keerthana










Friday, May 20, 2016

Code to restrict duplicate rows in XML Publisher

Below is the example and code to skip printing of duplicate values. Sample Data (PAYMENT DATE) 1. 30 May 2015 2. 30 May 2015 Condition to be added before the field.

Sunday, April 12, 2015

SQL query to find out list of users who have access to a Page and information on which Permission list enables the user to access the page:

SELECT DISTINCT oprid, oprclass FROM psoprcls WHERE oprclass IN (SELECT DISTINCT classid FROM psauthitem WHERE pnlitemname = :1)

This query can be modified as below to see if a user has access to a particular component and if yes through which permission list.

SELECT DISTINCT oprid, oprclass FROM psoprcls WHERE oprclass IN ( SELECT DISTINCT classid FROM psauthitem WHERE pnlitemname = :1--required component name) AND oprid = :2 --required userid

How to Query Which Components Are Accessed by Which Roles? For example, for component "JOB_DATA", to find out which role should be given to a user which gives them access to that component or page use the following SQL.

SELECT * FROM psauthitem A, psroleclass B, psroleuser C WHERE A.baritemname IN ( :1 ) AND A.classid = B.classid AND C.rolename = B.rolename AND C.roleuser = 'PS'

SQL Query to find out navigation in Peoplesoft application using the Component Name

SELECT A.PORTAL_OBJNAME COMPONENT, DECODE(E.PORTAL_LABEL, 'Root', 'Home > ', '', '', E.PORTAL_LABEL || ' > ') || DECODE(D.PORTAL_LABEL, 'Root', 'Home > ', '', '', D.PORTAL_LABEL || ' > ') || DECODE(C.PORTAL_LABEL, 'Root', 'Home > ', '', '', C.PORTAL_LABEL || ' > ') || DECODE(B.PORTAL_LABEL, 'Root', 'Home > ', '', '', B.PORTAL_LABEL || ' > ') || A.PORTAL_LABEL NAVIGATION FROM SYSADM.PSPRSMDEFN A, SYSADM.PSPRSMDEFN B, SYSADM.PSPRSMDEFN C, SYSADM.PSPRSMDEFN D, SYSADM.PSPRSMDEFN E WHERE A.PORTAL_PRNTOBJNAME = B.PORTAL_OBJNAME(+) AND B.PORTAL_PRNTOBJNAME = C.PORTAL_OBJNAME(+) AND C.PORTAL_PRNTOBJNAME = D.PORTAL_OBJNAME(+) AND D.PORTAL_PRNTOBJNAME = E.PORTAL_OBJNAME(+) AND (A.PORTAL_NAME = 'EMPLOYEE' OR A.PORTAL_NAME IS NULL) AND (B.PORTAL_NAME = 'EMPLOYEE' OR B.PORTAL_NAME IS NULL) AND (C.PORTAL_NAME = 'EMPLOYEE' OR C.PORTAL_NAME IS NULL) AND (D.PORTAL_NAME = 'EMPLOYEE' OR D.PORTAL_NAME IS NULL) AND (E.PORTAL_NAME = 'EMPLOYEE' OR E.PORTAL_NAME IS NULL) AND A.PORTAL_OBJNAME like UPPER('%COMPONENT NAME%') ORDER BY 2;

Monday, September 3, 2012

Sending Email Using Application Engine (XML Publisher Report as Attachment)


Our understanding of XML Publisher are getting broader. There are a lot that you can do with this tool, I decided to incorporate the email functionality of PeopleSoft with the XML Publisher. How would you like if the batch thatproduced report output last night can be emailed to you automatically? I know a lot of people would love that!

With our knowledge on how to code XMLP report, we will just add codes to our existing PeopleCode in XML Publisher Part 2 that tells the PeopleSoft to send that report to an email. Here's the code (added codes are in bold text).

import PSXP_RPTDEFNMANAGER:*;
import PSXP_XMLGEN:*;
import PT_MCF_MAIL:*;


/*Create an email object by setting individual parameters*/
Local PT_MCF_MAIL:MCFOutboundEmail &eMail = create
PT_MCF_MAIL:MCFOutboundEmail();

&sRptDefn = "JOB_DEFN";
&sTemplateId = "JOB_TEMP";
&sLangCode = "";
&dtAsOfDate = %Date;
&sOutputFmt = "PDF";
&RptOutputDir = "c:\temp\" "XMLP";

&ReportDef.OutDestination = &RptOutputDir;

/*Set-Up Report*/
&ReportDef = create PSXP_RPTDEFNMANAGER:ReportDefn(&sRptDefn);
&ReportDef.Get();
Free Website Hosting
/*Create Rowset*/
&rs = CreateRowset(Record.PERSONAl_DATA);


/*Fill Rowset*/&rs.FILL("WHERE FILL.EMPLID LIKE 'EID000%'");

/*Create Schema*/
&rds = create PSXP_XMLGEN:RowSetDS(); /*package method*/
&mySchema = &rds.GetXSDSchema(&rs);
&f1 = GetFile("c:\temp\JOB_XSD.xsd""W"%FilePath_Absolute);
&f1.WriteLine(&mySchema);
&f1.Close();


/*Create Sample XML File*/
&myXMLFile = &rds.GetXMLData(&rs, "c:\temp\JOB_XSD.xsd");
&f2 = GetFile("c:\temp\JOB_XML.xml""W"%FilePath_Absolute);
&f2.WriteLine(&myXMLFile);
&f2.Close();


/* output format */
&sOutputFormat = &sOutputFmt;

/*Provide a Data Source for the Report*/
&ReportDef.SetRuntimeDataRowset(&rs);

/*Generate the Report*/
&ReportDef.ProcessReport(&sTemplateId, %Language_User%Date, &sOutputFormat);

/*Publish the Report*/
&ReportDef.Publish("", &RptOutputDir, "XMLP", JOB_AET.PROCESS_INSTANCE);
&sFileExt = GetFileExtension(&sOutputFormat);


/*Send Mail*/&ToList = "to_user@yahoo.com";&FromList = "from_user@acme.com";&ReplyToList = "
from_user@acme.com";
&Subject = "Batch Run Email";
&eMail.Recipients = &ToList; /*comma separeted list of email addresses*/
&eMail.From = &FromList/*from email address*/&eMail.ReplyTo = &ReplyToList; /*in case the reply is to be sent to a different email address*/
&eMail.Subject = 
&Subject;

/*Body for multiple parts*/
Local string &plain_text = "Test for XML Email from PeopleSoft";
Local PT_MCF_MAIL:MCFBodyPart &text = create
PT_MCF_MAIL:MCFBodyPart();
&text.Text = &plain_text;

Local 
PT_MCF_MAIL:MCFBodyPart &attach = createPT_MCF_MAIL:MCFBodyPart();&attach.SetAttachmentContent(&RptOutputDir "JOB_DEFN.pdf",%FilePath_Absolute, "JOB_DEFN.pdf", "JOB_DEFN""""");

Local 
PT_MCF_MAIL:MCFMultiPart &mp = createPT_MCF_MAIL:MCFMultiPart();
&mp.AddBodyPart(&text);
&mp.
AddBodyPart(&attach);
&eMail.Multipart = ∓
Free Website Hosting
/*Override the default SMTP parameters specified in app server configuration file*/
&eMail.SMTPServer = "smtp.service.acme.com"/*just an example*/
&eMail.SMTPPort = 25/*usually this is 25 by default*/

Local integer &resp = &eMail.Send();
/*now check &resp for the result*/
Local boolean &done;
Evaluate &resp
When %ObEmail_Delivered
/*every thing ok*/
&done = True;
Break;
When %ObEmail_NotDelivered
/*check &eMail.InvalidAddresses, &eMail.ValidSentAddresses and &eMail.ValidUnsentAddresses*/
&done = False;
Break;
When %ObEmail_PartiallyDelivered/*check &eMail.InvalidAddresses, &eMail.ValidSentAddresses and &eMail.ValidUnsentAddresses*/
&done = True;Break;
When %ObEmail_FailedBeforeSending
/*get the formatted messages from &eMail.ErrorDescription, &eMail.ErrorDetails*/
&done = False;
Break;
End-Evaluate;


CommitWork();

Monday, July 30, 2012

Peoplecode: Writing to file using Write Rowset


Local File &myFile;
Local Rowset &fileRowset1, &fileRowset;
Local Row &fileRow;

&myFile = GetFile("c:\temp\test.txt", "W", %FilePath_Absolute);

If &myFile.SetFileLayout(FileLayout.TEST_FILE_LAYOUT) Then
   &fileRowset = &myFile.CreateRowset();
   &fileRowset = GetLevel0();
   &fileRow = &fileRowset.GetRow(1);
   &fileRowset1 = &fileRow.GetRowset(Scroll.TEST_BU_REC);
   &myFile.WriteRowset(&fileRowset1);
End-If;

******* Comment ********

The code should be written on the key fields
For accessing further levels we have to give full scroll path

****************** to access next levels ********************
Local File &myFile;
Local Rowset &fileRowset1, &fileRowset;
Local Row &fileRow;

&myFile = GetFile("c:\temp\myfiledept.txt", "W", %FilePath_Absolute);

If &myFile.SetFileLayout(FileLayout.TEST_FILE_LAYOUT) Then
   &fileRowset = &myFile.CreateRowset();
   &fileRowset = GetLevel0();
   &fileRow = &fileRowset.GetRow(1);
   &fileRowset1 = &fileRow.GetRowset(Scroll.TEST_BU_REC).GetRow(1).GetRowset(Scroll.TEST_DEPT_REC);
   &myFile.WriteRowset(&fileRowset1);
End-If;

********************** end ************************************

Peoplecode: Writing to file using Write Record


Local Record &RecLine;
Local File &MYFILE;
Local SQL &SQL2;

&MYFILE = GetFile("c:\temp\test.txt", "W", %FilePath_Absolute);


If &MYFILE.SetFileLayout(FileLayout.TEST_FILE_LAYOUT) Then
   &RecLine = CreateRecord(Record.TEST_EMP_REC);
   &SQL2 = CreateSQL("%Selectall(:1)", &RecLine);
   While &SQL2.Fetch(&RecLine)
      &MYFILE.WriteRecord(&RecLine);
   End-While;
End-If;

&MYFILE.Close();

SQLExec : Return: 8015 - Bind value is too long


You get this error in an online page or while running a Application engine program. This error happens when you try to insert more than 254 characters in a long field using sqlexec and do not use %TextIn meta sql.
Resolution
Use %TextIn meta-sql for the bind variable that is used for inserting into a long field. For e.g. %TextIn(:1)
%TextIn is documented in peoplebooks and is mandatory for all insertions/update of LongChar fields using sqlexec for all database platforms.
Here are some resolutions that discusses this issue in Metalink – Oracle support site.
E-AE Application Engine PeopleCode Step with SQLExec Receives Error; return code 8015 "Bind value is too long" [ID 889806.1]
E-PC:"Bind value is too long" Error When Using SQLExec to Insert into Long Char Field [ID 620874.1]