2016-04-25 10 views
0

CSVファイルからAX(GEACAccounts)のカスタムテーブルに一部の値をインポートしようとしています。Microsoft Dynamics AX 2012 X ++レコードを挿入できません。レコードが既に存在するエラー

テーブルに既に存在するGEACaccount(コンテナアイテム#3)番号を含むCSVファイルを読み込もうとすると、以下のコードはのように動作します(を除く)。この場合、AXは "レコードをテーブルに挿入中にエラーが発生しました。レコードは既に存在します。

テーブルに重複値を許可しないテーブルがいくつか設定されているため、このエラーが発生しています。 GEACAccountフィールドも別のテーブルに関連していますが、これが私のエラーなどを引き起こす可能性がありますか?

また、この設定がどのようなものかわかりません。この機能は正しいです。このテーブルに許可されているGEACAccountのユニークな値は1つだけです。これはどこから制御できるのか不思議です。

次は、どこに見えるかについてアドバイスをいただければ幸いです。

以下のコード。

static void Job11(Args _args) 
{ 
TextIo ioReader; 
FileIOPermission fioPermission; 
str sTempPath; 
GEACAccounts Accounts; 


container readCon; 


try 
{ 
    info("Begin reading file " +'C:\\\\testload.txt'); 

    fioPermission = new FileIOPermission('C:\\\\testload.txt',"RW"); 
    fioPermission.assert(); 

    ioReader = new TextIo('C:\\\\testload.txt',"R"); 
    ioReader.inFieldDelimiter(num2char(44)); 
    ioReader.inRecordDelimiter('\n'); 


    readCon = ioReader.read(); 

    if(ioReader) 
    { 
     //readCon = ioReader.read(); 
     // i++; 

     while(ioReader.status() == IO_Status::Ok) 
     { 
      i++; 


      info(conPeek(readCon,1)); 
      info(conPeek(readCon,2)); 
      info(conPeek(readCon,3)); 
      info(conPeek(readCon,4)); 


      ttsBegin; 
      accounts.clear(); 
      accounts.initValue(); 
      accounts.GEACAccountGroup = 5637144826; 
      accounts.AddlSecType = conPeek(readCon,1); 
      accounts.CashflowMovement = conPeek(readCon,2); 
      accounts.GEACAccountNumber = conPeek(readCon,3); 
      accounts.GEACFlipSign = 0; 
      accounts.SecurityGroup = conPeek(readCon,4); 
      accounts.insert(); 
      ttsCommit; 


     readCon = ioReader.read(); 

     } 
    } 
} 
    catch(Exception::Error) 
    { 
     info("caught exception"); 
    } 

} 

おかげで、

フィル

答えて

5

AOTへ移動し、GEACAccountsテーブルを見つけ、任意のIndexIndexes、右クリックを見つけて、プロパティウィンドウを開くには、「プロパティ」をクリックしてノードを展開。

Indexをそれぞれ上下にクリックし、プロパティを参照してAllowDuplicates = Noが表示され、重複が許可されていない場合は展開して、どのフィールドが一意のキーを構成するかを確認してください。

+0

それはそうでしょう。 助けてくれてありがとう! –

関連する問題