Hi Sid,
I have done the debug of the program and found out that for address the code is commented.
So I think this may be reason why the address value is coming N/A.
if_hrtmc_dr_fields~get_field_values.
**********************************************************************
" This method reads the general and personal information of the
" person based on PERNR and returns the values in the exporting parameter
" ET_FIELD_VALUES
" Values of following fields that are returned
" PA_FULLNAME'
" PA_BIRTHDATE'
" PA_EMAIL'
" PA_MARITAL_STATUS'
" PA_PERNR'
" PA_OFFICE'
" PA_TELEPHONE'
" PA_ADDRESS'
" PA_PERSONNEL_AREA'
" PA_PERSONNEL_SUBAREA'
" PA_EMPLOYEE_GROUP'
" PA_EMPLOYEE_SUBGROUP'
" PA_FUNCTIONAL_AREA'
" PA_POSITION_NAME'
" PA_ORGANIZATIONAL_UNIT'
**********************************************************************
*Add field values and return
loop at it_field_names into lv_field_name.
ls_field_value-field_name = lv_field_name.
case lv_field_name.
when gc_pernr.
append lv_pernr to lt_string_values.
when gc_email.
if ls_pers_general_data-email is not initial.
append ls_pers_general_data-email to lt_string_values.
endif.
when gc_birthdate.
when gc_marital_status.
if ls_pers_personal_data-famst_text is not initial.
append ls_pers_personal_data-famst_text to lt_string_values.
endif.
* New OTR texts created
when gc_office.
if ls_pers_general_data-office is not initial.
append ls_pers_general_data-office to lt_string_values.
endif.
* WHEN gc_address.
* CLEAR lv_address.
* "Add all lines of address into single variable.
* IF ls_pers_personal_data-addr_line1 IS NOT INITIAL.
* lv_address = ls_pers_personal_data-addr_line1.
* ENDIF.
* IF ls_pers_personal_data-addr_line2 IS NOT INITIAL.
* CONCATENATE lv_address cl_abap_char_utilities=>newline ls_pers_personal_data-addr_line2 INTO lv_address.
* ENDIF.
* IF ls_pers_personal_data-addr_line3 IS NOT INITIAL.
* CONCATENATE lv_address cl_abap_char_utilities=>newline ls_pers_personal_data-addr_line3 INTO lv_address.
* ENDIF.
* IF ls_pers_personal_data-addr_line4 IS NOT INITIAL.
* CONCATENATE lv_address cl_abap_char_utilities=>newline ls_pers_personal_data-addr_line4 INTO lv_address.
* ENDIF.
*
* IF lv_address IS NOT INITIAL.
* APPEND lv_address TO lt_string_values.
* ENDIF.
************** Fields of group Personnel Structure********************
when gc_personnel_area.
if ls_pers_general_data-werks_text is not initial.
append ls_pers_general_data-werks_text to lt_string_values.
endif.
when gc_personnel_subarea.
if ls_pers_general_data-btrtl_text is not initial.
append ls_pers_general_data-btrtl_text to lt_string_values.
endif.
when gc_employee_group.
if ls_pers_general_data-persg_text is not initial.
append ls_pers_general_data-persg_text to lt_string_values.
endif.
when gc_employee_subgroup.
if ls_pers_general_data-persk_text is not initial.
append ls_pers_general_data-persk_text to lt_string_values.
endif.
when gc_functional_area.
if lv_function_area is not initial.
append lv_function_area to lt_string_values.
endif.
when gc_position_name.
if lt_string_positions is not initial.
loop at lt_string_positions into lv_string_position.
append lv_string_position to lt_string_values.
endloop.
endif.
when gc_organizational_unit.
if lt_string_orgunits is not initial.
loop at lt_string_orgunits into lv_string_orgunit.
append lv_string_orgunit to lt_string_values.
endloop.
endif.
*****************EO Personnel Structure**************************
* ********************* FIELD OF CONTRACT TEXT ********************
when gc_capacity_utilization.
if ls_pers_general_data-bsgrd is not initial.
write ls_pers_general_data-bsgrd to lv_decfm_number.
append lv_decfm_number to lt_string_values.
endif.
when gc_start_date.
clear lv_stdate_string.
if ls_pers_general_data-entry_date is not initial.
* Convert date format to DD/MM/YYYY
call function 'CONVERSION_EXIT_PDATE_OUTPUT'
exporting
input = ls_pers_general_data-entry_date
importing
output = lv_stdate_string.
append lv_stdate_string to lt_string_values.
endif.
when gc_contract_type.
if ls_pers_general_data-ansvh_text is not initial.
append ls_pers_general_data-ansvh_text to lt_string_values.
endif.
when gc_mobile_phone.
if lt_mobile_number is not initial.
loop at lt_mobile_number into lv_mobile_number.
append lv_mobile_number to lt_string_values.
endloop.
endif.
when gc_office_phone.
if ls_pers_general_data-office_tel is not initial.
append ls_pers_general_data-office_tel to lt_string_values.
endif.
when gc_emerg_phone.
if lt_emerg_number is not initial .
loop at lt_emerg_number into lv_emerg_number.
append lv_emerg_number to lt_string_values.
endloop.
endif.
****************EO Contract text**************************
endcase.
ls_field_value-values = lt_string_values.
append ls_field_value to lt_field_values.
clear: lt_string_values, ls_field_value.
endloop.
ls_field_value_for_obj-object_id = ls_object-objid.
ls_field_value_for_obj-object_type = 'P'.
ls_field_value_for_obj-field_values = lt_field_values.
append ls_field_value_for_obj to lt_field_values_for_obj.
clear: lt_field_values, ls_field_value_for_obj .
endloop.
et_field_values = lt_field_values_for_obj.
endmethod.
Regards
Pravesh