0% found this document useful (0 votes)
120 views

LIS Code

LIS code

Uploaded by

DeveshBabu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
120 views

LIS Code

LIS code

Uploaded by

DeveshBabu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

*&---------------------------------------------------------------------*

*& Report ZBW2LIS_11_VASCL *


*& *
*&---------------------------------------------------------------------*
*& *
*& Please DO NOT CHANGE the name of the program or the form.The *
*& dynamic call in the user exit is dependent on the name of this *
*& program. *
*& Standard naming convention for the called program is *
*& "ZBW" + Datasource Name *
*&---------------------------------------------------------------------*


*#######################################################################
* Confidential and Proprietary Copyright 2006 Grainger, Inc.
* All Rights Reserved
************************************************************************
* Name : ZBW2LIS_11_VASCL
* Created By : YUXY001
* Created On : 03/10/2007
*
* Purpose : CMOD User Exit Code for Transaction Datasource : 2LIS_11_VAS
CL
*
* Overview : Populate zzdate (Schedule line date)
*
* Called from : Transaction CMOD, EXIT_SAPLRSAP_001.
*
* Files : None.
*
* Assumptions : None.
*
* Code Review : <USERID> <DATE mm/dd/yyyy>
*
*-----------------------------------------------------------------------
* Revisions History:
*-----------------------------------------------------------------------
* Number Date Author Transport Description
* ______ __________ _______ __________ ___________________________
* 1 03/10/2007 YUXY001 DRAK935927 Code copied from user exit
*
* 2 09/03/2009 PGJEG DRAK9 Added logic to read COUNTRY
* and REGION from table ADRC.
*
************************************************************************
*#######################################################################

REPORT ZBW2LIS_11_VASCL .


FORM ZBW2LIS_11_VASCL
tables I_T_SELECT structure RSSELECT
I_T_FIELDS structure RSFIELDSEL
C_T_DATA structure MC11VA0SCL
C_T_MESSAGES structure BALMI
USING
I_ISOURCE LIKE RSAAPI_IF-ISOURCE
I_UPDMODE LIKE RSAAPI_IF-UPDMODE
RSAP_CUSTOMER_ERROR.

*************************************************************
* FOR 2LIS_11_VASCL EXTRACTOR ENHANCEMENT. PGJWM.04/19/2005.
* FOR GETTING VBEP-EDATU(Schedule Line Date).
*************************************************************
TABLES: vbep. "Sales Order Sched LIne
DATA : l_s_icctvbep LIKE mc11va0scl,
i_tabix LIKE sy-tabix.

DATA: c_ZEROES(6) TYPE C VALUE '000000'.

DATA: itab_MC11VA0SCL TYPE STANDARD TABLE OF MC11VA0SCL,
s_MC11VA0SCL TYPE MC11VA0SCL.

TYPES: BEGIN OF typ_VBPA,
VBELN TYPE VBPA-VBELN,
POSNR TYPE VBPA-POSNR,
PARVW TYPE VBPA-PARVW,
ADRNR TYPE VBPA-ADRNR,
END OF typ_VBPA.

TYPES: BEGIN OF typ_ADRC,
ADDRNUMBER TYPE ADRC-ADDRNUMBER,
POST_CODE1 TYPE ADRC-POST_CODE1,
COUNTRY TYPE ADRC-COUNTRY,
REGION TYPE ADRC-REGION,
END OF typ_ADRC.

DATA: itab_VBPA TYPE STANDARD TABLE OF typ_VBPA,
wa_VBPA TYPE typ_VBPA,
itab_ADRC TYPE STANDARD TABLE OF typ_ADRC,
wa_ADRC TYPE typ_ADRC.


IF NOT C_T_DATA[] IS INITIAL.

* COLLECT THE ENTRIES INTO INTERNAL TABLE itab_MC11VA0SCL

itab_MC11VA0SCL[] = C_T_DATA[].

* SORT THE ENTRIES BY VBELN POSNR AND DELETE DUPLICATES

SORT itab_MC11VA0SCL BY VBELN POSNR.
DELETE ADJACENT DUPLICATES FROM itab_MC11VA0SCL
COMPARING VBELN POSNR.

