다음을 통해 공유


SharePoint에서 Oracle-Business Suite 어댑터를 사용하는 고려 사항

이 항목에는 Microsoft Office SharePoint Server와 함께 Microsoft BizTalk Adapter for Oracle E-Business Suite를 사용하는 동안 발생할 수 있는 문제에 대한 정보와 해결 방법이 포함되어 있습니다. 이 문제는 다음과 같은 두 가지 범주로 나뉩니다.

  • 일반적인 문제

  • 사용자 지정 웹 파트와 관련된 문제

일반적인 문제

이 섹션에는 해결 방법이 없는 문제가 포함되어 있습니다.

문제 1: WCF 서비스에서 반환된 단순 형식 데이터가 표시되지 않음

설명: Microsoft Office SharePoint Server는 WCF 서비스에서 반환된 데이터가 DataSet 또는 컬렉션 형식일 것으로 예상합니다. WCF 서비스에서 반환된 데이터가 단순 형식인 경우 Microsoft Office SharePoint Server에서 데이터를 표시하지 않습니다.

해결 방법: 해결 방법이 없습니다. Microsoft Office SharePoint Server의 알려진 제한 사항입니다.

문제 2: WCF 서비스에서 반환된 데이터가 NULL인 경우 오류 메시지가 표시됩니다.

설명: WCF 서비스에서 반환된 데이터가 NULL 값인 경우 Microsoft Office SharePoint Server에 오류 메시지가 표시됩니다. 예를 들어 Finder 메서드 instance 비즈니스 데이터 목록 웹 파트를 사용하고 있으며 검색 식을 기반으로 Oracle E-Business Suite에서 고객을 검색한다고 가정해 보겠습니다. 지정한 검색 식은 NULL 값을 가져옵니다. 이 경우 Microsoft Office SharePoint Server에 오류 메시지가 표시됩니다.

해결 방법: 해결 방법이 없습니다. Microsoft Office SharePoint Server의 알려진 제한 사항입니다.

문제 3: WCF 서비스에서 반환된 단순 형식의 배열이 표시되지 않습니다.

설명: WCF 서비스에서 반환된 데이터가 단순 형식의 배열인 경우 Microsoft Office SharePoint Server에서 데이터를 표시하지 않습니다. 또한 간단한 형식의 배열을 반환하는 비즈니스 Data Catalog 정의 편집기에서 메서드 instance 실행할 때 다음 오류 메시지가 표시됩니다. "백 엔드 시스템 어댑터는 해당 메타데이터(MethodInstance, Parameter 또는 TypeDescriptor)와 호환되지 않는 구조를 반환했습니다."

해결 방법: 해결 방법이 없습니다. Microsoft Office SharePoint Server 및 Business Data Catalog 정의 편집기에서 알려진 제한 사항입니다.

문제 4: 필드가 300개 이상인 복합 형식 매개 변수가 포함된 애플리케이션 정의 파일을 가져올 수 없습니다.

설명: Microsoft Office SharePoint Server는 WCF 서비스에서 반환하는 복합 형식 매개 변수에 300개 이상의 필드가 있는 애플리케이션 정의 파일을 가져올 수 없으며, 이를 시도하면 오류 메시지가 표시됩니다. 이는 복잡한 형식 매개 변수의 300개 이상의 필드를 표시할 수 없는 Microsoft Office SharePoint Server의 제한 때문입니다.

해결 방법: 비즈니스 Data Catalog 정의 편집기를 사용하여 복합 형식 매개 변수의 필드 수를 300 미만 또는 같음으로 제한합니다. 요구 사항에 따라 Microsoft Office SharePoint Server에 표시할 필요가 없는 비즈니스 Data Catalog 정의 편집기에서 복합 형식 매개 변수의 필드를 삭제할 수 있습니다. 또는 모든 필드를 사용하여 비즈니스 Data Catalog 정의 편집기에서 애플리케이션 정의 파일을 내보낸 다음 메모장 또는 XML 작성 애플리케이션에서 애플리케이션 정의 파일을 수정하여 필드 수를 300으로 제한하기 위해 필요하지 않은 필드를 삭제할 수도 있습니다.

사용자 지정 웹 파트와 관련된 문제

