‎2005 Jun 02 6:36 PM
I have a requirement that when i select a personnel number from a search help in the selection screen,the name of that person should be displayed next to that personnel number field in the selection screen.how to go abt this.can anyone please provide help on this.
Thanks.
‎2005 Jun 02 8:09 PM
Check this one out too. I got it to update the name when user picks the employee from F4 help.
report zrich_0002 .
data dynpfields like dynpread occurs 0 with header line.
data: xpa0002 type pa0002.
selection-screen begin of block b3 with frame title text-010.
selection-screen begin of line.
selection-screen comment 1(20) text-012 for field p_pernr.
selection-screen position 32.
parameters: p_pernr type pa0002-pernr.
selection-screen position 52.
parameters: p_name(30) type c.
selection-screen end of line.
selection-screen end of block b3.
at selection-screen output.
if not p_pernr is initial.
select single * from pa0002 into xpa0002
where pernr = p_pernr.
if sy-subrc = 0.
concatenate xpa0002-vorna xpa0002-nachn into p_name
separated by space.
endif.
endif.
loop at screen.
if screen-name = 'P_NAME'.
screen-input = '0'.
modify screen.
endif.
endloop.
at selection-screen on value-request for p_pernr.
* Internal Table for employee help
data: begin of help_pernr occurs 0,
pernr type pa0002-pernr,
vorna type pa0002-vorna,
nachn type pa0002-nachn,
end of help_pernr.
data: return type table of ddshretval with header line.
select * from pa0002
into corresponding fields of table help_pernr.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'PERNR'
dynprofield = 'P_PERNR'
dynpprog = sy-cprog
dynpnr = sy-dynnr
value_org = 'S'
tables
value_tab = help_pernr
return_tab = return.
dynpfields-fieldname = 'P_PERNR'.
append dynpfields.
dynpfields-fieldname = 'P_NAME'.
append dynpfields.
call function 'DYNP_VALUES_READ'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
tables
dynpfields = dynpfields
exceptions
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
others = 11.
read table return index 1.
if sy-subrc = 0.
select single * from pa0002 into xpa0002
where pernr = return-fieldval.
if sy-subrc = 0.
concatenate xpa0002-vorna xpa0002-nachn into p_name
separated by space.
endif.
loop at dynpfields.
case dynpfields-fieldname.
when 'P_PERNR'.
dynpfields-fieldvalue = return-fieldval.
when 'P_NAME'.
dynpfields-fieldvalue = p_name.
endcase.
modify dynpfields.
endloop.
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
tables
dynpfields = dynpfields
exceptions
others = 8.
endif.
Regards,
Rich Heilman
‎2005 Jun 02 6:59 PM
Here is some sample code. User will have to press enter for the name to show up.
report zrich_0002 .
data: xpa0002 type pa0002.
selection-screen begin of block b3 with frame title text-010.
selection-screen begin of line.
selection-screen comment 1(20) text-012 for field p_pernr.
selection-screen position 32.
parameters: p_pernr type pa0002-pernr.
selection-screen position 52.
parameters: p_name(30) type c.
selection-screen end of line.
selection-screen end of block b3.
at selection-screen output.
if not p_pernr is initial.
select single * from pa0002 into xpa0002
where pernr = p_pernr.
if sy-subrc = 0.
concatenate xpa0002-vorna xpa0002-nachn into p_name
separated by space.
endif.
endif.
loop at screen.
if screen-name = 'P_NAME'.
screen-input = '0'.
modify screen.
endif.
endloop.
Regards,
Rich Heilman
‎2005 Jun 02 7:25 PM
Create a serach help through SE11 say ZPERNR as per your requirement.
Having fields pernr, vorna & nachn but exporting only pernr. See a few example search helps to create a search help. Test your new search help using single test.
Then use code below to declare parameter in your report.
PARAMETERS: p_pernr type pa0002-pernr
MATCHCODE OBJECT ZPERNR.
‎2005 Jun 02 8:09 PM
Check this one out too. I got it to update the name when user picks the employee from F4 help.
report zrich_0002 .
data dynpfields like dynpread occurs 0 with header line.
data: xpa0002 type pa0002.
selection-screen begin of block b3 with frame title text-010.
selection-screen begin of line.
selection-screen comment 1(20) text-012 for field p_pernr.
selection-screen position 32.
parameters: p_pernr type pa0002-pernr.
selection-screen position 52.
parameters: p_name(30) type c.
selection-screen end of line.
selection-screen end of block b3.
at selection-screen output.
if not p_pernr is initial.
select single * from pa0002 into xpa0002
where pernr = p_pernr.
if sy-subrc = 0.
concatenate xpa0002-vorna xpa0002-nachn into p_name
separated by space.
endif.
endif.
loop at screen.
if screen-name = 'P_NAME'.
screen-input = '0'.
modify screen.
endif.
endloop.
at selection-screen on value-request for p_pernr.
* Internal Table for employee help
data: begin of help_pernr occurs 0,
pernr type pa0002-pernr,
vorna type pa0002-vorna,
nachn type pa0002-nachn,
end of help_pernr.
data: return type table of ddshretval with header line.
select * from pa0002
into corresponding fields of table help_pernr.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = 'PERNR'
dynprofield = 'P_PERNR'
dynpprog = sy-cprog
dynpnr = sy-dynnr
value_org = 'S'
tables
value_tab = help_pernr
return_tab = return.
dynpfields-fieldname = 'P_PERNR'.
append dynpfields.
dynpfields-fieldname = 'P_NAME'.
append dynpfields.
call function 'DYNP_VALUES_READ'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
tables
dynpfields = dynpfields
exceptions
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
others = 11.
read table return index 1.
if sy-subrc = 0.
select single * from pa0002 into xpa0002
where pernr = return-fieldval.
if sy-subrc = 0.
concatenate xpa0002-vorna xpa0002-nachn into p_name
separated by space.
endif.
loop at dynpfields.
case dynpfields-fieldname.
when 'P_PERNR'.
dynpfields-fieldvalue = return-fieldval.
when 'P_NAME'.
dynpfields-fieldvalue = p_name.
endcase.
modify dynpfields.
endloop.
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
tables
dynpfields = dynpfields
exceptions
others = 8.
endif.
Regards,
Rich Heilman