OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5...

181
OpenFrame OSI 운영자 안내서 소프트웨어 OpenFrame/Online v5.3 안내서 버전 v1.2 Copyright © 2008 TmaxSoft Co., Ltd. All Rights Reserved.

Transcript of OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5...

Page 1: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서

소프트웨어

OpenFrame/Online v5.3

안내서 버전 v1.2

Copyright © 2008 TmaxSoft Co., Ltd. All Rights Reserved.

Page 2: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서 2

Copyright Notice

Copyright © 2008 TmaxSoft Co., Ltd. All Rights Reserved.

TmaxSoft Co., Ltd.

서울특별시 강남구 대치동 946-1 글라스타워 18층 우)135-708

Restricted Rights Legend

This software and documents are made available under the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms of this agreement. No part of this document may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, or optical, without the prior written consent of TmaxSoft Co., Ltd.

이 소프트웨어 및 안내서는 오직 TmaxSoft Co., Ltd.와의 사용권 계약 하에서만 이용이 가능하며, 사용권 계약에 따라서 사용하거나 복사할 수 있습니다. 또한 이 안내서에서 언급하지 않은 정보에 대해서는 보증 및 책임을 지지 않습니다. 이 안내서에 대한 권리는 저작권에 보호되므로 발행자의 허가 없이 전체 또는 일부를 어떤 형식이나, 사진 녹화, 기록, 정보 저장 및 검색 시스템과 같은 그래픽이나 전자적, 기계적 수단으로 복제하거나 사용할 수 없습니다.

Trademarks

Tmax, WebtoB, WebT, JEUS and OpenFrame are registered trademarks of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies.

Tmax, WebtoB, WebT, JEUS, OpenFrame은 TmaxSoft Co., Ltd.의 등록 상표입니다. 기타 모든 제품들과 회사 이름은 각각 해당 소유주의 상표로서 참조용으로만 사용됩니다.

안내서 정보

안내서 제목: OpenFrame OSI 운영자 안내서

발행일: 2008년07월15일

소프트웨어 버전: OpenFrame/Online v5.3

안내서 버전: v1.2

Page 3: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서 3

연락처

Korea TmaxSoft Co., Ltd. 18F Glass Tower, 946-1, Daechi-Dong, Kangnam-Gu, Seoul 135-708 South Korea Tel: 82-2-6288-2114 Fax: 82-2-6288-2115 Email: [email protected] Website: http://www.tmax.co.kr

USA TmaxSoft, Inc. US Headquarter (San Jose) 130 Rio Robles San Jose, CA 95134, USA Tel: 1-408-321-2400 Fax: 1-408-321-2444 Email: [email protected] Website: http://www.tmaxsoft.com Sales Office (New Jersey) 560 Sylvan Ave, Englewood Cliffs NJ 07632, USA Tel: 1-201-567-8266 Fax: 1-201-567-7339 Email: [email protected] Website: http://www.tmaxsoft.com

Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073 Japan Tel: 81-3-5765-2550 Fax: 81-3-5765-2567 Email: [email protected] Website: http://www.tmaxsoft.co.jp

Page 4: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서 4

China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan, Chao yang District, Beijing, China, 100027 Tel: 86-10-6410-6145~8 Fax: 86-10-6410-6144 Email: [email protected] Website: http://www.tmaxchina.com.cn Shanghai Office Room 4123, 41 Floor, China Development Bank Building, No.500 Pudong Road(s), Shanghai, China, 200120 Tel: 86-21-6019-5751 Fax: 86-21-61095750 Email: [email protected] Website: http://www.tmaxsoft.com.cn

Page 5: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서 5

내용 목차

안내서에 대하여................................................................................................ 10

안내서의 대상 ......................................................................................................... 10

안내서의 전제 조건 ................................................................................................. 10

안내서의 제한 조건 ................................................................................................. 10

안내서 구성............................................................................................................. 11

안내서 규약............................................................................................................. 12

시스템 사용 환경 .................................................................................................... 13

관련 안내서............................................................................................................. 14

제1장 개요 ........................................................................................................ 15

1.1 OpenFrame/Online 소개 ................................................................................. 15

1.2 OSI 소개 ........................................................................................................... 16

1.3 OSI 구조 ........................................................................................................... 17

OSI 시스템 모듈 ............................................................................................................ 19

OSI 사용자 모듈 ............................................................................................................ 21

제2장 OSI 시스템 서버 설정.............................................................................. 23

2.1 소개 .................................................................................................................. 23

2.2 시스템 환경 설정(configuration) 파일 ............................................................. 23

online.conf................................................................................................................... 24

osi.conf ........................................................................................................................ 26

2.3 시스템 정의(system definition)....................................................................... 30

데이터 셋 생성............................................................................................................... 30

서버 정보 설정............................................................................................................... 31

서비스 정보 설정 ........................................................................................................... 32

단말 정보 설정............................................................................................................... 33

2.4 시스템 리소스 (system resource ) .................................................................. 34

DBD(Database Description) ....................................................................................... 35

PSB(Program Specification Block) ........................................................................... 35

ACBLIB ........................................................................................................................ 36

RESLIB......................................................................................................................... 37

Message Queue........................................................................................................... 38

Page 6: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서 6

2.5 Tmax 환경 설정................................................................................................ 39

2.6 시스템 기동 및 종료 설정 .................................................................................. 40

기동 ............................................................................................................................... 42

종료 ............................................................................................................................... 46

2.7 시스템 모듈 설정 .............................................................................................. 49

OSIMQSCH .................................................................................................................. 49

OSIMQMGR.................................................................................................................. 50

제3장 OSI 어플리케이션 서버 설정 ................................................................... 53

3.1 소개 .................................................................................................................. 53

3.2 MPP 어플리케이션 서버 ................................................................................... 53

서버 소스 준비............................................................................................................... 53

서버 컴파일 ................................................................................................................... 63

Tmax 환경 파일 설정 .................................................................................................... 64

3.3 IFP 어플리케이션 서버 ..................................................................................... 65

서버 소스 준비............................................................................................................... 65

서버 컴파일 ................................................................................................................... 74

Tmax 환경 파일 설정 .................................................................................................... 75

제4장 OSI 어플리케이션 생성 ........................................................................... 77

4.1 소개 .................................................................................................................. 77

4.2 MPP 사용자 서비스 .......................................................................................... 77

4.3 IFP 사용자 서비스 ............................................................................................ 99

제5장 OSI 운영 ............................................................................................... 123

5.1 개요 ................................................................................................................ 123

5.2 서버 기동 및 종료 ........................................................................................... 123

ofboot......................................................................................................................... 123

ofdown ....................................................................................................................... 145

5.3 실시간 리소스 관리 ......................................................................................... 160

5.4 로그 정보 ........................................................................................................ 161

Appendix. A online.conf 예제....................................................................... 163

Appendix. B osi.conf 예제............................................................................ 165

Appendix. C OpenFrame/Online 설치 검증 ................................................. 167

C.1 OIVP 소개 ...................................................................................................... 167

C.2 OSI OIVP....................................................................................................... 168

Page 7: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서 7

색인 ................................................................................................................ 181

Page 8: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서 8

그림 목차

[그림 1-1] OSI 전체 구성도.......................................................................................................... 18

[그림 1-2] MPP 타입 지원 모듈.................................................................................................... 20

[그림 2-1] 시스템 환경 설정 파일 구성 ........................................................................................ 24

[그림 2-2] OpenFrame/Online 기동 및 종료 ................................................................................ 41

[그림 C-1] OIVP 접속 화면 ........................................................................................................ 173

[그림 C-2] OIVP 시작 화면 ........................................................................................................ 174

[그림 C-3] OIVP INQR 화면....................................................................................................... 175

[그림 C-4] OIVP INSR 화면 ....................................................................................................... 176

[그림 C-5] OIVP UPDT 화면 ...................................................................................................... 177

[그림 C-6] OIVP DELT 화면....................................................................................................... 178

[그림 C-7] OIVP QUIT 화면 ....................................................................................................... 179

[그림 C-8] BMP 타입의 프로그램 확인 ...................................................................................... 180

Page 9: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

OpenFrame OSI 운영자 안내서 9

표 목차

[표 0-1] 안내서 규약..................................................................................................................... 12

[표 0-2] 시스템 사용 환경 ............................................................................................................ 13

[표 0-3] OpenFrame 관련 안내서 ................................................................................................ 14

[표 0-4] Tmax 관련 안내서........................................................................................................... 14

[표 2-1] online.conf 의 [TSAM_CLIENT]...................................................................................... 25

[표 2-2] online.conf 의 [TSAM_BACKUP].................................................................................... 26

[표 2-3] osi.conf 의 [TSAM_CLIENT]........................................................................................... 27

[표 2-4] osi.conf 의 [TSAM_BACKUP]......................................................................................... 28

[표 2-5] osi.conf 의 [OSI] ............................................................................................................. 29

[표 2-6] osi.conf 의 [OSI_OSD].................................................................................................... 29

[표 2-7] OSD에 설정하는 서버 정보 ............................................................................................ 32

[표 2-8] OSD에 설정하는 어플리케이션 프로그램 정보 .............................................................. 33

[표 2-9] OSD에 설정하는 트랜잭션 정보 ..................................................................................... 33

[표 2-10] OSD에 설정하는 단말 정보 .......................................................................................... 34

[표 C-1] OIVP 키 ........................................................................................................................ 174

Page 10: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

안내서에 대하여

OpenFrame OSI 운영자 안내서 10

안내서에 대하여

안내서의 대상

OpenFrame은 IBM Mainframe 시스템을 오픈 시스템 환경인 UNIX로 전환하는 리호

스팅 솔루션이다. OpenFrame/Online은 IBM Mainframe 시스템에서 실행되는 작업 중

트랜잭션과 관련된 작업을 수행하는 시스템으로 오픈 시스템에서 안정성 및 성능이

검증된 TP-Monitor인 Tmax 엔진을 기반으로 한다.

본 안내서는 OpenFrame/Online을 구성하는 시스템 중에서 IBM Mainframe의

IMS/DC에 해당하는 Online Server type I(이하 OSI)를 운용 및 관리하는 사용자를 대

상으로 기술한다

안내서의 전제 조건

본 안내서에서 다루는 OSI는 IBM Mainframe의 IMS/DC를 오픈 시스템 환경인 UNIX

로 전환하는 리호스팅 솔루션으로 OpenFrame/Online을 구성하는 시스템 중에서 하

나로 TP-Monitor인 Tmax 엔진을 기반으로 한다.

따라서 본 안내서를 제대로 이해하려는 사용자는 적어도 다음과 같은 사항을 미리 알

고 있어야 한다.

UNIX 시스템에 대한 이해

TmaxSoft의 TP-Monitor인 Tmax에 대한 이해

IBM Mainframe IMS/DC 시스템에 대한 이해

안내서의 제한 조건

본 안내서는 OpenFrame/Online 시스템 중 OSI의 운영 및 관리하는 사용자를 위해 기

술되었다. OpenFrame의 기반 환경인 UNIX, 그리고 OpenFrame의 기동 엔진인

Tmax, OSI 시스템의 리호스팅 주체인 IBM Mainframe IMS/DC에 대해서는 따로 상세

히 기술하지 않는다.

Page 11: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

안내서에 대하여

OpenFrame OSI 운영자 안내서 11

안내서 구성

OSI 운영자 안내서는 총 5개의 장과 Appendix로 구성되어 있다.

각 장의 주요 내용은 다음과 같다.

제1장: 개요

OpenFrame/Online 및 OSI 시스템에 대한 개념과 특징적인 구조에 대해 기술한

다.

제2장: OSI 시스템 서버 설정

OpenFrame 시스템 기동 및 종료 그리고 사용자 어플리케이션 및 업무 프로그램

을 실행하기 위한 기본적인 시스템 환경 구성에 대해 기술한다.

제3장: OSI 어플리케이션 서버 설정

사용자 어플리케이션 서버를 실행하기 위한 환경 정보 및 서버 설정에 대해 기술

한다.

제4장: OSI 어플리케이션 생성

어플리케이션 서버에서 동작하는 사용자 어플리케이션을 위한 환경 구성에 대해

기술한다.

제5장: OSI 운영

OSI 시스템을 운영하고 관리하는 방법에 대해 기술한다.

Appendix. A online.conf 예제

online.conf 설정 예제 파일을 수록한다.

Appendix. B osi.conf 예제

osi.conf 설정 예제 파일을 수록한다.

Appendix. C OpenFrame/Online 설치 검증

OpenFrame 환경이 올바르게 구축되어 기동에 문제가 없는지 검증하기 위해 개

발된 툴인 OIVP(OpenFrame/Online Installation Verification Procedure)의 사용

법을 기술한다.

Page 12: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

안내서에 대하여

OpenFrame OSI 운영자 안내서 12

안내서 규약

표기 의미

AaBbCc123 명령어

AaBbCc123 명령어 수행 후 화면에 출력된 결과물, 예제코드

참고: 참고 또는 주의사항

{ } 필수 인수값

[ ] 옵션 인수값

| 선택 인수값

“ ” (따옴표) 다른 관련 안내서 언급 또는 안내서 내의 다른 장 및 절 언급

하이퍼링크 메일계정, 웹 사이트, 다른 장 및 절 참고

이탤릭체 사용자 입력 값

underline 시스템에서 설정된 기본 값

진하게 강조

<AaBbCc123> 프로그램 소스 코드의 파일명, 디렉터리 이름

Courier New 파일, 디렉터리 이름, 환경설정 변수

[그림 1-1] 그림 이름

[표 1-1] 표 이름

[표 0-1] 안내서 규약

Page 13: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

안내서에 대하여

OpenFrame OSI 운영자 안내서 13

시스템 사용 환경

구분 요구사항

Platform IBM AIX 5.x

HP-UX 11.xx

Solaris 9 (SunOS 5.9)

Hardware 최소 120MB 하드디스크 공간

256MB 이상 메모리 공간

1GB 이상 하드디스크와 512MB 이상 메모리 공간 권장

Database Tibero 3.0

Oracle 9i 또는 10g

Compiler MF-Cobol 컴파일러

[표 0-2] 시스템 사용 환경

Page 14: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

안내서에 대하여

OpenFrame OSI 운영자 안내서 14

관련 안내서

제품 안내서

OpenFrame HiDB 안내서

OSC 운영자 안내서

MSI 운영 안내서

OpenStudio OMI 안내서

[표 0-3] OpenFrame 관련 안내서

제품 안내서

Tmax Administration Guide

[표 0-4] Tmax 관련 안내서

Page 15: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제1장 개요

OpenFrame OSI 운영자 안내서 15

제1장 개요

1.1 OpenFrame/Online 소개

OpenFrame/Online은 리호스팅 솔루션인 OpenFrame을 구성하는 여러 제품들 중 하

나로 IBM Mainframe의 CICS 또는 IMS 등에서 운영되는 온라인 업무를 간단한 전환

절차를 통해 오픈 시스템에서 운영할 수 있게 하는 제품이다.

일반적으로 기존 IBM Mainframe에서 운영중이던 온라인 업무 시스템을 오픈 시스템

으로 전환하려 고려할 때 다음과 같은 이슈가 제기된다.

기존 IBM Mainframe 상의 성능 및 안전성을 어떻게 제공하는가?

얼마나 쉽게 전환할 수 있는가?

OpenFrame/Online은 성능 및 안전성 문제를 해결하기 위하여 오픈 시스템에서 안정성

및 성능이 검증된 TP-Monitor인 Tmax 엔진을 기반으로 한다. OpenFrame/Online은

Tmax 엔진을 기반으로 함으로써 아래와 같은 Tmax의 특장점을 포함한다.

편리한 프로세스 관리

OpenFrame/Online에서 사용자가 생성한 프로세스들은 Tmax에 의하여 기동부

터 종료까지 관리되고 Tmax가 제공하는 다양한 모니터링 정보를 사용하므로 프

로세스 관리가 편리하다.

대용량 트랜잭션 지원

Tmax는 대용량 트랜잭션의 처리를 위해 스케줄링 및 서비스큐 관리 기능을 내부

에 포함하고 있다. Tmax는 오픈 환경의 미션 크리티컬한 업무를 수행해야 하는

시스템에 적합하다. Tmax를 기반으로 한 OpenFrame/Online 역시 대용량의 트

랜잭션을 안정적으로 지원하고 있다.

부하분산 및 장애극복(failover) 지원

IBM Mainframe 머신에 비해 오픈 시스템의 머신은 일반적으로 작은 편이다.

IBM Mainframe의 업무를 오픈 시스템으로 전환할 때는 보통 두 대 이상의 머신

으로 하드웨어를 구성하게 된다.

두 대 이상의 하드웨어에 업무를 구성하는 경우 머신 간 부하분산 및 머신 장애에

Page 16: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제1장 개요

OpenFrame OSI 운영자 안내서 16

대한 대책이 중요한 이슈가 된다. OpenFrame/Online에서는 Tmax가 부하분산 및

장애극복(failover)에 대한 대책을 지원하므로, 하드웨어 레벨의 문제에 대한 해

결책을 제시한다.

오픈 환경에서는 자유로운 연동

연동 이슈는 IBM Mainframe 환경에서 오픈 시스템 환경으로 리호스팅 직후에 바

로 직면하게 되는 중요한 이슈는 아니다. 그러나, 운영 중인 시스템을 확장하거나

다른 시스템과 연동해야 하는 상황은 자주 발생하게 된다. 이러한 경우에 Tmax

는 다른 X/Open DTP 모델을 준수하는 Tuxedo같은 상용 TP-Monitor와 자연스럽

게 연동되므로 OpenFrame/Online은 기타 다른 리호스팅 솔루션과 비교하여 뛰

어난 장점을 갖는다. Tmax의 이러한 장점은 OpenFrame/Online으로 작성된 업무

시스템의 확장을 용이하게 한다. 또한 TmaxSoft의 WAS인 JEUS 등의 연동을 통

해 웹 환경과도 자연스럽게 연동할 수 있는 장점을 가지고 있다.

Tmax를 기반으로 한 OpenFrame/Online은 대용량, 고속처리가 필요한 대형 온라인

업무시스템의 리호스팅을 가능하게 한다.

또한 OpenFrame/Online은 마이그레이션을 용이하게 하기 위해 IBM Mainframe 에서

운영되던 업무를 그대로 적용할 수 있는 인터페이스를 제공하고 있다.

예를 들어, OSC에서는 기존 CICS 상에서 개발된 사용자 프로그램에 사용할 수 있도

록 EXEC CICS 구문을 그대로 지원하며, OSI에서는 기존 IMS/DC 상에서 개발된 사

용자 프로그램을 사용할 수 있도록 CBLTDLI와 같은 기능을 제공한다. 이를 통해 사용

자는 기존에 작성한 사용자 프로그램들을 간단한 마이그레이션 작업만으로도 오픈 시

스템에서도 그대로 사용할 수 있다.

1.2 OSI 소개

OpenFrame/Online은 IBM Mainframe 에서 운영 중인 온라인 시스템을 지원하기 위해

다양한 온라인 서버 타입들을 지원한다.

OSI 시스템은 OpenFrame/Online에서 제공하는 서버 타입 중에서 IBM Mainframe

IMS/DC에 대응하는 시스템으로 내부 구조는 효율적인 트랜잭션의 처리를 위해서

Tmax를 사용한다.

OSI 시스템은 IBM Mainframe의 IMS/DC의 MPP, BMP, IFP 에서 운영중인 사용자 프

Page 17: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제1장 개요

OpenFrame OSI 운영자 안내서 17

로그램을 OpenFrame/Online에서도 운영할 수 있도록 IMS/DC에서 제공하는 DL/I 인

터페이스와 동일한 인터페이스를 제공한다. 즉, 기존 IMS/DC 상에서 개발된 사용자

프로그램을 사용할 수 있도록 CBLTDLI와 같은 인터페이스를 IMS/DC와 동일하게 제

공한다.

IMS/DC에서 제공하는 DL/I 인터페이스와 동일한 인터페이스 제공으로 Dependant

Region의 MPP, BMP, IFP 에서 운영되는 사용자 프로그램은 마이그레이션만으로도

OSI 상에서 운영이 가능하다.

IBM Mainframe의 IMS/DC가 CICS와 확연히 구분되는 하나의 특징은 IMS/DC는

Control Region과 Dependant Region으로 엔진이 나눠져 있다는 점이다. 또 다른 특징

은 Control Region 내의 DL/I를 통해 데이터가 전달된다는 점이다.

Control Region은 DB에 대한 접근 권한, 데이터 읽기 및 Dependant Region의 MPP,

BMP, IFP 상에서 실행되는 프로세스를 관리한다. 그리고, Dependant Region은 사용

자 프로그램이 실행될 수 있게 환경을 구성하는 MPP, BMP 및 IFP가 운영되는 곳이다.

참고: OSI 시스템의 MPP, IFP에 대한 자세한 내용은 다음 “0

OSI 구조” 절을 참고한다.

1.3 OSI 구조

업무 프로그램이 운영되기 위해서 시스템 서버와 어플리케이션 서버에 업무 프로그램

의 운영 기반이 제공되어야 한다.

시스템 서버는 OSI 시스템 모듈에 해당하는 영역으로 OSI 시스템 자체에서 어플리케

이션 서버 및 업무 프로그램을 동작시키기 위해 필요로 하는 서버를 포함한 각종 설정

이 포함되어 있다. OSI의 시스템 모듈은 MPP 타입 지원 모듈과 IFP 타입 지원 모듈로

나눠 구분할 수 있다.

어플리케이션 서버는 OSI 어플리케이션 모듈에 해당하는 영역으로 OSI 시스템에서

제공하는 어플리케이션 서버인 MPP와 IFP로 구분한다.

그 밖에 OSI 시스템에는 시스템 엔진 영역인 Online Core(Tmax)와 터미널과 통신할

때 데이터를 변환하는 맵 서비스인 MSI 등이 포함된다.

본 절에서는 OSI의 각 구성 요소의 특징 및 연관 관계에 대해 자세히 설명한다.

Page 18: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제1장 개요

OpenFrame OSI 운영자 안내서 18

OSI는 다음과 같은 모듈로 구성된다.

[그림 1-1] OSI 전체 구성도

OSI 사용자 모듈(OSI User Module)

IMS/DC의 Dependant Region에 대응하는 부분으로 OSI에서 설정한 사용자 환경

에 따라 프로세스가 생성된다.

내부 구조로 서버 타입에 따라 MPP와 IFP 두 가지 유형으로 구분할 수 있다. 각

서버 타입은 컴파일 방법, 설정 항목 등 세부 사항은 다르다. 그러나, 기본적으로

기존 Dependant Region 하나당 하나의 어플리케이션 서버를 준비하는 마이그레