이 섹션에는 해결을 위해 사용자 지정 웹 파트를 사용해야 하는 문제가 포함되어 있습니다. 사용자 지정 웹 파트를 사용하여 Oracle E-Business 어댑터 및 Microsoft Office SharePoint Server를 사용하는 동안 발생할 수 있는 문제를 resolve 방법에 대한 자세한 내용은 Oracle E-Business Suite에서 사용자 지정 웹 파트를 사용하는 방법을 참조하세요.

문제 1: 여러 값을 기준으로 Microsoft Office SharePoint Server에 단일 레코드를 표시하는 제한 사항

설명: Oracle E-Business Suite의 여러 값(입력 매개 변수)을 기반으로 Microsoft Office SharePoint Server에 단일 레코드를 표시하려는 경우 3단계: 자습서에서 Oracle E-Business Suite에서 데이터를 검색하는 SharePoint 애플리케이션 만들기에 지정된 세 가지 웹 파트(비즈니스 데이터 목록, 비즈니스 데이터 항목 및 비즈니스 데이터 관련 목록) 중 하나를 사용할 수 없습니다. SharePoint 사이트에 Oracle E-Business Suite의 데이터를 표시합니다.

해결 방법: 사용자 지정 웹 파트를 사용하여 이 작업을 수행해야 합니다. 사용자 지정 웹 파트 사용에 대한 자세한 내용은 Oracle E-Business Suite에서 사용자 지정 웹 파트를 사용하는 방법을 참조하세요. 해당 항목의 "1단계: 사용자 지정 웹 파트 만들기"에서 5단계에서 다음 코드 샘플을 사용할 수 있습니다. 다음 코드 샘플에서는 BankCountry 및 BankKey를 입력 매개 변수로 사용하여 Microsoft Office SharePoint Server에서 단일 레코드로 표시합니다.

namespace CustomWebPart  
{  
    public class CustomWebPart : WebPart  
    {  
        private string displayText = "Hello World!";  
  
        [WebBrowsable(true), Personalizable(true)]  
        public string DisplayText  
        {  
            get { return displayText; }  
            set { displayText = value; }  
        }  
        protected override void Render(System.Web.UI.HtmlTextWriter writer)  
        {  
            string BankCountry = "US";  
            string BankKey = "134329042";  
  
/***Step 1: Get the required entity and method.***/  
  
            LobSystem newSystem = ApplicationRegistry.GetLobSystems()["BAPI_BANK_GETDETAIL"]; // Name specified in application definition file  
            LobSystemInstance newSystemInstance = newSystem.GetLobSystemInstances()["BAPI_BANK_GETDETAIL_Instance"]; // Name specified in application definition file  
            Entity CategoryEntity = newSystem.GetEntities()["Entity"]; // Name specified in application definition file  
            Method newMethod = CategoryEntity.GetMethods()["BAPI_BANK_GETDETAIL"]; // Name specified in application definition file  
            MethodInstance methodInstance = newMethod.GetMethodInstances()["MethodInstance"]; // Name specified in application definition file  
  
/***Step 2: Get the list of input parameters.***/  
  
            Object[] args = methodInstance.GetMethod().CreateDefaultParameterInstances(methodInstance); //Get the default values of the input parameters.  
            Object[] ArgsInput = new Object[args.Length];  
  
/***Step 3: Assign them required values.***/  
  
            Type t = null;  
            char[] myString = BankCountry.ToCharArray();  
            String s = new String(myString);  
            t = s.GetType();  
            ArgsInput[0] = Activator.CreateInstance(t, myString);  
  
            myString = BankKey.ToCharArray();  
            s = new String(myString);  
            t = s.GetType();  
            ArgsInput[1] = Activator.CreateInstance(t, myString);  
  
/***Step 4: Execute the particular method instance using the required value.***/  
  
            IEntityInstance IE = (IEntityInstance)CategoryEntity.Execute(methodInstance, newSystemInstance, ref ArgsInput); //Method instance of type Specific Finder is being used here.  
  
/***Step 5: Display the output on the custom Web Part in Microsoft Office SharePoint Server.***/  
  
            writer.Write("<table>");  
            writer.Write("<tr>");  
            foreach (Field f in CategoryEntity.GetFinderView().Fields)  
            {  
                writer.Write("<td>");  
                writer.Write(IE[f]);  
                writer.Write("</td>");  
            }  
            writer.Write("</tr>");  
            writer.Write("</table>");  
        }  
    }  
  

참고

애플리케이션 정의 파일에는 특정 Finder 메서드 instance 포함되어야 합니다. 특정 Finder 메서드는 식별자를 기반으로 특정 레코드를 찾습니다. 특정 Finder 메서드 instance 만드는 방법에 대한 자세한 내용은 2단계: 자습서: SharePoint 사이트의 Oracle E-Business Suite에서 데이터를 표시에서 Oracle E-Business Suite 아티팩트용 애플리케이션 정의 파일 만들기의 "요구 사항 2: 고객 목록에서 특정 고객에 대한 세부 정보 검색"을 참조하세요.

문제 2: 배열 요소에 값을 지정할 수 없음

설명: WCF 서비스의 입력 매개 변수가 배열인 경우 비즈니스 Data Catalog 정의 편집기를 사용하여 만든 애플리케이션 정의 파일에 정의된 필터를 사용하여 배열 요소에 값을 지정할 수 없습니다. 이는 Microsoft Office SharePoint Server의 비즈니스 데이터 목록 또는 비즈니스 데이터 항목 웹 파트를 사용하여 WCF 서비스에 대한 이러한 입력 매개 변수(배열 요소)에 대한 값을 지정할 수 없음을 의미합니다. 이는 애플리케이션 정의 파일에서 배열이 정의되는 방식 때문입니다.

해결 방법: 사용자 지정 웹 파트를 사용하여 배열 요소에 값을 할당합니다. 사용자 지정 웹 파트 사용에 대한 자세한 내용은 Oracle E-Business Suite에서 사용자 지정 웹 파트를 사용하는 방법을 참조하세요. 예를 들어 "문제 1: 여러 값을 기준으로 Microsoft Office SharePoint Server에 단일 레코드를 표시하는 제한 사항"의 3단계에서 다음 코드 샘플을 사용하여 배열 요소에 값을 할당할 수 있습니다.

/***Assign required values to parameters of type array.***/   
/***Assumption is that the ith parameter of Method is of type Array and all the simple type elements in the array are of string type.***/  
  
