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: 

Help in defaulting a value in a program

Former Member
0 Kudos

I have a program called MV45AZZA, and I got the following requirement

In MV45AFZZ we need to default VBAP-BWTAR = RH while new items are added in transaction VA01 and VA02, if sales org = 5090, order type = ZSBK and MBEW-BWTTY = 1 for the VBAP-MATNR. Once defaulted user should be able to change it to new value in VA01 and VA02, in that case system should not overwrite it with default value.

Sales order functionality needs to be changed to account for Sbank sales updating to repair profit center.

any help in coding is highly appreciated. i know little ABAP and I would appreciate if somebody can help in adding the code.Please highlight the code you added

Please check the Program below.

Thanks

SP

*TABLES: zue003, tvarv.

*DATA: werks LIKE vbap-werks.

  • Start of DEVK923935.

  • Global Definition

INCLUDE zsdi_mv45afzz_top.

*

************************************************************************

  • *

  • *

************************************************************************

----


  • FORM ZZEXAMPLE *

----


  • text...................................... *

----


*FORM ZZEXAMPLE.

  • ...

*ENDFORM.

*eject

----


  • FORM USEREXIT_DELETE_DOCUMENT *

----


  • This userexit can be used to delete data in additional tables *

  • when a sales document is deleted. *

  • *

  • This form is called in dialog at the end of form BELEG_LOESCHEN*

  • just before form BELEG_SICHERN is performed to delete the *

  • datas on the database. *

  • *

----


FORM userexit_delete_document.

ENDFORM.

*eject

----


  • FORM USEREXIT_FIELD_MODIFICATION *

----


  • This userexit can be used to modify the attributes of *

  • screen fields. *

  • This form is processed for each field in the screen. *

  • *

  • The use of the fields screen-group1 to screen-group4 is: *

  • *

  • Screen-group1: Automatic modification contolles by transaction*

  • MFAW. *

  • Screen-group2: Contents 'LOO' for steploop-fields. *

  • Screen-group3: Used for modififaction, which are dependent on *

  • control tables or other fix information. *

  • Screen-group4: Unused *

  • *

  • For field mofifications, which are dependent on the document *

  • status, you can use the status field in the workareas *

  • XVBAP for item status and XVBUK for header status. *

  • *

  • This form is called from module FELDAUSWAHL. *

  • *

----


FORM userexit_field_modification.

DATA: zvbtyp LIKE vbfa-vbtyp_n,

zvbeln LIKE vbfa-vbeln.

  • CASE SCREEN-GROUP3.

  • WHEN '900'.

  • IF VBAK-VBTYP NE 'A'.

  • SCREEN-ACTIVE = 0.

  • ENDIF.

  • ENDCASE.

  • CASE SCREEN-NAME.

  • WHEN 'VBAK-VBELN'.

  • SCREEN-ACTIVE = 0.

  • ENDCASE.

IF vbap-pstyv = 'IRLA'.

  • CHECK sy-tcode = 'VA01' OR sy-tcode = 'VA02'.

IF sy-tcode = 'VA01' OR sy-tcode = 'VA02'.

SELECT SINGLE vbtyp_n INTO zvbtyp FROM vbfa

WHERE vbelv = xvbap-vbeln AND posnv = vbap-posnr.

  • CHECK sy-subrc <> 0.

IF sy-subrc <> 0.

CASE screen-group2.

WHEN 'LOO'.

IF screen-name = 'VBAP-WERKS'.

screen-input = 1.

ENDIF.

ENDCASE.

ENDIF.

ENDIF.

ENDIF.

*----


  • Make Reject Reason modifiable when document category is 'RETURNS'

  • 06/10/02

  • Modified by Ak for check on subsequent credit memo

  • This opens up the field - reason for rejection - for change even after

  • the material has been received into the system on the returns delivery

  • but before the Returns Credit Memo has been issued.

*----


    • Changed field to be modified from Reason for Rejection to Item

    • Category on the line item for which no credit to be given.

**----


  • select single * from vbfa where vbelv = vbak-vbeln and

  • vbtyp_n = 'O'.

**----


  • select a Returns Credit Memo document from VBFA that has NOT been

  • cancelled. if the selection is successful, credit has been issued and

  • the field should stay locked. however, if selection is unsuccessful

  • and since no credit has been issued, the field for item category

  • must be available for changing, if need be.

**----


  • check: vbak-vbtyp = 'H'.

IF vbak-vbtyp = 'H'.

IF sy-tcode = 'VA01' OR sy-tcode = 'VA02'.

SELECT SINGLE vbrk~vbeln INTO zvbeln

FROM vbfa INNER JOIN vbrk ON vbfavbeln = vbrkvbeln

WHERE vbfavbelv = vbak-vbeln AND vbfaposnv = vbap-posnr

AND vbfavbtyp_n = 'O' AND vbrkfksto NE 'X'.

CHECK sy-subrc NE 0.

CASE screen-group2.

WHEN 'LOO'.

IF screen-name = 'VBAP-PSTYV'.

screen-input = 1.

ENDIF.

ENDCASE.

ENDIF.

ENDIF.

INCLUDE zue_sd_0029.

*----


************************************************************************

**If no invoice is created then make PSTYV ready for input for item

**category IRIN.

**********************************************************************

INCLUDE zue_sd_0031.

*----


ENDFORM.

*eject

----


  • FORM USEREXIT_MOVE_FIELD_TO_VBAK *

----


  • This userexit can be used to move some fields into the sales *

  • dokument header workaerea VBAK. *

  • *

  • SVBAK-TABIX = 0: Create header *

  • SVBAK-TABIX > 0: Change header *

  • *

  • This form is called at the end of form VBAK_FUELLEN. *

  • *

----


FORM userexit_move_field_to_vbak.

  • vbak-zzfield = xxxx-zzfield2.

**Ernesto EDIT for UE DEMO 10/16/2002

  • SELECT single * INTO TABLE i_tvarv FROM tvarv WHERE name =

*ZKS_KSEASORG'.

  • Start of DEVK923935.

  • Initialization Section

INCLUDE zsdi_mv45afzz_initialization.

  • End of DEVK923935.

**{ INSERT SNDK900075 1

    • Change user exit according to Online Documentation to

    • copy ship-to info to sale doc header (VBAK)

*CODE BELOW*REPLACED WITH zue_sd_0017***********

  • IF vbak-kvgr1 IS INITIAL AND

  • vbak-kvgr2 IS INITIAL AND

  • vbak-kvgr3 IS INITIAL AND

  • vbak-kvgr4 IS INITIAL AND

  • vbak-kvgr5 IS INITIAL.

*

  • SELECT SINGLE vkgrp vkbur kvgr1 kvgr2 kvgr3 kvgr4 kvgr5

  • FROM knvv INTO (vbak-vkgrp, vbak-vkbur, vbak-kvgr1, vbak-kvgr2,

  • vbak-kvgr3, vbak-kvgr4, vbak-kvgr5)

  • WHERE kunnr = kuwev-kunnr AND

  • vkorg = vbak-vkorg AND

  • vtweg = vbak-vtweg AND

  • spart = vbak-spart.

*

  • ENDIF.

*CODE ABOVE*REPLACED WITH zue_sd_0017***********

INCLUDE zue_sd_0017.

*CODE BELOW*REPLACED WITH zue_sd_0017***********

  • IF svbak-tabix = 0.

  • SELECT SINGLE vsbed FROM knvv INTO vbak-vsbed

*WHERE kunnr = kuwev-kunnr AND

  • vkorg = vbak-vkorg AND

  • vtweg = vbak-vtweg AND

  • spart = vbak-spart.

  • ENDIF.

*CODE ABOVE*REPLACED WITH zue_sd_0017***********

______________________________________________________________________

*

/_____________________________________________________________________

  • Start of DEVK915182

**Ernesto EDIT for UE DEMO 10/15/2002.

  • READ TABLE i_tvarv WITH KEY name = 'ZKS_KSEASORG'.

  • IF sy-subrc = 0.

  • IF vbak-vkorg = i_tvarv-low.

IF vbak-vkorg IN i_zsd01_vkorg.

IF sy-tcode EQ 'VA01'.

IF sy-dynnr EQ '4021'.

IF sy-ucomm NE 'SICH'.

l_pop_type = 'X'.

INCLUDE zue_sd_0027.

  • PERFORM partner_validation USING 'X'.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

  • end-of DEVK915182

************************************************************************

  • Project : KSEA - Sales Force Expansion of 1st Jan 2003

  • Include for KSEA Sales Org 5010 only for PopUp Windows " 12/23/2002

INCLUDE zsd_salesforce_expnsn_hdr." Include 1 of 4

************************************************************************

************************************************************************

**______________________________________________________________________

*

*/ Description : KSE Modification to remove the billing block for

*/ returns/credits/debits if sales Org is 5090.

/_____________________________________________________________________

*

*ORIGINAL CODE

*if vbak-vkorg = '5090' and vbak-vbtyp ca 'HKL'.

*vbak-faksk = ' '.

*endif.

*

IF sy-tcode = 'VA01'.

IF vbak-vkorg IN i_zsd09_vkorg.

IF vbak-vbtyp IN i_zsd09_vbtyp.

vbak-faksk = ' '.

ENDIF.

ENDIF.

ENDIF.

************************************************************************

*

*

  • BREAK-POINT.

  • INCLUDE zue_sd_0039.

ENDFORM.

*eject

----


  • FORM USEREXIT_MOVE_FIELD_TO_VBAP *

----


  • This userexit can be used to move some fields into the sales *

  • dokument item workaerea VBAP *

  • *

  • SVBAP-TABIX = 0: Create item *

  • SVBAP-TABIX > 0: Change item *

  • *

  • This form is called at the end of form VBAP_FUELLEN. *

  • *

----


FORM userexit_move_field_to_vbap.

  • VBAP-zzfield = xxxx-zzfield2.

*{ INSERT SNDK900164 1

----


  • Item Category Determination

----


DATA: zzbukrs LIKE tvko-bukrs,

zzmtpos LIKE mvke-mtpos.

DATA: BEGIN OF zzwerks OCCURS 0,

werks LIKE marc-werks,

END OF zzwerks.

DATA: zdoccat LIKE tvak-vbklt,

zvmsta LIKE mvke-vmsta,

zspvbc LIKE tvms-spvbc,

zvmstb LIKE tvmst-vmstb.

DATA: z_xvbap LIKE xvbap,

yp1 LIKE t001k-bwkey,

z_uepos_bukrs LIKE t001k-bukrs.

IF i_zsd01_vkorg[] IS INITIAL.

  • If the initialization was not performed in the Fill VBAK,

  • reload data

INCLUDE zsdi_mv45afzz_initialization.

ENDIF.

SELECT SINGLE bukrs

INTO zzbukrs

FROM tvko

WHERE vkorg = vbak-vkorg.

SELECT w~werks

INTO TABLE zzwerks

FROM t001w AS w JOIN t001k AS k

ON wbwkey = kbwkey

WHERE k~bukrs = zzbukrs.

SELECT SINGLE mtpos INTO zzmtpos

FROM mvke

WHERE matnr = vbap-matnr

AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg.

  • Export Plant - inport in ZXQSMU07

EXPORT zz_plant = vbap-werks TO MEMORY ID 'ZZPLANT'. " KN05

  • check vbap-pstyv = 'TAN' or vbap-pstyv = 'TANN'.

  • removed the CHECK statement and replaced by IF-ENDIF.

    • inserted by arvind r kulkarni for TAN, TANN switching

IF vbap-pstyv = 'TAN' OR vbap-pstyv = 'TANN'

OR vbap-pstyv = 'REN' " KN02

OR vbap-pstyv = 'RENN' . " KN02

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

  • check sy-subrc ne 0.

IF sy-subrc NE 0.

IF vbap-pstyv = 'TAN'.

vbap-pstyv = 'ZAN'.

ELSEIF vbap-pstyv = 'REN'. " KN02

vbap-pstyv = 'YREN'. " KN02

ELSEIF vbap-pstyv = 'RENN'. " KN02

vbap-pstyv = 'YRNN'. " KN02

ELSEIF vbap-pstyv = 'TANN'.

vbap-pstyv = 'ZANN'.

ENDIF.

ENDIF.

ENDIF.

INCLUDE zue_sd_0014.

    • Begin insert for check for discontinued material in repair orders

***********************************************************************

  • LOGIC: For IRAT item categories, check if the material status field *

  • blank or populated. *

  • If populated, get the value of the D-Chain specific status *

  • and issue warning/error message with the associated text *

  • from config the D-Chain specific material status. *

  • Included YRAT to this logic (YRAT is free IRAT); 11/22/2002. *

***********************************************************************

  • *

***********************************************************************

IF vbap-pstyv = 'IRAT' OR vbap-pstyv = 'YRAT'.

CLEAR: zvmsta, zvmstb, zspvbc.

SELECT SINGLE vmsta INTO zvmsta FROM mvke WHERE

matnr = vbap-matnr AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg.

  • CHECK: NOT zvmsta IS INITIAL.

IF NOT zvmsta IS INITIAL.

SELECT SINGLE spvbc INTO zspvbc FROM tvms WHERE

vmsta = zvmsta.

SELECT SINGLE vmstb INTO zvmstb FROM tvmst WHERE

spras = sy-langu AND vmsta = zvmsta.

CASE zspvbc.

WHEN 'A'.

MESSAGE ID 'V1' TYPE 'W' NUMBER '028' WITH zvmsta zvmstb.

WHEN 'B'.

MESSAGE ID 'V1' TYPE 'E' NUMBER '028' WITH zvmsta zvmstb.

ENDCASE.

ENDIF.

ENDIF.

    • End insert for check for discontinued material in repair orders

INCLUDE zue_sd_0004.

INCLUDE zue_sd_0005.

  • end of DEVK923935.

*

****************END OF TEST SOURCE CODE******************

****************************************************************

      • Begin Insert to assign material entered for TRADE material

****************************************************************

    • Ak; 11/08/2002.

    • For trade material, the system will now mandate entry of higher level

    • item number and based on this, the system will bring in specialty,

    • material number (into material entered) and profit centre from this

    • higher level item into the line item for material TRADE.

    • Added MVGR2 & 3 to pass onto TRADE material; 11/12/2002 - Arvind.

    • Added material a/c assignment grp to trade-in material.

    • Added ZTRD item category to this logic. - Arvind 11/18/2002.

INCLUDE zzsdprc01.

INCLUDE zue_sd_0028.

****************************************************************

      • End Insert to assign material entered for TRADE material

****************************************************************

********************End of DIP Profile change************************

----


----


----


  • Get custom group data from MVKE (Sales Data for Material) by Material

  • when order type is 'RAS' (Repairs/Service)

  • and populate line item's Additional data A

----


INCLUDE zue_sd_0006.

_____________________________________________________________________

INCLUDE zue_sd_0001.

  • include ZUE_SD_0032.

INCLUDE zue_sd_0002.

*----


    • Get similar data (as above) from Servicable Material

*----


INCLUDE zue_sd_0003.

----


*} INSERT

----


  • Determine Delivery Priority from SH Partner

  • 11/02/2001

----


SELECT SINGLE lprio

FROM knvv

INTO vbap-lprio

WHERE kunnr = kuwev-kunnr AND

vkorg = vbak-vkorg AND

vtweg = vbak-vtweg AND

spart = vbak-spart.

----


  • Determine Delivery Priority for Order Type RAS

----


INCLUDE zsd_check_pstyv_werks.

----


----


  • To re-determine Matwa if the replacement item is changed afterwards

  • Niranjan 05/10/05 and ECLARKE

----


  • INCLUDE zue_sd_0021.

----


----


  • Mod for all sales organizations

  • Determination of Profit Center

  • 06/24/03

----


INCLUDE zue_sd_0007.

----


  • End PRCTR Determination for KSI's document

----


----


  • KSI modification

  • Code to enter the actual part number of the item being repaired,

  • rather than "REPAIR"

  • 09/18/02 GM

----


DATA: intercoflag TYPE c.

PERFORM zz_determine_cross_comp USING vbak-vkorg

vbap-werks

intercoflag.

IF intercoflag = 'Y'

AND

( vbap-pstyv = 'IRIN' OR vbap-pstyv = 'ZRIN' ).

SELECT SINGLE matwa INTO vbap-matwa FROM vbap

WHERE vbeln = vbap-vbeln AND posnr = vbap-uepos.

IF sy-subrc NE 0.

MESSAGE e006(z1) WITH vbap-uepos.

ENDIF.

ENDIF.

----


  • End material look up modification GM 9/17/02

----


----


  • KSI modification

  • DP90 Only:

  • Remove Billing Block from IRIN items and moved them to the header

  • 10/06/02 CNG

  • 11/18/2002 Tr-DEVK917363

  • Added Sales Orgs 5040 & 5060

----


  • KSI modification

  • 06/10/2003 CNG CN01

  • If IRIN, clear billing block at item level

----


IF sy-tcode = 'DP90'.

  • IF vbap-werks = '7000' AND vbak-vkorg = '5010' AND" SM01-

  • vbap-pstyv = 'IRIN'." SM01-

IF vbap-werks = '7000' AND" SM01+

( vbak-vkorg IN i_zsd01_vkorg OR" SM01+

vbak-vkorg = '5040' OR" SM01+

----


  • Removed >>

  • vbak-vkorg = '5060' )" SM01+ CN01-

  • AND vbap-pstyv = 'IRIN'." SM01+ CN01-

  • vbak-faksk = '02'.

  • Removed <<

----


----


  • Inserted - check and block for line item IRIN only

----


vbak-vkorg = '5060' )." SM01+

