cancel
Showing results for 
Search instead for 
Did you mean: 

iBase : CRM_IBASE_COMP_CREATE

Former Member
0 Kudos

Hello,

I am currently creating a new interface between our AS/400 legacy system and crm 2007.

To do that, i am using the following fm like CRM_IBASE_INITIALIZE, CRM_IBASE_CREATE, etc..

The problem is that i need to add a component into an exisiting ibase and when i try to add this componenent using the fm CRM_IBASE_COMP_CREATE, i've got an message which indicate that the ibase filled into the structure I_FATHER already exist...

I am not sure to really understand how this fm has to be used. I do not want to create a new ibase, i just want to add a component into an exisiting ibase.

Any ideas ?

Thanks in advance,

Johnny Baillargeaux

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Johnny,

For this case, I used the function "CRMXIF_IBASE_SAVE"

and it works good.

Hope this helps,

Regards,

ayelet

Former Member
0 Kudos

Hi,

I'll look at this function module but my program is almost finished, using the other function modules so i'll try as much as possible to not recreate the program from scratch.

But anyway, i'll analyze the code behind your function module, maybe i'll understand how a component can be inserted into an existing iBase.

Thanks,

Johnny Baillargeaux

Former Member
0 Kudos

Hi, its very simple to use this function, if u need an example i will send you to your mail.

Former Member
0 Kudos

This message was moderated.

Former Member
0 Kudos

Hello,

This piece of code can be used in order to add a text element into an existing iBase :

DATA lf_father   TYPE ibap_dat1,
     lf_comp_det TYPE ibap_comp3,
     lf_e_comp   TYPE ibap_dat1.
	 
CALL FUNCTION 'CRM_IBASE_INITIALIZE'.

lf_father-ibase = ''. --> you ibase #

lf_comp_det-deviceid    = 'test'.
lf_comp_det-descr       = 'test'.
lf_comp_det-extobjtyp   = 'CRMBASIC'.
lf_comp_det-posnr       = '1'.

CALL FUNCTION 'CRM_IBASE_COMP_CREATE'
  EXPORTING
	i_father            = lf_father
	i_comp_det          = lf_comp_det
  IMPORTING
	e_comp              = lf_e_comp
  EXCEPTIONS
	data_not_consistent = 1
	ibase_locked        = 2
	not_succesful       = 3
	OTHERS              = 4.

IF sy-subrc EQ 0.
  CALL FUNCTION 'CRM_IBASE_SAVE'.
  COMMIT WORK AND WAIT.
ENDIF.

Regards,

Johnny

Former Member
0 Kudos

Hi Johny,

That was really useful.

For an installed base I need to add installed base as component.

I have the flat file containing the ibase components which are related by parent child relationship.

For eg:

Child node...............................Parent node

ABC -


Blank

ABC-0001----


ABC

ABC-0001-0001----


ABC-0001

ABC-0001-0001-090----


ABC-0001-0001

ABC-0001-0001-090-S001----


ABC-0001-0001-090

ABC-0001-0001-090-S002----


ABC-0001-0001-090

ABC-0001-0001-090-S003----


ABC-0001-0001-090

ABC-0001-0001-100----


ABC-0001-0001

ABC-0001-0001-100-C001----


ABC-0001-0001-100

ABC-0001-0001-100-G1----


ABC-0001-0001-100

...............................................................................................................................

Tree structure:

2453

-


2454

-


2455

-


2456

I have tried the below code and it creates a component 2454 under 2453.

CALL FUNCTION 'CRM_IBASE_INITIALIZE'.

lf_father-ibase = '2453'. "--> you ibase #

lf_comp_det-IBASE = '2454'.

lf_comp_det-posnr = '10'.

CALL FUNCTION 'CRM_IBASE_COMP_CREATE'

EXPORTING

i_father = lf_father

i_comp_det = lf_comp_det

IMPORTING

e_comp = lf_e_comp

EXCEPTIONS

data_not_consistent = 1

ibase_locked = 2

not_succesful = 3

OTHERS = 4.

But my requirement is Top node remains same 2453 and I have to maintain 2454 under that 2455 and under that 2456 in one gou2026

Pls suggest me in that I case how to use the above function module.

Can you please respond to my direct thread (Add Ibase Components by Lakshmi Menon)

so that I can award you points.

Regards,

Lakshmi

Edited by: Lakshmi Menon on Feb 9, 2009 8:33 AM

Answers (1)

Answers (1)

Former Member
0 Kudos

I have created an IBASE using CRM_ICSS_CREATE_COMPONENT and saved it through CRM_IBASE_SAVE function module. Now am trying to add new component to that IBASE. For this i used CRM_ICSS_CREATE_COMPONENT / CRM_ICSS_CREATE_COMPONENT function module followed by CRM_IBASE_SAVE. But still the component is not created. Anyone gimme some more details on using these function modules????

Former Member
0 Kudos
Hello Swadini
use the FM

'CRM_IBASE_COMP_CREATE' to create the child component and then save it using CRM_IBASE_SAVE.

Please open new thread for the new discussion to get more visibility to your query.
Regards
Naresh
Former Member
0 Kudos

Thank you Naresh.

Regards,

Swadini Sujanaranjan