책장 설계

_20100526.ppt

파일 전달을 위한 임시 포스트 입니다.

tpcall 에러리스트

#define TPMINVAL    0    /* minimum error message */
#define TPEABORT    1
#define TPEBADDESC    2
#define TPEBLOCK    3
#define TPEINVAL    4
#define TPELIMIT    5
#define TPENOENT    6
#define TPEOS        7
#define TPEPERM        8
#define TPEPROTO    9
#define TPESVCERR    10
#define TPESVCFAIL    11
#define TPESYSTEM    12
#define TPETIME        13
#define TPETRAN        14
#define TPGOTSIG    15
#define TPERMERR    16
#define TPEITYPE    17
#define TPEOTYPE    18
#define TPERELEASE    19
#define TPEHAZARD    20
#define TPEHEURISTIC    21
#define TPEEVENT    22
#define    TPEMATCH    23
#define TPEDIAGNOSTIC    24
#define TPEMIB        25
#define TPMAXVAL    26    /* maximum error message */

* Errors

[TPEINVAL]
Invalid arguments were given (for example, svc is NULL or flags are invalid).

[TPENOENT]
Cannot send to svc because it does not exist, or it is a conversational service, or the name provided begins with a dot (.).

[TPEITYPE]
The type and subtype of idata is not one of the allowed types and subtypes that svc accepts.

[TPEOTYPE]
Either the type and subtype of the reply are not known to the caller; or, TPNOCHANGE was set in flags and the type and subtype of *odata do not match the type and subtype of the reply sent by the service. Neither *odata, its contents, nor *olen is changed. If the service request was made on behalf of the caller's current transaction, then the transaction is marked abort-only since the reply is discarded.

[TPETRAN]
svc belongs to a server that does not support transactions and TPNOTRAN was not set.

[TPETIME]
This error code indicates that either a timeout has occurred or tpcall() has been attempted, in spite of the fact that the current transaction is already marked rollback only.
If the caller is in transaction mode, then either the transaction is already rollback only or a transaction timeout has occurred. The transaction is marked abort-only. If the caller is not in transaction mode, a blocking timeout has occurred. (A blocking timeout cannot occur if TPNOBLOCK and/or TPNOTIME is specified.) In either case, no changes are made to *odata, its contents, or *olen. If a transaction timeout has occurred, then, with one exception, any attempts to send new requests or receive outstanding replies will fail with TPETIME until the transaction has been aborted. The exception is a request that does not block, expects no reply, and is not sent on behalf of the caller's transaction (that is, tpacall() with TPNOTRAN, TPNOBLOCK, and TPNOREPLY set). When a service fails inside a transaction, the transaction is put into the TX_ROLLBACK_ONLY state. This state is treated, for most purposes, as though it were equivalent to a timeout. All further ATMI calls for this transaction (with the exception of those issued in the circumstances described in the previous paragraph) will fail with TPETIME.

[TPESVCFAIL]
The service routine sending the caller's reply called tpreturn() with TPFAIL. This is an application-level failure. The contents of the service's reply, if one was sent, is available in the buffer pointed to by *odata. If the service request was made on behalf of the caller's current transaction, then the transaction is marked abort-only. Note that regardless of whether the transaction has timed out, the only valid communications before the transaction is aborted are calls to tpacall() with TPNOREPLY, TPNOTRAN, and TPNOBLOCK set.

[TPESVCERR]
A service routine encountered an error either in tpreturn(3c) or tpforward(3c) (for example, bad arguments were passed). No reply data is returned when this error occurs (that is, neither *odata, its contents, nor *olen is changed). If the service request was made on behalf of the caller's transaction (that is, TPNOTRAN was not set), then the transaction is marked abort-only. Note that regardless of whether the transaction has timed out, the only valid communications before the transaction is aborted are calls to tpacall() with TPNOREPLY, TPNOTRAN, and TPNOBLOCK set. If either SVCTIMEOUT in the UBBCONFIG file or TA_SVCTIMEOUT in the TM_MIB is non-zero, TPESVCERR is returned when a service timeout occurs.

[TPEBLOCK]
A blocking condition was found on the send call and TPNOBLOCK was specified.

[TPGOTSIG]
A signal was received and TPSIGRSTRT was not specified.

[TPEPROTO]
tpcall() was called improperly.

[TPESYSTEM]
A BEA Tuxedo system error has occurred. The exact nature of the error is written to a log file.

[TPEOS]
An operating system error has occurred. If a message queue on a remote location is filled, TPEOS may be returned even if tpcall() returned successfully.


요건 20091109

S_A2A005 R102043_IE1 : STR0015 관련 조건이 2개 이므로 migration fail로 처리한다.
- R102048_IE1
- R102049_IE1

S_A2A002 R_CS04_I02 : STR0001 와 STR0016_3 관련 조건이 있는 경우
-> normal 포멧으로 간주

서비스 갯수에 따른 GWSNAX와 CRM과의 연결소요시간 테스트(kcsong)

일단 GWSNAX process와 CRM과 연결이 되었다는 메시지(LIBGWS_CAT:3157: INFO: CONNECTED TO CRM)가 나오면
이후에는 서비스 호출시 정상적으로 처리됨.


