삭제된 Company의 잔여 레코드 삭제하기
Microsoft Dynamics AX/AX 2009
2011. 10. 24. 13:04
Microsoft Dynamics AX의 Company 삭제시 오류가 발생하거나 혹은 사용자가 삭제 진행중에 강제 종료했을 경우 삭제 되지 않고 남은 레코드가 발견되면 SQL Server Management Studio에서 아래 Stored Procedure를 실행시켜 쓰레기 레코드들을 삭제할 수 있습니다.
AX 2009에서 테스트 되었으며 이하 버전에서 작동이 가능합니다.
해외 Dynamics AX 블로그에서 가져온 자료인데 정확한 정보를 기록해 두지 않은 바람에 밝히지 못하는 것을 양해부탁드립니다. 나중에 찾게 되면 출처를 명확히 밝히도록 하겠습니다.
AX 2009에서 테스트 되었으며 이하 버전에서 작동이 가능합니다.
DECLARE @_tableName nvarchar(40)
DECLARE @_companyId nvarchar(4)
DECLARE @_companyId nvarchar(4)
SET @_companyId = N'<company_id>'; -- 삭제할 Company ID로 대체
DECLARE curSqlDictionary CURSOR FOR
SELECT A.SQLNAME
FROM SQLDICTIONARY A
INNER JOIN SQLDICTIONARY X ON X.TABLEID = A.TABLEID AND X.FIELDID = 61448
WHERE A.FIELDID = 0
AND A.FLAGS = 0
OPEN curSqlDictionary
FETCH NEXT FROM curSqlDictionary INTO @_tableName
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @_sql nvarchar(4000)
SET @_sql = N'DELETE FROM ' + QUOTENAME(@_tableName) + N' WHERE DATAAREAID = @_dataAreaId'
EXEC sp_executesql @_sql, N'@_dataAreaId nvarchar(4)', @_dataAreaId = @_companyId
FETCH NEXT FROM curSqlDictionary INTO @_tableName
END
CLOSE curSqlDictionary
DEALLOCATE curSqlDictionary
해외 Dynamics AX 블로그에서 가져온 자료인데 정확한 정보를 기록해 두지 않은 바람에 밝히지 못하는 것을 양해부탁드립니다. 나중에 찾게 되면 출처를 명확히 밝히도록 하겠습니다.
'Microsoft Dynamics AX > AX 2009' 카테고리의 다른 글
Alert 메세지 보내기 (0) | 2011.06.09 |
---|---|
Sharepoint 2010 에 Role Center 설치 후 스크립트 오류 발생 (0) | 2011.03.31 |
Dynamics AX 2009 SP1 Role Center / Enterprise Portal on Sharepoint 2010 (0) | 2011.03.31 |
Email sending without Outlook (0) | 2010.11.23 |
Windows 2008 / Windows 2008 R2 에서 AX 2009 운영시 방화벽 설정 (0) | 2010.06.28 |