COBOL에서 REDEFINES를 사용하는 방법
TI(트랜잭션 통합자) 프로젝트의 COBOL 가져오기 프로세스는 데이터 설명 항목에서 REDEFINES 절을 인식하고 재정의 항목을 다시 정의된 항목과 올바르게 연결합니다. 다시 정의되거나 다시 정의되는 절 중 하나를 전송할 데이터를 나타내는 항목으로 선택해야 합니다.
다시 정의 항목은 다시 정의된 항목보다 적은 공간을 사용할 수 있습니다. 재정의된 항목보다 작은 다시 정의 항목을 선택하면 TI Project는 데이터가 호스트로 전송될 때 데이터 설명을 올바르게 오버레이하도록 필러를 자동으로 추가합니다. 재정의 항목이 여러 필드가 있는 테이블을 나타내는 경우 마지막 필드에는 필러가 포함됩니다.
다음 COBOL 예제에서는 REDEFINES 절을 보여 줍니다. 가져오는 동안 다시 정의 절이 선택되었습니다.
01 CUSTOMER-DATA.
05 CUSTOMER-ID PIC X(10).
05 CUSTOMER-ID-PARTS REDEFINES CUSTOMER-ID.
10 LOCATION PIC X(3).
10 NAME-ABREV PIC X(5).
가져온 결과 메서드는 다음과 같습니다.
CreateCustomerID(strLocation As String, strNameAbrev As String)
이 메서드에 대해 생성된 COBOL은 다음과 같습니다.
01 CREATECUSTOMERID-INPUT-AREA.
05 LOCATION PIC X(3). INPUT
05 NAME-ABREV PIC X(5). INPUT
05 FILLER PIC X(2). INPUT
FILLER가 CUSTOMER-ID 다시 정의된 영역에 추가됩니다. 이 FILLER가 전송 또는 수신 버퍼의 끝에서 발생하는 경우 성능상의 이유로 전송되지 않습니다.
다음은 이 메서드를 호출하는 Visual Basic 코드의 예입니다.
Dim objCustomer As Object
Dim strLocation As String
Dim strNameAbrev As String
strLocation = "101"
strNameAbrev = "SPORT"
'create an instance of the invoicing object
On Error GoTo ErrorHandler1
Set objCustomer = CreateObject("Customer.Invoicing.1")
'invoke the CreateCustomerID method
On Error GoTo ErrorHandler2
objCustomer.CreateCustomerID strLocation, strNameAbrev