데이터 통신 서비스

본 장에서는 OSC 애플리케이션과 외부 터미널을 통신하도록 하는 데이터 통신 서비스에 대해 기술한다.

1. 개요

데이터 통신 서비스는 OSC 애플리케이션과 외부 터미널과의 통신 기능을 제공한다. 또한 데이터 통신 서비스에는 SPOOL을 통한 TJES 연동 기능도 포함된다.

2. 터미널 제어

OSC 시스템에서의 터미널은 TN3270 에뮬레이터를 의미한다. TN3270 에뮬레이터는 TN3270 프로토콜을 바탕으로 OSC 애플리케이션 서버와 데이터 통신을 하는 장치이다. 터미널은 서버로부터 수신한 데이터를 화면에 출력하고, 사용자의 입력 데이터를 서버로 송신하는 역할을 담당한다.

터미널이 OSC 시스템에 정상적으로 접속하려면 사전에 터미널이 접속하려는 애플리케이션 서버에 해당 터미널 리소스 정의가 등록되어 있어야 한다. 정상적으로 등록된 터미널은 OSC 3270 게이트웨이를 통해 OSC 시스템에 연결되어 데이터를 주고 받는다.

터미널 제어 명령어

다음은 터미널과 관련된 명령어 목록이다. 각 명령어에 대한 자세한 설명은 해당 절을 참고한다.

명령어 설명

CONVERSE

OSC 애플리케이션에서 터미널로 데이터를 주고받는다.

FREE

OSC 애플리케이션에서 해당 터미널에 대한 컨트롤을 반환한다.

HANDLE AID

특정 AID(Attention Identifier) 값을 터미널로 받은 경우 해당하는 레이블로 컨트롤 전송을 설정한다.

INQUIRE NETNAME

터미널과 관련된 속성을 조회한다.

INQUIRE TERMINAL

터미널과 관련된 속성 및 상태를 조회한다.

ISSUE DISCONNECT

OSC Region과 터미널 간의 연결을 종료한다. OSC 3270 게이트웨이에 처음 접속한 화면으로 돌아간다.

ISSUE ERASEAUP

3270 버퍼의 unprotected 필드를 모두 지운다.

ISSUE PASS

현재 연결된 OSC Region과 접속을 종료하고, 지정된 OSC Region으로 접속한다.

ISSUE PRINT

터미널에 출력된 화면을 사용 가능한 프린터로 프린트한다.

RECEIVE

OSC 애플리케이션에서 터미널로부터 데이터를 받는다.

SEND

OSC 애플리케이션에서 터미널로 데이터를 전송한다.

SET TERMINAL

터미널과 관련된 속성 및 상태를 수정한다.

2.1. CONVERSE

OSC 애플리케이션에서 3270 터미널로 데이터를 전송하고 받는다.

  • 문법

    EXEC CICS CONVERSE [option …] END-EXEC.
  • 옵션

    옵션 설명

    CONVID

    명령과 관련된 대화를 4 글자 이름을 통해 식별한다.

    DEFAULT

    DEFAULT 스크린 사이즈를 사용하도록 지정한다.

    FROM

    터미널로 전송될 데이터를 지정한다.

    FROMLENGTH|FROMFLENGTH

    전송될 데이터의 크기를 지정한다.

    INTO

    받을 데이터의 저장소를 지정한다.

    MAXLENGTH|MAXFLENGTH

    받을 데이터의 최대 크기를 지정한다.

    NOTRUNCATE

    터미널로부터 받은 데이터의 크기가 버퍼의 크기보다 클 경우 초과된 데이터를 폐기하지 않고 다음 RECEIVE를 통해 받을 수 있도록 보관한다.

    SESSION

    세션 TCTTE의 기호 식별자 1~4 글자를 지정한다.

    SET

    받을 데이터가 저장될 장소의 포인터 참조값을 지정한다.

    STATE

    트랜잭션 프로그램의 상태가 반환된다.

    TOLENGTH|TOFLENGTH

    받은 데이터 크기가 반환된다.

    ALTERNATE, ASIS, ATTACHID, CTLCHAR, DEFRESP, DEST, DEFRESP, ERASE, FMH, FROMDCC, LEAVEKB, LINEADDR, LDC, PSEUDOBIN, STRFIELD, TODCC은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.2. FREE

OSC 애플리케이션에서 해당 터미널에 대한 컨트롤을 반환한다.

  • 문법

    EXEC CICS FREE END-EXEC.
  • 옵션

    옵션 설명

    CONVID

    해제할 세션을 4 글자 이름을 통해 식별한다.

    SESSION

    세션 TCTTE의 기호 식별자 1~4 글자를 지정한다.

    STATE

    현재 대화의 상태를 반환한다.

2.3. HANDLE AID

특정 AID(Attention Identifier) 값을 터미널로 받은 경우 해당하는 레이블로 컨트롤 전송을 설정한다. HANDLE AID 명령어는 POP\|PUSH HANDLE 명령어의 적용 범위에 포함된다.

  • 문법

    EXEC CICS HANDLE AID [option …] END-EXEC.
  • 옵션

    옵션 설명

    ANYKEY

    <PA>, <PF>, <CLEAR> 키에 대한 처리를 지정한다.

    CLEAR

    <CLEAR> 키에 대한 처리를 지정한다.

    CLRPARTN

    <CLRPARTN> 키에 대한 처리를 지정한다.

    ENTER

    <ENTER> 키에 대한 처리를 지정한다.

    LIGHTPEN

    라이트 펜(light-pen)에 대한 주의 처리를 지정한다.

    OPERID

    오퍼레이터 인식 카드 리더, 자기 슬롯 리더(MSR), 확장 MSR에 대한 처리를 지정한다.

    PA1-PA3

    <PA1>부터 <PA3>까지 프로그램 액세스 키에 대한 처리를 지정한다.

    PF1-PF24

    <PF1>부터 <PF24>까지 프로그램 함수 키에 대한 처리를 지정한다.

    TRIGGER

    트리거 필드(trigger field)에 대한 주의 처리를 지정한다.

2.4. ISSUE DISCONNECT

OSC 애플리케이션 서버와 터미널 간의 연결을 종료한다.

  • 문법

    EXEC CICS ISSUE DISCONNECT END-EXEC.

SESSION은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.5. ISSUE ERASEAUP

3270 버퍼의 unprotected 필드를 모두 지운다.

  • 문법

    EXEC CICS ISSUE ERASEAUP END-EXEC.

WAIT은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.6. INQUIRE NETNAME

터미널과 관련된 속성을 조회한다.

  • 문법

    EXEC CICS INQUIRE NETNAME [option …] END-EXEC.
  • 옵션

    옵션 설명

    ACQSTATUS

    터미널이 연결된 상태인지 조회한다.

    AIDCOUNT

    지정된 터미널에 대기 중인 AIDs의 수를 풀워드 이진값으로 반환한다. AID가 없으면 AIDCOUNT 값 0이 반환된다.

    ALTSUFFIX

    맵을 변환하는 경우 MAPSET 이름의 SUFFIX를 조회한다.

    ATISTATUS

    ATI(Automatic Transaction Initiation)가 가능한 터미널인지 조회한다.

    CREATESESS

    Region에 접속 중이지 않은 터미널(VTAM에만 접속한 상태)에 ATI가 실행되었을 때 해당 터미널이 Region에 연결되도록 설정된 터미널인지 조회한다.

    NETNAME

    요청하는 터미널의 8 글자 네트워크 이름을 반환한다.

    SERVSTATUS

    터미널이 사용 가능한 상태인지 조회한다.

    SIGNONSTATUS

    터미널에 현재 sign-on한 사용자가 있는지 조회한다.

    TASKID

    터미널에서 현재 실행 중인 사용자 작업의 번호를 풀워드 이진값으로 반환한다. 태스크가 터미널을 사용하지 않으면 0이 반환된다.

    TERMINAL

    조회하려는 터미널의 NETNAME을 지정한다.

    TERMSTATUS

    터미널이 연결된 상태인지 조회한다.

    TTISTATUS

    터미널에서 트랜잭션을 실행할 수 있는지 조회한다.

    REMOTENAME, TRANSACTION은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.7. INQUIRE TERMINAL

