midrange.com code scratchpad |
Name:
code to write in xml file
|
Scriptlanguage:
Plain Text
|
Tabwidth:
4
|
Date:
11/18/2019 04:37:56 pm
|
IP:
Logged
|
|
Description:
below program is failing at run time and unable to write anything in invoice xml file.
|
Code:
- FUNIX IF F 1000 SPECIAL PGMNAME('UNIXCMD')
- F PLIST(UNIXPARM) USROPN
- FQSYSPRT O F 132 PRINTER
- dencodedExcha...
- dngeToken s 88
- dvar1 s 100
- D fd S 10I 0
- D wrdata S 24A
- D rddata S 48A
- D flags S 10U 0
- D mode S 10U 0
- D Msg S 50A
- D Len S 10I 0
-
- D cmd s 5000a
- D*mode s 1A inz('P')
-
- D record ds 1000
- D outrec ds 132
-
- H*DFTACTGRP(*NO) ACTGRP(*NEW)
- D/copy IFSEBOOK/QRPGLESRC,IFSIO_H
- C UNIXPARM PLIST
- C PARM CMD
- C PARM MODE
- /free
- XML-INTO encodedExchangeToken %XML('/home/I0RS01HU/+
- INPUT.xml':'doc=file case=any path=+
- TokenExchangeResponse/encodedExchangeToken');
- // encodedExchangeToken =
- // 'u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW'
- // + '0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL93B4iKiODHxxdVA==';
- 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 flags = O_WRONLY + O_CREAT + O_TRUNC;
- eval mode = S_IRUSR + S_IWUSR + S_IRGRP + S_IROTH;
- eval fd = open('/home/i0rs01hu/invoice.xml':
- flags: mode);
- if fd < 0 ;
- eval Msg = 'open(): failed for writing';
- dsply Msg;
- endif;
- callp write(fd: %addr(outrec): %size(outrec));
- write QSYSPRT outrec;
- eval var1= %trim(outrec);
- read UNIX record;
- enddo;
- close UNIX;
- *inlr = *on;
- /end-free
-
|
|
|