이션 절차는 각 서버 타입에 동일하게 적용된다.

OSI 시스템 모듈(OSI System Module)

OSI 사용자 모듈에서 사용자가 작성한 업무 프로그램이 정상적으로 동작하는 데

필요한 시스템 모듈이다.

OSI 시스템 모듈에는 MPP 타입의 어플리케이션 서버에 메시지를 전달하는

Message Queue Manager 및 OSI 운영과 모니터링에 필요한 서버들이 포함된다.

Online Core

OpenFrame/Online에서 제공하는 모든 종류의 어플리케이션 서버가 동작되기 위

해 공통적으로 필요한 영역으로 TP-Monitor인 Tmax가 해당 엔진 기능을 담당한

다.

Page 19: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제1장 개요

OpenFrame OSI 운영자 안내서 19

OpenFrame/Online에서 동작하는 모든 서버 프로세스의 제어 및 모니터링을 담

당하며 트랜잭션 처리에 필요한 모든 기능을 제공한다.

Mapping Support

OSI를 위한 맵 지원 기능으로 MSI(Mapping Support for type I)가 제공된다.

참고: 1. MPP 및 IFP는 서버 하나당 하나의 어플리케이션 서버를 준비해야 하는 등 마이그

레이션 절차는 동일하다. 하지만, 마이그레이션 이후의 환경에 맞춰 서버 개수 및 트

랜잭션 처리 조건을 다양하게 설정할 수 있도록 설계되었다.

2. MSI는 IBM Mainframe의 MFS(Message Format Service)에 대응하는 기능을 제

공한다.

OSI 시스템 모듈

OSI 시스템 모듈은 사용자 모듈에서 제공하는 어플리케이션 서버인 MPP와 IFP를 지

원하는 MPP 타입 지원 모듈, IFP 타입 지원 모듈로 구성된다. 그 밖에 OSI 업무 프로

그램 운영에 직접 관리하지 않고 일반적인 운영이나 관리 작업에 관여하는 여러 모듈

이 존재한다.

MPP 타입 지원 모듈

MPP 타입 지원 모듈은 IMS/DC의 MPP Region 에서 동작하는 사용자 프로그램이

OSI의 MPP에서도 동일하게 동작하도록 하는모듈이다. 기존 IBM Mainframe MPP

상의 사용자 프로그램의 특징인 Message Queue Manager를 통해 진행되는 업무 흐

름을 동일하게 지원한다.

MPP 타입 지원 모듈은 크게 Message Queue Manager와 DL/I로 구성된다.

Page 20: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제1장 개요

OpenFrame OSI 운영자 안내서 20

[그림 1-2] MPP 타입 지원 모듈

Message Queue Manager

MPP로 메시지를 전달하는 기능을 하고 Message Queue Dataset, OSIMQSCH,

OSIMQMGR로 구성된다.

Message Queue Dataset은 데이터의 물리적인 저장 공간으로

OpenFrame/TSAM 상에 KSDS(Key-sequenced data set)로 구성된다.

OSIMQSCH 는 OSIMQMGR에서 처리된 메시지 데이터의 정보를 사용하여 MPP

타입의 어플리케이션 서버에서 작업되어야 할 데이터의 스케줄링을 담당한다.

OSIMQMGR 는 관리 프로세스로 DL/I를 통해 요청된 메시지 데이터를 처리하는

프로세스로 실질적으로 Message Queue 데이터 셋에 메시지 데이터를 저장하거

나 저장된 데이터를 읽어오는 작업을 수행한다.

DL/I

사용자 프로그램에서 요청된 IOPCB 관련 요청을 처리하는 기능을 한다.

DLI For MPP type 는 OSIMQMGR 프로세스로 메시지 데이터를 요청하고 사용

자 프로그램에서 CBLTDLI 등을 통해 요청된 명령들을 OSI와 HiDB로 전달하는

역할을 담당하고 라이브러리 형태로 MPP type User Server 생성 시 링크된다.

IFP 타입 지원 모듈

IMS/DC의 IFP Region에서 동작하는 사용자 프로그램이 운영될 수 있도록 하는 모듈

Page 21: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제1장 개요

OpenFrame OSI 운영자 안내서 21

이다. IFP 타입은 메시지 트랜잭션을 빠르게 처리하기 위해 MPP 타입의 트랜잭션 처

리 방식인 Message Queue를 사용하지 않고, Online Core 내의 메시지 처리 방식을

따른다.

참고: Online Core의 메시지 처리 방식에 대한 자세한 내용은 Tmax 안내서 중 “Tmax

Administration Guide”를 참고한다.

IFP 타입의 사용자 프로그램은 MPP와 같이 Message Queue를 운영하기 위한 별도

의 프로세스 구조가 존재하지 않는다.

참고: 1. MPP 및 IFP 타입의 업무 프로그램을 실제로 운영하기 위해서는 각 서버 타입에 대한

어플리케이션 서버가 별도로 준비되어 있어야 한다.

2. MPP 및 IFP는 IBM Mainframe의 IMS/DC 상에 실행되는 어플리케이션 서버 타입으로

MPP는Message Processing Program을, IFP는 Fast Path Processing을 의미한다.

기타 모듈

업무 프로그램 운영에 관여하는 모듈 외에 시스템 운영이나 모니터링 기능을 수행하

기 위한 모듈이 존재한다.

OSI 사용자 모듈

OSI에서 기본적으로 제공하는 시스템 모듈 외에 사용자가 작성한 업무 프로그램을 실

제로 운영하기 위해서는 사용자는 시스템 설정 단계에서 이를 담당할 서버 모듈을 컴

파일해서 생성해야한다.

서버 모듈은 개념적으로 IMS/DC 상의 Dependant Region에 해당하는 영역을 의미한

다. 사용자 모듈은 IBM Mainframe에서 운영하던 Dependant Region 당 하나씩 준비

한다.

사용자 모듈은 MPP Region과 IFP Region은 각각 MPP 타입 어플리케이션 서버와

IFP 타입 어플리케이션 서버로 구분된다. 단, 배치 작업을 실행시키는 BMP Region은

OpenFrame/Batch에서 해당 기능을 제공하므로, OSI 설정 시에는 핋요하지 않다.

어플리케이션 서버는 MPP 타입과 IFP 타입으로 컴파일 과정을 통해 원하는 개수만큼

생성한다. 이 때 MPP 타입 서버와 IFP 타입 서버는 각각 다른 소스 프로그램이 필요

Page 22: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제1장 개요

OpenFrame OSI 운영자 안내서 22

하고, 각 어플리케이션 서버에 링크해야 하는 모듈도 다르다.

참고: OSI 시스템 설정에 대한 자세한 내용은 “제1장 OSI 시스템 서버 설정”을 참고한다.

Page 23: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 23

제2장 OSI 시스템 서버 설정

2.1 소개

OSI 시스템의 운영 및 관리를 위해서 시스템 및 어플리케이션 서버 환경을 설정한다.

OSI 시스템 설치가 완료된 후 OSI 시스템의 환경에 대한 기본 항목의 설정을 완료한

다.

OSI 시스템 서버 환경 설정을 위한 작업은 아래와 같다.

시스템 환경 설정(configuration) 파일

시스템 정의(system definition)

시스템 리소스(system resource)

Tmax 환경 설정

시스템 기동 및 종료 설정

시스템 모듈 설정

2.2 시스템 환경 설정(configuration) 파일

OSI 시스템에 필요한 시스템 설정 값 중 동적으로 반영할 수 없는 항목은 대부분 환경

설정 파일에 저장되어 시스템에서 사용된다,

OSI의 환경 설정 파일은 [그림 2-1]과 같이 online.conf, osi.conf 의 2단계로 구성된

다.

Page 24: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 24

[그림 2-1] 시스템 환경 설정 파일 구성

online.conf

OpenFrame/Online에 필요한 가장 기본적인 값들이 설정되고 이파일에 설정된 값

은 OpenFrame/Online의 모든 모듈에 적용된다.

osi.conf

OpenFrame/Online이 지원하는 서버 타입 중에서 OSI에만 적용되는 값이 설정된

다. osi.conf에 설정된 값 중에서 online.conf와 중복되어 설정된 항목이 있을 경우

osi.conf 설정된 값의 우선 순위가 높다.

online.conf

online.conf는 OpenFrame/Online의 모든 모듈에서 공통으로 참조하는 환경 설정 파

일이다. OpenFrame/Online에서 지원하는 모든 서버의 공통 설정 항목과 OSI 내의 모

든 모듈의 공통 설정 항목을 정의한 환경 설정 파일이다.

OpenFrame/Online에서는 OSD(Online System Definition)와 같은 시스템 리소스에서

부터 TSQ(Tempory Storage Queue)와 같은 사용자 리소스를 관리하기 위해서

OpenFrame/TSAM을 필요로 한다.

Page 25: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 25

online.conf 파일의 구성은 다음과 같다.

[TSAM_CLIENT]

[TSAM_BACKUP]

[TSAM_CLIENT]

[TSAM_CLIENT] 은 OpenFrame/Online에서 OpenFrame/TSAM에 접속하기 위한 정

보를 설정한다.

다음은 각 항목에 대한 설명을 정리한 표이다.

항목 설명

USERNAME TSAM 접속 시 사용되는 사용자 명칭

ENPASSWD TSAM 접속 시 사용되는 암호화된 패스워드(16진수 값)

PASSWORD

TSAM 접속 시 사용되는 패스워드(일반적인 문자열) ENPASSWD가 설정된 경우에는 ENPASSWD가 우선됨

DATABASE TSAM 서버로 사용되는 데이터베이스 접속 주소 설정

[표 2-1] online.conf 의 [TSAM_CLIENT]

다음은 같은 머신 상에 설치된 TSAM에 포트 번호 12500번으로 접속하는 경우로 접

속시 사용자 명칭 tsam00, 패스워드 tmax를 사용하도록 설정한 예제이다.

[TSAM_CLIENT]

USERNAME=tsam00

PASSWORD=tmax

DATABASE=sock:localhost:12500

[TSAM_BACKUP]

[TSAM_BACKUP] 은 OpenFrame/Online에서 OpenFrame/TSAM에 접속하기 위한

정보를 설정하는 영역으로, [TSAM_CLIENT]에 설정한 정보로 접속이 불가능한 장애

상황에 사용하는 정보를 설정한다.

다음은 각 항목에 대한 설명을 정리한 표이다.

항목 설명

Page 26: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 26

USERNAME TSAM 접속 시 사용되는 사용자 명칭

ENPASSWD TSAM 접속 시 사용되는 암호화된 패스워드(16진수 값)

PASSWORD

TSAM 접속 시 사용되는 패스워드(일반적인 문자열) ENPASSWD가 설정된 경우에는 ENPASSWD가 우선됨

DATABASE TSAM 서버로 사용되는 데이터베이스 접속 주소 설정

RETRY_COUNT

TSAM 서버 접속이 실패했을 경우 백업 주소로 시도하는 재접

속 횟수

RETRY_INTERVAL 백업 서버 접속 시 재접속 간 대기 간격

[표 2-2] online.conf 의 [TSAM_BACKUP]

다음은 TSAM 접속 장애가 발생했을 때 111.222.111.222 머신 상에 설치된 백업용

TSAM에 포트 번호 12500번으로 접속한다. 접속 시 사용자 명칭은 tsam00, 패스워드

는 tmax를 사용한다. 백업 TSAM에 접속 시 장애가 발생할 경우 10초 간격으로 50번

재접속을 시도하도록 설정한 예제이다.

[TSAM_BACKUP]

USERNAME=tsam00

PASSWORD=tmax

DATABASE=sock:111.222.111.222:12500

RETRY_COUNT=50

RETRY_INTERVAL=10

osi.conf

osi.conf는 OpenFrame/Online의 모든 모듈 중에서 OSI 관련 모듈에 적용될 항목을 설

정하는 환경 파일로 osi.conf 파일과 online.conf 파일의 설정이 중복되는 경우 osi.conf

파일의 설정의 우선 순위가 높다.

OSI에서는 OSD와 같은 시스템 리소스를 관리하기 위해서 OpenFrame/TSAM을 필요

로 한다.

osi.conf 파일의 구성은 다음과 같다.

[TSAM CLIENT]

[TSAM_BACKUP]

Page 27: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 27

[OSI]

[OSI_OSD]

[TSAM_CLIENT]

[TSAM_CLIENT] 절은 OSI에서 OpenFrame/TSAM에 접속하기 위한 정보를 설정한다.

다음은 각 항목에 대한 설명을 정리한 표이다.

항목 설명

USERNAME TSAM 접속 시 사용되는 사용자 명칭

ENPASSWD TSAM 접속 시 사용되는 암호화된 패스워드(16진수 값)

PASSWORD

TSAM 접속 시 사용되는 패스워드(일반적인 문자열) ENPASSWD가 설정된 경우에는 ENPASSWD가 우선됨

DATABASE TSAM 서버로 사용되는 데이터베이스 접속 주소 설정

[표 2-3] osi.conf 의 [TSAM_CLIENT]

다음은 online.conf에 설정된 값과는 상관없이 OSI가 192.168.1.11 상에 설치된

TSAM에 포트 번호 8,800번으로 접속한다. 접속 시 사용자 명칭은 tsam01, 패스워드

는 tmax를 사용하도록 설정한 예제이다.

[TSAM_CLIENT]

USERNAME=tsam01

PASSWORD=tmax

DATABASE=sock:192.168.1.11:8800

[TSAM_BACKUP]

[TSAM_BACKUP] 절은 OpenFrame/Online에서 OpenFrame/TSAM에 접속하기 위한

정보를 설정하는 영역으로, [TSAM_CLIENT]에 설정한 정보로 접속이 불가능한 장애

상황에 사용하는 정보를 설정한다. .

다음은 각 항목에 대한 설명을 정리한 표이다.

항목 설명

USERNAME TSAM 접속 시 사용되는 사용자 명칭

Page 28: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 28

ENPASSWD TSAM 접속 시 사용되는 암호화된 패스워드(16진수 값)

PASSWORD

TSAM 접속 시 사용되는 패스워드(일반적인 문자열) ENPASSWD가 설정된 경우에는 ENPASSWD가 우선됨

DATABASE TSAM 서버로 사용되는 데이터베이스 접속 주소 설정

RETRY_COUNT

TSAM 서버 접속이 실패했을 경우 백업 주소로 시도하는 재접속 횟수

RETRY_INTERVAL 백업 서버 접속 시 재접속 간 대기 간격

[표 2-4] osi.conf 의 [TSAM_BACKUP]

다음은 online.conf에 설정된 값과는 상관 없이 OSI가 TSAM 접속 장애시 localhost 상

에 설치된 백업용 TSAM에 포트 번호 9999번으로 접속한다. 접속 시 사용자 명칭은

tsam01, 패스워드는 tmax를 사용한다, 백업 TSAM에 접속 시 장애가 발생할 경우 3초

간격으로 60번 재접속을 시도하도록 설정한 예제이다.

[TSAM_BACKUP]

USERNAME=tsam01

PASSWORD=tmax

DATABASE=sock:localhost:9999

RETRY_COUNT=60

RETRY_INTERVAL=3

[OSI]

[OSI] 는 OSI를 동작하기 위한 필수 시스템 값을 설정하는 영역이다.

다음은 각 항목에 대한 설명을 정리한 표이다.

항목 설명

ATI_SHMKEY

Active Terminal Information을 저장하기 위한 공유 메모리의 IPC 키 값

AXI_SHMKEY

Active Transaction Information을 저장하기 위한 공유 메모리

의 IPC 키 값

SWA_SHMKEY

OSI의 운용시 필요한 시스템 정보를 저장하기 위한 공유 메모

리의 IPC 키 값

MSGQ_DSNAME Message Queue가 구성될 데이터 셋의 명칭

ACBLIB_DSNAME ACB 정보가 저장될 PDS 데이터 셋의 명칭

Page 29: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 29

RESLIB_DSNAME RES 정보가 저장될 PDS 데이터 셋의 명칭

[표 2-5] osi.conf 의 [OSI]

다음은 ATI, AXI, SWA는 각각 16200, 16202, 16001을 공유 메모리를 위한 IPC 키 값

으로 사용한다. Message Queue는 OPNFRAME.ONLINE.MSGQLIB을 사용한다.

ACB 정보는 OPNFRAME.ONLINE.ACBLIB에 저장하고 RES 정보는

OPNFRAME.ONLINE.RESLIB에 저장하도록 설정한 예제이다.

[OSI]

ATI_SHMKEY=16200

AXI_SHMKEY=16202

SWA_SHMKEY=16001

MSGQ_DSNAME=OPNFRAME.ONLINE.MSGQLIB

ACBLIB_DSNAME=OPNFRAME.ONLINE.ACBLIB

RESLIB_DSNAME=OPNFRAME.ONLINE.RESLIB

[OSI_OSD]

OSI의 시스템 설정 정보는 Online System Definition(이하 OSD)에 저장되는데

[OSI_OSD] 은 OSD의 정보를 설정한다.

다음은 각 항목에 대한 설명을 정리한 표이다.

항목 설명

DSNAME Online System Definition(OSD)을 관리하는 데이터 셋 명칭 설정

USE_SYS1

OSD 데이터 셋을 사용하기 위해서 SYS1_CLIENT 연결 정보를 사용

할 것인지 설정

[표 2-6] osi.conf 의 [OSI_OSD]

다음은 OSI를 위한 OSD 데이터 셋으로 OPNFRAME.ONLINE.OSDLIB을 사용하며,

TSAM에 접속하기 위한 정보로 SYS1 접속 정보를 사용하도록 설정한 예제이다.

[OSI_OSD]

DSNAME=OPNFRAME.ONLINE.OSDLIB

USE_SYS1=YES

Page 30: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 30

2.3 시스템 정의(system definition)

시스템 정의(system difinition)는 일반적으로 Online System Definition(이하 OSD) 라

고 한다. OSD는 OSI를 운영하기 위해 필요한 각종 설정 정보 중 동적으로 운영이 가

능한 정보들을 저장한다.

OSD에 설정되는 정보는 아래와 같다.

데이터 셋 생성

서버 정보 설정

서비스 정보 설정

단말 정보 설정

데이터 셋 생성

OSD를 위한 시스템을 준비하기 위해 데이터 셋을 생성하는 절차가 필요하다. 데이터

셋은 IDCAMS를 사용하여 TSAM에 생성한다.

시스템 설치 과정에서 OSD 생성을 위한 IDCAMS용 샘플 스크립트를 제공되고 이를

사용자(고객)의 환경에 맞게 수정하여 사용하면 된다.

참고: IDCAMS 사용법에 대한 자세한 내용은 OpenFrame 안내서 중 ”유틸리티 참조 안내서”를

참고한다.

다음은 OpenFrame 시스템 설치 과정에서 기본으로 제공되는 OSD 데이터 셋을 생성

하는 스크립트 예제이다.

DELETE OPNFRAME.ONLINE.OSDLIB CLUSTER

DEFINE CLUSTER (NAME(OPNFRAME.ONLINE.OSDLIB) -

KILOBYTES (128,128) -

VOLUMES (100000) -

Page 31: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 31

INDEXED KEYS (18,0) -

RECORDSIZE (100,2000) ) -

DATA (CONTROLINTERVALSIZE (2048))

다음은 시스템에서 제공된 기본 스크립트에서 OSD 데이터 셋의 명칭을

KOREACOM.OSDLIB으로 변경한 예제이다.

DELETE KOREACOM.OSDLIB CLUSTER

DEFINE CLUSTER (NAME(KOREACOM.OSDLIB) -

KILOBYTES (128,128) -

VOLUMES (100000) -

INDEXED KEYS (18,0) -

RECORDSIZE (100,2000) ) -

DATA (CONTROLINTERVALSIZE (2048))

다음은 시스템에서 제공된 기본 스크립트에서 OSD 데이터 셋이 DEFVOL이라는 볼

륨에 생성되도록 변경한 예제이다.

DELETE OPNFRAME.ONLINE.OSDLIB CLUSTER

DEFINE CLUSTER (NAME(OPNFRAME.ONLINE.OSDLIB) -

KILOBYTES (128,128) -

VOLUMES (DEFVOL) -

INDEXED KEYS (18,0) -

RECORDSIZE (100,2000) ) -

DATA (CONTROLINTERVALSIZE (2048))

서버 정보 설정

OSI는 단말에서 요청된 트랜잭션을 처리위해 어플리케이션 서버 정보를 요구한다. 어

Page 32: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 32

플리케이션 서버 정보는 트랜잭션 스케줄링에 필수적인 항목으로 OSD에 등록하여

관리한다.

다음은 각 항목에 대한 설명을 정리한 표이다.

항목 설명

REGION TYPE

어플리케이션 서버 타입 정보(일반적으로 MPP 또는 IFP 또는 BMP)

SERVER

어플리케이션 서버 명칭(어플리케이션 서버는 컴파일된 파일 명칭과 동일해야 함)

SERVICE

트랜잭션 처리를 위한 어플리케이션 서버의 대표 서비스 명칭

(Online Core인 Tmax 상에 등록된 정보와 같아야 하며, Tmax 상에서 중복되는 명칭이 없어야 함)

CLASS 해당 서버가 처리하도록 할당받는 트랜잭션의 클래스

[표 2-7] OSD에 설정하는 서버 정보

OSD에 기술한 서버를 등록하는 방법은 osdgen을 사용하는 방법과 OpenStudio를 사

용하는 방법이 있다. osdgen을 사용하는 경우는 서버 정보를 기술한 스크립트를 이용

하여 등록한다

다음은 osdgen을 사용하여 OSD에 서버를 설정하는 스크립트 예제이다.

OSD에 IFP용 어플리케이션 서버 3개를 IFP00001, IFP00002, IFP00003로 등록하는

예제이다.

REGION TYPE=IFP,SERVER=IFP00001,SERVICE=IFP00001IFPSVC,CLASS=(2,3)

REGION TYPE=IFP,SERVER=IFP00002,SERVICE=IFP00002IFPSVC,CLASS=(4,5)

REGION TYPE=IFP,SERVER=IFP00003,SERVICE=IFP00003IFPSVC,CLASS=(6,8)

OSD에 MPP용 어플리케이션 서버 MPP00001과 IFP용 어플리케이션 서버 IFP00001

을 등록하는예제이다.

REGION TYPE=MPP,SERVER=MPP00001,SERVICE=MPP00001MPPSVC,CLASS=(1,5)

REGION TYPE=IFP,SERVER=IFP00001,SERVICE=IFP00001IFPSVC,CLASS=(6,8)

서비스 정보 설정

OSI에서는 단말에서 요청된 트랜잭션을 처리하기 위한 트랜잭션 서비스 정보를 요구