터미널과 관련된 속성 및 상태를 조회한다.

  • 문법

    EXEC CICS INQUIRE TERMINAL [option …] END-EXEC.
  • 옵션

    옵션 설명

    ALTPRINTER

    PRINTER 옵션으로 지정된 프린터가 사용 불가능할 경우 지정된 프린터의 4 글자 이름을 반환한다.

    END

    Browsing을 중지한다.

    NETNAME

    조회하려는 터미널의 이름을 지정한다.

    NEXT

    INQUIRE 명령을 반복적으로 실행한다. 하나의 리소스 정의를 반환받는다.

    NEXTTRANSID

    다음에 실행할 트랜잭션명을 조회한다.

    PRINTER

    제공되는 프린터의 4 글자 이름을 반환한다. 사용 가능한 경우 이 프린터가 사용된다. 그렇지 않으면 ALTPRINTER 옵션에 명명된 프린터가 사용된다.

    OPERID

    터미널에서 로그인한 사용자의 3 글자 식별코드를 반환한다.

    START

    Browsing을 시작한다.

    SERVSTATUS

    터미널이 사용 가능한 상태인지 조회한다.

    TERMINAL

    조회하려는 터미널 또는 세션의 4 글자 이름을 지정한다.

    USERID

    터미널 또는 세션의 사용자의 ID를 반환한다. 만약 로그인한 사용자가 없다면, 기본 사용자 ID를 반환한다.

    UCTRANST

    터미널로 입력된 데이터를 대문자로 변경할지 변경하지 않을 지 지정할 수 있는데, 이 의미를 나타내는 CVDA 값을 반환한다.

    1. AIDCOUNT, ACQSTATUS, ALTPRTCOPYST, ALTSUFFIX, ATISTATUS, AUDALARMST, BACKTRANSST, COLORST, DEVICE, FROMFEEDST, HILIGHTST, KATAKANAST, LIGHTPENST, OUTLINEST, PAGESTATUS, PROGSYMBOLST, PRTCOPYST, REMOTENAME, REMOTESYSTEM, SIGNONSTATUS, SOSIST, TASKID, TERMSTATUS, TERMPRIORITY, TERMMODEL,TRANSACTION, TTISTATUS, USERAREA, USERAREALEN, USERNAME, VALIDATIONST은 지원하지 않는 옵션이다.

    2. CREATESESS, SESSIONTYPE은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.8. ISSUE PASS

현재 연결된 OSC Region과 접속을 종료하고, 지정된 OSC Region으로 접속한다.

  • 문법

    EXEC CICS ISSUE PASS [options ...] END-EXEC.
  • 옵션

    옵션 설명

    LUNAME

    접속할 OSC Region 이름을 지정한다.

    FROM

    접속할 OSC Region에 전달될 데이터 영역을 지정한다.

    LENGTH

    전달될 데이터의 길이를 지정한다.

LOGMODE, LOGONLOGMODE, NOQUIESCE은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.9. ISSUE PRINT

터미널에 출력된 화면을 사용 가능한 프린터로 프린트한다. 별도의 옵션은 없다.

  • 문법

    EXEC CICS ISSUE PRINT END-EXEC.

2.10. RECEIVE

OSC 애플리케이션에서 3270 터미널이나 OSI로부터 데이터를 받는다.

  • 문법

    EXEC CICS RECEIVE [option …] END-EXEC.
  • 옵션

    옵션 설명

    ASIS

    3270 스트림에서 소문자를 대문자로 변경하지 않는다.

    BUFFER

    읽을 3270 버퍼를 지정한다.

    CONVID

    명령과 관련된 대화를 4 글자 이름을 통해 식별한다.

    INTO

    받을 데이터의 저장소를 지정한다.

    LENGTH|FLENGTH

    받은 데이터 크기가 반환된다.

    INTO 옵션을 지정하고 MAXLENGTH나 MAXFLENGTH를 지정하지 않을 경우 받을 최대 버퍼 길이를 지정하고, SET 옵션을 지정할 경우 받은 데이터 크기가 반환된다.

    MAXLENGTH|MAXFLENGTH

    받을 데이터의 최대 길이를 지정한다.

    NOTRUNCATE

    터미널로부터 받은 데이터의 크기가 버퍼의 크기보다 클 경우 초과된 데이터를 폐기하지 않고 다음 RECEIVE를 통해 받을 수 있도록 보관한다.

    SESSION

    세션 TCTTE의 기호 식별자 1~4 글자를 지정한다.

    SET

    받을 데이터가 저장된 장소의 포인터 참조값을 지정한다.

    STATE

    현재 대화의 상태를 반환한다.

    DCC, LEAVEKB, PASSBK, PSEUDOBIN은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.11. SEND

OSC 애플리케이션에서 터미널이나 OSI로 데이터를 전송한다.

  • 문법

    EXEC CICS SEND [option …] END-EXEC.
  • 옵션

    옵션 설명

    ALTERNATE

    ALTERNATE 스크린 사이즈를 사용하도록 지정한다.

    CONFIRM

    동기화 수준 1 또는 2 대화를 사용하는 응용 프로그램이 원격 응용 프로그램의 응답을 필요로 함을 나타낸다.

    CTLCHAR

    Write Control Character(WCC)를 지정한다.

    CONVID

    명령과 관련된 대화를 4 글자 이름을 통해 식별한다.

    DEFAULT

    DEFAULT 스크린 사이즈를 사용하도록 지정한다.

    ERASE

    기존 화면을 지우기 위한 옵션이다.

    FROM

    터미널로 전송될 데이터를 지정한다.

    LAST

    이번 전송이 트랜잭션의 마지막 전송임을 알린다.

    LENGTH|FLENGTH

    전송될 데이터의 크기를 지정한다.

    SESSION

    세션 TCTTE의 기호 식별자 1~4 글자를 지정한다.

    STATE

    트랜잭션 프로그램의 상태를 반환한다.

    STRFIELD

    FROM 옵션에 지정된 사용자 데이터에 Structure Field가 포함된 경우 지정한다.

    WAIT

    명령 처리가 종료된 후 응용 프로그램으로 컨트롤을 반환한다. OSC는 해당 옵션 여부와 상관없이 명령 처리가 종료되어야만 컨트롤이 반환된다.

    1. ASIS, CBUFF, CNOTCOMPL, DCC, DEFRESP, FMH, INVITE, LEAVEKB, PASSBK, PSEUDOBIN은 지원하지 않는 옵션이다.

    2. ATTACHID, DEST, LDC, LINEADDR은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

2.12. SET TERMINAL

