midrange.com code scratchpad |
Name:
Data structure fields can't be defined as varying
|
Scriptlanguage:
Plain Text
|
Tabwidth:
4
|
Date:
11/19/2019 10:48:57 am
|
IP:
Logged
|
|
Description:
Hi,
I can't define data structure fields as varying that is why unable to use %trimr for outrec and record that is why unable to remove those junk values after my decrypted value please refer below code and please advise what can i do in this condition as if i use keyword varying for my data structure fields then compiler SEU gives error and if i use them as stand alone fields then run time error and if i use them as it is then unable to remove junk values using %trimr.
|
Code:
- FUNIX IF F 1000 SPECIAL PGMNAME('UNIXCMD')
- F PLIST(UNIXPARM) USROPN
- FQSYSPRT O F 132 PRINTER
- dencodedExcha...
- dngeToken s 500 VARYING
-
- DPOS2 S 5U 0
- D cmd s 5000a
- D mode s 1A inz('P')
- D Åcommand s 512a
- d QCMDEXC PR ExtPgm('QCMDEXC')
- d command 500a const
- d clength 15p 5 const
-
- D record DS 1000
- D outrec DS 132
-
- C UNIXPARM PLIST
- C PARM CMD
- C PARM MODE
- /free
- RECORD = *BLANKS;
- OUTREC = *BLANKS;
- XML-INTO encodedExchangeToken %XML('/home/I0RS01HU/+
- INPUT.xml':'doc=file case=any path=+
- TokenExchangeResponse/encodedExchangeToken');
- eval encodedExchangeToken =%trimr(encodedExchangeToken);
- cmd = 'echo ' + '''' + encodedExchangeToken + ''' ! openssl +
- enc -d -aes-128-ecb -K 363631653237354f494d31554c594c4a +
- -nopad -nosalt -base64 -A';
- open UNIX;
- read UNIX record;
- dow not %eof(UNIX);
- outrec = record;
- eval outrec = %trimr(outrec);
- Åcommand = 'CRTPF FILE(RISHI/TESTFILE) RCDLEN(500)';
- QCMDEXC(%trim(Åcommand): %len(%trim(Åcommand)));
- //Write into file
- EXEC SQL
- INSERT INTO rishi/TESTFILE VALUES (:outrec);
- write QSYSPRT outrec;
- outrec = record;
- write QSYSPRT outrec;
- dsply %subst(outrec:1:48);
- read UNIX record;
- enddo;
- close UNIX;
- *inlr = *on;
- /end-free
-
|
|
|