Skip to Content

Type NodeID

Hi,

Is it possible to create elements of NodeID type in BODL (in my custom BO)?

The type appears in the code completion list, but after that message "Data type 'NodeID' is not supported, " appears.

I found I could easily create a variable of NodeID type in ABSL, but what about BODL?

It is essential for navigation to other BOs (especially standard ones).

Thank you.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

6 Answers

  • Best Answer
    Aug 18, 2017 at 08:09 AM

    Hi Fred,

    "※Use the same parameter name as the outport of the target screen." - Yes. That's it!

    I renamed parameter "Key" to "Parameter" in the parameters list and the navigation started to work.

    (Parameter "Key" appears again after an activation, but it does not matter )

    Eventually, the outport should look so:

    Besides that, I checked you could just use element SAP_UUID instead of SAP_ToBOO - it will work too. That is, there is even not a strong need to use an association or the NodeID type.

    Thank you very much, Fred, for your big help.

    If you replied in the answers, not in the comments I would mark your answer as accepted (unfortunately, comments do not have such an option).

    Best regards,

    Aleksei

    Add comment
    10|10000 characters needed characters exceeded

    • Aleksei,

      Glad to hear that.

      ->I checked you could just use element SAP_UUID instead of SAP_ToBOO - it will work too

      Yes, actually, SAP_ToBOO is the UUID (SAP_UUID) of the instance which is automatically created by the system.

      ->If you replied in the answers, not in the comments I would mark your answer as accepted (unfortunately, comments do not have such an option).

      Nah, it's cool. :)

      Best Regards,

      Fred

  • Aug 07, 2017 at 02:48 AM

    Hi Aleksei,

    Try to use the "node", replace the Data type 'NodeID'.

    Or paste the code, maybe someone can help you.

    Best Regards,

    Benny

    Add comment
    10|10000 characters needed characters exceeded

  • Aug 08, 2017 at 06:15 PM

    Hi, Bin,

    I am afraid type 'node' does not exist. Please, could you tell me what you mean exactly?

    Thank you.

    Add comment
    10|10000 characters needed characters exceeded

  • Aug 14, 2017 at 05:51 AM

    Hi Aleksei,

    If you need nodeId only for navigating to standard screen,

    I would suggest you try with SAP_UUID(BODL: UUID) or you can use the datatype of the alternative key of standard BO.

    Regards,

    Senthil

    Add comment
    10|10000 characters needed characters exceeded

  • Aug 17, 2017 at 07:27 AM

    Hi Senthil,

    I am afraid it does not work for BOO (ProductionBillOfOperations).

    I checked both ID (as an alternative key) and SAP_UUID - they do not work.

    I know the value of SAP_UUID is the same as the value of NodeID in all BOs. I used SAP_UUID as a key for navigation to Material, Resource successfully. Eventually, I also checked NodeID field (I deliberately created a screen with BOO inside) and the navigation worked.

    As far as I know, NodeID is 70 characters long and SAP_UUID is 36 characters long.

    Thank you

    Aleksei

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Aleksei,

      I would use "association" to BOO for this kind of requirement.

      1. Create an association to BOO in your BO definition

      association ToBOO to ProductionBillOfOperations;

      ( This will create SAP_ToBOO element when you look at the BO in data model in QA or OWL. Don't forget to click Update Metadata in UI Designer.)

      2. Assign the association with the retrieved instance instead of taking the UUID.

      if ( boo.IsSet() ) {
              this.ToBOO = boo;
      }

      3. Send SAP_ToBOO as the key to the target screen. (I am guessing the target screen you are referring is using keyNavigation in its BOOperation READ.)

      Best Regards,

      Fred

  • Aug 17, 2017 at 11:26 PM

    Hi Fred,

    I checked your method. Unfortunately, it does not work as well.

    As to your 2 question - I am not sure what value I should use as the key. In other BOs (Material, Resource, ECO) I used field UUID for the navigation and It worked well. Besides that, I tried creating a custom OWL screen for BOO model. I used there NodeID as the key and it worked - BOO instances were opened.

    I found the standard screens of BOO in Configuration Explorer. They are pboolist.owl, pboomaint.oif, pboomaint_FS.fs in /SAP_BYD_APPICATION_UI/scm/mdpm/

    You can see operation READ in pboomaint.oif. Anyway, I did not understand what key should have been used for the navigation to it.

    Many thanks

    Best regards,

    Aleksei

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Aleksei,

      As I mentioned before, you should create an association.

      association ToBOO to ProductionBillOfOperations;

      Then you will get SAP_ToBOO field in your BO in the data model.

      Pass that key to the target screen.

      ※Use the same parameter name as the outport of the target screen.

      Best Regards,

      Fred