cancel
Showing results for 
Search instead for 
Did you mean: 

BPEM processes from NetWeaver 7.3 in NetWeaver 7.31

Former Member
0 Kudos

Hi everyone,

we are in process of migration of our servers from version 7.3 SP07 to 7.31 SP08. The source codes of development components were copied between our development configurations using DTR tools (we performed exact 1:1 copy).

But when we try to edit a BPEM process, (created in NWDS 7.3 SP07) in our "new" NWDS 7.31 SP08, it introduces some weird errors - for example, after editing of a simple function that concatenates several strings, NWDS sets expiration time for a task to some invalid value that prevents the development component from building. When we remove the expiration time from the task, development component can be built again without error, however it is impossible to set the expiration time back - after clicking the checkbox, the UI just flashes, but no tab for expiration time appears.

I would like to ask if there is any recommended way of transport (or migration) for these BPEM processes created in NWDS 7.3 to new NWDS 7.31, which would allow us to edit these processes again without inconsistencies and strange errors.

I originally posted this question in BPEM place, but guys there recommended me to post it also here, as it might be connected with some NWDI/NWDS issue. The first advice we've tried was to check-out every single file in the affected development component, as the NWDS could have "forgotten" to check-out some important files, but this was no success, the error remains the same.

Thank you in advance and best regards,

Tomas Hansut

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi everyone,

SAP has fixed the problem in the most recent NWDS version (7.31 SP08 PAT0007), which has been recently released. I think they've released new patches also for the SP09 and SP10 (but I didn't try them).

Best regards,

Tomas

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Tomas,

Are the SCAs used for the BPM process build of the same version as the new 7.31 SP08? Did you update the used SCs in the development configuration of NWDI?

Best Regards

Harald

Former Member
0 Kudos

Hi Harald,

yes, in the new development configuration for 7.31 development we linked the original sources to the new version of used SCs and this is 7.31 SP08.

Best regards,

Tomas Hansut

ErvinSzolke
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Tomas,

development components were copied between our development configurations using DTR tools (we performed exact 1:1 copy).

I assume you meant DTR replication when you referred to dtr tools and 1:1 copy of the track.

I would like to ask if there is any recommended way of transport (or migration) for these BPEM processes created in NWDS 7.3 to new NWDS 7.31,

Reflecting to you question regarding whether there is a process of migrating/copying tracks from A to B, I would also agree that I DTR replication is a good choice (especially if you want to keep the version history). Here you find a summary of what options you have in case you decide to move your software to a new release: http://scn.sap.com/thread/1815071

You (as pointed out also by Harald) also paid attention to replace the dependencies to 731, so I think this is most likely not due to a wrong migration of the track.

" NWDS sets expiration time for a task to some invalid value that prevents the development component from building"

This sounds indeed very weird, do you have some screenshots for us for better understanding?

Sorry, I am not a BPEM expert at all.

...as the NWDS could have "forgotten" to check-out some important files,

I believe there is no such thing that NWDS "forgets" to check out some important files.

Please share couple of screenshots about the phenomenon, however at this point I think that this question has to be still answered by the BPM colleagues (more precisely by experts dealing with BPM related perpsectives/plugins of NWDS), I don't think that the problem is caused by NWDS itself or by the NWDI framework or by a wrong setup of the target track.

Thank you and Regards,

Ervin

Former Member
0 Kudos

Hi Ervin,

we migrated our sources through integration of the old activities into a new development configuration. We used DTR tools for that purpose (created propagation lists and then integrated them into new workspaces).

Now, when I build my mentioned BPEM DC without changing it, it builds fine. Only this sequence of steps breaks it:

