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

ALV

sudhir_uppalapati
Participant
0 Likes
887

Hi all,

I am working with an ALV Report in which i want to display fields LIFNR,NAME1,STCEG from lFA1 and KUNNR,NAME1,STCEG from KNA1 and these records should only be displayed when STCEG(VAT No) is equal in both the tables.i am providing my code below:

TYPE-POOLS : slis.

TYPES : BEGIN OF tt_bkpf,

bukrs TYPE bkpf-bukrs, "Company Code

END OF tt_bkpf.

TYPES : BEGIN OF tt_bseg,

bukrs TYPE bseg-bukrs, "Company Code

pswbt TYPE bseg-pswbt, "Amount for Updating in General Ledger

END OF tt_bseg.

TYPES : BEGIN OF tt_lfa1,

lifnr TYPE lfa1-lifnr, "Account Number of Vendor or Creditor

name1 TYPE lfa1-name1, "Name 1

stceg1 TYPE lfa1-stceg, "VAT registration number

kunnr TYPE kna1-kunnr, "Customer Number 1

name2 TYPE kna1-name1, "Name 1

stceg2 TYPE kna1-stceg, "VAT registration number

END OF tt_lfa1.

TYPES : BEGIN OF tt_kna1,

kunnr TYPE kna1-kunnr, "Customer Number 1

name1 TYPE kna1-name1, "Name 1

stceg TYPE kna1-stceg, "VAT registration number

END OF tt_kna1.

DATA : t_bseg TYPE TABLE OF tt_bseg,

t_lfa1 TYPE TABLE OF tt_lfa1,

t_kna1 TYPE TABLE OF tt_kna1.

DATA : wa_bkpf TYPE tt_bkpf,

wa_bseg TYPE tt_bseg,

wa_lfa1 TYPE tt_lfa1,

wa_kna1 TYPE tt_kna1.

DATA : header TYPE slis_t_listheader.

DATA : fcat TYPE slis_t_fieldcat_alv,

wa_fcat TYPE slis_fieldcat_alv,

layout TYPE slis_layout_alv,

sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,

events TYPE slis_t_event WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.

SELECT-OPTIONS: COMPCODE FOR wa_bkpf-bukrs,

VENDORAc FOR wa_lfa1-lifnr,

CUSTAc FOR wa_kna1-kunnr.

SELECTION-SCREEN END OF BLOCK b1.

SELECT lifnr

name1

stceg

FROM lfa1 INTO TABLE t_lfa1

WHERE lifnr IN VENDORAc.

SELECT kunnr

name1

stceg

FROM kna1 INTO TABLE t_kna1

where kunnr IN CUSTAc.

SORT t_lfa1 BY lifnr.

LOOP AT t_lfa1 INTO wa_lfa1.

READ TABLE t_kna1 INTO wa_kna1 WITH KEY stceg = wa_lfa1-stceg1 BINARY

SEARCH.

IF sy-subrc = 0.

wa_lfa1-kunnr = wa_kna1-kunnr.

wa_lfa1-name2 = wa_kna1-name1.

wa_lfa1-stceg2 = wa_kna1-stceg.

MODIFY t_lfa1 FROM wa_lfa1.

CLEAR wa_lfa1.

ENDIF.

*DELETE ADJACENT DUPLICATES FROM t_lfa1 COMPARING lifnr.

ENDLOOP.

PERFORM FINAL.

&----


*& Form FINAL

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FINAL .

layout-no_input = 'X'.

layout-colwidth_optimize = 'X'.

sort-fieldname = 'STCEG1'.

sort-tabname = 'T_LFA1'.

sort-up = 'X'.

sort-subtot = 'X'.

APPEND sort.

CLEAR sort.

events-name = 'TOP_OF_PAGE'.

events-form = 'ANY1'.

APPEND events.

CLEAR events.

wa_fcat-fieldname = 'LIFNR'.

wa_fcat-tabname = 't_lfa1-lifnr'.

wa_fcat-seltext_m = 'VENDOR NO'.

wa_fcat-outputlen = 15.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'NAME1'.

wa_fcat-tabname = 't_lfa1-name1'.

wa_fcat-seltext_m = 'NAME'.

wa_fcat-outputlen = 25.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat .

wa_fcat-fieldname = 'STCEG1'.

wa_fcat-tabname = 't_lfa1-stceg1'.