한다. 트랜잭션 서비스 정보는 트랜잭션 스케쥴링에 필수적이므로 OSD에 등록하여

Page 33: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 33

관리한다. 트렌잭션 정보 등록할 때 트랜잭션이 사용하는 어플리케이션 프로그램 정

보도 함께 등록해야한다.

다음은 각 항목에 대한 설명을 정리한 표이다.

항목 설명

APPLCTN PSB 사용자 프로그램에 사용될 PSB 명칭

PGMTYPE 프로그램이 실행되는 형식(TP/BATCH)

LANG 사용자 프로그램의 종류로 COBOL, PLI, C 중 선택

[표 2-8] OSD에 설정하는 어플리케이션 프로그램 정보

항목 설명

TRANSACT CODE 트랜잭션명칭

MSGTYPE

트랜잭션의 속성 정의 Message Segment 설정 ( [SNGSEG/MULTSEG], [RESPONSE/NORESPONSE],CLASS)

PRTY 트랜잭션이 실행될 우선순위 설정

MODE 메시지 전송 방식 [SNGL/MULT]

[표 2-9] OSD에 설정하는 트랜잭션 정보

OSD에 기술한 어플리케이션 프로그램과 트랜잭션 정보를 등록하는 방법은 osdgen

을 사용하는 방법과 OpenStudio를 사용하는 방법의 두 가지가 있다. osdgen을 사용

하는 경우는 트랜젝션 서비스 정보를 기술한 스크립트를 이용해서 등록한다.

다음은 osdgen을 사용하여 어플리케이션 프로그램과 트랜잭션을 등록하는 스크립트

예제이다. APPLCTN 과 TRANSACT 매크로는 아래와 같이 함께 설정되어야 한다.

COBOL로 작성된 프로그램 DEMOPGM1을 DEMOPGM1이라는 명칭으로 트랜잭션

등록한다. DEMOPGM1은 Class가 1 이다.

APPLCTN PSB=DEMOPGM1,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=DEMOPGM1,MSGTYPE=(SNGSEG,RESPONSE,1),PRTY=(1,1), X

SPA=(32767,STRUNC),MODE=SNGL

단말 정보 설정

OSI에서는 등록된 단말을 통해서만 트랜잭션 서비스를 요청할 수 있다. 따라서, 단말

Page 34: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 34

정보는 트랜잭션 서비스 처리에 필수적이므로 OSD에 등록하여 관리한다.

다음은 각 항목과 설명을 정리한 표이다.

항목 설명

TERMINAL NAME

OSI에서 대상(destination)으로 사용되는 논리적 단말 명칭

TYPE Terminal Type 단말의 SPA 지원 여부

SIZE Terminal Size

LTERM

단말의 NETNAME(OSI 내에서 중복되는 값이 없어야 함)

OPTIONS SOSI 지원여부, SIGN 지원여부, MFS 지원여부 설정

[표 2-10] OSD에 설정하는 단말 정보

OSD에 기술한 단말정보는 osdgen를 사용하여 등록한다. osdgen을 사용하는 경우는

단말 정보를 기술한 스크립트를 이용한다.

다음은 osdgen을 사용하여 단말정보를 등록하는 스크립트 예제이다.

단말의 NETNAME은 VT3270L1로, LTERM 명칭은 L3270A이고 단말은 SOSI는 처리

가능하고 DBCS를 지원하면서 SIGN 은 지원하지않고 MFS는 지원한다.

TERMINAL NAME=L3270A,TYPE=3270-A2,SIZE=(24,80),LTERM=VT3270L1, X

OPTIONS=(TRSOSI,NOSIGON,MFS)

2.4 시스템 리소스 (system resource )

사용자가 OSI 시스템에서 업무 프로그램을 개발 및 운영할 때 사용되는 각종 리소스

를 시스템 리소스 또는 OSI 리소스라 한다.

시스템 리소스를 설정하기 위해 아래의 내용을 설정해야한다.

DBD(Database Description)

PSB(Program Specification Block)

ACBLIB

RESLIB

Page 35: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 35

Message Queue

DBD (Database Description)

DBD는 HiDB 데이터베이스의 특징을 정의하는 매크로 파라미터 문장의 집합으로 데

이터베이스 구조, 액세스 메소드, 데이터베이스 내의 세그먼트와 필드 및 세그먼트 타

입 간의 관계를 정의한다. OSI에서 OpenFrame Hi/DB를 사용하려면 이와 같은 DBD

정보를 등록해야 한다.

참고: DBD 정보 등록 및 관리에 대한 자세한 내용은 OpenFrame 안내서 중 ” HiDB 안내서”를

참고한다.

PSB (Program Specification Block)

PSB는 어플리케이션에서 사용되는 HiDB 데이터베이스나 메시지 대상(message

destination)을 기술하는 컨트롤 블록이다.

PCB(Program Communication Block)는 어플리케이션에서 사용되는 HiDB 데이터베

이스에 대한 VIEW나 메시지 소스 또는 메시지 대상과 통신하기 위해 시스템에서 제

공하는 컨트롤 블록이다. 하나의 PSB는 여러 개의 PCB(IOPCB, DBPCB) 로 구성된

다.

OSI에서 PSB를 사용하기 위해서는 psbgen을 사용하여 등록해야 한다.

참고: psbgen 사용법에 대한 자세한 내용은 OpenFrame 안내서 중 ”유틸리티 참조 안내서”를

참고한다.

IOPCB

IOPCB는 PCB 중에서도 OSI에서 제공하는 Message Queue에 데이터를 읽고 쓰기

위해서 사용되는 리소스이다. DBD, PSB와 달리 IOPCB는 OSI를 기동시킨 경우에만

사용이 가능하다. 단, DBD와 PSB는 OSI가 기동되지 않아도 OpenFrame/HiDB가 기

동되어 있다면 사용이 가능하다.

IOPCB를 정의하는 방법은 DBPCB와 원칙적으로 다르지 않으나, 다음과 같은 차이점

이 있다.

Page 36: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 36

하나의 PSB에는 하나의 IOPCB만이 정의 가능

IOPCB 정의 시 옵션은 TYPE=TP, MODIFY=NO를 사용

Alternative Destination을 사용 시 추가로 IOPCB를 하나 더 정의 가능

ALT IOPCB 정의 시 옵션은 TYPE=TP, ALTRESP=YES, MODIFY=YES를 사용

다음은 하나의 IOPCB와 DEMODBD1을 사용하는 하나의 DBPCB를 가지고 있는

DEMOP228이라는 PSB를 설정하는 예제이다.

PRINT NOGEN

PCB TYPE=TP,MODIFY=YES

PCB TYPE=DB,DBDNAME=DEMODBD1,KEYLEN=7,PROCOPT=AP

SENSEG NAME=TMAXCRUE

PSBGEN PSBNAME=DEMOP228,LANG=COBOL

END

다음은 IOPCB와 ALT IOPCB를 사용하는 DEMOPM24라는 PSB를 정의하는 예제이

다.

PRINT NOGEN

PCB TYPE=TP,MODIFY=NO

SENSEG NAME=IOPCBSEG,PARENT=0

PCB TYPE=TP,ALTRESP=YES,MODIFY=YES

PSBGEN LANG=COBOL,PSBNAME=DEMOPM24

END

ACBLIB

PSB 리소스를 사용하는 프로그램을 기동하려면, 사용할 PSB 정보와 DBD에 정의한

Page 37: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 37

데이터 셋 정보를 프로그램에 전달할 수 있는 방법이 필요하다.

OpenFrame/Batch는 JCL을 사용하여 프로그램을 구동하는데, 이 JCL의 DD 문을 통

해 PSB 정보와 DBD의 데이터 셋 정보를 프로그램에 전달할 수 있다. 하지만 OSI는

프로그램 구동하는데 JCL을 사용하지 않으므로 OpenFrame/Batch와는 다른 방법으

로 필요한 정보를 프로그램에 전달해야 한다.

OSI는 ACBLIB에 프로그램에 전달할 PSB 정보와 DBD 정보를 미리 정의한 후 프로그

램 구동 시에 ACBLIB에서 해당 정보를 읽어 들여 전달하는 방법을 사용한다.

ACBLIB은 PDS 데이터 셋 형태로 구성되며 개별 설정 파일은 ACBLIB의 멤버 형태로

저장된다. 저장 시 멤버 명칭은 PSB 명칭과 동일하게 지정되며, 멤버 파일의 실제 내

용은 해당 PSB에서 필요한 DBD의 목록이 기록된다.

다음은 DI2DBD, DI2DBDX1, DI2DBDX2 DBD 목록을 사용하는 PSB 예제이다.

DI2DBD

DI2DBDX1

DI2DBDX2

RESLIB

PSB 리소스를 사용하는 프로그램을 기동하려면, 사용할 PSB 정보와 DBD에 정의한

데이터 셋 정보를 프로그램에 전달할 수 있는 방법이 필요하다.

OpenFrame/Batch는 JCL을 사용하여 프로그램을 구동하는데, 이 JCL의 DD 문을 통

해 PSB 정보와 DBD의 데이터 셋 정보를 프로그램에 전달할 수 있다.하지만 OSI는 프

로그램을 구동하는데 JCL을 사용하지 않으므로 OpenFrame/Batch와는 다른 방법으

로 필요한 정보를 프로그램에 전달해야 한다.

OSI는 RESLIB에 프로그램에 전달할 PSB 정보와 DBD 정보를 미리 정의한 후 프로그

램 구동 시에 RESLIB에서 해당 정보를 읽어 들여 전달하는 방법을 사용한다.

RESLIB은 PDS 데이터 셋 형태로 구성되며 개별 설정 파일은 RESLIB의 멤버 형태로

저장된다. 저장 시 멤버 명칭은 DBD 명칭과 동일하게 지정되며, 멤버 파일의 실제 내

용은 해당 DBD에서 필요한 DD 명칭과 실제 데이터 셋 명칭이 함께 한쌍으로 기록된

다.

Page 38: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 38

다음은 CRPXSEG라는 DD 문이 실제 데이터 셋인 TEST.CRPXDBD.CRPXSEG를 사

용하는 예제이다.

CRPXSEG TEST.CRPXDBD.CRPXSEG

Message Queue

Message Queue는 OSI에서 MPP 타입의 사용자 프로그램을 기동시키기 위한 중요한

시스템 리소스로서 OSI 시스템 설정시 생성되어야 한다.

Message Queue는 물리적으로 TSAM에 데이터 셋을 사용하여 구성되며 데이터 셋을

생성하기 위해서는 IDCAMS를 사용하여야 한다.

OpenFrame 시스템 설치 과정에서 Message Queue 데이터 셋 생성을 위한 IDCAMS

용 샘플 스크립트가 제공되고 이를 사용자(고객) 환경에 맞게 수정하여 사용한다.

참고: IDCAMS 사용법에 대한 자세한 내용은 OpenFrame 안내서 중 “유틸리티 참조 안내서”

를 참고한다.

다음은 OpenFrame 시스템 설치 과정에서 기본으로 제공되는 스크립트이다.

DELETE OPNFRAME.ONLINE.MSGQLIB CLUSTER

DEFINE CLUSTER (NAME(OPNFRAME.ONLINE.MSGQLIB) -

KILOBYTES (128,128) -

VOLUMES (100000) -

INDEXED KEYS (25,0) -

RECORDSIZE (30000,32000) ) -

DATA (CONTROLINTERVALSIZE (256))

다음은 시스템에서 제공된 기본 스크립트에서 Message Queue 데이터 셋의 명칭을

TESTCOM.MSGQLIB으로 변경한 예제이다.

DELETE TESTCOM.ONLINE.MSGQLIB CLUSTER

DEFINE CLUSTER (NAME(TESTCOM.MSGQLIB) -

Page 39: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 39

KILOBYTES (128,128) -

VOLUMES (100000) -

INDEXED KEYS (25,0) -

RECORDSIZE (30000,32000) ) -

DATA (CONTROLINTERVALSIZE (256))

다음은 시스템에서 제공된 기본 스크립트에서 Message Queue 데이터 셋을 TEST00

이라는 볼륨에 생성되도록 변경한 예제이다.

DELETE OPNFRAME.ONLINE.MSGQLIB CLUSTER

DEFINE CLUSTER (NAME(OPNFRAME.ONLINE.MSGQLIB) -

KILOBYTES (128,128) -

VOLUMES (TEST00) -

INDEXED KEYS (25,0) -

RECORDSIZE (30000,32000) ) -

DATA (CONTROLINTERVALSIZE (256))

2.5 Tmax 환경 설정

OSI는 트랜잭션의 처리를 위해서 TP-Monitor인 Tmax를 사용한다. OSI에서 Tmax의

기능 사용을 위해서 Tmax의 환경 설정 파일을 별도로 구성하여야 한다.

Tmax 환경 설정 파일에 OpenFrame/Online에 사용될 공통 설정 외에 OSI를 위해서

생성한 어플리케이션 서버 정보를 등록한다.

참고: 어플리케이션 서버 등록에 대한 자세한 내용은 Tmax 안내서 중 ”Tmax Administration

Guide “ 참고한다.

다음은 Tmax 환경 설정 파일 중 MPP 타입의 서버 MPP00001과 IFP 타입의 서버

IFP00001을 위한 설정만 발췌한 예제이다.

*SERVER

###################################################

Page 40: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 40

# OpenFrame MPP User Server #

###################################################

MPP00001 SVGNAME = svgbiz,

MIN = 5,

MAX = 5,

RESTART = N,

CLOPT = "-o $(SVR).out -e $(SVR).err -l"

###################################################

# OpenFrame IFP User Server #

###################################################

IFP00001 SVGNAME = svgbiz,

MIN = 1,

MAX = 1,

RESTART = N,

CLOPT = "-o $(SVR).out -e $(SVR).err -l"

*SERVICE

#########################################

######### USER APPLICATION ##############

#########################################

MPP00001MPPSVC SVRNAME=MPP00001

IFP00001IFPSVC SVRNAME=IFP00001

2.6 시스템 기동 및 종료 설정

OSI는 트랜잭션의 처리 및 각종 프로세스의 관리를 TP-Monitor인 Tmax의 기능을 사

용한다. OSI는 단순히 Tmax를 기동시킨다고 사용할 수 있는 것은 아니고 시스템의

Page 41: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 41

기동 및 종료를 위한 필요한 정보를 설정해야 한다.

다음은 OSI의 기동과 종료의 절차이다.

[그림 2-2] OpenFrame/Online 기동 및 종료

기동 시에는 ofboot라는 프로그램을 이용하는데, ofboot는 내부에서 먼저 ofboot.pre

에 기술된 작업을 선행한 뒤 Tmax를 기동시킨다. 그리고, Tmax 기동 후에는

ofboot.post에 기술된 작업을 수행하는 동작을 한다.

종료 시에는 ofdown이라는 프로그램을 이용하는데, ofdown은 내부에서 먼저

ofdown.pre에 기술된 작업을 선행한 뒤 Tmax를 종료시킨다. 그리고, Tmax 종료 후

에는 ofdown.post에 기술된 작업을 수행하는 동작을 한다.

서버 기동 및 종료 단계에서 각 프로그램 항목에 기술되는 작업 내용은 다음과 같다.

서버 기동 시(ofboot)

선작업(ofboot.pre): 서버에 리소스 할당

후작업(ofboot.post): 서버 기동 후 바로 구동되는 트랜잭션을 구동하는 작업

서버 종료 시(ofdown)

선작업(ofdown.pre): 서버가 종료되기 전 수행해야 하는 트랜잭션

후작업(ofdown.post): 할당받았던 리소스 반환

Page 42: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 42

참고: ofboot, ofdown 툴 외에 시스템 기동 및 종료를 위해 다음과 같은 툴이 제공된다.

ofadmin: 시스템을 위한 리소스를 준비하고 반환

ofclient: 서버에 서비스 형태로 요청해야 하는 작업을 지원

기동

기동 과정에서 가장 중요한 일은 기동하기 전에 시스템에서 필요로 하는 리소스들을

준비하는 것과, 기동 후에 초기화 트랜잭션을 구동하고 서버가 클라이언트 요청을 받

아들일 수 있도록 준비하는 것이다.

기동 시 필요한 작업을 위해 ofboot라는 프로그램을 이용하는데, ofboot는 엔진을 기

동시키는 역할 외에 기동하기 전에 ofboot.pre 스크립트를 구동시키고 기동이 끝나면

ofboot.post 스크립트를 구동시키는 역할을 수행한다.

시스템을 기동하기 전에 ofboot.pre와 ofboot.post 스크립트에는 작업에 필요한 항목

이 설정되어 있어야 한다. 두 스크립트 파일 모두 $(TMAXDIR)/config 디렉터리에

위치한다.

ofboot.pre

ofboot.pre는 OpenFrame/Online 기동 과정에서 Online Core인 TP-Monitor인 Tmax

의 기동 전에 수행되는 작업을 기술하는 파일로 일반적인 쉘 프로그래밍 기법을 사용

하여 기술한다.

다음은 Tmax 기동 전에 OSI 시스템에 필요한 각종 리소스를 생성하고, OSI의 기본적

인 로그 레벨을 Error로 설정하는 작업을 기술한 예제이다.

###############################################################

# #

# OpenFrame Boot Preprocessing Script #

# =================================== #

# #

Page 43: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 43

# Copyright(c) 2006 TmaxSoft Inc. All rights reserved #

# #

###############################################################

ofadmin -create OSI

ofadmin -loglvl OSI:E

ofboot.post

ofboot.post는 OpenFrame/Online 기동 과정에서 Online Core인 TP-Monitor인 Tmax

의 기동 후에 수행되는 작업을 기술하는 파일로 쉘 프로그래밍 기법을 사용하여 기술

한다.

다음은 Tmax 기동 후에 Tmax의 언블럭 포트 12120을 사용하여 블록 포트의 블록을

해제하는 예제이다.

##############################################################

# #

# OpenFrame Boot Postprocessing Script #

# =================================== #

# #

# Copyright(c) 2006 TmaxSoft Inc. All rights reserved #

# #

##############################################################

ofclient -p 12120 -unblock

ofmboot

ofmboot 명령어는 여러 노드로 구성된 시스템을 운영할 때 사용되는 기동 명령어이다.

여러 개의 노드에 분산되어 있는 경우, 서로 다른 노드의 서버들이 같은 설정을 참조

Page 44: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 44

해야 할 수 있다(단, 공유 메모리를 사용하는 리소스들 때문에 이런 구성을 권장하지

는 않는다). 이 때 서로 다른 노드 사이에 공유되는 디스크가 없다면 물리적으로 같은

설정 파일을 사용하는 것이 불가능하다. 또한 각각의 노드에 기동되는 OSI 서버를 위

해서 기동 전처리 단계 및 후처리 단계가 모든 노드에서 독립적으로 발생해야 한다.

그러나 ofboot 기능만으로는 원격 노드의 기동 전처리 단계 및 후처리 단계를 제어할

수 없다.

OSI 시스템에서는 이런 문제를 해결하기 위해서 서로 다른 노드 사이에서 설정 파일

을 공유하고 각 노드 사이에서 기동 전/후처리 단계를 수행하기 위해 ofmadmin 툴과

ofmsvr 툴을 제공하고 있다. ofmadmin은 각 노드에 떠 있는 ofmsvr와 통신하면서 마

스터 노드의 설정 파일을 다른 노드에 복사하는 작업과 개별 노드의 서버 기동 과정을

제어한다.

참고: ofmadmin 및 ofmsvr 툴에 대한 자세한 내용은 OpenFrame 안내서 중 ”툴 참조 안내서”를

참고한다.

운영자는 서버 설정 문제로 인해 멀티 부트를 사용하려 할 경우 다음과 같은 단계의

작업을 수행하는 ofmboot 스크립트 파일을 작성해야 한다.

Step I. 마스터 노드의 설정을 다른 노드에 복사한다.

Step II. ofboot를 이용하여 마스터 노드를 기동시킨다.

Step III. ofboot를 이용하여 마스터 노드가 아닌 다른 노드를 개별적으로 기동시킨다.

다음은 of1a, of1b 두 개 노드가 있는 시스템에서 ofmboot를 사용하는 예이다.