터미널과 관련된 속성 및 상태를 수정한다. 현재 트랜잭션과 연결된 터미널에 대한 RELEASED 기능만 제공한다.

  • 문법

    EXEC CICS SET TERMINAL [option …] END-EXEC.
  • 옵션

    옵션 설명

    ACQUIRED

    지정된 터미널의 연결을 맺는다.

    ALTPRTCOPY

    대체 프린터에서 인쇄 요청을 만족시키기 위해 하드웨어 COPY 기능을 사용한다.

    ALTPRINTER

    PRINTER 옵션에 정의 된 프린터의 대안으로 사용할 3270 프린터의 이름을 지정한다. 이름은 최대 4 글자까지 가능하다.

    ATI

    ATI가 가능한 상태로 설정한다.

    AUTOPAGEABLE

    첫 번째 페이지 이후의 페이지는 자동으로 터미널에 기록된다.

    CANCEL

    지정된 터미널에 대한 AID 대기열이 취소된다. 로컬 OSC 시스템에서 대기 중인 AID가 취소된다. 그러나 연관된 태스크가 시작된 경우 취소되지 않는다.

    COLDACQ

    재동기화가 필요하지 않은 지정된 터미널의 연결을 맺는다.

    CREATE

    ATI를 실행할 때 터미널이 연결되지 않은 상태이면 연결을 맺는다.

    DISCREQ

    연결 해제 요청을 수락하고, CLSDST 매크로 명령어를 실행하여 해당 LU와의 세션을 종료한다.

    EXITTRACE

    Exit 프로그램 활동이 추적된다.

    FORCE

    FORCEPURGE와 동일하다.

    FORCEPURGE

    트랜잭션이 즉시 제거된다.

    INSERVICE

    지정된 터미널을 서비스 가능 상태로 설정한다.

    KILL

    태스크가 종료된다. 시스템 및 데이터 무결성은 보장되지 않는다. PURGE와 FORCEPURGE 옵션을 시도한 후 사용해야 한다.

    NOALTPRTCOPY

    하드웨어 COPY 기능을 사용하지 않는다.

    NOATI

    ATI가 불가능한 상태로 설정한다.

    NOCREATE

    ATI를 실행할 때 터미널이 연결되지 않은 상태여도 연결을 맺지 않는다.

    NODISCREQ

    연결 해제 요청을 수락하지 않는다.

    NOEXITTRACE

    Exit 프로그램 활동이 추적되지 않는다.

    NOOBFORMAT

    외부 서식을 지원하지 않는 옵션이다.

    NOPRTCOPY

    하드웨어 COPY 기능을 사용하지 않는다.

    NORELREQ

    다른 통신 서버 응용 프로그램에 의해 요청이 있을 때 논리 장치를 해제하지 않는다.

    NOTTI

    터미널에서 트랜잭션명을 입력하여 실행하는 것이 불가능하도록 설정한다.

    NOUCTRAN

    터미널의 트랜잭션의 대문자 변환을 수행하지 않는다.

    NOZCPTRACE

    ZCP 추적을 수행하지 않는다.

    OBFORMAT

    외부 서식을 지원한다.

    OUTSERVICE

    지정된 터미널을 서비스 불가능 상태로 설정한다.

    PAGEABLE

    첫 번째 페이지 이후의 페이지는 운영자의 요청에 따라 터미널에 기록된다.

    PRINTER

    인쇄 요청에 대한 응답으로 사용할 기본 프린터의 이름을 지정한다. 이름은 최대 4 글자까지 가능하다.

    PRTCOPY

    기본 프린터에서 인쇄 요청을 만족시키기 위해 하드웨어 COPY 기능을 사용한다.

    PURGE

    시스템 및 데이터 무결성을 유지할 수 있는 경우에만 트랜잭션을 종료할 수 있다.

    RELEASED

    지정된 터미널의 연결을 종료한다.

    RELREQ

    논리 장치가 현재 트랜잭션을 실행 중일 때 LU와의 연결을 해제한다.

    SPECTRACE

    터미널과 관련된 특수 Tracing이 사용된다.

    STANTRACE

    터미널과 관련된 표준 Tracing이 사용된다.

    TERMINAL

    4 글자 터미널 이름을 지정한다.

    TRANIDONLY

    터미널의 트랜잭션 ID에 대해서만 대문자 변환을 수행한다.

    TTI

    터미널에서 트랜잭션명을 입력하여 실행하는 것이 가능하도록 설정한다.

    UCTRAN

    터미널의 입력에 대해 대문자 변환을 수행한다.

    UCTRANST

    터미널의 입력에 대해 대문자 변환을 수행할지 설정한다.

    다음의 값을 설정한다.

    • UCTRAN

    • NOUCTRAN

    • TRANIDONLY

    ZCPTRACE

    ZCP 추적을 수행한다.

  1. ACQSTATUS, ALTPRTCOPYST , ATISTATUS, CREATESESS, DISCREQST, EXITTRACING, MAPNAME, MAPSETNAME, NEXTTRANSID, OBFORMATST, OPERID, PAGESTATUS, PRTCOPYST, PURGETYPE, RELREQST, SERVSTATUS, TCAMCONTROL, TERMSTATUS, TERMPRIORITY, TRACING, TTISTATUS, UCTRANST, ZCPTRACING은 지원하지 않는 옵션이다.

  2. END, NEXT, START은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

3. Mapping Support

Mapping Support는 OSC 프로그램과 TN3270 터미널 사이의 통신을 위한 프로그래밍 인터페이스를 제공하는 기능이다.

TN3270 터미널의 입출력은 3270 데이터 스트림이라는 데이터 구조로 이루어진다. Mapping Support는 맵이라는 리소스를 사용해서 OSC 애플리케이션 프로그램으로부터 받은 데이터를 3270 데이터 스트림 형태로 변환하거나 터미널로부터 받은 3270 데이터 스트림을 OSC 애플리케이션에서 사용하는 데이터 형식으로 변환하는 역할을 수행한다.

Mapping Support는 다음과 같은 이점을 제공한다.

  • OSC 애플리케이션 프로그램으로부터 터미널에 대한 의존성을 제거한다. 이를 통해서 애플리케이션 개발자는 복잡한 3270 데이터 스트림 구조를 파악하고 이를 제어하는 프로그램 로직을 애플리케이션에 구현할 필요가 없으며 상대적으로 단순한 몇 가지 EXEC CICS 명령어를 통해서 터미널 입출력 제어가 가능하다.

  • 화면 구성을 애플리케이션 로직으로부터 분리시킨다. 이는 화면 구성에 변경이 필요할 경우에는 맵만 변경하고 프로그램 로직이 변경되어야 할 때에는 프로그램만 수정하면 되므로 기존 화면을 그대로 사용하는 새로운 프로그램을 작성하거나 이미 존재하는 프로그램과 맵을 유지, 보수하는 것이 편리하다.

Mapping Support 기능에 대한 자세한 내용은 OpenFrame OSC "Mapping Support 안내서"를 참고한다.

Mapping Support 명령어 및 지원 기능

Mapping Support와 관련된 명령어 및 지원기능은 다음과 같이 분류된다. 각각에 대한 자세한 설명은 해당 절을 참고한다.

  • 맵 송수신

    명령어 설명

    RECEIVE MAP

    OSC 애플리케이션 프로그램에서 터미널로부터 데이터를 받는다.

    SEND MAP

    OSC 애플리케이션 프로그램에서 터미널로 화면을 보낸다.

    SEND PAGE

    SEND MAP이나 SEND TEXT에서 ACCUM 옵션으로 만든 로지컬 메시지(Logical Message) 구성을 완료하고 전송한다.

  • 텍스트 데이터 전송

    명령어 설명

    SEND TEXT

    맵이 아닌 텍스트 데이터를 터미널로 전송한다.

    SEND TEXT NOEDIT

    사용자 데이터를 BMS의 변환작업 없이 터미널로 전송한다.

  • 터미널 컨트롤

    명령어 설명

    SEND CONTROL

    터미널을 제어한다.

  • 터미널 간 데이터 전송

    명령어 설명

    ROUTE

    SEND MAP이나 SEND TEXT에서 ACCUM 옵션으로 만든 로지컬 메시지(Logical Message)를 보낼 터미널을 정의한다.

  • 페이징 기능

    기능명 설명

    CSPG

    SEND MAP이나 SEND TEXT에서 ACCUM 옵션으로 만든 로지컬 메시지(Logical Message)를 페이지로 나누어 출력한다.