1. This is the situation before editing. Our task VendorCreatedInfo is DefaultTask and it has expiration time set to some 14 days (the expression is add-days-to-dateTime(current-dateTime(), 14):

2. Now I edit the input mapping for this task. We use some functions to calculate description and subject for this task.

I double-click the little "fx" symbol in both circles and enter something like this for each function (there is a Slovak text in the strings, but I left it out to make the expression simpler):

IF(numeric-less-equal(VRNewInstance/CsID, 0),

concat(concat(concat(concat(concat(concat(concat("...", VRProcesscontext/UserName), " "), VRProcesscontext/UserOrgUnit), "..."), string(VRNewInstance/CsID)),"..." ), VRProcesscontext/SAPVendorID),

concat(concat(concat(concat(concat("...", VRProcesscontext/UserName), " "), VRProcesscontext/UserOrgUnit), "..." ), VRProcesscontext/SAPVendorID))

3. When I save the editor and build the development component, build fails and I can see this in the build.log (the full build.log is attached):

  ...

  [BpemTask] Compiling process 'VendorRequest' ...

  [BpemTask] Transforming Trigger Network into CSV...

  [BpemTask] BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask execute() - Initiating data mapping validation.

  [BpemTask] [Suspicion] Function {sap.com/bpem/glx/built-in/text}IF is deprecated

  [BpemTask] [Suspicion] Function {sap.com/bpem/glx/built-in/text}IF is deprecated

  [BpemTask] BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask execute() - Data mapping validation is done.

  [BpemTask] BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask execute() - Initiating process constraint check.

  [BpemTask] BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask constraintCheck(conn,partitions) - Constraint violation: "add-yearMonthDuration-to-dateTime(add-dayTimeDuration-to-dateTime(TaskInput/TaskAttributes/activatedOn,P0Y0M0DT0H0M0S),P0Y0M0DT0H0M0S)" is not a valid expression for expiration time of human activity "VendorCreatedInfo"

  [BpemTask] BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask constraintCheck(conn,partitions) - Constraint violation: Assign an administrator to pool "VendorReq"

  [BpemTask] BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask constraintCheck(conn,partitions) - Constraint violation: Active pool "VendorReq" does not provide the process instance attributes

  [BpemTask]  "BPM.bp.00005" BC-BMT-BPM-SRV com.sap.tc.glx.BpemTask  execute() - Exception during constraint check of processes. Check Your model for problems.

  ...

4. Now, when I try to look at the expiration time for my task, the expression is empty and the "Edit" button is disabled:

5. And if I go to the "Task" tab and uncheck the Expiration Time checkbox, I am not able to check it back, nothing happens when I do that. At least the error disappears and the development component can be built again, but it is not possible to set the expiration time for the task.

I just realized that every time I click the "Expiratoin time" checkbox, this error is added to the NWDS error log:

eclipse.buildId=@qualifier@

java.version=1.6.0_39

java.vendor=Sun Microsystems Inc.

BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en

Command-line arguments:  -os win32 -ws win32 -arch x86

This is a continuation of log file C:\workspace\NW731\.metadata\.bak_0.log

Created Time: 2013-10-18 19:07:04.632

Error

Fri Oct 18 20:32:14 CEST 2013

BC-BMT-BPM-CMP#Error

[EXCEPTION]

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

     at java.util.ArrayList.RangeCheck(ArrayList.java:547)

     at java.util.ArrayList.get(ArrayList.java:322)

     at com.sap.glx.ide.task.util.TaskTimeControlUtil.setEnabledMappingPart(TaskTimeControlUtil.java:464)

     at com.sap.glx.ide.task.util.TaskTimeControlUtil.setMappingsForControlEnabled(TaskTimeControlUtil.java:445)

     at com.sap.glx.ide.task.properties.TaskAdvancedPropertySection$4.doExecute(TaskAdvancedPropertySection.java:331)

     at com.sap.tc.moin.repository.core.commands.InternalExecutableCommand$1.runInTransaction(InternalExecutableCommand.java:60)

     at com.sap.tc.moin.repository.core.transactions.CompositeTransaction.doExecute(CompositeTransaction.java:32)

     at com.sap.tc.moin.repository.core.transactions.AbstractTransaction.execute(AbstractTransaction.java:44)

     at com.sap.tc.moin.repository.core.transactions.TransactionManagerImpl.runTransaction(TransactionManagerImpl.java:150)

     at com.sap.tc.moin.repository.core.transactions.TransactionManagerImpl.runInTransaction(TransactionManagerImpl.java:86)

     at com.sap.tc.moin.repository.core.commands.InternalExecutableCommand._execute(InternalExecutableCommand.java:56)

     at com.sap.tc.moin.repository.core.commands.CommandStackImpl.executeInternal(CommandStackImpl.java:210)

     at com.sap.tc.moin.repository.core.CommandStackWrapper.execute(CommandStackWrapper.java:88)

     at com.sap.tc.moin.repository.commands.Command.execute(Command.java:118)

     at com.sap.glx.ide.task.properties.TaskAdvancedPropertySection.buttonEvent(TaskAdvancedPropertySection.java:344)

     at com.sap.glx.ide.task.properties.TaskAdvancedPropertySection.access$600(TaskAdvancedPropertySection.java:64)

     at com.sap.glx.ide.task.properties.TaskAdvancedPropertySection$3.widgetSelected(TaskAdvancedPropertySection.java:281)

     at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)

     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)

     at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)

     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)

     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)

     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)

     at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)

     at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)

     at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)

     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

     at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)

     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)

     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)

     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

     at java.lang.reflect.Method.invoke(Method.java:597)

     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)

     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)

     at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

      [Error: com.sap.glx.ide.flow.util.logger.IDEAbstractDynamicParticipant$TRACEENTRIES  Thread[main,6,main]]

