cancel
Showing results for 
Search instead for 
Did you mean: 

Simple line by line log stored in property

DLange
Participant
0 Kudos

Dear community,

currently I am trying to store a simple log of iFlow in property value. I will get several sales orders and I want to store the info of success (SAP sales order ID) and in case of error the error message in a simple text format. I am splitting the orders currently and for every entry I am doing the post in S/4 system. After posting I create the log.

Problem currently that content of property will not be extended. Only last entry at the end is visible.

Thanks

Best regards

DL

Accepted Solutions (1)

Accepted Solutions (1)

DLange
Participant
0 Kudos

So I was able to fix the problem myself. Local exception process was missing and from this exception process I will call my custom exception log process. In exception process I set via script also the http response as new body.

Thanks

Best regards

DL

Answers (2)

Answers (2)

DLange
Participant
0 Kudos

Hi community,

in case of successful creation of sales order I was able to build the log in correct way with "Gather" step. Now my problem is that with failed creation of sales oder in S/4 the followed steps will not be called anymore....

So CPI will skip the call of sub process and jumps directly behind the gather log step...

Someone idea what is correct sequence?

Thanks

Best regards

DL

MartyMcCormick
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Dominik

You could set the body to be the status at the end of your subprocess (which it looks like you're doing), for example: <custorder>Order123></custorder><status>success</status>

Then you could place a Gather step after the call Subprocess write log step in the main process and aggregate plain text and wrap the final body with <root></root> and then you would have a well formed payload with all of the statuses.

Thanks,
Marty

DLange
Participant
0 Kudos

Hi marty.mccormick,

thanks again for the good hint regarding the Gather step. I see so far still one problem with the place of the gather step you proposed. The intention of the sub process "Write Log" is that in first step the namespace of S/4 system will be removed. Second step I will get the sales order ID from S/4 feedback + property for log file name. In Groovy script I tried to create the log. Now in router step I check if splitter / loop is finished (so all orders are processed) and then I will write the log from body to an AWS S3 bucket. If the gather step is now in the main process I guess this is too late here. Because the storage of the log in S3 bucket was already done.

Hope you get my point.

Thanks

Best regards

DL