2017-04-20 27 views
0

我正在爲IBM MQ構建一份副本請求,並且在請求中我必須發送具有值的元素的數組列表。我得到異常什麼是data列表達式來將一個arraylist映射到副本?

too few values for 'IO-ARRAY' of segment COMMAREA at position 0 (com.mulesoft.flatfile.lexical.WriteException)

我使用mule 3.8並將數據轉換器的輸出配置爲'Copybook'。 PFB我的配置,

Data Transformhttps://i.stack.imgur.com/2kO8c.png

這裏是我使用的字帖文件,

 01 COMMAREA. 
 
      05 MQ-CNTL. 
 
       10 MQ-MSGID   PIC X(08).             
 
\t  05 INPUT-OUTPUT.          
 
\t   10 ID1    PIC X(04). 
 
\t \t  10 ID2    PIC X(08). 
 
\t \t  10 IO-ARRAY OCCURS 99 INDEXED BY IO-ARRAY. 
 
\t \t   15 ELEMENT1  PIC X(03). 
 
\t \t   15 ELEMENT2  PIC X(03). 
 
\t \t   15 ELEMENT3  PIC X(01). 
 
\t \t   15 ELEMENT4  PIC X(01). 
 
\t \t   15 ELEMENT5  PIC X(02).

能否請您幫忙解決呢?

+0

分辨率 - https://forums.mulesoft.com/questions/63317/what-is-the-dataweave-expression-to-map-an-arrayli.html – Chultu

回答

-2

我的理解是,這條線:

 10 IO-ARRAY OCCURS 99 INDEXED BY IO-ARRAY. 

表示有在IO-ARRAY領域的依賴。參考下面的代碼片段。

01 WS-TABLE. 
    05 WS-A OCCURS 3 TIMES INDEXED BY I. 
    10 WS-B PIC A(2). 
    10 WS-C OCCURS 2 TIMES INDEXED BY J. 
     15 WS-D PIC X(3). 
0

根據您的Dataweave配置,你就只寫一次在IO-ARRAY的數組,但根據您的字帖它期待99次(99時)。

我希望你有一點

相關問題