도메인 서비스가 2개일때 GWSNAX process와 CRM과의 연결 시 소요되는 시간 (약 27초)
==========================================================================================================
131550.449.eait160!GWADM.4550656.1.0: CMDGW_CAT:1000: INFO: GWADMSVR is exiting
131616.938.eait160!GWADM.4550658.1.0: 01-15-2010: Tuxedo Version 10.0, 32-bit
131616.938.eait160!GWADM.4550658.1.0: LIBTUX_CAT:262: INFO: Standard main starting
131617.051.eait160!GWSNAX.2805876.1.0: 01-15-2010: Tuxedo Version 10.0, 32-bit
131617.051.eait160!GWSNAX.2805876.1.0: LIBTUX_CAT:262: INFO: Standard main starting
131617.057.eait160!GWSNAX.2805876.1.0: LIBGWS_CAT:2201: INFO: Tuxedo Mainframe Adapter for SNA 10.0.0
131617.059.eait160!GWSNAX.2805876.1.0: LIBGWS_CAT:2247: INFO: Codepage for Remote Domain <HDOM1> : none
131644.625.eait160!GWSNAX.2805876.1.0: LIBGWS_CAT:3157: INFO: CONNECTED TO CRM


도메인 서비스가 약900여개 일때 GWSNAX process와 CRM과의 연결 시 소요되는 시간 (약 27초)
==========================================================================================================
131826.861.eait160!GWADM.3579964.1.0: 01-15-2010: Tuxedo Version 10.0, 32-bit
131826.861.eait160!GWADM.3579964.1.0: LIBTUX_CAT:262: INFO: Standard main starting
131827.087.eait160!GWSNAX.2961576.1.0: 01-15-2010: Tuxedo Version 10.0, 32-bit
131827.087.eait160!GWSNAX.2961576.1.0: LIBTUX_CAT:262: INFO: Standard main starting
131827.092.eait160!GWSNAX.2961576.1.0: LIBGWS_CAT:2201: INFO: Tuxedo Mainframe Adapter for SNA 10.0.0
131827.095.eait160!GWSNAX.2961576.1.0: LIBGWS_CAT:2247: INFO: Codepage for Remote Domain <HDOM1> : none
131854.303.eait160!GWSNAX.2961576.1.0: LIBGWS_CAT:3157: INFO: CONNECTED TO CRM


온라인 거래 전환 조건 20091106

< 온라인 거래 전환 조건 >

* A2A 관련 룰 중 nomal 룰
- 온라인 거래.요청 레이아웃 ID', '온라인 거래.응답 레이아웃 ID' : NULL    

* 온라인 거래 정의
- 조건에 STR0001, STR0016_1과 STR0016_2의 3개 필드를 조회하는 경우
- STR0015 조건 식이 포함된 경우,
- STR0001, STR0016_1과 STR0016_2의 3개 필드와 다른 필드와 관련된 조건이 있는 경우
- STR0015 외 조건이 있는 경우

-> 대내 조건 (STR0001, STR0016_1과 STR0016_2) 또는 대외 조건 (STR0015 가 포함된) 경우

* 테이블 '온라인 거래'

1. 메세지 유형 : (L: STR0015 조건 식이 포함된 경우, I: STR0001 STR0016_1 STR0016_2 포함된 조건)
2. 온라인 거래 코드 :
- 대외의 경우 ' "STR0015" STRING_TRIM= "002000" ' 에서 "002000"
- 대내의 경우 ' "STR0001" STRING= "A141"... ' 에서 "A141"  
3. 설명

- 요청 또는 응답관련 필드는 어플리케이션 명으로 확인
4. 요청 레이아웃 ID : <- 인풋폼 (일반적으로 2번째 인풋 폼)
6. 요청 바디 변환 룰 : 일단 무시 (NULL)
- E2A001에 있는 대내 거래는 요청
- E2A001, E2A002 의 대외 거래 중 트렌코드("STR0015") 3번째 값이 '0' or '1'일 경우 요청
- A2E001, A2E002 의 대외 거래 중 트렌코드("STR0015") 3번째 값이 '0' or '1'이 아닐 경우 요청

7. 응답 레이아웃 ID : <- 인풋폼 (일반적으로 2번째 인풋 폼)
9. 응답 바디 변환 룰 ID : 일단 무시 (NULL)
- A2E001에 있는 대내 거래는 응답
- E2A001, E2A002 의 대외 거래 중 트렌코드("STR0015") 3번째 값이 '0' or '1'가 아닐 경우 응답
- A2E001, A2E002 의 대외 거래 중 트렌코드("STR0015") 3번째 값이 '0' or '1'일 경우 응답

* 테이블 '온라인 거래 변환 룰'
- STR0001, STR0016_1과 STR0016_2의 3개 필드와 다른 필드와 관련된 조건이 있는 경우
 
1. 메세지 유형 : FK
2. 온라인 거래 코드 : FK
3. 요청 응답 여부 : A2A001, A2A004, A2E001 인 경우 'Y'
4. 비교 순번 : 거래 코드별 Seq.
5. 비교식 : 일반 조건(대내3, 대외1)을 제외한 조건 식
/R_B2K2_I01: STR0014 STRING<> "Z501" ==>  FF_폼이름.STR0014 != "Z501"
7. 바디 변환 룰 ID




A2E001.R_B2K2_I01

1 2 3 4 5 6 7 8 9