2010-02-02 1 views

답변

3

기본 파일은 RPG 논리주기를 사용하여 데이터를 읽습니다. 전체 절차 파일은 논리가 데이터 레코드에 대한 액세스를 제어하는 ​​파일입니다. 전체 절차 파일이 가장 보편적 인 사용법입니다. 사실, 나는 학교 때부터 논리 순환을 사용하는 프로그램을 작성한 적이 없다고 생각합니다. I 드물게 야생에서 그들을보십시오.

RPG 논리주기는 다음과 같이 거의 작동합니다

  1. 파일에 기록을 읽어보십시오.
  2. 다시 처음으로 이동 상세 수준 계산 사양을 수행하여 RPG 프로그램에서 필드에 파일 영역에서 데이터를 이동
  3. 레벨 휴식 계산 사양
  4. 을 수행합니다.

마지막 레코드를 읽은 후 LR 표시기가 설정되고 레벨 구분 계산이 실행 된 다음 프로그램이 종료됩니다.

+1

나를 믿으십시오, 그들은 아직도 거기 있습니다. 필자는 프로그램 사이클을 통해 많은 프로그램을 작성했습니다. 항상 "총 시간"표시기를 좋아했습니다. 다른 지역 (물류, ERP)에서 일했거나 어쩌면 단지 나이 일 수도 있습니다. ;;-) – robertnl

+1

"총 시간"입니다. 오랫동안 듣지 못한 표현이 있습니다. –

+0

PERL에는 초기 RPG를 연상케하는 사이클 논리가있는 모드가 있음이 드러났습니다. 그 양태는 두 언어 모두에서 부끄럽지 만, 모든 패러다임은 특정 문제의 요구를 잘 충족시키는 순간을 가지고 있습니다. 이제 우리는 효율성을 높이고 유연한 제어를 위해 부분적으로 그것을 벗어났습니다. 작업이 현재주기에 이상적으로 적합한 경우에도 나중에 새 기능에 해당주기에 적합하지 않은 논리가 필요하다는 사실을 알게됩니다. 그리고 @robertnl, 저는 나이라고 생각합니다 ;-) – WarrenT

1

예, RPG가 다를 경우 COMPLETELY입니다. 동일한 데이터베이스 테이블이지만 프로그램 로직의 100 % 다른 방법.

이 선택은 RPG 프로그래밍의 심장부입니다. 따라서 RPG Programmer's guide을 읽는 것이 좋습니다.

iSeries 프로그래밍을 처음 접했을 때 (그리고 내가 알고있는 다른 질문으로 ;-) 완전한 절차 파일을 사용하십시오. 이것은 다른 언어 및 시스템과 유사합니다.

더욱 향상된 ILE RPG 버전을 사용하십시오. 이것은 다른 언어 (프로 시저, 함수, 지역 변수 및 자유 형식)에서 아는 모든 개념을 지원합니다. 이전 버전도 꽤 훌륭하고 제작 된대로 작동하지만 개념은 좀 더 이국적입니다.

1

'P'rimary 파일은 SQL FROM 테이블과 다소 비슷합니다. SQL을 사용하면 UPDATE 또는 DELETE 문을 실행할 때 테이블에서 다음 행을 읽을시기를 명시 적으로 지정할 필요가 없습니다. WHERE으로 처리 할 행과 열에 대해 취할 수있는 조치를 지정하기 만하면됩니다. 기본 논리에서 디스크 I/O의 타이밍을 직접 제어 할 수는 없습니다. RPG (및 SQL)는 자동으로 처리합니다.

그러나 SQL의 FETCH 문을 사용하여 개별 행 처리를보다 직접 제어 할 수도 있습니다. SQL FETCH ed 테이블과 같은 RPG의 F'ull-procedural 파일을 생각할 수 있습니다. 'F'ull-procedural processing'을 사용하면 레코드간에 이동하기 위해 READ 또는 WRITE과 같은 연산 (동사)을 코딩해야합니다.

그런 의미에서 RPG 'P'rimary 파일의 이전 culture에서 나중에 RPG'F'ull-procedural 파일로 이동하는 것은 SQL과 같은보다 현대적인 무언가가 존재하기 전에 더 원시적 인 형태의 데이터베이스 상호 작용으로가는 것과 같습니다.

동시에 RPG 언어의 지속적인 발전으로 RPG는 근본적인 뿌리 인 "R'eport 'P'rogram과 꼭 필요한 시각적 인 관계가없는 오늘날의 자유 형식 언어로 진화 할 수있었습니다 '발전기. 오늘날 IBM의 많은 시스템 프로그래머는 C보다 더 자주 사용합니다 (C는 여전히 몇 가지 주목할만한 장점을 가지고 있습니다. 예를 들어, 다른 언어에서는 사용할 수없는 고급 옵티 마이저, 교대와 같은 비트 레벨 조작, RPG가 적절한 지 여부에 따라 어떤 기능이 필요한지에 따라 RPG에서보다 빠른 개발이 가능합니다.)

'P'rimary (및'S'secondary 및 관련) 파일의 용도를 이해하려면 ' RPG "주기"가 어떻게 작동하는지 이해해야합니다. 'F'ull-procedural 파일을 사용하면 효과적으로'주기 '버전을 코딩 할 수 있습니다. 당신이 대가로 얻는 것은 어떤 식 으로든 당신을 제한하지 않는 '순환'입니다. 논리는 당신이 그것을 코드화하는 것과 정확히 같습니다.