* SELECT ADDRESS NUMBERS FROM VBPA TABLE FOR THE RELAVENT DOCUMENT
* NUMBERS FOR WHICH POSNR NE '000000'.

SELECT VBELN POSNR PARVW ADRNR
FROM VBPA
INTO TABLE itab_VBPA
FOR ALL ENTRIES IN itab_MC11VA0SCL
WHERE VBELN = itab_MC11VA0SCL-VBELN AND
POSNR = itab_MC11VA0SCL-POSNR AND
PARVW IN ('WE', 'SH').

* ELSE GET THE ADDRESS NUMBER OF HEADER RECORD

SELECT VBELN POSNR PARVW ADRNR
FROM VBPA APPENDING TABLE itab_VBPA
FOR ALL ENTRIES IN itab_MC11VA0SCL
WHERE VBELN = itab_MC11VA0SCL-VBELN AND
POSNR = '000000' AND
PARVW IN ('WE', 'SH').

* SORT ITAB_VBPA BY ADDRESS

SORT itab_VBPA BY ADRNR.


* SELECT THE REQUIRED FIELDS FROM ADRC TABLE

IF NOT itab_VBPA[] IS INITIAL.

SELECT ADDRNUMBER POST_CODE1 COUNTRY REGION
FROM ADRC
INTO TABLE itab_ADRC
FOR ALL ENTRIES IN itab_VBPA
WHERE ADDRNUMBER = itab_VBPA-ADRNR.

ENDIF.

SORT itab_ADRC BY ADDRNUMBER.

DELETE ADJACENT DUPLICATES FROM itab_ADRC COMPARING ADDRNUMBER.

SORT itab_VBPA BY VBELN POSNR.

ENDIF.


LOOP AT c_t_data INTO l_s_icctvbep.
i_tabix = sy-tabix.

* GET Delivery Number FROM VBRP. PGJWM. 04/19/2005.
SELECT SINGLE * FROM vbep
WHERE vbeln = l_s_icctvbep-vbeln
AND posnr = l_s_icctvbep-posnr
AND etenr = l_s_icctvbep-etenr.

IF sy-subrc = 0.
l_s_icctvbep-zzdate = vbep-edatu.
ENDIF.

* READ ITAB_VBPA FOR RECORDS WHERE POSNR NE '000000'.

READ TABLE itab_VBPA
INTO wa_VBPA
WITH KEY VBELN = l_s_icctvbep-VBELN
POSNR = l_s_icctvbep-POSNR
BINARY SEARCH.

IF SY-SUBRC EQ 0.

READ TABLE itab_ADRC
INTO wa_ADRC
WITH KEY ADDRNUMBER = wa_VBPA-ADRNR
BINARY SEARCH.

IF SY-SUBRC EQ 0.

L_S_ICCTVBEP-ZZACTZIP = wa_ADRC-POST_CODE1.
L_S_ICCTVBEP-LAND1 = wa_ADRC-COUNTRY.
L_S_ICCTVBEP-REGIO = wa_ADRC-REGION.

ENDIF.

ELSE. "RECORDS FOR WHICH NO ITEM NUMBER EXISTS (POSNR = '000000').

READ TABLE itab_VBPA
INTO wa_VBPA
WITH KEY VBELN = l_s_icctvbep-VBELN
POSNR = c_ZEROES
BINARY SEARCH.

IF SY-SUBRC EQ 0.

READ TABLE itab_ADRC
INTO wa_ADRC
WITH KEY ADDRNUMBER = wa_VBPA-ADRNR
BINARY SEARCH.

IF SY-SUBRC EQ 0.

L_S_ICCTVBEP-ZZACTZIP = wa_ADRC-POST_CODE1.
L_S_ICCTVBEP-LAND1 = wa_ADRC-COUNTRY.
L_S_ICCTVBEP-REGIO = wa_ADRC-REGION.

ENDIF.
ENDIF.
ENDIF.

MODIFY c_t_data FROM l_s_icctvbep INDEX i_tabix.

ENDLOOP.


ENDFORM. "ZBW2LIS_11_VASCL

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy