MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Issues in VB to FB

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming
View previous topic :: View next topic  
Author Message
nbdtrjk1
Beginner


Joined: 12 Apr 2007
Posts: 76
Topics: 41

PostPosted: Wed Apr 25, 2007 1:48 am    Post subject: Issues in VB to FB Reply with quote

Hi
I written one ezytrieve to read a input file(VB format 32756 bytes) and i am doing some validation, based on some condition i am written into Output file(FB Format 123 bytes).

when i check my output file. i am got lot of junk values(Overlay values). I need know why it's happening.

Even though i used FILE RFMTIPUT VB (32756 0) in the ezytrieve but same issues.


Note: If use as Input file with FB format, i am geeting correct values in output files.
Back to top
View user's profile Send private message
vkphani
Intermediate


Joined: 05 Sep 2003
Posts: 483
Topics: 48

PostPosted: Wed Apr 25, 2007 9:58 am    Post subject: Reply with quote

Pls post your input and output file declarations.
Back to top
View user's profile Send private message Send e-mail
nbdtrjk1
Beginner


Joined: 12 Apr 2007
Posts: 76
Topics: 41

PostPosted: Wed Apr 25, 2007 11:23 pm    Post subject: Reply with quote

Code:

//NBD8BYMK JOB (M952000ZZP,F60,000,CC),'SECONDARY OWNER SBA',CLASS=0,   
//         MSGCLASS=H,NOTIFY=&SYSUID                                   
//*                                                                     
//******************************************************************** 
//*AIF REFORMATTER                                                     
//******************************************************************** 
//*                                                                     
//UCC11   EXEC UCC11                                                   
//JS050    EXEC PGM=EZTPA00,REGION=32M                                 
//RFMTIPUT DD DSN=BOSP.UNTMW1.ARA07,DISP=SHR                           
//RFMTOPUT DD DSN=BOST.NBD8BYM.UNTEC1.MADHESH,                         
//            DISP=(,CATLG,CATLG),                                     
//            SPACE=(CYL,(500,500),RLSE),                               
//            DCB=(RECFM=FB,LRECL=125)                                 
//SYSPRINT DD  SYSOUT=*                                                 
//SYSOUT   DD  SYSOUT=*                                                 
//SYSIN    DD  *                                                       
FILE RFMTIPUT VB (32756 0)                                             
   I-AIF-AIFROOT           1     7    A                                 
   I-AIF-COID-N            14    2    B                                 
   I-AIF-ACT-ID            19    23   A                                 
   I-AIF-HASH              10   13    A                                 
   I-AIF-TITTLE            17    80   A                                 
*                                                                       
FILE RFMTOPUT                                                           
   O-AIF-ACT-ID            1     23   A                                 
   O-AIF-COID-N            25    4    N                                 
   O-AIF-TITTLE            30    80   A                                 
   O-AIF-HASH             112    13   A                                 