vbak-faksk = '02'.

IF vbap-pstyv = 'IRIN'." CN01+

----


CLEAR vbap-faksp.

----


  • Inserted - check and block for line item IRIN only

----


ENDIF.

----


ENDIF.

ENDIF.

----


----


  • KSI modification

  • Routine to populate VBAP-ZZEDATU and VBAP-ZZVDATU on change and

  • creation of order

  • 02/10/03 CNG

----


PERFORM check_custom_dates.

----


**********************************************************************

    • KSE Modification to create return item automatically**

    • Copied from Niranjan's routine tested in SND210 Date 04/05/03

**********************************************************************

INCLUDE zue_sd_0008.

**********************************************************************

********************************************************

    • User Exit for Service Processing - Clear Results

    • Analysis Key in sales order item for non-KSE service

    • items. DEVK927084 W. Miller 05/12/2003

********************************************************

----


  • Changed to validate by plant instead of sales org.

  • 06/30/03 BEGIN>>>

----


  • if not vbak-vkorg = '5090' and vbap-bedae = 'SE'.

*Added 5000 for KSEM Prjct 02-09-2006 EC

IF NOT ( vbap-werks = '9000' OR vbap-werks = '5000' )

AND ( vbap-bedae = 'SE' OR VBAP-BEDAE = 'SERA' ).

  • 06/30/03 END <<<<

----


CLEAR vbap-abgrs.

ENDIF.

*******************************************************

  • End of DEVK924084

**______________________________________________________________________

*

*/ Author : w/ Trimb.

*/ Date : 10/07/2003 ---> Repair No : DEVK930002

*/ Description : KSE Modification For plant 9000, to check the

*/ material is 'Non-R' for RAS order type

*/ and is 'R' for ZREX and ZWAR order types.

/_____________________________________________________________________

*Added lines below for - There is a user exit which exists that does

*not allow materials that do not begin with an "R" to be posted into

*plant 9000 if they are attached to a ZWAR order type. KSE/KSEA would

*like to modify this exit to allow materials with profit centers

*5090-03003 and 5090-04003 to be posted.

*ECLARKE/Niranjan 07-29-2004

*________________________n 07-29-2004__________________

DATA: flag_dexe.

TABLES: zzue027.

CLEAR: flag_dexe.

SELECT SINGLE werks auart prctr INTO (zzue027-werks, zzue027-auart,

zzue027-prctr) FROM zzue027 WHERE werks = vbap-werks AND auart =

vbak-auart AND prctr = vbap-prctr.

IF sy-subrc = 0.

flag_dexe = 'X'.

ENDIF.

*________________________ 07-29-2004__________________

IF flag_dexe IS INITIAL. " 07-29-2004

IF vbap-werks IN i_zsd09_werks.

IF ( vbak-auart IN i_zsd02_auart AND vbap-pstyv IN i_zsd04_pstyv AND

vbap-matwa(1) = 'R' ) OR ( vbak-auart IN i_zsd02_auart AND

vbap-pstyv IN i_zsd03_pstyv AND vbap-matnr(1) = 'R' ).

IF vbap-matwa(1) = 'R'.

MESSAGE e001(zkse) WITH vbap-matwa vbap-posnr vbak-auart

vbap-pstyv.

ENDIF.

IF vbap-matnr(1) = 'R'.

MESSAGE e001(zkse) WITH vbap-matnr vbap-posnr vbak-auart

vbap-pstyv.

ENDIF.

ELSEIF ( vbak-auart IN i_zsd03_auart AND vbap-pstyv IN

i_zsd04_pstyv AND vbap-matwa(1) <> 'R' ) OR ( vbak-auart IN

i_zsd03_auart AND vbap-pstyv IN i_zsd03_pstyv AND vbap-matnr(1) <> 'R' )

OR ( vbak-auart IN i_zsd04_auart AND vbap-pstyv IN i_zsd04_pstyv AND

vbap-matwa(1) <> 'R' ) OR ( vbak-auart IN i_zsd04_auart AND vbap-pstyv

IN i_zsd03_pstyv AND vbap-matnr(1) <> 'R' ).

IF vbap-matwa(1) <> 'R'.

MESSAGE e001(zkse) WITH vbap-matwa vbap-posnr vbak-auart

vbap-pstyv.

ENDIF.

IF vbap-matnr(1) <> 'R'.

MESSAGE e001(zkse) WITH vbap-matnr vbap-posnr vbak-auart

vbap-pstyv.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

INCLUDE zue_sd_0015.

**********************************************************************

  • include zue_sd_0019

  • Enhancement to populate Storage Location for sales order 5090

  • and plant 9000. But any companies can use it as long as entries are

  • maintained in table zsd_default_sloc

  • Niranjan 02/11/04

  • DEVK933987 - MV45AFZZ - MPitisci 4/12/2004

  • DEVK933989 - ZUE_SD_0019 include

  • DEVK933998 - ZSD_DEFAULT_SLOC table

**********************************************************************

INCLUDE zue_sd_0019.

**********************************************************************

  • To give hard error for D-CHin status 07 for items catgories other

  • than trade.

  • 04/10/05

***********************************************************************

INCLUDE zue_sd_0034.

**********************************************************************

  • Checks if the storage location value is changed and checks to see if

  • the storage location correlates to the P3 Partner function rules

  • 08/05/2005

***********************************************************************

INCLUDE zue_sd_0036.

INCLUDE zue_sd_0013.

ENDFORM.

*eject

----


  • FORM USEREXIT_MOVE_FIELD_TO_VBEP *

----


  • This userexit can be used to move some fields into the sales *

  • dokument schedule line workaerea VBEP *

  • *

  • SVBEP-TABIX = 0: Create schedule line *

  • SVBEP-TABIX > 0: Change schedule line *

  • *

  • This form is called at the end of form VBEP_FUELLEN. *

  • *

----


FORM userexit_move_field_to_vbep.

DATA: intercoflag TYPE c.

  • VBEP-zzfield = xxxx-zzfield2.

----


  • Assign 'ZP' to Schedule line Category for Acct Assignment Grp =

  • Chui 10/23/2001

----


DATA: zzbukrs LIKE tvko-bukrs,

zzmtpos LIKE mvke-mtpos.

DATA: z_vbelv LIKE vbfa-vbelv," KN03

z_auart LIKE vbak-auart," KN03

z_vbtyp LIKE vbak-vbtyp," KN03

