cancel
Showing results for 
Search instead for 
Did you mean: 

Binding Embedded component on existing screen give me errors

11-12-2013 7:07 PM
2303 views 9 comments Go to solution
0 Likes
SAP Managed Tags
Subscribe

Hi,

I need to add a embedded component with 3 edittexts on a existing screen (COD_ACCOUNT_TI) and save data from these fields in an extented bo.

I'm able to add EC in the screen and the same appears on the account screen, but give me an error opening/saving.

0 Likes

Accepted Solutions (1)

Accepted Solutions (1)

Jens-Limbach
Product and Topic Expert
Product and Topic Expert

Hi Rodrigo,

you can also just do the following:

1. Create 3 extension fields in XBO

2. Create a new "Embedded Component"

3. Bind in "Data Model" the root node to the standard BO (the XBO that you enhanced)

4. Add a new data field and bind it to the InternalID of the standard BO

5. Create 3 data fields in the data model and bind them to your extension fields of the standard BO

6. Add an unbound data field to the data model "EC_ID_IN"

7. Create an Inport in Controller and link the parameter to "EC_ID_IN"

8. Add one Event-Handler "BO-Operation" Read that reads based on the "Alternative Key" and has the EC_ID_IN and the InternalID of the standard BO in the pathes.

9. Drag and Drop the bound extension fields from the data model to the Designer Tab and make them as "TextAreas"

10. Bind your EC in standard UI using the alternative key as a binding for the public outport

btw: LANGUAGEINDEPENDET_EXTENDED_Text is not limited to 255 chars in XBO's...

I cannot post pictures right now to explain it a little better but it should definetly work that way and it is relatively simple without involvment of any partner BO. Just 3 extension fields, one EC and some bindings...

Cheers,

Jens

Update: Screenshots showing the EC configuration:

Update2: I used the Internal ID, you can also use the UUID, this depends also on the Anchort that is available in the standard screen on the public outport.

Former Member
0 Likes

Hi Jens

Good Approach!! I like it...:)

Regards:

Sunil

Former Member
0 Likes

Jens,

Thank you so much! Perfect!

vinodkumar_kommineni
Active Contributor
0 Likes

Hi Jens,

Thanks for posting it, I never knew there was no restriction on the length

Regards

Vinod

Answers (2)

Answers (2)

Former Member
0 Likes

Hi Rodrigo,

What I have understood that you eventually want to save 3 text field data in standard BO.

I think you can do this in two way..

first one is simple just Enhance the COD_Account_TI screen using exesibility explorer, see the below image

using the above approch you can use text field in highlighted place and data will save in the standard BO when you save account screen.

Second way of doing is little complicated.

You have to create Custom BO with 3 text field and design your Embedded component top of this BO then bind this EC to COD_Account_TI screen using Ourtport and pass the unique ID as parameter to identifying the corresponding intance of Custom BO, you have to write a code in aftermodify of custom BO to retrieve current instance.

I hope these suggestion will solve your problem, let me know if you face any issue.

Regards:

Sunil

Former Member
0 Likes

Sunil,

Thanks for reply....

I need to do the second way, because the 3 textfields must be "textarea" fields, with 6 rows.

These fields are in overview:

But when I enter in this screen, throws a exception.

I restarted again, unbinded the EC from account ti and remove that fields.

Now, I need to know:

Which ID in Customer BO I must to link to my EC ID?

So, when creating InPort, I must use CPID in parameterbinding?

So, creating event hander, which fields to use?

Thanks a lot!

vinodkumar_kommineni
Active Contributor
0 Likes

Hi Rodrigo,

I was pretty confused looking at your screenshots... Did you built any custom BO with BPID and the three fields you want to save ?

Because I see the ID field is mapped to the standard Customer BO's Internal ID.

I am aware we have a Public Outport from Account which gives us the Account ID and trough which we read the related record of the custom BO by getting the Account ID in the Inport( within the EC of our custom BO) trough Navigation Bindings of the EC.

But the screen shots you pasted are completely opposite. Am I missing something ?

Regards

Vinod

Former Member
0 Likes

Thanks Vinod,

The three fields is mapped to the my extended bo (from customer)

"Because I see the ID field is mapped to the standard Customer BO's Internal ID."

I don't know which ID must be binded (InternalID, NodeID, UUID)

Or if is really needed.

The public outport id (from account) is mapped to the InPort id (default called parameter).

There's a tutorial to do this?

vinodkumar_kommineni
Active Contributor
0 Likes

Hi Rodrigo,

Now I got your scenario. You had extended the Customer BO with the three fields in common Node ?

If that is the case you couldn't find any section group anchors where you could add these thee fields instead of going for a whole new EC component.

Also check this tread once for the difference between ID and UUID  http://scn.sap.com/thread/3309380

Regarding the tutorials, help document has a complete scenario and there are a couple of videos on youtube related to university alliance program.

Regards

Vinod