wa_fcat-seltext_m = 'VAT REG'.

wa_fcat-outputlen = 15 .

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'KUNNR'.

wa_fcat-tabname = 't_lfa1-kunnr'.

wa_fcat-seltext_m = 'CUSTOMER NO'.

wa_fcat-outputlen = 15.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'NAME2'.

wa_fcat-tabname = 't_lfa1-name2'.

wa_fcat-seltext_m = 'NAME'.

wa_fcat-outputlen = 25.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'STCEG2'.

wa_fcat-tabname = 't_lfa1-stceg2'.

wa_fcat-seltext_m = 'VAT REG'.

wa_fcat-outputlen = 30.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'REPID'

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE'

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = layout

IT_FIELDCAT = fcat[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = 'X'

  • IS_VARIANT =

IT_EVENTS = events[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = t_lfa1

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
806

Hi,

Try as below:


SORT t_lfa1 BY lifnr.

LOOP AT t_lfa1 INTO wa_lfa1.

READ TABLE t_kna1 INTO wa_kna1 WITH KEY stceg = wa_lfa1-stceg1 BINARY
SEARCH.

IF sy-subrc = 0.
wa_lfa1-kunnr = wa_kna1-kunnr.
wa_lfa1-name2 = wa_kna1-name1.
wa_lfa1-stceg2 = wa_kna1-stceg.
MODIFY t_lfa1 FROM wa_lfa1.
CLEAR : wa_lfa1, t_lfa1.
else.
delete t_lfa1 from wa_lfa1.
CLEAR : wa_lfa1, t_lfa1.
exit.
endif.
endloop.

Thanks,

Sriram Ponna.

Edited by: Sriram Ponna on Feb 26, 2008 4:08 PM

Hi all,

I am working with an ALV Report in which i want to display fields LIFNR,NAME1,STCEG from lFA1 and KUNNR,NAME1,STCEG from KNA1 and these records should only be displayed when STCEG(VAT No) is equal in both the tables.i am providing my code below:

TYPE-POOLS : slis.

TYPES : BEGIN OF tt_bkpf,

bukrs TYPE bkpf-bukrs, "Company Code

END OF tt_bkpf.

TYPES : BEGIN OF tt_bseg,

bukrs TYPE bseg-bukrs, "Company Code

pswbt TYPE bseg-pswbt, "Amount for Updating in General Ledger

END OF tt_bseg.

TYPES : BEGIN OF tt_lfa1,

lifnr TYPE lfa1-lifnr, "Account Number of Vendor or Creditor

name1 TYPE lfa1-name1, "Name 1

stceg1 TYPE lfa1-stceg, "VAT registration number

kunnr TYPE kna1-kunnr, "Customer Number 1

name2 TYPE kna1-name1, "Name 1

stceg2 TYPE kna1-stceg, "VAT registration number

END OF tt_lfa1.

TYPES : BEGIN OF tt_kna1,

kunnr TYPE kna1-kunnr, "Customer Number 1

name1 TYPE kna1-name1, "Name 1

stceg TYPE kna1-stceg, "VAT registration number

END OF tt_kna1.

DATA : t_bseg TYPE TABLE OF tt_bseg,

t_lfa1 TYPE TABLE OF tt_lfa1,

t_kna1 TYPE TABLE OF tt_kna1.

DATA : wa_bkpf TYPE tt_bkpf,

wa_bseg TYPE tt_bseg,

wa_lfa1 TYPE tt_lfa1,

wa_kna1 TYPE tt_kna1.

DATA : header TYPE slis_t_listheader.

DATA : fcat TYPE slis_t_fieldcat_alv,

wa_fcat TYPE slis_fieldcat_alv,

layout TYPE slis_layout_alv,

sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,

events TYPE slis_t_event WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.

SELECT-OPTIONS: COMPCODE FOR wa_bkpf-bukrs,

VENDORAc FOR wa_lfa1-lifnr,

CUSTAc FOR wa_kna1-kunnr.

SELECTION-SCREEN END OF BLOCK b1.

SELECT lifnr

name1

stceg

FROM lfa1 INTO TABLE t_lfa1

WHERE lifnr IN VENDORAc.

SELECT kunnr

name1

stceg

FROM kna1 INTO TABLE t_kna1

where kunnr IN CUSTAc.

SORT t_lfa1 BY lifnr.

LOOP AT t_lfa1 INTO wa_lfa1.

READ TABLE t_kna1 INTO wa_kna1 WITH KEY stceg = wa_lfa1-stceg1 BINARY

SEARCH.

IF sy-subrc = 0.

wa_lfa1-kunnr = wa_kna1-kunnr.

wa_lfa1-name2 = wa_kna1-name1.

wa_lfa1-stceg2 = wa_kna1-stceg.

MODIFY t_lfa1 FROM wa_lfa1.

CLEAR wa_lfa1.

ENDIF.

*DELETE ADJACENT DUPLICATES FROM t_lfa1 COMPARING lifnr.

ENDLOOP.

PERFORM FINAL.

&----


*& Form FINAL

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FINAL .

layout-no_input = 'X'.

layout-colwidth_optimize = 'X'.

sort-fieldname = 'STCEG1'.

sort-tabname = 'T_LFA1'.

sort-up = 'X'.

sort-subtot = 'X'.

APPEND sort.

CLEAR sort.

events-name = 'TOP_OF_PAGE'.

events-form = 'ANY1'.

APPEND events.

CLEAR events.

wa_fcat-fieldname = 'LIFNR'.

wa_fcat-tabname = 't_lfa1-lifnr'.

wa_fcat-seltext_m = 'VENDOR NO'.

wa_fcat-outputlen = 15.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'NAME1'.

wa_fcat-tabname = 't_lfa1-name1'.

wa_fcat-seltext_m = 'NAME'.

wa_fcat-outputlen = 25.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat .

wa_fcat-fieldname = 'STCEG1'.

wa_fcat-tabname = 't_lfa1-stceg1'.

wa_fcat-seltext_m = 'VAT REG'.

wa_fcat-outputlen = 15 .

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'KUNNR'.

wa_fcat-tabname = 't_lfa1-kunnr'.

wa_fcat-seltext_m = 'CUSTOMER NO'.

wa_fcat-outputlen = 15.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'NAME2'.

wa_fcat-tabname = 't_lfa1-name2'.

wa_fcat-seltext_m = 'NAME'.

wa_fcat-outputlen = 25.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'STCEG2'.

wa_fcat-tabname = 't_lfa1-stceg2'.

wa_fcat-seltext_m = 'VAT REG'.

wa_fcat-outputlen = 30.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'REPID'

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

I_CALLBACK_HTML_TOP_OF_PAGE = 'TOP_OF_PAGE'

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = layout

IT_FIELDCAT = fcat[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = 'X'

  • IS_VARIANT =

IT_EVENTS = events[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = t_lfa1

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM.

6 REPLIES 6
Read only

Former Member
0 Likes
806

Hi,

What is your issue?

Thanks,

Sriram Ponna.

Read only

0 Likes
806

Hi,

Only the values which have the same STCEG(VAT No) in both LFA1 & KNA1 should be displayed. But I am getting all the values using my program and also for the KNA1 table the 1st record is repeating no of times. here i am moving the values which are to be displyed in to table t_lfa1.use my program to find wat i have done.

please check that the comments are being displayed as dots and replace them when u copy the program where ever needed.

Thanks

Sudhir

Read only

Former Member
0 Likes
807

Hi,

Try as below:


SORT t_lfa1 BY lifnr.

LOOP AT t_lfa1 INTO wa_lfa1.

READ TABLE t_kna1 INTO wa_kna1 WITH KEY stceg = wa_lfa1-stceg1 BINARY
SEARCH.

IF sy-subrc = 0.
wa_lfa1-kunnr = wa_kna1-kunnr.
wa_lfa1-name2 = wa_kna1-name1.
wa_lfa1-stceg2 = wa_kna1-stceg.
MODIFY t_lfa1 FROM wa_lfa1.
CLEAR : wa_lfa1, t_lfa1.
else.
delete t_lfa1 from wa_lfa1.
CLEAR : wa_lfa1, t_lfa1.
exit.
endif.
endloop.

Thanks,

Sriram Ponna.

Edited by: Sriram Ponna on Feb 26, 2008 4:08 PM

Read only

0 Likes
806

Hi Sriram,

I tried out the code which you sent but its not working.can u plz try it with the code and send back.

Thanks,

Sudhir

Read only

Former Member
0 Likes
806

Hi,

Have a look on the following code,This is i am working.

If u want to print this in ALV Grid format,develop the fieldcatalog for the main internal table fields "IT_MAIN"

and call the Grid function module.

TABLES: bkpf,lfa1,kna1,bseg.

-Select-options-

SELECTION-SCREEN BEGIN OF BLOCK b1.

SELECT-OPTIONS: bukrs1 FOR bkpf-bukrs,

lifnr1 FOR lfa1-lifnr,

kunnr1 FOR kna1-kunnr.

SELECTION-SCREEN END OF BLOCK b1.

-Structure for LFA1-

TYPES: BEGIN OF ty_lfa1,

lifnr LIKE lfa1-lifnr, " Vendor

name1 LIKE lfa1-name1, " Name

stceg LIKE lfa1-stceg, " VAT reg. no.

pswbt LIKE bseg-pswbt, " G/L Amount

END OF ty_lfa1.

-Internal table declaration for TY_LFA1 structure-

DATA: it_lfa1 TYPE TABLE OF ty_lfa1 INITIAL SIZE 0,

wa_lfa1 TYPE ty_lfa1.

-Structure for KNA1-

TYPES: BEGIN OF ty_kna1,

kunnr LIKE kna1-kunnr, " Customer

name1 LIKE kna1-name1, " Name

stceg LIKE kna1-stceg, " VAT reg. no.

pswbt LIKE bseg-pswbt, " G/L Amount

END OF ty_kna1.

-Internal table declaration for TY_KNA1 structure-

DATA: it_kna1 TYPE TABLE OF ty_kna1 INITIAL SIZE 0,

wa_kna1 TYPE ty_kna1.

-Structure for BSEG-

TYPES: BEGIN OF ty_bseg,

pswbt LIKE bseg-pswbt,

lifnr LIKE bseg-lifnr,

kunnr LIKE bseg-kunnr,

bukrs LIKE bseg-bukrs, " Company code

END OF ty_bseg.

-Internal table declaration for TY_BSEG structure-

DATA: it_bseg TYPE STANDARD TABLE OF ty_bseg INITIAL SIZE 0,

wa_bseg TYPE ty_bseg.

-Structure for TY_MAIN-

TYPES: BEGIN OF ty_main,

llifnr LIKE lfa1-lifnr,

lname1 LIKE lfa1-name1,

lstceg LIKE lfa1-stceg,

lpswbt LIKE bseg-pswbt,

kkunnr LIKE kna1-kunnr,

kname1 LIKE kna1-name1,

kstceg LIKE kna1-stceg,

kpswbt LIKE bseg-pswbt,

END OF ty_main.

-Internal table declaration for TY_MAIN structure-

DATA: it_main TYPE TABLE OF ty_main INITIAL SIZE 0,

wa_main TYPE ty_main.

SELECT pswbt lifnr kunnr bukrs

FROM bseg INTO wa_bseg

WHERE bukrs IN bukrs1

OR LIFNR IN LIFNR1

OR KUNNR IN KUNNR1.

APPEND wa_bseg TO it_bseg.

ENDSELECT.

*IF SY-SUBRC = 0.

*LOOP AT IT_BSEG INTO WA_BSEG.

*WRITE:/ WA_BSEG-LIFNR,WA_BSEG-KUNNR,WA_BSEG-PSWBT,WA_BSEG-BUKRS.

*ENDLOOP.

*ELSE.

  • WRITE:/ 'NO RECORDS FOUND'.

*ENDIF.

SELECT lifnr name1 stceg FROM lfa1

INTO wa_lfa1

FOR ALL ENTRIES IN it_bseg

WHERE lifnr = it_bseg-lifnr.

APPEND wa_lfa1 TO it_lfa1.

ENDSELECT.

LOOP AT it_lfa1 INTO wa_lfa1.

READ TABLE it_bseg INTO wa_bseg WITH KEY lifnr = wa_lfa1-lifnr.

IF sy-subrc IS INITIAL.

wa_lfa1-pswbt = wa_bseg-pswbt.

MODIFY it_lfa1 FROM wa_lfa1 TRANSPORTING pswbt.

CLEAR: wa_lfa1 , wa_bseg .

ENDIF.

ENDLOOP.

*IF sy-subrc = 0.

  • LOOP AT it_lfa1 INTO wa_lfa1.

  • WRITE:/ wa_lfa1-lifnr,wa_lfa1-name1,wa_lfa1-stceg,wa_lfa1-pswbt.

  • ENDLOOP.

*ELSE.

  • WRITE:/ 'No records found'.

*ENDIF.

SELECT kunnr name1 stceg FROM kna1

INTO wa_kna1

FOR ALL ENTRIES IN it_bseg

WHERE kunnr = it_bseg-kunnr.

APPEND WA_KNA1 TO IT_KNA1.

ENDSELECT.

LOOP AT IT_KNA1 INTO WA_KNA1.

READ TABLE IT_BSEG INTO WA_BSEG WITH KEY KUNNR = WA_KNA1-KUNNR.

IF SY-SUBRC = 0.

WA_KNA1-PSWBT = WA_BSEG-PSWBT.

MODIFY IT_KNA1 FROM WA_KNA1 TRANSPORTING PSWBT.

CLEAR: WA_KNA1,WA_BSEG.

ENDIF.

ENDLOOP.

*IF sy-subrc = 0.

  • LOOP AT it_KNa1 INTO wa_KNa1.

  • WRITE:/ wa_KNa1-KUNNR,wa_KNa1-name1,wa_KNa1-stceg,wa_KNa1-pswbt.

  • ENDLOOP.

*ELSE.

  • WRITE:/ 'No records found'.

*ENDIF.

-Move data from sub-structure into main structure-

LOOP AT IT_LFA1 INTO WA_LFA1.

READ TABLE IT_KNA1 INTO WA_KNA1 WITH KEY NAME1 = WA_LFA1-NAME1.

IF SY-SUBRC IS INITIAL.

WA_MAIN-LLIFNR = WA_LFA1-LIFNR.

WA_MAIN-LNAME1 = WA_LFA1-NAME1.

WA_MAIN-LSTCEG = WA_LFA1-STCEG.

WA_MAIN-LPSWBT = WA_LFA1-PSWBT.

WA_MAIN-KKUNNR = WA_KNA1-KUNNR.

WA_MAIN-KNAME1 = WA_KNA1-NAME1.

WA_MAIN-KSTCEG = WA_KNA1-STCEG.

WA_MAIN-KPSWBT = WA_KNA1-PSWBT.

APPEND WA_MAIN TO IT_MAIN.

CLEAR: WA_MAIN,WA_LFA1,WA_KNA1.

ENDIF.

ENDLOOP.

IF SY-SUBRC = 0.

LOOP AT IT_MAIN INTO WA_MAIN.

WRITE:/ WA_MAIN-LLIFNR,WA_MAIN-LNAME1,WA_MAIN-LSTCEG,WA_MAIN-LPSWBT,SY-VLINE,

WA_MAIN-KKUNNR,WA_MAIN-KNAME1,WA_MAIN-KSTCEG,WA_MAIN-KPSWBT.

ENDLOOP.

ELSE.

WRITE:/ 'No records found'.

ENDIF.

Thanks,

chandu.

Read only

Former Member
0 Likes
806

.

Hi Sudhir,

It seems you might have problem in populating.

*SELECT lifnr*

*name1*

*stceg*

*FROM lfa1 INTO TABLE t_lfa1*

*WHERE lifnr IN VENDORAc.*

*SELECT kunnr*

*name1*

*stceg*

*FROM kna1 INTO TABLE t_kna1*

*where kunnr IN CUSTAc.*

Only the values which have the same STCEG(VAT No) in both LFA1 & KNA1 should be displayed. But I am getting all the values using my program and also for the KNA1 table the 1st record is repeating no of times. here i am moving the values which are to be displyed in to table t_lfa1.use my program to find wat i have done.

I'm not going to change much..

but little...

select lifnr name1 stceg from lfa1 into table t_lfa1 where lifnr in vendorac.

if sy- subrc <> 0.

error message if required..

endif.

I assume that there is only one record per vendor number i.e lifnr..

if so ..

select kunnr name1 stceg from kna1 into table t_kna1 where

kunnr in custac and stceg eq t_lfa1-stceg.

if sy-subrc <> 0

error message if reqd as scuh..

endif..

As i used AND operand its sure going to check both custac and your stceg from t_lfa1-stceg internal table.. I think thats your requirement right...

else loop it simply..

Once you populated correctly .. evrything will be okay i think..

if yes .. reward me points if its useful & meaningful..

Regards

agp.