z_ettyp LIKE vbep-ettyp," KN03

z_pstyv LIKE vbap-pstyv," KN04

z_posnr LIKE vbap-posnr." KN04

DATA: BEGIN OF zzwerks OCCURS 0,

werks LIKE marc-werks,

END OF zzwerks.

IF vbak-vbtyp CN 'AB'. "ECLARKE 01-26-04

SELECT SINGLE bukrs

INTO zzbukrs

FROM tvko

WHERE vkorg = vbak-vkorg.

SELECT w~werks

INTO TABLE zzwerks

FROM t001w AS w JOIN t001k AS k

ON wbwkey = kbwkey

WHERE k~bukrs = zzbukrs.

SELECT SINGLE mtpos INTO zzmtpos

FROM mvke

WHERE matnr = vbap-matnr

AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg.

*lines added for valuated customer-returns project by msn

  • 110903. It will set required schedule line category YR on specific

  • item categories if the document created is of type RE with reference

  • document being an invoice of type F2

*ECLARKE & MILIND NAND. 11-11-2003.

*Schedule Line Category - Valuate Customer Returns Stock

  • INCLUDE zue_sd_0010.

CASE vbap-pstyv.

WHEN 'ZRPN'.

EXIT.

WHEN 'TAN' OR 'TANN'.

IF vbkd-ktgrd = '01'. " Added 6/5/02

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

**Ernesto EDIT for UE DEMO 10/15/2002

***************TEST FUNCTION MODULE FOR USER EXIT MAINT.******

**ADDED A CASE STATEMENT BELOW.

*

  • CALL FUNCTION 'Z_UE_SD_GET_SCHEDULE_LINE_CAT'

  • EXPORTING

  • pstyv = vbap-pstyv

  • ktgrd = vbkd-ktgrd

  • ettyp2 = vbep-ettyp

  • IMPORTING

  • ettyp = vbep-ettyp.

*

*

****************END OF TEST SOURCE CODE******************

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

  • check sy-subrc ne 0.

IF sy-subrc NE 0.

    • Change inserted by Arvind R Kulkarni; 07/22/2002

    • TAN -> ZAN; TANN => ZANN

  • vbap-pstyv = 'ZAN'.

IF vbap-pstyv = 'TAN'.

vbap-pstyv = 'ZAN'.

ELSEIF vbap-pstyv = 'TANN'.

vbap-pstyv = 'ZANN'.

ENDIF.

    • end of change

ENDIF.

*ADDED CASE HERE FOR TEST FOR SYNTAX CHECK 10/15/2002

*CASE vbap-pstyv.

WHEN 'ZAN'.

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

CHECK sy-subrc EQ 0.

vbap-pstyv = 'TAN'.

WHEN 'ZANN'.

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

CHECK sy-subrc EQ 0.

vbap-pstyv = 'TANN'.

WHEN 'ZTAN'.

IF vbkd-ktgrd = '01'. " Added 6/5/02

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

  • check sy-subrc ne 0.

IF sy-subrc NE 0.

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

*********************************************************************

  • 03/23/2005 KN03 Set Schedule Line default to ZF order type ZFD,

  • item cat ZTAN, sales org 5060, 5070, and 5071

*********************************************************************

IF vbak-auart EQ 'ZFD' AND

( vbak-vkorg = '5060' OR vbak-vkorg = '5070'

OR vbak-vkorg = '5071' ).

vbep-ettyp = 'ZF'.

ENDIF.

*********************************************************************

    • Begin of insertion for IRAT processing

    • Arvind R Kulkarni; Dated: 07/17/2002.

        • Changed to include YRAT; ; 11/22/2002

WHEN 'IRAT' OR 'YRAT'.

IF vbak-auart NE 'ZWAR'.

**********************************************

  • the sales order is NOT a ZWAR

**********************************************

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

IF sy-subrc NE 0.

  • the transaction IS intercompany

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'YN'.

ELSE.

vbep-ettyp = 'YL'.

ENDIF.

ELSE.

  • the transaction IS NOT intercompany

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZN'.

ELSE.

vbep-ettyp = 'ZL'.

ENDIF.

ENDIF.

IF vbkd-ktgrd = '01'.

  • sale is to an affiliate in local sales org

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'YN'.

ELSE.

vbep-ettyp = 'YL'.

ENDIF.

ENDIF.

ELSE.

**********************************************

  • the sales order IS a ZWAR

**********************************************

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

IF sy-subrc NE 0.

  • the transaction IS intercompany

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

  • ELSE.

    • the transaction IS NOT intercompany

    • NOTHING NEEDS TO BE DONE FOR ZWAR DOMESTIC

    • STD SCHED LINE CATEGORIES TO BE MAINTAINED.

  • IF VBEP-ETTYP = 'CN'.

  • VBEP-ETTYP = 'ZN'.

  • ELSE.

  • VBEP-ETTYP = 'ZL'.

  • ENDIF.

  • ENDIF.

  • IF VBKD-KTGRD = '01'.

  • sale is to an affiliate in local sales org

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

ENDIF.

    • End of insertion for IRAT processing

*********************************************************************

WHEN 'IRRS' OR 'IRRE' OR 'IRLA' OR 'IRLB' OR 'KBN' OR 'TAQ'

**********************************************************************

  • KSI Modification 04/22/03

  • Exclude check for item category 'YKW'

**********************************************************************

OR 'YTAN' OR 'ZKLN' OR 'KAN' OR 'ZTAQ'

OR 'YKW' OR 'IRRP' OR 'ZKBC' OR 'ZKBN' OR 'ZKAN' OR 'KLN'.

  • or 'ZKEN' OR 'ZKEC' or ZREK OR 'KEN'.

**********************************************************************

EXIT.

WHEN 'ZTR1' OR 'ZRBB' OR 'ZREB' OR 'ZREC' OR 'ZREF' OR 'ZREN'

  • Removed ZRTN to validate plant 9000

OR 'ZRFF' OR 'ZRNB' OR 'ZRNN' OR 'REN' OR 'RENN'

OR 'ZLN' OR 'IRAL' OR 'ZTR0' OR 'KLN'.

EXIT.

**********************************************************************

  • 03/23/2005 KN03 set default sched line for KE & ZKE

**********************************************************************

WHEN 'KEN' OR 'ZKEG' OR 'ZKEN' OR 'ZKEC'.

IF vbak-vkorg EQ '5070'.

vbep-ettyp = 'Z0'.

ENDIF.

WHEN 'ZREK'.

INCLUDE zue_sd_0033.

IF vbap-werks = '9000'. " KN04

IF vbkd-ktgrd = '01'. " KN04

IF z_auart = 'ZFD ' and z_pstyv = 'KLN '. " KN04

vbep-ettyp = 'YK'. " KN04

ENDIF.

ENDIF.

ENDIF.

**********************************************************************

  • KSE Modification 04/10/03

  • For Item Cate 'ZRTN'

  • Assign 'YQ' to Schedule line cat, if cross-company

  • 'YU' if not.

**********************************************************************

WHEN 'ZRTN'.

  • KN03 for KSI set default schedule line for order type ZREK

INCLUDE zue_sd_0033.

IF svbep-tabix IS INITIAL.

IF vbap-werks = '9000'.

IF vbkd-ktgrd = '01'. " KN04

IF z_auart = 'ZFD' and z_pstyv = 'KLN '. " KN04

vbep-ettyp = 'YK'. " KN04

ELSE. " KN04

vbep-ettyp = 'YQ'.

ENDIF.

ELSE.

vbep-ettyp = 'YU'.

ENDIF.

ENDIF.

ENDIF.

  • KN03 for KSI set default schedule line for order type ZREK

  • INCLUDE zue_sd_0033.

**********************************************************************

WHEN OTHERS.

IF vbkd-ktgrd = '01'.

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

ENDCASE.

  • endif.

  • Redetermine Movement Type

PERFORM tvep_select(sapmv45a) USING vbep-ettyp

charx

sy-subrc.

vbep-bwart = tvep-bwart.

ENDIF.

*******************************************************

  • KSE Mod

  • User Exit for Repair Replacement

  • Export VBEP-ETTYP, imported by RV64A950

  • 04/18/03

*******************************************************

EXPORT i_ettyp = vbep-ettyp TO MEMORY ID 'ZZSCHEDULE'.

*******************************************************

**lines added for valuated customer-returns project by msn

    • 110903. It will set required schedule line category YR on specific

    • item categories if the document created is of type RE with reference

    • document being an invoice of type F2

**. 11-11-2003.

**Schedule Line Category - Valuate Customer Returns Stock

  • BREAK-POINT.

  • INCLUDE zue_sd_0010.

**********************************************************

*KSEA Modification to default item creation date for the IRAT

*line item schedule line. SAP Note 23281

04/01/04

************************************************************

INCLUDE zue_sd_0020.

ENDFORM.

*eject

----


  • FORM USEREXIT_MOVE_FIELD_TO_VBKD *

----


  • This userexit can be used to move some fields into the sales *

  • dokument business data workaerea VBKD *

  • *

  • SVBKD-TABIX = 0: Create data *

  • SVBKD-TABIX > 0: Change data *

  • *

  • This form is called at the end of form VBKD_FUELLEN. *

  • *

----


FORM userexit_move_field_to_vbkd.

  • VBKD-zzfield = xxxx-zzfield2.

----


  • Get Customer group, Price group and Price list type *

  • by Ship-to party

  • 10/04/2001

----


DATA: yp1 LIKE t001k-bwkey,

z_uepos_bukrs LIKE t001k-bukrs.

*Request by Customer Service - Marian Favors 11-08-2004

TABLES: zzue030. "ECLARKE 11-08-2004

SELECT SINGLE tcode INTO zzue030-tcode FROM zzue030

WHERE tcode = sy-tcode. "ECLARKE 11-08-2004

IF sy-subrc = 0. "ECLARKE 11-08-2004

  • Removed check for customer group as this was required by Steve Ludewig

IF " vbkd-kdgrp IS INITIAL AND "Arvind Kulkarni; 08/05/2002.

vbkd-konda IS INITIAL AND

vbkd-pltyp IS INITIAL.

SELECT SINGLE kdgrp konda pltyp bzirk

INTO (vbkd-kdgrp, vbkd-konda, vbkd-pltyp, vbkd-bzirk)

FROM knvv

WHERE kunnr = kuwev-kunnr

AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg

AND spart = vbak-spart.

ENDIF.

ENDIF. "ECLARKE 11-08-2004

----


  • Redetermine Schedule line Category if Acct Assignment Grp is changed

  • to

  • Chui 10/23/2001

----


IF svbkd-tabix > 0 AND sy-dynnr = '4311'.

IF vbkd-ktgrd = '01' AND vbep-ettyp <> 'ZP'.

PERFORM userexit_move_field_to_vbep.

ENDIF.

ENDIF.

INCLUDE zzsdprc01.

***********************************************************************

  • To make the value of the field VBAK-ZUONR same as VBKD-BSTKD

  • 05/04/04

***********************************************************************

vbak-zuonr = vbkd-bstkd.

ENDFORM.

*eject

----


  • 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 BELEG_SICHERN *

  • *

----


FORM userexit_number_range USING us_range_intern.

  • Example: Numer range from TVAK like in standard

  • US_RANGE_INTERN = TVAK-NUMKI.

ENDFORM.

*eject

----


  • FORM USEREXIT_PRICING_PREPARE_TKOMK *

----


  • This userexit can be used to move additional fields into the *

  • communication table which is used for pricing: *

  • *

  • TKOMK for header fields *

  • *

  • This form is called from form PREISFINDUNG_VORBEREITEN. *

  • *

----


FORM userexit_pricing_prepare_tkomk.

  • TKOMK-zzfield = xxxx-zzfield2.

*{ INSERT SNDK900075 1

tkomk-aland = t001-land1.

*} INSERT

----


  • Fill Zip code with Ship-to party's

----


tkomk-post_code1 = kuwev-pstlz.

ENDFORM.

*eject

----


  • FORM USEREXIT_PRICING_PREPARE_TKOMP *

