Skip to Content
0
Former Member
Sep 17, 2007 at 04:11 AM

My loop is not working

26 Views

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.