Application Development and Automation 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: 
Read only

user exit

Former Member
0 Likes
560

Hello gurus,

I want to implement user exit RV60AFZZ, FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN

does anybody have got some sample code for me proceed

thanx in advance

senthil

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
475

Hi,

use below code

FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN.

TABLES OIA10E.

IF NOT VBRK-SFAKN IS INITIAL.

SELECT SINGLE *

FROM OIA10E

WHERE EXGNUM = VBRK-OIEXGNUM

AND FIDOC = VBRK-SFAKN.

IF SY-SUBRC = 0.

MESSAGE E000(ZZ) WITH 'Unable to cancel as document included'

'on netting document'

OIA10E-NETNUM.

ENDIF.

ENDIF.

Regards

amole

3 REPLIES 3
Read only

Former Member
0 Likes
476

Hi,

use below code

FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN.

TABLES OIA10E.

IF NOT VBRK-SFAKN IS INITIAL.

SELECT SINGLE *

FROM OIA10E

WHERE EXGNUM = VBRK-OIEXGNUM

AND FIDOC = VBRK-SFAKN.

IF SY-SUBRC = 0.

MESSAGE E000(ZZ) WITH 'Unable to cancel as document included'

'on netting document'

OIA10E-NETNUM.

ENDIF.

ENDIF.

Regards

amole

Read only

Former Member
0 Likes
475

Hi Senthil,

Here is sample code, u can alter it according to ur requirement

----


  • FORM USEREXIT_NUMBER_RANGE *

----


  • This userexit can be used to determine the numberranges for *

  • the internal document number. *

  • US_RANGE_INTERN - internal number range *

  • This form is called from form LV60AU02 *

----


this is the code we had written here

FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN.

FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN.

data : l_fkart like vbrk-fkart.

  • Example: Number range from TVFK like in standard

  • US_RANGE_INTERN = TVFK-NUMKI.

clear US_RANGE_INTERN.

condense vbrk-fkart.

case vbrk-fkart.

when 'ZAMC'.

l_fkart = 'AMCI'.

when 'ZASU'.

l_fkart = 'ASUI'.

when 'ZCS'.

l_fkart = 'ZCSI'.

when 'ZDEM'.

l_fkart = 'DEMI'.

when 'ZVEN'.

l_fkart = 'VENI'.

when others.

l_fkart = vbrk-fkart.

endcase.

select single NRRANGENR into US_RANGE_INTERN

from ZNRIV_P where werks = vbrp-werks and doctyp = l_fkart.

if sy-subrc ne 0.

message e001(ZTTIL1) with vbrp-werks l_fkart.

endif.

ENDFORM.

Hope it helps,

Regards,

Kumar

Read only

0 Likes
475

if found good please award some points.

form userexit_number_range using us_range_intern.

data: lv_objtype like nast-objtype.

data: lv_simulation type c.

data: begin of lt_xvbrp occurs 0.

include structure vbrpvb.

data: end of lt_xvbrp.

data: begin of lt_xvbpa occurs 0.

include structure vbpavb.

data: end of lt_xvbpa.

data: begin of lt_yvbrp occurs 0.

include structure vbrpvb.

data: end of lt_yvbrp.

data: begin of lt_yvbpa occurs 0.

include structure vbpavb.

data: end of lt_yvbpa.

data: ls_vbrp like vbrpvb,

ls_vbpa like vbpavb.

data: ls_xvbrp like vbrpvb.

data: lv_func_pref_sd0c_r3

like rs38l-name value '/SAPSLL/PREF_SD0C_R3'.

call function 'FUNCTION_EXISTS'

exporting

funcname = lv_func_pref_sd0c_r3

exceptions

function_not_exist = 1

others = 2.

if sy-subrc <> 0.

exit.

endif.

call function 'SD_OBJECT_TYPE_DETERMINE'

exporting

i_document_type = vbrk-vbtyp

importing

e_business_object = lv_objtype

exceptions

others = 0.

lv_simulation = 'X'.

refresh: lt_xvbrp, lt_xvbpa, lt_yvbrp, lt_yvbpa.

clear: lt_xvbrp, lt_xvbpa, lt_yvbrp, lt_yvbpa.

loop at xvbpa into ls_vbpa where vbeln = vbrk-vbeln.

append ls_vbpa to lt_xvbpa.

endloop.

loop at yvbpa into ls_vbpa where vbeln = vbrk-vbeln.

append ls_vbpa to lt_yvbpa.

endloop.

loop at xvbrp into ls_vbrp where vbeln = vbrk-vbeln.

append ls_vbrp to lt_xvbrp.

endloop.

loop at yvbrp into ls_vbrp where vbeln = vbrk-vbeln.

append ls_vbrp to lt_yvbrp.

endloop.

call function '/SAPSLL/PREF_SD0C_R3'

exporting

is_header = vbrk

iv_business_object = lv_objtype

iv_simulation = lv_simulation

iv_deletion_indicator = ' '

tables

it_partner_new = lt_xvbpa

it_partner_old = lt_yvbpa

ct_item_new = lt_xvbrp

it_item_old = lt_yvbrp

it_partner_address = xvbadr

exceptions

others = 1. "#EC EXISTS

loop at xvbrp into ls_xvbrp

where ( vbeln eq vbrk-vbeln ).

read table lt_xvbrp into ls_vbrp

with key vbeln = ls_xvbrp-vbeln

posnr = ls_xvbrp-posnr.

if ( sy-subrc = 0 ).

move ls_vbrp-prefe to ls_xvbrp-prefe.

endif.

*------ Änderung übernehmen

modify xvbrp from ls_xvbrp transporting prefe.

endloop.

  • Example: Number range from TVFK like in standard

  • US_RANGE_INTERN = TVFK-NUMKI.

endform.

*eject

regards,

Vishwas