----


  • This userexit can be used to move additional fields into the *

  • communication table which is used for pricing: *

  • *

  • TKOMP for item fields *

  • *

  • This form is called from form PREISFINDUNG_VORBEREITEN. *

  • *

----


FORM userexit_pricing_prepare_tkomp.

  • TKOMP-zzfield = xxxx-zzfield2.

----


  • Fill Specialty with Doc Header's specialty

----


tkomp-rke_mvgr1 = vbap-mvgr1.

  • OSS note 32878 - New Partner Functions

  • Start add by - SMUTHAIYA - Tr- DEVK919988 - 01/29/2003

  • VE/PE - Core Sales Rep

CLEAR tkomp-zzpe.

PERFORM xvbpa_lesen(sapfv45k) USING 'VE'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzpe = xvbpa-pernr.

ENDIF.

  • End add by - SMUTHAIYA - Tr- DEVK919988 - 01/29/2003

  • P1 - Sales Employee 1

CLEAR tkomp-zzp1.

PERFORM xvbpa_lesen(sapfv45k) USING 'P1'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp1 = xvbpa-pernr.

ENDIF.

  • P2 - Sales Employee 2

CLEAR tkomp-zzp2.

PERFORM xvbpa_lesen(sapfv45k) USING 'P2'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp2 = xvbpa-pernr.

ENDIF.

  • P3 - Sales Employee 3

CLEAR tkomp-zzp3.

PERFORM xvbpa_lesen(sapfv45k) USING 'P3'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp3 = xvbpa-pernr.

ENDIF.

  • P4 - Sales Employee 4

CLEAR tkomp-zzp4.

PERFORM xvbpa_lesen(sapfv45k) USING 'P4'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp4 = xvbpa-pernr.

ENDIF.

  • P5 - Sales Employee 5

CLEAR tkomp-zzp5.

PERFORM xvbpa_lesen(sapfv45k) USING 'P5'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp5 = xvbpa-pernr.

ENDIF.

  • Y1 - Territory 1

CLEAR tkomp-zzy1.

PERFORM xvbpa_lesen(sapfv45k) USING 'Y1'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzy1 = xvbpa-kunnr.

ENDIF.

  • Y2 - Territory 2

CLEAR tkomp-zzy2.

PERFORM xvbpa_lesen(sapfv45k) USING 'Y2'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzy2 = xvbpa-kunnr.

ENDIF.

ENDFORM.

*eject

----


  • FORM USEREXIT_READ_DOCUMENT *

----


  • This userexit can be used to read data in additional tables *

  • when the program reads a sales document. *

  • *

  • This form is called at the end of form BELEG_LESEN. *

  • *

----


FORM userexit_read_document.

----


  • Authorization check for Sales Employee, Territory

*

----


DATA: zzy1 LIKE vbpa-kunnr.

SELECT SINGLE kunn2 INTO zzy1

FROM knvp

WHERE kunnr = kuwev-kunnr

AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg

AND spart = vbak-spart

AND parvw = 'Y1'

AND parza = '000'.

AUTHORITY-CHECK OBJECT 'ZSD_TERR'

ID 'VKORG' FIELD vbak-vkorg

ID 'VTWEG' FIELD vbak-vtweg

ID 'SPART' FIELD vbak-spart

ID 'ZZY1' FIELD zzy1.

IF sy-subrc NE 0.

MESSAGE e000(z1) WITH

'You have no authorization to document' vbak-vbeln.

ENDIF.

**********************************************************************

  • To check the credit block on sold to and ship to in VA02.

*4

**********************************************************************

----


INCLUDE zue_sd_0024.

----


ENDFORM.

*eject

----


  • FORM USEREXIT_SAVE_DOCUMENT *

----


  • This userexit can be used to save data in additional tables *

  • when a document is saved. *

  • *

  • If field T180-TRTYP contents 'H', the document will be *

  • created, else it will be changed. *

  • *

  • This form is called at from form BELEG_SICHERN, before COMMIT *

  • *

----


FORM userexit_save_document.

DATA: l_zzwarcode LIKE vbap-zzwarcode.

  • Example:

  • CALL FUNCTION 'ZZ_EXAMPLE'

  • IN UPDATE TASK

  • EXPORTING

  • ZZTAB = ZZTAB.

----


  • To check freight applicability to free of cost order.

  • This check is only performed in the change mode.

----


IF ( t180-trtyp NE 'H' AND sy-tcode NE 'VKM3'

AND vbak-vkorg IN i_zsd04_vkorg

AND NOT vbak-auart IN i_zsd05_auart ).

INCLUDE zsd_ue_0012.

ENDIF. "T180-TRTYP CHECK FOR NON-CREATE TRANSACTION MODE.

----


  • Warranty Code Processing

INCLUDE zsd_ue_0013.

ENDFORM.

*eject

----


  • FORM USEREXIT_SAVE_DOCUMENT_PREPARE *

----


  • This userexit can be used for changes or checks, before a *

  • document is saved. *

  • *

  • If field T180-TRTYP contents 'H', the document will be *

  • created, else it will be changed. *

  • *

  • This form is called at the beginning of form BELEG_SICHERN *

  • *

----


FORM userexit_save_document_prepare.

DATA: l_zzwarcode LIKE vbap-zzwarcode.

  • Promo: Loop through VBAP Items. If Item contains a Sales *

  • Deal Number (VBAP-KNUMA_AG not space), then set VBAK-ZZpromo to 'X' *

  • Only execute this code if in Create or Change Mode (Rhonda/SKane) *

----


  • To check freight applicability to free of cost order.

  • This check is only performed during the create mode.

----


IF ( t180-trtyp EQ 'H' AND sy-tcode NE 'VKM3'

AND vbak-vkorg IN i_zsd04_vkorg

AND NOT vbak-auart IN i_zsd05_auart ). " OR

  • ( T180-TRTYP EQ 'H' and sy-tcode ne 'DP90' ).

INCLUDE zsd_ue_0012.

ENDIF. "T180-TRTYP CHECK FOR CREATE TRANSACTION MODE.

----


CHECK: t180-trtyp CA 'HV'.

CLEAR: vbak-zzpromo.

LOOP AT xvbap.

IF NOT xvbap-knuma_ag IS INITIAL.

MOVE: 'X' TO vbak-zzpromo.

EXIT.

ENDIF.

ENDLOOP.

  • Warranty Code Processing

INCLUDE zsd_ue_0013.

  • KN01 - KSI Check usage flag for IRAT, YRAT

INCLUDE zue_sd_0018.

  • Check if Partner Code on P1/PE has changed.

INCLUDE zue_sd_0038.

______________________________________________________________________

*/ Description : Changed the user-exit to validate the ship-to

*/ and the sold-to

/_____________________________________________________________________

  • Start of DEVK915182

IF vbak-vkorg IN i_zsd01_vkorg.

IF sy-tcode EQ 'VA01'.

l_pop_type = space.

INCLUDE zue_sd_0027.

  • PERFORM partner_validation USING ' '.

ENDIF.

ENDIF.

  • end-of DEVK915182

************************************************************************

  • Project : KSEA - Sales Force Expansion of 1st Jan 2003

  • Include for KSEA Sales Org 5010 only to change Partner " 12/23/2002

  • Functions to dummy other than the active partners

  • Order Create/Change for Sales Org - 5010

INCLUDE zsd_salesforce_expnsn_item." Include 2 of 4

************************************************************************

  • Project : KSEA - Sales Force Expansion of 1st Jan 2003

  • Include for KSEA Sales Org 5010 only to copy Characteristic to

  • profitability

INCLUDE zsd_salesforce_expnsn_prfsgmnt." Include 4 of 4

************************************************************************

----


  • Mod for all sales organizations

  • Authorization checks by Item Category and Plant

  • 06/06/03

----


INCLUDE zsd_auth_check_pstyv.

----


----


INCLUDE zue_sd_0016.

----


  • include zue_sd_0013.

************************************************************************

----


  • To check if the re-stocking fee is updated or not

----


----


INCLUDE zue_sd_0022.

----


**********************************************************************

  • To check the credit block on sold to and ship to in VA01 and VA02.

  • 06/17/04 DEVK939183

**********************************************************************

----


INCLUDE zue_sd_0023.

----


**********************************************************************

  • KSEA / KSEC enhancement to make PR00 Mandatory. This change

  • will give message to user if PR00 is missing and it will also

  • put the delivery block on the sales order header so that there

  • will not be any deliveries

********************************************************************

*include zue_sd_0025.

**********************************************************************

  • 11/21/2005 - Check condition PRRP in Trans code DP90

INCLUDE zue_sd_0037.

ENDFORM.

*eject

&----


*& Form zz_determine_cross_comp

&----


  • KSI Modification

  • This FORM determines whether the line item of order document

  • being evaluated is a cross-company transaction

----


  • -->P_VBAK_VKORG text

  • -->P_VBAP_WERKS text

  • -->P_XC_YN text

----


FORM zz_determine_cross_comp USING p_vkorg

p_werks

p_xc_yn.

DATA: zzbukrs LIKE t001k-bukrs.

DATA: BEGIN OF zzwerks OCCURS 0,

werks LIKE marc-werks,

END OF zzwerks.

  • Determine company code from document's sales org.

SELECT SINGLE bukrs

INTO zzbukrs

FROM tvko

WHERE vkorg = p_vkorg.

  • Determine all plant that are associated with the company code

SELECT w~werks

INTO TABLE zzwerks

FROM t001w AS w JOIN t001k AS k

ON wbwkey = kbwkey

WHERE k~bukrs = zzbukrs.

  • if plant from line item is not found in any of the plant selected,

  • item is cross-company

READ TABLE zzwerks WITH TABLE KEY werks = p_werks.

IF sy-subrc NE 0.

p_xc_yn = 'Y'.

ELSE.

p_xc_yn = 'N'.

ENDIF.

ENDFORM. " zz_determine_cross_comp

  • KSI Mod 12/26/02

  • PBO Initialization routine for Additional Data B (Line Item)

INCLUDE zsd_custom_data_out.

************************************************************************

************************************************************************

  • Project : KSEA - Sales Force Expansion of 1st Jan 2003

  • Subroutines of the above Includes "zsd_salesforce_expnsn_hdr" and

  • "zsd_salesforce_expnsn_item"

INCLUDE zsd_salesforce_expnsn_subr." Include 3 of 4

************************************************************************

************************************************************************

  • KSE Mod 04/10/03

  • Custom General FORM routines

  • Could be used by any other dynamic calling routines.

  • For e.g. as used in KSE's mod to create return item automatically

************************************************************************

INCLUDE zsd_custom_gen_routines.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Please let me know if it works..

Thanks,

Naren

7 REPLIES 7

Former Member
0 Kudos

Hi,

Try this..

1) In MV45AFZZ we need to default VBAP-BWTAR = RH while new items are added in transaction VA01 and VA02, if sales org = 5090, order type = ZSBK and MBEW-BWTTY = 1 for the VBAP-MATNR. Once defaulted user should be able to change it to new value in VA01 and VA02, in that case system should not overwrite it with default value

FORM userexit_move_field_to_vbap.

DATA: S_MBEW TYPE MBEW.

  • Check for create and change.

IF T180-TRTYP = 'H' OR T180-TRTYP = 'V'.

IF VBAK-VKORG = '5090' AND VBAK-AUART = 'ZSBK'.

SELECT SINGLE * FROM MBEW

INTO S_MBEW

WHERE MATNR = VBAP-MATNR

AND BWKEY = VBAP-WERKS.

IF SY-SUBRC = 0 AND S_MBEW-BWTTY = '1'.

  • Check if it is for line item creation.

  • WHen the changes the value this will not trigger.

IF SVBAP-TABIX = 0.

VBAP-BWTAR = 'RH'.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

ENDFORM.

Hope this helps..

Thanks,

Naren

0 Kudos

Hi Naren,

Could you please add this in the program, Iam just confused where to add this and also highlight the added Code.

Thanks

SP

Former Member
0 Kudos

Hi,