/* 1단계: 현 노드의 online.conf를 192.168.1.44로 전송한다.

echo "OpenFrame Multi-Node Boot : start"

echo "==========================================================="

ofmadmin -cpcfg 192.168.1.44:32000

if [ $? -ne 0 ]

then

echo ""

Page 45: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 45

echo "ERROR : ofmadmin -cpcfg 192.168.1.44:32000"

exit -1

fi

echo "------------------------------------------------------"

/* 2단계: 현 노드의 OpenFrame/Online을 기동한다.

ofboot -n OF1A

if [ $? -ne 0 ]

then

echo ""

echo "ERROR : ofboot -n OF1A"

exit -1

fi

echo "------------------------------------------------------"

/* 3단계: 192.168.1.44 노드의 OpenFrame/Online을 기동한다.

ofmadmin -boot 192.168.1.44:32000:OF1B

if [ $? -ne 0 ]

then

echo ""

echo "ERROR : ofmadmin -boot 192.168.1.44:32000:OF1B"

exit -1

fi

echo "==========================================================="

echo "OpenFrame Multi-Node Boot : done"

~

Page 46: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 46

종료

시스템을 기동할 때와 마찬가지로 서버를 종료할 때에도 전, 후에 트랜잭션을 구동하

거나 생성된 리소스들을 반환하는 작업을 수행해야 한다.

종료 전, 후에 필요한 작업을 위해 ofdown이라는 툴이 제공된다. ofdown은 TP-

Monitor Tmax를 종료시키는 역할 외에 종료 전에 ofdown.pre 스크립트를 구동시키고,

종료가 완료되면 ofdown.post 스크립트를 구동시키는 역할도 수행한다.

ofdown.pre와 ofdown.post 스크립트에는 해당 작업에 필요한 항목이 설정되어 있어

야 한다. 두 스크립트 파일은 모두 $(TMAXDIR)/config 디렉터리에 위치한다.

ofdown.pre

ofdown.pre는 OpenFrame/Online 종료 과정에서 Online Core인 TP-Monitor Tmax의

종료 전에 수행되는 작업을 기술하는 파일로 쉘 프로그래밍 기법을 사용하여 기술한

다.

다음은 Tmax 종료 전에 OTPOLSVR 서버에서 로그 메시지를 플러시(flush)하도록 기

술한 예제이다.

##############################################################

# #

# OpenFrame Down Preprocessing Script #

# =================================== #

# #

# Copyright(c) 2006 TmaxSoft Inc. All rights reserved #

# #

##############################################################

ofclient -p 8888 OTPOLSVRFLUSH

Page 47: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 47

ofdown.post

ofdown.post는 OpenFrame/Online 종료 과정에서 Online Core인 TP-Monitor인 Tmax

의 종료 후에 수행되는 작업을 기술하는 파일로 쉘 프로그래밍 기법을 사용하여 기술

한다.

다음은 Tmax 종료 후에 OSI 시스템을 위해 생성되었던 각종 리소스를 제거하는 예제

이다.

##############################################################

# #

# OpenFrame Down Postprocessing Script #

# =================================== #

# #

# Copyright(c) 2006 TmaxSoft Inc. All rights reserved #

# #

##############################################################

ofadmin -remove OSI

ofmdown

ofmdown 명령어는 여러 노드로 구성된 시스템을 운영할 때 사용되는 종료 명령어이

다.

서버 기동시 개별 노드에서 기동 전처리 및 기동 후처리 단계가 필요한 것과 마찬가지

로 서버를 종료할 때에도 종료 전처리 단계 및 후처리 단계를 필요로 한다. ofmboot와

마찬가지로 ofmadmin과 ofmsvr에서 개별 노드에서 종료 전처리 및 후처리 단계를 수

행하는 기능을 제공하고 있다.

참고: ofmadmin 및 ofmsvr에 대한 자세한 내용은 OpenFrame 안내서 중 ”툴 참조 안내서”를 참

고한다.

Page 48: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 48

OSI 시스템 운영자는 ofmadmin및 ofmsvr를 이용해서 시스템을 종료할 때 개별 노드

의 종료 전처리 및 종료 후처리 작업을 수행하는 ofmdown 쉘 스크립트 파일을 작성해

야 한다.

ofmdown의 역할은 자신을 제외한 나머지 노드들을 종료시키고, ofdown을 이용해서

자신의 노드를 종료시키는 작업을 수행한다.

1. 마스터 노드를 제외한 나머지 노드를 ofdown으로 개별적으로 종료시킨다.

2. ofdown을 이용하여 마스터 노드를 종료시킨다.

다음은 of1a, of1b 두 개 노드가 있는 시스템에서의 ofmdown을 사용하는 예이다.

/* 1단계: 192.168.1.44 노드의 OpenFrame/Online을 종료한다.

echo "OpenFrame Multi-Node Shutdown : start"

echo "==========================================================="

ofmadmin -shutdown 192.168.1.44:32000:OF1B

if [ $? -ne 0 ]

then

echo ""

echo "ERROR : ofmadmin -shutdown 192.168.1.44:32000:OF1B"

exit -1

fi

echo "------------------------------------------------------"

/* 2단계: 현 노드의 OpenFrame/Online 종료한다.

ofdown -i -n OF1A

if [ $? -ne 0 ]

Page 49: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 49

then

echo ""

echo "ERROR : ofdown -i -n OF1A"

exit -1

fi

echo "==========================================================="

echo "OpenFrame Multi-Node Shutdown : done"

2.7 시스템 모듈 설정

1장 개요의 OSI 시스템 모듈에서 OSI의 시스템 모듈 중 MPP 타입 지원 모듈은

Message Queue Manager를 통해 큐잉 방식으로 메시지를 전달하며, Message

Queue Manager는 데이터 셋, OSIMQSCH, OSIMQMGR로 구성된다고 기술했다. .

본 절에서는 OSIMQSCH과 OSIMQMGR에 대해 자세히 기술한다.

참고: 데이터 셋과 관련된 자세한 내용은 OpenFrame/Storage 관련 안내서인 “HiDB 안내서”를

참고한다.

OSIMQSCH

OSIMQSCH는 OSI에서 Message Queue에 쌓인 메시지들을 스케줄링하는 프로세스

로서 OSI 전체 노드에 걸쳐 단일한 프로세스로 기동된다.

전체 노드에서 단일한 프로세스로 기동되도록 하기 위해 Tmax 상에서 서버 개수는 1

로 설정되며, 장애 처리를 위해서 Primary-Backup 서버 형태로 설정된다.

다음은 OSIMQSCH를 2개의 노드에 Primary-Backup 형태로 설정한 Tmax 환경 설정

파일 예제이다.

*SVRGROUP

Page 50: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 50

svgotpu NODENAME = "OF1A", BACKUP = "svgotpu2"

svgotpu2 NODENAME = "OF1B"

*SERVER

osimqsch SVGNAME = svgotpu, MIN = 1, MAX = 1, SVRTYPE=UCS,

CLOPT = "-o $(SVR).out -e $(SVR).err -l"

*SERVICE

OSIMQSCHDEQ SVRNAME = osimqsch

OSIMQSCHSCHD SVRNAME = osimqsch

OSIMQSCHRESCHD SVRNAME = osimqsch

OSIMQSCHSCHD SVRNAME = osimqsch

OSIMQSCHRESCHD SVRNAME = osimqsch

OSIMQSCHREADY SVRNAME = osimqsch

OSIMQSCHIDLE SVRNAME = osimqsch

OSIMQSCHMSGSTS SVRNAME = osimqsch

OSIMQSCHMPPSTS SVRNAME = osimqsch

OSIMQSCHBLKRLS SVRNAME = osimqsch

OSIMQMGR

OSIMQMGR는 OSI에서 Message Queue의 물리적인 저장소인 데이터 셋에 메시지

를 읽고 쓰는 프로세스이다. OSI 시스템에서 필요로 하는 수만큼 프로세스를 기동시

킬 수 있다.

시스템 전체에서 필요한 만큼 프로세스를 기동시키기 위해 Tmax 상의 전체 노드에서

COUSIN 서버 형태로 설정된다.

다음은 OSIMQMGR를 두 개의 노드에 COUSIN 형태로 구성하면서 노드당 기본 하나

Page 51: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제2장 OSI 시스템 서버 설정

OpenFrame OSI 운영자 안내서 51

의 프로세스를 Online 기동 시 운영하다가 시스템 부하에 따라 최대 세 개까지 기동되

도록 설정한 Tmax 환경 설정 파일 예제이다.

*SVRGROUP

svgotpn NODENAME = "OF1A", COUSIN = "svgotpn2", LOAD = -1

svgotpn2 NODENAME = "OF1B", LOAD = -1

*SERVER

osimqmgr SVGNAME = svgotpn, MIN = 1, MAX = 3,

CLOPT = "-o $(SVR).out -e $(SVR).err -l"

*SERVICE

OSIMQMGRLIST SVRNAME = osimqmgr

OSIMQMGRCANCEL SVRNAME = osimqmgr

OSIMQMGRDATA SVRNAME = osimqmgr

OSIMQMGRDEQ SVRNAME = osimqmgr

OSIMQMGRENQ SVRNAME = osimqmgr

Page 52: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의
Page 53: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 53

제3장 OSI 어플리케이션 서버 설정

3.1 소개

OSI 시스템에서는 사용자가 작성한 업무 프로그램을 기동하기 위해 IMS/DC 상의

Dependant Region과 대응하는 어플리케이션 서버를 준비하는 과정이 필요하다.

어플리케이션 서버를 준비하는 과정은 어플리케이션 서버를 위한 소스를 준비하고,

준비한 소스를 컴파일한 후 어플리케이션 서버를 시스템에 등록하는 과정을 거치게

된다. 또한 Online Core인 Tmax에서도 OSI에서 제공하는 어플리케이션 서버를 관리

할 수 있도록 해당 정보를 Tmax 환경 파일에도 등록해야 한다.

본 장에서는 OSI 사용자 모듈 상에서 기동되는 어플리케이션 서버인 MPP와 IFP 준비

과정에 대해 기술한다.

3.2 MPP 어플리케이션 서버

서버 소스 준비

MPP 타입의 어플리케이션 서버를 생성하기 위해서는 메인 소스와 서비스 테이블소스

두 개가 필요하다. 해당 소스에 대한 샘플은 OSI 시스템 설치 과정에서 기본으로 제공

된다.

제공된 샘플 소스를 사용하여 어플리케이션 서버 명칭만 변경하여 그대로 사용한다

(OSI 시스템에 대해 숙련된 사용자라면 고객의 환경에 맞게 샘플 소스에 기능을 추가

하여 사용 가능).

다음은 OpenFrame 시스템 설치 시 제공되는 MPP 타입의 어플리케이션 서버 메인 소

스 예제이다.

#include <stdio.h>

#include <usrinc/atmi.h>

Page 54: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 54

/* 실제 어플리케이션 서버 명칭으로 수정한다. */

#define _MPP_SVRVER_NAME "MPP00001"

#define _MPP_SVRVER_PREFIX ">>>>>>>>>>>>>>>>>>>>> "

#define _MSG_INIT_B(M) printf("%s---------------------------------------

---------------------\n",_MPP_SVRVER_PREFIX);\

printf("%s(%s) tpsvrinit : %s

start\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M))

#define _MSG_INIT_A(M) printf("%s(%s) tpsvrinit : %s

ok!!!\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M));\

printf("%s---------------------------------------

---------------------\n",_MPP_SVRVER_PREFIX)

#define _MSG_INIT_E(M,E) printf("%s(%s) tpsvrinit : %s

error(%d)\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M),(E))

#define _MSG_DONE_B(M) printf("%s---------------------------------------

---------------------\n",_MPP_SVRVER_PREFIX);\

printf("%s(%s) tpsvrdone : %s

start\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M))

#define _MSG_DONE_A(M) printf("%s(%s) tpsvrdone : %s

ok!!!\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M));\

printf("%s---------------------------------------

---------------------\n",_MPP_SVRVER_PREFIX)

#define _MSG_DONE_E(M,E) printf("%s(%s) tpsvrdone : %s

error(%d)\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M),(E))

void mppsvr_svc_main(TPSVCINFO *tpsvcinfo);

int tpsvrinit(int argc, char *argv[])

{

int rc;

Page 55: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 55

_MSG_INIT_B("initialization");

/***********************************************************/

/* IMS RES Initialize */

/***********************************************************/

_MSG_INIT_B("ims_res_svrinit");

rc = imsdc_res_svrinit(argc,argv);

if (rc < 0) {

_MSG_INIT_E("imsdc_res_svrinit",rc);

return rc;

}

_MSG_INIT_A("imsdc_res_svrinit");

/***********************************************************/

/***********************************************************/

/* MPP SVR Initialize */

/***********************************************************/

_MSG_INIT_B("mppsvr_init");

rc = mppsvr_init(argc,argv);

if (rc < 0) {

_MSG_INIT_E("mppsvr_init",rc);

return rc;

}

_MSG_INIT_A("mppsvr_init");

_MSG_INIT_A("initialization");

return 0;

}

Page 56: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 56

int tpsvrdone()

{

int rc;

_MSG_DONE_B("finalization");

/***********************************************************/

/* IMS RES Finalize */

/***********************************************************/

_MSG_INIT_B("ims_res_svrdone");

rc = imsdc_res_svrdone();

if (rc < 0) {

_MSG_INIT_E("imsdc_res_svrdone",rc);

return rc;

}

_MSG_INIT_A("imsdc_res_svrdone");

/***********************************************************/

_MSG_DONE_A("finalization");

return 0;

}

void MPP00001MPPSVC(TPSVCINFO *tpsvcinfo)

{

mppsvr_svc_main(tpsvcinfo);

}

다음은 OpenFrame 시스템 설치 시 제공되는 MPP 타입의 어플리케이션 서버 서비스

테이블소스 샘플이다.

#include <usrinc/atmi.h>

Page 57: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 57

#include <usrinc/svct.h>

#if defined (__cplusplus)

extern "C" {

#endif

int _tmax_cob_main(int argc, char *argv[]);

int _tmax_main(int argc, char *argv[]);

#if defined(_CBL_MODULE)

/* COBOL function declaration */

/* 실제 어플리케이션 서버의 대표 서비스 명칭으로 수정한다. */

extern int MPP00001MPPSVC(void);

#else

/* C/C++ function declaration */

/* 실제 어플리케이션 서버의 대표 서비스 명칭으로 수정한다. */

extern void MPP00001MPPSVC(TPSVCINFO *);

#endif

#if defined (__cplusplus)

}

#endif

/* 실제 어플리케이션 서버의 대표 서비스 명칭으로 수정한다. */

_svc_t _svc_tab[] = {{"MPP00001MPPSVC", MPP00001MPPSVC, 0, -1, -1}};

int _svc_tab_size = 1;

Page 58: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 58

int main(int argc, char *argv[])

{

#if defined(_CBL_MODULE)

return _tmax_cob_main(argc, argv);

#else

return _tmax_main(argc, argv);

#endif

}

다음은 MPP 타입의 어플리케이션 서버 LOANM001을 위해 수정된 메인 소스 예제이

다.

#include <stdio.h>

#include <usrinc/atmi.h>

#define _MPP_SVRVER_NAME "LOANM001"

#define _MPP_SVRVER_PREFIX ">>>>>>>>>>>>>>>>>>>>> "

#define _MSG_INIT_B(M) printf("%s---------------------------------------

---------------------\n",_MPP_SVRVER_PREFIX);\

printf("%s(%s) tpsvrinit : %s

start\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M))

#define _MSG_INIT_A(M) printf("%s(%s) tpsvrinit : %s

ok!!!\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M));\

printf("%s---------------------------------------

---------------------\n",_MPP_SVRVER_PREFIX)

#define _MSG_INIT_E(M,E) printf("%s(%s) tpsvrinit : %s

error(%d)\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M),(E))

#define _MSG_DONE_B(M) printf("%s---------------------------------------

---------------------\n",_MPP_SVRVER_PREFIX);\

Page 59: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 59

printf("%s(%s) tpsvrdone : %s

start\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M))

#define _MSG_DONE_A(M) printf("%s(%s) tpsvrdone : %s

ok!!!\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M));\

printf("%s---------------------------------------

---------------------\n",_MPP_SVRVER_PREFIX)

#define _MSG_DONE_E(M,E) printf("%s(%s) tpsvrdone : %s

error(%d)\n",_MPP_SVRVER_PREFIX,_MPP_SVRVER_NAME,(M),(E))

void mppsvr_svc_main(TPSVCINFO *tpsvcinfo);

int tpsvrinit(int argc, char *argv[])

{

int rc;

_MSG_INIT_B("initialization");

/*************************************************************/

/* IMS RES Initialize */

/*************************************************************/

_MSG_INIT_B("ims_res_svrinit");

rc = imsdc_res_svrinit(argc,argv);

if (rc < 0) {

_MSG_INIT_E("imsdc_res_svrinit",rc);

return rc;

}

_MSG_INIT_A("imsdc_res_svrinit");

Page 60: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 60

/*************************************************************/

/*************************************************************/

/* MPP SVR Initialize */

/*************************************************************/

_MSG_INIT_B("mppsvr_init");

rc = mppsvr_init(argc,argv);

if (rc < 0) {

_MSG_INIT_E("mppsvr_init",rc);

return rc;

}

_MSG_INIT_A("mppsvr_init");

_MSG_INIT_A("initialization");

return 0;

}

int tpsvrdone()

{

int rc;

_MSG_DONE_B("finalization");

/*************************************************************/

/* IMS RES Finalize */

/*************************************************************/

_MSG_INIT_B("ims_res_svrdone");

rc = imsdc_res_svrdone();

Page 61: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 61

if (rc < 0) {

_MSG_INIT_E("imsdc_res_svrdone",rc);

return rc;

}

_MSG_INIT_A("imsdc_res_svrdone");

/*************************************************************/

_MSG_DONE_A("finalization");

return 0;

}

void LOANM001SVC(TPSVCINFO *tpsvcinfo)

{

mppsvr_svc_main(tpsvcinfo);

}

다음은 대표 서비스 LOANI001SVC를 가지고 있는 MPP 타입의 어플리케이션 서버

LOANM001을 위해 수정된 서비스 테이블소스 예제이다.

#include <usrinc/atmi.h>

#include <usrinc/svct.h>

#if defined (__cplusplus)

extern "C" {

#endif

int _tmax_cob_main(int argc, char *argv[]);

int _tmax_main(int argc, char *argv[]);

Page 62: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 62

#if defined(_CBL_MODULE)

/* COBOL function declaration */

extern int LOANM001SVC(void);

#else

/* C/C++ function declaration */

extern void LOANM001SVC(TPSVCINFO *);

#endif

#if defined (__cplusplus)

}

#endif

_svc_t _svc_tab[] = {{"LOANM001SVC", LOANM001SVC, 0, -1, -1}};

int _svc_tab_size = 1;

int main(int argc, char *argv[])

{

#if defined(_CBL_MODULE)

return _tmax_cob_main(argc, argv);

#else

return _tmax_main(argc, argv);

#endif

}

Page 63: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 63

서버 컴파일

MPP 타입의 어플리케이션 서버를 생성하기 위한 소스가 준비된 후에는 컴파일 과정

을 통해 Online Core에서 실행 가능한 모듈을 만들어야 한다.

컴파일을 위한 기본 mkefile은 OSI 시스템 설치 과정에서 제공된다.

다음은 Solaris 64비트 환경을 위해 제공된 MPP 타입의 어플리케이션 서버 컴파일용

샘플 makefile이다. (본 매뉴얼에서 사용하는 코볼 컴파일러는 MF-COBOL 컴파일러

이다.)

TARGET = MPP00001

SOURCES = MPP00001.c \

MPP00001_svctab.c

OBJS= $(SOURCES:.c=.o)

CFLAGS=-DSUNOS5 -DSVR5 -D_SUN -D_TMAX64 -xarch=v9 -D_BSD -D_REENTRANT -

DFD_SETSIZE=4096

CFLAGS += -I$(TMAXDIR)

LIBS = -L$(OPENFRAME_HOME)/lib -limsdcres -limsdclog -limsdcdliio -limsdcdli

-limsdli -limsdcaxi -limsdcmppsvr -L$(TMAXDIR)/lib64 -lsvr -lnodb

COBL = cob64

COBLFLAGS = -xv -U

CC = cc

IMS_AP_DIR = $(OPENFRAME_HOME)/appsvr

Page 64: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 64

all: $(TARGET)

$(TARGET): $(OBJS)

$(COBL) $(COBLFLAGS) $(TMAXDIR)/lib64/sdl.o $(OBJS) $(LIBS) -o $@

-mv $@ $(IMS_AP_DIR)

# clean

clean:

-rm -f *.o core $(IMS_AP_DIR)/$(TARGET)

Tmax 환경 파일 설정

MPP 타입의 어플리케이션 서버 모듈을 준비한 후에는 Tmax 환경 구성 파일에 서버

모듈의 정보를 추가해야 한다.

Tmax환경 파일은 SERVER, SERVICE 2개의 절로 구성된다. SERVER 절에는 어플

리케이션 서버 정보를 SERVICE 절에는 어플리케이션 서버의 대표 서비스 정보를 추

가한다.

다음은 MPPCUST1MPPSVC라는 대표 서비스를 가지고 있는 어플리케이션 서버

MPPCUST1을 추가한 예제이다.

*SERVER

MPPCUST1 SVGNAME = svgbiz,

MIN = 1,

MAX = 1,

RESTART = N,

CLOPT = "-o $(SVR).out -e $(SVR).err -l"

Page 65: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 65

*SERVICE

MPPCUST1MPPSVC SVRNAME=MPPCUST1

3.3 IFP 어플리케이션 서버

서버 소스 준비

IFP 타입의 어플리케이션 서버를 생성하기 위해서는 메인 소스와 서비스 테이블소스

두 개가 필요하다. 해당 소스에 대한 샘플은 OSI 시스템 설치 과정에서 기본으로 제공

된다.

제공된 샘플 소스를 사용하여 어플리케이션 서버 명칭만 변경하여 그대로 사용한다.

참고: OSI 시스템에 대해 숙련된 사용자라면 고객의 환경에 맞게 샘플 소스에 기능을 추가하여

사용 가능하다.

다음은 OpenFrame 시스템 설치 시 제공되는 IFP 타입의 사용자 서버 메인 소스 샘플

이다.

#include <stdio.h>

#include <usrinc/atmi.h>

/* 실제 어플리케이션 서버 명칭으로 수정한다. */

#define _IFP_SVRVER_NAME "IFP00001"

#define _IFP_SVRVER_PREFIX ">>>>>>>>>>>>>>>>>>>>> "

#define _MSG_INIT_B(M) printf("%s---------------------------------------

---------------------\n",_IFP_SVRVER_PREFIX);\

printf("%s(%s) tpsvrinit : %s start\n",

_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M))

Page 66: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 66

#define _MSG_INIT_A(M) printf("%s(%s) tpsvrinit : %s ok!!!\n",

_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M));\

printf("%s---------------------------------------

---------------------\n",_IFP_SVRVER_PREFIX)

#define _MSG_INIT_E(M,E) printf("%s(%s) tpsvrinit : %s error(%d)\n",

_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M),(E))

#define _MSG_DONE_B(M) printf("%s---------------------------------------

---------------------\n",_IFP_SVRVER_PREFIX);\

printf("%s(%s) tpsvrdone : %s

start\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M))

#define _MSG_DONE_A(M) printf("%s(%s) tpsvrdone : %s

ok!!!\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M));\

printf("%s---------------------------------------

---------------------\n",_IFP_SVRVER_PREFIX)

#define _MSG_DONE_E(M,E) printf("%s(%s) tpsvrdone : %s

error(%d)\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M),(E))

void ifpsvr_svc_main(TPSVCINFO *tpsvcinfo);

int tpsvrinit(int argc, char *argv[])

{

int rc;

_MSG_INIT_B("initialization");

/*************************************************************/

/* IMS RES Initialize */

/*************************************************************/

Page 67: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 67

_MSG_INIT_B("ims_res_svrinit");

rc = imsdc_res_svrinit(argc,argv);

if (rc < 0) {

_MSG_INIT_E("imsdc_res_svrinit",rc);

return rc;

}

_MSG_INIT_A("ims_res_svrinit");

/*************************************************************/

_MSG_INIT_A("initialization");

return 0;

}

int tpsvrdone()

{

int rc;

_MSG_DONE_B("finalization");

/*************************************************************/

/* IMS RES Finalize */

/*************************************************************/

_MSG_INIT_B("ims_res_svrdone");

rc = imsdc_res_svrdone();

if (rc < 0) {

_MSG_INIT_E("ims_res_svrdone",rc);

Page 68: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 68

return rc;

}

_MSG_INIT_A("imsdc_res_svrdone");

/*************************************************************/

_MSG_DONE_A("finalization");

return 0;

}

void IFP00001IFPSVC(TPSVCINFO *tpsvcinfo)

{

ifpsvr_svc_main(tpsvcinfo);

}

다음은 OpenFrame 시스템 설치 시 제공되는 IFP 타입의 어플리케이션 서버 서비스

테이블소스 샘플이다.

#include <usrinc/atmi.h>

#include <usrinc/svct.h>

#if defined (__cplusplus)