3.1. CSPG

SEND MAP이나 SEND TEXT에서 ACCUM 옵션으로 만든 로지컬 메시지(Logical Message)를 페이지로 나누어 출력한다. 사용자 프로그램에서 SEND MAP 또는 SEND TEXT에서 ACCUM 옵션으로 로지컬 메시지를 생성할 때 PAGING 옵션을 함께 준다. 로지컬 메시지 생성이 끝난 후 SEND PAGE 를 호출하면 CSPG 트랜잭션이 호출된다.

  • 설정

    시스템 정의 리소스에 아래의 리소스가 정의되어 있어야 한다.

    DEFINE PROGRAM(DFHCSPG) GROUP(그룹명)
    DEFINE TRANSACTION(CSPG) GROUP(그룹명) PROGRAM(DFHCSPG) TWASIZE(255) RESSEC(YES)

    OpenFrame 환경설정에 osc.{servername} 서브젝트, CSPG 섹션의 SKRPF{NN} 키의 VALUE 항목 값을 CSPG (명령어) (옵션)과 같은 형태로 설정을 추가한다. 'SKRPF{NN}'에는 단축키로 설정할 키를 지정한다. (예: SKRPF21, SKRPF22)

    CSPG 설정 예시는 아래와 같다.

    ================================================================================
        SUBJECT     |     SECTION     |        KEY        |          VALUE
    ================================================================================
      osc.OSCOIVP1  |       CSPG      |      SKRPF21      |      CSPG getpage F
                    |                 |      SKRPF22      |      CSPG getpage P
                    |                 |      SKRPF23      |      CSPG getpage N
                    |                 |      SKRPF24      |      CSPG getpage L
    ================================================================================

    osc.{servername} 서브젝트 설정방법에 대한 자세한 내용은 OpenFrame OSC "환경설정 안내서"를 참고한다.

  • 명령어

    명령어 설명

    GETPAGE

    로지컬 메시지의 특정 페이지를 읽는다.

    MSGTERM

    로지컬 메시지를 삭제한다.

    MESSCHN

    2개 이상의 로지컬 메시지를 연결한다.

    MSGCOPY

    다른 터미널로 로지컬 메시지를 복사한다.

    현재 GETPAGE, MSGTERM 명령어만 지원된다.

  • 옵션

    • GETPAGE

      옵션 설명

      F

      첫 페이지를 불러온다.

      P

      이전 페이지를 불러온다.

      N

      다음 페이지를 불러온다.

      L

      마지막 페이지를 불러온다.

    • MSGTERM

      옵션 설명

      B

      현재 터미널에 출력되는 로지컬 메시지를 삭제한다.

3.2. RECEIVE MAP

OSC 애플리케이션 프로그램에서 터미널로부터 데이터를 받는다. FROM 옵션을 사용할 경우 터미널 대신 FROM에 주어진 버퍼로부터 맵 데이터를 받아오게 된다.

  • 문법

    EXEC CICS RECEIVE MAP [option …] END-EXEC.
  • 옵션

    옵션 설명

    ASIS

    3270 입력 데이터 스트림의 소문자가 대문자로 변환되지 않도록 지정한다.

    FROM

    터미널로부터의 데이터가 아닌 프로그램으로부터 읽어올 데이터 버퍼를 지정한다.

    INTO

    터미널로 전송될 COBOL 변수 선언 부분을 지정한다.

    LENGTH

    읽어올 데이터의 길이를 지정한다.

    MAP

    화면에 보여질 맵 이름을 지정한다.

    MAPSET

    맵이 속한 맵 셋 이름을 지정한다.

    SET

    읽어온 데이터가 저장된 주소를 반환한다.

    INPARTN, TERMINAL은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

3.3. ROUTE

SEND MAP이나 SEND TEXT에서 ACCUM 옵션으로 만든 로지컬 메시지(Logical Message)를 보낼 터미널을 정의한다.

  • 문법

    EXEC CICS ROUTE [option …] END-EXEC.
  • 옵션

    옵션 설명

    LIST

    로지컬 메시지를 전송할 터미널과 특성을 정의한다.

3.4. SEND CONTROL

터미널을 제어한다.

  • 문법

    EXEC CICS SEND CONTROL [option …] END-EXEC.
  • 옵션

    옵션 설명

    ACCUM

    논리 메시지를 생성한다.

    ALARM

    알람 설정을 지정한다.

    ALTERNATE

    ERASE 옵션과 함께 사용되어 ALTERNATE 화면 크기의 영역만 지운다.

    CURSOR

    데이터가 터미널에 출력될 때 커서를 특정 위치로 보내는 옵션이다.

    0~1919 사이의 숫자를 입력하여 커서 위치를 지정한다.

    0을 입력하면 (1,1), 80을 입력하면 (2,1)이 되는 방식이다.

    DEFAULT

    터미널이 DEFAULT 스크린 사이즈를 사용하도록 지정한다.

    ERASE

    새로운 데이터가 터미널에 출력되기 전에 화면을 지운다.

    ERASEUP

    입력 필드의 데이터를 지운다.

    FORMFEED

    3270 스트림 맨 앞에 FORMFEED 문자를 삽입한다.

    FREEKB

    데이터가 작성된 후에 키보드의 잠금을 해제한다.

    FRSET

    필드를 리셋한다.

    LAST

    트랜잭션에 대한 최종 출력임을 지정한다. 이 옵션은 Logical Units에서만 적용된다.

    PRINT

    화면 데이터를 터미널이 아닌 프린터 장비로 전송할 때 사용되는 옵션이다.

    PAGING

    출력 데이터가 터미널에 즉시 전송되지 않고 임시 저장 장치에 배치되었다가 관리자의 페이징 명령에 의하여 표시되도록 지정한다.

    TERMINAL

    화면 데이터를 터미널로 전송할 때 사용되는 옵션이다. (기본값)

    WAIT

    명령 처리가 종료된 후 응용 프로그램으로 컨트롤을 반환한다. OSC는 해당 옵션 여부와 상관없이 명령 처리가 종료되어야만 컨트롤이 반환된다.

    ACTPARTN, LDC, MSR, OUTPARTN, L40, L64, L80, REQID, SET 은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

3.5. SEND MAP

OSC 애플리케이션 프로그램에서 터미널로 화면을 보낸다.

  • 문법

    EXEC CICS SEND MAP [option …] END-EXEC.
  • 옵션

    옵션 설명

    ACCUM

    논리 메시지를 생성한다.

    ALARM

    알람 설정을 지정한다.

    ALTERNATE

    ERASE 옵션과 함께 사용되어 터미널에 지정된 ALTERNATE 화면 크기의 영역만 지운다.

    CURSOR

    데이터가 터미널에 출력될 때 커서를 특정 위치로 보내는 옵션이다.

    0~1919 사이의 숫자를 입력하여 커서 위치를 지정한다.

    0을 입력하면 (1,1), 80을 입력하면 (2,1)이 되는 방식이다.

    DATAONLY

    데이터를 터미널에 보낼 때 맵에 정의된 화면 부분은 그대로 두고 사용자 데이터 부분만 화면에 표시하도록 지정한다.

    DEFAULT

    터미널이 DEFAULT 스크린 사이즈를 사용하도록 지정한다.

    ERASE

    새로운 데이터가 터미널에 출력되기 전에 화면을 지우도록 한다.

    ERASEAUP

    입력 필드의 데이터를 지운다.

    FORMFEED

    3270 스트림 맨 앞에 FORMFEED 문자를 삽입한다.

    FREEKB

    데이터가 작성된 후에 키보드의 잠금을 해제한다.

    FROM

    터미널로 전송될 데이터를 지정한다.

    FRSET

    필드를 리셋한다.

    LAST

    트랜잭션에 대한 최종 출력임을 지정한다. 이 옵션은 Logical Units에서만 적용된다.

    LENGTH

    FROM 옵션으로 전송할 데이터의 길이를 지정한다.

    MAP

    화면에 보여질 맵 이름을 지정한다.

    MAPSET

    맵이 속한 맵 셋 이름을 지정한다.

    MAPONLY

    데이터를 터미널에 보낼 때 맵에 정의된 출력 필드만 화면에 표시하도록 지정한다.

    SET

    받을 데이터가 저장될 장소의 포인터 참조값을 지정한다.

    PAGING

    출력 데이터가 터미널에 즉시 전송되지 않고 임시 저장 장치에 배치되었다가 관리자의 페이징 명령에 의하여 표시되도록 지정한다.

    PRINT

    화면 데이터를 터미널이 아닌 프린터 장비로 전송할 때 사용되는 옵션이다.

    TERMINAL

    화면 데이터를 터미널로 전송할 때 사용되는 옵션이다. (기본값)

    WAIT

    명령 처리가 종료된 후 응용 프로그램으로 컨트롤을 반환한다. OSC는 해당 옵션 여부와 상관없이 명령 처리가 종료되어야만 컨트롤이 반환된다.

    ACTPARTN, MSR, FMHPARM, HONEOM, OUTPARTN, LDC, L40, L64, L80, NOFLUSH, NLEOM, REQID 은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

