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

Fields not populating - please check code

Former Member
0 Likes
612

Fields not populating - please check code

Hi,

I am trying to load the below fields. I am trying to enhance the structure MC02M_0ITM.

When I extract (RSA3),

I am getting data for:

ZZINCO1 – from EKKO Table

ZZDATVR – from NAST Table

ZZBUDAT – from EKBE Table

ZZIHREZ – from EKKO Table

I am not getting data for:

ZZLOEKZ – from EKPO Table

ZZIDNLF – from EKPO Table

ZZNETPR – from EINE Table

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

  • Enhancement to the Purchasing Data (Item Level)

DATA DATVR1 LIKE NAST-DATVR.

DATA: BUDAT1 LIKE EKBE-BUDAT,

IHREZ1 LIKE EKKO-IHREZ,

INCO11 LIKE EKKO-INCO1,

******new BEGIN*******

LOEKZ1 LIKE EKPO-LOEKZ,

IDNLF1 LIKE EKPO-IDNLF,

NETPR1 LIKE EINE-NETPR.

*******NEW END *******

data: Begin of i_EKKO occurs 0,

EBELN LIKE EKKO-EBELN,

IHREZ1 LIKE EKKO-IHREZ,

INCO11 LIKE EKKO-INCO1,

END OF I_EKKO.

*****NEW BEGIN******

data: Begin of i_EKPO occurs 0,

EBELN LIKE EKPO-EBELN,

LOEKZ1 LIKE EKPO-LOEKZ,

IDNLF1 LIKE EKPO-IDNLF,

END OF I_EKPO.

data: Begin of i_EINE occurs 0,

NETPR1 LIKE EINE-NETPR,

END OF I_EINE.

******NEW END********

DATA W_MC02M_0ITM LIKE MC02M_0ITM.

WHEN '2LIS_02_ITM'.

LOOP AT C_T_DATA.

CLEAR W_MC02M_0ITM.

W_MC02M_0ITM = C_T_DATA.

CLEAR: DATVR1,IHREZ1, INCO11, BUDAT1.

******NEW BEGIN******

CLEAR: LOEKZ1, IDNLF1, NETPR1.

******NEW END********

SELECT SINGLE DATVR INTO DATVR1 FROM NAST WHERE OBJKY = W_MC02M_0ITM-EBELN.

W_MC02M_0ITM-ZZDATVR = DATVR1.

SELECT SINGLE BUDAT INTO BUDAT1 FROM EKBE WHERE EBELN = W_MC02M_0ITM-EBELN

AND BWART = '101'.

W_MC02M_0ITM-ZZBUDAT = BUDAT1.

SELECT EBELN IHREZ INCO1 INTO TABLE I_EKKO FROM EKKO.

read table i_EKKO with key EBELN = W_MC02M_0ITM-EBELN.

*****NEW BEGIN******

SELECT SINGLE LOEKZ INTO LOEKZ1 FROM EKPO WHERE EBELN = W_MC02M_0ITM-EBELN.

SELECT SINGLE IDNLF INTO IDNLF1 FROM EKPO where EBELN = W_MC02M_0ITM-EBELN.

read table i_EKPO with key EBELN = W_MC02M_0ITM-EBELN.

SELECT SINGLE NETPR INTO NETPR1 FROM EINE where EBELN = W_MC02M_0ITM-EBELN.

read table i_EKPO with key EBELN = W_MC02m_ITM-EBELN.

*******NEW END*******

IF SY-SUBRC EQ 0.

W_MC02M_0ITM-ZZIHREZ = I_EKKO-IHREZ1.

W_MC02M_0ITM-ZZINCO1 = I_EKKO-INCO11.

******NEW BEGIN******

W_MC02M_0ITM-ZZLOEKZ = I_EKPO-LOEKZ1.

W_MC02M_0ITM-ZZIDNLF = I_EKPO-IDNLF1.

W_MC02M_0ITM-ZZNETPR = I_EINE-NETPR1.

*******NEW END*******

ENDIF.

MODIFY C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

ENDLOOP.

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

Please check this code.

If the code is ok,

After activating the structure, I am deleting the setup tables, and loading the setup tables and doing extraction. Is there any step that I am missing which is preventing my fields from populating?

1 REPLY 1
Read only

Former Member
0 Likes
403

&----


*& Include ZXRSAU01 *

&----


data l_line type i.

describe table C_T_DATA lines l_line.

check l_line gt 0.

CASE i_datasource.

WHEN '0FI_AA_006'.

PERFORM populate_asset_trans_data TABLES C_T_DATA.

