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.