Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible in user exit to display 10 fileds in a popup

Former Member
0 Kudos

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

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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

6 REPLIES 6

Former Member
0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

Hi

in dialog text.

I think we have certain limitaion in length of the text.

i can display only certain text not long texts.

Former Member
0 Kudos

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

0 Kudos

solved