Step 1) Create a include ZSD_DEFAULT_BWTAR and add the following code

DATA: S_MBEW TYPE MBEW.

  • Check for create and change.

IF T180-TRTYP = 'H' OR T180-TRTYP = 'V'.

IF VBAK-VKORG = '5090' AND VBAK-AUART = 'ZSBK'.

SELECT SINGLE * FROM MBEW

INTO S_MBEW

WHERE MATNR = VBAP-MATNR

AND BWKEY = VBAP-WERKS.

IF SY-SUBRC = 0 AND S_MBEW-BWTTY = '1'.

  • Check if it is for line item creation.

  • WHen the changes the value this will not trigger.

IF SVBAP-TABIX = 0.

VBAP-BWTAR = 'RH'.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

STEP 2)

Add the include to the subroutine USEREXIT_FIELD_TO_VBAP. The include statement is marked in bold.

*TABLES: zue003, tvarv.

*DATA: werks LIKE vbap-werks.

  • Start of DEVK923935.

  • Global Definition

INCLUDE zsdi_mv45afzz_top.

*

************************************************************************

  • *

  • *

************************************************************************

----


  • FORM ZZEXAMPLE *

----


  • text...................................... *

----


*FORM ZZEXAMPLE.

  • ...

*ENDFORM.

*eject

----


  • FORM USEREXIT_DELETE_DOCUMENT *

----


  • This userexit can be used to delete data in additional tables *

  • when a sales document is deleted. *

  • *

  • This form is called in dialog at the end of form BELEG_LOESCHEN*

  • just before form BELEG_SICHERN is performed to delete the *

  • datas on the database. *

  • *

----


FORM userexit_delete_document.

ENDFORM.

*eject

----


  • FORM USEREXIT_FIELD_MODIFICATION *

----


  • This userexit can be used to modify the attributes of *

  • screen fields. *

  • This form is processed for each field in the screen. *

  • *

  • The use of the fields screen-group1 to screen-group4 is: *

  • *

  • Screen-group1: Automatic modification contolles by transaction*

  • MFAW. *

  • Screen-group2: Contents 'LOO' for steploop-fields. *

  • Screen-group3: Used for modififaction, which are dependent on *

  • control tables or other fix information. *

  • Screen-group4: Unused *

  • *

  • For field mofifications, which are dependent on the document *

  • status, you can use the status field in the workareas *

  • XVBAP for item status and XVBUK for header status. *

  • *

  • This form is called from module FELDAUSWAHL. *

  • *

----


FORM userexit_field_modification.

DATA: zvbtyp LIKE vbfa-vbtyp_n,

zvbeln LIKE vbfa-vbeln.

  • CASE SCREEN-GROUP3.

  • WHEN '900'.

  • IF VBAK-VBTYP NE 'A'.

  • SCREEN-ACTIVE = 0.

  • ENDIF.

  • ENDCASE.

  • CASE SCREEN-NAME.

  • WHEN 'VBAK-VBELN'.

  • SCREEN-ACTIVE = 0.

  • ENDCASE.

IF vbap-pstyv = 'IRLA'.

  • CHECK sy-tcode = 'VA01' OR sy-tcode = 'VA02'.

IF sy-tcode = 'VA01' OR sy-tcode = 'VA02'.

SELECT SINGLE vbtyp_n INTO zvbtyp FROM vbfa

WHERE vbelv = xvbap-vbeln AND posnv = vbap-posnr.

  • CHECK sy-subrc <> 0.

IF sy-subrc <> 0.

CASE screen-group2.

WHEN 'LOO'.

IF screen-name = 'VBAP-WERKS'.

screen-input = 1.

ENDIF.

ENDCASE.

ENDIF.

ENDIF.

ENDIF.

*----


  • Make Reject Reason modifiable when document category is 'RETURNS'

  • 06/10/02

  • Modified by Ak for check on subsequent credit memo

  • This opens up the field - reason for rejection - for change even after

  • the material has been received into the system on the returns delivery

  • but before the Returns Credit Memo has been issued.

*----


    • Changed field to be modified from Reason for Rejection to Item

    • Category on the line item for which no credit to be given.

**----


  • select single * from vbfa where vbelv = vbak-vbeln and

  • vbtyp_n = 'O'.

**----


  • select a Returns Credit Memo document from VBFA that has NOT been

  • cancelled. if the selection is successful, credit has been issued and

  • the field should stay locked. however, if selection is unsuccessful

  • and since no credit has been issued, the field for item category

  • must be available for changing, if need be.

**----


  • check: vbak-vbtyp = 'H'.

IF vbak-vbtyp = 'H'.

IF sy-tcode = 'VA01' OR sy-tcode = 'VA02'.

SELECT SINGLE vbrk~vbeln INTO zvbeln

FROM vbfa INNER JOIN vbrk ON vbfavbeln = vbrkvbeln

WHERE vbfavbelv = vbak-vbeln AND vbfaposnv = vbap-posnr

AND vbfavbtyp_n = 'O' AND vbrkfksto NE 'X'.

CHECK sy-subrc NE 0.

CASE screen-group2.

WHEN 'LOO'.

IF screen-name = 'VBAP-PSTYV'.

screen-input = 1.

ENDIF.

ENDCASE.

ENDIF.

ENDIF.

INCLUDE zue_sd_0029.

*----


************************************************************************

**If no invoice is created then make PSTYV ready for input for item

**category IRIN.

**********************************************************************

INCLUDE zue_sd_0031.

*----


ENDFORM.

*eject

----


  • FORM USEREXIT_MOVE_FIELD_TO_VBAK *

----


  • This userexit can be used to move some fields into the sales *

  • dokument header workaerea VBAK. *

  • *

  • SVBAK-TABIX = 0: Create header *

  • SVBAK-TABIX > 0: Change header *

  • *

  • This form is called at the end of form VBAK_FUELLEN. *

  • *

----


FORM userexit_move_field_to_vbak.

  • vbak-zzfield = xxxx-zzfield2.

**Ernesto EDIT for UE DEMO 10/16/2002

  • SELECT single * INTO TABLE i_tvarv FROM tvarv WHERE name =

*ZKS_KSEASORG'.

  • Start of DEVK923935.

  • Initialization Section

INCLUDE zsdi_mv45afzz_initialization.

  • End of DEVK923935.

