View previous topic :: View next topic
|
Author |
Message |
Megha Gupta
New User
Joined: 15 Mar 2012 Posts: 5 Location: India
|
|
|
|
Hello All,
How to reverse a string for ex: "STUDENTS into STNEDUTS" using DFSORT? |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
pretty boring, but ...
use BUILD/OVERLAY moving byte per byte in reverse order |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
You have to code the reverse. It is a rare need, so don't expect any built-in way to do it.
OVERLAY would be more exciting, because you'd need an extra byte.
BUILD creates a new current record, so no extra byte needed.
Examples with Fixed-length records:
Code: |
BUILD=(3,1,2,1,1,1) |
Would make ABC into CBA
Code: |
OVERLAY=(3,1,2,1,1,1) |
And bearing in mind the default start position for OVERLAY of 1 (for F, 5 for V) would make ABC into CBC, because by the time it gets to 1,1, that position has already been replaced by 3,1. |
|
Back to top |
|
|
Pandora-Box
Global Moderator
Joined: 07 Sep 2006 Posts: 1592 Location: Andromeda Galaxy
|
|
|
|
If you have the cusion of using COBOL (FUNCTION REVERSE ) would be handy... |
|
Back to top |
|
|
daveporcelan
Active Member
Joined: 01 Dec 2006 Posts: 792 Location: Pennsylvania
|
|
|
|
If the data is not too large, you could write a small Rexx exec.
This would help with different length fields and eliminate trailing spaces becoming leading spaces (with a Strip function).
You could run it in batch.
I guess more complete requirements would help (as usual). |
|
Back to top |
|
|
|