zOs/SQL/GARCIA

with e as
( select cast(remarks as varchar(1500) ccsid ebcdic) remEbc, c.*
    from sysibm.syscolumns c
)
,    x as
( SELECT tbCreator, tbName, name, remarks, remEbc,
        --       smallInt(posstr(remEbc, x'50')) x50,     ist &
                 smallInt(posstr(remEbc, x'51')) x51,  -- ist é e aigu
                 smallInt(posstr(remEbc, x'52')) x52,
                 smallInt(posstr(remEbc, x'53')) x53,
                 smallInt(posstr(remEbc, x'54')) x54,
                 smallInt(posstr(remEbc, x'55')) x55,  -- ist i aigu
                 smallInt(posstr(remEbc, x'56')) x56,
                 smallInt(posstr(remEbc, x'57')) x57,
                 smallInt(posstr(remEbc, x'59')) x58,
                 smallInt(posstr(remEbc, x'59')) x59,
        --       smallInt(posstr(remEbc, x'5A')) x5A,     ist ]  ??
        --       smallInt(posstr(remEbc, x'5B')) x5B,     ist $  ??
        --       smallInt(posstr(remEbc, x'5C')) x5C,     ist *
        --       smallInt(posstr(remEbc, x'5D')) x5D,     ist )
        --       smallInt(posstr(remEbc, x'5E')) x5E,     ist ;
        --       smallInt(posstr(remEbc, x'5F')) x5F,     ist ^
                 smallInt(posstr(remEbc, x'41')) x41,
                 smallInt(posstr(remEbc, x'42')) x42,
        --       smallInt(posstr(remEbc, x'43')) x43,     ist ä
        --       smallInt(posstr(remEbc, x'44')) x44,     ist à
                 smallInt(posstr(remEbc, x'45')) x45,
                 smallInt(posstr(remEbc, x'46')) x46,
                 smallInt(posstr(remEbc, x'47')) x47,
                 smallInt(posstr(remEbc, x'48')) x48,
                 smallInt(posstr(remEbc, x'49')) x49,
        --       smallInt(posstr(remEbc, x'4A')) x4A,    ist [ ??
        --       smallInt(posstr(remEbc, x'4B')) x4B,    ist .
        --       smallInt(posstr(remEbc, x'4C')) x4C     ist < ??
        --       smallInt(posstr(remEbc, x'4D')) x4D,    ist (
        --       smallInt(posstr(remEbc, x'4E')) x4E,    ist +
        --       smallInt(posstr(remEbc, x'4F')) x4F     ist |
    from e
)
select char(left(x.tbCreator, 10)
              || left(x.tbName,10) || left(x.name,20),40)
              ,x52,x53,x54,x55,x56,x57,x58,x59,x5a,x5b            ,x5f
          ,x41,x42        ,x45,x46,x47,x48,x49,x4a,    x4c,
         x.tbCreator, x.tbName, x.name, createdts,
         x.remarks, hex(remEbc) hexEbc, hex(x.remarks) hexUni
    from x, sysibm.systables t
    where (x.tbName like 'VW%' or x.tbName like 'TW%')
        and int(0)
              +x52+x53+x54+x55+x56+x57+x58+x59+x5a+x5b            +x5f
          +x41+x42        +x45+x46+x47+x48+x49+x4a    +x4c
      > 0
        and t.name = x.tbName and t.creator = x.tbCreator
    order by x.tbName, x.name, x.tbcreator
    with ur
;
xith x as
( SELECT tbCreator, tbName, name, remarks,
                 smallInt(posstr(remarks, x'C3AD')) xC3Ad
    from sysibm.syscolumns
)
select char(left(tbCreator, 10) || left(tbName,10) || left(name,20),40),
         xc3ad  ,
         remarks, hex(remarks), tbCreator, tbName, name
    from x
    where (tbName like 'VWB%' or tbName like 'TWB%')
        and int(xc3Ad) > 0
    order by tbName, name, tbcreator
    with ur
;
xELECT strip(tbCreator) || '.' || STRIP(tbName) ||'.' || strip(name)
    from sysibm.syscolumns
    where tbName like 'VWB%'
        and (    posstr(remarks, x'55') > 0
              or posstr(remarks, x'56') > 0
              or posstr(remarks, x'57') > 0
              or posstr(remarks, x'58') > 0
            )
    order by tbName, name, tbcreator