|   | 
	 
  
    | 
RSS Feed - WebSphere MQ Support
 | 
RSS Feed - Message Broker Support
 |   
 
  
	     | 
	 | 
   
 
  
	|  Multiple XML Segment and Mapping Node | 
	« View previous topic :: View next topic »  | 
   
  
  	
	  
		
		
		  | Author | 
		  Message
		 |  
		
		  | bhaski | 
		  
		    
			  
				 Posted: Tue May 15, 2007 11:34 am    Post subject: Multiple XML Segment and Mapping Node | 
				     | 
			   
			 
		   | 
		 
		
		    Voyager
 
 Joined: 13 Sep 2006 Posts: 78 Location: USA 
  | 
		  
		    
			  
				Hi friends
 
 
My input file   ( The source message set is created from the below XML's Schema )
 
<?xml version="1.0" encoding="utf-8"?>
 
<FDGL>
 
	<RECORDS>
 
		<FDACCTNO>1234567890</FDACCTNO>
 
		<REGCODE>02</REGCODE>
 
		<COSTCODE>0000</COSTCODE>
 
		<ANNSTLINE>001</ANNSTLINE>
 
		<PRODLINE>P01</PRODLINE>
 
		<STATECODE>01</STATECODE>
 
		<JOURNALDATE>05142007</JOURNALDATE>
 
		<POSTINGDATE>05142006</POSTINGDATE>
 
		<TRANSAMOUNT>456.00</TRANSAMOUNT>
 
		<TRANSSIGN>-</TRANSSIGN>
 
		<TRANSREF></TRANSREF>
 
		<TRANSDESC></TRANSDESC>
 
		<TRANSSRC>123456</TRANSSRC>
 
		<TRANSSUN></TRANSSUN>
 
		<TRANSREVERSED>Y</TRANSREVERSED>
 
		<TRANSSUS></TRANSSUS>
 
		<ALLOCCODE></ALLOCCODE>
 
	</RECORDS>
 
	<RECORDS>
 
		<FDACCTNO>1234567891</FDACCTNO>
 
		<REGCODE>02</REGCODE>
 
		<COSTCODE>0000</COSTCODE>
 
		<ANNSTLINE>002</ANNSTLINE>
 
		<PRODLINE>P02</PRODLINE>
 
		<STATECODE>02</STATECODE>
 
		<JOURNALDATE>05112007</JOURNALDATE>
 
		<POSTINGDATE>05112006</POSTINGDATE>
 
		<TRANSAMOUNT>457.00</TRANSAMOUNT>
 
		<TRANSSIGN>-</TRANSSIGN>
 
		<TRANSREF></TRANSREF>
 
		<TRANSDESC></TRANSDESC>
 
		<TRANSSRC>123456</TRANSSRC>
 
		<TRANSSUN></TRANSSUN>
 
		<TRANSREVERSED>N</TRANSREVERSED>
 
		<TRANSSUS></TRANSSUS>
 
		<ALLOCCODE></ALLOCCODE>
 
	</RECORDS>
 
	<RECORDS>
 
		<FDACCTNO>1234567892</FDACCTNO>
 
		<REGCODE>02</REGCODE>
 
		<COSTCODE>0000</COSTCODE>
 
		<ANNSTLINE>003</ANNSTLINE>
 
		<PRODLINE>P03</PRODLINE>
 
		<STATECODE>03</STATECODE>
 
		<JOURNALDATE>05122007</JOURNALDATE>
 
		<POSTINGDATE>05122006</POSTINGDATE>
 
		<TRANSAMOUNT>458.00</TRANSAMOUNT>
 
		<TRANSSIGN>-</TRANSSIGN>
 
		<TRANSREF></TRANSREF>
 
		<TRANSDESC></TRANSDESC>
 
		<TRANSSRC>123456</TRANSSRC>
 
		<TRANSSUN></TRANSSUN>
 
		<TRANSREVERSED>Y</TRANSREVERSED>
 
		<TRANSSUS></TRANSSUS>
 
		<ALLOCCODE></ALLOCCODE>
 
	</RECORDS>
 
</FDGL>
 
 
 
and the destination message set is from a copy book
 
 
       
   
	| Code: | 
   
  
	DENTIFICATION DIVISION.
 
       PROGRAM-ID. FDGL.
 
       ENVIRONMENT DIVISION.
 
       CONFIGURATION SECTION.
 
       SPECIAL-NAMES.
 
       DATA DIVISION.
 
       WORKING-STORAGE SECTION.
 
       01  FDGL-ACCOUNT-RECORD.
 
           05 FDGL-FDACCTNO                      PIC X(10).
 
           05 FDGL-REGCODE                       PIC X(2).
 
           05 FDGL-COSTCODE                      PIC X(4).
 
           05 FDGL-ANNSTLINE                     PIC X(3).
 
           05 FDGL-PRODLINE                      PIC X(3).
 
           05 FDGL-STATECODE                     PIC X(2).
 
           05 FDGL-JOURNALDATE                   PIC X(8).
 
           05 FDGL-POSTINGDATE                   PIC X(8).
 
           05 FDGL-TRANSAMOUNT                   PIC X(12).
 
           05 FDGL-TRANSSIGN                     PIC X(1).
 
           05 FDGL-TRANSREF                      PIC X(10).
 
           05 FDGL-TRANSDESC                     PIC X(30).
 
           05 FDGL-TRANSSRC                      PIC X(6).
 
           05 FDGL-TRANSSUN                      PIC X(30).
 
           05 FDGL-TRANSREVERSED                 PIC X(1).
 
           05 FDGL-TRANSSUS                      PIC X(15).
 
           05 FDGL-ALLOCCODE                     PIC X(6).
 
                    END PROGRAM FDGL.
 
  | 
   
 
 
In my Mapping node, I want to map this, Here I have three occrance for <RECORDS> but in real, I don't know how many Records? 
 
 
In my Source Message set, I set the max occur -1 ( for unbound ), but in my Mapping Node, I need to know how to use for , if and condition if it is 'n' number of occurance? 
 
 
by using the for in mapping node, How can I use Carnality? or any other way to use like "msgmap:occurrence"
 
 
   
	| Quote: | 
   
  
	Pls don't suggest me to use compute node       cos I want to use Mapping node here | 
   
 
 
 
Thanks and Regards
 
Bhaski. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | Bill.Matthews | 
		  
		    
			  
				 Posted: Tue May 15, 2007 6:34 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Master
 
 Joined: 23 Sep 2003 Posts: 232 Location: IBM (Retired) 
  | 
		  
		    
			  
				Your first problem is that your target COBOL copybook is for a single set of information. _________________ Bill Matthews | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | bhaski | 
		  
		    
			  
				 Posted: Tue May 15, 2007 7:18 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Voyager
 
 Joined: 13 Sep 2006 Posts: 78 Location: USA 
  | 
		  
		    
			  
				Hi thanks
 
 
if so, what should I do    
 
 
Pls let me know?
 
 
Bhaski. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | Bill.Matthews | 
		  
		    
			  
				 Posted: Fri Jul 20, 2007 4:41 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Master
 
 Joined: 23 Sep 2003 Posts: 232 Location: IBM (Retired) 
  | 
		  
		    
			  
				01  FDGL-ACCOUNT-RECORD.
 
         02 RECORD-COUNT         PIC 9(4).
 
         02 REPEAT-RECORDS OCCURS DEPENDING ON RECORD.
 
           05 FDGL-FDACCTNO                      PIC X(10).
 
           05 FDGL-REGCODE                       PIC X(2).
 
           05 FDGL-COSTCODE                      PIC X(4).
 
           05 FDGL-ANNSTLINE                     PIC X(3).
 
           05 FDGL-PRODLINE                      PIC X(3).
 
           05 FDGL-STATECODE                     PIC X(2).
 
           05 FDGL-JOURNALDATE                   PIC X( .
 
           05 FDGL-POSTINGDATE                   PIC X( .
 
           05 FDGL-TRANSAMOUNT                   PIC X(12).
 
           05 FDGL-TRANSSIGN                     PIC X(1).
 
           05 FDGL-TRANSREF                      PIC X(10).
 
           05 FDGL-TRANSDESC                     PIC X(30).
 
           05 FDGL-TRANSSRC                      PIC X(6).
 
           05 FDGL-TRANSSUN                      PIC X(30).
 
           05 FDGL-TRANSREVERSED                 PIC X(1).
 
           05 FDGL-TRANSSUS                      PIC X(15).
 
           05 FDGL-ALLOCCODE                     PIC X(6). 
 
 
 
This is how a cobol copybook would represent a repeating structure - and the number of repeats - in this example - is variable and must be saved in the RECORD-COUNT field.  
 
 
The rest is up to you. _________________ Bill Matthews | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | bhaski | 
		  
		    
			  
				 Posted: Mon Jul 23, 2007 11:46 am    Post subject: Multiple XML Segment and Mapping Node... ( resolved ) | 
				     | 
			   
			 
		   | 
		 
		
		    Voyager
 
 Joined: 13 Sep 2006 Posts: 78 Location: USA 
  | 
		  
		    
			  
				Hi Bill.Matthews
 
 
 
Thank u for your comments and it is working. 
 
 
Thanks once again
 
 
Bhaski. | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | 
		    
		   | 
		 
	   
	 | 
   
 
  
	     | 
	 | 
	Page 1 of 1 | 
   
 
 
 
  
  	
	  
		
		  
 
  | 
		  You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
  | 
  		 
	   
	 | 
   
 
  	 | 
	  |