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

My loop is not working

Former Member
0 Likes
838

Hi Guru's,

This is my program . There is no syntax error but while debugging this below loop it is not working

( LOOP AT i_vbrk WHERE vbeln = i_vbak-vbeln. ), Please correct my program if anything is wrong or suggest me what do to.

REPORT zsdr_omvsa40.

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

  • TYPE-POOLS

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

TYPE-POOLS: slis.

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

  • TABLE DECLARATIONS

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

TABLES : vbak, vbkd, zzvbak, kna1, vbrk, vbrp, knvp .

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

  • INTERNALTABLE DECLARATION *

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

DATA: BEGIN OF i_vbak OCCURS 0,

vbeln LIKE vbak-vbeln, " Sales Order no

erdat LIKE vbak-erdat, " Date on Which Record Was Created

kunnr LIKE vbak-kunnr,

ps_psp_pnr LIKE vbak-ps_psp_pnr, " Work Breakdown Structure Element

END OF i_vbak.

DATA : BEGIN OF i_zzvbak OCCURS 0,

vbeln LIKE zzvbak-vbeln,

zssidc LIKE zzvbak-zssidc, "Salesman ID

END OF i_zzvbak.

DATA : BEGIN OF i_vbrk OCCURS 0,

vbeln LIKE vbrk-vbeln,

fkdat LIKE vbrk-fkdat, "Invoice Date

END OF i_vbrk.

DATA : BEGIN OF i_kna1 OCCURS 0,

pstlz LIKE kna1-pstlz , " Postal Code

kunnr LIKE kna1-kunnr , " Customer Number 1

name1 LIKE kna1-name1, " Customer Name

END OF i_kna1.

DATA : BEGIN OF i_vbrp OCCURS 0,

vbeln LIKE vbrp-vbeln,

aubel LIKE vbrp-aubel,

netwr LIKE vbrp-netwr , " Net Value in Document Currency

kzwi1 LIKE vbrp-kzwi1, " Subtotal 1 from pricing procedure for condition

  • erdat LIKE vbrp-erdat, "Billing document.

END OF i_vbrp.

DATA : BEGIN OF i_knvp OCCURS 0,

parvw LIKE knvp-parvw , " Partner Function

kunnr LIKE knvp-kunnr ,

parnr LIKE knvp-parnr , " Number of contact person

END OF i_knvp .

DATA : BEGIN OF i_data OCCURS 0,

erdat LIKE vbak-erdat, " Date on Which Record Was Created

vbeln LIKE vbak-vbeln, " Sales Order no

fkdat LIKE vbrk-fkdat, " Invoice date.

kunnr LIKE kna1-kunnr , " Customer Number 1

ps_psp_pnr LIKE vbak-ps_psp_pnr, " Work Breakdown Structure Element

name1 LIKE kna1-name1, " Customer Name

netwr LIKE vbrp-netwr , " Net Value in Document Currency

kzwi1 LIKE vbrp-kzwi1, " Subtotal 1 from pricing procedure for condition

  • parvw LIKE knvp-parvw , " Partner Function

parnr LIKE knvp-parnr , " Number of contact person

zssidc LIKE zzvbak-zssidc, "Salesman ID

pstlz LIKE kna1-pstlz , " Postal Code

END OF i_data.

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

  • ALV Declaraton

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

DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,

gd_tab_group TYPE slis_t_sp_group_alv,

gd_layout TYPE slis_layout_alv,

it_listheader TYPE slis_t_listheader,

gd_repid LIKE sy-repid.

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

  • Selection - Screen

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

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

SELECT-OPTIONS creation FOR vbak-erdat . " Sales Order Date

SELECT-OPTIONS period FOR vbrk-fkdat . " Invoice Date

SELECT-OPTIONS order FOR vbak-vbeln . " Sales order no

SELECT-OPTIONS name FOR kna1-name1 . " Customer Name

SELECT-OPTIONS contact FOR knvp-parnr . " Contact Name.

SELECT-OPTIONS ssid FOR zzvbak-zssidc . " Salesman ID