3.6. SEND PAGE

SEND MAP이나 SEND TEXT에서 ACCUM 옵션으로 만든 로지컬 메시지(Logical Message) 구성을 완료하고 전송한다.

  • 문법

    EXEC CICS SEND PAGE [option …] END-EXEC.
  • 옵션

    옵션 설명

    SET

    받을 데이터가 저장될 장소의 포인터 참조값을 지정한다.

    RELEASE

    SEND PAGE 명령어 이후 컨트롤을 시스템으로 반환한다.

    RETAIN

    SEND PAGE 명령어 이후 페이징 화면 조작을 할 수 있으며, 그 후에는 컨트롤을 응용 프로그램에 반환한다.

3.7. SEND TEXT

맵이 아닌 텍스트 데이터를 터미널로 전송한다.

  • 문법

    EXEC CICS SEND TEXT [option …] END-EXEC.
  • 옵션

    옵션 설명

    ACCUM

    논리 메시지를 생성한다.

    ALARM

    알람 설정을 지정한다.

    ALTERNATE

    ERASE 옵션과 함께 사용되어 ALTERNATE 화면 크기의 영역만 지운다.

    CURSOR

    데이터가 터미널에 출력될 때 커서를 특정 위치로 보내는 옵션이다.

    0~1919 사이의 숫자를 입력하여 커서 위치를 지정한다.

    0을 입력하면 (1,1), 80을 입력하면 (2,1)이 되는 방식이다.

    DEFAULT

    터미널이 DEFAULT 스크린 사이즈를 사용하도록 지정한다.

    ERASE

    새로운 데이터가 터미널에 출력되기 전에 화면을 지운다.

    FORMFEED

    3270 스트림 맨 앞에 FORMFEED 문자를 삽입한다.

    FREEKB

    데이터가 작성된 후에 키보드의 잠금을 해제한다.

    FROM

    터미널로 전송될 데이터를 지정한다.

    JUSFRIST

    텍스트 데이터가 페이지의 상단에 배치되도록 지정한다.

    JUSLAST

    텍스트 데이터가 페이지의 하단에 배치되도록 지정한다.

    LAST

    트랜잭션에 대한 최종 출력임을 지정한다. 이 옵션은 Logical Units에서만 적용된다.

    LENGTH

    FROM 옵션으로 전송할 데이터의 길이를 지정한다.

    PAGING

    출력 데이터가 터미널에 즉시 전송되지 않고 임시 저장 장치에 배치되었다가 관리자의 페이징 명령에 의하여 표시되도록 지정한다.

    PRINT

    화면 데이터를 터미널이 아닌 프린터 장비로 전송할 때 사용되는 옵션이다.

    SET

    받을 데이터가 저장될 장소의 포인터 참조값을 지정한다.

    TERMINAL

    화면 데이터를 터미널로 전송할 때 사용되는 옵션이다. (기본값).

    WAIT

    명령 처리가 종료된 후 응용 프로그램으로 컨트롤을 반환한다. OSC는 해당 옵션 여부와 상관없이 명령 처리가 종료되어야만 컨트롤이 반환된다.

    ACCUM, ACTPARTN, FMHPARM, HEADER, HONEOM, JUSTIFY, OUTPARTN, L40, L64, L80, LDC, MSR, NLEOM, PAGING, REQID, TRAILER 은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

3.8. SEND TEXT NOEDIT

맵이 아닌 텍스트 데이터를 터미널로 전송한다. 기본 동작은 SEND TEXT 커맨드와 동일하나, 사용자에 의한 화면 편집 (ACCUM / HEADER / TRAILER 등) 을 허용하지 않고 텍스트만을 출력한다.

  • 문법

    EXEC CICS SEND TEXT NOEDIT [option …] END-EXEC.
  • 옵션

    옵션 설명

    ALARM

    알람 설정을 지정한다.

    DEFAULT

    터미널이 DEFAULT 스크린 사이즈를 사용하도록 지정한다.

    ERASE

    새로운 데이터가 터미널에 출력되기 전에 화면을 지운다.

    FREEKB

    데이터가 작성된 후에 키보드의 잠금을 해제한다.

    FROM

    터미널로 전송될 데이터를 지정한다.

    LAST

    트랜잭션에 대한 최종 출력임을 지정한다. 이 옵션은 Logical Units에서만 적용된다.

    LENGTH

    FROM 옵션으로 전송할 데이터의 길이를 지정한다.

    PAGING

    출력 데이터가 터미널에 즉시 전송되지 않고 임시 저장 장치에 배치되었다가 관리자의 페이징 명령에 의하여 표시되도록 지정한다.

    PRINT

    화면 데이터를 터미널이 아닌 프린터 장비로 전송할 때 사용되는 옵션이다.

    TERMINAL

    화면 데이터를 터미널로 전송할 때 사용되는 옵션이다. (기본값)

    WAIT

    명령 처리가 종료된 후 응용 프로그램으로 컨트롤을 반환한다. OSC는 해당 옵션 여부와 상관없이 명령 처리가 종료되어야만 컨트롤이 반환된다.

4. SPOOL 파일 접근

OSC 애플리케이션 서버는 사용자 프로그램이 TJES 시스템의 SPOOL 리소스를 사용할 수 있도록 인터페이스를 제공한다. TJES SPOOL에 데이터를 쌓아 Batch 시스템에서 데이터를 연동하여 관리하도록 하거나 TJES에서 JOB을 구동시키기 위한 기능으로 주로 활용된다. SPOOL에 작성된 데이터는 시스템의 SPOOL 디렉터리 아래 OpenFrame 환경설정에 osc.{servername} 서브젝트, GENERAL 섹션의 JOBID 키의 VALUE 항목에 설정한 동일한 디렉터리에 저장된다.

SPOOL 파일 접근 명령어

다음은 SPOOL 파일과 관련된 명령어 목록이다. 각 명령어에 대한 자세한 설명은 해당 절을 참고한다.

명령어 설명

SPOOLCLOSE

SPOOL 파일을 닫는다.

SPOOLOPEN OUTPUT

SPOOL 파일을 열면서 그 파일에 대한 속성을 정의한다.

SPOOLWRITE

SPOOL 파일에 데이터를 기록한다.

4.1. SPOOLCLOSE

