02-16-2009 2:05 PM
Hi SDN members,
I had typical req to develop a user exit where i need to give a popup containing 10 fileds on it.
can any one tell how it's possible to display a popup with 10 fileds in USER EXIT.
user wants to display a popup when a duplicate invoice comes when he is creationg a invoice in MIRO or FV60
please let me know.
Thanks & regards
Naresh
02-16-2009 2:16 PM
Hi
It depends on which user-exit you're speaking about?
If the user-exit is processed during the recording process in update task u can't, but in generally the most user-exit are called before this process and so here u can.
Anyway u should insert a control to skip the popup if the process is in background mode.
Check the fm like POPUP_GET_VALUES* in order to show a popup
Max
02-16-2009 2:16 PM
Hi
It depends on which user-exit you're speaking about?
If the user-exit is processed during the recording process in update task u can't, but in generally the most user-exit are called before this process and so here u can.
Anyway u should insert a control to skip the popup if the process is in background mode.
Check the fm like POPUP_GET_VALUES* in order to show a popup
Max
02-17-2009 10:42 AM
I want to display a popup with 10 fileds on that.
if there is any duplicate invoice found then in that user exit we need to get a popup for user with some 10 fileds and display him weather he need to confirm or want new invoice
my q? about is.
is it possible to get that 10 fileds in a popup box or is tehre any other way to achive this functionality
02-17-2009 4:37 PM
Try Model Dialog box or call screen from there .. . it is not possible to enter 10 fields in popup...
You can try Creating dialog text in SE61 - Then call the dialog text from your user exit like
call function 'POPUP_TO_CONFIRM'
exporting
titlebar = 'title'
diagnose_object = 'zdialog' " dialog text
text_question = question
text_button_1 = 'text button1'
icon_button_1 = 'icon1'
text_button_2 = 'text button 2'
icon_button_2 = 'icon2'
default_button = '1'
display_cancel_button = ' '
importing
answer = l_answer.
You can define the field names in dialog text
02-18-2009 4:31 AM
Hi
in dialog text.
I think we have certain limitaion in length of the text.
i can display only certain text not long texts.
02-20-2009 4:16 AM
Hi,
As pointed out by Max you may use the FM 'POPUP_GET_VALUES' of rthe same.
The following code will give you an idea of how exactly this FM to be used.
Have a look@ :
{
select single * from zsdbilldata client specified
where mandt = sy-mandt and
vbeln = tkomk-belnr.
if sy-subrc = 0.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'SHIP_BILLNO'.
T-FIELDS-VALUE = ZSDBILLDATA-SHIP_BILLNO.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'SHIP_BILLDT'.
T-FIELDS-VALUE = ZSDBILLDATA-SHIP_BILLDT.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'B_LNO_AWBNO'.
T-FIELDS-VALUE = ZSDBILLDATA-B_LNO_AWBNO.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'B_LDT_AWBDT'.
T-FIELDS-VALUE = ZSDBILLDATA-B_LDT_AWBDT.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'VESNO_FLTDTLS'.
T-FIELDS-VALUE = ZSDBILLDATA-VESNO_FLTDTLS.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'CONTNR_NO'.
T-FIELDS-VALUE = ZSDBILLDATA-CONTNR_NO.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'ETD'.
T-FIELDS-VALUE = ZSDBILLDATA-ETD.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'ETA'.
T-FIELDS-VALUE = ZSDBILLDATA-ETA.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'INSCERT_NO'.
T-FIELDS-VALUE = ZSDBILLDATA-INSCERT_NO.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'INSCERT_DT'.
T-FIELDS-VALUE = ZSDBILLDATA-INSCERT_DT.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'TRAVEL'.
T-FIELDS-VALUE = ZSDBILLDATA-TRAVEL.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'COUNTRY'.
T-FIELDS-VALUE = ZSDBILLDATA-COUNTRY.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'INS_ROUTE'.
T-FIELDS-VALUE = ZSDBILLDATA-INS_ROUTE.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'FREIGHT'.
T-FIELDS-VALUE = ZSDBILLDATA-FREIGHT.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'PACKING'.
T-FIELDS-VALUE = ZSDBILLDATA-PACKING.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'ROUTETRANS'.
T-FIELDS-VALUE = ZSDBILLDATA-ROUTETRANS.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'GR_NO'.
T-FIELDS-VALUE = ZSDBILLDATA-GR_NO.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'TEXT1'.
T-FIELDS-VALUE = ZSDBILLDATA-TEXT1.
Case w_div.
When ' '.
T-FIELDS-FIELDTEXT = 'Original Doc To Bank'.
When Others.
clear T-FIELDS-FIELDTEXT.
Endcase.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'TEXT2'.
T-FIELDS-VALUE = ZSDBILLDATA-TEXT2.
Case w_div.
When ' '.
T-FIELDS-FIELDTEXT = 'Rcept of org s/bill'.
When Others.
clear T-FIELDS-FIELDTEXT.
Endcase.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'TEXT3'.
T-FIELDS-VALUE = ZSDBILLDATA-TEXT3.
Case w_div.
When ' '.
T-FIELDS-FIELDTEXT = 'Receipt of BRC'.
When Others.
clear T-FIELDS-FIELDTEXT.
Endcase.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'TEXT4'.
T-FIELDS-VALUE = ZSDBILLDATA-TEXT4.
Case w_div.
When ' '.
T-FIELDS-FIELDTEXT = 'POE sumbitted on'.
When Others.
clear T-FIELDS-FIELDTEXT.
Endcase.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'TEXT5'.
Case w_div.
When ' '.
T-FIELDS-FIELDTEXT = 'Remarks1'.
When Others.
clear T-FIELDS-FIELDTEXT.
Endcase.
T-FIELDS-VALUE = ZSDBILLDATA-TEXT5.
APPEND T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'TEXT6'.
T-FIELDS-VALUE = ZSDBILLDATA-TEXT6.
Case w_div.
When ' '.
T-FIELDS-FIELDTEXT = 'Remarks2'.
When Others.
clear T-FIELDS-FIELDTEXT.
Endcase.
APPEND T-FIELDS.
endif.
ENDIF.
Clear T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'LED'. "Let Export Date
T-FIELDS-VALUE = ZSDBILLDATA-LED.
APPEND T-FIELDS.
Clear T-FIELDS.
T-FIELDS-tabname = 'ZSDBILLDATA'.
T-FIELDS-FIELDNAME = 'REMARKS3'.
T-FIELDS-VALUE = ZSDBILLDATA-REMARKS3.
Case w_div.
When ' '.
T-FIELDS-FIELDTEXT = 'Remarks3'.
When Others.
clear T-FIELDS-FIELDTEXT.
Endcase.
APPEND T-FIELDS.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
NO_VALUE_CHECK = ' '
popup_title = 'Get Additional Values'
START_COLUMN = '5'
START_ROW = '5'
IMPORTING
RETURNCODE = w-ret
tables
fields = t-fields
EXCEPTIONS
ERROR_IN_FIELDS = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at T-fields.
case T-fields-fieldname.
when 'SHIP_BILLNO'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-SHIP_BILLNO.
WHEN 'SHIP_BILLDT'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-SHIP_BILLDT.
when 'B_LNO_AWBNO'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-B_LNO_AWBNO.
WHEN 'B_LDT_AWBDT'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-B_LDT_AWBDT.
when 'PACKING'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-PACKING.
when 'VESNO_FLTDTLS'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-VESNO_FLTDTLS.
WHEN 'ROUTETRANS'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-ROUTETRANS.
when 'CONTNR_NO'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-CONTNR_NO.
WHEN 'GR_NO'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-GR_NO.
when 'INSPOL_NO'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-INSPOL_NO.
WHEN 'INSPOL_DT'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-INSPOL_DT.
when 'INSCERT_NO'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-INSCERT_NO.
WHEN 'INSCERT_DT'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-INSCERT_DT.
when 'INS_ROUTE'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-INS_ROUTE.
when 'ETD'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-ETD.
WHEN 'ETA'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-ETA.
when 'TEXT1'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-TEXT1.
WHEN 'TEXT2'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-TEXT2.
when 'TEXT3'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-TEXT3.
WHEN 'TEXT4'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-TEXT4.
when 'TEXT5'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-TEXT5.
WHEN 'TEXT6'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-TEXT6.
when 'TRAVEL'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-TRAVEL.
when 'FREIGHT'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-FREIGHT.
WHEN 'COUNTRY'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-COUNTRY.
WHEN 'LED'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-LED.
WHEN 'REMARKS3'.
MOVE T-FIELDS-VALUE TO T-ZSDBILLDATA-REMARKS3.
endcase.
endloop.
MOVE TKOMK-BELNR TO T-ZSDBILLDATA-VBELN.
move sy-mandt to T-ZSDBILLDATA-mandt.
APPEND T-ZSDBILLDATA.
select single * from zsdbilldata client specified
where mandt = t-zsdbilldata-mandt and
vbeln = t-zsdbilldata-vbeln.
if sy-subrc ne 0.
insert zsdbilldata FROM t-zsdbilldata ."CLIENT SPECIFIED.
else.
UPDATE zsdbilldata FROM t-zsdbilldata.
endif.
ENDIF.
}
I hope this helps,
Regards
Raju Chitale
03-31-2009 7:15 AM