in case you still looking for a solution, here is the logic of "how to".
Again, this code is based on string read from DB2, but the idea is the same
.
ITschak
LOGICALREVERSE:
/*--------------------------------------------------------------*/
/*REVERSE CHAR FIELDS IN LOGICAL MANNER IN ORDER TO PRESERVE */
/*NUMERIC ORDER */
/*--------------------------------------------------------------*/
NUMWORDS = WORDS(SQLXA.I.SQLDATA)
KEEPLENGTH = LENGTH(SQLXA.I.SQLDATA)
SQLXA.I.SQLDATA = REVERSE(,
TRANSLATE(SQLXA.I.SQLDATA,HEBOLD,HEBNEW))
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
DO XINDEX = 1 TO NUMWORDS
/* HANDLE NUMERICS */
XWORD = WORD(SQLXA.I.SQLDATA,XINDEX)
IF (VERIFY(XWORD,ALLNOTNUM) = 0) THEN DO
ITERATE
END
SQLXA.I.SQLDATA = SUBWORD(SQLXA.I.SQLDATA,1,XINDEX-1),
REVERSE(XWORD) SUBWORD(SQLXA.I.SQLDATA,XINDEX+1)
END
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
IF (NUMWORDS < 2) THEN DO
/* HANDLE EMPTY AND SHORTER THEN 2 WORDS STRINGS */
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
RETURN
END
/* SAY RIGHT(I,5) ':' RIGHT(NUMWORDS,5) ':' SQLXA.I.SQLDATA
*/
/* ---------------------------------------------------- */
/* HANDLE ENGLISH WORDS THAT CHANGED POS DUE TO REVERSE */
/* ---------------------------------------------------- */
WORDF = ''
CNTF = 0
DO IV = 1 TO NUMWORDS
WORDC = WORD(SQLXA.I.SQLDATA,IV)
IF (VERIFY(WORDC,ENGLISH) = 0) THEN DO
WORDF = WORDF WORDC
CNTF = CNTF + 1
ITERATE
END
LEAVE
END
WORDL = ''
CNTL = 0
DO IV = NUMWORDS TO 1 BY -1
WORDC = WORD(SQLXA.I.SQLDATA,IV)
IF (VERIFY(WORDC,ENGLISH) = 0) THEN DO
WORDL = WORDL WORDC
CNTL = CNTL + 1
ITERATE
END
LEAVE
END
WORDF = STRIP(WORDF)
WORDL = STRIP(WORDL)
IF (CNTF = NUMWORDS) THEN DO
/* ------------------------------------------- */
/* STRINGIS ALL ENGLISH... */
/* ------------------------------------------- */
RETURN
END
/* WORDF = WORD(SQLXA.I.SQLDATA,1)
WORDL = WORD(SQLXA.I.SQLDATA,NUMWORDS)
*/
IF (NUMWORDS = 2) THEN DO
/* ------------------------------------------------- */
/* HANDLE STRING WITH ONLY TWO WORDS */
/* ------------------------------------------------- */
IF (WORDF ^= '') THEN DO
IF (WORDL ^= '') THEN DO
SQLXA.I.SQLDATA = STRIP(WORDL WORDF)
RETURN
END
SQLXA.I.SQLDATA = STRIP(WORDL WORDF)
RETURN
END
IF (WORDL ^= '') THEN DO
SQLXA.I.SQLDATA = STRIP(WORDL WORD(SQLXA.I.SQLDATA,1))
RETURN
END
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
RETURN
END
IF (WORDL ^= '') THEN DO
/* ----------------------------------- */
/* LAST WORD IS ENGLISH, MOVE TO FIRST */
/* ----------------------------------- */
IF (WORDF ^= '') THEN DO
/* ----------------------------------- */
/* FIRST WORD IS ENGLISH, MOVE TO LAST */
/* ----------------------------------- */
WORDX = NUMWORDS - CNTF - CNTL
SQLXA.I.SQLDATA = WORDL ,
SUBWORD(SQLXA.I.SQLDATA,CNTF+1,WORDX) ,
WORDF
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
RETURN
END
WORDX = NUMWORDS - CNTL
SQLXA.I.SQLDATA = WORDL ,
SUBWORD(SQLXA.I.SQLDATA,1,WORDX)
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
RETURN
END
IF (WORDF ^= '') THEN DO
/* ----------------------------------- */
/* FIRST WORD IS ENGLISH, MOVE TO LAST */
/* ----------------------------------- */
SQLXA.I.SQLDATA = SUBWORD(SQLXA.I.SQLDATA,CNTF+1) WORDF
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
RETURN
END
SQLXA.I.SQLDATA = STRIP(SQLXA.I.SQLDATA)
SQLXA.I.SQLDATA = SUBSTR(SQLXA.I.SQLDATA' ',1,KEEPLENGTH)
RETURN
On Wed, Jan 10, 2018 at 12:05 AM, Seymour J Metz <[email protected]> wrote:
> Yeah, I was hot happy when they functionally stabilized DCF and BM. I'm
> currently using LaTeX both for technical writing and for designing my own
> T-shirts. I don't care for the syntax, but there are packages for the
> sorts of things I want to do. Now if I could just find MiKTeX install files
> old enough to run on m$ vista -(:
>
> I used to curse word pervert until I was forced to use m$ office.
> (Free|Libre)Office is a step up, but I still want DCF, BookMaster/PC and
> BookManager Build/PC, preferably on a Linux platform.
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> ________________________________________
> From: IBM Mainframe Discussion List <[email protected]> on behalf
> of John McKown <[email protected]>
> Sent: Tuesday, January 9, 2018 4:44 PM
> To: [email protected]
> Subject: Re: Transferring hebrew data from Db2 Z/OS to PC
>
> On Tue, Jan 9, 2018 at 3:39 PM, Seymour J Metz <[email protected]> wrote:
>
> > I would certainly want an editor to have reasonable handling of text
> > direction, with the user firmly in control of how the editor behaves.
> >
> > I refer to WYSIWYG as what you see is all you get (WYSIAYG), and hate it.
> > It gives no clue as to what will happen if you make changes, while with a
> > markup language everything is clear.
> >
>
> I really dislike "Word Processors" like MS Word, or even LibreOffice.
> Personally, I prefer an explicit "markup language" such as LaTex (using
> TexStudio) or Docbook or Texinfo. I really liked IBM's Document Composition
> Facility, back in the day.
>
>
>
> >
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> >
>
> --
> I have a theory that it's impossible to prove anything, but I can't prove
> it.
>
> Maranatha! <><
> John McKown
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>
--
ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Contiguous Monitoring
for Legacy **| *
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN