내보내기 기능은 모델의 테이블 제약 조건을 내보내지 않습니다.
이 문서에서는 Microsoft Dynamics AX 2009의 내보내기 기능이 모델의 Table 제약 조건을 내보내지 않는 문제에 대한 해결 방법을 제공합니다.
적용 대상: Microsoft Dynamics AX 2009
원본 KB 번호: 2464353
증상
Microsoft Dynamics AX 2009를 사용하면 사용자가 동일한 회사 또는 새 회사에서 제품 모델을 내보내고 새 제품 모델로 가져올 수 있습니다. 그러나 제품 모델을 내보낼 때 테이블 제약 조건은 포함되지 않습니다. 모델을 가져올 때 사용자는 Table 제약 조건을 수동으로 추가해야 합니다.
테이블 제약 조건이 내보내지지 않는 가능한 시나리오 아래에 있습니다.
제품 작성기/설정/테이블 제약 조건 메뉴 경로를 엽니다.
다음 값을 사용하여 새 레코드를 만듭니다.
테이블 제약 조건 ID: InventTable
테이블 제약 조건의 테이블 이름: InventTable아래 표에 다음 값을 사용하여 새 레코드를 만듭니다.
필드 이름: ItemGroupId
변수: ItemGroupId아래 표에 다음 값을 사용하여 새 레코드를 만듭니다.
필드 이름: ItemId
변수: ItemId레코드를 저장하고 양식을 닫습니다.
제품 작성기/Common Forms/제품 모델 세부 정보 메뉴 경로를 엽니다.
키보드에서 Ctrl+N을 선택하여 새 제품 모델을 만들고 마침 단추를 선택하여 마법사를 완료합니다.
제품 모델 단추를 선택하여 제품 모델을엽니다.
제품 모델에서 테이블 제약 조건 탭을 선택하고 제약 조건 테이블 ID: InventTable을 사용하여 새 레코드를 만들고 레코드를 저장합니다.
변수 그룹 선택 대화 상자의 그룹 드롭다운에서 기본 을 입력하고 확인을 선택합니다.
이제 초기 제품 모델 양식으로 돌아가도록 양식을 닫습니다.
함수 단추/제품 모델 내보내기를 선택하고 로컬 하드 드라이브의 경로 및 파일 이름을 지정합니다.
확인을 선택합니다.
함수 단추/제품 모델 가져오기를 선택하고 내보내는 동안 위에서 만든 파일을 선택합니다.
확인을 선택합니다.
다음 표 삭제 대화 상자에서 모두에 대한 아니요 단추를 선택한 다음 확인을 선택합니다.
Group Basic 및 variable ItemGroupId 및 ItemId 가 모두 이미 있다는 경고가 반환될 수 있습니다. 예상된 동작입니다.
새로 가져온 제품 모델을 선택하고 제품 모델 단추를 선택합니다.
테이블 제약 조건 탭에서 사용자는 테이블 제약 조건을 가져오지 않음을 알 수 있습니다.
원인
테이블 제약 조건은 제품 모델의 내보내기 논리에 포함되지 않습니다. 테이블 제약 조건은 내보낸 데이터에 포함되지 않습니다. 이는 모델링 변수가 동일한 변수 이름으로 존재할 때 발생할 수 있는 문제로 인해 발생합니다.
해결 방법
코드를 변경하면 모델을 내보내는 동안 Table 제약 조건을 포함할 수 있습니다.
클래스 메서드 PBAExport.newPBAExport
:
마지막 줄을 다음과 같이 만드는 코드를 추가합니다.
---------------------------------------------------------------------------------------------
export.addTmpExpImpTable(tablenum(PBARuleTableConstraintRef),false);
return Export;
---------------------------------------------------------------------------------------------
여기에는 내보내기에서 제품 모델에 연결된 테이블 제약 조건 줄이 포함되며 테이블 제약 조건을 가져올 수 있습니다.
추가 정보
이 해결 방법을 사용하려면 Product builder/Setup/Table 제약 조건에 Table 제약 조건이 있어야 합니다. 이는 테이블 모델을 다른 회사 또는 다른 데이터베이스에서 가져오는 경우에 중요합니다. 테이블 제약 조건() 및 테이블 제약 조건 필드(PBARuleTableConstraint
PBARuleTableConstraintColumn
)를 내보낼 수 없습니다. 이는 유사한 변수 이름을 가진 기존 변수를 가져오는 동안의 유효성 검사 제한 때문입니다. 필요한 경우 모듈 관리의 데이터 내보내기/가져오기 기능을 사용하여 이러한 두 테이블을 수동으로 내보내고 가져올 수 있습니다.