1 / 12

Object-Oriented PeopleCode

Object-Oriented PeopleCode. USM Regional Oracle/PeopleSoft Conference June 8, 2007. Object-Oriented PeopleCode. How to use object-oriented PeopleCode to manipulate data in the component buffer.

brinda
Download Presentation

Object-Oriented PeopleCode

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object-Oriented PeopleCode USM Regional Oracle/PeopleSoft Conference June 8, 2007

  2. Object-Oriented PeopleCode • How to use object-oriented PeopleCode to manipulate data in the component buffer. • Understanding the four object classes that are used to "traverse the buffer": Rowsets, Rows, Records, and Fields.

  3. Data Buffer Access Classes • What is a Rowset Object? • What is a Row Object? • What is a Record Object? • What is a Field Object?

  4. Data Buffer Access Classes

  5. Functions, Methods, and Properties • Function( ) • GetLevel0( ) • <object>.Method( ) • &RSLevel2.GetRow(12) • <object>.Property • &FldEmplid.Enabled = False;

  6. Longhand and Shorthand Notation • Understanding both longhand notation and shorthand notation -- A four-step recipe to convert from longhand to shorthand. • Optimizing your code for re-usability in multiple applications - the benefits of object-oriented code.  

  7. Advantages of Object-Oriented PeopleCode • A different style of programming is not justified unless it has advantages. • Object-oriented PeopleCode is better organized, easier to maintain, and more reusable than older procedural style PeopleCode.

  8. Data Buffer Access Classes &RSLevel2 = GetRowset(Scroll.TRN_CRSE_ENR_XX); For &I = 1 To &RSLevel2.ActiveRowCount &RecCourseEnr = &RSLevel2.GetRow(&I).GetRecord(Record.TRN_CRSE_ENR_XX); If TRN_CRSE_SES_XX.SESSION_STATUS <> "A" Then &RecCourseEnr.GetField(Field.EMPLID).Enabled = False; &RecCourseEnr.GetField(Field.TRAINING_REASON).Enabled = False; &RecCourseEnr.GetField(Field.STDNT_ENRL_STATUS).Enabled = False; &RecCourseEnr.GetField(Field.COMMENTS).Enabled = False; Else &RecCourseEnr.GetField(Field.EMPLID).Enabled = True; &RecCourseEnr.GetField(Field.TRAINING_REASON).Enabled = True; &RecCourseEnr.GetField(Field.STDNT_ENRL_STATUS).Enabled = True; &RecCourseEnr.GetField(Field.COMMENTS).Enabled = True; End-If; End-For;

  9. Data Buffer Access Classes Reusable Code &TrueOrFalse = (SESSION_STATUS = "A"); &RowCurrent = GetRow(); For &I = 1 To &RowCurrent.ChildCount &RSLevel2 = &RowCurrent.GetRowSet(&I); For &J = 1 To &RSLevel2.ActiveRowCount &RowLevel2 = &RSLevel2.GetRow(&J); For &K = 1 To &RowLevel2.RecordCount &RecLevel2 = &RowLevel2.GetRecord(&K); For &L = 1 To &RecLevel2.FieldCount &RecLevel2.GetField(&L).Enabled = &TrueOrFalse; End-For; End-For; End-For; End-For;

  10. Reusable Code • Put reusable code in a function library or an Application Package. • Leverage the code across multiple applications.

  11. Reusable Code – Function Library Begin-Function EnableDisable (&RowCurrent, &TrueOrFalse) For &I = 1 To &RowCurrent.ChildCount &RSLevel2 = &RowCurrent.GetRowSet(&I); For &J = 1 To &RSLevel2.ActiveRowCount &RowLevel2 = &RSLevel2.GetRow(&J); For &K = 1 To &RowLevel2.RecordCount &RecLevel2 = &RowLevel2.GetRecord(&K); For &L = 1 To &RecLevel2.FieldCount &RecLevel2.GetField(&L).Enabled = &TrueOrFalse; End-For; End-For; End-For; End-For; End-Function;

  12. Wrap Up Questions & Contact Information Tim Burns tim.burns@io-consulting.com

More Related