2017-04-20 4 views
0

Ich erstelle eine Copybook-Anfrage für IBM MQ und in der Anfrage muss ich eine Arraylist von Elementen mit Werten senden. Ich bekomme die AusnahmeWas ist der Dataweave-Ausdruck, um eine Arraylist einem Copybook zuzuordnen?

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

Ich benutze mule 3.8 und konfiguriere den Ausgang von Data Transformer als 'Copybook'. PFB meine Konfigurationen,

Data Transform: https://i.stack.imgur.com/2kO8c.png

Hier ist die Schreibheft Datei ich verwende,

 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).

Können Sie mir bitte dabei helfen lösen?

+0

Auflösung - https://forums.mulesoft.com/questions/63317/what-is-the-dataweave-expression-to-map-an-arrayli.html – Chultu

Antwort

-2

Mein Verständnis ist, dass diese Zeile:

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

zeigt an, dass eine Abhängigkeit von dem IO-ARRAY Feld ist. Als Referenz sehen Sie sich das folgende Code-Snippet an.

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

Wie pro Ihrer Dataweave Konfiguration, schreiben Sie einfach nur einmal in einer Reihe von IO-ARRAY aber auf der Grundlage Ihres Schreibheft ist es 99 mal erwartet (tritt 99).

Ich hoffe, dass Sie den Punkt bekam

Verwandte Themen