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

Reply via email to