cancel
Showing results for 
Search instead for 
Did you mean: 

Flexible Real Estate Correspondence Smartforms

Former Member
0 Kudos

Hi Franz, thanks for replying back and I am opening a new thread on this as per your request.

I redo the config and finally got one sample form RE_PR_000 working.

I copy RE_PR_000 into my ZRE_PR_000 (ZLETTER).

Go to IMG config Define Forms, insert new entry for ZRE_PR_000.

Go to IMG config Define Correspondence Activities, insert new form (ZLETTER) under T140 General Letter (Land);

Assign recipient by selecting``Main Contractual Partner 1``; as suggested by SAP.

Go to IMG config Define Correspondence Applications and Assign Correspondence Activities,

add new form under A140 General Letter (Land).

Save all changes.

Go to RE80

Select a record (01) under Land.

Press the ``Print`` icon.

Select ``ZLETTER`` in the drop down box.

The same error appears again ``No recipient with the specified role found``

l looked up the Partner in the selected Land record01, the only partner defined there is a Land Owner.

I went back to IMG config and changed the recipient as ``Partner with Role``, assign Land Owner as the role.

Re-print the land record and it works this time.

So my first question is who should I assign as the recipient?

Keep it as Main Contractual Partner 1 (as suggested by SAP) , and create a MC Partner in the Land record, by how? Or

Keep it as Partner with role (land owner)?

Another question is about the import interface that comes with the SAP delivered smartforms. We don’t have to create any driver program for passing data into these smartforms, this is done through the IMG config, and because of this it seems like we have no control of what data should be passed.

This time I copied RE_CN_000 (General Correspondence Contract) into my ZRE_CN_000.

RE_CN_000 has the Contract structure included in its import interface.

In IMG Define Corr. Activities, I insert this under the same CA, A140 General Letters (Land).

When I execute the print button for the same Land record in RE80, a runtime error will occur complaining about the “GET Contract” method. This method is coded inside the Initialization tab.

It seems to me when I hit the Print button for a Land record, it knows that only the system defined info (Land info) should be bring in, any extra stuff such as Contract info will cause runtime error. Am I right about this? That means we have to pick the right SF for the right node (Land, Building, or Contract). Also if I have to create a brand new SF, then how do I decide which interface I should use and how do I know it is compatible with the define properties within each node (Land, Bldg., or Contract)?

I have about 50 forms to create and for sure that will be more questions to come.

Thanks for any help in advance.

Accepted Solutions (1)

Accepted Solutions (1)

franz_posch
Active Contributor
0 Kudos

Dear Karen,

thank you for opening this thread. I will try to answer your questions and give you some additional information about correspondence in RE-FX.

1. Which partner role is to assign as recipient?

Correspondence is created with reference to a particular RE master data object.

There are several possibilites to assign recipients:

- assign partner with role: A partner with this role must exist in the master data of the RE object.

Example: You want to create a letter for a property and send it to the land owner.

In this case the partner with role 'land owner' has to be assigned to the property. In customizing of the correspondence activities you assign the recip. selection 'partner with role' and the role categorie 'land owner'.

- Recip. Selection 'Main contractual Partner' is reserved for correspondence of contracts because the role of the main contractual partner depends on the contract type and should not be fixed.

In your example case you should keep the partner with role 'land owner'.

2. import interface

There is a common generic interface that is used to pass data to the form and should not be changed. You find it in the 'Form Interface' of the smart form.

The parameter IS_SFPARAM is a string which contains a reference to the object (or process data) that is transferred to the smart form.

In the initialization section of the smart form the business data that is used in the form is fetched by methods that use the reference of IS_SFPARAM.

For example:

  • general business-object data

CALL METHOD cl_recp_data_ca_general=>get_bus_object

EXPORTING

id_guid = is_sfparam-content

IMPORTING

es_bus_object = bus_object

CHANGING

cf_error = lf_error.

This method imports the business object data of the RE object for which the correspondence is created.

3. When I execute the print button for the same Land record in RE80, a runtime error will occur complaining about the “GET Contract” method. This method is coded inside the Initialization tab.

Reason for this error is that the correspondence is created within the context of a RE object.

When the form RE_CN_000 is called the system expects that it is called from within a contract and the reference to a contract is handed over to the form. Therefore you should use

only a form for the RE object for which it was designed.

4. Create a brand new SF

First you have to decide from which RE object the form should be called. That is the 'node' where you start and this object is transferred to the smart form.

If you create your own form you have the possibility to read additional data using API* function modules in the initialization section of your form.

In general I would advise you to work through the customizing activities of the RE-FX correspondence and to copy the sample settings of delivery customizing in your customizing client as a template and then enhance or adapt the settings according to your requirements.

Maybe it would be helpful if some correspondence is created using the standard settings to see how it works.

I hope that my remarks will help you further. If you need further help please let me know.

Regards, Franz

