일반 원장 프로세스가 EAM에서 ERP 애플리케이션으로 트랜잭션 정보를 전송하는 SQL select 문을 동적으로 구성할 수 있도록 매개변수를 정의합니다. 동적 SQL을 사용하면 조직의 필요에 따라 EAM 트랜잭션의 선택 및 처리를 구성할 수 있습니다.
이 섹션의 예에서는 Oracle 데이터베이스 및 PL/SQL과 관련된 표기법을 사용합니다. 사용하고 계신 EAM 데이터베이스가 Microsoft SQL Server라면 MS SQL Server와 동등한 것을 사용하시기 바랍니다.
-
관리 선택 > 데이터브리지 > GL 프로세스 정의 .
-
새 레코드를 클릭하십시오.
-
다음 정보를 명시하십시오.
GL 프로세스 정의 - GL 프로세스 정의를 식별하는 고유 코드를 지정한 다음 인접한 필드에 설명(예: DS ISSUES)을 입력합니다.
새로 만들고 있는 프로세스가 입력된 고유한 코드를 확인해야 합니다. 흔히, 고유 코드는 프로세스와 그룹의 조합을 나타냅니다. 예를 들어 GVL 저장고를 위해 장고로부터 지급 프로세스를 만들고 있다면 ISSUE_GVL을 입력하십시오.
행 ID - 일반 원장 프로세스에 대한 원본 데이터베이스 테이블의 행에 대한 고유한 레코드 식별자를 지정합니다(예: r5translines.ROWID).
데이터베이스 테이블의 소스 행을 식별하기 위한 토큰 행 식별자 ROWID를 사용해야 합니다.
예약 그룹 - TRL_TYPE과 같이 총계정 원장 프로세스에 대한 그룹화 값을 식별하는 테이블 열 이름을 지정합니다.
스케줄링 그룹은 프로세스를 정의하기 위한 Where문을 구축할 때 사용되는 관련 공통 값을 공유하는 경우가 많습니다. 스케줄링 그룹은 또한 GL 참조 서식에서 그룹 내 재정 신청의 변경을 설정하는데도 사용됩니다.
저널 항목 범주 - 피드 참조 그룹에 대한 ERP 저널 항목 범주를 식별하는 고유한 값(예: trl_JECATEGORY)을 지정합니다. 조직의 재무관리자에게 정확한 값을 확인하십시오.
저널 항목 소스 - 피드 참조 그룹에 대한 ERP 저널 항목 소스를 식별하는 고유한 값을 지정합니다(예: trl_JESOURCE). 조직의 재무관리자에게 정확한 값을 확인하십시오.
요약 - 일반 원장 프로세스에 대한 요약을 포함하려면 선택합니다.
장부 ID - 피드 참조 그룹(예: tra_org)에 대한 ERP 총계정원장 장부를 식별하는 코드를 지정합니다. 올바른 코드는 조직의 재무 관리자에게 문의하십시오. 다수의 장부를 사용하는 경우에는 프로세스 정의와 정확한 트랜잭션 세트를 분류하는 참조 그룹 사이에 관계가 있어야 합니다.
날짜 - 일반 원장 분개 항목에 사용할 날짜를 지정합니다. 원래 트랜잭션의 날짜 (예: TRL_DATE), 트랜잭션 전송 날짜 (예: SYSDATE), 아니면 트랜잭션에 대한 금융 기간의 끝을 나타내는 날짜를 입력할 수 있습니다.
금액 - 거래의 금전적 가치에 대한 계산을 지정합니다(예: 원가 계산에 간접비 요소가 사용되는 경우 TRL_PRICE* TRL_QTY 또는 TRL_PRICE*TRL_QTY*1.15).
필요에 따라 양의 값과 음의 값을 사용하십시오.
세그먼트 - 분개에 대한 계정 코드 세그먼트를 지정합니다. ERP 회계 정의에 다수의 세그먼트가 활성화 되어 있다면 이 필드에 그 세그먼트들을 모두 입력해야 합니다. 예: ACD_SEGMENT1, ACD_SEGMENT2, ACD_SEGMENT3, ACD_SEGMENT4,ACD_SEGMENT5, ACD_SEGMENT6,ACD_SEGMENT7.
하나 이상의 세그먼트를 입력하는 경우 "and" 같은 접속어를 포함하지 마십시오.
From 문 - 모든 프로세스 정의 제약 조건을 충족하는 데 필요한 EAM 소스 테이블을 지정합니다. 최소한 R5ACCOUNTDETAIL 테이블과 한 개의 트랜잭션 테이블을 입력해야 합니다. 예: r5translines, r5accountdetail, r5transactions.
From 문의 텍스트에 From이라는 단어를 포함하지 마십시오.
Where 문 - "where" 조건 절을 지정합니다. "where" 조건 절은 프로세스 정의에 좌우됩니다. 열거된 모든 테이블의 join문, 그리고 레코드가 한 번 이상 제출되는 것을 방지하기 위해 사용되는 XXX_GLTRANSFER와 XXX_GLTRANSFERFLAG에 대한 제약조건을 입력해야 합니다. 예:
trl_acd = acd_code AND NVL(trl_gltransferflag, '-' ) = '-' AND tra_code = trl_trans AND tra_rstatus = 'A' and tra_type = 'I' and trl_type = 'I' and trl_event is not null and trl_QTY>0
XXX_GLTRANSFER 열과 XXX_GRTRANSFERFLAG 열은 소스 업데이트문을 사용해서 업데이트 합니다. 그러므로 소스 업데이트 문의 사용을 Where문 조건 절 이내로 제한해야 합니다. 예를 들어, R5TRANSLINES와 R5ACCOUNTDETAIL이 요구되는 지급 프로세스에 대한 기본 Where 문의 경우, trl_acd = acd_code and nvl(trl_gltransferflag,'+') != '+' and trl_rtype = 'I' 를 입력할 수 있습니다.
Where문의 텍스트에 종결자로서 세미콜론을 사용하거나 WHERE라는 단어를 포함하지 마십시오.
소스 업데이트 문 - 트랜잭션 소스 테이블의 행을 업데이트할 SQL 문을 지정합니다.
이 구문은 트랜잭션 레코드를 처리됨으로 표시하므로 다시 처리되지 않습니다. 구문에 토큰 :ROWID 또는 :rowid를 포함해야 합니다.
트랜잭션 레코드를 처리되었음으로 표시하여 다시 처리되지 않도록 한, 다음의 소스 업데이트 문의 예를 참고하십시오.
UPDATE r5translines SET trl_gltransferflag = '+', trl_gltransfer = sysdate WHERE rowid =:rowid
대상 업데이트 문 - 분개 가져오기에 필요한 참조 정보를 포함하도록 R5GLINTERFACE 테이블을 업데이트하는 SQL 문을 지정합니다. 대상 업데이트 문은 R5GLINTERFACE에서 참조 필드를 설치에 요구되는 커스텀 정보로 채웁니다. 예를 들어, 재고 지급 트랜잭션에 대해 참조 필드에 재고품 코드, 설명 그리고 작업지시 번호를 포함하십시오.
그러면 이 참조 정보가 분개장 항목에 포함됩니다. 두 개의 토큰을 사용하는 다음의 대상 업데이트 문의 예를 참고하십시오. 하나는 R5GLINTERFACE에서 적절한 행을 참조하는 :transid입니다. 두 번째 것은 트랜잭션 소스 행 식별자를 참조하는 :rowid입니다. 트랜잭션 소스 행 식별자는 추가 트랜잭션 참조 정보를 찾아오는데 사용됩니다.
선언하다
커서 C1은
SELECT substr(v.PRV_VALUE,1,3) company, substr(v.PRV_VALUE,5,4) GLS, substr(v.PRV_VALUE,10,5) DEP,
substr(v.PRV_VALUE,16,6) EXP, substr(v.PRV_VALUE,23,4) PL , substr(v.PRV_VALUE,28,3) IC,
substr(v.PRV_VALUE,32,6) FU
from
R5TRANSLINES L, R5PROPERTYVALUES V
where l.rowid = :rowid
and v.prv_property (+) = 'INVOFF' and v.PRV_RENTITY (+) = 'STOR'
and v.PRV_CODE (+) = l.trl_store;
BEGINFOR r IN C1 LOOP
UPDATE r5glinterface
SET gli_segment1 = r.company, gli_segment2 = r.GLS,
gli_segment3 = r.DEP, gli_segment4 = r.EXP
WHERE gli_transid = :transid
and gli_segment2 = '****' ; END LOOP;
end; -
레코드 저장을 클릭하십시오.