**{ INSERT SNDK900075 1

    • Change user exit according to Online Documentation to

    • copy ship-to info to sale doc header (VBAK)

*CODE BELOW*REPLACED WITH zue_sd_0017***********

  • IF vbak-kvgr1 IS INITIAL AND

  • vbak-kvgr2 IS INITIAL AND

  • vbak-kvgr3 IS INITIAL AND

  • vbak-kvgr4 IS INITIAL AND

  • vbak-kvgr5 IS INITIAL.

*

  • SELECT SINGLE vkgrp vkbur kvgr1 kvgr2 kvgr3 kvgr4 kvgr5

  • FROM knvv INTO (vbak-vkgrp, vbak-vkbur, vbak-kvgr1, vbak-kvgr2,

  • vbak-kvgr3, vbak-kvgr4, vbak-kvgr5)

  • WHERE kunnr = kuwev-kunnr AND

  • vkorg = vbak-vkorg AND

  • vtweg = vbak-vtweg AND

  • spart = vbak-spart.

*

  • ENDIF.

*CODE ABOVE*REPLACED WITH zue_sd_0017***********

INCLUDE zue_sd_0017.

*CODE BELOW*REPLACED WITH zue_sd_0017***********

  • IF svbak-tabix = 0.

  • SELECT SINGLE vsbed FROM knvv INTO vbak-vsbed

*WHERE kunnr = kuwev-kunnr AND

  • vkorg = vbak-vkorg AND

  • vtweg = vbak-vtweg AND

  • spart = vbak-spart.

  • ENDIF.

*CODE ABOVE*REPLACED WITH zue_sd_0017***********

______________________________________________________________________

*

/_____________________________________________________________________

  • Start of DEVK915182

**Ernesto EDIT for UE DEMO 10/15/2002.

  • READ TABLE i_tvarv WITH KEY name = 'ZKS_KSEASORG'.

  • IF sy-subrc = 0.

  • IF vbak-vkorg = i_tvarv-low.

IF vbak-vkorg IN i_zsd01_vkorg.

IF sy-tcode EQ 'VA01'.

IF sy-dynnr EQ '4021'.

IF sy-ucomm NE 'SICH'.

l_pop_type = 'X'.

INCLUDE zue_sd_0027.

  • PERFORM partner_validation USING 'X'.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

  • end-of DEVK915182

************************************************************************

  • Project : KSEA - Sales Force Expansion of 1st Jan 2003

  • Include for KSEA Sales Org 5010 only for PopUp Windows " 12/23/2002

INCLUDE zsd_salesforce_expnsn_hdr." Include 1 of 4

************************************************************************

************************************************************************

**______________________________________________________________________

*

*/ Description : KSE Modification to remove the billing block for

*/ returns/credits/debits if sales Org is 5090.

/_____________________________________________________________________

*

*ORIGINAL CODE

*if vbak-vkorg = '5090' and vbak-vbtyp ca 'HKL'.

*vbak-faksk = ' '.

*endif.

*

IF sy-tcode = 'VA01'.

IF vbak-vkorg IN i_zsd09_vkorg.

IF vbak-vbtyp IN i_zsd09_vbtyp.

vbak-faksk = ' '.

ENDIF.

ENDIF.

ENDIF.

************************************************************************

*

*

  • BREAK-POINT.

  • INCLUDE zue_sd_0039.

ENDFORM.

*eject

----


  • FORM USEREXIT_MOVE_FIELD_TO_VBAP *

----


  • This userexit can be used to move some fields into the sales *

  • dokument item workaerea VBAP *

  • *

  • SVBAP-TABIX = 0: Create item *

  • SVBAP-TABIX > 0: Change item *

  • *

  • This form is called at the end of form VBAP_FUELLEN. *

  • *

----


FORM userexit_move_field_to_vbap.

  • VBAP-zzfield = xxxx-zzfield2.

*{ INSERT SNDK900164 1

----


  • Item Category Determination

----


DATA: zzbukrs LIKE tvko-bukrs,

zzmtpos LIKE mvke-mtpos.

DATA: BEGIN OF zzwerks OCCURS 0,

werks LIKE marc-werks,

END OF zzwerks.

DATA: zdoccat LIKE tvak-vbklt,

zvmsta LIKE mvke-vmsta,

zspvbc LIKE tvms-spvbc,

zvmstb LIKE tvmst-vmstb.

DATA: z_xvbap LIKE xvbap,

yp1 LIKE t001k-bwkey,

z_uepos_bukrs LIKE t001k-bukrs.

IF i_zsd01_vkorg[] IS INITIAL.

  • If the initialization was not performed in the Fill VBAK,

  • reload data

INCLUDE zsdi_mv45afzz_initialization.

ENDIF.

SELECT SINGLE bukrs

INTO zzbukrs

FROM tvko

WHERE vkorg = vbak-vkorg.

SELECT w~werks

INTO TABLE zzwerks

FROM t001w AS w JOIN t001k AS k

ON wbwkey = kbwkey

WHERE k~bukrs = zzbukrs.

SELECT SINGLE mtpos INTO zzmtpos

FROM mvke

WHERE matnr = vbap-matnr

AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg.

  • Export Plant - inport in ZXQSMU07

EXPORT zz_plant = vbap-werks TO MEMORY ID 'ZZPLANT'. " KN05

  • check vbap-pstyv = 'TAN' or vbap-pstyv = 'TANN'.

  • removed the CHECK statement and replaced by IF-ENDIF.

    • inserted by arvind r kulkarni for TAN, TANN switching

IF vbap-pstyv = 'TAN' OR vbap-pstyv = 'TANN'

OR vbap-pstyv = 'REN' " KN02

OR vbap-pstyv = 'RENN' . " KN02

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

  • check sy-subrc ne 0.

IF sy-subrc NE 0.

IF vbap-pstyv = 'TAN'.

vbap-pstyv = 'ZAN'.

ELSEIF vbap-pstyv = 'REN'. " KN02

vbap-pstyv = 'YREN'. " KN02

ELSEIF vbap-pstyv = 'RENN'. " KN02

vbap-pstyv = 'YRNN'. " KN02

ELSEIF vbap-pstyv = 'TANN'.

vbap-pstyv = 'ZANN'.

ENDIF.

ENDIF.

ENDIF.

INCLUDE zue_sd_0014.

    • Begin insert for check for discontinued material in repair orders

***********************************************************************

  • LOGIC: For IRAT item categories, check if the material status field *

  • blank or populated. *

  • If populated, get the value of the D-Chain specific status *

  • and issue warning/error message with the associated text *

  • from config the D-Chain specific material status. *

  • Included YRAT to this logic (YRAT is free IRAT); 11/22/2002. *

***********************************************************************

  • *

***********************************************************************

IF vbap-pstyv = 'IRAT' OR vbap-pstyv = 'YRAT'.

CLEAR: zvmsta, zvmstb, zspvbc.

SELECT SINGLE vmsta INTO zvmsta FROM mvke WHERE

matnr = vbap-matnr AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg.

  • CHECK: NOT zvmsta IS INITIAL.

IF NOT zvmsta IS INITIAL.

SELECT SINGLE spvbc INTO zspvbc FROM tvms WHERE

vmsta = zvmsta.

SELECT SINGLE vmstb INTO zvmstb FROM tvmst WHERE

spras = sy-langu AND vmsta = zvmsta.

CASE zspvbc.

WHEN 'A'.

MESSAGE ID 'V1' TYPE 'W' NUMBER '028' WITH zvmsta zvmstb.

WHEN 'B'.

MESSAGE ID 'V1' TYPE 'E' NUMBER '028' WITH zvmsta zvmstb.

ENDCASE.

ENDIF.

ENDIF.

    • End insert for check for discontinued material in repair orders

INCLUDE zue_sd_0004.

INCLUDE zue_sd_0005.

  • end of DEVK923935.

*

****************END OF TEST SOURCE CODE******************

****************************************************************

      • Begin Insert to assign material entered for TRADE material

****************************************************************

    • Ak; 11/08/2002.

    • For trade material, the system will now mandate entry of higher level

    • item number and based on this, the system will bring in specialty,

    • material number (into material entered) and profit centre from this

    • higher level item into the line item for material TRADE.

    • Added MVGR2 & 3 to pass onto TRADE material; 11/12/2002 - Arvind.

    • Added material a/c assignment grp to trade-in material.

    • Added ZTRD item category to this logic. - Arvind 11/18/2002.

INCLUDE zzsdprc01.

INCLUDE zue_sd_0028.

****************************************************************

      • End Insert to assign material entered for TRADE material

****************************************************************

********************End of DIP Profile change************************

----


----


----


  • Get custom group data from MVKE (Sales Data for Material) by Material

  • when order type is 'RAS' (Repairs/Service)

  • and populate line item's Additional data A

----


INCLUDE zue_sd_0006.

_____________________________________________________________________

INCLUDE zue_sd_0001.

  • include ZUE_SD_0032.

INCLUDE zue_sd_0002.

*----


    • Get similar data (as above) from Servicable Material

*----


INCLUDE zue_sd_0003.

----


*} INSERT

----


  • Determine Delivery Priority from SH Partner

  • 11/02/2001

----


SELECT SINGLE lprio

FROM knvv

INTO vbap-lprio

WHERE kunnr = kuwev-kunnr AND

vkorg = vbak-vkorg AND

vtweg = vbak-vtweg AND

spart = vbak-spart.

----


  • Determine Delivery Priority for Order Type RAS

----


INCLUDE zsd_check_pstyv_werks.

----


----


  • To re-determine Matwa if the replacement item is changed afterwards

  • Niranjan 05/10/05 and ECLARKE

----


  • INCLUDE zue_sd_0021.

----


----


  • Mod for all sales organizations

  • Determination of Profit Center

  • 06/24/03

----


INCLUDE zue_sd_0007.

----


  • End PRCTR Determination for KSI's document

----


----


  • KSI modification

  • Code to enter the actual part number of the item being repaired,

  • rather than "REPAIR"

  • 09/18/02 GM

----


DATA: intercoflag TYPE c.

PERFORM zz_determine_cross_comp USING vbak-vkorg

vbap-werks

intercoflag.

IF intercoflag = 'Y'

AND

( vbap-pstyv = 'IRIN' OR vbap-pstyv = 'ZRIN' ).

SELECT SINGLE matwa INTO vbap-matwa FROM vbap

WHERE vbeln = vbap-vbeln AND posnr = vbap-uepos.

IF sy-subrc NE 0.

MESSAGE e006(z1) WITH vbap-uepos.

ENDIF.

ENDIF.

----


  • End material look up modification GM 9/17/02

----


----


  • KSI modification

  • DP90 Only:

  • Remove Billing Block from IRIN items and moved them to the header

  • 10/06/02 CNG

  • 11/18/2002 Tr-DEVK917363

  • Added Sales Orgs 5040 & 5060

----


  • KSI modification

  • 06/10/2003 CNG CN01

  • If IRIN, clear billing block at item level

----


IF sy-tcode = 'DP90'.

  • IF vbap-werks = '7000' AND vbak-vkorg = '5010' AND" SM01-

  • vbap-pstyv = 'IRIN'." SM01-

IF vbap-werks = '7000' AND" SM01+

( vbak-vkorg IN i_zsd01_vkorg OR" SM01+

vbak-vkorg = '5040' OR" SM01+

----


  • Removed >>

  • vbak-vkorg = '5060' )" SM01+ CN01-

  • AND vbap-pstyv = 'IRIN'." SM01+ CN01-

  • vbak-faksk = '02'.

  • Removed <<

----


----


  • Inserted - check and block for line item IRIN only

----


vbak-vkorg = '5060' )." SM01+

vbak-faksk = '02'.

IF vbap-pstyv = 'IRIN'." CN01+

----


CLEAR vbap-faksp.

----


  • Inserted - check and block for line item IRIN only

----


ENDIF.

----


ENDIF.

ENDIF.

----


----


  • KSI modification

  • Routine to populate VBAP-ZZEDATU and VBAP-ZZVDATU on change and

  • creation of order

  • 02/10/03 CNG

----


PERFORM check_custom_dates.

----


**********************************************************************

    • KSE Modification to create return item automatically**

    • Copied from Niranjan's routine tested in SND210 Date 04/05/03

**********************************************************************

INCLUDE zue_sd_0008.

**********************************************************************

********************************************************

    • User Exit for Service Processing - Clear Results

    • Analysis Key in sales order item for non-KSE service

    • items. DEVK927084 W. Miller 05/12/2003

********************************************************

----


  • Changed to validate by plant instead of sales org.

  • 06/30/03 BEGIN>>>

----


  • if not vbak-vkorg = '5090' and vbap-bedae = 'SE'.

*Added 5000 for KSEM Prjct 02-09-2006 EC

IF NOT ( vbap-werks = '9000' OR vbap-werks = '5000' )

AND ( vbap-bedae = 'SE' OR VBAP-BEDAE = 'SERA' ).

  • 06/30/03 END <<<<

----


CLEAR vbap-abgrs.

ENDIF.

*******************************************************

  • End of DEVK924084

**______________________________________________________________________

*

*/ Author : w/ Trimb.

*/ Date : 10/07/2003 ---> Repair No : DEVK930002

*/ Description : KSE Modification For plant 9000, to check the

*/ material is 'Non-R' for RAS order type

*/ and is 'R' for ZREX and ZWAR order types.

/_____________________________________________________________________

*Added lines below for - There is a user exit which exists that does

*not allow materials that do not begin with an "R" to be posted into

*plant 9000 if they are attached to a ZWAR order type. KSE/KSEA would

*like to modify this exit to allow materials with profit centers

*5090-03003 and 5090-04003 to be posted.

*ECLARKE/Niranjan 07-29-2004

*________________________n 07-29-2004__________________

DATA: flag_dexe.

TABLES: zzue027.

CLEAR: flag_dexe.

SELECT SINGLE werks auart prctr INTO (zzue027-werks, zzue027-auart,

zzue027-prctr) FROM zzue027 WHERE werks = vbap-werks AND auart =

vbak-auart AND prctr = vbap-prctr.

IF sy-subrc = 0.

flag_dexe = 'X'.

ENDIF.

*________________________ 07-29-2004__________________

IF flag_dexe IS INITIAL. " 07-29-2004

IF vbap-werks IN i_zsd09_werks.

IF ( vbak-auart IN i_zsd02_auart AND vbap-pstyv IN i_zsd04_pstyv AND

vbap-matwa(1) = 'R' ) OR ( vbak-auart IN i_zsd02_auart AND

vbap-pstyv IN i_zsd03_pstyv AND vbap-matnr(1) = 'R' ).

IF vbap-matwa(1) = 'R'.

MESSAGE e001(zkse) WITH vbap-matwa vbap-posnr vbak-auart

vbap-pstyv.

ENDIF.

IF vbap-matnr(1) = 'R'.

MESSAGE e001(zkse) WITH vbap-matnr vbap-posnr vbak-auart

vbap-pstyv.

ENDIF.

ELSEIF ( vbak-auart IN i_zsd03_auart AND vbap-pstyv IN

i_zsd04_pstyv AND vbap-matwa(1) <> 'R' ) OR ( vbak-auart IN

i_zsd03_auart AND vbap-pstyv IN i_zsd03_pstyv AND vbap-matnr(1) <> 'R' )

OR ( vbak-auart IN i_zsd04_auart AND vbap-pstyv IN i_zsd04_pstyv AND

vbap-matwa(1) <> 'R' ) OR ( vbak-auart IN i_zsd04_auart AND vbap-pstyv

IN i_zsd03_pstyv AND vbap-matnr(1) <> 'R' ).

IF vbap-matwa(1) <> 'R'.

MESSAGE e001(zkse) WITH vbap-matwa vbap-posnr vbak-auart

vbap-pstyv.

ENDIF.

IF vbap-matnr(1) <> 'R'.

MESSAGE e001(zkse) WITH vbap-matnr vbap-posnr vbak-auart

vbap-pstyv.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

INCLUDE zue_sd_0015.

**********************************************************************

  • include zue_sd_0019

  • Enhancement to populate Storage Location for sales order 5090

  • and plant 9000. But any companies can use it as long as entries are

  • maintained in table zsd_default_sloc

  • Niranjan 02/11/04

  • DEVK933987 - MV45AFZZ - MPitisci 4/12/2004

  • DEVK933989 - ZUE_SD_0019 include

  • DEVK933998 - ZSD_DEFAULT_SLOC table

**********************************************************************

INCLUDE zue_sd_0019.

**********************************************************************

  • To give hard error for D-CHin status 07 for items catgories other

  • than trade.

  • 04/10/05

***********************************************************************

INCLUDE zue_sd_0034.

**********************************************************************

  • Checks if the storage location value is changed and checks to see if

  • the storage location correlates to the P3 Partner function rules

  • 08/05/2005

***********************************************************************

INCLUDE zue_sd_0036.

INCLUDE zue_sd_0013.

<b>**************New code********

INCLUDE ZSD_DEFAULT_BWTAR.

********************************</b>

ENDFORM.

*eject

----


  • FORM USEREXIT_MOVE_FIELD_TO_VBEP *

----


  • This userexit can be used to move some fields into the sales *

  • dokument schedule line workaerea VBEP *

  • *

  • SVBEP-TABIX = 0: Create schedule line *

  • SVBEP-TABIX > 0: Change schedule line *

  • *

  • This form is called at the end of form VBEP_FUELLEN. *

  • *

----


FORM userexit_move_field_to_vbep.

DATA: intercoflag TYPE c.

  • VBEP-zzfield = xxxx-zzfield2.

----


  • Assign 'ZP' to Schedule line Category for Acct Assignment Grp =

  • Chui 10/23/2001

----


DATA: zzbukrs LIKE tvko-bukrs,

