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:
  1.      FUNIX      IF   F 1000        SPECIAL PGMNAME('UNIXCMD')
  2.      F                                     PLIST(UNIXPARM) USROPN
  3.      FQSYSPRT   O    F  132        PRINTER
  4.      dencodedExcha...
  5.      dngeToken         s             88
  6.      dvar1             s            100
  7.      D fd              S             10I 0
  8.      D wrdata          S             24A
  9.      D rddata          S             48A
  10.      D flags           S             10U 0
  11.      D mode            S             10U 0
  12.      D Msg             S             50A
  13.      D Len             S             10I 0
  14.  
  15.      D cmd             s           5000a
  16.      D*mode            s              1A   inz('P')
  17.  
  18.      D record          ds          1000
  19.      D outrec          ds           132
  20.  
  21.      H*DFTACTGRP(*NO) ACTGRP(*NEW)
  22.      D/copy IFSEBOOK/QRPGLESRC,IFSIO_H
  23.      C     UNIXPARM      PLIST
  24.      C                   PARM                    CMD
  25.      C                   PARM                    MODE
  26.       /free
  27.        XML-INTO encodedExchangeToken %XML('/home/I0RS01HU/+
  28.        INPUT.xml':'doc=file case=any path=+
  29.        TokenExchangeResponse/encodedExchangeToken');
  30.       // encodedExchangeToken =
  31.       //   'u3VtNgfyWU9faZc3Iaa8ZWbE5UZCfmC17yA4MyW'
  32.       //   + '0ghflt9dNQNDpCcgMZiG/kXPE4vv2CHL93B4iKiODHxxdVA==';
  33.        cmd = 'echo ' + '''' +  encodedExchangeToken + ''' ! openssl +
  34.           enc -d -aes-128-ecb -K 363631653237354f494d31554c594c4a +
  35.           -nopad -nosalt -base64 -A';
  36.        open UNIX;
  37.        read UNIX record;
  38.        dow not %eof(UNIX);
  39.            outrec = record;
  40.            eval      flags = O_WRONLY + O_CREAT + O_TRUNC;
  41.             eval mode =  S_IRUSR + S_IWUSR + S_IRGRP + S_IROTH;
  42.            eval      fd = open('/home/i0rs01hu/invoice.xml':
  43.                                              flags: mode);
  44.                          if        fd < 0 ;
  45.            eval  Msg = 'open(): failed for writing';
  46.                 dsply  Msg;
  47.                 endif;
  48.            callp     write(fd: %addr(outrec): %size(outrec));
  49.            write QSYSPRT outrec;
  50.            eval var1= %trim(outrec);
  51.            read UNIX record;
  52.            enddo;
  53.         close UNIX;
  54.         *inlr = *on;
  55.       /end-free
  56.  
© 2004-2019 by midrange.com generated in 0.007s valid xhtml & css