            Type t = asm.GetType(args[i].GetType().ToString()); // Get type of the parameter  
            Type TElement = t.GetElementType(); // Getting type of element of array  
            int index = 5; //Size of Array  
            Array ElementArray = Array.CreateInstance(TElement, index); //Creating an array of length: index  
  
            for (int ind = 0; ind < index; ind++)  
            {  
                //Creating an instance of an element of array  
                object ElementType = Activator.CreateInstance(TElement);  
                FieldInfo[] FI = ElementType.GetType().GetFields();  
                for (int f = 0; f \< FI.Length; f++)  
                {  
                    ElementType.GetType().GetFields()[f].SetValue(ElementType, (Object)"ElementValue");  
                }  
                ElementArray.SetValue(ElementType, ind);  
            }  
  
            ArgsInput[i] = (object)ElementArray; // As shown in sample, ArgsInput is fed as input while executing Method Instance  
  

문제 3: 복합 형식 매개 변수에 NULL 값을 지정하는 제한 사항

설명: Microsoft Office SharePoint Server의 웹 파트에서 복잡한 형식 매개 변수에 대한 값을 지정하지 않으면 NULL을 WCF 서비스에 복합 형식 매개 변수의 값으로 전달해야 합니다. 그러나 복합 형식 매개 변수에 대해 NULL이 아닌 값이 전달되고 해당 자식 요소(단순 형식)에 대해 NULL이 전달됩니다. 이로 인해 예상되는 메시지 스키마와 WCF 서비스에 전달되는 메시지 스키마가 일치하지 않습니다. 따라서 Oracle E-Business 어댑터에 오류 메시지가 표시될 수 있습니다.

참고

Microsoft Office SharePoint Server의 웹 파트에서 값이 전달되지 않을 때 복합 형식 매개 변수의 기본값을 확인하려면 "문제 1: 여러 값을 기반으로 Microsoft Office SharePoint Server에 단일 레코드를 표시하는 제한 사항"에 언급된 코드 샘플의 2단계를 사용합니다.

해결 방법: 사용자 지정 웹 파트를 사용하여 복합 형식 매개 변수에 NULL 값을 할당합니다. 사용자 지정 웹 파트 사용에 대한 자세한 내용은 Oracle E-Business Suite에서 사용자 지정 웹 파트를 사용하는 방법을 참조하세요.

참고 항목

SharePoint에서 Oracle E-Business Suite 어댑터 사용