zzmtpos LIKE mvke-mtpos.

DATA: z_vbelv LIKE vbfa-vbelv," KN03

z_auart LIKE vbak-auart," KN03

z_vbtyp LIKE vbak-vbtyp," KN03

z_ettyp LIKE vbep-ettyp," KN03

z_pstyv LIKE vbap-pstyv," KN04

z_posnr LIKE vbap-posnr." KN04

DATA: BEGIN OF zzwerks OCCURS 0,

werks LIKE marc-werks,

END OF zzwerks.

IF vbak-vbtyp CN 'AB'. "ECLARKE 01-26-04

SELECT SINGLE bukrs

INTO zzbukrs

FROM tvko

WHERE vkorg = vbak-vkorg.

SELECT w~werks

INTO TABLE zzwerks

FROM t001w AS w JOIN t001k AS k

ON wbwkey = kbwkey

WHERE k~bukrs = zzbukrs.

SELECT SINGLE mtpos INTO zzmtpos

FROM mvke

WHERE matnr = vbap-matnr

AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg.

*lines added for valuated customer-returns project by msn

  • 110903. It will set required schedule line category YR on specific

  • item categories if the document created is of type RE with reference

  • document being an invoice of type F2

*ECLARKE & MILIND NAND. 11-11-2003.

*Schedule Line Category - Valuate Customer Returns Stock

  • INCLUDE zue_sd_0010.

CASE vbap-pstyv.

WHEN 'ZRPN'.

EXIT.

WHEN 'TAN' OR 'TANN'.

IF vbkd-ktgrd = '01'. " Added 6/5/02

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

**Ernesto EDIT for UE DEMO 10/15/2002

***************TEST FUNCTION MODULE FOR USER EXIT MAINT.******

**ADDED A CASE STATEMENT BELOW.

*

  • CALL FUNCTION 'Z_UE_SD_GET_SCHEDULE_LINE_CAT'

  • EXPORTING

  • pstyv = vbap-pstyv

  • ktgrd = vbkd-ktgrd

  • ettyp2 = vbep-ettyp

  • IMPORTING

  • ettyp = vbep-ettyp.

*

*

****************END OF TEST SOURCE CODE******************

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

  • check sy-subrc ne 0.

IF sy-subrc NE 0.

    • Change inserted by Arvind R Kulkarni; 07/22/2002

    • TAN -> ZAN; TANN => ZANN

  • vbap-pstyv = 'ZAN'.

IF vbap-pstyv = 'TAN'.

vbap-pstyv = 'ZAN'.

ELSEIF vbap-pstyv = 'TANN'.

vbap-pstyv = 'ZANN'.

ENDIF.

    • end of change

ENDIF.

*ADDED CASE HERE FOR TEST FOR SYNTAX CHECK 10/15/2002

*CASE vbap-pstyv.

WHEN 'ZAN'.

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

CHECK sy-subrc EQ 0.

vbap-pstyv = 'TAN'.

WHEN 'ZANN'.

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

CHECK sy-subrc EQ 0.

vbap-pstyv = 'TANN'.

WHEN 'ZTAN'.

IF vbkd-ktgrd = '01'. " Added 6/5/02

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

  • check sy-subrc ne 0.

IF sy-subrc NE 0.

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

*********************************************************************

  • 03/23/2005 KN03 Set Schedule Line default to ZF order type ZFD,

  • item cat ZTAN, sales org 5060, 5070, and 5071

*********************************************************************

IF vbak-auart EQ 'ZFD' AND

( vbak-vkorg = '5060' OR vbak-vkorg = '5070'

OR vbak-vkorg = '5071' ).

vbep-ettyp = 'ZF'.

ENDIF.

*********************************************************************

    • Begin of insertion for IRAT processing

    • Arvind R Kulkarni; Dated: 07/17/2002.

        • Changed to include YRAT; ; 11/22/2002

WHEN 'IRAT' OR 'YRAT'.

IF vbak-auart NE 'ZWAR'.

**********************************************

  • the sales order is NOT a ZWAR

**********************************************

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

IF sy-subrc NE 0.

  • the transaction IS intercompany

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'YN'.

ELSE.

vbep-ettyp = 'YL'.

ENDIF.

ELSE.

  • the transaction IS NOT intercompany

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZN'.

ELSE.

vbep-ettyp = 'ZL'.

ENDIF.

ENDIF.

IF vbkd-ktgrd = '01'.

  • sale is to an affiliate in local sales org

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'YN'.

ELSE.

vbep-ettyp = 'YL'.

ENDIF.

ENDIF.

ELSE.

**********************************************

  • the sales order IS a ZWAR

**********************************************

READ TABLE zzwerks WITH TABLE KEY werks = vbap-werks.

IF sy-subrc NE 0.

  • the transaction IS intercompany

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

  • ELSE.

    • the transaction IS NOT intercompany

    • NOTHING NEEDS TO BE DONE FOR ZWAR DOMESTIC

    • STD SCHED LINE CATEGORIES TO BE MAINTAINED.

  • IF VBEP-ETTYP = 'CN'.

  • VBEP-ETTYP = 'ZN'.

  • ELSE.

  • VBEP-ETTYP = 'ZL'.

  • ENDIF.

  • ENDIF.

  • IF VBKD-KTGRD = '01'.

  • sale is to an affiliate in local sales org

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

ENDIF.

    • End of insertion for IRAT processing

*********************************************************************

WHEN 'IRRS' OR 'IRRE' OR 'IRLA' OR 'IRLB' OR 'KBN' OR 'TAQ'

**********************************************************************

  • KSI Modification 04/22/03

  • Exclude check for item category 'YKW'

**********************************************************************

OR 'YTAN' OR 'ZKLN' OR 'KAN' OR 'ZTAQ'

OR 'YKW' OR 'IRRP' OR 'ZKBC' OR 'ZKBN' OR 'ZKAN' OR 'KLN'.

  • or 'ZKEN' OR 'ZKEC' or ZREK OR 'KEN'.

**********************************************************************

EXIT.

WHEN 'ZTR1' OR 'ZRBB' OR 'ZREB' OR 'ZREC' OR 'ZREF' OR 'ZREN'

  • Removed ZRTN to validate plant 9000

OR 'ZRFF' OR 'ZRNB' OR 'ZRNN' OR 'REN' OR 'RENN'

OR 'ZLN' OR 'IRAL' OR 'ZTR0' OR 'KLN'.

EXIT.

**********************************************************************

  • 03/23/2005 KN03 set default sched line for KE & ZKE

**********************************************************************

WHEN 'KEN' OR 'ZKEG' OR 'ZKEN' OR 'ZKEC'.

IF vbak-vkorg EQ '5070'.

vbep-ettyp = 'Z0'.

ENDIF.

WHEN 'ZREK'.

INCLUDE zue_sd_0033.

IF vbap-werks = '9000'. " KN04

IF vbkd-ktgrd = '01'. " KN04

IF z_auart = 'ZFD ' and z_pstyv = 'KLN '. " KN04

vbep-ettyp = 'YK'. " KN04

ENDIF.

ENDIF.

ENDIF.

**********************************************************************

  • KSE Modification 04/10/03

  • For Item Cate 'ZRTN'

  • Assign 'YQ' to Schedule line cat, if cross-company

  • 'YU' if not.

**********************************************************************

WHEN 'ZRTN'.

  • KN03 for KSI set default schedule line for order type ZREK

INCLUDE zue_sd_0033.

IF svbep-tabix IS INITIAL.

IF vbap-werks = '9000'.

IF vbkd-ktgrd = '01'. " KN04

IF z_auart = 'ZFD' and z_pstyv = 'KLN '. " KN04

vbep-ettyp = 'YK'. " KN04

ELSE. " KN04

vbep-ettyp = 'YQ'.

ENDIF.

ELSE.

vbep-ettyp = 'YU'.

ENDIF.

ENDIF.

ENDIF.

  • KN03 for KSI set default schedule line for order type ZREK

  • INCLUDE zue_sd_0033.

**********************************************************************

WHEN OTHERS.

IF vbkd-ktgrd = '01'.

IF vbep-ettyp = 'CN'.

vbep-ettyp = 'ZA'.

ELSE.

vbep-ettyp = 'ZP'.

ENDIF.

ENDIF.

ENDCASE.

  • endif.

  • Redetermine Movement Type

PERFORM tvep_select(sapmv45a) USING vbep-ettyp

charx

sy-subrc.

vbep-bwart = tvep-bwart.

ENDIF.

*******************************************************

  • KSE Mod

  • User Exit for Repair Replacement

  • Export VBEP-ETTYP, imported by RV64A950

  • 04/18/03

*******************************************************

EXPORT i_ettyp = vbep-ettyp TO MEMORY ID 'ZZSCHEDULE'.

*******************************************************

**lines added for valuated customer-returns project by msn

    • 110903. It will set required schedule line category YR on specific

    • item categories if the document created is of type RE with reference

    • document being an invoice of type F2

**. 11-11-2003.

**Schedule Line Category - Valuate Customer Returns Stock

  • BREAK-POINT.

  • INCLUDE zue_sd_0010.

**********************************************************

*KSEA Modification to default item creation date for the IRAT

*line item schedule line. SAP Note 23281

04/01/04

************************************************************

INCLUDE zue_sd_0020.

ENDFORM.

*eject

----


  • FORM USEREXIT_MOVE_FIELD_TO_VBKD *

----


  • This userexit can be used to move some fields into the sales *

  • dokument business data workaerea VBKD *

  • *

  • SVBKD-TABIX = 0: Create data *

  • SVBKD-TABIX > 0: Change data *

  • *

  • This form is called at the end of form VBKD_FUELLEN. *

  • *

----


FORM userexit_move_field_to_vbkd.

  • VBKD-zzfield = xxxx-zzfield2.

----


  • Get Customer group, Price group and Price list type *

  • by Ship-to party

  • 10/04/2001

----


DATA: yp1 LIKE t001k-bwkey,

z_uepos_bukrs LIKE t001k-bukrs.

*Request by Customer Service - Marian Favors 11-08-2004

TABLES: zzue030. "ECLARKE 11-08-2004

SELECT SINGLE tcode INTO zzue030-tcode FROM zzue030

WHERE tcode = sy-tcode. "ECLARKE 11-08-2004

IF sy-subrc = 0. "ECLARKE 11-08-2004

  • Removed check for customer group as this was required by Steve Ludewig

IF " vbkd-kdgrp IS INITIAL AND "Arvind Kulkarni; 08/05/2002.

vbkd-konda IS INITIAL AND

vbkd-pltyp IS INITIAL.

SELECT SINGLE kdgrp konda pltyp bzirk

INTO (vbkd-kdgrp, vbkd-konda, vbkd-pltyp, vbkd-bzirk)

FROM knvv

WHERE kunnr = kuwev-kunnr

AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg

AND spart = vbak-spart.

ENDIF.

ENDIF. "ECLARKE 11-08-2004

----


  • Redetermine Schedule line Category if Acct Assignment Grp is changed

  • to

  • Chui 10/23/2001

----


IF svbkd-tabix > 0 AND sy-dynnr = '4311'.

IF vbkd-ktgrd = '01' AND vbep-ettyp <> 'ZP'.

PERFORM userexit_move_field_to_vbep.

ENDIF.

ENDIF.

INCLUDE zzsdprc01.

***********************************************************************

  • To make the value of the field VBAK-ZUONR same as VBKD-BSTKD

  • 05/04/04

***********************************************************************

vbak-zuonr = vbkd-bstkd.

ENDFORM.

*eject

----


  • 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 BELEG_SICHERN *

  • *

----


FORM userexit_number_range USING us_range_intern.

  • Example: Numer range from TVAK like in standard

  • US_RANGE_INTERN = TVAK-NUMKI.

ENDFORM.

*eject

----


  • FORM USEREXIT_PRICING_PREPARE_TKOMK *

----


  • This userexit can be used to move additional fields into the *

  • communication table which is used for pricing: *

  • *

  • TKOMK for header fields *

  • *

  • This form is called from form PREISFINDUNG_VORBEREITEN. *

  • *

