zOs/PLB/QZDIT02
*process RULES(LAXSEMI); /* suppress semicolon-warning */
*process RULES(BYNAME) ; /* allow "by name" */
*process RULES(NOLAXIF); /* suppress conversion in boolean expression */
/********************************************************************/
/* */
/* testprogram fuer yDIT002 sql 128 */
/* */
/********************************************************************/
qzdit02: Proc($parm) options(main);
%include pgmanfa;
dcl $parm char(80) varying;
-/**-----------------------------------------------------------------**/
/** 1.02 Files **/
/**-----------------------------------------------------------------**/
dcl Sysprint file print output ;
-/**-----------------------------------------------------------------**/
/** 1.03 Datuemer **/
/**-----------------------------------------------------------------**/
dcl 1 inpV static ,
5 invV2 char(9000)
init(( '02USD '
|| '010236'
|| '012991'
|| '012220'
|| '011664'
|| '011234'
|| '010945'
|| '010947'
|| '011235'
|| '012221'
|| '011665'
|| '012992'
|| '010237'
|| '02UYI '
|| '02ADP '
|| '02AED '
|| '02UYN '
|| '010238'
|| '012993'
|| '011666'
|| '012222'
|| '011236'
|| '010949'
|| '010950'
|| '011237'
|| '012223'
|| '011667'
|| '012994'
|| '010239'
|| '02UYU '
|| '02AFA '
|| '02AFN '
|| '02UZS '
|| '010241'
|| '012995'
|| '011668'
|| '012224'
|| '011238'
|| '010952'
|| '010953'
|| '011239'
|| '012225'
|| '011669'
|| '012996'
|| '010242'
|| '02VEB '
|| '02ALK '
|| '02ALL '
|| '02VEF '
|| '010248'
|| '012997'
|| '011670'
|| '012226'
|| '011240'
|| '010955'
|| '010956'
|| '011241'
|| '012237'
|| '011671'
|| '012998'
|| '010249'
|| '02VNC '
|| '02AMD '
|| '02ANG '
|| '02VND '
|| '010251'
|| '013000'
|| '011672'
|| '012238'
|| '011242'
|| '010957'
|| '010958'
|| '011243'
|| '012240'
|| '011673'
|| '013001'
|| '010260'
|| '02VUV '
|| '02AOA '
|| '02AOK '
|| '02WST '
|| '010261'
|| '013002'
|| '011674'
|| '012241'
|| '011244'
|| '010959'
|| '010960'
|| '011245'
|| '012242'
|| '011675'
|| '013003'
|| '010265'
|| '02XAF '
|| '02AON '
|| '02AOR '
|| '02XAF '
|| '010267'
|| '013004'
|| '011676'
|| '012243'
|| '011246'
|| '010961'
|| '010962'
|| '011247'
|| '012244'
|| '011677'
|| '013005'
|| '010275'
|| '02XAF '
|| '02ARP '
|| '02ARS '
|| '02XAG '
|| '010280'
|| '013006'
|| '011678'
|| '012245'
|| '011248'
|| '010963'
|| '010964'
|| '011249'
|| '012246'
|| '011679'
|| '013008'
|| '010285'
|| '02XAU '
|| '02ATS '
|| '02AUD '
|| '02XBA '
|| '010290'
|| '013015'
|| '011680'
|| '012257'
|| '011250'
|| '010965'
|| '010966'
|| '011251'
|| '012258'
|| '011681'
|| '013016'
|| '010292'
|| '02XCD '
|| '02AWG '
|| '02AZM '
|| '02XDR '
|| '010295'
|| '013017'
|| '011682'
|| '012260'
|| '011252'
|| '010967'
|| '010968'
|| '011253'
|| '012261'
|| '011683'
|| '013090'
|| '010305'
|| '02XFO '
|| '02AZN '
|| '02BAD '
|| '02XOF '
|| '010306'
|| '013100'
|| '011684'
|| '012262'
|| '011254'
|| '010969'
|| '010970'
|| '011260'
|| '012263'
|| '011685'
|| '013101'
|| '010307'
|| '02XOF '
|| '02BAM '
|| '02BBD '
|| '02XOF '
|| '010310'
|| '013105'
|| '011686'
|| '012264'
|| '011261'
|| '010971'
|| '010972'
|| '011262'
|| '012270'
|| '011687'
|| '013106'
|| '010311'
|| '02XOF '
|| '02BDT '
|| '02BEC '
|| '02XOF '
|| '010312'
|| '013110'
|| '011688'
|| '012271'
|| '011263'
|| '010973'
|| '010974'
|| '011264'
|| '012272'
|| '011689'
|| '013111'
|| '010315'
|| '02XOF '
|| '02BEF '
|| '02BGJ '
|| '02XOF '
|| '010320'
|| '013115'
|| '011690'
|| '012273'
|| '011270'
|| '010975'
|| '010976'
|| '011290'
|| '012274'
|| '011691'
|| '013120'
|| '010325'
|| '02XPD '
|| '02BGK '
|| '02BGL '
|| '02XPF '
|| '010331'
|| '013121'
|| '011692'
|| '012280'
|| '011291'
|| '010977'
|| '010978'
|| '011292'
|| '012281'
|| '011693'
|| '013125'
|| '010332'
|| '02XPT '
|| '02BGN '
|| '02BHD '
|| '02XZN '
|| '010335'
|| '013130'
|| '011694'
|| '012282'
|| '011301'
|| '010979'
|| '010980'
|| '011302'
|| '012283'
|| '011695'
|| '013210'
|| '010336'
|| '02YDD '
|| '02BIF '
|| '02BMD '
|| '02YER '
|| '010337'
|| '013211'
|| '011696'
|| '012284'
|| '011309'
|| '010981'
|| '010982'
|| '011310'
|| '012285'
|| '011697'
|| '013215'
|| '010338'
|| '02YUD '
|| '02BND '
|| '02BOB '
|| '02YUM '
|| '010340'
|| '013220'
|| '012286'
|| '011698'
|| '011311'
|| '010983'
|| '010984'
|| '011312'
|| '011699'
|| '012297'
|| '013221'
|| '010345'
|| '02YUN '
|| '02BOP '
|| '02BOV '
|| '02ZAR '
|| '010350'
|| '013300'
|| '012298'
|| '011700'
|| '011313'
|| '010985'
|| '010986'
|| '011315'
|| '011701'
|| '012300'
|| '013301'
|| '010355'
|| '02ZMK '
|| '02BRB '
|| '02BRL '
|| '02ZMW '
|| '010357'
|| '013302'
|| '012301'
|| '011702'
|| '011320'
|| '010987'
|| '010988'
|| '011321'
|| '011703'
|| '012302'
|| '013310'
|| '010358'
|| '02ZRN '
|| '02BRN '
|| '02BSD '
|| '02ZRZ '
|| '010360'
|| '013320'
|| '012303'
|| '011704'
|| '011322'
|| '010989'
|| '010990'
|| '011323'
|| '011705'
|| '012304'
|| '013330'
|| '010365'
|| '02ZWC '
|| '02BTN '
|| '02BWP '
|| '02ZWD '
|| '010370'
|| '013331'
|| '012305'
|| '011706'
|| '011330'
|| '010991'
|| '010992'
|| '011331'
|| '011707'
|| '012306'
|| '013400'
|| '010375'
|| '02ZWL '
|| '02BYB '
|| '02BYR '
|| '02ZWN '
|| '010380'
|| '013409'
|| '012313'
|| '011708'
|| '011332'
|| '010993'
|| '010994'
|| '011333'
|| '011709'
|| '012317'
|| '013410'
|| '010385'
|| '010001'
|| '02BZD '
|| '02CAD '
|| '010002'
|| '010390'
|| '013412'
|| '012318'
|| '011710'
|| '011398'
|| '010995'
|| '010996'
|| '011399'
|| '011711'
|| '012320'
|| '013510'
|| '010395'
|| '010003'
|| '02CDF '
|| '02CHF '
|| '010004'
|| '010400'
|| '013511'
|| '012321'
|| '011712'
|| '011400'
|| '010997'
|| '010998'
|| '011401'
|| '011713'
|| '012322'
|| '013550'
|| '010402'
|| '010005'
|| '02CLF '
|| '02CLP '
|| '010006'
|| '010405'
|| '013711'
|| '012323'
|| '011714'
|| '011402'
|| '010999'
|| '011001'
|| '011403'
|| '011715'
|| '012324'
|| '013860'
|| '010415'
|| '010007'
|| '02CNH '
|| '02CNX '
|| '010008'
|| '010420'
|| '013980'
|| '012329'
|| '011716'
|| '011410'
|| '011002'
|| '011003'
|| '011411'
|| '011717'
|| '012330'
|| '013981'
|| '010425'
|| '010009'
|| '02CNY '
|| '02COP '
|| '010010'
|| '010427'
|| '013990'
|| '012331'
|| '011718'
|| '011412'
|| '011010'
|| '011011'
|| '011413'
|| '011719'
|| '012332'
|| '014001'
|| '010430'
|| '010011'
|| '02COU '
|| '02CRC '
|| '010012'
|| '010435'
|| '014002'
|| '012333'
|| '011720'
|| '011450'
|| '011012'
|| '011013'
|| '011451'
|| '011721'
|| '012334'
|| '014010'
|| '010438'
|| '010013'
|| '02CSJ '
|| '02CUC '
|| '010014'
|| '010439'
|| '014011'
|| '012335'
|| '011722'
|| '011452'
|| '011014'
|| '011018'
|| '011500'
|| '011723'
|| '012336'
|| '014020'
|| '010440'
|| '010015'
|| '02CUP '
|| '02CVE '
|| '010016'
|| '010441'
|| '014021'
|| '012343'
|| '011724'
|| '011501'
|| '011019'
|| '011020'
|| '011502'
|| '011725'
|| '012347'
|| '014099'
|| '010442'
|| '010017'
|| '02CYP '
|| '02CZK '
|| '010018'
|| '010443'
|| '014100'
|| '012348'
|| '011726'
|| '011503'
|| '011021'
|| '011025'
|| '011504'
|| '011727'
|| '012350'
|| '014101'
|| '010445'
|| '010019'
|| '02DDM '
|| '02DEM '
|| '010020'
|| '010447'
|| '014106'
|| '012360'
|| '011728'
|| '011505'
|| '011026'
|| '011027'
|| '011506'
|| '011729'
|| '012361'
|| '014110'
|| '010448'
|| '010021'
|| '02DJF '
|| '02DKK '
|| '010022'
|| '010455'
|| '014111'
|| '012362'
|| '011730'
|| '011507'
|| '011028'
|| '011029'
|| '011508'
|| '011731'
|| '012363'
|| '010456'
|| '010023'
|| '02DOP '
|| '014112'
|| '014113'
|| '02DZD '
|| '010024'
|| '010457'
|| '012364'
|| '011732'
|| '011509'
|| '011030'
|| '011031'
|| '011510'
|| '011733'
|| '012365'
|| '010458'
|| '010025'
|| '02ECS '
|| '014115'
|| '014120'
|| '02EEK '
|| '010026'
|| '010459'
|| '012383'
|| '011734'
|| '011511'
|| '011032'
|| '011035'
|| '011512'
|| '011735'
|| '012384'
|| '010460'
|| '010027'
|| '02EGP '
|| '014121'
|| '014125'
|| '02ERN '
|| '010028'
|| '010502'
|| '012390'
|| '011736'
|| '011513'
|| '011036'
|| '011040'
|| '011514'
|| '011737'
|| '012391'
|| '010504'
|| '010029'
|| '02ESA '
|| '014130'
|| '014209'
|| '02ESB '
|| '010030'
|| '010505'
|| '012392'
|| '011738'
|| '011515'
|| '011041'
|| '011042'
|| '011516'
|| '011739'
|| '012393'
|| '010506'
|| '010031'
|| '02ESP '
|| '014211'
|| '014212'
|| '02ETB '
|| '010032'
|| '010507'
|| '012397'
|| '011740'
|| '011517'
|| '011043'
|| '011044'
|| '011518'
|| '011741'
|| '012398'
|| '010508'
|| '010033'
|| '02EUR '
|| '014215'
|| '014225'
|| '02FIM '
|| '010034'
|| '010509'
|| '012399'
|| '011742'
|| '011519'
|| '011045'
|| '011046'
|| '011520'
|| '011743'
|| '012405'
|| '010510'
|| '010035'
|| '02FJD '
|| '014230'
|| '014231'
|| '02FKP '
|| '010036'
|| '010511'
|| '012410'
|| '011744'
|| '011521'
|| '011049'
|| '011051'
|| '011522'
|| '011745'
|| '012422'
|| '010513'
|| '010037'
|| '02FRF '
|| '014232'
|| '014233'
|| '02GBP '
|| '010038'
|| '010517'
|| '012423'
|| '011746'
|| '011523'
|| '011052'
|| '011053'
|| '011524'
|| '011747'
|| '012497'
|| '010518'
|| '010039'
|| '02GEL '
|| '014235'
|| '014236'
|| '02GGP '
|| '010040'
|| '010525'
|| '012498'
|| '011748'
|| '011525'
|| '011054'
|| '011055'
|| '011526'
|| '011749'
|| '012499'
|| '010529'
|| '010041'
|| '02GHC '
|| '014237'
|| '014238'
|| '02GHS '
|| '010042'
|| '010533'
|| '012500'
|| '011750'
|| '011527'
|| '011061'
|| '011062'
|| '011528'
|| '011751'
|| '012501'
|| '010537'
|| '010043'
|| '02GIP '
|| '014400'
|| '014510'
|| '02GMD '
|| '010044'
|| '010541'
|| '012502'
|| '011752'
|| '011529'
|| '011063'
|| '011064'
|| '011530'
|| '011753'
|| '012503'
|| '010549'
|| '010045'
|| '02GNF '
|| '014511'
|| '014550'
|| '02GQE '
|| '010046'
|| '010553'
|| '012504'
|| '011754'
|| '011531'
|| '011065'
|| '011069'
|| '011532'
|| '011755'
|| '012505'
|| '010557'
|| '010047'
|| '02GRD '
|| '014551'
|| '014590'
|| '02GTQ '
|| '010048'
|| '010558'
|| '012509'
|| '011756'
|| '011533'
|| '011070'
|| '011071'
|| '011534'
|| '011757'
|| '012510'
|| '010561'
|| '010049'
|| '02GYD '
|| '014702'
|| '014703'
|| '02HKD '
|| '010050'
|| '010563'
|| '012511'
|| '011758'
|| '011535'
|| '011072'
|| '011073'
|| '011536'
|| '011759'
|| '012512'
|| '010565'
|| '010051'
|| '02HNL '
|| '014721'
|| '014730'
|| '02HRD '
|| '010052'
|| '010567'
|| '012513'
|| '011760'
|| '011537'
|| '011074'
|| '011075'
|| '011538'
|| '011761'
|| '012518'
|| '010569'
|| '010053'
|| '02HRK '
|| '014740'
|| '014750'
|| '02HTG '
|| '010055'
|| '010573'
|| '012521'
|| '011762'
|| '011539'
|| '011076'
|| '011077'
|| '011540'
|| '011763'
|| '012522'
|| '010585'
|| '010056'
|| '02HUF '
|| '014751'
|| '014755'
|| '02IDR '
|| '010057'
|| '010589'
|| '012523'
|| '011764'
|| '011541'
|| '011078'
|| '011079'
|| '011542'
|| '011765'
|| '012529'
|| '010593'
|| '010058'
|| '02IEP '
|| '014756'
|| '014790'
|| '02ILP '
|| '010060'
|| '010595'
|| '012530'
|| '011766'
|| '011543'
|| '011080'
|| '011081'
|| '011544'
|| '011767'
|| '012531'
|| '010597'
|| '010061'
|| '02ILR '
|| '014800'
|| '014900'
|| '02ILS '
|| '010062'
|| '010601'
|| '012532'
|| '011768'
|| '011545'
|| '011082'
|| '011083'
|| '011546'
|| '011769'
|| '012533'
|| '010605'
|| '010064'
|| '02INR '
|| '014901'
|| '014902'
|| '02IQD '
|| '010065'
|| '010606'
|| '012541'
|| '011770'
|| '011547'
|| '011084'
|| '011085'
|| '011548'
|| '011771'
|| '012545'
|| '010609'
|| '010066'
|| '02IRR '
|| '014903'
|| '014904'
|| '02ISJ '
|| '010069'
|| '010613'
|| '012546'
|| '011772'
|| '011549'
|| '011086'
|| '011087'
|| '011550'
|| '011773'
|| '012555'
|| '010617'
|| '010070'
|| '02ISK '
|| '014905'
|| '014906'
|| '02ITL '
|| '010073'
|| '010618'
|| '012559'
|| '011774'
|| '011551'
|| '011088'
|| '011090'
|| '011552'
|| '011775'
|| '012560'
|| '010619'
|| '010074'
|| '02JMD '
|| '014950'
|| '014951'
|| '02JOD '
|| '010075'
|| '010625'
|| '012561'
|| '011776'
|| '011553'
|| '011091'
|| '011092'
|| '011554'
|| '011777'
|| '012562'
|| '010641'
|| '010082'
|| '02JPY '
|| '014952'
|| '014953'
|| '02KES '
|| '010083'
|| '010642'
|| '012563'
|| '011778'
|| '011555'
|| '011093'
|| '011094'
|| '011556'
|| '011779'
|| '012564'
|| '010645'
|| '010084'
|| '02KGS '
|| '014954'
|| '014955'
|| '02KHR '
|| '010087'
|| '010646'
|| '012569'
|| '011780'
|| '011557'
|| '011095'
|| '011096'
|| '011558'
|| '011781'
|| '012570'
|| '010647'
|| '010088'
|| '02KMF '
|| '015910'
|| '015911'
|| '02KPW '
|| '010089'
|| '010649'
|| '012571'
|| '011782'
|| '011559'
|| '011097'
|| '011098'
|| '011560'
|| '011783'
|| '012572'
|| '010653'
|| '010090'
|| '02KRW '
|| '015912'
|| '015914'
|| '02KWD '
|| '010091'
|| '010657'
|| '012573'
|| '011784'
|| '011561'
|| '011100'
|| '011101'
|| '011562'
|| '011785'
|| '012580'
|| '010661'
|| '010093'
|| '02KYD '
|| '015918'
|| '015919'
|| '02KZT '
|| '010094'
|| '010671'
|| '012581'
|| '011786'
|| '011563'
|| '011102'
|| '011103'
|| '011564'
|| '011787'
|| '012582'
|| '010672'
|| '010095'
|| '02LAJ '
|| '015921'
|| '015922'
|| '02LAK '
|| '010096'
|| '010673'
|| '012583'
|| '011788'
|| '011565'
|| '011104'
|| '011105'
|| '011566'
|| '011789'
|| '012601'
|| '010674'
|| '010097'
|| '02LBP '
|| '015923'
|| '015924'
|| '02LKR '
|| '010098'
|| '010675'
|| '012605'
|| '011790'
|| '011567'
|| '011106'
|| '011107'
|| '011568'
|| '011791'
|| '012606'
|| '010677'
|| '010099'
|| '02LRD '
|| '015925'
|| '015926'
|| '02LSL '
|| '010101'
|| '010678'
|| '012607'
|| '011792'
|| '011569'
|| '011108'
|| '011109'
|| '011570'
|| '011793'
|| '012608'
|| '010679'
|| '010102'
|| '02LSM '
|| '015927'
|| '015928'
|| '02LTL '
|| '010104'
|| '010681'
|| '012609'
|| '011794'
|| '011571'
|| '011110'
|| '011111'
|| '011572'
|| '011795'
|| '012610'
|| '010685'
|| '010105'
|| '02LUF '
|| '015929'
|| '015930'
|| '02LVL '
|| '010106'
|| '010689'
|| '012611'
|| '011796'
|| '011573'
|| '011112'
|| '011113'
|| '011574'
|| '011797'
|| '012612'
|| '010697'
|| '010107'
|| '02LYD '
|| '015931'
|| '015932'
|| '02MAD '
|| '010108'
|| '010700'
|| '012613'
|| '011798'
|| '011575'
|| '011114'
|| '011115'
|| '011576'
|| '011799'
|| '012625'
|| '010701'
|| '010109'
|| '02MAL '
|| '019001'
|| '019002'
|| '02MCU '
|| '010110'
|| '010703'
|| '012626'
|| '012000'
|| '011577'
|| '011116'
|| '011118'
|| '011578'
|| '012001'
|| '012627'
|| '010704'
|| '010111'
|| '02MDL '
|| '019003'
|| '019004'
|| '02MGA '
|| '010112'
|| '010705'
|| '012631'
|| '012002'
|| '011579'
|| '011119'
|| '011120'
|| '011580'
|| '012003'
|| '012632'
|| '010706'
|| '010113'
|| '02MGF '
|| '019005'
|| '019006'
|| '02MKD '
|| '010116'
|| '010707'
|| '012633'
|| '012010'
|| '011581'
|| '011125'
|| '011126'
|| '011582'
|| '012011'
|| '012634'
|| '010708'
|| '010117'
|| '02MMK '
|| '019011'
|| '019012'
|| '02MNI '
|| '010118'
|| '010710'
|| '012640'
|| '012014'
|| '011583'
|| '011127'
|| '011128'
|| '011584'
|| '012015'
|| '012641'
|| '010755'
|| '010119'
|| '02MNT '
|| '019015'
|| '019025'
|| '02MOP '
|| '010120'
|| '010760'
|| '012642'
|| '012016'
|| '011585'
|| '011130'
|| '011131'
|| '011586'
|| '012017'
|| '012643'
|| '010768'
|| '010122'
|| '02MPB '
|| '019030'
|| '019035'
|| '02MRO '
|| '010123'
|| '010769'
|| '012661'
|| '012020'
|| '011587'
|| '011132'
|| '011133'
|| '011588'
|| '012021'
|| '012662'
|| '010770'
|| '010124'
|| '02MSN '
|| '019040'
|| '019050'
|| '02MTL '
|| '010125'
|| '010771'
|| '012663'
|| '012025'
|| '011589'
|| '011134'
|| '011140'
|| '011590'
|| '012026'
|| '012664'
|| '010772'
|| '010126'
|| '02MTP '
|| '019080'
|| '019090'
|| '02MUR '
|| '010127'
|| '010775'
|| '012665'
|| '012028'
|| '011591'
|| '011141'
|| '011149'
|| '011592'
|| '012029'
|| '012666'
|| '010780'
|| '010129'
|| '02MVQ '
|| '019999'
|| '02MVR '
|| '010130'
|| '010781'
|| '012667'
|| '012030'
|| '011593'
|| '011150'
|| '011151'
|| '011594'
|| '012031'
|| '012668'
|| '010782'
|| '010132'
|| '02MWK '
|| '02MXN '
|| '010133'
|| '010783'
|| '012669'
|| '012033'
|| '011595'
|| '011152'
|| '011153'
|| '011596'
|| '012040'
|| '012680'
|| '010784'
|| '010135'
|| '02MXP '
|| '02MXV '
|| '010136'
|| '010785'
|| '012681'
|| '012041'
|| '011597'
|| '011154'
|| '011155'
|| '011598'
|| '012042'
|| '012682'
|| '010790'
|| '010138'
|| '02MYR '
|| '02MZE '
|| '010139'
|| '012684'
|| '012043'
|| '011599'
|| '011156'
|| '010805'
|| '010809'
|| '011157'
|| '011600'
|| '012045'
|| '012685'
|| '010141'
|| '02MZM '
|| '02MZN '
|| '010142'
|| '012686'
|| '012046'
|| '011601'
|| '011158'
|| '010811'
|| '010813'
|| '011160'
|| '011602'
|| '012047'
|| '012687'
|| '010143'
|| '02NAD '
|| '02NGN '
|| '010144'
|| '012690'
|| '012048'
|| '011603'
|| '011161'
|| '010817'
|| '010821'
|| '011162'
|| '011604'
|| '012050'
|| '012691'
|| '010145'
|| '02NIC '
|| '02NIO '
|| '010146'
|| '012695'
|| '012051'
|| '011605'
|| '011163'
|| '010823'
|| '010825'
|| '011164'
|| '011606'
|| '012052'
|| '012696'
|| '010147'
|| '02NLG '
|| '02NOK '
|| '010150'
|| '012713'
|| '012053'
|| '011607'
|| '011165'
|| '010829'
|| '010833'
|| '011166'
|| '011608'
|| '012054'
|| '012714'
|| '010151'
|| '02NPR '
|| '02NZD '
|| '010152'
|| '012715'
|| '012055'
|| '011609'
|| '011167'
|| '010837'
|| '010840'
|| '011168'
|| '011610'
|| '012056'
|| '012717'
|| '010153'
|| '02OMR '
|| '02PAB '
|| '010154'
|| '012730'
|| '012057'
|| '011611'
|| '011169'
|| '010841'
|| '010842'
|| '011170'
|| '011612'
|| '012060'
|| '012731'
|| '010156'
|| '02PEN '
|| '02PES '
|| '010157'
|| '012740'
|| '012061'
|| '011613'
|| '011177'
|| '010843'
|| '010844'
|| '011178'
|| '011614'
|| '012062'
|| '012750'
|| '010158'
|| '02PGK '
|| '02PHP '
|| '010161'
|| '012751'
|| '012063'
|| '011615'
|| '011179'
|| '010845'
|| '010849'
|| '011180'
|| '011616'
|| '012064'
|| '012758'
|| '010162'
|| '02PKR '
|| '02PLN '
|| '010163'
|| '012759'
|| '012065'
|| '011617'
|| '011181'
|| '010857'
|| '010870'
|| '011182'
|| '011618'
|| '012066'
|| '012760'
|| '010164'
|| '02PTE '
|| '02PYG '
|| '010165'
|| '012773'
|| '012067'
|| '011619'
|| '011183'
|| '010871'
|| '010872'
|| '011184'
|| '011620'
|| '012068'
|| '012780'
|| '010166'
|| '02QAR '
|| '02ROL '
|| '010167'
|| '012785'
|| '012069'
|| '011621'
|| '011185'
|| '010873'
|| '010874'
|| '011186'
|| '011622'
|| '012070'
|| '012790'
|| '010168'
|| '02RON '
|| '02RSD '
|| '010169'
|| '012800'
|| '012071'
|| '011623'
|| '011187'
|| '010877'
|| '010878'
|| '011188'
|| '011624'
|| '012072'
|| '012801'
|| '010170'
|| '02RUB '
|| '02RUR '
|| '010171'
|| '012802'
|| '012073'
|| '011625'
|| '011189'
|| '010879'
|| '010880'
|| '011190'
|| '011626'
|| '012074'
|| '012803'
|| '010172'
|| '02RWF '
|| '02SAR '
|| '010173'
|| '012804'
|| '012075'
|| '011627'
|| '011191'
|| '010881'
|| '010882'
|| '011192'
|| '011628'
|| '012076'
|| '012806'
|| '010174'
|| '02SBD '
|| '02SCR '
|| '010175'
|| '012807'
|| '012077'
|| '011629'
|| '011195'
|| '010883'
|| '010884'
|| '011196'
|| '011630'
|| '012078'
|| '012820'
|| '010176'
|| '02SDD '
|| '02SDG '
|| '010177'
|| '012821'
|| '012079'
|| '011631'
|| '011197'
|| '010885'
|| '010886'
|| '011632'
|| '011198'
|| '012080'
|| '012822'
|| '010178'
|| '02SDP '
|| '02SEK '
|| '010179'
|| '012823'
|| '012081'
|| '011200'
));
dcl 1 inp based(addr(inpV)),
5 ele (1500),
10 d2 char(2) ,
10 d5 char(4) ;
dcl 1 WHERE,
5 W1 char( 8) INIT('20140707') ,
5 W2 char( 2) ,
5 W4 char( 8) INIT('20140707') ,
5 W5 char(20) ;
dcl 1 fetch,
5 f0 char(20) ,
5 f1 char( 8) ,
5 f2 char( 2) ,
5 f3 char( 2) ,
5 f4 char( 8) ,
5 f5 char(20) ,
5 f6 char(26) ,
5 f7 char( 7) ;
1/**-----------------------------------------------------------------**/
/** 1.5 DB2 Infrastruktur **/
/**-----------------------------------------------------------------**/
exec sql include sqlca;
/* Cursor */
-/**-----------------------------------------------------------------**/
/** 1.6 Strukturen **/
/**-----------------------------------------------------------------**/
dcl
1 aux , /* auxiliary */
3 isPutOn bit(1) aligned init('0'b) ,
3 putFlag(100) char(1) init((100)('')),
3 C_tcd152_open bit(1) aligned init('0'b) ,
3 C_yCDPUT3_open bit(1) aligned init('0'b) ,
3 c_region_open bit(1) aligned init('0'b) ,
3 c_tracePidClientId_open bit(1) aligned init('0'b) ,
3 ts char(26) init( '' ),
3 t bin fixed(31,0) init( 0 ) , /* tabulator */
3 p_9 pic'9' init( 0 ) ;
-/**-----------------------------------------------------------------**/
/** 1.7 Uebrige Deklarationen **/
/**-----------------------------------------------------------------**/
dcl ( addr
, binary
, cstg
, datetime
, hbound
, high
, length
, max
, min
, mod
, null
, pliRetv
, ptradd
, string
, substr
, sysnull
, translate
, trim
, verify ) builtin;
/* db cursor (dynamic sql) sql */
exec sql declare c1 cursor for s1;
/* counters decl */
dcl 1 cnt
, 5 fnd bin fixed(31) init(0)
, 5 noF bin fixed(31) init(0)
, 5 cnt bin fixed(31) init(0)
, 5 sel bin fixed(31) init(0)
, 5 ins bin fixed(31) init(0)
, 5 write_ddout bin fixed(31) init(0)
, 5 errors bin fixed(31) init(0)
, 5 commit_counter bin fixed(31) init(0)
, 5 tst char(26) init('')
, 5 fun char(1) init('')
;
dcl (cx, iMax, ix, iy) fixed(31) bin;
dcl res bit(1);
/*_____________________________________________________________________
main */
/* inits */
put ('start of qzDit02') skip;
put (' parm=' || trim($parm) || ' len=' || length($parm)) skip;
call sql_connect();
put ('connected') skip;
iMax = 1000;
do cx=1 to length($parm);
fun = substr($parm, cx, 1);
if fun = 'h' then do;
iMax = 100000;
end;
else if fun = 'O' | fun = 'F' then do;
do ix=1 to iMax;
iy = mod(ix, 1500) + 1;
/* put (''|| iY ||' d2='|| d2(iY) ||' d5='|| d5(iY)) skip; */
w2 = d2(iY);
w5 = d5(iY);
if fun = 'O' then
res = sqlOrig();
else if fun = 'F' then
res = sqlFetFir();
if res then do;
/* put('found f0=' || f0 ||' f1='|| f1 ||' f2='|| f2
||' f3=' || f3 ||' f4='|| f4 ||' f5='|| f5) skip;*/
fnd = fnd + 1;
end;
else do;
/* put('not found') skip; */
noF = noF + 1;
end;
end;
put ('fun='|| fun || ': ' || iMax || ': '
|| fnd || ' found and ' || noF || ' not') skip;
end;
else if fun <> ' ' then do;
put ('bad fun='|| fun ) skip;
end;
end;
return;
if substr($parm, 1, 1) = 'A' then
call doA(substr($parm, 2, 1));
else if substr($parm, 1, 1) = 'B' then
call doB;
else do;
put (' no test ') skip;
cnt.tst = '';
cnt.sel = 123;
cnt.tst = 'sel = ' || edit(sel, '9999') || ' und schluss';
put (' sel=123: ', cnt.tst) skip;
exec sql
select current timestamp into :cnt.tst
from sysibm.sysDummy1
;
put ('sql code: ', sqlCode) skip;
if sqlCode <> 0 THEN
call sqlMsg;
put ('selected current timestamp: ', cnt.tst) skip;
end;
RETURN;
/*_____________________________________________________________________
subroutines */
sqlOrig: proc returns(bit(1));
exec sql
SELECT DI00200, DI00201, DI00202, DI00203, DI00204, DI00205,
DI00206, DI00207
INTO :F0, :F1, :F2, :F3, :F4, :F5, :F6, :F7
FROM oa1p.VDI002A1A A WHERE
DI00201 <= :W1 AND DI00201 = ( SELECT MAX ( DI00201 ) FROM
VDI002A1A WHERE DI00201 <= :W1 AND DI00202 = A.DI00202
AND DI00203 = A.DI00203 AND DI00204 >= :W4 AND DI00205 =
A.DI00205 ) AND DI00202 = :W2 AND DI00203 = ' ' AND
DI00204 >= :W4 AND DI00205 = :W5
fetch first 1 row only
;
if sqlCode = 0 then
return('1'b);
if sqlCode <> 100 then
call sqlErr(sourceLine(), 'sqlOrig select into');
return ('0'b);
end sqlOrig;
sqlFetFir: proc returns(bit(1));
exec sql
SELECT DI00200, DI00201, DI00202, DI00203, DI00204, DI00205,
DI00206, DI00207
INTO :F0, :F1, :F2, :F3, :F4, :F5, :F6, :F7
from oa1p.VDI002A1A A
WHERE DI00201 <= :w1
AND DI00202 = :w2 AND DI00203 = ' '
AND DI00204 >= :w4 AND DI00205 = :w5
order by di00201 desc
fetch first 1 row only
;
if sqlCode = 0 then
return('1'b);
if sqlCode <> 100 then
call sqlErr(sourceLine(), 'sqlFetFir select into');
return ('0'b);
end sqlFetFir;
doA:proc($f);
dcl $f char(1);
dcl (ix, jx) bin fixed(31) init(0);
dcl (pa, fo)char(3);
dcl uu char(36);
dcl tx char(10000) varying;
do jx=1 to 5;
do ix=1 to 10000;
pa = edit(1 + mod(ix, 5), '999');
uu = 'uuid' || edit(ix, '9999') || '=uuid';
fo = 'for';
tx = copy('p=' || pa || ' uuid=' || uu || ' fo=' || fo
|| '... ', 40);
/* if $f = '1' then
call doV1(pa, uu, fo, tx);
else if $f = '2' then
call doV2(pa, uu, fo, tx);
else if $f = '3' then
call doV3(pa, uu, fo, tx);
*/ end;
end;
call sql_commit;
put ('commit after ' || trim(edit(cnt.cnt, 'zzzzzz9'))
|| ' ' || $f || ': ' || cnt.fun) skip;
end doA;
doB:proc();
end doB;
/*
sql connect__________________________________________________________*/
%include yxrrsaf;
sql_connect:proc();
dcl ssid char(04) init('DBOF');
dcl plan char(08) init('QZTEST');
if yxrrsaf('CONNECT',ssid,plan) ^= 0 then
put('qzDit02'
,'Error in YXRRSAF Call'
,'SSID - '||ssid
,'PLAN - '||plan) skip;
end sql_connect;
/*
commit_______________________________________________________________*/
sql_commit: proc();
if yxrrsaf('COMMIT') ^= 0 then
put('qzDit02'
,'Error in YXRRSAF Commit Call');
end sql_commit;
sql_rollback: proc();
if yxrrsaf('ROLLBACK') ^= 0 then
put('qzDit02'
,'Error in YXRRSAF ROLLBACK Call');
end sql_rollback;
DCL DSNTIAR ENTRY EXTERNAL OPTIONS(ASM INTER RETCODE);
sqlMsg: proc ();
DCL MSGWIDTH FIXED BIN(31) INIT(72);
DCL MSGBLEN FIXED BIN(15) INIT(20); /* MAX # SQL MESSAGES */
DCL i FIXED BIN(31) INIT(0);
DCL 01 MESSAGE /* MESSAGE RETURN BUFFER */
, 02 MESSAGEL FIXED BIN(15) INIT(1440) /* BUFFER LENGTH */
, 02 MESSAGET(MSGBLEN) CHAR(msgWidth) INIT((*)' ') /* TEXT */
;
/* NOW PRINT OUT SQL STATEMENT RESULTS VIA DSNTIAR */
CALL DSNTIAR(SQLCA,MESSAGE,MSGWIDTH);
IF PLIRETV ^= 0 THEN DO; /* IF THE RETURN CODE ISN'T ZERO@08*/
/* ISSUE AN ERROR MESSAGE @08*/
PUT EDIT (' RETURN CODE ', PLIRETV, /* @08*/
' FROM MESSAGE ROUTINE DSNTIAR.') /* @08*/
(COL(1), A(13), F(8), A(30)); /* ISSUE THE MESSAGE @08*/
END; /* END ISSUE AN ERROR MESSAGE @08*/
DO I = 1 TO MSGBLEN /* @08*/
WHILE (MESSAGET(I) ^= ''); /* @08*/
PUT EDIT ( MESSAGET(I) ) (COL(1), A(msgWIdth)); /* @08*/
END; /* @08*/
end SqlMsg;
sqlErr: proc (lNo, txt);
DCL lNo FIXED BIN(31);
dcl txt char(500) varying;
put ('error at ' || trim(edit(lNo, 'ZZZZZZZZZ9'))
|| ': ' || txt) skip;
call sqlMsg;
call sql_rollback;
put ('error signal error') skip;
signal error;
end sqlErr;
end QZDIT02;