피플코드

PeopleCode
피플코드
패러다임다중 인터페이스: 객체 지향, 필수
개발자오라클 코퍼레이션

PeopleCode는 PeopleSoft 애플리케이션의 비즈니스 논리를 표현하기 위해 사용되는 독점적인 객체 지향 프로그래밍 언어다.구문론적으로 PeopleCode는 다른 프로그래밍 언어와 유사하며, 느슨한 형식과 강한 형식 모두에서 찾을 수 있다.PeopleCode와 런타임 환경은 더 큰 PeopleTools 프레임워크의 일부분이다.PeopleCode는 시간이 지남에 따라 발전해 왔으며 PeopleSoft 애플리케이션을 통한 구현은 일관성이 결여되어 있다.PeopleCode는 Java 프로그래밍 언어와의 상호운용성을 제공한다.예를 들어 정의 이름 참조를 사용하면 하드 코드화된 문자열 리터럴을 사용하지 않고 레코드 정의 또는 페이지와 같은 PeopleTools 정의를 참조할 수 있다.[1]PeopleCode 데이터 유형 및 메타스트링과 같은 다른 언어 기능은 PeopleTools와 구조화된 질의 언어(SQL)의 긴밀한 상호작용을 반영한다.PeopleCode의 도트 표기법, 클래스 및 방법은 Java와 같은 다른 객체 지향 언어와 유사하다.객체 구문은 PeopleTools 8의 중요한 기능이었다.[2]

언어 기능

지원되는 기능

PeopleCode는 다음과 같은 유형의 기능을 지원한다.[3]

  • 기본 제공:PeopleCode 기능의 표준 집합.이것들은 신고되지 않고 호출될 수 있다.
  • 내부:호출되는 PeopleCode 프로그램 내에서 (기능 문을 사용하여) 정의되는 기능.
  • 외부 PeopleCode: PeopleCode 기능은 호출 프로그램 외부에서 정의된다.이것들은 일반적으로 기능 라이브러리의 역할을 하는 기록 정의에 포함되어 있다.
  • 외부 비 PeopleCode:외부(C 호출 가능) 라이브러리에 저장된 함수.

게다가 피플코드는 방법을 지원한다.내장함수와 방법의 주요 차이점은 다음과 같다.

  • 내장 함수는 그 자체로 선상에 있으며, (일반적으로) 어떠한 의존성도 갖지 않는다.
  • 객체를 인스턴스화하기 전에 함수를 사용할 수 있다.
  • 메서드는 (점 표기법을 사용하여) 객체에 의해서만 실행될 수 있다.
  • 그 물체는 먼저 인스턴스화되어야 한다.

응용 프로그램 클래스 구조 설명

  • 이 클래스가 확장하는 슈퍼 클래스를 포함하여 클래스에서 사용할 클래스 가져오기
PackageName 가져오기:슈퍼클래스 이름;
  • 클래스는 클래스 구성을 사용하여 정의된다.
Class Classname [Extends SuperClassname] [Method_declaration] [Property_declaration] [Instance_decalarion] [Constant 선언] End-class;
  • 첫 번째 선언 집합은 공개 외부 인터페이스의 일부인 속성 및 방법이다.
속성 데이터 유형 속성 이름 [get][set];MethodName([parameter_list]) 
  • 개인 인스턴스(instance) 변수, 상수 및 메서드가 키워드Private.
개인 인스턴스 DataType &InstanceName; 상수 &Constant = {Number String True False Null};
  • 키워드end-class속성, 방법, 인스턴스 및 상수의 선언을 따른다.
  • 에 이어end-class키워드 및 이전get그리고set정의 또는 방법 정의, 방법에 의해 사용될 모든 변수 및 함수를 선언한다.
  • Get and set 메서드는 get and set 키워드로 선언된 속성에 해당한다.
  • 사용 aget값을 반환할 PeopleCode를 실행하는 메서드 정의.
속성 이름 반환 &Value 가져오기; 엔드-겟;
  • 사용 aset값을 변경할 PeopleCode를 실행하는 메서드 정의.
PropertyName 엔드셋 설정;
  • 방법 정의는 함수 정의와 유사하다.
방법 방법명세서, 엔드-메소드;
  • 방법 정의의 특별한 경우는 다음과 같다.constructor.
  • 생성자는 클래스와 이름이 같으며 클래스가 인스턴스화되면 항상 실행된다.
  • 일부 다른 클래스를 확장하지 않는 클래스는 생성자를 필요로 하지 않는다.
  • 다른 클래스를 확장하는 클래스는 생성자가 있어야 하며, 생성자에서는 해당 슈퍼클래스를 초기화해야 한다.

PeopleCode에서 SQL 실행

  • A이SQLExec(내장 기능)을 사용하여 단일 행만 전달SQL클래스여러 행을 검색하고 처리할 수 있다.
  • 를 사용하여 SQL 개체 인스턴스화CreateSQL내장 함수
    • 사용하다CreateSQL("SQLString")SQL 객체에 텍스트 문자열을 전달하십시오.
    • 사용하다GetSQL(SQL.sqlname)SQL 정의에서 SQL을 가져오는 방법.
&SQL = CreateSQL("SQL 문", [bind 값]);

바인딩 변수의 값은 생략하고 나중에 제공할 수 있다.삽입, 업데이트 또는 삭제 명령의 경우 이 값은 다음을 사용하여 제공됨Executemethod. (필요한 입력값이 모두 공급되면 SQL은 즉시 실행된다.)

&SQL = CreateSQL("SQL 문"); &SQL.실행([bind_values]);
  • Select 문을 포함하는 SQL 개체의 경우Fetch메소드는 커서로부터 다음 행을 검색하는 데 사용된다.

PeopleCode Functions, retrieved 2008-12-14

참고 항목

외부 링크

참조

  1. ^ Delia, Tony 등.(2001).Peoplesoft 개발 및 사용자 정의에 대한 필수 가이드.매닝 출판사 페이지260
  2. ^ Delia, Tony 등.(2001).Peoplesoft 개발 및 사용자 정의에 대한 필수 가이드.매닝 출판사 페이지 417
  3. ^ 델리아, 토니 외 연구진(2001)Peopleoft 개발 및 맞춤화에 대한 필수 가이드 페이지 375