Cloud SDK - Who's got it? Sell it to me, or don't

What all can it do, why do I need it?
Limitations.

Value?

Give me the skinny. I want your guys take on it before I talk to my CAM.

4 Likes

Calling the big guns, he may be a bit biased, but since I haven’t had any other answers…

@Rich

What can it do?

  • It can create new business objects and their respective tables. Also it lets you modify the Kinetic UX Base Layers

Why do I need it?

  • This is a question for you to answer, but essentially, it allows you to create entirely custom business objects with their own tables, parent-child relationships, and more.

Value:

  • You are no longer limited to using UDXX tables for custom data. You can create properly named and fully functional tables.
  • It provides FULL CRUD (Create, Read, Update, Delete) endpoints for the business objects (BO). This means you can use GetList, GetById, GetRows, DeleteByID, GetBySysRowID, and all related oData endpoints without worrying about the mechanisms for insertion and retrieval.
  • These are also fully BPM (Business Process Management) enabled and available in BAQ (Business Activity Query) land.

Can you do all of the above without it?

  • Mostly, yes. You can create your own tables (probably not in the cloud) and quasi-“BOs” by using Functions and UBAQs. However, it won’t be as cohesive as with this tool.

Use Cases:

  1. Quote Worksheet Recorder

    • These values on the worksheet aren’t stored anywhere; they are “rolled up” from the Quote BOM. I need this in reports and other places, and rolling it up manually is painful. Enter my QuoteQtyMaint BO, which has all those fields in a new table. When an entry/change occurs in QuoteQty, a function is invoked that performs a QuoteGetByID and then loops through the Worksheet dataset, recording all these values in a neat package for further use.
    • Could I do it without the SDK?
      Sure! But the table would be called UDXX, and the fields would be named MyAwesomeFields_UD, which makes the code less clean. I named the fields exactly like the original dataview, allowing for a BufferCopy to copy all fields at once — #Neat.

  2. BookerService

    • Are you familiar with Order Bookings? If not, you can skip this.
      Order Bookings is a functionality in Epicor that forces Sales Orders Lines/Releases to “record” bookings (i.e., changes in revenue, up/down).
    • Every time a line/release changes either quantity or price, a booking is recorded. This allows you to track sales trends by monitoring activity fluctuations. Although I think it’s a flawed measure, my company disagrees and wanted to use the Bookings functionality. However, due to some issues, such as bookings not being recorded if the order isn’t set as ready to process or other minor actions, we found it unreliable.
    • Therefore, we developed Booking Service — a BO that records revenue (or cost) fluctuations for Sales Orders and/or POs. When a new Release is added to a SO or PO, it records an “Add” transaction. Subsequently, any changes in quantity or revenue are tracked by recording a “Reversal” and an “Update” with the new values, allowing for tracking value fluctuations over time.

    • Could I do it without the SDK?
      Yes, for the same reasons as above.

Is it worth it?

  • It depends on the cost. We already owned it back when it was the “Big boy” SDK, and I appreciate how it allows us to organize our custom tables more neatly. Additionally, having those tables nicely named and fully accessible in BPM/BAQ land is a valuable feature.

Here’s how the BookerService “BO” Definition looks (its pretty simple really)

You get OData and Rest Endpoints

11 Likes

Not the big gun I called, but apparently the one I needed :rofl:

Thanks Jose.

4 Likes

heroes

3 Likes

image

Oh… yeah and I forgot, you also get to Look At / Modify (don’t do that…) the Epicor BASE Layers on the Kinetic UX App…

Wanna change the way that Order Entry UX works in its entirety? GO FOR IT… (just don’t call me after you break it)

And you can make your own “App Studio Apps” for those new BOs too (but you can already do this sorta with Dashboards and whatnot)

4 Likes

Wait, you get went SaaS?!?!

:safe_harbor: NEVER ← read… not yet

No we are on prem but the Cloud SDK is just a dumb name to let you know that it works with the cloud. It works just fine on prem too… Dare I say… better! Cause I can regen my own damn data model!

PS: I know the portal is coming yada yada… still I need my control

Controlling Tonight Show GIF by The Tonight Show Starring Jimmy Fallon

3 Likes

He is the service.

3 Likes

To be clear, you are on prem, but Azure, correct ?

Confused Robert Downey Jr GIF

Yes, we are on SaaS Hardware/VMs but not running SaaS Epicor… I just rent someone else computer and we manage the entire thing have a really long cable from NJ to Redmond.

I guess that’s 3rd Party Cloud Hosted Infrastructure as a Service IaaS

5 Likes

Trust me, if I wasn’t forced onto SaaS I wouldn’t. The decision was made before I came onboard so :man_shrugging:

Well, yeah… but not what I was talking about. :stuck_out_tongue_winking_eye:

idgits as a service?

angry bobby GIF

1 Like

Infrastructure… but also yes…

Animated GIF

Also if you know who Bobby is from the prior gif you posted @klincecum that gets you extra respect points #SPN4Eva

2 Likes

Do they make it easy to import / export these custom BO’s? If so I can see the potential for community (open source?) modules.

1 Like

Solution workbench works a treat

2 Likes

Jose, did you do the quote customization yourself? I am assuming yes.

1 Like

Yes I did

3 Likes

Fun Topic - I like the updated SDK.

Jose - great writeup (your check is in the mail but don’t hold your breath). :slightly_smiling_face:

As Jose mentioned, the term “Cloud SDK” comes from the marketing folks to indicate it is an option for the Epicor Cloud customers. We have been somewhat slow rolling it out as the Table definition part does require a Data Model Regen which will be in the upcoming Epicor Cloud Self-Service Portal.

@klincecum - since you already have the portal, and you do a fair amount of custom extensions, the SDK is something I think you would really like.

The updated SDK allows you to create custom Tables and Services that the system treats as first class entities. Here is a quick recap of the features:

  • Define custom tables and columns - including ability to define a limited number of Index columns

  • Use the Service Designer to define the List and Rows datasets

  • Generate a User Defined Service that will include the standard methods - full CRUD support

  • Generate a Web UI form for maintenance of records defined by the service

  • Use AppStudio to add your UD Tables / UD Service logic to Epicor UIs

  • Generated UD Service supports the same REST Interface standards as the Epicor Services

  • Tables / columns will be available to BAQs and BPM

  • BPM Method Directives will be available on the Standard Methods in the User Defined Service

  • BPM Data Directives will be available on the tables

  • Standard Method, Table, and Field Security will work against the User Defined Service, Methods, Tables, and Columns

  • Custom tables can be defined to support attachments

  • ChangeLog Tracking is available

  • REST / Swagger Help will be available on the Standard Methods

  • The UD Services will be available via Automation Studio and Epicor Data Fabric

8 Likes

Thank you sir. :delicious:

1 Like