extern "C" {

#endif

int _tmax_cob_main(int argc, char *argv[]);

int _tmax_main(int argc, char *argv[]);

#if defined(_CBL_MODULE)

/* COBOL function declaration */

Page 69: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 69

/* 실제 어플리케이션 서버의 대표 서비스 명칭으로 수정한다. */

extern int IFP00001IFPSVC(void);

#else

/* C/C++ function declaration */

/* 실제 어플리케이션 서버의 대표 서비스 명칭으로 수정한다. */

extern void IFP00001IFPSVC(TPSVCINFO *);

#endif

#if defined (__cplusplus)

}

#endif

/* 실제 어플리케이션 서버의 대표 서비스 명칭으로 수정한다. */

_svc_t _svc_tab[] = {{"IFP00001IFPSVC", IFP00001IFPSVC, 0, -1, -1}};

int _svc_tab_size = 1;

int main(int argc, char *argv[])

{

#if defined(_CBL_MODULE)

return _tmax_cob_main(argc, argv);

#else

return _tmax_main(argc, argv);

#endif

}

Page 70: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 70

다음은 IFP 타입의 어플리케이션 서버 LOANI001을 위해 수정된 메인 소스 예제이다.

#include <stdio.h>

#include <usrinc/atmi.h>

#define _IFP_SVRVER_NAME " LOANI001"

#define _IFP_SVRVER_PREFIX ">>>>>>>>>>>>>>>>>>>>> "

#define _MSG_INIT_B(M) printf("%s---------------------------------------

---------------------\n",_IFP_SVRVER_PREFIX);\

printf("%s(%s) tpsvrinit : %s

start\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M))

#define _MSG_INIT_A(M) printf("%s(%s) tpsvrinit : %s

ok!!!\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M));\

printf("%s---------------------------------------

---------------------\n",_IFP_SVRVER_PREFIX)

#define _MSG_INIT_E(M,E) printf("%s(%s) tpsvrinit : %s

error(%d)\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M),(E))

#define _MSG_DONE_B(M) printf("%s---------------------------------------

---------------------\n",_IFP_SVRVER_PREFIX);\

printf("%s(%s) tpsvrdone : %s

start\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M))

#define _MSG_DONE_A(M) printf("%s(%s) tpsvrdone : %s

ok!!!\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M));\