SELECT-OPTIONS project FOR vbak-ps_psp_pnr . " Work Breakdown Structure Element

SELECTION-SCREEN : END OF BLOCK b1.

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

  • START-OF-SELECTION

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

START-OF-SELECTION.

PERFORM data_retrieval.

PERFORM build_fieldcatalog.

  • PERFORM BUILD_LAYOUT.

  • PERFORM top_of_page.

PERFORM fill_listheader USING it_listheader.

PERFORM display_alv_report.

END-OF-SELECTION.

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

*TOP-OF-PAGE.

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

TOP-OF-PAGE.

END-OF-PAGE.

&----


*& Form BUILD_FIELDCATALOG

&----


  • text

----


FORM build_fieldcatalog.

fieldcatalog-fieldname = 'KUNNR'.

fieldcatalog-seltext_m = 'Sold to Party'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 10.

fieldcatalog-emphasize = 'X'.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'NAME1'.

fieldcatalog-seltext_m = 'Hlev Customer'.

fieldcatalog-col_pos = 1.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'PARNR'.

fieldcatalog-seltext_m = 'Contact name'.

fieldcatalog-col_pos = 2.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'PS_PSP_PNR'.

fieldcatalog-seltext_m = 'Project ID'.

fieldcatalog-col_pos = 3.

fieldcatalog-do_sum = 'X'.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'VBELN'.

fieldcatalog-seltext_m = 'Sales Document Type'.

fieldcatalog-col_pos = 4.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'ZSSIDC'.

fieldcatalog-seltext_m = 'SSID'.

fieldcatalog-col_pos = 5.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'ERDAT'.

fieldcatalog-seltext_m = 'so date'.

fieldcatalog-col_pos = 6.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'FKDAT'.

fieldcatalog-seltext_m = 'inv date'.

fieldcatalog-col_pos = 7.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'KWZI1'.

fieldcatalog-seltext_m = 'gross amt'.

fieldcatalog-col_pos = 8.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'NETWR'.

fieldcatalog-seltext_m = 'net amt'.

fieldcatalog-col_pos = 9.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'PSTLZ'.

fieldcatalog-seltext_m = 'Postal code'.

fieldcatalog-col_pos = 10.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

ENDFORM. "BUILD_FIELDCATALOG

&----


*& Form DATA_RETRIEVAL

&----


  • text

----


FORM data_retrieval.

SELECT vbeln erdat kunnr ps_psp_pnr INTO CORRESPONDING FIELDS OF TABLE i_vbak

FROM vbak WHERE erdat IN creation AND vbeln IN ORDER AND

ps_psp_pnr IN project.

IF NOT i_vbak[] IS INITIAL.

SELECT vbeln aubel netwr kzwi1 FROM vbrp INTO TABLE i_vbrp

FOR ALL ENTRIES IN i_vbak

WHERE aubel = i_vbak-vbeln.

SELECT vbeln fkdat FROM vbrk INTO TABLE i_vbrk FOR ALL ENTRIES IN i_vbrp

WHERE vbeln = i_vbrp-vbeln

AND fkdat IN period.

SELECT pstlz name1 kunnr FROM kna1 INTO TABLE i_kna1 FOR ALL ENTRIES IN i_vbak

WHERE kunnr = i_vbak-kunnr

AND name1 IN name.

SELECT vbeln zssidc FROM zzvbak INTO TABLE i_zzvbak FOR ALL ENTRIES IN i_vbak

WHERE vbeln = i_vbak-vbeln

AND zssidc IN ssid .

  • select netwr kzwi1 erdat from vbrp into table i_vbrp for all entries in i_vbak

  • where erdat = i_vbak-erdat.

SELECT kunnr parnr parvw FROM knvp INTO CORRESPONDING FIELDS OF TABLE i_knvp FOR ALL ENTRIES IN i_vbak

WHERE kunnr = i_vbak-kunnr

AND parvw = 'AP'

AND parnr IN contact.

ENDIF .

LOOP AT i_vbak.

LOOP AT i_vbrk WHERE vbeln = i_vbak-vbeln. " ( From this loop it'snot working)

