on 06-19-2014 2:12 AM
Dear MDM experts,
I am working on a new project using MDM as the SOR of PS project master data. And the main function we need is to generate number for projects.
I know that we can create ports that could provide number range via a lookup table, however there's one problem that I am still sticking with, which is to generate sequencial number for project. Here's the details:
All projects could be either a parent project, or a child project that is under a certain parent project. One parent project could have multiple child projects.
The naming requirement is, whatever the parent project number is, its child project's prj number should be PARENT_PROJECT_NUMBER-01, -02, -03....
For example, I have a parent project called TJ14SJ302000001, so all its child project number should be
TJ14SJ302000001-01
TJ14SJ302000001-02
TJ14SJ302000001-03
...
How can I do that using MDM, can anyone give me a clue? I have considered calculation expression function in the field, but then I find it's dynamic which means when the total number of child projecgt increases, the COUNT will increase as well so the number is changing....I'm not thinking of a workflow with assignments but want to know if that's the right direction...
Regards,
_________
Angela Z
Hi, does anyone have a possible hint?
I think using either field expression or assignment will face a problem: the formula cannot calculate across different records in the same table, hence it cannot count how many child projects have already been created. Am I right on this point?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Negi,
Here's the scenario -
Data flow: A customized project management system (call it system ABC) creates the project master (without a project number). It sends the project basic information to MDM, and MDM generate the project number by rules and send back it to ABC as well as to ECC. Generally speaking: ABC -> MDM -> ABC/ECC
Project number rule:
- parent project: AA+BB+CC+AutoID (8 digits). AA = province abbr, BB = year (if 2014, BB = 14), and CC = project type (like SJ, KF, etc)
- child project: parent project number + "-" + child project number (01, 02, 03, ...). So if there are already 4 child projects under a certain parent project (eg, SH14SJ00000007), then it should get the number as SH14SJ00000007-05.
Now I am able to generate the parent project number by field's expression calculation. But for the child project, since it needs the system to calculate the number of projects that already exists under a parent project, I am still struggling with...
Regards,
_________
AZ
Hi Anqi,
There is no straight forward way to get this done.I can suggest a workaround in which you can leverage PI for the calculations.It would be advisable to store parent project in another field.
For Child Project no - do a syndication based on the Parent field value.PI would calculate number of segments sent out and that would be the count which you are looking for.Additionally the above logic can be easily built in PI and once these computations are done an xml can be dropped in the inbound port.This would update the Project Number.
Thanks,
Ravi
Hi Ravi,
Thanks for your response!
My problem is, as per the business design, MDM is expected to be the "number generator" and we have very limited PI capabilities (not considering using BPM or so).
Currently I'm trying to work out a similar solution like the one you provided:
Table Design:
- One main table of Parent project with a qualified table of Child projects. Qualifiers are all child projects related fields, and the parent project number and name as the non-qualifier.
- In the main table, 3 special fields are leveraged, and they are dynamically changed everytime when a new child project comes.
Data flow:
In this design, the Count, the child project number and the child project name fields in the main table will always just reflect the last child prj.
Right now I'm still facing two issues using this approach:
I'm still working with my PI and developing team on this.
I'll really appreciate If you or any other experts could take a look at above solution and give me some feedback.
Many thanks!
____________
Anqi
Hi Anqi,
Thanks for explaining your approach in detail.
with regard to your comment "we have very limited PI capabilities (not considering using BPM or so)" - We wont need a BPM development and believe me its very small change.
This would involve use of nodal functions in message mapping in PI.Let me give you an example - with regard to your first problem - PI can pick the value which is latest on basis of a criteria and send only that value in the inbound file for MDM. This criteria can be a Flag which is set while populating child project or logical compaision of Project values.Not a major development at all!
Regarding point 2.This can achieved this way too.Portal can read the data from MDM and based on logic set in the code,it can write the value.what Portal landscape are working on?
Thanks,
Ravi
Hi Ravi,
Regarding to using portal: we are using customized portal, meaning not the portal of NetWeaver component but totally JAVA developed. So we'll not take this as an option currently.
As for now, we have persuaded the legacy system dev team to send us the count of child projects to MDM, so that the only thing MDM needs to do is to contatenate the parent project number and the the count....I feel deeply pity about this solution, since I so want it to be realized within SAP side.
So I'll keep digging on my own later about using PI. As of now, we no longer have the sequence number issue...
Many thanks for your suggestions!!
Regards,
Anqi
User | Count |
---|---|
84 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.