cancel
Showing results for 
Search instead for 
Did you mean: 

Updating AIF Index Table

Former Member
0 Kudos

Hello!

Bought . It's really nice. After running through it I started experimenting with our own interfaces (inbound, PI proxy).

First decided to move several types of messages to new index table. Created new index table by copying /AIF/STD_IDX_TBL and extending it with several new key fields. Also made customizing settings to target interface to new index table.

And immediately faced an issue. Now my old messages are in old index table (which is "not known" to interface anymore), so /AIF/ERR is not displaying them. I can't reprocess them or even see, what was in them on arrival.

While the major part of the fields in all AIF message index tables are the same it was not a big deal to copy index data between tables. But after that new key fields still remain empty. Luckily, for messages that are restarted in /AIF/ERR, system automatically refills key fields and solve issue. But for already processed messages (which are not allowed to be restarted) new key fields still remain empty and they are "placed" in Undefined folder.

So my questions are:

  • Is there any standard tool in Application Interface Framework, which can help with moving messages from old index table to new one?
  • If not, what will be the correct FMs, Classes/Methods to determine key fields for messages if all I have as an input is record in index table?

Thanks in advance!


Regards,
Petr

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi,

we have the same problem and it seems that there is no out of the box kind of solution.

If you are using an xml based engine like us and the value for the keyfield is within the source data  you can get the data from /aif/pers_xml  by matching the MSGGUID from the index table. Then you can just  do a Transformation to get the struct containing the original source data.

the code would be:

call transformation id source [data from /aif/pers_xml] result root = <FS for the Proper Struct Type>.


This field symbol can then be used to update the keyfield.


If the keyfield is within the target data i fear you have to somehow apply the transform functionality available in /Aif/err.  I tried to do a quick debug session to find the exact function modules or classes you have to use but didn't find anything usable yet. Perhaps you are luckier than me



Kind Regards.


David Rittinghaus

Former Member
0 Kudos

I stopped at creating simple report to transfer at least known data (including MSGGUID) and then restarting messages. Digging in XML data for records in test system is not feasible. Hope not to face the same task in productive system.

Attaching the code of my simple AIF index records copying report.

Former Member
0 Kudos

Hi,

have you tried the data correction report? - /aif/corrections

Best regards,

Ionut Scirlet

Former Member
0 Kudos

Yes. I tried it before and after running my copy program. But was not able to see any changes.

Answers (0)