I tried this in NWDS 7.3 SP08 PAT0002 and also PAT0006. If you wish, I can send you also the development component sources, you can try it for yourself.

Any help is appreciated

Best regards,

Tomas Hansut

ErvinSzolke
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Tomas,

the problem is definetely related to bpm (I see a lot of galaxy related errors in the trace) and I don't rule out the possibility that the bpm related part was not migrated correctly (but I have no expertise on how to migrate bpm related projects or if there is anything special to be considered this case), but somehow I feel this is rather related to the bpm related plugins of NWDS (can be even a bug, I cannot tell for sure, bpm is out of my scope). Therefore I still feel that this question should be answered rather by bpem colleagues.

Regarding the error messages you pointed out:

When a build is done, in the log files it is described who is creating certain parts of the build log.

e.g. [wdgen] stands for webynpro generator, [ddic] is data dictionary, [javac] is a java compiler error, and most likely [Bpem Task] oringins from some bpem build plugins (point 3 in your last post). The error says in this point that IF is deprecated, so either the project was not well migrated, or there are some additional post migration steps hasn't been executed, but this is only speculation, since bpem is a gray area to me.

When you work with the task in point 5, it is again definetely leads to a BPEM error, which has to be addressed to the BPEM experts.

BC-BMT-BPM-CMP#Error

[EXCEPTION]

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

     at java.util.ArrayList.RangeCheck(ArrayList.java:547)

     at java.util.ArrayList.get(ArrayList.java:322)

     at com.sap.glx.ide.task.util.TaskTimeControlUtil.setEnabledMappingPart(TaskTimeControlUtil.java:464)

As summary of possible potential reasons for the misbehaviour you face the following scenarios are possible (in my opinion):

a) incorrect migration of the bpem project

b) bug in bpem plugin of nwds (however you tried with different nwds, so this is less likely).

Both have to be double checked by bpem experts.

What I can do is that I send this conversation to a BPM expert colleague/friend of mine and then hopefully he has seen a similar issue like this before or can contact the corresponding colleagues who can help further.

By the way, you said you posted this question in bpem forum as well. Can you please send me the link of that discussion?

Thank you!

Best Regards, 😉

Ervin

Former Member
0 Kudos

Hi Ervin,

thank you very much, I really appreciate your help in this case. Just one clarification: that deprecated "IF" was introduced by my modification in step 2, it wasn't there before. However, the editor just marks it as a warning, so I didn't expect this could cause any trouble (maybe during the possible future upgrade, but not now).

The link to this question in BPEM space is here: http://scn.sap.com/message/14436311

Again, thank you very much and best regards,

Tomas

ErvinSzolke
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

I talked to the BPM expert colleague, and he said that

As from 720 / 730 SP08 and 731 SP04 , the NWDS checking/validation have become more restrictive and it could explain why with previous releases worked and not after upgrade.

He also confirmed that as per his opinion this question really rather belongs to the bpm process composer (i.e. the bpm related plugin of nwds I also referred to).

Regards,

Ervin

Former Member
0 Kudos

Hi Ervin,

thank you for sharing this information. But still, I would expect that in this case, the build would fail even if I don't change anything in the development component. But in this case, it builds fine. Only when I change that mapping function, the expiration time of the task disappears...

Best regards,

Tomas

ErvinSzolke
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Tomas,

I am sorry but I cannot tell the reason since bpem is out of my scope.

I don't believe this happens due to nwdi (or due to any development infrastructure integration related nwds plugins), let's hope someone from bpem can comment on this.

Best Regards,

Ervin