----


FORM userexit_pricing_prepare_tkomk.

  • TKOMK-zzfield = xxxx-zzfield2.

*{ INSERT SNDK900075 1

tkomk-aland = t001-land1.

*} INSERT

----


  • Fill Zip code with Ship-to party's

----


tkomk-post_code1 = kuwev-pstlz.

ENDFORM.

*eject

----


  • FORM USEREXIT_PRICING_PREPARE_TKOMP *

----


  • This userexit can be used to move additional fields into the *

  • communication table which is used for pricing: *

  • *

  • TKOMP for item fields *

  • *

  • This form is called from form PREISFINDUNG_VORBEREITEN. *

  • *

----


FORM userexit_pricing_prepare_tkomp.

  • TKOMP-zzfield = xxxx-zzfield2.

----


  • Fill Specialty with Doc Header's specialty

----


tkomp-rke_mvgr1 = vbap-mvgr1.

  • OSS note 32878 - New Partner Functions

  • Start add by - SMUTHAIYA - Tr- DEVK919988 - 01/29/2003

  • VE/PE - Core Sales Rep

CLEAR tkomp-zzpe.

PERFORM xvbpa_lesen(sapfv45k) USING 'VE'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzpe = xvbpa-pernr.

ENDIF.

  • End add by - SMUTHAIYA - Tr- DEVK919988 - 01/29/2003

  • P1 - Sales Employee 1

CLEAR tkomp-zzp1.

PERFORM xvbpa_lesen(sapfv45k) USING 'P1'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp1 = xvbpa-pernr.

ENDIF.

  • P2 - Sales Employee 2

CLEAR tkomp-zzp2.

PERFORM xvbpa_lesen(sapfv45k) USING 'P2'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp2 = xvbpa-pernr.

ENDIF.

  • P3 - Sales Employee 3

CLEAR tkomp-zzp3.

PERFORM xvbpa_lesen(sapfv45k) USING 'P3'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp3 = xvbpa-pernr.

ENDIF.

  • P4 - Sales Employee 4

CLEAR tkomp-zzp4.

PERFORM xvbpa_lesen(sapfv45k) USING 'P4'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp4 = xvbpa-pernr.

ENDIF.

  • P5 - Sales Employee 5

CLEAR tkomp-zzp5.

PERFORM xvbpa_lesen(sapfv45k) USING 'P5'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzp5 = xvbpa-pernr.

ENDIF.

  • Y1 - Territory 1

CLEAR tkomp-zzy1.

PERFORM xvbpa_lesen(sapfv45k) USING 'Y1'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzy1 = xvbpa-kunnr.

ENDIF.

  • Y2 - Territory 2

CLEAR tkomp-zzy2.

PERFORM xvbpa_lesen(sapfv45k) USING 'Y2'

vbap-posnr

sy-tabix.

IF xvbpa-updkz <> 'D'.

tkomp-zzy2 = xvbpa-kunnr.

ENDIF.

ENDFORM.

*eject

----


  • FORM USEREXIT_READ_DOCUMENT *

----


  • This userexit can be used to read data in additional tables *

  • when the program reads a sales document. *

  • *

  • This form is called at the end of form BELEG_LESEN. *

  • *

----


FORM userexit_read_document.

----


  • Authorization check for Sales Employee, Territory

*

----


DATA: zzy1 LIKE vbpa-kunnr.

SELECT SINGLE kunn2 INTO zzy1

FROM knvp

WHERE kunnr = kuwev-kunnr

AND vkorg = vbak-vkorg

AND vtweg = vbak-vtweg

AND spart = vbak-spart

AND parvw = 'Y1'

AND parza = '000'.

AUTHORITY-CHECK OBJECT 'ZSD_TERR'

ID 'VKORG' FIELD vbak-vkorg

ID 'VTWEG' FIELD vbak-vtweg

ID 'SPART' FIELD vbak-spart

ID 'ZZY1' FIELD zzy1.

IF sy-subrc NE 0.

MESSAGE e000(z1) WITH

'You have no authorization to document' vbak-vbeln.

ENDIF.

**********************************************************************

  • To check the credit block on sold to and ship to in VA02.

*4

**********************************************************************

----


INCLUDE zue_sd_0024.

----


ENDFORM.

*eject

----


  • FORM USEREXIT_SAVE_DOCUMENT *

----


  • This userexit can be used to save data in additional tables *

  • when a document is saved. *

  • *

  • If field T180-TRTYP contents 'H', the document will be *

  • created, else it will be changed. *

  • *

  • This form is called at from form BELEG_SICHERN, before COMMIT *

  • *

----


FORM userexit_save_document.

DATA: l_zzwarcode LIKE vbap-zzwarcode.

  • Example:

  • CALL FUNCTION 'ZZ_EXAMPLE'

  • IN UPDATE TASK

  • EXPORTING

  • ZZTAB = ZZTAB.

----


  • To check freight applicability to free of cost order.

  • This check is only performed in the change mode.

----


IF ( t180-trtyp NE 'H' AND sy-tcode NE 'VKM3'

AND vbak-vkorg IN i_zsd04_vkorg

AND NOT vbak-auart IN i_zsd05_auart ).

INCLUDE zsd_ue_0012.

ENDIF. "T180-TRTYP CHECK FOR NON-CREATE TRANSACTION MODE.

----


  • Warranty Code Processing

INCLUDE zsd_ue_0013.

ENDFORM.

*eject

----


  • FORM USEREXIT_SAVE_DOCUMENT_PREPARE *

----


  • This userexit can be used for changes or checks, before a *

  • document is saved. *

  • *

  • If field T180-TRTYP contents 'H', the document will be *

  • created, else it will be changed. *

  • *

  • This form is called at the beginning of form BELEG_SICHERN *

  • *

----


FORM userexit_save_document_prepare.

DATA: l_zzwarcode LIKE vbap-zzwarcode.

  • Promo: Loop through VBAP Items. If Item contains a Sales *

  • Deal Number (VBAP-KNUMA_AG not space), then set VBAK-ZZpromo to 'X' *

  • Only execute this code if in Create or Change Mode (Rhonda/SKane) *

----


  • To check freight applicability to free of cost order.

  • This check is only performed during the create mode.

----


IF ( t180-trtyp EQ 'H' AND sy-tcode NE 'VKM3'

AND vbak-vkorg IN i_zsd04_vkorg

AND NOT vbak-auart IN i_zsd05_auart ). " OR

  • ( T180-TRTYP EQ 'H' and sy-tcode ne 'DP90' ).

INCLUDE zsd_ue_0012.

ENDIF. "T180-TRTYP CHECK FOR CREATE TRANSACTION MODE.

----


CHECK: t180-trtyp CA 'HV'.

CLEAR: vbak-zzpromo.

LOOP AT xvbap.

IF NOT xvbap-knuma_ag IS INITIAL.

MOVE: 'X' TO vbak-zzpromo.

EXIT.

ENDIF.

ENDLOOP.

  • Warranty Code Processing

INCLUDE zsd_ue_0013.

  • KN01 - KSI Check usage flag for IRAT, YRAT

INCLUDE zue_sd_0018.

  • Check if Partner Code on P1/PE has changed.

INCLUDE zue_sd_0038.

______________________________________________________________________

*/ Description : Changed the user-exit to validate the ship-to

*/ and the sold-to

/_____________________________________________________________________

  • Start of DEVK915182

IF vbak-vkorg IN i_zsd01_vkorg.

IF sy-tcode EQ 'VA01'.

l_pop_type = space.

INCLUDE zue_sd_0027.

  • PERFORM partner_validation USING ' '.

ENDIF.

ENDIF.

  • end-of DEVK915182

************************************************************************

  • Project : KSEA - Sales Force Expansion of 1st Jan 2003

  • Include for KSEA Sales Org 5010 only to change Partner " 12/23/2002

  • Functions to dummy other than the active partners

  • Order Create/Change for Sales Org - 5010

INCLUDE zsd_salesforce_expnsn_item." Include 2 of 4

************************************************************************

  • Project : KSEA - Sales Force Expansion of 1st Jan 2003

  • Include for KSEA Sales Org 5010 only to copy Characteristic to

  • profitability

INCLUDE zsd_salesforce_expnsn_prfsgmnt." Include 4 of 4

************************************************************************

----


  • Mod for all sales organizations

  • Authorization checks by Item Category and Plant

  • 06/06/03

----


INCLUDE zsd_auth_check_pstyv.

----


----


INCLUDE zue_sd_0016.

----


  • include zue_sd_0013.

************************************************************************

----


  • To check if the re-stocking fee is updated or not

----


----


INCLUDE zue_sd_0022.

----


**********************************************************************

  • To check the credit block on sold to and ship to in VA01 and VA02.

  • 06/17/04 DEVK939183

**********************************************************************

----


INCLUDE zue_sd_0023.

----


**********************************************************************

  • KSEA / KSEC enhancement to make PR00 Mandatory. This change

  • will give message to user if PR00 is missing and it will also

  • put the delivery block on the sales order header so that there

  • will not be any deliveries

********************************************************************

*include zue_sd_0025.

**********************************************************************

  • 11/21/2005 - Check condition PRRP in Trans code DP90

INCLUDE zue_sd_0037.

ENDFORM.

*eject

&----


*& Form zz_determine_cross_comp

&----


  • KSI Modification

  • This FORM determines whether the line item of order document

  • being evaluated is a cross-company transaction

----


  • -->P_VBAK_VKORG text

  • -->P_VBAP_WERKS text

  • -->P_XC_YN text

----


FORM zz_determine_cross_comp USING p_vkorg

p_werks

p_xc_yn.

DATA: zzbukrs LIKE t001k-bukrs.

DATA: BEGIN OF zzwerks OCCURS 0,

werks LIKE marc-werks,

END OF zzwerks.

  • Determine company code from document's sales org.

SELECT SINGLE bukrs

INTO zzbukrs

FROM tvko

WHERE vkorg = p_vkorg.

  • Determine all plant that are associated with the company code

SELECT w~werks

INTO TABLE zzwerks

FROM t001w AS w JOIN t001k AS k

ON wbwkey = kbwkey

WHERE k~bukrs = zzbukrs.

  • if plant from line item is not found in any of the plant selected,

  • item is cross-company

READ TABLE zzwerks WITH TABLE KEY werks = p_werks.

IF sy-subrc NE 0.

p_xc_yn = 'Y'.

ELSE.

p_xc_yn = 'N'.

ENDIF.

ENDFORM. " zz_determine_cross_comp

  • KSI Mod 12/26/02

  • PBO Initialization routine for Additional Data B (Line Item)

INCLUDE zsd_custom_data_out.

************************************************************************

************************************************************************

  • Project : KSEA - Sales Force Expansion of 1st Jan 2003

  • Subroutines of the above Includes "zsd_salesforce_expnsn_hdr" and

  • "zsd_salesforce_expnsn_item"

INCLUDE zsd_salesforce_expnsn_subr." Include 3 of 4

************************************************************************

************************************************************************

  • KSE Mod 04/10/03

  • Custom General FORM routines

  • Could be used by any other dynamic calling routines.

  • For e.g. as used in KSE's mod to create return item automatically

************************************************************************

INCLUDE zsd_custom_gen_routines.

************************************************************************

Hope this helps..

Thanks,

Naren

0 Kudos

Hi Naren

as you told I created an include called ZSD_DEFAULT_BWTAR but when I checked its displaying

"Report/Program Statement Missing, or program type is I (inlcude)"

Thanks

SP

Former Member
0 Kudos

Hi,

Add the include in the subroutine in MV45AFZZ as I mentioned earlier and then generate it will generate both the includes (The custom include also)..

Hope this helps..

Thanks,

Naren

0 Kudos

Thanks Naren,

Let me check with the user again:-), Thanks a lot.

Assigned full points.

I appreciate your patieance.

Thanks

SP

Former Member
0 Kudos

Hi,

Please let me know if it works..

Thanks,

Naren