Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BMFR Application Component #2108

fabianlupa opened this issue Nov 16, 2018 · 5 comments

BMFR Application Component #2108

fabianlupa opened this issue Nov 16, 2018 · 5 comments
serialization Translate between object types and files


Copy link

fabianlupa commented Nov 16, 2018

Transactions SBAC, SBACH02 - SBACH05
Package SDFM
Report SBMCV000 to generate a prefix number range

@fabianlupa fabianlupa added the serialization Translate between object types and files label Nov 16, 2018
Copy link

larshp commented Nov 18, 2018

@flaiker are you working on this?

@fabianlupa fabianlupa self-assigned this Nov 19, 2018
Copy link
Member Author

fabianlupa commented Nov 19, 2018

@larshp I am looking into it. Not sure how extensive this object type is yet.

@fabianlupa fabianlupa removed their assignment Jan 6, 2019
@fabianlupa fabianlupa self-assigned this Nov 8, 2020
Copy link
Member Author

fabianlupa commented Nov 16, 2020

Looking into this again.... Some notes:

  • BM = Process Modelling (?)
  • BMFR = Application Component = "Function Range"

There are lots of other similar object types (?) I never heard of before. Are these SolMan specific and BMFR is the only one leaking out of it by its assignment in DEVC? I never used Solution Manager or the process modelling stuff myself before.

From LSF00TOP (I removed the ones that are already supported or commented with dummy / no responsibility):

* models
c_ttyp_eorg_proc_tree TYPE bmt_ttyp VALUE 'BMET',           "ok
c_ttyp_function_range_tree TYPE bmt_ttyp VALUE 'BMHT',      "ok
c_ttyp_comp_fuct_tree TYPE bmt_ttyp VALUE 'BMHF',           "ok
c_ttyp_comp_fuct_tree_31 TYPE bmt_ttyp VALUE 'BMGT',        "ok
c_ttyp_var_fuct_tree_31 TYPE bmt_ttyp VALUE 'BMCT',        "ok
c_ttyp_fun_ass_dia   TYPE bmt_ttyp VALUE 'BMFZ',            "ok
c_ttyp_proc_epc      TYPE bmt_ttyp VALUE 'BMEP',            "ok
c_ttyp_scen_epc      TYPE bmt_ttyp VALUE 'BMSP',  "used only for 3.0
*c_ttyp_integration_model TYPE bmt_ttyp VALUE 'BMIP',        "ok
c_ttyp_group_content TYPE bmt_ttyp VALUE 'BMGC',            "ok
c_ttyp_config_group  TYPE bmt_ttyp VALUE 'BMCG',            "ok
c_ttyp_proc_sel_mat  TYPE bmt_ttyp VALUE 'BMPM',            "ok
c_ttyp_scen_sel_mat  TYPE bmt_ttyp VALUE 'BMSM',            "ok
c_ttyp_inf_flow_dia  TYPE bmt_ttyp VALUE 'BMID',    "ok pseudo object
c_ttyp_com_dia       TYPE bmt_ttyp VALUE 'BMCD',            "ok
c_ttyp_sorg_dia      TYPE bmt_ttyp VALUE 'BMOR',            "ok
c_ttyp_cust_assign   TYPE bmt_ttyp VALUE 'BMCU',
* objects
c_ttyp_function      TYPE bmt_ttyp VALUE 'BMFU',            "ok
c_ttyp_function_range TYPE bmt_ttyp VALUE 'BMFR',           "ok
c_ttyp_event         TYPE bmt_ttyp VALUE 'BMEV',            "ok
c_ttyp_filter        TYPE bmt_ttyp VALUE 'BMFI',            "ok
c_ttyp_group         TYPE bmt_ttyp VALUE 'BMGR',            "ok
c_ttyp_konf_group    TYPE bmt_ttyp VALUE 'SQAK',
c_ttyp_conf_group    TYPE bmt_ttyp VALUE 'SQAK',
c_ttyp_infoflow      TYPE bmt_ttyp VALUE 'BMIF',            "ok
c_ttyp_scenario      TYPE bmt_ttyp VALUE 'BMSZ',            "ok
c_ttyp_entorgtyp     TYPE bmt_ttyp VALUE 'BMEO',            "ok
c_ttyp_comflow       TYPE bmt_ttyp VALUE 'BMKF',            "ok
c_ttyp_sel           TYPE bmt_ttyp VALUE 'BMSL',    "o.k.
c_ttyp_elementary_function     TYPE bmt_ttyp VALUE 'BMEF',  "o.k.
c_ttyp_global_function_variant TYPE bmt_ttyp VALUE 'BMFV',  "o.k.
c_ttyp_process_component       TYPE bmt_ttyp VALUE 'BMPC',  "o.k.
c_ttyp_global_process_variant  TYPE bmt_ttyp VALUE 'BMPV',  "o.k.
c_ttyp_question                TYPE bmt_ttyp VALUE 'SQAQ',
c_ttyp_visualization_group     TYPE bmt_ttyp VALUE 'BMVG',
c_ttyp_c_bus_scenario          TYPE bmt_ttyp VALUE 'BMBS',

Supported by the API (i. e. BM_OBJECT_GET_DATA etc.) are:

  • BMFR - Function Range
  • BMPC - Process Component
  • BMEF - Elementary Function
  • BMPV - Global Process Variant
  • BMFV - Global Function Variant
  • BMSV - Scenario Variant
  • BMVE - Enterprise Process Area
  • BMVS - Process Group
  • BMBS - cBusiness Scenario

Though on AS ABAP Developer Edition 752 SP04 the only other ones than BMFR that are delivered in TADIR are one BMPC object and one BMPV object which are in a HCM package (PPAP) that was moved to ABA. Need to check on ERP with HR installed what objects exist there.

Since the API has a generic interface for these I opted for creating a base class which should then be easily extendable for the other object types.

Number ranges:

Unfortunately the API does not seem to allow for external number assignment, you always get a new number. You need to setup the number ranges beforehand using report SBMCV000. There also is a concept of prefixes / namespaces. While there is some internal flag to get external number assignment there seems to be no way to set it anymore. Therefore I think the only reasonable approach is to map an external ID to the internal one in TADIR, like we do for SICF I think. For BMFR this should be the component id (i. e. ZAG-TST-TST), though having duplicate component ids only generates a warning unfortunately. I have no idea if the other object types also have an attribute that is somewhat unique and can be used for this.

Copy link
Member Author

fabianlupa commented Nov 16, 2020

On ERP 6.0 EHP 7 the following BM* object types show up in TADIR in addition to BMFR (9828 objects in 81 packages):

  • BMPC -> shortdumps using ADT/SE80 (NO_STRUCTURE_TYPE)
  • BMPV -> shortdump
  • BMSL
  • BMAO
  • BMEF -> shortdump
  • BMEV
  • BMEP
  • BMFU
  • BMFV -> doesn't even show up
  • BMGR
  • BMGT
  • BMVG

Only the bold ones are supported by BM_OBJECT_GET_DATA I guess. And I couldn't get any of them to open using the generic approach of ADT / SE80. ADT only lists BMEF, BMFR, BMPC and BMPV as object types in the autocomplete for the open object dialog.

@fabianlupa fabianlupa removed their assignment Dec 19, 2020
Copy link

abap-weasel commented Jun 11, 2021

+1 for BMFR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
serialization Translate between object types and files

Successfully merging a pull request may close this issue.

3 participants