View previous topic :: View next topic
|
Author |
Message |
naveen.m
New User
Joined: 02 Nov 2007 Posts: 9 Location: BENGALURU
|
|
|
|
Hi,
Please can any one help me with my issue below.
I'm receiving an string from an front end screen from free text editor of 32 lines and 50 Character/line(Using Swift 799 message format). I need to store the data(LINE BY LINE) in the DB2 table as entered on the front end screen, But my program is receiving the entire 50 char of the line.
My requirement is "I need to get the string till the end of the each line and store it a single row , this has to be repeated till the end of the string(i.e as many number of lines are entered in the screen) '
Please find the below code ,
DIVIDE SWFT79-LEN in mi by 50 Giving LEN in ws
REMAINDER rem-ws
if Len in ws less than or equal to 35
initialize IX
K
Z
move 1 TO Z
move 50 TO K
if rem-ws > 0
compute len in ws = len in ws + 1
end-if
perform
varying Ix in ws
from 1 by 1
until Ix in ws >
Len in ws
move SWFT79-TXT in mi(z:k) to
SWFT79 in AWA7991C(Ix in ws)
compute Z in ws = Z in ws + 50
end-perform |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
1. what is the data definition of the SWFT79-txt?
2. are the rows variable length?
3. DIVIDE SWFT79-LEN in mi by 50 Giving LEN in ws
REMAINDER rem-ws
LEN is actually an occurance, why give it a reference name as LEN?
4. Why do you reference 35 in
if Len in ws less than or equal to 35
when you stated that you can only have 32 lines?
5. is the char stream in SWFT79-TXT just a pure image from the front end screen,
which apparently is 32 lines of 50 char each?
are there control characters between each line?
or do we have 1600 bytes (32 lines X 50 char) of only char?
6. in:
initialize IX
K
Z
move 1 TO Z
move 50 TO K
why initialize k and z when you immediately populate them?
7. what do you do when if Len in ws > 35?
you end up performing without any initialized work fields
8. why not redefine SWFT79-TXT to have an occurs of 32?
then you could us indexing instead of reference modification
which would require fewer resources.
9. are you going to follow your behavior as in this thread that you started:
ibmmainframes.com/viewtopic.php?t=29411&highlight=
and never respond?
10. last but not least what is your issue? |
|
Back to top |
|
|
naveen.m
New User
Joined: 02 Nov 2007 Posts: 9 Location: BENGALURU
|
|
|
|
Thanks for your quick reply.
1. what is the data definition of the SWFT79-txt?
PIC X(100) .
2. are the rows variable length?
Yes , it is a VARCHAR SIZE 100
3. DIVIDE SWFT79-LEN in mi by 50 Giving LEN in ws
REMAINDER rem-ws
LEN is actually an occurance, why give it a reference name as LEN?
Quote: |
This is the one i need to take care of now, As previously we where calculatin the no of lines in the message and storing the 50 char in a single Row, But now i have to take the first line of the message .
Let me expalin by example.
This is the format user is entring from the screen.
1...............................................................50 (no of char)
1 Eaple keypad
2 adsas asdasdas adasdasd
3 asdasdadf aasdfsdas das ddasasdas
.
.
35
-----------------------------------------------------------------
In my system i'm reciving this as an array and updating it into the table, While displaying i'm getting the output as
1...............................................................50 (no of char)
1 Eaple keypad..adsas asdasdas adasdasd..as
2 dasdadf aasdfsdas das ddasasdas..
3
.
35
--------------------------------------------------------------------- |
I need to store each line in one row so that i can display the same in my next output on screen as below.
Quote: |
1...............................................................50 (no of char)
1 Eaple keypad
2 adsas asdasdas adasdasd
3 asdasdadf aasdfsdas das ddasasdas
.
.
35
----------------------------------------------------------------- |
4. Why do you reference 35 in
if Len in ws less than or equal to 35
when you stated that you can only have 32 lines?
We are referncing this bcos before we where counting the no of line's(i.e for Max 35 lines)
5. is the char stream in SWFT79-TXT just a pure image from the front end screen,
which apparently is 32 lines of 50 char each?
are there control characters between each line?
or do we have 1600 bytes (32 lines X 50 char) of only char?
Yes its a purged image,Its has a controlled character at the end of the each line X'od25' .
6. in:
initialize IX
K
Z
move 1 TO Z
move 50 TO K
why initialize k and z when you immediately populate them?
This coding is done before.
7. what do you do when if Len in ws > 35?
you end up performing without any initialized work fields
Yes, we end up performing.
8. why not redefine SWFT79-TXT to have an occurs of 32?
then you could us indexing instead of reference modification
which would require fewer resources.
Without changing the copybook i need to handle this
9. are you going to follow your behavior as in this thread that you started:
ibmmainframes.com/viewtopic.php?t=29411&highlight=
and never respond?
"I apologize for this , As the issue was resolved i was unable to answer reply back to my query"
10. last but not least what is your issue?
Please find the same in the 3rd question
Hope i've answerd your question, let me know for anything.[quote] |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
i personally would UNSTRING delimited by X'od25'
into AWA7991C(1)
AWA7991C(2)
AWA7991C(3) ...
AWA7991C(35)
after first initializing the table to spaces.
then if the length of the data of each line needs to be calculated,
i would inspect(reverse( AWA7991C(n))) counting spaces.....
after first checking if AWA7991C(n) is indeed > spaces
and base on the above I would also know how many rows to insert. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Quote: |
1. what is the data definition of the SWFT79-txt?
PIC X(100) . |
the above can not be true.
Quote: |
This coding is done before. |
so you leave it in even though it is very poor code?
Quote: |
Its has a controlled character at the end of the each line X'od25' . |
so is each line 50 or 52?
which means that
Quote: |
compute Z in ws = Z in ws + 50 |
this is some more of the same rookie/garbage/stupid code......
rewrite this garbage |
|
Back to top |
|
|
naveen.m
New User
Joined: 02 Nov 2007 Posts: 9 Location: BENGALURU
|
|
|
|
My mistake, sorry for providing the wrong information
1. what is the data definition of the SWFT79-txt?
dbzTHEdinosauer wrote: |
the above can not be true.
SWFT79-TXT PIC X(1750)
Quote: |
Its has a controlled character at the end of the each line X'od25' . |
so is each line 50 or 52?
Each line is of 50 char.
which means that
Quote: |
compute Z in ws = Z in ws + 50 |
this is some more of the same rookie/garbage/stupid code......
rewrite this garbage |
Yes, I've written the code as you mentioned.
Thanks a lot for your help,Guess my code is working fine and is formatted properly. Need to test it.... |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
Googling "Swift Messaging" will yield many hits.
Bill |
|
Back to top |
|
|
naveen.m
New User
Joined: 02 Nov 2007 Posts: 9 Location: BENGALURU
|
|
|
|
Bill O'Boyle wrote: |
Googling "Swift Messaging" will yield many hits.
Bill |
Hi Bill, Thanks for your reply. My query is to handle swift message in my cobol program. |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
This shouldn't be a big problem.
They're certainly not as challenging as Authorization ISO 8583 Bit-Mapped messages being handled in COBOL (much easier with Assembler).
Bill |
|
Back to top |
|
|
|