SPOOL 파일을 닫는다. 직접 SPOOL 파일을 닫거나 태스크를 종료하면 자동으로 닫힌다. 닫힘과 동시에 TJES에 작업한 SPOOL에 대한 처리를 요청하게 된다.

  • 문법

    EXEC CICS SPOOLCLOSE [option …] END-EXEC.
  • 옵션

    옵션 설명

    KEEP|DELETE

    KEEP은 SPOOL 파일을 대상 노드로 보내고, DELETE은 SPOOL 파일을 삭제한다.

    TOKEN

    닫을 SPOOL 파일의 토큰 값을 지정한다.

4.2. SPOOLOPEN OUTPUT

SPOOL 파일을 열면서 그 파일에 대한 속성을 정의한다.

  • 문법

    EXEC CICS SPOOLOPEN OUTPUT [option …] END-EXEC.
  • 옵션

    옵션 설명

    CLASS

    클래스를 지정한다.

    NODE

    SPOOL 파일을 보낼 경로의 식별자를 지정한다.

    NOCC|ASA|MCC

    출력할 때 캐리지 컨트롤(carriage-control character)을 지정한다.

    OUTDESCR

    JCL의 OUTPUT 문에 대한 매개 변수 문자열 주소를 포함하는 필드의 주소로 설정할 포인터 변수를 지정한다.

    PRINT|PUNCH|

    RECORDLENGTH

    기록할 레코드의 길이를 지정한다.

    USERID

    SPOOL 파일을 보낼 경로의 사용자 식별자를 지정한다.

    TOKEN

    SPOOL 파일의 토큰 값을 지정한다.

    Internal reader로 데이터를 기록하려면 SPOOLOPEN OUTPUT 명령어에서 USERID에 INTRDR를 설정한다. TJES로 보낼 마지막 레코드에 /* EOF를 기술하면 자동으로 SPOOL 파일이 닫힘과 동시에 TJES Internal reader에 데이터가 전송된다.

4.3. SPOOLWRITE

SPOOL 파일에 데이터를 기록한다. 파일을 열 때 받아온 토큰 값을 이용하여 데이터를 전달하면 지정된 SPOOL 파일에 데이터가 작성된다. 하나의 SPOOL 파일에 여러 번 SPOOLWRITE를 사용할 수 있다.

  • 문법

    EXEC CICS SPOOLWRITE [option …] END-EXEC.
  • 옵션

    옵션 설명

    FROM

    기록할 데이터가 저장된 경로를 지정한다.

    FLENGTH

    기록할 데이터의 길이를 지정한다.

    LINE|PAGE

    라인과 페이지 중 데이터 포맷을 지정한다.

    TOKEN

    데이터를 기록할 SPOOL 파일의 토큰 값을 지정한다.

5. CONSOLE 출력

OSC 애플리케이션 서버는 사용자 프로그램이 CONSOLE에 데이터를 출력할 수 있도록 인터페이스를 제공한다. 데이터를 OpenFrame에서 제공하는 tconmgr의 창과 console log에 출력한다.

tconmgr 기능에 대한 자세한 내용은 OpenFrame Base "툴 참조 안내서"를 참고한다.

CONSOLE 출력 명령어

다음은 CONSOLE 출력 명령어 목록이다. 각 명령어에 대한 자세한 설명은 해당 절을 참고한다.

명령어 설명

WRITE OPERATOR

Operator console에 메시지를 출력한다.

5.1. WRITE OPERATOR

Operator console에 메시지를 출력해 주는 기능이다. OpenFrame에서는 Operator console로 tconmgr을 제공한다. 따라서 해당 명령어로 메시지를 출력하면 tconmgr에 메시지가 출력된다. 그 이외에 REPLY라는 옵션으로 사용자 응답 메시지를 받을 수 있다.

  • 문법

    EXEC CICS WRITE OPERATOR [option …] END-EXEC.
  • 옵션

    옵션 설명

    ACTION

    메시지와 관련된 작업 코드를 지정한다.

    CRITICAL

    메시지가 운영자에 의한 최종 조치를 필요로하며 이 메시지는 중요하여 운영자가 삭제할 때까지 화면에 남아 있습니다.

    MAXLENGTH

    REPLY 옵션을 기술하면 반드시 지정해야 하는 옵션이다. REPLY 영역의 길이를 지정한다. 1 ~ 119Bytes까지 지정할 수 있다.

    NUMROUTES

    라우팅 코드의 수를 풀워드 이진 값으로 지정한다.

    REPLY

    operator의 응답을 받을 데이터 영역을 지정한다. REPLY 옵션을 사용하는 경우에 트랜잭션이 멈춰 있게 된다. tconmgr나 OpenFrame Manager[Base] > [Console] 메뉴 등을 통해 REPLY 데이터를 입력해야 트랜잭션이 계속 실행될 수 있다.

    REPLYLENGTH

    실제로 operator에게 응답 받은 메시지의 길이다.

    TEXT

    출력할 메시지를 지정한다.

    TEXTLENGTH

    REPLY 옵션이 기술되면 0 ~ 121Bytes까지 기술할 수 있다. REPLY 옵션이 없다면 0 ~ 690Bytes까지 기술할 수 있다.

    TIMEOUT

    트랜잭션에 제어를 반환하기 전에 OSC가 응답을 기다리는 최대 시간을 포함하는 시간을 풀워드 이진 값으로 지정한다.

    1. EVENTUAL, IMMEDIATE, ROUTECODES은 지원하지 않는 옵션이지만 파싱을 위해 지원한다.

    2. OpenFrame Manager[Base] > [Console] 메뉴에 대한 자세한 내용은 OpenFrame Manager "사용자 안내서"를 참고한다.

6. 웹 서비스 통신

OSC 애플리케이션 서버는 사용자 프로그램이 외부 시스템과 웹 서비스 통신을 할 수 있는 인터페이스를 제공한다. OSC 사용자 애플리케이션이 Requester가 되어 외부 시스템의 프로바이더에게 웹 서비스 프로토콜을 이용해서 서비스를 요청한다.

웹 서비스 통신 명령어

다음은 웹 서비스 통신 명령어 목록이다. 각 명령어에 대한 자세한 설명은 해당 절을 참고한다.

명령어 설명

INVOKE WEBSERVICE

웹 서비스 프로바이더에게 서비스를 요청한다.

6.1. INVOKE WEBSERVICE

웹 서비스 프로바이더에게 서비스를 요청하는 기능이다. OpenFrame에서는 Tmax Java Gateway와 AnyLink를 이용해서 웹 서비스 요청을 처리한다.

  • 문법

    EXEC CICS INVOKE WEBSERVICE [option …] END-EXEC.
  • 옵션

    옵션 설명

    CHANNEL

    요청 데이터를 담고 있는 채널 이름을 지정한다. 응답 데이터도 지정된 채널에 저장된다.

    OPERATION

    수행될 오퍼레이션 이름을 지정한다.

    URI

    웹 서비스의 URI를 지정한다.

    WEBSERVICE

    웹 서비스를 정의한 웹 서비스 리소스 이름을 지정한다.

    AnyLink와 Tmax Java Gateway에 대한 내용은 각 제품의 매뉴얼을 참고한다.

7. HTTP 통신

OSC 는 HTTP 프로토콜을 이용하여 HTTP 서버와 HTTP 클라이언트 역할을 수행할 수 있는 인터페이스를 제공한다.

HTTP 서버는 외부의 클라이언트에게 요청을 받았을 경우, 요청된 트랜잭션을 수행한 후 클라이언트에게 결과를 반환한다.

HTTP 클라이언트는 외부의 HTTP 서버에게 요청을 보내어 서버로부터 응답을 받는다. OSC가 HTTP 서버로서 동작할 때 외부의 클라이언트에게 요청이 들어올 경우 WAS의 oschttp 서블릿을 통해 OSC에게 전달된다.

oschttp 서블릿 사용을 위한 WAS Deploy 내용은 해당 WAS 제품의 매뉴얼을 참고한다.

HTTP 통신 명령어 및 프로그램

다음은 웹 서비스 통신 명령어와 프로그램 목록이다. 각 명령어에 대한 자세한 설명은 해당 절을 참고한다.

명령어와 프로그램 설명

DFHWBA

OSC가 HTTP 서버로 동작할 때 사용된다.

DFHWBUN

이스케이프 해제 기능을 제공한다.

EXTRACT TCPIP

OSC가 HTTP 서버로 동작할 때 현재 트랜잭션의 TCP/IP에 대한 정보를 얻는다.

WEB CONVERSE

OSC가 HTTP 클라이언트로 동작할 때 외부의 서버와 요청과 응답을 수행한다.

WEB CLOSE

OSC가 HTTP 클라이언트로 동작할 때 외부의 서버와 커넥션 맺은 것을 끊기 위하여 수행한다.

WEB ENDBROWSE FORMFIELD

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트에서 요청받은 HTML의 FORM 항목의 검색을 종료한다.

WEB EXTRACT

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트에서 요청에 대한 정보를 얻는다.

WEB OPEN

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트로부터 요청을 받아 HTTP Payload를 저장하는 역할을 수행한다.

WEB RECEIVE

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트로부터 요청을 받아 HTTP Payload를 저장하는 역할을 수행한다.

WEB READNEXT FORMFIELD

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트로부터 요청받은 HTML의 FORM 항목 중 다음 FORM의 이름과 값을 가져온다.

WEB READ HTTPHEADER

OSC가 HTTP 클라이언트로 동작할 때 외부 서버에서 받은 HTTP 헤더 정보를 추출한다.

WEB SEND

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트로부터 요청이 들어오는 경우 이에 대한 응답을 보낸다.

WEB STARTBROWSE FORMFIELD

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트에서 요청받은 HTML의 FORM 항목의 검색을 시작하고 FORM 항목의 첫 번째 위치를 지정하도록 한다.

WEB WRITE HTTPHEADER

OSC가 HTTP 클라이언트로 동작할 때 외부 서버로 보낼 HTTP 헤더 정보를 만든다.

7.1. DFHWBA

DFHWBA는 OSC가 HTTP 서버로 동작할 때 사용되는 프로그램이다.

클라이언트의 요청이 WAS 위에 올라가 있는 oschttp 서블릿을 거쳐 OSC로 오게 되면, DFHWBA 프로그램이 호출되며, DFHWBA는 SD에 있는 URIMAP 리소스와 TCPIPSERVICE 리소스를 확인하여 클라이언트가 원하는 프로그램을 호출하도록 한다. 먼저 URIMAP 리소스의 PATH와 매칭되는 URIMAP이 있는지를 검색한 후 Analyzer 유무를 조사한다.

Analyzer가 있다면 Analyzer를 통해 수행 할 프로그램을 지정한 후 프로그램을 수행한다. Analyzer가 존재하지 않는다면, URIMAP에 기재되어 있는 프로그램을 수행한다. 만약 매칭되는 URIMAP이 없다면 들어온 PORT와 일치하는 TCPIPSERVICE 리소스를 검색하고, TCPIPSERVICE의 URM으로 기재되어있는 Analyzer를 통해 수행 할 프로그램을 지정한 후 프로그램을 수행한다.

  • 설정

    시스템 정의 리소스에 아래의 리소스가 정의되어 있어야 한다.

    DEFINE PROGRAM(DFHWBA) GROUP(DFHGRP) LANGUAGE(C)
    DEFINE TRANSACTION(Alias Transaction 이름) GROUP(DFHGRP) PROGRAM(DFHWBA) TWASIZE(255)

현재 지원하고 있는 Analyzer는 Default로 동작하는 DFHWBADX, DFHWBAAX 만 존재한다.

7.2. DFHWBUN

DFHWBUN은 이스케이프 해제 가 필요할 때 사용되는 프로그램이다.

이스케이프된 형식으로 CICS에 전송된 데이터에 대해 애플리케이션이 이스케이프되지 않은 형식으로 조작해야 하는 경우 이스케이프 해제 기능을 제공한다.

7.3. EXTRACT TCPIP

OSC가 HTTP 서버로 동작할 때 현재 트랜잭션의 TCP/IP에 대한 정보를 얻는다.

  • 문법

    EXEC CICS EXTRACT TCPIP [option …] END-EXEC.
  • 옵션

    옵션 설명

    CLIENTADDR

    OSC로 HTTP 요청을 보낸 클라이언트의 IP를 반환한다.

    CADDRLENGTH

    OSC로 HTTP 요청을 보낸 클라이언트의 IP 길이를 반환한다.

7.4. WEB CONVERSE

OSC가 HTTP 클라이언트로 동작할 때 외부의 서버와 요청과 응답을 수행한다.

  • 문법

    EXEC CICS WEB CONVERSE [option …] END-EXEC.
  • 옵션

    옵션 설명

    FROM

    외부의 서버에게 보낼 데이터를 지정한다.

    FROMLENGTH

    외부의 서버에게 보낼 데이터의 크기를 지정한다.

    INTO

    외부의 서버에게로부터 응답이 왔을 경우 받을 저장 공간을 지정한다.

    MAXLENGTH

    외부의 서버에게로부터 응답이 왔을 경우 받을 저장 공간의 최대 크기를 지정한다.

    MEDIATYPE

    외부의 서버에게 보낼 데이터의 MEDIATYPE을 지정한다.

    METHOD

    외부의 서버에게 보낼 요청의 METHOD 형식을 지정한다.

    QUERYSTRING

    외부의 서버에게 요청을 보낼 때 URL에 들어갈 QUERYSTRING을 지정한다.

    QUERYSTRLEN

    외부의 서버에게 요청을 보낼 때 QUERYSTRING의 크기를 지정한다.

    SESSTOKEN

    WEB OPEN을 통해 커넥션을 맺은 토큰을 지정한다.

    TOLENGTH

    외부의 서버에게 응답이 왔을 경우 응답의 크기를 반환한다.

    URIMAP

    외부에 요청할 서버 정보에 대해 정의한 URIMAP 리소스 이름을 지정한다.

    PATH

    응용 프로그램이 접근해야 하는 서버 내의 특정 리소스에 대한 경로를 지정한다.

    PATHLENGTH

    PATH의 길이를 지정한다.

    CLOSESTATUS

    HTTP 헤더의 CONNECTION 옵션을 close로 할지 keep-alive로 할지 지정한다.

    BASICAUTH

    현재 세션이 HTTP 기본 인증이 필요함을 지정한다.

    USERNAME

    액세스가 허용되는 사용자의 ID를 지정한다. USERNAME 옵션이 사용되면 PASSWORD 옵션도 사용되어야 한다.

    USERNAMELEN

    USERNAME 옵션에 제공된 버퍼의 길이를 지정한다.

    PASSWORD

    액세스가 허용된 사용자 ID에 해당하는 비밀번호를 지정한다.

    PASSWORDLEN

    PASSWORD 옵션에 제공된 버퍼의 길이를 지정한다.

    STATUSCODE

    서버에서 보낸 HTTP 상태 코드를 수신할 데이터 영역을 지정한다.

    STATUSTEXT

    HTTP 상태 코드를 설명하기 위해 서버에서 반환된 텍스트를 수신할 데이터 영역을 지정한다.

    STATUSLEN

    STATUSTEXT 옵션에서 수신할 데이터 영역의 길이를 지정한다.

    현재 METHOD는 GET, HEAD, POST, PUT, TRACE, OPTIONS, DELETE을 지원한다.

7.5. WEB CLOSE

OSC가 HTTP 클라이언트로 동작할 때 외부의 서버와 커넥션 맺은 것을 끊기 위하여 수행한다.

  • 문법

    EXEC CICS WEB CLOSE [option …] END-EXEC.
  • 옵션

    옵션 설명

    SESSTOKEN

    서버와의 커넥션 맺을 때 사용한 Token을 지정하여 커넥션을 종결한다.

7.6. WEB ENDBROWSE FORMFIELD

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트에서 요청받은 HTML의 FORM 항목의 검색을 종료한다. 이 커맨드를 수행하기 위해서는 WEB STARTBROWSE FORMFIELD 커맨드가 선행되어야 한다.

  • 문법

    EXEC CICS WEB ENDBROWSE FORMFIELD END-EXEC.

7.7. WEB EXTRACT

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트가 OSC에 작성 및 처리를 위해 애플리케이션에 할당한 가장 최근 HTTP 요청에 대한 정보를 애플리케이션이 얻을 수 있다.

  • 문법

    EXEC CICS WEB EXTRACT [option …] END-EXEC.
  • 옵션

    옵션 설명

    HOST

    HTTP 요청에 대한 URL의 호스트를 받을 데이터 영역을 지정한다.

    HOSTLENGTH

    HOST 옵션에 제공된 버퍼의 길이를 반환한다.

    HTTPMETHOD

    HTTP 메소드 문자열을 반환한다.

    METHODLENGTH

    HTTPMETHOD 옵션에 제공된 버퍼의 길이를 반환한다.

    HTTPVERSION

    웹 클라이언트에 대한 HTTP 버전을 포함할 데이터 영역을 지정한다.

    VERSIONLEN

    HTTPVERSION 옵션에 제공된 버퍼의 길이를 반환한다.

    PATH

    HTTP 요청에 대한 URL의 PATH를 받을 데이터 영역을 지정한다.

    PATHLENGTH

    PATH 옵션에 제공된 버퍼의 길이를 반환한다.

    QUERYSTRING

    HTTP 요청에 대한 URL의 QUERYSTRING을 받을 데이터 영역을 지정한다.

    QUERYSTRLEN

    QUERYSTRING 옵션에 제공된 버퍼의 길이를 반환한다.

    REQUESTTYPE

    수신된 요청 유형을 지정한다.

현재 WEB EXTRACT 커맨드는 OSC가 서버일 경우에만 지원한다.

7.8. WEB OPEN

OSC가 HTTP 클라이언트로 동작할 때 외부의 서버와 커넥션을 맺기위해 수행한다.

  • 문법

    EXEC CICS WEB OPEN [option …] END-EXEC.
  • 옵션

    옵션 설명

    SESSTOKEN

    커넥션을 맺을 경우 커넥션에 대한 토큰을 반환하며, 이를 통신에 사용한다.

    URIMAP

    HTTP 통신을 할 서버를 정의한 URIMAP 리소스 이름을 지정한다.

    HOST

    HTTP 통신을 할 서버의 호스트 이름을 지정한다.

    HOSTLENGTH

    HTTP 통신을 할 서버의 호스트 이름의 크기를 지정한다.

    PORTNUMBER

    HTTP 통신을 할 서버의 포트 번호를 지정한다.

    SCHEME

    SSL 사용하거나 사용하지 않는 프로토콜을 지정한다.

7.9. WEB READ HTTPHEADER

OSC가 HTTP 클라이언트로 동작할 때 외부 서버의 HTTP 헤더 정보를 추출한다.

  • 문법

    EXEC CICS READ HTTPHEADER [option …] END-EXEC.
  • 옵션

    옵션 설명

    HTTPHEADER

    추출할 HTTP 헤더의 이름을 지정한다.

    NAMELENGTH

    HTTP 헤더 이름의 길이를 지정한다.

    SESSTOKEN

    WEB OPEN을 통해 커넥션을 맺은 토큰을 지정한다.

    VALUE

    추출되는 HTTP 헤더의 값을 저장할 버퍼를 지정한다.

    VALUELENGTH

    VALUE 옵션에 제공된 버퍼의 길이를 반환한다.

현재 WEB READ HTTPHEADER 커맨드는 OSC가 클라이언트일 경우에만 지원한다.

7.10. WEB READNEXT FORMFIELD

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트로부터 요청받은 HTML의 FORM 항목 중 다음 FORM의 이름과 값을 가져온다. 이 커맨드를 수행하기 위해서는 WEB STARTBROWSE FORMFIELD 커맨드가 선행되어야 한다.

  • 문법

    EXEC CICS WEB READNEXT FORMFIELD [option …] END-EXEC.
  • 옵션

    옵션 설명

    FORMFIELD

    HTML FORM 이름을 반환할 공간을 지정한다.

    NAMELENGTH

    HTML FORM 이름의 길이를 지정한다.

    VALUE

    HTML FORM의 이름에 해당하는 값을 저장할 공간을 지정한다.

    VALUELENGTH

    HTML FORM의 이름에 해당하는 값의 길이를 지정한다.

7.11. WEB RECEIVE

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트로부터 요청을 받아 HTTP Payload를 저장하는 역할을 수행한다.

  • 문법

    EXEC CICS WEB RECEIVE [option …] END-EXEC.
  • 옵션

    옵션 설명

    CLNTCODEPAGE

    CLIENT의 CODEPAGE를 지정한다.

    HOSTCODEPAGE

    HOST의 CODEPAGE를 지정한다.

    INTO

    클라이언트 요청에서 HTTP Payload를 담을 저장 공간을 지정한다.

    LENGTH

    HTTP Payload의 길이 정보를 저장한다.

    MAXLENGTH

    INTO에 지정된 저장 공간의 최대 사이즈를 지정한다.

    OSC에서는 ASCII로서 데이터를 송수신하므로 CLNTCODEPAGE, HOSTCODEPAGE는 의미 없다.

7.12. WEB SEND

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트로부터 요청이 들어오는 경우 이에 대한 응답을 보낸다.

  • 문법

    EXEC CICS WEB SEND [option …] END-EXEC.
  • 옵션

    옵션 설명

    DOCTOKEN

    클라이언트에게 보낼 요청을 DOCUMENT로 작성한 경우 DOCTOKEN을 통해 DOCUMENT를 클라이언트에게 응답으로 전송한다.

    CLNTCODEPAGE

    DOCUMENT의 CODEPAGE를 지정한다.

    OSC에서는 ASCII로서 데이터를 송수신하므로 CLNTCODEPAGE는 의미 없다.

7.13. WEB STARTBROWSE FORMFIELD

OSC가 HTTP 서버로 동작할 때 외부의 클라이언트에서 요청받은 HTML의 FORM 항목의 검색을 시작하고 FORM 항목의 첫 번째 위치를 지정하도록 한다.

  • 문법

    EXEC CICS WEB STARTBROWSE FORMFIELD [option …] END-EXEC.

7.14. WEB WRITE HTTPHEADER

OSC가 HTTP 클라이언트로 동작할 때 외부 서버로 요청 보낼 HTTP 헤더 정보를 입력한다.

  • 문법

    EXEC CICS WRITE HTTPHEADER [option …] END-EXEC.
  • 옵션

    옵션 설명

    HTTPHEADER

    요청을 보낼 HTTP 헤더의 이름을 지정한다.

    NAMELENGTH

    HTTP 헤더 이름의 길이를 지정한다.

    SESSTOKEN

    WEB OPEN을 통해 커넥션을 맺은 토큰을 지정한다.

    VALUE

    HTTPHEADER 옵션에 지정한 HTTP 헤더의 값을 지정한다.

    VALUELENGTH

    HTTP 헤더 값의 길이를 지정한다.

현재 WEB WRITE HTTPHEADER 커맨드는 OSC가 클라이언트일 경우에만 지원한다.