LOOP AT i_kna1 WHERE kunnr = i_vbak-kunnr.

LOOP AT i_zzvbak WHERE vbeln = i_vbak-vbeln.

LOOP AT i_vbrp WHERE aubel = i_vbak-vbeln.

LOOP AT i_knvp ." where kunnr = i_vbak-kunnr.

CLEAR i_data.

MOVE i_kna1-kunnr TO i_data-kunnr.

MOVE i_kna1-name1 TO i_data-name1.

IF i_vbak-kunnr = i_knvp-kunnr .

MOVE i_knvp-parnr TO i_data-parnr.

ENDIF.

MOVE i_vbak-ps_psp_pnr TO i_data-ps_psp_pnr.

MOVE i_vbak-vbeln TO i_data-vbeln .

MOVE i_zzvbak-zssidc TO i_data-zssidc.

MOVE i_vbak-erdat TO i_data-erdat.

MOVE i_vbrk-fkdat TO i_data-fkdat.

MOVE i_vbrp-netwr TO i_data-netwr .

MOVE i_vbrp-kzwi1 TO i_data-kzwi1.

MOVE i_kna1-pstlz TO i_data-pstlz .

APPEND i_data.

ENDLOOP.

ENDLOOP.

ENDLOOP.

ENDLOOP.

ENDLOOP.

ENDLOOP.

DELETE ADJACENT DUPLICATES FROM i_data.

*refresh : i_data.

*free : i_data.

*LOOP AT i_data.

ENDFORM. "DATA_RETRIEVAL

&----


*& Form DISPLAY_ALV_REPORT

&----


  • text

----


FORM display_alv_report.

  • GD_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = sy-repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

i_callback_top_of_page = 'TOP_OF_PAGE'

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

