h dftactgrp(*no) bnddir('QC2LE') h option (*nodebugio) d/copy *libl/qrpglesrc,IFSIO_H d fd s 10I 0 d crlf c x'0D25' d $xml s 512a d $file_name s 50 d $file_path s 100 d ProgStatus sds d Parms *PARMS d ProgName *PROC d ErrMsgID 40 46 d ErrMsg 91 169 d JobName 244 253 d Userid 254 263 d JobNumber 264 269 * *----- Main Routine * c exsr @open_file c exsr @write_data c exsr @close_file c eval *inlr = *on c return * *----- Open IFS file * c @open_file begsr c eval $file_name = 'Mydata.xml' c eval $file_path = '/Myxml/data/' + c %trim($file_name) /free fd = open(%trim($file_path) : O_WRONLY+O_CREAT+O_TRUNC+O_CCSID : S_IRGRP + S_IWGRP + S_IXGRP : 819); callp close(fd); fd = open(%trim($file_path):O_WRONLY+O_TEXTDATA); $xml = '<?xml version="1.0" encoding="UTF-8"?>' + crlf + '<MyData>' + crlf; callp write(fd: %addr($xml): %len(%trim($xml))); /end-free c endsr * *----- Close IFS file * c @close_file begsr /free $xml = '</MyData>' + crlf; callp write(fd: %addr($xml): %len(%trim($xml))); callp close(fd); /end-free c endsr * *----- Write Data into the IFS file * c @write_data begsr /free $xml = '<Name>' + 'My name is $user_id' + '</Name>' + crlf; callp write(fd: %addr($xml): %len(%trim($xml))); $xml = '<Date>' + 'Today is ' + %char(%date()) + '</Date>' + crlf; callp write(fd: %addr($xml): %len(%trim($xml))); /end-free c endsr * *----- Initial Routine * c *inzsr begsr c endsr
Output for the above program in IFS
<?xml version="1.0" encoding="UTF-8"?> <MyData> <Name>My name is $user_id</Name> <Date>Today is 2011-06-08</Date> </MyData>
Click here if you need source for IFSIO_H
No comments:
Post a Comment
NO JUNK, Please try to keep this clean and related to the topic at hand.
Comments are for users to ask questions, collaborate or improve on existing.