Skip to Content
0

Can you select data out of AIF, modify it, and kick off re-processing?

Oct 27, 2016 at 09:24 PM

184

avatar image
Former Member

I know, I know... but i'm going to ask anyway.

If, for some reason, I wanted to correct a transaction OUTSIDE of the standard AIF error monitor, is there a way to extract that transaction, correct it, and update it back in AIF for re-processing?

Are there standard FMs/Methods available to use that will extract data and push it back using a MSGID or something?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
David Rittinghaus Feb 07, 2017 at 09:32 AM
0

Hi,

it is not too complicated to implement this on your own. At lest if you are using the xml engine.

/aif/pers_xml contains the original data and you can select into it via the message id.

/aif/t_finf contains the data type for the raw structure and you can select into it via the interface name and the namespace

Field-Symbols:

<ls_data> type any.

create data r_raw_structure_ref type (type from /AIF/T_FINF).

 assign r_raw_structure_ref->* to <ls_data>.

call transformation id source xml data_field_from_/AIF/PERS_XML result root = <ls_data>

after you changed <ls_data> you can transform it back and enter it into the database.

call transformation id source root = <ls_data> result xml data_field_from_/AIF/PERS_XML.

Depending on your aif version you might have to compress and decompress the data field first using

call method cl_abap_gzip=>decompress_binary 

and

call method cl_abap_gzip=>compress_binary

Kind Regards

David Rittinghaus

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Feb 07, 2017 at 09:20 PM
0

David.. thanks for all that. yes, we're almost exclusively using the XML engine.

What we wound up doing is persisting error messages into a Ztable for correction. after edits were made, we re-submitted that data through AIF for processing.

Share
10 |10000 characters needed characters left characters exceeded