Former Member
0 Kudos

Hi Franz,

I need to create a letter send to the land owner. Can you explain the data structure used in RE_PR_000. I need to print the land owner address and my companyu2019s land administrator info on it.

In IMG Define Correspondence Activities, I assign Land Owner as the Recipient, so the Recipient structure will have the land owner info on it. That's good.

Also the structure Clerk has filled with the land owner info on it as well.

In IMG Define Correspondence Applications,

Land owner role is assigned under column RCat Spec. , and

Land Administrator role is assigned under column RCat. BP1

Now the Land Administrator info can be found in the structure Partner_spec1.

Q1. However, the structure Partner is empty, why?

Q2. When do I need to fill column RCat. BP2?

Q3. When assigning the Recipient role, I need to set up the logic if Land Owner is not found, use the Vendor Account, how can I do that?

Q4. What are the Recip.Role Type and Hierarchical Search for?

Q5. Which BAPI should I use to get the contract info under the Land folder? I have to put this letter under the land folder, not the Contract folder as the Contract may contain more than one piece of land. This letter is specific to one piece of land only.

Q6. Currently I have to run the program in debug mode to look up the data saved in each structure. Is there an easy way to look up all the data saved for this piece of land, via BAPI or FMs or tables without running the program??

Thanks for the help again in advance.

franz_posch
Active Contributor
0 Kudos

Dear Karen,

I think you are quite on the right way concerning the IMG activities you've mentioned. There you can do the relevant settings for recipient and partners of your form.

Furthermore it would be helpful if you have a look at the initialization section of the form. There you find the methods that are called to get the data that are available later in the form processing.

Concerning your questions I have the following answers for you:

Q1. However, the structure Partner is empty, why?

The structure PARTNER and the table T_PARTNER are not filled in the form because for form RE_CN_010 the 2 additional roles defined in customizing (correspndence applications) are filled.

Please have a look at the initialization section of the form. Method GET_PARTNER_SPEC is called and fills the structures PARTNER_SPEC1 and PARTNER_SPEC2.

If you want to read all partner data in your form you can use method GET_PROPERTY and IMPORTING

et_partner = t_partner

Then you have all partners in a table for further processing in your form. You may also refer to form RE_PR_010 where the partner table is filled.

Q2. When do I need to fill column RCat. BP2?

If you have a second partner role type (or category) that you are using in the form you can fill this in the "correspondence applications" and then you get the partner data for this role in the structure PARTNER_SPEC2 in the initialization section of the form.

Q3. When assigning the Recipient role, I need to set up the logic if Land Owner is not found, use the Vendor Account, how can I do that?

The IMG activity 'correspondence activities' provides the possibility to assign recipients. When you define several recipients with the same group only one recipient of this group gets a document. Please refer to the F1-help for the field 'Group' in the IMG activity for further information.

Q4. What are the Recip.Role Type and Hierarchical Search for?

You can either define the role category of the recipient or the role type of the recipient (if you don't use role categories). Hierarchical search means that the system searchs also in hierarchical superior objects for the role if it is not assigned directly. (f.e. if the role type is not assigned to the property system searchs the role type in the business entity the property belongs to).

Q5. Which BAPI should I use to get the contract info under the Land folder? I have to put this letter under the land folder, not the Contract folder as the Contract may contain more than one piece of land. This letter is specific to one piece of land only.

Unfortunately I haven't found a BAPI that you can use to get the contract info, because the relationship is normally inverse so that BAPI_RE_CN_GET_DETAIL gets the information which property is assigned to a certain contract.

I think you have to use a method to get the information, f.e.

cf_rebd_obj_assign_mngr=>find_contracts.

Q6. Currently I have to run the program in debug mode to look up the data saved in each structure. Is there an easy way to look up all the data saved for this piece of land, via BAPI or FMs or tables without running the program??

BAPI_RE_PR_GET_DETAIL gets the information stored to the property but that may not be the information that is available in the form because the data is read in the form.

Maybe it is the best to set a break point in the function module of the smart form at the position where the methods are called that get the data for the form.

I hope that my explanation are helpful for you. If you need further help please let me know.

Regards, Franz

Former Member
0 Kudos

Hi Franz,

Thanks again for the reply. It was helpful.

re Q5. I use this BAPI to get the contract info by passing the object number - API_RE_CN_GET_CONTRACTS_BY_OBJ. So I can get the contract in the Land folder now.

I am going to open another thread for the next question I have for you, it is about adding a selection screen to the smartform. The subject will be REFX Correspondence Smartforms with Selection Screen.

franz_posch
Active Contributor
0 Kudos

Hi Karen,

thanks for you remark concerning re Q5. It is better to use the API that you have mentioned I have searched but overseen this API.

Kind regards,

Franz

Answers (1)

Answers (1)

Former Member
0 Kudos

I have to mark this as unanwered for more questions.