printf("%s---------------------------------------

---------------------\n",_IFP_SVRVER_PREFIX)

#define _MSG_DONE_E(M,E) printf("%s(%s) tpsvrdone : %s

error(%d)\n",_IFP_SVRVER_PREFIX,_IFP_SVRVER_NAME,(M),(E))

Page 71: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 71

void ifpsvr_svc_main(TPSVCINFO *tpsvcinfo);

int tpsvrinit(int argc, char *argv[])

{

int rc;

_MSG_INIT_B("initialization");

/***********************************************************/

/* IMS RES Initialize */

/***********************************************************/

_MSG_INIT_B("ims_res_svrinit");

rc = imsdc_res_svrinit(argc,argv);

if (rc < 0) {

_MSG_INIT_E("imsdc_res_svrinit",rc);

return rc;

}

_MSG_INIT_A("ims_res_svrinit");

/***********************************************************/

_MSG_INIT_A("initialization");

return 0;

}

int tpsvrdone()

Page 72: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 72

{

int rc;

_MSG_DONE_B("finalization");

/***********************************************************/

/* IMS RES Finalize */

/***********************************************************/

_MSG_INIT_B("ims_res_svrdone");

rc = imsdc_res_svrdone();

if (rc < 0) {

_MSG_INIT_E("ims_res_svrdone",rc);

return rc;

}

_MSG_INIT_A("imsdc_res_svrdone");

/***********************************************************/

_MSG_DONE_A("finalization");

return 0;

}

void LOANI001SVC(TPSVCINFO *tpsvcinfo)

{

ifpsvr_svc_main(tpsvcinfo);

}

다음은 대표 서비스 LOANI001SVC를 가지고 있는 IFP 타입의 어플리케이션 서버

Page 73: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 73

LOANI001을 위해 수정된 서비스 테이블소스 예제이다.

#include <usrinc/atmi.h>

#include <usrinc/svct.h>

#if defined (__cplusplus)

extern "C" {

#endif

int _tmax_cob_main(int argc, char *argv[]);

int _tmax_main(int argc, char *argv[]);

#if defined(_CBL_MODULE)

/* COBOL function declaration */

extern int LOANI001SVC(void);

#else

/* C/C++ function declaration */

extern void LOANI001SVC(TPSVCINFO *);

#endif

#if defined (__cplusplus)

}

#endif

_svc_t _svc_tab[] = {{"LOANI001SVC", LOANI001SVC, 0, -1, -1}};

int _svc_tab_size = 1;

Page 74: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 74

int main(int argc, char *argv[])

{

#if defined(_CBL_MODULE)

return _tmax_cob_main(argc, argv);

#else

return _tmax_main(argc, argv);

#endif

}

서버 컴파일

IFP 타입의 어플리케이션 서버를 생성하기 위한 소스가 준비된 후에는 컴파일 과정을

통해 Online Core에서 실행 가능한 모듈을 만들어야 한다.

컴파일을 위한 기본 makefile은 OSI 시스템 설치 과정에서 제공된다.

다음은 Solaris 64비트 환경을 위해 제공된 IFP 타입의 어플리케이션 서버 컴파일용

샘플 makefile이다. (본 매뉴얼에서 사용하는 코볼 컴파일러는 MF-COBOL 컴파일러

이다.)

TARGET = IFP00001

SOURCES = IFP00001.c \

IFP00001_svctab.c

OBJS= $(SOURCES:.c=.o)

CFLAGS=-DSUNOS5 -DSVR5 -D_SUN -D_TMAX64 -xarch=v9 -D_BSD -D_REENTRANT -

DFD_SETSIZE=4096

CFLAGS += -I$(TMAXDIR)

LIBS = -L$(OPENFRAME_HOME)/lib -limsbase -limspcb -limsdcres -limsdclog -

limsdcpcb -limsdcdliio -limsdcdli -limsdli -lhidb -limsdcifpsvr -

Page 75: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 75

L$(TMAXDIR)/lib64 -lsvr -lnodb

COBL = cob64

COBLFLAGS = -xv -U

CC = cc

IMS_AP_DIR = $(OPENFRAME_HOME)/appsvr

all: $(TARGET)

$(TARGET): $(OBJS)

$(COBL) $(COBLFLAGS) $(TMAXDIR)/lib64/sdl.o $(OBJS) $(LIBS) -o $@

-mv $@ $(IMS_AP_DIR)

# clean

clean:

-rm -f *.o core $(IMS_AP_DIR)/$(TARGET)

Tmax 환경 파일 설정

IFP 타입의 어플리케이션 서버 모듈을 준비한 후에는 Tmax 환경 구성 파일에 해당 정

보를 설정한다.

Tmax환경 파일은 SERVER, SERVICE 2개의 절로 구성된다. SERVER 절에는 어플

리케이션 서버 정보를, SERVICE 절에는 어플리케이션 서버의 대표 서비스 정보를 설

정한다.

다음은 IFPLOAN1IFPSVC라는 대표 서비스를 가지고 있는 어플리케이션 서버

IFPLOAN1을 설정한 예제이다.

Page 76: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제3장 OSI 어플리케이션 서버 설정

OpenFrame OSI 운영자 안내서 76

*SERVER

IFPLOAN1 SVGNAME = svgbiz,

MIN = 3,

MAX = 5,

RESTART = N,

CLOPT = "-o $(SVR).out -e $(SVR).err -l"

*SERVICE

IFPLOAN1IFPSVC SVRNAME=IFP00001

Page 77: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 77

제4장 OSI 어플리케이션 생성

4.1 소개

“제3장 OSI 어플리케이션 서버 설정”의 지시에 따라 어플리케이션 서버 준비가 완료

된 후에는 어플리케이션 서버에서 동작할 서비스를 생성한다.

사용자 서비스를 준비하는 과정은 서버 타입과 관계 없이 일반적으로 다음과 같은 단

계로 진행된다.

Step I. 프로그램의 소스를 준비한다.

Step II. 준비된 소스를 컴파일한다.

Step III. PSB를 등록하고 컴파일한다.

Step IV. ACBLIB를 상황에 맞게 수정한다.

Step V. RESLIB를 상황에 맞게 수정한다.

Step VI. 서비스 프로그램을 배포한다.

Step VII. 서비스 정보를 등록한다.

4.2 MPP 사용자 서비스

다음은 MPP 타입의 어플리케이션 서버에서 동작할 사용자 서비스를 준비하는 예제

이다.

1. 프로그램 소스 준비 과정으로 고객 서비스 로직이 구현된 OIVPI002.cob를 작

성한다.

ID DIVISION.

PROGRAM-ID. OIVPI002-INQR.

Page 78: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 78

AUTHOR. BSKIM.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 INQUIRY-RESULT-FLAG PIC X VALUE 'Y'.

88 INQUIRY-SUCCESS VALUE 'Y'.

01 INPUT-MESSAGE-IO-AREA.

05 IM-LL PIC S9(3) COMP.

05 IM-ZZ PIC S9(3) COMP.

05 IM-TRANSACTION-CODE PIC X(8).

05 IM-PFKEY-SELECTION PIC XX.

88 IM-ENTER-KEY VALUE 'EN'.

88 IM-CLEAR-KEY VALUE 'CL'.

88 IM-ELSE-KEY VALUE ' '.

05 IM-MSG-DATA.

10 IM-ACCOUNT PIC X(10).

10 IM-PRINTER PIC X(8).

01 BMP-OUTPUT-MESSAGE-IO-AREA.

05 BM-LL PIC S9(3) COMP.

05 BM-Z1-Z2 PIC S9(3) COMP VALUE ZERO.

05 BM-MSG-DATA.

10 BM-ACCOUNT PIC X(10).

10 BM-NAME PIC X(10).

10 BM-DATE PIC X(10).

10 BM-AMOUNT PIC X(5).

Page 79: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 79

10 BM-IRATE PIC X(5).

10 BM-TAXTYPE PIC X(4).

01 OUTPUT-MESSAGE-IO-AREA.

05 OM-LL PIC S9(3) COMP.

05 OM-Z1-Z2 PIC S9(3) COMP VALUE ZERO.

05 OM-MSG-DATA.

10 OM-ACCOUNT PIC X(10).

10 OM-NAME PIC X(10).

10 OM-DATE PIC X(10).

10 OM-AMOUNT PIC X(5).

10 OM-IRATE PIC X(5).

10 OM-TAXTYPE PIC X(4).

10 OM-PRINTER PIC X(8).

10 OM-ERRMSG PIC X(79).

01 ACCOUNT-SSA.

05 FILLER PIC X(9) VALUE 'DBSEG ('.

05 FILLER PIC X(8) VALUE 'ACCOUNT '.

05 FILLER PIC X(2) VALUE '= '.

05 ACCOUNT-NUMBER-SSA-VALUE PIC X(10).

05 FILLER PIC X VALUE ')'.

01 ERROR-MESSAGE.

05 FILLER PIC X(11) VALUE 'OIVPI002 - '.

05 FILLER PIC X(6) VALUE 'DBSEG('.

05 EM-KEY PIC X(10).

05 FILLER PIC X(3) VALUE '), '.

Page 80: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 80

05 FILLER PIC X(12) VALUE 'STATUS CODE('.

05 EM-STATUS-CODE PIC XX.

05 FILLER PIC XX VALUE ') '.

05 EM-TEXT PIC X(33).

01 DATA-BUFFER.

05 DBUF-ACCOUNT PIC X(10).

05 DBUF-NAME PIC X(10).

05 DBUF-DATE PIC X(10).

05 DBUF-AMOUNT PIC X(5).

05 DBUF-IRATE PIC X(5).

05 DBUF-TAXTYPE PIC X(4).

05 DBUF-PRINTER PIC X(8).

01 DLI-FUNCTIONS.

05 DLI-GU PIC X(4) VALUE 'GU '.

05 DLI-GHU PIC X(4) VALUE 'GHU '.

05 DLI-GN PIC X(4) VALUE 'GN '.

05 DLI-GHN PIC X(4) VALUE 'GHN '.

05 DLI-GNP PIC X(4) VALUE 'GNP '.

05 DLI-GHNP PIC X(4) VALUE 'GHNP'.

05 DLI-ISRT PIC X(4) VALUE 'ISRT'.

05 DLI-DLET PIC X(4) VALUE 'DLET'.

05 DLI-REPL PIC X(4) VALUE 'REPL'.

05 DLI-CHKP PIC X(4) VALUE 'CHKP'.

05 DLI-XRST PIC X(4) VALUE 'XRST'.

05 DLI-PCB PIC X(4) VALUE 'PCB '.

Page 81: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 81

05 DLI-CHNG PIC X(4) VALUE 'CHNG'.

05 DLI-PURG PIC X(4) VALUE 'PURG'.

01 MFS-FIELDS.

05 MFS-MOD-NAME PIC X(8).

05 MFS-ALT-DEST PIC X(8).

LINKAGE SECTION.

01 IO-PCB-MASK.

05 IO-PCB-LOGICAL-TERMINAL PIC X(8).

05 FILLER PIC XX.

05 IO-PCB-STATUS-CODE PIC XX.

05 IO-PCB-DATE PIC S9(7) COMP-3.

05 IO-PCB-TIME PIC S9(6)V9 COMP-3.

05 IO-PCB-MSG-SEQ-NUMBER PIC S9(5) COMP.

05 IO-PCB-MOD-NAME PIC X(8).

05 IO-PCB-USER-ID PIC X(8).

01 ALT-PCB-MASK.

05 ALT-PCB-LOGICAL-TERMINAL PIC X(8).

05 FILLER PIC XX.

05 ALT-PCB-STATUS-CODE PIC XX.

01 DB-PCB-MASK.

05 DB-PCB-DBD-NAME PIC X(8).

05 DB-PCB-SEGMENT-LEVEL PIC XX.

05 DB-PCB-STATUS-CODE PIC XX.

05 DB-PCB-PROC-OPTIONS PIC X(4).

05 FILLER PIC S9(7) COMP.

Page 82: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 82

05 DB-PCB-SEGMENT-NAME PIC X(8).

05 DB-PCB-KEY-LENGTH PIC S9(7) COMP.

05 DB-PCB-NUMBER-SENS-SEGS PIC S9(7) COMP.

05 DB-PCB-KEY PIC X(10).

PROCEDURE DIVISION.

ENTRY 'DLITCBL' USING IO-PCB-MASK

ALT-PCB-MASK

DB-PCB-MASK.

INITIALIZE OM-MSG-DATA.

READY TRACE.

PERFORM 110-GET-INPUT-MESSAGE.

EVALUATE TRUE

WHEN IM-ENTER-KEY

PERFORM 200-INQUIRY-ACCOUNT

IF INQUIRY-SUCCESS

MOVE '; INQUIRY SUCCESS' TO EM-TEXT

PERFORM 300-SEND-DATA

ELSE

PERFORM 400-SEND-ERROR

WHEN IM-CLEAR-KEY

PERFORM 500-SEND-CLEAR

WHEN OTHER

PERFORM 900-INVALID-KEY-MESSAGE

Page 83: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 83

END-EVALUATE.

PERFORM 190-INSERT-OUTPUT-MESSAGE.

IF IM-PRINTER NOT EQUAL ' '

PERFORM 170-INSERT-ALT-MESSAGE.

PERFORM 175-INSERT-BMP-ALT-MESSAGE.

GOBACK.

110-GET-INPUT-MESSAGE.

CALL 'CBLTDLI' USING DLI-GU

IO-PCB-MASK

INPUT-MESSAGE-IO-AREA.

170-INSERT-ALT-MESSAGE.

MOVE IM-PRINTER TO MFS-ALT-DEST.

CALL 'CBLTDLI' USING DLI-CHNG

ALT-PCB-MASK

MFS-ALT-DEST.

IF ALT-PCB-STATUS-CODE = SPACE THEN

DISPLAY 'OK'

ELSE

DISPLAY ALT-PCB-STATUS-CODE

GOBACK

Page 84: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 84

END-IF.

MOVE 135 TO OM-LL.

CALL 'CBLTDLI' USING DLI-ISRT

ALT-PCB-MASK

OUTPUT-MESSAGE-IO-AREA.

IF ALT-PCB-STATUS-CODE = SPACE THEN

DISPLAY 'OK'

ELSE

DISPLAY ALT-PCB-STATUS-CODE

GOBACK

END-IF.

CALL 'CBLTDLI' USING DLI-PURG

ALT-PCB-MASK.

IF ALT-PCB-STATUS-CODE = SPACE THEN

DISPLAY 'OK'

ELSE

DISPLAY ALT-PCB-STATUS-CODE

GOBACK

END-IF.

175-INSERT-BMP-ALT-MESSAGE.

Page 85: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 85

MOVE 'OIVPIL02' TO MFS-ALT-DEST.

CALL 'CBLTDLI' USING DLI-CHNG

ALT-PCB-MASK

MFS-ALT-DEST.

IF ALT-PCB-STATUS-CODE = SPACE THEN

DISPLAY 'OK'

ELSE

DISPLAY ALT-PCB-STATUS-CODE

GOBACK

END-IF.

MOVE IM-MSG-DATA TO BM-MSG-DATA.

MOVE 48 TO BM-LL.

CALL 'CBLTDLI' USING DLI-ISRT

ALT-PCB-MASK

BMP-OUTPUT-MESSAGE-IO-AREA.

IF ALT-PCB-STATUS-CODE = SPACE THEN

DISPLAY 'OK'

ELSE

DISPLAY ALT-PCB-STATUS-CODE

GOBACK

END-IF.

190-INSERT-OUTPUT-MESSAGE.

Page 86: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 86

MOVE 135 TO OM-LL.

MOVE ERROR-MESSAGE TO OM-ERRMSG.

CALL 'CBLTDLI' USING DLI-ISRT

IO-PCB-MASK

OUTPUT-MESSAGE-IO-AREA.

200-INQUIRY-ACCOUNT.

MOVE IM-ACCOUNT TO ACCOUNT-NUMBER-SSA-VALUE.

CALL 'CBLTDLI' USING DLI-GU

DB-PCB-MASK

DATA-BUFFER

ACCOUNT-SSA.

MOVE DB-PCB-STATUS-CODE TO EM-STATUS-CODE.

IF DB-PCB-STATUS-CODE NOT = SPACE

MOVE 'N' TO INQUIRY-RESULT-FLAG.

300-SEND-DATA.

MOVE ACCOUNT-NUMBER-SSA-VALUE TO EM-KEY.

MOVE DBUF-ACCOUNT TO OM-ACCOUNT.

MOVE DBUF-NAME TO OM-NAME.

MOVE DBUF-DATE TO OM-DATE.

MOVE DBUF-AMOUNT TO OM-AMOUNT.

Page 87: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 87

MOVE DBUF-IRATE TO OM-IRATE.

MOVE DBUF-TAXTYPE TO OM-TAXTYPE.

MOVE SPACE TO OM-PRINTER.

MOVE ERROR-MESSAGE TO OM-ERRMSG.

400-SEND-ERROR.

MOVE ACCOUNT-NUMBER-SSA-VALUE TO EM-KEY.

MOVE '; NOT FOUND' TO EM-TEXT.

MOVE SPACE TO OM-MSG-DATA.

500-SEND-CLEAR.

MOVE SPACE TO OM-MSG-DATA.

MOVE '; CLEAR' TO EM-TEXT.

MOVE ERROR-MESSAGE TO OM-ERRMSG.

900-INVALID-KEY-MESSAGE.

MOVE '; INVALID KEY' TO EM-TEXT.

MOVE ERROR-MESSAGE TO OM-ERRMSG.

2. 프로그램 소스를 준비하는 과정으로 MSI를 위한 OIVP002.fmt를 작성한다.

PRINT ON,NOGEN

*******************************************************************

TITLE 'FORMAT SET FOR OPENFRAME ONLINE IVP'

*******************************************************************

OIVP002 FMT

Page 88: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 88

DEV TYPE=(3270,2), X

FEAT=IGNORE, X

DSCA=X'00A0', X

PFK=(PFKFIELD, X

1='/FOR OIVP001O', X

12='/FOR OIVP006O')

DIV TYPE=INOUT

DPAGE CURSOR=((7,33)), X

FILL=PT

CURDATE DFLD POS=(1,2), X

LTH=8, X

ATTR=(PROT,ALPHA,NORM,NOMOD)

DFLD '** WELCOME TO OPENFRAME ONLINE **', X

POS=(2,24), X

ATTR=(PROT,ALPHA,HI,NOMOD), X

EATTR=YELLOW

DFLD '-------------------------------------------------------X

-----------------------', X

POS=(3,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=YELLOW

DFLD '** OSI INSTALLATION VERIFICATION PROCEDURE **', X

POS=(4,17), X

ATTR=(PROT,ALPHA,HI,NOMOD), X

EATTR=GREEN

Page 89: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 89

DFLD 'ACCOUNT ', X

POS=(7,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

ACCOUNT DFLD POS=(7,33), X

LTH=10, X

ATTR=(NOPROT,ALPHA,NORM,MOD), X

EATTR=HUL

DFLD ' ', X

POS=(7,44), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD '(XXX-XX-XXX)', X

POS=(7,46), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'N A M E ', X

POS=(8,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

NAME DFLD POS=(8,33), X

LTH=10, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(8,44), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'D A T E ', X

POS=(9,23), X

Page 90: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 90

ATTR=(PROT,ALPHA,HI,NOMOD)

DATE DFLD POS=(9,33), X

LTH=10, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(9,44), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'AMOUNT ', X

POS=(10,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

AMOUNT DFLD POS=(10,33), X

LTH=5, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(10,39), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'INTEREST ', X

POS=(11,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

IRATE DFLD POS=(11,33), X

LTH=5, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

Page 91: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 91

DFLD ' ', X

POS=(11,39), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'TAX TYPE ', X

POS=(12,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

TAXTYPE DFLD POS=(12,33), X

LTH=4, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(12,38), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'PRINTER ', X

POS=(14,23), X

ATTR=(PROT,ALPHA,HI,NOMOD), X

EATTR=TURQ

PRINTER DFLD POS=(14,33), X

LTH=8, X

ATTR=(NOPROT,ALPHA,NORM,MOD), X

EATTR=(TURQ,HREV)

DFLD ' ', X

POS=(14,42), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD '-------------------------------------------------------X

Page 92: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 92

-----------------------', X

POS=(18,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=YELLOW

ERRMSG DFLD POS=(19,2), X

LTH=79, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=TURQ

DFLD 'ENTER APPROPRIATE VALUES AND PRINTER TO INQUIRY.', X

POS=(20,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=PINK

DFLD '-------------------------------------------------------X

-----------------------', X

POS=(21,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=YELLOW

DFLD '[SYS INFO] - MPP/IO-PCB,DB-PCB,ALT-PCB TESTING NOW' X

,

POS=(22,2), X

ATTR=(PROT,ALPHA,HI,NOMOD), X

EATTR=RED

CURTIME DFLD POS=(22,71), X

LTH=8, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

Page 93: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 93

EATTR=RED

DFLD '-------------------------------------------------------X

-----------------------', X

POS=(23,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=YELLOW

DFLD 'CopyRight(c) 2007, TmaxSoft, All Rights Reserved.', X

POS=(24,31), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=BLUE

FMTEND

*********************************************************************

EJECT

*********************************************************************

OIVP002I MSG TYPE=INPUT, X

SOR=(OIVP002,IGNORE), X

NXT=OIVP002O

SEG

MFLD 'OIVPI002', X

LTH=8

MFLD PFKFIELD, X

LTH=13

MFLD ACCOUNT, X

LTH=10

MFLD PRINTER, X

Page 94: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 94

LTH=8

MSGEND

*********************************************************************

OIVP002O MSG TYPE=OUTPUT, X

SOR=(OIVP002,IGNORE), X

NXT=OIVP002I

SEG

MFLD (CURDATE,DATE2)

MFLD ACCOUNT, X

LTH=10

MFLD NAME, X

LTH=10

MFLD DATE, X

LTH=10

MFLD AMOUNT, X

LTH=5

MFLD IRATE, X

LTH=5

MFLD TAXTYPE, X

LTH=4

MFLD PRINTER, X

LTH=8

MFLD ERRMSG, X

LTH=79

MFLD (CURTIME,TIME)

Page 95: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 95

MSGEND

*********************************************************************

END

3. 준비된 소스인 OIVP002.fmt를 컴파일한다.

[of1a@tmaxs4:format]$ msimapc -p OIVP002.fmt

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

* INPUT FORMAT : OIVP002.fmt

----------------------------------------------------------------------------------

* preview : ---------------------------------------------------------------(BEGIN)-

FORMAT : [OIVP002]

123456789+123456789+123456789+123456789+123456789+123456789+123456789+123456789+

------------------------------------------------------------------------------>S

01|@________

02| @** WELCOME TO OPENFRAME ONLINE **

03|@------------------------------------------------------------------------------

04| @** OSI INSTALLATION VERIFICATION PROCEDURE **

05|

06|

07| @ACCOUNT @__________@ @(XXX-XX-XXX)

08| @N A M E @__________@

09| @D A T E @__________@

10| @AMOUNT @_____@

11| @INTEREST @_____@

Page 96: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 96

12| @TAX TYPE @____@

13|

14| @PRINTER @________@

15|

16|

17|

18|@------------------------------------------------------------------------------

19|@_______________________________________________________________________________

20|@ENTER APPROPRIATE VALUES AND PRINTER TO INQUIRY.

21|@------------------------------------------------------------------------------

22|@[SYS INFO] - MPP/IO-PCB,DB-PCB,ALT-PCB TESTING NOW @________

23|@------------------------------------------------------------------------------

24| @CopyRight(c) 2007, TmaxSoft, All Rights Reserved.

------------------------------------------------------------------------------<E

* ---------------------------------------------------------------------------(END)-

* COBOL SYMBOL FILE.

- [/user/of1a/openframe/tmax/mfs/cobolsymbol/OIVP002.cpy] CREATED.

* BINARY IMAGE.

- [/user/of1a/openframe/tmax/mfs/csymbol/02oIVP002.dif] CREATED.

- [/user/of1a/openframe/tmax/mfs/csymbol/02OIVP002.dof] CREATED.

- [/user/of1a/openframe/tmax/mfs/csymbol/OIVP002I.mid] CREATED.

- [/user/of1a/openframe/tmax/mfs/csymbol/OIVP002O.mod] CREATED.

Page 97: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 97

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

4. 준비된 소스인 OIVPI002.cob를 컴파일한다.(본 매뉴얼에서 사용하는 코볼 컴

파일러는 MF-COBOL 컴파일러이다.)

[of1a@tmaxs4:cob]$cobolprep -c6 OIVPI002.cob

cobolprep: Option: adds a parameter-counting parameter in every CBLTDLI call.

cobolprep: starts preprocessing ...

cobolprep: OIVPI002.cob: preprocessed successfully.

[of1a@tmaxs4:cob]$cp cobolprep_OIVPI002.cob OIVPI002.cbl

[of1a@tmaxs4:cob]$cob64 -zav -g -C

'DIRECTIVES\"~/openframe/tmax/mfs/sample/ocompopt\"' -U -O OIVPI002.cbl

cob64 -C nolist -CC -KPIC -A -KPIC -N PIC -zav -g -C

DIRECTIVES\"~/openframe/tmax/mfs/sample/ocompopt\" -U -O OIVPI002.cbl

* Micro Focus Server Express V4.0 revision 000 Compiler

* Copyright (C) 1984-2004 Micro Focus International Ltd. URN RBCTG/AA0/00000O

* Accepted - verbose

* Accepted - nolist

* Accepted - DIRECTIVES\"~/openframe/tmax/mfs/sample/ocompopt\"

* Accepted - nocheck

* Compiling OIVPI002.cbl

* Total Messages: 0

* Data: 896 Code: 2061

* Micro Focus Server Express V4.0.00 Code generator

Page 98: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 98

* Copyright (C) 1984-2004 Micro Focus International Ltd. All rights reserved.

* Accepted - verbose

* Accepted - anim

* Accepted - PIC

* Accepted - nocheck

* Generating OIVPI002

* Data: 896 Code: 3884 Literals: 584 Dynamic: 786432

Cobol program "CBLTDLI" undefined. Assuming it will be dynamically loaded.

5. JCL을 만들어 PSB를 등록한다.

//PSBGEN JOB MSGLEVEL=1

// EXEC PSBGEN,MBR=

//C.SYSIN DD *

PRINT NOGEN

PCB TYPE=TP,MODIFY=NO

SENSEG NAME=IOPCBSEG,PARENT=0

PSBGEN LANG=COBOL,PSBNAME=OIVPI005

END

/*

6. ACBLIB 데이터 셋인 OPENFRAME.ONLINE.ACBLIB에 OIVPI002를 추가한다.

OIVPIDBD

OIVPIX1

OIVPIX2

7. RESLIB에 OIVPI, OIVPIX1, OIVPIX2를 추가한다.

OIVPI IMS.TEST.OIVPI

OIVPIX IMS.TEST.OIVPIX

Page 99: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 99

8. OIVPI002.so를 $TMAXDIR/appbin 디렉터리에 복사한다..

[of1a@tmaxs4:mod]$ cp OIVPI002.so $TMAXDIR/appbin

9. OSD에 트랜잭션 정보를 등록한다.

단, MPP 타입 어플리케이션 서버 MPP00001은 미리 준비되어 있다고 가정한다.

COLBOL프로그램은 APPLCTN 매크로를 사용하여 등록하고, 트랜잭션 정보는

TRANSACT 매크로를 사용하여 등록한다.

APPLCTN PSB=OIVPI002,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPI002,MSGTYPE=(SNGSEG,RESPONSE,5),PRTY=(1,5), X

SPA=(32767,STRUNC),MODE=SNGL

4.3 IFP 사용자 서비스

다음은 IFP 타입의 어플리케이션 서버에서 동작할 사용자 서비스를 준비하는 예제이

다.

1. 프로그램 소스 준비 과정으로 고객 서비스 로직이 구현된 OIVPI005.cob를 작

성한다.

ID DIVISION.

PROGRAM-ID. OIVPI005-DELT.

AUTHOR. BSKIM.

DATA DIVISION.

WORKING-STORAGE SECTION.

01 INQUIRY-RESULT-FLAG PIC X VALUE 'Y'.

88 INQUIRY-SUCCESS VALUE 'Y'.

01 DELETE-RESULT-FLAG PIC X VALUE 'Y'.

88 DELETE-SUCCESS VALUE 'Y'.

Page 100: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 100

01 INITIAL-FLAG PIC X VALUE 'Y'.

88 INITIAL-SUCCESS VALUE 'Y'.

01 SPA-RESULT-FLAG PIC X VALUE 'Y'.

88 SPA-SUCCESS VALUE 'Y'.

01 SPA-IO-AREA.

05 SPA-LL PIC S9(4) COMP.

05 SPA-ZZ PIC S9(4) COMP.

05 SPA-CI PIC S9(4) COMP.

05 SPA-TRANSACTION-CODE PIC X(8) VALUE 'OIVPI005'.

05 SPA-MSG-DATA.

10 SM-ACCOUNT PIC X(10).

10 SM-NAME PIC X(10).

10 SM-DATE PIC X(10).

10 SM-AMOUNT PIC X(5).

10 SM-IRATE PIC X(5).

10 SM-TAXTYPE PIC X(4).

01 INPUT-MESSAGE-IO-AREA.

05 IM-LL PIC S9(3) COMP.

05 IM-ZZ PIC S9(3) COMP.

05 IM-TRANSACTION-CODE PIC X(8).

05 IM-PFKEY-SELECTION PIC XX.

88 IM-ENTER-KEY VALUE 'EN'.

88 IM-CLEAR-KEY VALUE 'CL'.

88 IM-ELSE-KEY VALUE ' '.

05 IM-MSG-DATA.

Page 101: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 101

10 IM-ACCOUNT PIC X(10).

01 BMP-OUTPUT-MESSAGE-IO-AREA.

05 BM-LL PIC S9(3) COMP.

05 BM-Z1-Z2 PIC S9(3) COMP VALUE ZERO.

05 BM-MSG-DATA.

10 BM-ACCOUNT PIC X(10).

10 BM-NAME PIC X(10).

10 BM-DATE PIC X(10).

10 BM-AMOUNT PIC X(5).

10 BM-IRATE PIC X(5).

10 BM-TAXTYPE PIC X(4).

01 OUTPUT-MESSAGE-IO-AREA.

05 OM-LL PIC S9(3) COMP.

05 OM-Z1-Z2 PIC S9(3) COMP

VALUE ZERO.

05 OM-MSG-DATA.

10 OM-ACCOUNT PIC X(10).

10 OM-NAME PIC X(10).

10 OM-DATE PIC X(10).

10 OM-AMOUNT PIC X(5).

10 OM-IRATE PIC X(5).

10 OM-TAXTYPE PIC X(4).

10 OM-ERRMSG PIC X(79).

01 ACCOUNT-SSA.

05 FILLER PIC X(9) VALUE 'DBSEG ('.

Page 102: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 102

05 FILLER PIC X(8) VALUE 'ACCOUNT '.

05 FILLER PIC X(2) VALUE '= '.

05 ACCOUNT-NUMBER-SSA-VALUE PIC X(10).

05 FILLER PIC X VALUE ')'.

01 ACCOUNT-SSA1 PIC X(9) VALUE 'DBSEG '.

01 ERROR-MESSAGE.

05 FILLER PIC X(11) VALUE 'OIVPI005 - '.

05 FILLER PIC X(6) VALUE 'DBSEG('.

05 EM-KEY PIC X(10).

05 FILLER PIC X(3) VALUE '), '.

05 FILLER PIC X(12) VALUE 'STATUS CODE('.

05 EM-STATUS-CODE PIC XX.

05 FILLER PIC XX VALUE ') '.

05 EM-TEXT PIC X(33).

01 DATA-BUFFER.

05 DBUF-ACCOUNT PIC X(10).

05 DBUF-NAME PIC X(10).

05 DBUF-DATE PIC X(10).

05 DBUF-AMOUNT PIC X(5).

05 DBUF-IRATE PIC X(5).

05 DBUF-TAXTYPE PIC X(4).

01 DLI-FUNCTIONS.

05 DLI-GU PIC X(4) VALUE 'GU '.

05 DLI-GHU PIC X(4) VALUE 'GHU '.

05 DLI-GN PIC X(4) VALUE 'GN '.

Page 103: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 103

05 DLI-GHN PIC X(4) VALUE 'GHN '.

05 DLI-GNP PIC X(4) VALUE 'GNP '.

05 DLI-GHNP PIC X(4) VALUE 'GHNP'.

05 DLI-ISRT PIC X(4) VALUE 'ISRT'.

05 DLI-DLET PIC X(4) VALUE 'DLET'.

05 DLI-REPL PIC X(4) VALUE 'REPL'.

05 DLI-CHKP PIC X(4) VALUE 'CHKP'.

05 DLI-XRST PIC X(4) VALUE 'XRST'.

05 DLI-PCB PIC X(4) VALUE 'PCB '.

05 DLI-CHNG PIC X(4) VALUE 'CHNG'.

05 DLI-PURG PIC X(4) VALUE 'PURG'.

01 MFS-FIELDS.

05 MFS-MOD-NAME PIC X(8).

05 MFS-ALT-DEST PIC X(8).

LINKAGE SECTION.

01 IO-PCB-MASK.

05 IO-PCB-LOGICAL-TERMINAL PIC X(8).

05 FILLER PIC XX.

05 IO-PCB-STATUS-CODE PIC XX.

05 IO-PCB-DATE PIC S9(7) COMP-3.

05 IO-PCB-TIME PIC S9(6)V9 COMP-3.

05 IO-PCB-MSG-SEQ-NUMBER PIC S9(5) COMP.

05 IO-PCB-MOD-NAME PIC X(8).

05 IO-PCB-USER-ID PIC X(8).

01 ALT-PCB-MASK.

Page 104: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 104

05 ALT-PCB-LOGICAL-TERMINAL PIC X(8).

05 FILLER PIC XX.

05 ALT-PCB-STATUS-CODE PIC XX.

01 DB-PCB-MASK.

05 DB-PCB-DBD-NAME PIC X(8).

05 DB-PCB-SEGMENT-LEVEL PIC XX.

05 DB-PCB-STATUS-CODE PIC XX.

05 DB-PCB-PROC-OPTIONS PIC X(4).

05 FILLER PIC S9(7) COMP.

05 DB-PCB-SEGMENT-NAME PIC X(8).

05 DB-PCB-KEY-LENGTH PIC S9(7) COMP.

05 DB-PCB-NUMBER-SENS-SEGS PIC S9(7) COMP.

05 DB-PCB-KEY PIC X(10).

PROCEDURE DIVISION.

ENTRY 'DLITCBL' USING IO-PCB-MASK

ALT-PCB-MASK

DB-PCB-MASK.

INITIALIZE OM-MSG-DATA.

READY TRACE.

MOVE 'N' TO INITIAL-FLAG.

PERFORM 105-GET-SPA-MESSAGE.

PERFORM 110-GET-INPUT-MESSAGE.

Page 105: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 105

EVALUATE TRUE

WHEN IM-ENTER-KEY

PERFORM 200-SELECT-MODULE

WHEN IM-CLEAR-KEY

PERFORM 500-SEND-CLEAR

WHEN OTHER

PERFORM 900-INVALID-KEY-MESSAGE

END-EVALUATE.

IF INITIAL-SUCCESS THEN

PERFORM 180-INSERT-SPA-INQR

ELSE

PERFORM 185-INSERT-SPA-DELT

END-IF.

PERFORM 190-INSERT-OUTPUT-MESSAGE

PERFORM 175-INSERT-BMP-ALT-MESSAGE

GOBACK.

105-GET-SPA-MESSAGE.

CALL 'CBLTDLI' USING DLI-GU

Page 106: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 106

IO-PCB-MASK

SPA-IO-AREA.

IF IO-PCB-STATUS-CODE = SPACE THEN

DISPLAY 'OK'

ELSE

MOVE 'N' TO SPA-RESULT-FLAG

GOBACK

END-IF.

110-GET-INPUT-MESSAGE.

CALL 'CBLTDLI' USING DLI-GN

IO-PCB-MASK

INPUT-MESSAGE-IO-AREA.

175-INSERT-BMP-ALT-MESSAGE.

MOVE 'OIVPIL05' TO MFS-ALT-DEST.

CALL 'CBLTDLI' USING DLI-CHNG

ALT-PCB-MASK

MFS-ALT-DEST.

IF ALT-PCB-STATUS-CODE = SPACE THEN

DISPLAY 'OK'

ELSE

Page 107: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 107

DISPLAY ALT-PCB-STATUS-CODE

GOBACK

END-IF.

MOVE IM-MSG-DATA TO BM-MSG-DATA.

MOVE 48 TO BM-LL.

CALL 'CBLTDLI' USING DLI-ISRT

ALT-PCB-MASK

BMP-OUTPUT-MESSAGE-IO-AREA.

IF ALT-PCB-STATUS-CODE = SPACE THEN

DISPLAY 'OK'

ELSE

DISPLAY ALT-PCB-STATUS-CODE

GOBACK

END-IF.

180-INSERT-SPA-INQR.

MOVE 58 TO SPA-LL.

MOVE OM-MSG-DATA TO SPA-MSG-DATA.

MOVE 'OIVPI005' TO SPA-TRANSACTION-CODE.

CALL 'CBLTDLI' USING DLI-ISRT

Page 108: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 108

IO-PCB-MASK

SPA-IO-AREA.

185-INSERT-SPA-DELT.

MOVE 0 TO SPA-LL.

MOVE SPACE TO SPA-MSG-DATA.

MOVE 'OIVPI005' TO SPA-TRANSACTION-CODE.

CALL 'CBLTDLI' USING DLI-ISRT

IO-PCB-MASK

SPA-IO-AREA.

190-INSERT-OUTPUT-MESSAGE.

MOVE 127 TO OM-LL.

MOVE ERROR-MESSAGE TO OM-ERRMSG.

CALL 'CBLTDLI' USING DLI-ISRT

IO-PCB-MASK

OUTPUT-MESSAGE-IO-AREA

MFS-MOD-NAME.

200-SELECT-MODULE.

IF SPA-LL = 0 THEN

MOVE 'Y' TO INITIAL-FLAG

PERFORM 210-INQUIRY-ACCOUNT

Page 109: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 109

MOVE 'OIVP005O' TO MFS-MOD-NAME

IF INQUIRY-SUCCESS

MOVE '; INQUIRY SUCCESS' TO EM-TEXT

PERFORM 300-SEND-DATA

ELSE

PERFORM 400-SEND-ERROR

ELSE

PERFORM 220-DELETE-ACCOUNT

MOVE 'OIVP015O' TO MFS-MOD-NAME

IF DELETE-SUCCESS

MOVE '; DELETE SUCCESS' TO EM-TEXT

PERFORM 300-SEND-DATA

ELSE

MOVE '; DELETE FAIL' TO EM-TEXT

PERFORM 300-SEND-DATA

END-IF.

210-INQUIRY-ACCOUNT.

MOVE IM-ACCOUNT TO ACCOUNT-NUMBER-SSA-VALUE.

CALL 'CBLTDLI' USING DLI-GU

DB-PCB-MASK

DATA-BUFFER

ACCOUNT-SSA.

Page 110: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 110

MOVE DB-PCB-STATUS-CODE TO EM-STATUS-CODE.

IF DB-PCB-STATUS-CODE NOT = SPACE

MOVE 'N' TO INQUIRY-RESULT-FLAG.

220-DELETE-ACCOUNT.

MOVE SM-ACCOUNT TO ACCOUNT-NUMBER-SSA-VALUE.

CALL 'CBLTDLI' USING DLI-GHU

DB-PCB-MASK

DATA-BUFFER

ACCOUNT-SSA.

MOVE DB-PCB-STATUS-CODE TO EM-STATUS-CODE.

IF DB-PCB-STATUS-CODE NOT = SPACE

MOVE 'N' TO INQUIRY-RESULT-FLAG.

CALL 'CBLTDLI' USING DLI-DLET

DB-PCB-MASK

DATA-BUFFER

ACCOUNT-SSA1.

MOVE DB-PCB-STATUS-CODE TO EM-STATUS-CODE.

IF DB-PCB-STATUS-CODE NOT = SPACE

MOVE 'N' TO DELETE-RESULT-FLAG.

Page 111: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 111

300-SEND-DATA.

MOVE ACCOUNT-NUMBER-SSA-VALUE TO EM-KEY.

MOVE DBUF-ACCOUNT TO OM-ACCOUNT.

MOVE DBUF-NAME TO OM-NAME.

MOVE DBUF-DATE TO OM-DATE.

MOVE DBUF-AMOUNT TO OM-AMOUNT.

MOVE DBUF-IRATE TO OM-IRATE.

MOVE DBUF-TAXTYPE TO OM-TAXTYPE.

MOVE ERROR-MESSAGE TO OM-ERRMSG.

400-SEND-ERROR.

MOVE ACCOUNT-NUMBER-SSA-VALUE TO EM-KEY.

MOVE '; NOT FOUND ' TO EM-TEXT.

MOVE SPACE TO OM-MSG-DATA.

500-SEND-CLEAR.

MOVE SPACE TO OM-MSG-DATA.

MOVE '; CLEAR' TO EM-TEXT.

MOVE ERROR-MESSAGE TO OM-ERRMSG.

900-INVALID-KEY-MESSAGE.

MOVE '; INVALID KEY' TO EM-TEXT.

MOVE ERROR-MESSAGE TO OM-ERRMSG.

2. 프로그램 소스 준비 과정으로 MSI를 위한 OIVP015.fmt를 작성한다.

PRINT ON,NOGEN

Page 112: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 112

*******************************************************************

TITLE 'FORMAT SET FOR OPENFRAME ONLINE IVP'

*******************************************************************

OIVP015 FMT

DEV TYPE=(3270,2), X

FEAT=IGNORE, X

DSCA=X'00A0', X

PFK=(PFKFIELD, X

1='/FOR OIVP001O', X

12='/FOR OIVP006O')

DIV TYPE=INOUT

DPAGE CURSOR=((7,33)), X

FILL=PT

CURDATE DFLD POS=(1,2), X

LTH=8, X

ATTR=(PROT,ALPHA,NORM,NOMOD)

DFLD '** WELCOME TO OPENFRAME ONLINE **', X

POS=(2,24), X

ATTR=(PROT,ALPHA,HI,NOMOD), X

EATTR=YELLOW

DFLD '-------------------------------------------------------X

-----------------------', X

POS=(3,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=YELLOW

Page 113: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 113

DFLD '** OSI INSTALLATION VERIFICATION PROCEDURE **', X

POS=(4,17), X

ATTR=(PROT,ALPHA,HI,NOMOD), X

EATTR=GREEN

DFLD 'ACCOUNT ', X

POS=(7,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

ACCOUNT DFLD POS=(7,33), X

LTH=10, X

ATTR=(NOPROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(7,44), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'N A M E ', X

POS=(8,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

NAME DFLD POS=(8,33), X

LTH=10, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(8,44), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'D A T E ', X

Page 114: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 114

POS=(9,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DATE DFLD POS=(9,33), X

LTH=10, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(9,44), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'AMOUNT ', X

POS=(10,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

AMOUNT DFLD POS=(10,33), X

LTH=5, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(10,39), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'INTEREST ', X

POS=(11,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

IRATE DFLD POS=(11,33), X

LTH=5, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

Page 115: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 115

EATTR=HUL

DFLD ' ', X

POS=(11,39), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD 'TAX TYPE ', X

POS=(12,23), X

ATTR=(PROT,ALPHA,HI,NOMOD)

TAXTYPE DFLD POS=(12,33), X

LTH=4, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=HUL

DFLD ' ', X

POS=(12,38), X

ATTR=(PROT,ALPHA,HI,NOMOD)

DFLD '-------------------------------------------------------X

-----------------------', X

POS=(18,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=YELLOW

ERRMSG DFLD POS=(19,2), X

LTH=79, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=TURQ

DFLD 'DATA DELETED.', X

POS=(20,2), X

Page 116: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 116

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=PINK

DFLD '-------------------------------------------------------X

-----------------------', X

POS=(21,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=YELLOW

DFLD '[SYS INFO] - IFM/IO-PCB,DB-PCB TESTING NOW', X

POS=(22,2), X

ATTR=(PROT,ALPHA,HI,NOMOD), X

EATTR=RED

CURTIME DFLD POS=(22,71), X

LTH=8, X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=RED

DFLD '-------------------------------------------------------X

-----------------------', X

POS=(23,2), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=YELLOW

DFLD 'CopyRight(c) 2007, TmaxSoft, All Rights Reserved.', X

POS=(24,31), X

ATTR=(PROT,ALPHA,NORM,NOMOD), X

EATTR=BLUE

FMTEND

Page 117: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 117

*********************************************************************

EJECT

*********************************************************************

OIVP015I MSG TYPE=INPUT, X

SOR=(OIVP015,IGNORE), X

NXT=OIVP015O

SEG

MFLD 'OIVPI001', X

LTH=8

MFLD ACCOUNT, X

LTH=10

MSGEND

*********************************************************************

OIVP015O MSG TYPE=OUTPUT, X

SOR=(OIVP015,IGNORE), X

NXT=OIVP015I

SEG

MFLD (CURDATE,DATE2)

MFLD ACCOUNT, X

LTH=10

MFLD NAME, X

LTH=10

MFLD DATE, X

LTH=10

MFLD AMOUNT, X

Page 118: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 118

LTH=5

MFLD IRATE, X

LTH=5

MFLD TAXTYPE, X

LTH=4

MFLD ERRMSG, X

LTH=79

MFLD (CURTIME,TIME)

MSGEND

*********************************************************************

END

3. 준비된 소스인 OIVP015.fmt를 컴파일한다.

[of1a@tmaxs4:format]$ msimapc -p OIVP015.fmt

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

* INPUT FORMAT : OIVP015.fmt

-------------------------------------------------------------------------------

* preview : ------------------------------------------------------------(BEGIN)-

FORMAT : [OIVP015]

123456789+123456789+123456789+123456789+123456789+123456789+123456789+123456789+

------------------------------------------------------------------------------>S

01|@________

02| @** WELCOME TO OPENFRAME ONLINE **

03|@----------------------------------------------------------------------------

Page 119: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 119

--

04| @** OSI INSTALLATION VERIFICATION PROCEDURE **

05|

06|

07| @ACCOUNT @__________@

08| @N A M E @__________@

09| @D A T E @__________@

10| @AMOUNT @_____@

11| @INTEREST @_____@

12| @TAX TYPE @____@

13|

14|

15|

16|

17|

18|@---------------------------------------------------------------------------

19|@____________________________________________________________________________

20|@DATA DELETED.

21|@----------------------------------------------------------------------------

22|@[SYS INFO] - IFM/IO-PCB,DB-PCB TESTING NOW @________

23|@----------------------------------------------------------------------------

24| @CopyRight(c) 2007, TmaxSoft, All Rights

Reserved.

-----------------------------------------------------------------------------<E

Page 120: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 120

* ------------------------------------------------------------------------(END)-

* COBOL SYMBOL FILE.

- [/user/of1a/openframe/tmax/mfs/cobolsymbol/OIVP015.cpy] CREATED.

* BINARY IMAGE.

- [/user/of1a/openframe/tmax/mfs/csymbol/02oIVP015.dif] CREATED.

- [/user/of1a/openframe/tmax/mfs/csymbol/02OIVP015.dof] CREATED.

- [/user/of1a/openframe/tmax/mfs/csymbol/OIVP015I.mid] CREATED.

- [/user/of1a/openframe/tmax/mfs/csymbol/OIVP015O.mod] CREATED.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

4. 준비된 소스인 OIVPI005.cob를 컴파일한다. (본 매뉴얼에서 사용하는 코볼 컴

파일러는 MF-COBOL 컴파일러이다.)

[of1a@tmaxs4:cob]$cobolprep -c6 OIVPI005.cob

cobolprep: Option: adds a parameter-counting parameter in every CBLTDLI call.

cobolprep: starts preprocessing ...

cobolprep: OIVPI005.cob: preprocessed successfully.

[of1a@tmaxs4:cob]$cp cobolprep_OIVPI005.cob OIVPI005.cbl

[of1a@tmaxs4:cob]$cob64 -zav -g -C

'DIRECTIVES\"~/openframe/tmax/mfs/sample/ocompopt\"' -U -O OIVPI005.cbl

cob64 -C nolist -CC -KPIC -A -KPIC -N PIC -zav -g -C

DIRECTIVES\"~/openframe/tmax/mfs/sample/ocompopt\" -U -O OIVPI005.cbl

* Micro Focus Server Express V4.0 revision 000 Compiler

Page 121: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 121

* Copyright (C) 1984-2004 Micro Focus International Ltd. URN RBCTG/AA0/00000O

* Accepted - verbose

* Accepted - nolist

* Accepted - DIRECTIVES\"~/openframe/tmax/mfs/sample/ocompopt\"

* Accepted - nocheck

* Compiling OIVPI005.cbl

* Total Messages: 0

* Data: 568 Code: 1166

* Micro Focus Server Express V4.0.00 Code generator

* Copyright (C) 1984-2004 Micro Focus International Ltd. All rights reserved.

* Accepted - verbose

* Accepted - anim

* Accepted - PIC

* Accepted - nocheck

* Generating OIVPI005

* Data: 568 Code: 2332 Literals: 480 Dynamic: 770048

Cobol program "CBLTDLI" undefined. Assuming it will be dynamically loaded.

5. JCL을 만들어 PSB에 등록한다.

//PSBGEN JOB MSGLEVEL=1

// EXEC PSBGEN,MBR=

//C.SYSIN DD *

PRINT NOGEN

PCB TYPE=TP,MODIFY=NO

SENSEG NAME=IOPCBSEG,PARENT=0

PSBGEN LANG=COBOL,PSBNAME=OIVPI005

Page 122: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제4장 OSI 어플리케이션 생성

OpenFrame OSI 운영자 안내서 122

END

/*

6. ACBLIB 데이터 셋인 OPNFRAME.ONLINE.ACBLIB에 OIVPI005를 추가한다.

단 OIVPI005는 DBPCB가 없으므로 빈 파일을 추가한다.

7. OIVPI005.so를 $TMAXDIR/appbin 디렉터리에 복사한다..

[of1a@tmaxs4:mod]$ cp OIVPI005.so $TMAXDIR/appbin

8. OSD에 트랜잭션 정보를 등록한다.

단, IFP 타입 어플리케이션 서버 IFP00001은 미리 준비되어 있다고 가정한다.

COBOL 프로그램은 APPLCTN 매크로를 사용하여 등록하고, 트랜잭션 정보는

TRANSACT 매크로를 사용하여 등록한다.

APPLCTN PSB=OIVPI005,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPI005,MSGTYPE=(SNGSEG,RESPONSE,3),PRTY=(1,5), X

SPA=(32767,STRUNC),MODE=SNGL

Page 123: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 123

제5장 OSI 운영

5.1 개요

본 장에서는 OSI 시스템을 기동 및 종료 방법 및 기동 중인 OSI 시스템에 대한 정보를

실시간으로 관리하거나 로그 파일을 조회하는 방법에 대해 기술한다.

5.2 서버 기동 및 종료

OSI의 기동과 종료는 OpenFrame/Online을 기동 및 종료할 때 일괄적으로 이뤄진다.

따라서 OSI를 기동 및 종료하려면 OpenFrame/Online을 기동 또는 종료시키면 된다.

참고: OSI 시스템 기동 및 종료에 관련 내용은 ” 2.6시스템 기동 및 종료 설정” 를 참고한다.

ofboot

ofboot 명령어는 시스템 서버를 기동시키기 전, 후에 수행해야 하는 작업을 위해 제공

된다.

ofboot에서는 모든 OpenFrame/Online 서버들을 순차적으로 기동시키는 기능을 지

원한다. 이 기능은 $OPENFRAME_HOME/config 디렉터리에 ofsys.seq와

ofuser.seq 파일이 존재할 경우, ofsys.seq에 설정된 서버를 순차적으로 기동시킨 다

음 ofuser.seq에 설정된 서버를 순차적으로 기동시킨다.

어떤 서버가 부팅 과정에서 다른 서버에서 제공하는 서비스를 호출할 경우에, 서비스

를 제공해야 하는 서버가 부팅되지 않았을 때 서비스를 호출하는 서버는 에러를 발생

한다. ofsys.seq 와 ofuser.seq에 설정된 서버를 순차적으로 기동하는 기능은 이러한

에러를 발생을 방지하기 위한 기능이다.

참고: 어플리케이션 서버들 간, 시스템 서버들 간에는 부팅이나 종료 순서가 문제가 발생하는

경우는 없기 때문에, 주요 효과는 시스템 서버가 먼저 부팅된 후 어플리케이션 서버가 부

팅할 수 있도록 하는 데에 있다.

ofsys.seq 파일은 OpenFrame/Online 설치 시에 기본적으로 설정되어 있으며,

ofuser.seq 파일은 사용자가 추가한 업무 서버나 게이트웨이에 대해서 직접 설정할 수

Page 124: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 124

있다. 서버 기동 전, 후에 수행해야 하는 작업에 대한 자세한 내용은 내용은 “2.6 시스

템 기동 및 종료 설정”을 참고한다.

다음은 OpenFrame 시스템 기동 시 출력되는 예제이다.

[of1a@tmaxs4:of1a]$ ofboot

ofboot 5.0.3(182) version

pre-processing begin

============================ [ OSC ] ============================

OFADMIN : OSC swa memory resource area creation ok.

============================ [ OSC ] ============================

OFADMIN : [SWA] swa area[key:16000] set log level[ERROR].

OFADMIN : Log level for OSC ok.

============================ [ OSCOIVP1 ] ============================

OFADMIN : rwa memory resource area creation ok.

OFADMIN : cwa memory resource area creation ok.

OFADMIN : rtsd memory resource area creation ok.

OFADMIN : [CP2 FCTA0 ] -2004

OFADMIN : [CP2 OIVP ] -2004

OFADMIN : tdq creation ok.

OFADMIN : [TSQ] tsq hash table initialize ok.

OFADMIN : tsq creation ok.

OFADMIN : tc creation ok.

============================ [ CONV0001 ] ============================

Page 125: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 125

OFADMIN : rwa memory resource area creation ok.

============================ [ MSCGW001 ] ============================

OFADMIN : rwa memory resource area creation ok.

OFADMIN : rtsd memory resource area creation ok.

OFADMIN : ati information creation ok.

============================ [ MSCGW002 ] ============================

OFADMIN : rwa memory resource area creation ok.

============================ [ OSC ] ============================

OFADMIN : [SWA] swa area[key:16000] set log level[TEST].

OFADMIN : Log level for OSC ok.

============================ [ OSI ] ============================

OFADMIN : OSI rwa memory resource area creation ok.

OFADMIN : OSI swa memory resource area creation ok.

OFADMIN : OSI ati information creation ok.

OFADMIN : OSI rtsd memory resource area creation ok.

============================ [ OSI ] ============================

OFADMIN : [SWA] swa area[key:16001] set log level[TEST].

OFADMIN : Log level for OSI ok.

pre-processing ok[0]

Page 126: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 126

online booting begin

TMBOOT for node(OF1A) is starting(PHASE1):

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: TMM is starting: Fri Jan 25 13:26:29 2008

TMBOOT: CLL is starting: Fri Jan 25 13:26:29 2008

TMBOOT: CLH is starting: Fri Jan 25 13:26:29 2008

TMBOOT: TLM(tlm) is starting: Fri Jan 25 13:26:29 2008

TMBOOT: rboot start for rnode (OF1B)

(I) TMM0211 General Infomation : node 1 (OF1B) is started: Fri Jan 25 13:26:29

2008 [TMM0403]

(W) TLM3108 CLH in a remote node is restarted : 1 0 [TLM0755]

TMBOOT for node(OF1B) is starting(PHASE1):

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: TMM is starting: Fri Jan 25 13:26:29 2008

TMBOOT: CLL is starting: Fri Jan 25 13:26:29 2008

TMBOOT: CLH is starting: Fri Jan 25 13:26:29 2008

TMBOOT: TLM(tlm) is starting: Fri Jan 25 13:26:29 2008

TMBOOT for node(OF1A) is starting(PHASE2):

Welcome to Tmax demo system: it will expire 2008/2/21

Page 127: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 127

Today: 2008/1/25

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting(PHASE2):

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofrsasvr) is starting: Fri Jan 25 13:26:29 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofrlmsvr) is starting: Fri Jan 25 13:26:29 2008

TMBOOT: rboot start for rnode (OF1B)

Page 128: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 128

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofrlmwrk) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofrlmwrk) is starting: Fri Jan 25 13:26:30 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofrdmsvr) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Page 129: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 129

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofrdsedt) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofrcmsvr) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

Page 130: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 130

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofruisvr) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(obmjmsvr) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

Page 131: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 131

TMBOOT: SVR(obmjschd) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(obmjinit) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(obmjhist) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

Page 132: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 132

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(obmjspbk) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(ofrpmsvr) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Page 133: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 133

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(otpadmin) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(otpadmin) is starting: Fri Jan 25 13:26:30 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscmschd) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscmschd) is starting: Fri Jan 25 13:26:30 2008

Page 134: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 134

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscmscnv) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscmssvr) is starting: Fri Jan 25 13:26:30 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Page 135: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 135

Today: 2008/1/25

TMBOOT: SVR(oscncsvr) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscolsvr) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(osctlsvr) is starting: Fri Jan 25 13:26:31 2008

Page 136: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 136

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscstebr) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscstebr) is starting: Fri Jan 25 13:26:31 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscstedf) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

Page 137: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 137

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscstemt) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscstemt) is starting: Fri Jan 25 13:26:31 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscstesn) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: SVR(oscstesn) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Page 138: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 138

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscstesn) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: SVR(oscstesn) is starting: Fri Jan 25 13:26:31 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscsteda) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(oscsteda) is starting: Fri Jan 25 13:26:31 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(osimqsch) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Page 139: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 139

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(osimqmgr) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(osimqmgr) is starting: Fri Jan 25 13:26:31 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(osimsmgr) is starting: Fri Jan 25 13:26:31 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Page 140: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 140

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(osicrmgr) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(osicrmgr) is starting: Fri Jan 25 13:26:32 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(osisecur) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(osisecur) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

Page 141: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 141

TMBOOT: SVR(osisecur) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(osisecur) is starting: Fri Jan 25 13:26:32 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

(E) BOOT3008 server (otptlsvr) is not in config [BOOT0018]

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(MSCGW001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

Page 142: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 142

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(MSCGW002) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(svrname: msigw_1, execname: msigw) is starting: Fri Jan 25

13:26:32 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Page 143: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 143

Today: 2008/1/25

TMBOOT: SVR(OSCOIVP1) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(OSCOIVP1) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(OSCOIVP1) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(OSCOIVP1) is starting: Fri Jan 25 13:26:32 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Page 144: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 144

Today: 2008/1/25

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT: SVR(MPP00001) is starting: Fri Jan 25 13:26:32 2008

TMBOOT for node(OF1A) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(IFP00001) is starting: Fri Jan 25 13:26:33 2008

TMBOOT: rboot start for rnode (OF1B)

TMBOOT for node(OF1B) is starting:

Welcome to Tmax demo system: it will expire 2008/2/21

Today: 2008/1/25

TMBOOT: SVR(IFP00001) is starting: Fri Jan 25 13:26:33 2008

online booting end : [0]

post-processing begin

OFCLIENT : Unblock done.

post-processing ok[0]

[of1a@tmaxs4:of1a]$

Page 145: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 145

ofdown

ofdown 명령어는 시스템 서버를 종료하기 전, 후에 수행해야 하는 작업을 위해 제공

된다.ofdown에서는 모든 OpenFrame/Online 서버들을 순차적으로 종료시키는 기능

을 지원한다. ofboot와 마찬가지로 $OPENFRAME_HOME/config 디렉터리에

ofsys.seq 및 ofuser.seq 파일이 존재할 경우 ofdown은 모든 서버들을 기동할 때의

역순으로 순차적으로 종료시킨다. 정확한 종료 순서는 ofuser.seq의 마지막에 설정된

서버부터 처음에 설정된 서버까지, 그 후에 ofsys.seq의 마지막에 설정된 서버부터 처

음 설정된 서버까지로 이루어진다.

참고: 어플리케이션 서버들 간, 시스템 서버들 간에는 부팅이나 종료 순서가 문제가 발생하는

경우는 없기 때문에, 주요 효과는 어플리케이션 서버가 모두 종료한 후 시스템 서버가 종

료될 수 있도록 하는 데에 있다.

해당 기능은 어떤 서버가 종료 과정에서 다른 서버에서 제공하는 서비스를 호출할 경

우에, 서비스를 제공해야 하는 서버가 먼저 종료되어 서비스를 호출하는 서버가 종료

되지 않는 현상을 막기 위해 제공되고 있다. 서버 종료 전, 후에 수행해야 하는 작업에

대한 자세한 내용은 “2.6시스템 기동 및 종료 설정”을 참고한다.

참고: 전체 시스템이 아닌 특정 서버만 기동 또는 종료하려면 Tmax에서 제공하는

tmboot/tmdown을 이용한다.

다음은 OpenFrame 시스템 종료 시 출력되는 예제이다.

[of1a@tmaxs4:of1a]$ ofdown

ofdown 5.3.0(1) version

pre-processing begin

pre-processing ok[0]

online shutdown begin

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(IFP00001:88) downed: Fri Jan 25 13:28:13 2008

Page 146: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 146

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(IFP00001) is not active

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(MPP00001:87) downed: Fri Jan 25 13:28:13 2008

TMDOWN: SERVER(MPP00001:86) downed: Fri Jan 25 13:28:13 2008

TMDOWN: SERVER(MPP00001:84) downed: Fri Jan 25 13:28:13 2008

TMDOWN: SERVER(MPP00001:85) downed: Fri Jan 25 13:28:13 2008

TMDOWN: SERVER(MPP00001:83) downed: Fri Jan 25 13:28:13 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(MPP00001) is not active

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(OSCOIVP1:80) downed: Fri Jan 25 13:28:13 2008

TMDOWN: SERVER(OSCOIVP1:81) downed: Fri Jan 25 13:28:13 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(OSCOIVP1) is not active

Page 147: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 147

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(msigw_1:50) downed: Fri Jan 25 13:28:13 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(msigw_1) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(MSCGW002:51) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(MSCGW002) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(MSCGW001:49) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(MSCGW001) is not in config

Page 148: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 148

TMDOWN for node(OF1A) is starting:

server(otptlsvr) is not in config

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(otptlsvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(osisecur:75) downed: Fri Jan 25 13:28:14 2008

TMDOWN: SERVER(osisecur:74) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: SERVER(osisecur:45) downed: Fri Jan 25 13:28:14 2008

TMDOWN: SERVER(osisecur:44) downed: Fri Jan 25 13:28:14 2008

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(osicrmgr:65) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

Page 149: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 149

server(osicrmgr) is not active

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(osimsmgr:66) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(osimsmgr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(osimqmgr:69) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(osimqmgr) is not active

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(osimqsch:68) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

Page 150: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 150

TMDOWN for node(OF1B) is starting:

server(osimqsch) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscsteda:52) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: SERVER(oscsteda:37) downed: Fri Jan 25 13:28:14 2008

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscstesn:56) downed: Fri Jan 25 13:28:14 2008

TMDOWN: SERVER(oscstesn:55) downed: Fri Jan 25 13:28:14 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: SERVER(oscstesn:40) downed: Fri Jan 25 13:28:14 2008

TMDOWN: SERVER(oscstesn:39) downed: Fri Jan 25 13:28:14 2008

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscstemt:60) downed: Fri Jan 25 13:28:15 2008

Page 151: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 151

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: SERVER(oscstemt:49) downed: Fri Jan 25 13:28:15 2008

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscstedf:53) downed: Fri Jan 25 13:28:15 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(oscstedf) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscstebr:54) downed: Fri Jan 25 13:28:15 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: SERVER(oscstebr:38) downed: Fri Jan 25 13:28:15 2008

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(osctlsvr:63) downed: Fri Jan 25 13:28:15 2008

Page 152: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 152

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(osctlsvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscolsvr:62) downed: Fri Jan 25 13:28:15 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(oscolsvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscncsvr:64) downed: Fri Jan 25 13:28:15 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(oscncsvr) is not in config

TMDOWN for node(OF1A) is starting:

Page 153: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 153

TMDOWN: SERVER(oscmssvr:67) downed: Fri Jan 25 13:28:15 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(oscmssvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscmscnv:73) downed: Fri Jan 25 13:28:15 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(oscmscnv) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(oscmschd:72) downed: Fri Jan 25 13:28:15 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: SERVER(oscmschd:55) downed: Fri Jan 25 13:28:15 2008

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(otpadmin:61) downed: Fri Jan 25 13:28:15 2008

Page 154: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 154

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: SERVER(otpadmin:50) downed: Fri Jan 25 13:28:16 2008

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(ofrpmsvr:48) downed: Fri Jan 25 13:28:16 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(ofrpmsvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(obmjspbk:47) downed: Fri Jan 25 13:28:16 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(obmjspbk) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(obmjhist:46) downed: Fri Jan 25 13:28:16 2008

Page 155: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 155

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(obmjhist) is not in config

TMDOWN for node(OF1A) is starting:

server(obmjinit) is not active

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(obmjinit) is not in config

TMDOWN for node(OF1A) is starting:

server(obmjschd) is not active

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(obmjschd) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(obmjmsvr:43) downed: Fri Jan 25 13:28:17 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

Page 156: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 156

server(obmjmsvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(ofruisvr:42) downed: Fri Jan 25 13:28:17 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(ofruisvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(ofrcmsvr:41) downed: Fri Jan 25 13:28:18 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(ofrcmsvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(ofrdsedt:40) downed: Fri Jan 25 13:28:18 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(ofrdsedt) is not in config

Page 157: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 157

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(ofrdmsvr:39) downed: Fri Jan 25 13:28:18 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(ofrdmsvr) is not in config

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(ofrlmwrk:37) downed: Fri Jan 25 13:28:18 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: SERVER(ofrlmwrk:36) downed: Fri Jan 25 13:28:18 2008

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(ofrlmsvr:36) downed: Fri Jan 25 13:28:18 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(ofrlmsvr) is not in config

Page 158: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 158

TMDOWN for node(OF1A) is starting:

TMDOWN: SERVER(ofrsasvr:38) downed: Fri Jan 25 13:28:18 2008

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

server(ofrsasvr) is not in config

Warning: Due to Multi-node, it will be applied to an entire node.

Do you really want to down whole Tmax? (y : n): y

TMDOWN for node(OF1A) is starting:

TMDOWN: CLH downed: Fri Jan 25 13:28:24 2008

TMDOWN: TLM downed: Fri Jan 25 13:28:24 2008

TMDOWN: TMM downed: Fri Jan 25 13:28:24 2008

TMDOWN: TMAX is down

TMDOWN: rdown start for rnode (OF1B)

TMDOWN: CLL downed: Fri Jan 25 13:28:24 2008

TMDOWN: CLH downed: Fri Jan 25 13:28:24 2008

TMDOWN: TLM downed: Fri Jan 25 13:28:24 2008

TMDOWN: TMM downed: Fri Jan 25 13:28:24 2008

TMDOWN: TMAX is down

Page 159: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 159

TMDOWN: rdown start for rnode (OF1B)

TMDOWN for node(OF1B) is starting:

TMDOWN: CLL downed: Fri Jan 25 13:28:24 2008

TMDOWN: CLH downed: Fri Jan 25 13:28:24 2008

TMDOWN: TLM downed: Fri Jan 25 13:28:24 2008

TMDOWN: TMM downed: Fri Jan 25 13:28:24 2008

TMDOWN: TMAX is down

online shutdown ok : [0]

post-processing begin

============================ [ MSCGW002 ] ============================

OFADMIN : rwa memory resource area deletion ok.

============================ [ MSCGW001 ] ============================

OFADMIN : ati information deletion ok.

OFADMIN : rtsd memory resource area deletion ok.

OFADMIN : rwa memory resource area deletion ok.

============================ [ OSCOIVP1 ] ============================

OFADMIN : tc deletion ok.

OFADMIN : tsq deletion ok.

OFADMIN : rtsd memory resource area deletion ok.

OFADMIN : cwa memory resource area deletion ok.

OFADMIN : rwa memory resource area deletion ok.

Page 160: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 160

============================ [ CONV0001 ] ============================

OFADMIN : rwa memory resource area deletion ok.

============================ [ OSC ] ============================

OFADMIN : swa memory resource area deletion ok.

============================ [ OSI ] ============================

OFADMIN : OSI rtsd memory resource area deletion ok.

OFADMIN : OSI ati information deletion ok.

OFADMIN : OSI swa memory resource area deletion ok.

OFADMIN : OSI rwa memory resource area deletion ok.

post-processing ok[0]

[of1a@tmaxs4:of1a]$

5.3 실시간 리소스 관리

OSI 시스템 운영 중 OSI 시스템의 다양한 리소스의 실시간으로 관리는 OpenStudio의

OMI 모듈을 통해 가능하다.

참고: OpenStudio의 OMI 모듈에 대한 자세한 내용은 OpenFrame 안내서 중 ”OpenStudio OMI

안내서”를 참고한다.

OSI의 프로세스관리 및 트랜잭션의 Tmax를 통해서 이루어 지고 있으므로 Online

Core 영역의 실시간 관리를 위해서는 tmadmin을 사용한다.

참고: tmadmin 사용에 대한 내용은 Tmax 안내서 중 ”Tmax Administration Guide”를 참고한다.

Page 161: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

제5장 OSI 운영

OpenFrame OSI 운영자 안내서 161

5.4 로그 정보

OSI에서 시스템 운영 중 발생하는 로그는 여러가지가 있으나, 대부분은 Online Core

에서 생성되는 로그이다.

참고: Online Core에 대한 상세한 설명은 Tmax 안내서 중 ”Tmax Administration Guide”를 참고

한다.

OSI에서 발생하는 로그 중 가장 많이 참조하게 될 로그는 어플리케이션 서버별 로그

이며, 어플리케이션 서버별 로그는 Tmax 환경 설정에 별도의 설정을 하지 않으면 일

반적으로 TMAXDIR/log/ulog 디렉터리에 어플리케이션 서버명칭.log 및 어플리케이션

서버명칭.err로 생성된다.

어플리케이션 서버명칭.log

어플리케이션 서버에서 stdout으로 발생하는 모든 정보가 기록되며, 보통 일반

적인 정보 및 사용자 프로그램 처리 시 발생한 로그 정보가 이곳에 기록된다.

어플리케이션 서버명칭.err

어플리케이션 서버에서 stderr로 발생하는 모든 정보가 기록되며, 보통 시스템

에러 정보나 심각한 오류 정보가 기록된다.

Page 162: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의
Page 163: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. A online.conf예제

OpenFrame OSI 운영자 안내서 163

Appendix. A online.conf 예제

[TSAM_CLIENT]

USERNAME=tsam00

PASSWORD=tmax

DATABASE=sock:localhost:12500

[TSAM_BACKUP]

USERNAME=tsam00

PASSWORD=tmax

DATABASE=sock:111.222.111.222:12500

RETRY_COUNT=50

RETRY_INTERVAL=1

Page 164: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의
Page 165: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. B osi.conf예제

OpenFrame OSI 운영자 안내서 165

Appendix. B osi.conf 예제

[TSAM_CLIENT]

USERNAME=tsam01

PASSWORD=tmax

DATABASE=sock:192.168.1.11:8800

[TSAM_BACKUP]

USERNAME=tsam01

PASSWORD=tmax

DATABASE=sock:localhost:9999

RETRY_COUNT=60

RETRY_INTERVAL=3

[OSI]

ATI_SHMKEY=16200

AXI_SHMKEY=16202

SWA_SHMKEY=16001

MSGQ_DSNAME=OPNFRAME.ONLINE.MSGQLIB

ACBLIB_DSNAME=OPNFRAME.ONLINE.ACBLIB

RESLIB_DSNAME=OPNFRAME.ONLINE.RESLIB

[OSI_OSD]

Page 166: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. B osi.conf 예제

OpenFrame OSI 운영자 안내서 166

DSNAME=OPNFRAME.ONLINE.OSDLIB

USE_SYS1=YES

Page 167: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 167

Appendix. C OpenFrame/Online 설치 검증

C.1 OIVP 소개

OIVP(OpenFrame/Online Installation Verification Procedure)는 OpenFrame 환경이

올바르게 구축되어 기동에 문제가 없는지 검증하기 위해 개발된 툴이다. 기존에는 시

스템에 문제가 발생했을 시 운영자가 직접 설정을 모두 확인해 봐야 했다. 하지만,

OIVP를 사용하여 이제는 보다 직관적이고 편리하게 문제점을 확인할 수 있다.

현재는 OpenFrame/Online 제품인 OSC 및 OSI 시스템 버전에 해당하는 OIVP 툴이

존재하며, 각 버전은 해당 제품의 특성에 맞게 설치된 OpenFrame 환경에 문제가 없

는지 충실히 검증할 수 있도록 개발되었다.

각 모듈에 해당하는 OIVP의 초점 사항은 다음과 같다.

OSC OIVP

다양한 리소스와 명령에 따라 설치된 환경을 검증할 수 있도록 작성한다.

OSI OIVP

IO PCB, DB PCB, ALTERNATIVE PCB 및 SPA 등을 사용하여 MPP, IFP,

BMP(OpenFrame/Batch용 모듈) 등 프로그램의 타입에 따라 설치 환경을 검증할

수 있도록 작성한다.

Page 168: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 168

C.2 OSI OIVP

디렉터리 구조

OSI OIVP 파일 위치 정보를 알 수 있도록 디렉터리의 구조에 대해 기술한다.

$OPENFRAME_HOME\oivp

|-------- cob

|-------- format

|-------- resource

|-------- ACBLIB

|-------- DBDLIB

|-------- PSBLIB

|-------- RESLIB

cob

OIVP COBOL 소스들이 위치하는 디렉터리

format

OIVP 포맷들이 위치하는 디렉터리

resource

OIVP 기동을 위해 필요한 OSI 시스템 리소스가 위치하는 디렉터리

ACBLIB

OIVP 기동을 위해 필요한 ACB가 위치하는 디렉터리

DBDLIB

OIVP 기동을 위해 필요한 DBD가 위치하는 디렉터리

PSBLIB

OIVP 기동을 위해 필요한 PSBLIB이 위치하는 디렉터리

RESLIB

OIVP 기동을 위해 필요한 RESLIB이 위치하는 디렉터리

Page 169: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 169

환경 설정

OSI OIVP를 실행시키기 위해서는 우선적으로 환경 설정에 트랜잭션을 등록하고 데

이터베이스를 생성해야 한다.

1. 트랜잭션 등록

아래 예제와 같이 트랜잭션을 정의한 다음 osdgen을 사용하여 등록한다. 트랜잭

션 설정 사항은 COBOL 소스에서 사용되므로 변경하지 않고 그대로 사용해야 한

다.

APPLCTN PSB=OIVPI001,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPI001,MSGTYPE=(SNGLSEG,RESPONSE,5),PRTY=(1,5), X

MODE=SNGL

APPLCTN PSB=OIVPI002,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPI002,MSGTYPE=(SNGLSEG,RESPONSE,5),PRTY=(1,5), X

MODE=SNGL

APPLCTN PSB=OIVPI003,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPI003,MSGTYPE=(SNGLSEG,RESPONSE,1),PRTY=(1,5), X

MODE=SNGL

APPLCTN PSB=OIVPI004,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPI004,MSGTYPE=(SNGLSEG,RESPONSE,2),PRTY=(1,5), X

SPA=(32767,STRUNC),MODE=SNGL

APPLCTN PSB=OIVPI005,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPI005,MSGTYPE=(SNGLSEG,RESPONSE,2),PRTY=(1,5), X

SPA=(32767,STRUNC),MODE=SNGL

Page 170: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 170

APPLCTN PSB=OIVPIL02,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPIL02,MSGTYPE=(SNGLSEG,RESPONSE,4),PRTY=(1,5), X

MODE=SNGL

APPLCTN PSB=OIVPIL03,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPIL03,MSGTYPE=(SNGLSEG,RESPONSE,4),PRTY=(1,5), X

MODE=SNGL

APPLCTN PSB=OIVPIL04,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPIL04,MSGTYPE=(SNGLSEG,RESPONSE,4),PRTY=(1,5), X

MODE=SNGL

APPLCTN PSB=OIVPIL05,PGMTYPE=TP,LANG=COBOL

TRANSACT CODE=OIVPIL05,MSGTYPE=(SNGLSEG,RESPONSE,4),PRTY=(1,5), X

MODE=SNGL

2. 데이터베이스 생성

데이터베이스 생성을 위하여 아래 예제와 같이 정의하고 IDCAMS를 사용하여 데

이터베이스를 생성한다. 이 때 데이터베이스 명칭(아래 예제에서 굵게 표시된

IMS.TEST.OIVPI 부분)은 ACBLIB에서 사용되므로 아래 예제에 표시된 데이터 셋

명칭을 변경하지 말고 그대로 사용해야 한다.

DELETE IMS.TEST.OIVPI CLUSTER

DEFINE CLUSTER (NAME(IMS.TEST.OIVPI) -

KILOBYTES (1024,1024) -

VOLUMES (HAN128) -

NONINDEXED -

Page 171: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 171

RECORDSIZE (2041,2041) -

CONTROLINTERVALSIZE (2048))

DELETE IMS.TEST.OIVPIX CLUSTER

DEFINE CLUSTER (NAME(IMS.TEST.OIVPIX) -

KILOBYTES (128,128) -

VOLUMES (HAN128) -

INDEXED KEYS (10,5) -

RECORDSIZE (16,16) ) -

DATA (CONTROLINTERVALSIZE (1024))

설치

환경 설정이 완료되면 ACBLIB, RESLIB, DBD 및 PSB 등의 OSI 시스템 리소스를 등

록한다. 그런 다음 실제 TN3270 에뮬레이터에 나타나는 포맷과 COBOL 소스를 컴파

일한 후 등록하는 과정이 필요한다.

시스템 리소스 등록 및 포맷과 소스를 컴파일한 후 등록하는 방법은 다음과 같은 순서

대로 진행한다.

1. ACBLIB, RESLIB, DBD 및 PSB 등의 OSI 시스템 리소스 등록

/resource 디렉터리에 위치한 DBD 및 PSB 파일은 ims.conf에 설정된 디렉

터리로 복사한다.

/resource 디렉터리에 위치한 ACBLIB 및 RESLIB 파일은 osi.conf에 설정된

디렉터리로 복사한다.

2. 포맷 컴파일

/format 디렉터리에 위치한 다음의 포맷 파일을 컴파일한다. 단, 포맷 파일을

컴파일하기 전에 환경 변수 $MSI_HOME 경로를 설정하고 해당 디렉터리 아래에

서 csymbol, cobolsymbol 디렉터리를 새로 생성해야 한다.

OIVP001.fmt, OIVP002.fmt, OIVP003.fmt, OIVP004.fmt, OIVP005.fmt,

OIVP006.fmt, OIVP014.fmt, OIVP015.fmt, OIVP024.fmt

Page 172: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 172

참고: $MSI_HOME 경로 설정 방법은 다음과 같다.

export MSI_HOME=$OPENFRAME_HOME/msi

3. COBOL 컴파일

/cob 디렉터리에 위치한 다음과 같은 9개의 COBOL 코드를 컴파일한 후 생성된

바이너리를 $TMAXDIR/appbin 디렉터리에 복사한다.

OIVPI001.cob, OIVPI002.cob, OIVPI003.cob, OIVPI004.cob, OIVPI005.cob

OIVPIL02.cob, OIVPIL03.cob, OIVPIL04.cob, OIVPIL05.cob

4. OSI 시스템 기동 및 MPP, IFP 서버 기동(단, MPP 타입의 서버 MPP00001, IFP

타입의 서버 IFP00001는 미리 기동되어 있다고 가정)

사용 방법 및 화면 설명

OSI OIVP에서는 은행 계좌를 관리하는 응용프로그램을 통해서 OSI에서 지원하는 IO

PCB, DB PCB, ALT PCB 및 SPA를 각 서버 타입에 해당하는 프로그램을 통해 검증한

다. OSI OIVP를 시작하려면 OpenFrame 접속 화면에서 [CLEAR] 키를 누른 상태에

서 /FOR OIVP001O를 입력한다.

참고: OSI OIVP를 실행하는 터미널은 SPA를 지원하도록 설정해야 한다.

Page 173: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 173

다음은 OpenFrame/Online 접속 화면이다.

[그림 C-1] OIVP 접속 화면

Page 174: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 174

다음은 OIVP의 각 화면에서 사용되는 키와 키 기능 설명이다.

키 기능 적용 화면

ENTER 다음 단계 진행 전체

PF1 시작 화면으로 이동 전체

PF12 OIVP 종료 전체

[표 C-1] OIVP 키

시작 화면

[그림 C-2] OIVP 시작 화면

OSI OIVP의 화면 구성은 크게 네 부분으로 나뉜다.

상단에는 OpenFrame 시스템에서 제공하는 날짜 및 시간, 터미널 정보를 출력하고 하

단에는 저작권 정보를 표시한다. 그리고, 실제 OIVP 어플리케이션은 중간 화면에서

실행된다.

OSI OIVP의 경우 4개의 메뉴가 있고 메뉴에 따라 적절한 CODE를 입력하여 해당 메

뉴에 액세스한다.

Page 175: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 175

참고: INQR, UPDT, DELT의 경우 데이터베이스에 레코드가 존재해야 실행 가능하므로 INSR를

사용하여 레코드를 먼저 입력해야 한다.

INQR(Inquiry) 화면

[그림 C-3] OIVP INQR 화면

INQR 화면은 데이터베이스에 저장된 특정 레코드를 보여준다.

레코드를 조회하기 위해서는 1) 적절한 계좌 번호를 입력하고 2) 프린터 필드(프린터

입력은 선택 사항)에 적절한 LU 명칭을 입력한다.

이 때 프린터에 입력된 값은 ALT PCB를 검증하기 위한 것으로 다른 터미널에 접속하

여 해당 터미널의 LU 명칭을 입력하면 확인할 수 있다. 예를 들어, [그림 C-3] OIVP

INQR 화면에서 프린터 필드에 N041E16을 입력하면 해당 LU 명칭을 가진 터미널에

서도 같은 결과가 전송된다(단, 이 때 프린터 필드에 값을 입력하기 전에 미리 해당 LU

명칭을 가진 터미널을 활성화시켜야 함).

본 프로그램은 IO PCB, DB PCB, ALTERNATIVE PCB를 검증하기 위해 MPP 타입으

로 작성되었다.

Page 176: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 176

INSR(Insert) 화면

[그림 C-4] OIVP INSR 화면

INSR 화면에서는 새 레코드를 입력한다.

[그림 C-4] OIVP INSR 화면 에 입력된 포맷에 맞춰 각 레코드 값을 입력한다.

본 프로그램은 IO PCB, DB PCB를 검증하기 위해 MPP 타입으로 작성되었다.

Page 177: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 177

UPDT (Update) 화면

[그림 C-5] OIVP UPDT 화면

UPDT 화면에서는 기존 레코드를 수정한다.

레코드를 수정하려면 1) 수정하고자 하는 레코드를 조회하고, 2) 조회된 값을 적절하

게 수정을 한다. 이 때 SPA를 사용하여 [그림 C-5] OIVP UPDT 화면와 같이 수정하기

전의 내용을 SPA에 저장하여 수정 후의 내용과 같이 보여준다.

본 프로그램은 IO PCB, DB PCB를 검증하기 위해 IFP 타입으로 작성되었다.

Page 178: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 178

DELT(Delete) 화면

[그림 C-6] OIVP DELT 화면

DELT 화면에서는 입력되어 있는 기존 레코드를 삭제한다.

레코드를 삭제하려면 1) 삭제하고자 하는 레코드를 조회하고, 2) 조회된 값을 삭제한

다. 이 때 조회된 내용은 SPA에 자동으로 저장된다. 사용자가 조회한 레코드에 대해

삭제를 요청하면 SPA를 참고하여 데이터베이스에 저장된 레코드를 삭제한다.

이 프로그램은 IO PCB, DB PCB를 검증하기 위해 IFP 타입으로 작성되었다.

Page 179: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 179

QUIT(Quit) 화면

[그림 C-7] OIVP QUIT 화면

QUIT은 OSI OIVP를 종료를 나타내는 화면이다.

기타

BMP 타입의 프로그램 검증은 앞서 설명한 각 메뉴가 실행될 때 레코드의 변경사항들

을 기록하는 프로그램을 통해서 검증하였다. BMP 타입의 프로그램은 다음 예제와 같

이 DFSRRC00 유틸리티를 사용하여 확인할 수 있다.

참고: 유틸리티 사용에 대한 자세한 내용은 OpenFrame 안내서 중 “유틸리티 참조 안내서”를

참고한다.

Page 180: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

Appendix. C OpenFrame/Online 설치 검증

OpenFrame OSI 운영자 안내서 180

다음은 DFSRRC00 유틸리티를 사용하여 레코드에 입력된 값을 보여주는 OIVPIL02

를 실행시키는 명령이다.

DFSRRC00 BMP,OIVPIL02,OIVPIL02

위의 명령을 실행시키면 다음과 같이 새로 입력된 값을 출력하는 화면을 보여준다.

[그림 C-8] BMP 타입의 프로그램 확인

Page 181: OpenFrame OSI 운영자 안내서 - TmaxSoft · 2019. 4. 9. · OpenFrame OSI 운영자 안내서 5 내용 목차 안내서에 대하여.....10 안내서의 대상.....10 안내서의

색인

OpenFrame OSI 운영자 안내서 181

색인

ACBLIB_DSNAME ............................................. , 29

ATI_SHMKEY, ...................................................... 29

AUDIBLEALARM, ............................................... 35

AXI_SHMKEY, ..................................................... 29

Control Region,...................................................... 17

Conversation, ......................................................... 35

DATABASE, ........................................ 25, 26, 27, 28

DBD, ...................................................................... 36

Dependant Region, ........................................... 17, 19

DLI For MPP type, ................................................. 21

DSNAME, .............................................................. 30

ENPASSWD, ....................................... 25, 26, 27, 28

IFP 타입 지원 모듈, .............................................. 20

INSERVICE, .......................................................... 35

IOPCB, ................................................................... 37

Logical Terminal Name, ......................................... 35

MPP 타입 지원 모듈, ............................................ 20

MSGQ_DSNAME, ................................................ 29

NETNAME, ........................................................... 35

ofboot, .................................................................... 43

ofboot.post, ............................................................ 44

ofboot.pre, .............................................................. 44

ofdown, .................................................................. 43

ofdown.post, ........................................... 48, 123, 145

ofdown.pre, ............................................................ 47

Online Core, ......................................................... 19

online.conf, ............................................................ 24

OSI 사용자 모듈, .................................................. 18

OSI 시스템 모듈, .................................................. 19

osi.conf, ........................................................... 24, 27

PASSWORD, ....................................... 25, 26, 27, 28

Program Name, ...................................................... 34

PSB, ....................................................................... 36

PSB Name, ............................................................. 34

RESLIB_DSNAME, .............................................. 29

RETRY_COUNT, ............................................ 26, 28

RETRY_INTERVAL, ...................................... 26, 28

Server Name, ................................................... 33, 34

Server Service, ....................................................... 33

SWA_SHMKEY, .................................................... 29

Transaction Name, ................................................. 34

USE_SYS1, ........................................................... 30

USERNAME, ...................................... 25, 26, 27, 28

메인 소스, ............................................................. 53

서비스 테이블소스,.............................................. 53

시스템 리소스, ..................................................... 36

시스템 정의, ......................................................... 31

환경 설정 파일, .................................................... 23