it_fieldcat = fieldcatalog[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_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

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = i_data.

  • 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. "DISPLAY_ALV_REPORT

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

  • FORM FOR FILLING LISTHEADER *

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

FORM fill_listheader USING it_listheader TYPE slis_t_listheader.

DATA : wa_listheader TYPE slis_listheader.

wa_listheader-typ = 'H'.

wa_listheader-info = 'Noel Gifts International Limited '.

APPEND wa_listheader TO it_listheader.

wa_listheader-typ = 'S'.

wa_listheader-info = 'CUSTOMER CREDIT EXCEPTION REPORT' .

APPEND wa_listheader TO it_listheader.

CLEAR wa_listheader.

ENDFORM. "fill_listheader

&----


*& Form top_of_page

&----


  • text

----


FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = it_listheader.

.

ENDFORM. "top_of_page

Thanks and regards,

R.Vinod.

1 ACCEPTED SOLUTION
Read only

former_member189059
Active Contributor
0 Likes
812

in the statement LOOP AT i_vbrk WHERE vbeln = i_vbak-vbeln.

i_vbak refers to a structure / header line by the name i_vbak and not your internal table

since that is blank, the loop will fail

Hi Guru's,

This is my program . There is no syntax error but while debugging this below loop it is not working

( LOOP AT i_vbrk WHERE vbeln = i_vbak-vbeln. ), Please correct my program if anything is wrong or suggest me what do to.

REPORT zsdr_omvsa40.

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

  • TYPE-POOLS

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

TYPE-POOLS: slis.

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

  • TABLE DECLARATIONS

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

TABLES : vbak, vbkd, zzvbak, kna1, vbrk, vbrp, knvp .

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

  • INTERNALTABLE DECLARATION *

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

DATA: BEGIN OF i_vbak OCCURS 0,

vbeln LIKE vbak-vbeln, " Sales Order no

erdat LIKE vbak-erdat, " Date on Which Record Was Created

kunnr LIKE vbak-kunnr,

ps_psp_pnr LIKE vbak-ps_psp_pnr, " Work Breakdown Structure Element

END OF i_vbak.

DATA : BEGIN OF i_zzvbak OCCURS 0,

vbeln LIKE zzvbak-vbeln,

zssidc LIKE zzvbak-zssidc, "Salesman ID

END OF i_zzvbak.

DATA : BEGIN OF i_vbrk OCCURS 0,

vbeln LIKE vbrk-vbeln,

fkdat LIKE vbrk-fkdat, "Invoice Date

END OF i_vbrk.

DATA : BEGIN OF i_kna1 OCCURS 0,

pstlz LIKE kna1-pstlz , " Postal Code

kunnr LIKE kna1-kunnr , " Customer Number 1

name1 LIKE kna1-name1, " Customer Name

END OF i_kna1.

DATA : BEGIN OF i_vbrp OCCURS 0,

vbeln LIKE vbrp-vbeln,

aubel LIKE vbrp-aubel,

netwr LIKE vbrp-netwr , " Net Value in Document Currency

kzwi1 LIKE vbrp-kzwi1, " Subtotal 1 from pricing procedure for condition

  • erdat LIKE vbrp-erdat, "Billing document.

END OF i_vbrp.

DATA : BEGIN OF i_knvp OCCURS 0,

parvw LIKE knvp-parvw , " Partner Function

kunnr LIKE knvp-kunnr ,

parnr LIKE knvp-parnr , " Number of contact person

END OF i_knvp .

DATA : BEGIN OF i_data OCCURS 0,

erdat LIKE vbak-erdat, " Date on Which Record Was Created

vbeln LIKE vbak-vbeln, " Sales Order no

fkdat LIKE vbrk-fkdat, " Invoice date.

kunnr LIKE kna1-kunnr , " Customer Number 1

ps_psp_pnr LIKE vbak-ps_psp_pnr, " Work Breakdown Structure Element

name1 LIKE kna1-name1, " Customer Name

netwr LIKE vbrp-netwr , " Net Value in Document Currency

kzwi1 LIKE vbrp-kzwi1, " Subtotal 1 from pricing procedure for condition

  • parvw LIKE knvp-parvw , " Partner Function

parnr LIKE knvp-parnr , " Number of contact person

zssidc LIKE zzvbak-zssidc, "Salesman ID

pstlz LIKE kna1-pstlz , " Postal Code

END OF i_data.

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

  • ALV Declaraton

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

DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,

gd_tab_group TYPE slis_t_sp_group_alv,

gd_layout TYPE slis_layout_alv,

it_listheader TYPE slis_t_listheader,

gd_repid LIKE sy-repid.

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

  • Selection - Screen

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

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

SELECT-OPTIONS creation FOR vbak-erdat . " Sales Order Date

SELECT-OPTIONS period FOR vbrk-fkdat . " Invoice Date

SELECT-OPTIONS order FOR vbak-vbeln . " Sales order no

SELECT-OPTIONS name FOR kna1-name1 . " Customer Name

SELECT-OPTIONS contact FOR knvp-parnr . " Contact Name.

SELECT-OPTIONS ssid FOR zzvbak-zssidc . " Salesman ID

SELECT-OPTIONS project FOR vbak-ps_psp_pnr . " Work Breakdown Structure Element

SELECTION-SCREEN : END OF BLOCK b1.

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

  • START-OF-SELECTION

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

START-OF-SELECTION.

PERFORM data_retrieval.

PERFORM build_fieldcatalog.

  • PERFORM BUILD_LAYOUT.

  • PERFORM top_of_page.

PERFORM fill_listheader USING it_listheader.

PERFORM display_alv_report.

END-OF-SELECTION.

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

*TOP-OF-PAGE.

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

TOP-OF-PAGE.

END-OF-PAGE.

&----


*& Form BUILD_FIELDCATALOG

&----


  • text

----


FORM build_fieldcatalog.

fieldcatalog-fieldname = 'KUNNR'.

fieldcatalog-seltext_m = 'Sold to Party'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 10.

fieldcatalog-emphasize = 'X'.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'NAME1'.

fieldcatalog-seltext_m = 'Hlev Customer'.

fieldcatalog-col_pos = 1.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'PARNR'.

fieldcatalog-seltext_m = 'Contact name'.

fieldcatalog-col_pos = 2.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'PS_PSP_PNR'.

fieldcatalog-seltext_m = 'Project ID'.

fieldcatalog-col_pos = 3.

fieldcatalog-do_sum = 'X'.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'VBELN'.

fieldcatalog-seltext_m = 'Sales Document Type'.

fieldcatalog-col_pos = 4.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'ZSSIDC'.

fieldcatalog-seltext_m = 'SSID'.

fieldcatalog-col_pos = 5.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'ERDAT'.

fieldcatalog-seltext_m = 'so date'.

fieldcatalog-col_pos = 6.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'FKDAT'.

fieldcatalog-seltext_m = 'inv date'.

fieldcatalog-col_pos = 7.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'KWZI1'.

fieldcatalog-seltext_m = 'gross amt'.

fieldcatalog-col_pos = 8.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'NETWR'.

fieldcatalog-seltext_m = 'net amt'.

fieldcatalog-col_pos = 9.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

fieldcatalog-fieldname = 'PSTLZ'.

fieldcatalog-seltext_m = 'Postal code'.

fieldcatalog-col_pos = 10.

APPEND fieldcatalog TO fieldcatalog.

CLEAR fieldcatalog.

ENDFORM. "BUILD_FIELDCATALOG

&----


*& Form DATA_RETRIEVAL

&----


  • text

----


FORM data_retrieval.

SELECT vbeln erdat kunnr ps_psp_pnr INTO CORRESPONDING FIELDS OF TABLE i_vbak

FROM vbak WHERE erdat IN creation AND vbeln IN ORDER AND

ps_psp_pnr IN project.

IF NOT i_vbak[] IS INITIAL.

SELECT vbeln aubel netwr kzwi1 FROM vbrp INTO TABLE i_vbrp

FOR ALL ENTRIES IN i_vbak

WHERE aubel = i_vbak-vbeln.

SELECT vbeln fkdat FROM vbrk INTO TABLE i_vbrk FOR ALL ENTRIES IN i_vbrp

WHERE vbeln = i_vbrp-vbeln

AND fkdat IN period.

SELECT pstlz name1 kunnr FROM kna1 INTO TABLE i_kna1 FOR ALL ENTRIES IN i_vbak

WHERE kunnr = i_vbak-kunnr

AND name1 IN name.

SELECT vbeln zssidc FROM zzvbak INTO TABLE i_zzvbak FOR ALL ENTRIES IN i_vbak

WHERE vbeln = i_vbak-vbeln

AND zssidc IN ssid .

  • select netwr kzwi1 erdat from vbrp into table i_vbrp for all entries in i_vbak

  • where erdat = i_vbak-erdat.

SELECT kunnr parnr parvw FROM knvp INTO CORRESPONDING FIELDS OF TABLE i_knvp FOR ALL ENTRIES IN i_vbak

WHERE kunnr = i_vbak-kunnr

AND parvw = 'AP'

AND parnr IN contact.

ENDIF .

LOOP AT i_vbak.

LOOP AT i_vbrk WHERE vbeln = i_vbak-vbeln. " ( From this loop it'snot working)

LOOP AT i_kna1 WHERE kunnr = i_vbak-kunnr.

LOOP AT i_zzvbak WHERE vbeln = i_vbak-vbeln.

LOOP AT i_vbrp WHERE aubel = i_vbak-vbeln.

LOOP AT i_knvp ." where kunnr = i_vbak-kunnr.

CLEAR i_data.

MOVE i_kna1-kunnr TO i_data-kunnr.

MOVE i_kna1-name1 TO i_data-name1.

IF i_vbak-kunnr = i_knvp-kunnr .

MOVE i_knvp-parnr TO i_data-parnr.

ENDIF.

MOVE i_vbak-ps_psp_pnr TO i_data-ps_psp_pnr.

MOVE i_vbak-vbeln TO i_data-vbeln .

MOVE i_zzvbak-zssidc TO i_data-zssidc.

MOVE i_vbak-erdat TO i_data-erdat.

MOVE i_vbrk-fkdat TO i_data-fkdat.

MOVE i_vbrp-netwr TO i_data-netwr .

MOVE i_vbrp-kzwi1 TO i_data-kzwi1.

MOVE i_kna1-pstlz TO i_data-pstlz .

APPEND i_data.

ENDLOOP.

ENDLOOP.

ENDLOOP.

ENDLOOP.

ENDLOOP.

ENDLOOP.

DELETE ADJACENT DUPLICATES FROM i_data.

*refresh : i_data.

*free : i_data.

*LOOP AT i_data.

ENDFORM. "DATA_RETRIEVAL

&----


*& Form DISPLAY_ALV_REPORT

&----


  • text

----


FORM display_alv_report.

  • GD_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = sy-repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

i_callback_top_of_page = 'TOP_OF_PAGE'

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

it_fieldcat = fieldcatalog[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_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

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = i_data.

  • 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. "DISPLAY_ALV_REPORT

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

  • FORM FOR FILLING LISTHEADER *

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

FORM fill_listheader USING it_listheader TYPE slis_t_listheader.

DATA : wa_listheader TYPE slis_listheader.

wa_listheader-typ = 'H'.

wa_listheader-info = 'Noel Gifts International Limited '.

APPEND wa_listheader TO it_listheader.

wa_listheader-typ = 'S'.

wa_listheader-info = 'CUSTOMER CREDIT EXCEPTION REPORT' .

APPEND wa_listheader TO it_listheader.

CLEAR wa_listheader.

ENDFORM. "fill_listheader

&----


*& Form top_of_page

&----


  • text

----


FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = it_listheader.

.

ENDFORM. "top_of_page

Thanks and regards,

R.Vinod.

5 REPLIES 5
Read only

former_member189059
Active Contributor
0 Likes
813

in the statement LOOP AT i_vbrk WHERE vbeln = i_vbak-vbeln.

i_vbak refers to a structure / header line by the name i_vbak and not your internal table

since that is blank, the loop will fail

Read only

varma_narayana
Active Contributor
0 Likes
812

hI vinoth.

there are lot of Statements that must be changed in ur Report.

1. The order of the SELECTs need to change

2. Dont use INTO CORRESPONDING FIELDS it will be very slow.

3. Dont use So many LOOPS as Nested LOOPS will affect the Performance badly. So use the Read Table Statement with BINARY SEARCH instead of LOOP.

Try these changes it will surely work for u..

<b>reward if Helpful.</b>

Read only

Former Member
0 Likes
812

Hi,

--> NOT i_vbak[] IS INITIAL, you have to check for these as well before select

1.NOT i_vbrp IS INITIAL, NOT i_knvp IS INITIAL.....

2.Before processing... sort all the tables by vbeln kunnr.....

3.Chek all the records are in have preceding zeros or not

Read only

Former Member
0 Likes
812

sorry i sdint go through your entire code but it seems to me may be some conversion problem i.e. with leading zeroes. just check that...

you may have to use

fm after first loop at

LOOP AT i_vbak.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = i_vbak-vbeln

IMPORTING

OUTPUT = i_vbak-vbeln

.

LOOP AT i_vbrk WHERE vbeln = i_vbak-vbeln.

it will give a leading zero.

if you want to delete the leading zeroes from i_vbak-vbeln then use

LOOP AT i_vbak.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

EXPORTING

INPUT = i_vbak-vbeln

IMPORTING

OUTPUT = i_vbak-vbeln

.

LOOP AT i_vbrk WHERE vbeln = i_vbak-vbeln.

just check in debugging mode what conversion you need

regards

shiba dutta

Read only

varma_narayana
Active Contributor
0 Likes
812

Hi Vinoth..

Have seen the Suggestions in my Previous post?

And one more thing:

The Reason why tho LOOP is Failing in ur code.

VBAK-VBELN - Sales DOC No. (i.e Sales Order No)

VBRK-VBELN - Billing Doc No (i.e Invoice No)

So we should not compare these two fields.

Rather you have to Compare VBRP-VBELV to get the Sales order no.

OR else CHECK the Table VBFA for Sales doc flow.

reward if Helpful.