Assume you have a collection on the Component Interface and you want to insert a new row into the collection.
This would be the equivalent of hitting the ‘+’ button on an online page (Scroll area).
To insert a new row to the collection one can use the InserItem method. one need to specify the index (row number in rowset) while using the method.
&myItem = &Collection.InsertItem(1);
Below is the code for inserting rows in the Transcript Text component in PeopleSoft Campus Solution.
Global File &fileLog;
Global string &FileName;
Global string &PROCESS_INSTANCE;
Global string &RUN_CNTL_ID;
Local ApiObject &oSession, &oLTscrptTextCi;
Local ApiObject &oPersnlFerpaVwCollection, &oPersnlFerpaVw;
Local ApiObject &oSrvcIndSelVwCollection, &oSrvcIndSelVw;
Local ApiObject &oStdntCareerCollection, &oStdntCareer;
Local ApiObject &oTscrptTextLocCollection, &oTscrptTextLoc;
Local ApiObject &oTscrptTextCollection, &oTscrptText;
Function errorHandler()
Local ApiObject &oPSMessageCollection, &oPSMessage;
Local number &i;
Local string &sErrMsgSetNum, &sErrMsgNum, &sErrMsgText, &sErrType;
&oPSMessageCollection = &oSession.PSMessages;
For &i = 1 To &oPSMessageCollection.Count
&oPSMessage = &oPSMessageCollection.Item(&i);
&sErrMsgSetNum = &oPSMessage.MessageSetNumber;
&sErrMsgNum = &oPSMessage.MessageNumber;
&sErrMsgText = &oPSMessage.Text;
End-For;
rem ** Delete the Messages from the collection **;
&oPSMessageCollection.DeleteAll();
End-Function;
&FileName = "DOCKEY_GENERATION_PRCS_LOG" | ".TXT";
&fileLog = GetFile(&FileName, "W");
try
rem ** Set the Log File **;
&fileLog = GetFile("C:\Users\MUHAMM~1\AppData\Local\Temp\L_TSCRPT_TEXT_CI.log", "w", "a", %FilePath_Absolute);
rem &fileLog.WriteLine("Begin");
rem ** Get current PeopleSoft Session **;
&oSession = %Session;
rem ** Set the PeopleSoft Session Error Message Mode **;
rem ** 0 - None **;
rem ** 1 - PSMessage Collection only (default) **;
rem ** 2 - Message Box only **;
rem ** 3 - Both collection and message box **;
&oSession.PSMessagesMode = 1;
rem ** Get the Component Interface **;
&oLTscrptTextCi = &oSession.GetCompIntfc(CompIntfc.L_TSCRPT_TEXT_CI);
If &oLTscrptTextCi = Null Then
errorHandler();
throw CreateException(0, 0, "GetCompIntfc failed");
End-If;
rem ** Set the Component Interface Mode **;
&oLTscrptTextCi.InteractiveMode = True;
&oLTscrptTextCi.GetHistoryItems = True;
&oLTscrptTextCi.EditHistoryItems = True;
rem ** Set Component Interface Get/Create Keys **;
&oLTscrptTextCi.EMPLID = "20260";
&oLTscrptTextCi.ACAD_CAREER = "UGDS";
&oLTscrptTextCi.STDNT_CAR_NBR = 0;
rem ** Execute Get **;
If Not &oLTscrptTextCi.Get() Then
rem ** No rows exist for the specified keys.**;
errorHandler();
throw CreateException(0, 0, "Get failed");
End-If;
rem ** Begin: Get/Set Component Interface Properties **;
rem ** Set/Get STDNT_CAREER Collection Field Properties -- Parent: PS_ROOT Collection **;
&oStdntCareerCollection = &oLTscrptTextCi.STDNT_CAREER;
Local integer &i126;
rem For &i126 = 1 To &oStdntCareerCollection.Count;
rem &oStdntCareer = &oStdntCareerCollection.Item(&i126);
&oStdntCareer = &oStdntCareerCollection.Item(1);
rem ** Set TSCRPT_TEXT_LOC Collection Field Properties -- Parent: STDNT_CAREER Collection **;
&oTscrptTextLocCollection = &oStdntCareer.TSCRPT_TEXT_LOC;
rem Local integer &i228;
rem For &i228 = 1 To &oTscrptTextLocCollection.Count;
&oTscrptTextLoc = &oTscrptTextLocCollection.Item(1);
&oTscrptTextLoc = &oTscrptTextLocCollection.InsertItem(1);
rem &oTscrptTextLoc.PRINT_LOC_SEQ = [*];
&oTscrptTextLoc.RELATIVE_POSITION = "K";
&oTscrptTextLoc.PRINT_LOC = "K";
&oTscrptTextLoc.INSTITUTION = "LUMS";
rem &oTscrptTextLoc.STRM = [*];
rem &oTscrptTextLoc.STDNT_DEGR = [*];
rem &oTscrptTextLoc.MILESTONE_NBR = [*];
rem &oTscrptTextLoc.MODEL_NBR = [*];
rem &oTscrptTextLoc.EXT_ORG_ID = [*];
rem &oTscrptTextLoc.EXT_DEGREE_NBR = [*];
rem ** Set TSCRPT_TEXT Collection Field Properties -- Parent: TSCRPT_TEXT_LOC Collection **;
&oTscrptTextCollection = &oTscrptTextLoc.TSCRPT_TEXT;
rem Local integer &i339;
rem For &i339 = 1 To &oTscrptTextCollection.Count;
&oTscrptText = &oTscrptTextCollection.Item(1);
&oTscrptText = &oTscrptTextCollection.InsertItem(1);
REM &oTscrptText.TEXT_SEQ_NBR = [*];
&oTscrptText.TRANSCRIPT_LEVEL = "00"; /* Never Print */
rem &oTscrptText.TSCRPT_TYPE = [*];
&oTscrptText.SSR_TRANSCRIPT_TXT = "My Transcript Text";
rem &oTscrptText.TSCRPT_TYPE2 = "OUGDS";
rem End-For;
rem End-For;
rem End-For;
rem ** End: Get/Set Component Interface Properties **;
rem ** Execute Save **;
If Not &oLTscrptTextCi.Save() Then;
errorHandler();
throw CreateException(0, 0, "Save failed");
End-If;
rem ** Execute Cancel **;
rem If Not &oLTscrptTextCi.Cancel() Then;
rem errorHandler();
rem throw CreateException(0, 0, "Cancel failed");
rem End-If;
catch Exception &ex
rem Handle the exception;
MessageBox(0, "", 0, 0, "" | &ex.ToString());end-try;
rem &fileLog.WriteLine("End");
&fileLog.Close();
No comments:
Post a Comment