cancel
Showing results for 
Search instead for 
Did you mean: 

PaPM - function dependency

ulifei
Explorer
0 Kudos

Dear expert

I am now working with PaPM 3.0 SP08, in my memory, the function is dependent in the previous version, e.g if a Function B refer function A as input, then, when i run the function B, function A will automatically run accordingly. but in the SP08, sound the dependency is gone. actually, i execute below steps

1. Create two model table as receiver and sender for a allocation

2. Create a allocation function, and select the above the two model tables as sender and receiver. and run the allocation function, the result is as expected

3. create a join function and refer the above allocation function as input, only one rule for the join and it works fine

by now everything goes well, then

4. i delete data for the allocation function without run it again.

5. i run the join function again, and find the result is empty.

therefore, i draw a conclusion that the allocation is not run again even it is referred as the input function, but it is not reasonable.

because in most of case, the last step is not the allocation but "Writer" or "JOIN" (= we usually write our allocation into the database), it the input function cannot be executed automatically, I will bring a lot of effort during the execution phase....

Hi Fei Li

Can you send images of the join and allocation configuration?

Regards,

Alejandro

Accepted Solutions (1)

Accepted Solutions (1)

ulifei
Explorer
0 Kudos

I have figured out the rootcause for this issue.

it is becasue i set the some funciton as the activity in the process template, it will lead that only the buffer data of it will be used for the success fuction.

Answers (1)

Answers (1)

nathskie28
Participant
0 Kudos

Hello,

Just a question, when you said you find the result empty, Is it the result of a function? or the Ytable?

If the ALLOCATION function processing type is set to "sub-function" and this ALLOCATION was used as an input to another function in which by your example is a JOIN function, The normal behavior would be the JOIN will only use the processing logic of the allocation and will not populate the result of the allocation to its Ytable. You will still have the result of the JOIN function and its Ytable will be populated with data records.

If you want the allocation to write data in the Ytable, you must set the processing type to EXECUTABLE. In this manner, the join will trigger the allocation and will be executed just like a normal "RUN" of the allocation function itself.

I hope this helps!

Thank you,

Nathaniel

ulifei
Explorer
0 Kudos

Dear Nathaniel

thank you very much for your feedback. first of all , to your question, the empty means a result of function. i didn't not check Ytable.

Anyway, following your instruction, the problem is still there, to be more concreate, i describe what i had done based on your instruction.

1. for both join and allocation, Processing type is changed to be EXECUTABLE and activate

2. after run the allocation, i just delete the data by click the button on the right-top of the screen,(near to the "edit" button)

3. Run the function Join, still the result is empty as below (as my expectation, there should be two record, as the output of allocation is "two records")

and we can find out "0" record from the allocation(11534) from the application log. sound the allocation is not triggered again...

Looking forward to your further feedback, thank you so much

Best Regards

Leif

nathskie28
Participant
0 Kudos

Hi Leif,

As you have mentioned, ALLOCATION function is working and JOIN is not showing the result. I suspect that it is something related to the configuration of the JOIN function. Can you show the screenhot of the configuration?

Thank you,

Nathaniel