*{ INSERT DV1K902092 1

tables:

ekko,ekpo,ekbe,eine.

DATA:

W_DATVR LIKE NAST-DATVR,

W_IHREZ LIKE EKKO-IHREZ,

W_INCO1 LIKE EKKO-INCO1,

W_EBELN LIKE EKKO-EBELN,

W_LIFNR LIKE EKKO-LIFNR,

W_NETPR LIKE EINE-NETPR.

data:

Begin of i_budat occurs 0,

budat1 like ekbe-budat,

end of i_budat.

  • WORK AREA TO STORE DATA

DATA: BEGIN OF w_DATA ,

EBELN LIKE EKKO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

WERKS LIKE EKPO-WERKS,

IDNLF LIKE EKPO-IDNLF,

LGORT LIKE EKPO-LGORT,

LOEKZ LIKE EKPO-LOEKZ,

MENGE LIKE EKPO-MENGE,

infnr like ekpo-infnr,

LIFNR LIKE EKKO-LIFNR,

budat like ekbe-budat,

IHREZ LIKE EKKO-IHREZ,

INCO1 LIKE EKKO-INCO1,

DATVR LIKE NAST-DATVR,

NETPR LIKE EINE-NETPR,

ELIKZ LIKE EKPO-ELIKZ,

END OF w_DATA.

  • INTERNAL TABLE TO STORE DATA

data:

i_data like standard table of w_data with header line.

DATA W_MC02M_0ITM LIKE MC02M_0ITM.

DATA:

ZC_T_DATA LIKE STANDARD TABLE OF W_MC02M_0ITM

WITH HEADER LINE..

when '2LIS_02_ITM'.

loop at c_t_data.

*

*

clear w_mc02m_0itm.

*

w_mc02m_0itm = c_t_data.

*

**zc_t_data[] = c_t_data[].

  • GET ALL DATA FROM EKPO FOR ALL PURCHASING ORDER DOCUMENTS

SELECT EBELN

EBELP

MATNR

WERKS

IDNLF

LGORT

LOEKZ

MENGE

infnr

ELIKZ

FROM EKPO

INTO I_DATA

  • for all entries in c_t_data

WHERE EBELN EQ w_mc02m_0itm-EBELN

AND LOEKZ NE 'L'.

append i_data.

endselect.

endloop.

sort i_data by ebeln ebelp.

delete adjacent duplicates from i_data comparing ebeln ebelp.

  • APPEND OTHER DATA (LIKE DATVR,IHREZ,INCO1,NETPR) TO THE INTERNAL TABLE

loop at i_data into w_data.

clear:

  • W_DATA,

w_datvr,

w_ihrez,

w_inco1,

w_lifnr,

w_netpr,

i_data.

*

  • w_data = i_data.,

  • get DATVR from NAST table

SELECT SINGLE DATVR

INTO w_DATVR

FROM NAST

WHERE OBJKY = W_data-EBELN.

if sy-subrc eq 0.

W_data-datvr = w_DATVR.

endif.

if i_data-elikz eq 'X'.

  • get BUDAT from EKBE table...

SELECT BUDAT

INTO table i_BUDAT

FROM EKBE

WHERE EBELN = W_data-EBELN

AND EBELP = W_data-EBELP

AND BWART = '101' . " movement type is 101

sort i_budat descending.

  • get latest BUDAT

read table i_budat index 1.

if sy-subrc eq 0.

W_data-budat = i_budat-BUDAT1.

endif.

endif.

  • get IHREZ and INCO1 from EKKO

SELECT SINGLE EBELN

IHREZ

INCO1

LIFNR

INTO (w_ebeln, w_ihrez, w_inco1, W_LIFNR)

FROM EKKO

where ebeln = w_data-ebeln.

IF SY-SUBRC EQ 0.

W_data-ihrez = w_IHREZ.

W_data-inco1 = w_INCO1.

W_DATA-LIFNR = W_LIFNR.

ENDIF.

  • get NETPR from EINE

SELECT SINGLE NETPR

INTO W_NETPR

FROM EINE

where EBELN = W_data-EBELN

AND EBELP = W_data-EBELP

and infnr = w_data-infnr.

if sy-subrc eq 0.

W_data-NETPR = W_NETPR.

endif.

MODIFY i_DATA FROM W_data.

ENDLOOP.

*

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

refresh C_T_DATA[].

clear zc_t_data.

delete table c_t_data.

  • APPEND THIS DATA TO THE FINAL STRUCTURE

LOOP AT I_DATA into w_data.

CLEAR: W_MC02M_0ITM.

*W_DATA = I_DATA.

MOVE:

W_DATA-EBELN TO W_MC02M_0ITM-EBELN,

W_DATA-EBELP TO W_MC02M_0ITM-EBELP,

W_DATA-MATNR TO W_MC02M_0ITM-MATNR,

W_DATA-WERKS TO W_MC02M_0ITM-WERKS,

W_DATA-IDNLF TO W_MC02M_0ITM-ZZIDNLF,

W_DATA-LGORT TO W_MC02M_0ITM-LGORT,

W_DATA-LOEKZ TO W_MC02M_0ITM-ZZLOEKZ,

W_DATA-MENGE TO W_MC02M_0ITM-MENGE,

W_DATA-ELIKZ TO W_MC02M_0ITM-ELIKZ,

W_DATA-LIFNR TO W_MC02M_0ITM-LIFNR,

W_DATA-budat TO W_MC02M_0ITM-ZZbudat,

W_DATA-IHREZ TO W_MC02M_0ITM-ZZIHREZ,

W_DATA-INCO1 TO W_MC02M_0ITM-ZZINCO1,

W_DATA-DATVR TO W_MC02M_0ITM-ZZDATVR,

W_DATA-NETPR TO W_MC02M_0ITM-ZZNETPR.

APPEND W_MC02M_0ITM TO C_T_DATA.

ENDLOOP.

    • aug 23

*

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

*

    • Enhancement to the Purchasing Data (Item Level)

*

*

*DATA:

*

*INCO11 LIKE EKKO-INCO1,

*

*EBELN1 LIKE EKKO-EBELN,

*

*DATVR1 LIKE NAST-DATVR,

*

*BUDAT1 LIKE EKBE-BUDAT,

*

*IDNLF1 LIKE EKPO-IDNLF,

*

*IHREZ1 LIKE EKKO-IHREZ,

*

*LOEKZ1 LIKE EKPO-LOEKZ,

*

*NETPR1 LIKE EINE-NETPR.

*

*DATA:

*

*Begin of I_EKKO occurs 0,

*

*EBELN LIKE EKKO-EBELN,

*

*IHREZ1 LIKE EKKO-IHREZ,

*

*INCO11 LIKE EKKO-INCO1,

*

*END OF I_EKKO.

*

******NEW BEGIN******

*

*data: Begin of i_EKPO occurs 0,

*

*EBELN LIKE EKPO-EBELN,

*

*LOEKZ1 LIKE EKPO-LOEKZ,

*

*IDNLF1 LIKE EKPO-IDNLF,

*

*END OF I_EKPO.

*

*data: Begin of i_EINE occurs 0,

*

*NETPR1 LIKE EINE-NETPR,

*

*END OF I_EINE.

*

*data: Begin of i_budat occurs 0,

*budat1 like ekbe-budat,

*end of i_budat.

*

*******NEW END********

*

*DATA W_MC02M_0ITM LIKE MC02M_0ITM.

*

*WHEN '2LIS_02_ITM'.

*

*LOOP AT C_T_DATA.

*

*CLEAR W_MC02M_0ITM.

*

*W_MC02M_0ITM = C_T_DATA.

*

*CLEAR: DATVR1,IHREZ1, INCO11, BUDAT1.

*

*******NEW BEGIN******

*

*CLEAR: LOEKZ1, IDNLF1, NETPR1, I_BUDAT, EBELN1.

*

*******NEW END********

*

*SELECT SINGLE DATVR INTO DATVR1 FROM NAST WHERE OBJKY = W_MC02M_0ITM-EBELN.

*

*W_MC02M_0ITM-ZZDATVR = DATVR1.

*

*SELECT BUDAT INTO table i_BUDAT FROM EKBE WHERE EBELN = W_MC02M_0ITM-EBELN

*

*

*

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

*

*AND BWART = '101' AND EBELP = W_MC02M_0ITM-EBELP.

*

*sort i_budat descending.

*

*read table i_budat index 1.

*

*if sy-subrc eq 0.

*

*W_MC02M_0ITM-ZZBUDAT = i_budat-BUDAT1.

*

*endif.

*

*

*

*

*

******NEW BEGIN******

*

*

*SELECT EBELN IHREZ INCO1 INTO TABLE I_EKKO FROM EKKO.

*

*read table i_EKKO with key EBELN = W_MC02M_0ITM-EBELN.

*

*IF SY-SUBRC EQ 0.

*

*

*W_MC02M_0ITM-ZZIHREZ = I_EKKO-IHREZ1.

*

*W_MC02M_0ITM-ZZINCO1 = I_EKKO-INCO11.

*

*ENDIF.

*

*

*SELECT SINGLE LOEKZ IDNLF INTO (LOEKZ1, IDNLF1) FROM EKPO

*

  • WHERE EBELN = W_MC02M_0ITM-EBELN

*

  • AND EBELP = W_MC02M_0ITM-EBELP.

*

*

*W_MC02M_0ITM-ZZLOEKZ = LOEKZ1.

*

*W_MC02M_0ITM-ZZIDNLF = IDNLF1.

*

*

*SELECT SINGLE NETPR INTO NETPR1 FROM EINE

*

  • where EBELN = W_MC02M_0ITM-EBELN

*

  • AND EKORG = W_MC02M_0ITM-EKORG

*

  • AND EBELP = W_MC02M_0ITM-EBELP.

*

*

*W_MC02M_0ITM-ZZNETPR = NETPR1.

*

*

*

    • to delete purchase order documents with movement type ne 101

*

*

*select single ebeln into ebeln1 from ekbe where bwart ne '101' and EBELN = W_MC02M_0ITM-EBELN

*.

*

*if sy-subrc eq 0.

*

*

  • CLEAR W_MC02M_0ITM.

*

    • DELETE C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

*

*endif.

*

*

********NEW END*******

*

*MODIFY C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

*

*

*

*ENDLOOP.

  • END AUG 22

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

*

*AND BWART = '101'.

*

*W_MC02M_0ITM-ZZBUDAT = BUDAT1.

*

******NEW BEGIN******

*

*SELECT EBELN IHREZ INCO1 INTO TABLE I_EKKO FROM EKKO.

*

*read table i_EKKO with key EBELN = W_MC02M_0ITM-EBELN.

*IF SY-SUBRC EQ 0.

*

*W_MC02M_0ITM-ZZIHREZ = I_EKKO-IHREZ1.

*

*W_MC02M_0ITM-ZZINCO1 = I_EKKO-INCO11.

*

*ENDIF.

*

*

*SELECT SINGLE LOEKZ INTO LOEKZ1 FROM EKPO WHERE EBELN = W_MC02M_0ITM-EBELN.

*

*W_MC02M_0ITM-ZZLOEKZ = LOEKZ1.

*

*

*SELECT SINGLE IDNLF INTO IDNLF1 FROM EKPO where EBELN = W_MC02M_0ITM-EBELN.

*W_MC02M_0ITM-ZZIDNLF = IDNLF1.

*

*

*

*SELECT SINGLE NETPR INTO NETPR1 FROM EINE where EBELN = W_MC02M_0ITM-EBELN.

*

  • W_MC02M_0ITM-ZZNETPR = NETPR1.

*

*

********NEW END*******

*

*

*MODIFY C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

*

*

*ENDLOOP.

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

*

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

*

    • Enhancement to the Purchasing Data (Item Level)

*

*

*DATA DATVR1 LIKE NAST-DATVR.

*

*DATA: BUDAT1 LIKE EKBE-BUDAT,

*

*IHREZ1 LIKE EKKO-IHREZ,

*

*INCO11 LIKE EKKO-INCO1,

*

*EBELN1 LIKE EKKO-EBELN,

*

*LOEKZ1 LIKE EKPO-LOEKZ,

*

*IDNLF1 LIKE EKPO-IDNLF,

*

*NETPR1 LIKE EINE-NETPR.

*

*data: Begin of i_EKKO occurs 0,

*

*EBELN LIKE EKKO-EBELN,

*

*IHREZ1 LIKE EKKO-IHREZ,

*

*INCO11 LIKE EKKO-INCO1,

*

*END OF I_EKKO.

*

*data: Begin of i_EKPO occurs 0,

*

*EBELN LIKE EKPO-EBELN,

*

*LOEKZ1 LIKE EKPO-LOEKZ,

*

*IDNLF1 LIKE EKPO-IDNLF,

*

*END OF I_EKPO.

*

*data: Begin of i_EINE occurs 0,

*

*NETPR1 LIKE EINE-NETPR,

*

*END OF I_EINE.

*

*data: Begin of i_budat occurs 0,

*budat1 like ekbe-budat,

*end of i_budat.

*

*

*DATA: BEGIN OF I_DATA OCCURS 0,

*

*EBELN LIKE EKKO-EBELN,

*

  • EBELP LIKE EKPO-EBELP,

*

  • MATNR LIKE EKPO-MATNR,

*

  • WERKS LIKE EKPO-WERKS,

*

  • IDNLF LIKE EKPO-IDNLF,

*

  • LGORT LIKE EKPO-LGORT,

*

  • LOEKZ LIKE EKPO-LOEKZ,

*

  • MENGE LIKE EKPO-MENGE,

*

*END OF I_DATA.

*

*DATA : WC_T_DATA LIKE MC02M_0ITM OCCURS 0.

*

*DATA W_MC02M_0ITM LIKE MC02M_0ITM.

*

*DATA W_DATA LIKE MC02M_0ITM.

*

*DATA: ZC_T_DATA LIKE STANDARD TABLE OF W_DATA WITH HEADER LINE..

*

*WHEN '2LIS_02_ITM'.

*

*LOOP AT C_T_DATA.

*

*CLEAR W_MC02M_0ITM.

*

*W_MC02M_0ITM = C_T_DATA.

*

*

*

  • SELECT EBELN

  • EBELP

  • MATNR

  • WERKS

  • IDNLF

  • LGORT

  • LOEKZ

  • MENGE

*

  • FROM EKPO

*

  • INTO TABLE I_DATA

*

  • WHERE EBELN EQ W_MC02M_0ITM-EBELN.

*

*APPEND W_MC02M_0ITM TO ZC_T_DATA.

*

*ENDLOOP.

*

*

*LOOP AT ZC_T_DATA.

*

*

*

              • BEGIN*****

  • ELIKZ is the “Delivery Completed” Indicator

*

*We have to include both Completed and

*

*Non-Complete Line Items (EKPO-EBELP).

*

*Eg., IF we have multiple occurrences of

*

*EKPO-EBELN with various movement types, consider

*

*But, # of Line Items completed in the

*past 6 months / 12 months field in our Report

*

*needs information where we pick the Line Items

*(EKPO-EBELP)

*

*for which, “Delivery Completed” Indicator

*(EKPO-ELIKZ) is not blank.

*

*We need to get the records from EKPO-EBELP.

*

*PO Transmit Date = NAST-DATVR where NAST-OBJKY = EKBE-EBELN

*

*PO Receipt Date = EKBE-BUDAT where MSEG-BWART = ‘101’.

*

*So, this one grabs the date from the latest date

*

*in the "Purchase Order Delivery" tab in the ITEM

*

*on the Purchasing DOcument

*

*

*

****END****

*

  • LOOP AT I_DATA WHERE EBELN EQ ZC_T_DATA-EBELN.

*

*

*

  • CLEAR W_DATA.

*

  • IF I_DATA-EBELP NE ZC_T_DATA-EBELP.

*

  • MOVE:

*

  • I_DATA-EBELN TO W_DATA-EBELN,

*

  • I_DATA-EBELP TO W_DATA-EBELP,

*

  • I_DATA-MATNR TO W_DATA-MATNR,

*

*I_DATA-WERKS TO W_DATA-WERKS,

*

*I_DATA-IDNLF TO W_DATA-ZZIDNLF,

*

*I_DATA-LOEKZ TO W_DATA-ZZLOEKZ,

*

*I_DATA-LGORT TO W_DATA-LGORT,

*

*I_DATA-MENGE TO W_DATA-MENGE.

*

*

  • APPEND W_DATA TO ZC_T_DATA.

*

  • ELSEIF I_DATA-EBELP EQ W_DATA-EBELP.

*

  • MOVE:

*

  • I_DATA-EBELN TO W_DATA-EBELN,

*

  • I_DATA-EBELP TO W_DATA-EBELP,

*

  • I_DATA-MATNR TO W_DATA-MATNR,

*

*I_DATA-WERKS TO W_DATA-WERKS,

*

*I_DATA-IDNLF TO W_DATA-ZZIDNLF,

*

*I_DATA-LOEKZ TO W_DATA-ZZLOEKZ,

*

*I_DATA-LGORT TO W_DATA-LGORT,

*

*I_DATA-MENGE TO W_DATA-MENGE.

*

*

  • MODIFY ZC_T_DATA FROM W_DATA INDEX SY-TABIX. .

*

  • ENDIF.

*

  • ENDLOOP.

*

*ENDLOOP.

*

  • CLEAR C_T_DATA.

*

*

  • C_T_DATA[] = ZC_T_DATA[].

*

*

  • LOOP AT C_T_DATA.

*

  • CLEAR W_MC02M_0ITM.

*

  • W_MC02M_0ITM = C_T_DATA.

*

  • CLEAR: DATVR1,IHREZ1, INCO11, BUDAT1.

*

  • CLEAR: LOEKZ1, IDNLF1, NETPR1, I_BUDAT, EBELN1.

*

  • SELECT SINGLE DATVR INTO DATVR1 FROM NAST WHERE OBJKY = W_MC02M_0ITM-EBELN.

*

  • W_MC02M_0ITM-ZZDATVR = DATVR1.

*

  • SELECT BUDAT INTO table i_BUDAT FROM EKBE WHERE EBELN = W_MC02M_0ITM-EBELN

*

  • AND BWART = '101' AND EBELP = W_MC02M_0ITM-EBELP.

*

  • sort i_budat descending.

*

  • read table i_budat index 1.

*

  • if sy-subrc eq 0.

*

  • W_MC02M_0ITM-ZZBUDAT = i_budat-BUDAT1.

*

  • endif.

*

*

  • SELECT EBELN IHREZ INCO1 INTO TABLE I_EKKO FROM EKKO.

*

  • read table i_EKKO with key EBELN = W_MC02M_0ITM-EBELN.

*

  • IF SY-SUBRC EQ 0.

*

*

  • W_MC02M_0ITM-ZZIHREZ = I_EKKO-IHREZ1.

*

  • W_MC02M_0ITM-ZZINCO1 = I_EKKO-INCO11.

*

  • ENDIF.

*

*

  • SELECT SINGLE LOEKZ IDNLF INTO (LOEKZ1, IDNLF1) FROM EKPO

*

  • WHERE EBELN = W_MC02M_0ITM-EBELN

*

  • AND EBELP = W_MC02M_0ITM-EBELP.

*

*

  • W_MC02M_0ITM-ZZLOEKZ = LOEKZ1.

*

  • W_MC02M_0ITM-ZZIDNLF = IDNLF1.

*

*

  • SELECT SINGLE NETPR INTO NETPR1 FROM EINE

*

  • where EBELN = W_MC02M_0ITM-EBELN

*

  • AND EKORG = W_MC02M_0ITM-EKORG

*

  • AND EBELP = W_MC02M_0ITM-EBELP.

*

*

  • W_MC02M_0ITM-ZZNETPR = NETPR1.

*

*

*

    • to delete purchase order documents with movement type ne 101

*

*

  • select single ebeln into ebeln1 from ekbe where bwart ne '101' and EBELN = W_MC02M_0ITM-EBELN

  • .

*

  • if sy-subrc eq 0.

*

*

  • CLEAR W_MC02M_0ITM.

*

    • DELETE C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

*

  • endif.

*

*

  • MODIFY C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

*

*

*

  • ENDLOOP.

*

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

*.

*

*

      • END AUG 23

*

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

*

      • Enhancement to the Purchasing Data (Item Level)

**

**

**DATA DATVR1 LIKE NAST-DATVR.

**

**DATA: BUDAT1 LIKE EKBE-BUDAT,

**

**IHREZ1 LIKE EKKO-IHREZ,

**

**INCO11 LIKE EKKO-INCO1,

**

**EBELN1 LIKE EKKO-EBELN,

**

********new BEGIN*******

**

**LOEKZ1 LIKE EKPO-LOEKZ,

**

**IDNLF1 LIKE EKPO-IDNLF,

**

**NETPR1 LIKE EINE-NETPR.

**

*********NEW END *******

**

**data: Begin of i_EKKO occurs 0,

**

**EBELN LIKE EKKO-EBELN,

**

**IHREZ1 LIKE EKKO-IHREZ,

**

**INCO11 LIKE EKKO-INCO1,

**

**END OF I_EKKO.

**

*******NEW BEGIN******

**

**data: Begin of i_EKPO occurs 0,

**

**EBELN LIKE EKPO-EBELN,

**

**LOEKZ1 LIKE EKPO-LOEKZ,

**

**IDNLF1 LIKE EKPO-IDNLF,

**

**END OF I_EKPO.

**

**data: Begin of i_EINE occurs 0,

**

**NETPR1 LIKE EINE-NETPR,

**

**END OF I_EINE.

**

**data: Begin of i_budat occurs 0,

**budat1 like ekbe-budat,

**end of i_budat.

**

********NEW END********

**

**DATA W_MC02M_0ITM LIKE MC02M_0ITM.

**

**WHEN '2LIS_02_ITM'.

**

**LOOP AT C_T_DATA.

**

**CLEAR W_MC02M_0ITM.

**

**W_MC02M_0ITM = C_T_DATA.

**

**CLEAR: DATVR1,IHREZ1, INCO11, BUDAT1.

**

********NEW BEGIN******

**

**CLEAR: LOEKZ1, IDNLF1, NETPR1, I_BUDAT, EBELN1.

**

********NEW END********

**

**SELECT SINGLE DATVR INTO DATVR1 FROM NAST WHERE OBJKY = W_MC02M_0ITM-EBELN.

**

**W_MC02M_0ITM-ZZDATVR = DATVR1.

**

**SELECT BUDAT INTO table i_BUDAT FROM EKBE WHERE EBELN = W_MC02M_0ITM-EBELN

**

**

**

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

**

**AND BWART = '101' AND EBELP = W_MC02M_0ITM-EBELP.

**

**sort i_budat descending.

**

**read table i_budat index 1.

**

**if sy-subrc eq 0.

**

**W_MC02M_0ITM-ZZBUDAT = i_budat-BUDAT1.

**

**endif.

**

**

**

**

**

*******NEW BEGIN******

**

**

**SELECT EBELN IHREZ INCO1 INTO TABLE I_EKKO FROM EKKO.

**

**read table i_EKKO with key EBELN = W_MC02M_0ITM-EBELN.

**

**IF SY-SUBRC EQ 0.

**

**

**W_MC02M_0ITM-ZZIHREZ = I_EKKO-IHREZ1.

**

**W_MC02M_0ITM-ZZINCO1 = I_EKKO-INCO11.

**

**ENDIF.

**

**

**SELECT SINGLE LOEKZ IDNLF INTO (LOEKZ1, IDNLF1) FROM EKPO

**

    • WHERE EBELN = W_MC02M_0ITM-EBELN

**

    • AND EBELP = W_MC02M_0ITM-EBELP.

**

**

**W_MC02M_0ITM-ZZLOEKZ = LOEKZ1.

**

**W_MC02M_0ITM-ZZIDNLF = IDNLF1.

**

**

**SELECT SINGLE NETPR INTO NETPR1 FROM EINE

**

    • where EBELN = W_MC02M_0ITM-EBELN

**

    • AND EKORG = W_MC02M_0ITM-EKORG

**

    • AND EBELP = W_MC02M_0ITM-EBELP.

**

**

**W_MC02M_0ITM-ZZNETPR = NETPR1.

**

**

**

      • to delete purchase order documents with movement type ne 101

**

**

**select single ebeln into ebeln1 from ekbe where bwart ne '101' and EBELN = W_MC02M_0ITM-EBELN

**.

**

**if sy-subrc eq 0.

**

**

    • CLEAR W_MC02M_0ITM.

**

      • DELETE C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

**

**endif.

**

**

*********NEW END*******

**

**MODIFY C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

**

**

**

**ENDLOOP.

*

*

*

**END AUG 22

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

*

**AND BWART = '101'.

**

**W_MC02M_0ITM-ZZBUDAT = BUDAT1.

**

*******NEW BEGIN******

**

**SELECT EBELN IHREZ INCO1 INTO TABLE I_EKKO FROM EKKO.

**

**read table i_EKKO with key EBELN = W_MC02M_0ITM-EBELN.

**IF SY-SUBRC EQ 0.

**

**W_MC02M_0ITM-ZZIHREZ = I_EKKO-IHREZ1.

**

**W_MC02M_0ITM-ZZINCO1 = I_EKKO-INCO11.

**

**ENDIF.

**

**

**SELECT SINGLE LOEKZ INTO LOEKZ1 FROM EKPO WHERE EBELN = W_MC02M_0ITM-EBELN.

**

**W_MC02M_0ITM-ZZLOEKZ = LOEKZ1.

**

**

**SELECT SINGLE IDNLF INTO IDNLF1 FROM EKPO where EBELN = W_MC02M_0ITM-EBELN.

**W_MC02M_0ITM-ZZIDNLF = IDNLF1.

**

**

**

**SELECT SINGLE NETPR INTO NETPR1 FROM EINE where EBELN = W_MC02M_0ITM-EBELN.

**

    • W_MC02M_0ITM-ZZNETPR = NETPR1.

**

**

*********NEW END*******

**

**

**MODIFY C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

**

**

**ENDLOOP.

*

*

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

*

*

*

*

*

*

*

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

      • Enhancement to the Purchasing Data (Item Level)

**

**DATA DATVR1 LIKE NAST-DATVR.

**

**DATA: BUDAT1 LIKE EKBE-BUDAT,

**

**IHREZ1 LIKE EKKO-IHREZ,

**

**INCO11 LIKE EKKO-INCO1,

**

********new BEGIN*******

**

**LOEKZ1 LIKE EKPO-LOEKZ,

**

**IDNLF1 LIKE EKPO-IDNLF,

**

**NETPR1 LIKE EINE-NETPR.

**

*********NEW END *******

**

**data: Begin of i_EKKO occurs 0,

**

**EBELN LIKE EKKO-EBELN,

**

**IHREZ1 LIKE EKKO-IHREZ,

**

**INCO11 LIKE EKKO-INCO1,

**

**END OF I_EKKO.

**

*******NEW BEGIN******

**

**data: Begin of i_EKPO occurs 0,

**

**EBELN LIKE EKPO-EBELN,

**

**LOEKZ1 LIKE EKPO-LOEKZ,

**

**IDNLF1 LIKE EKPO-IDNLF,

**

**END OF I_EKPO.

**

**data: Begin of i_EINE occurs 0,

**

**EKORG LIKE EINE-EKORG,

**

**NETPR1 LIKE EINE-NETPR,

**

**END OF I_EINE.

**

********NEW END********

**

**DATA W_MC02M_0ITM LIKE MC02M_0ITM.

**

**WHEN '2LIS_02_ITM'.

**

**LOOP AT C_T_DATA.

**

**CLEAR W_MC02M_0ITM.

**

**W_MC02M_0ITM = C_T_DATA.

**

**CLEAR: DATVR1,IHREZ1, INCO11, BUDAT1.

**

********NEW BEGIN******

**

**CLEAR: LOEKZ1, IDNLF1, NETPR1.

**

********NEW END********

**

**SELECT SINGLE DATVR INTO DATVR1 FROM NAST WHERE OBJKY = W_MC02M_0ITM-EBELN.

**

**W_MC02M_0ITM-ZZDATVR = DATVR1.

**

**SELECT SINGLE BUDAT INTO BUDAT1 FROM EKBE WHERE EBELN = W_MC02M_0ITM-EBELN

**

**AND BWART = '101'.

**

**W_MC02M_0ITM-ZZBUDAT = BUDAT1.

**

**SELECT EBELN IHREZ INCO1 INTO TABLE I_EKKO FROM EKKO.

**

**read table i_EKKO with key EBELN = W_MC02M_0ITM-EBELN.

**

*******NEW BEGIN******

**

**SELECT SINGLE LOEKZ INTO LOEKZ1 FROM EKPO WHERE EBELN = W_MC02M_0ITM-EBELN.

**

**SELECT SINGLE IDNLF INTO IDNLF1 FROM EKPO where EBELN = W_MC02M_0ITM-EBELN.

**

**read table i_EKPO with key EBELN = W_MC02M_0ITM-EBELN.

**

**SELECT SINGLE NETPR INTO NETPR1 FROM EINE where WERKS = W_MC02M_0ITM-WERKS.

**

**read table i_EINE with key EKORG = W_MC02M_0ITM-EKORG.

**

**

*********NEW END*******

**

**IF SY-SUBRC EQ 0.

**

**W_MC02M_0ITM-ZZIHREZ = I_EKKO-IHREZ1.

**

**W_MC02M_0ITM-ZZINCO1 = I_EKKO-INCO11.

**

********NEW BEGIN******

**

**W_MC02M_0ITM-ZZLOEKZ = I_EKPO-LOEKZ1.

**

**W_MC02M_0ITM-ZZIDNLF = I_EKPO-IDNLF1.

**

**W_MC02M_0ITM-ZZNETPR = I_EINE-NETPR1.

**

*********NEW END*******

**

**ENDIF.

**

**MODIFY C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

**

**

**ENDLOOP.

*

*

*

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

*

*

*

*

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

      • Enhancement to the Purchasing Data (Item Level)

**

**DATA DATVR1 LIKE NAST-DATVR.

**

**DATA: BUDAT1 LIKE EKBE-BUDAT,

**

**IHREZ1 LIKE EKKO-IHREZ,

**

**INCO11 LIKE EKKO-INCO1.

**

**data: Begin of i_EKKO occurs 0,

**

**EBELN LIKE EKKO-EBELN,

**

**IHREZ1 LIKE EKKO-IHREZ,

**

**INCO11 LIKE EKKO-INCO1,

**

**END OF I_EKKO.

**

**DATA W_MC02M_0ITM LIKE MC02M_0ITM.

**

**WHEN '2LIS_02_ITM'.

**

**LOOP AT C_T_DATA.

**

**CLEAR W_MC02M_0ITM.

**

**W_MC02M_0ITM = C_T_DATA.

**

**CLEAR: DATVR1,IHREZ1, INCO11, BUDAT1.

**

**SELECT SINGLE DATVR INTO DATVR1 FROM NAST WHERE OBJKY = W_MC02M_0ITM-EBELN.

**

**W_MC02M_0ITM-ZZDATVR = DATVR1.

**

**SELECT SINGLE BUDAT INTO BUDAT1 FROM EKBE WHERE EBELN = W_MC02M_0ITM-EBELN

**

**AND BWART = '101'.

**

**W_MC02M_0ITM-ZZBUDAT = BUDAT1.

**

**SELECT EBELN IHREZ INCO1 INTO TABLE I_EKKO FROM EKKO.

**

**read table i_EKKO with key EBELN = W_MC02M_0ITM-EBELN.

**

**IF SY-SUBRC EQ 0.

**

**W_MC02M_0ITM-ZZIHREZ = I_EKKO-IHREZ1.

**

**W_MC02M_0ITM-ZZINCO1 = I_EKKO-INCO11.

**

**ENDIF.

**

**MODIFY C_T_DATA FROM W_MC02M_0ITM INDEX SY-TABIX.

**

**

**

**ENDLOOP.

**

**

**

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

**

**

*

*.

*

  • WHEN OTHERS.

  • DATA: L_PROG_NAME LIKE D010SINF-PROG,

  • L_SUBRC LIKE SY-SUBRC.

*

    • ==>> Added by Deolikarj on 2/9/7 .

  • DATA: L_APPLNM type RSAPPLNM ,

  • l_appl(2) ,

  • l_name like trdir-name .

*

    • Select Application Name from table

  • select single applnm

  • into l_applnm

  • from roosource

  • where oltpsource = i_datasource .

*

    • get Application area

  • if l_applnm(1) = '0' .

  • l_appl = l_applnm+1(2).

  • else.

  • l_appl = l_applnm(2).

  • endif .

*

    • <<== End Add

*

    • Changed by Deolikarj 2/9/7

    • CONCATENATE 'ZBW_'

    • I_DATASOURCE

    • INTO L_PROG_NAME.

*

  • CONCATENATE 'ZBWTR_' l_appl '_'

  • I_DATASOURCE

  • INTO L_PROG_NAME.

*

  • PERFORM TRANSFORM IN PROGRAM (L_PROG_NAME)

  • TABLES I_T_SELECT

  • I_T_FIELDS

  • C_T_DATA

  • C_T_MESSAGES

  • USING I_DATASOURCE

  • I_ISOURCE

  • I_UPDMODE

  • CHANGING L_SUBRC

  • IF FOUND.

  • IF L_SUBRC <> 0.

  • RAISE RSAP_CUSTOMER_EXIT_ERROR.

  • ENDIF.

*

*

*

*} INSERT

ENDCASE.