*******************************************                             
W-TITLE-TEMP                W    80   A                                 
W-AIF-COID-N                W     4   N                                 
W-AIF-ACT-ID                W     23  A                                 
W-SEG5-COUNT                W     8   N VALUE 0                         
W-SEG3-COUNT                W     8   N VALUE 0                         
W-AIF-ROOT-FLAG             W     1  A                                 
W-AIF-SEG5-FLAG             W     1  A                                 
W-AIF-SEG3-FLAG             W     1  A                                 
W-AIF-SEG5-VAL              W     7  A                                 
W-AIF-CUST-COID             W     4    N                               
W-AIF-CUST-ID               W     9    A                               
W-AIF-TIE-ID                W     4    N                               
WS-FLAG                     W     1  A                                 
WS-FLAG-1                   W     1  A                                 
WS-SEG3                     W       260   A                             
WS-SEG3-HASH                WS-SEG3 13    A OCCURS 20  INDEX WS-INDEX1 
WS-SEG5                     W       800   A                             
WS-SEG5-TIT                 WS-SEG5 40    A OCCURS 20  INDEX WS-INDEX2 
WS-SEG5-DATA                W       40    A                             
WS-SEG5-DATA1               WS-SEG5-DATA  1  A OCCURS 40 INDEX WS-INDEX3
WS-SEG5-TIT1                W       800   A                             
WS-SEG5-TIT2                WS-SEG5-TIT1  40 A OCCURS 20 INDEX WS-INDEX4
*                                                                       
JOB INPUT NULL                                                         
     GET RFMTIPUT                                                       
     MOVE SPACES TO W-TITLE-TEMP                                       
     IF EOF RFMTIPUT                                                   
          IF W-AIF-SEG5-FLAG = 'Y'                                     
             W-AIF-SEG5-FLAG = 'N'                                     
             WS-INDEX1 = 1                                             
             WS-INDEX4 = 1                                             
             IF W-SEG5-COUNT > W-SEG3-COUNT                             
                DO UNTIL WS-SEG5-TIT2(WS-INDEX4) SPACES                 
                   O-AIF-COID-N = W-AIF-COID-N                         
                   O-AIF-ACT-ID = W-AIF-ACT-ID                         
                   O-AIF-HASH   = WS-SEG3-HASH(WS-INDEX1)               
                   O-AIF-TITTLE = WS-SEG5-TIT2(WS-INDEX4)               
                   WS-INDEX1    = WS-INDEX1 + 1                         
                   WS-INDEX4    = WS-INDEX4 + 1                         
                   PUT RFMTOPUT                                         
                END-DO                                                 
             END-IF                                                     
          END-IF                                                       
          STOP                                                         
     END-IF                                                             
     IF I-AIF-AIFROOT = 'AIFROOT'                                       
          IF W-AIF-SEG5-FLAG = 'Y'                                     
             W-AIF-SEG5-FLAG = 'N'                                     
             WS-INDEX1 = 1                                             
             WS-INDEX4 = 1                                             
             IF W-SEG5-COUNT > W-SEG3-COUNT                             
                DO UNTIL WS-SEG5-TIT2(WS-INDEX4) SPACES                 
                   O-AIF-COID-N = W-AIF-COID-N                         
                   O-AIF-ACT-ID = W-AIF-ACT-ID                         
                   O-AIF-HASH   = WS-SEG3-HASH(WS-INDEX1)               
                   O-AIF-TITTLE = WS-SEG5-TIT2(WS-INDEX4)               
                    WS-INDEX1    = WS-INDEX1 + 1                         
                    WS-INDEX4    = WS-INDEX4 + 1                         
                    PUT RFMTOPUT                                         
                 END-DO                                                 
              END-IF                                                     
           END-IF                                                       
           MOVE SPACES   TO WS-SEG3                                     
           MOVE SPACES   TO WS-SEG5                                     
           WS-INDEX1   = 1                                               
           WS-INDEX2   = 1                                               
           WS-INDEX3   = 1                                               
           WS-INDEX4   = 1                                               
           W-AIF-COID-N = I-AIF-COID-N                                   
           W-AIF-ACT-ID = I-AIF-ACT-ID                                   
           MOVE 'Y' TO W-AIF-ROOT-FLAG                                   
           MOVE 'N' TO W-AIF-SEG3-FLAG                                   
           MOVE 'N' TO W-AIF-SEG5-FLAG                                   
           W-SEG5-COUNT = 0                                             
           W-SEG3-COUNT = 0                                             
      END-IF                                                             
 *                                                                       
      IF W-AIF-ROOT-FLAG = 'Y' AND I-AIF-AIFROOT = 'AIFSEG3'             
             W-SEG3-COUNT =  W-SEG3-COUNT + 1                           
             WS-SEG3-HASH(WS-INDEX1) = I-AIF-HASH                       
             WS-INDEX1  = WS-INDEX1 + 1                                 
             MOVE 'Y' TO W-AIF-SEG3-FLAG                                 
      END-IF                                                             
 *                                                                       
      IF W-AIF-ROOT-FLAG = 'Y' AND I-AIF-AIFROOT = 'AIFSEG5' AND  +     
         W-AIF-SEG3-FLAG = 'Y'                                           
             W-AIF-SEG5-FLAG = 'Y'                                       
             W-TITLE-TEMP = I-AIF-TITTLE                                 
             WS-SEG5-TIT(WS-INDEX2) =  W-TITLE-TEMP                     
             WS-SEG5-DATA = WS-SEG5-TIT(WS-INDEX2)                       
             WS-INDEX3  =  1                                             
             DO UNTIL WS-INDEX3 > 41                                     
               IF WS-SEG5-DATA1(WS-INDEX3)  SPACES OR  +                 
                  WS-SEG5-DATA1(WS-INDEX3) LOW-VALUES                   
                  MOVE 'N' TO WS-FLAG                                   
               ELSE                                                     
                  MOVE 'Y' TO WS-FLAG                                   
                  WS-INDEX3 = 42                                         
               END-IF                                                   
               WS-INDEX3  = WS-INDEX3 + 1                               
             END-DO                                                     
             IF WS-FLAG  = 'Y'                                           
               W-SEG5-COUNT           =  W-SEG5-COUNT + 1               
               WS-SEG5-TIT2(WS-INDEX4) = WS-SEG5-DATA                   
               WS-INDEX4  = WS-INDEX4 + 1                               
               MOVE 'N' TO WS-FLAG                                       
             END-IF                                                     
             WS-INDEX2  = WS-INDEX2 + 1                                 
      END-IF                                                             
 *                                                                       
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12382
Topics: 75
Location: San Jose

PostPosted: Thu Apr 26, 2007 9:06 am    Post subject: Reply with quote

nbdtrjk1,

You are just reading your input file once and your logic is too cumbersome. When you say junk values what exactly do they look like ? You have 4 fields in your output. tell us which fields are having the junk values. Just show us a sample of data with hex on those fields.

IMHO I guess there is an easier way to write the pgm

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
vkphani
Intermediate


Joined: 05 Sep 2003
Posts: 483
Topics: 48

PostPosted: Thu Apr 26, 2007 10:00 am    Post subject: Reply with quote

Initialize all your working storage variables and run the EZT. I think that may solve the problem.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
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


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group