cancel
Showing results for 
Search instead for 
Did you mean: 

Zreport for vendor customer details.

Former Member
0 Kudos

Hi ,

I have to create a report tto display a vendor and customer details. on screen i have customer code and vendor code with company code and fiscal year. when i select the cust. code plant and year it will show the doc.no ,post. and doc. date,doc type ,qty and amount as per customer details.

after that as per billing doc. of specific customer ,select excise invoice number and match it with reference number (xblnr) of vendor code. and once it is matched select tht vendor doc.no. post. and doc. date amount and qty and display it in report.so how to right a coding for thesame

let me know as its urgent.

Rgrs

Suchita

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

You would find all the Customer and Vendow document details in the table BSIK, BSAK ( both for vendors ) , BSID, BSAD (both for customers) . Use the select query depending on your selection screen parameters and get the desired output.

Thanks

Nayan

Former Member
0 Kudos

hi,

thanks for given information. but i have already table name with me n written a query accordinlgy. but when i give a input to customer code it gives me the details but when i give the input to the vendor code and comp code its not showing the details of vendor. how to write aquery to give the details simultaniuosly

Thnx

suchita

Former Member
0 Kudos

can u paste ur code here? il tell u what has to be done.

Nayan

Former Member
0 Kudos

please find below coding for your reference.

&----


*& Report ZFI_VEND_CUST_DETAILS

*&

&----


*&

*&

&----


REPORT ZFI_VEND_CUST_DETAILS

NO STANDARD PAGE HEADING

LINE-COUNT 65

MESSAGE-ID 00.

TABLES: BSID,BSIK.

DATA: IT_BSID LIKE BSID OCCURS 0 WITH HEADER LINE.

DATA: IT_BSIK LIKE BSIK OCCURS 0 WITH HEADER LINE.

DATA: IT_J_1IEXCHDR LIKE J_1IEXCHDR OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF IT_OUT OCCURS 0,

BELNR LIKE BSID-BELNR, " added On 17.04.2007

BLDAT LIKE BSID-BLDAT,

BUDAT LIKE BSID-BUDAT,

BLART LIKE BSID-BLART,

NAME LIKE KNA1-NAME1, "Name 1

MATNR LIKE VBRP-MATNR, "Material Number

ARKTX LIKE VBRP-ARKTX, "Material description

FKIMG LIKE VBRP-FKIMG, "Quantity mentioned in the excise invoice

VBELN LIKE BSID-VBELN, "Billing Document

BUKRS LIKE BSID-BUKRS,

  • NAME1 LIKE LFA1-NAME1,

KUNNR LIKE BSID-KUNNR,

WRBTR LIKE BSID-WRBTR,

DMBTR LIKE BSID-DMBTR,

ZUONR LIKE BSID-ZUONR,

  • XBLNR LIKE BSID-XBLNR,

  • MENGE LIKE VBRP-MENGE,

  • LIFNR LIKE BSIK-LIFNR, "VENDOR CODE

EXNUM LIKE J_1IEXCHDR-EXNUM,

BELNR1 LIKE BSIK-BELNR, " added On 17.04.2007

BLDAT1 LIKE BSIK-BLDAT,

BUDAT1 LIKE BSIK-BUDAT,

  • BLART LIKE BSID-BLART,

  • NAME LIKE KNA1-NAME1, "Name 1

  • MATNR LIKE VBRP-MATNR, "Material Number

  • ARKTX LIKE VBRP-ARKTX, "Material description

  • FKIMG1 LIKE VBRP-FKIMG, "Quantity mentioned in the excise invoice

  • VBELN LIKE BSID-VBELN, "Billing Document

  • BUKRS LIKE BSID-BUKRS,

NAME1 LIKE LFA1-NAME1,

  • KUNNR LIKE BSID-KUNNR,

  • WRBTR LIKE BSID-WRBTR,

DMBTR1 LIKE BSIK-DMBTR,

  • ZUONR LIKE BSID-ZUONR,

XBLNR LIKE BSIK-XBLNR,

  • MENGE LIKE VBRP-MENGE,

LIFNR LIKE BSIK-LIFNR,

END OF IT_OUT.

*DATA: IT_OUT1 LIKE IT_OUT OCCURS 0 WITH HEADER LINE.

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

*

*ALV VARIABLES AND INTERNAL TABLES

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

TYPE-POOLS: SLIS.

DATA: IS_LAYOUT TYPE SLIS_LAYOUT_ALV,

IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

IT_LISTHEADER TYPE SLIS_T_LISTHEADER,

IT_EVENTS TYPE SLIS_T_EVENT,

IT_PRINT TYPE SLIS_PRINT_ALV OCCURS 1 WITH HEADER LINE.

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

*

*SELECTION SCREEN DEFINITIONS

*

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

SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS : SO_KUNNR FOR BSID-KUNNR,

SO_LIFNR FOR BSIK-LIFNR,

SO_BLART FOR BSID-BLART.

PARAMETER : P_BUKRS LIKE BSID-BUKRS OBLIGATORY,

P_GJAHR LIKE BSID-GJAHR OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B.

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

*

*START-OF-SELECTION

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

*

START-OF-SELECTION.

PERFORM GET_DATA.

PERFORM DISPLAY_DATA.

&----


*& Form GET_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GET_DATA .

SELECT * FROM BSID

INTO TABLE IT_BSID

WHERE KUNNR IN SO_KUNNR AND

BUKRS = P_BUKRS AND

GJAHR = P_GJAHR.

LOOP AT IT_BSID.

IT_OUT-BELNR = IT_BSID-BELNR.

IT_OUT-BUKRS = IT_BSID-BUKRS.

IT_OUT-KUNNR = IT_BSID-KUNNR.

IT_OUT-ZUONR = IT_BSID-ZUONR.

IT_OUT-DMBTR = IT_BSID-DMBTR.

IT_OUT-VBELN = IT_BSID-VBELN.

IT_OUT-XBLNR = IT_BSID-XBLNR.

IT_OUT-BLART = IT_BSID-BLART.

IT_OUT-BUDAT = IT_BSID-BUDAT.

IT_OUT-BLDAT = IT_BSID-BLDAT.

*

APPEND IT_OUT.

ENDLOOP.

*SELECT * FROM J_1IEXCHDR

*INTO IT_J_1IEXCHDR

*WHERE RDOC = IT_OUT-VBELN.

*

*LOOP AT IT_J_1IEXCHDR.

  • IT_OUT-EXNUM = IT_J_1IEXCHDR-EXNUM.

**ENDLOOP.

*

*SELECT * FROM BSIK

*INTO TABLE IT_BSIK

*WHERE XBLNR = IT_OUT-EXNUM AND

*LIFNR IN SO_LIFNR AND

*BUKRS = P_BUKRS AND

*GJAHR = P_GJAHR.

*

*

*LOOP AT IT_BSIK.

*

*IT_OUT-BELNR1 = IT_BSIK-BELNR.

**IT_OUT-BUKRS = IT_BSIK-BUKRS.

*IT_OUT-LIFNR = IT_BSIK-LIFNR.

**IT_OUT-ZUONR = IT_BSIK-ZUONR.

*IT_OUT-DMBTR1 = IT_BSIK-DMBTR.

*IT_OUT-XBLNR = IT_BSIK-XBLNR.

**IT_OUT-BLART = IT_BSIK-BLART.

*IT_OUT-BUDAT1 = IT_BSIK-BUDAT.

*IT_OUT-BLDAT1 = IT_BSIK-BLDAT.

*

*

*APPEND IT_OUT.

*ENDLOOP.

*ENDLOOP.

*ENDSELECT.

*SORT IT_OUT BY KUNNR.

LOOP AT IT_OUT.

SELECT SINGLE EXNUM FROM J_1IEXCHDR

INTO IT_OUT-EXNUM

WHERE RDOC = IT_OUT-VBELN.

SELECT BELNR LIFNR DMBTR XBLNR BUDAT BLDAT

FROM BSIK INTO (IT_OUT-BELNR1,IT_OUT-LIFNR,IT_OUT-DMBTR1,IT_OUT-XBLNR,IT_OUT-BUDAT1,IT_OUT-BLDAT1)

WHERE XBLNR = IT_OUT-EXNUM.

ENDSELECT.

SELECT SINGLE NAME1 "NAME OF CUSTOMER

FROM KNA1

INTO IT_OUT-NAME

WHERE KUNNR = IT_OUT-KUNNR.

SELECT SINGLE NAME1 "NAME OF VENDOR

FROM LFA1

INTO IT_OUT-NAME1

WHERE LIFNR = IT_OUT-LIFNR.

SELECT MATNR ARKTX FKIMG

FROM VBRP

INTO (IT_OUT-MATNR,IT_OUT-ARKTX,IT_OUT-FKIMG)

WHERE VBELN = IT_OUT-VBELN AND

WERKS = P_BUKRS.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

EXPORTING

input = IT_OUT-MATNR

IMPORTING

OUTPUT = IT_OUT-MATNR.

MODIFY IT_OUT.

CLEAR IT_OUT.

ENDSELECT.

ENDLOOP.

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

endform. " GET_DATA

&----


*& Form DISPLAY_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form DISPLAY_DATA .

PERFORM FILL_LAYOUT_STRUCTURE.

PERFORM ALV_HEADER USING IT_LISTHEADER.

PERFORM FILL_FIELDCAT USING :

'BLDAT' 'DOC Date' 10 'IT_OUT' SPACE SPACE,

'BUDAT' 'Post.Date' 10 'IT_OUT' SPACE SPACE,

'KUNNR' 'Customer Code' 10 'IT_OUT' SPACE SPACE,

'NAME' 'Customer Name' 35 'IT_OUT' SPACE SPACE,

'LIFNR' 'VENDOR CODE' 10 'IT_OUT' SPACE SPACE,

'NAME1' 'VENDOR DESC' 35 'IT_OUT' SPACE SPACE,

'BLART' 'Doc. Type' 2 'IT_OUT' SPACE SPACE,

'VBELN' 'BILLING DOC NO.' 10 'IT_OUT' SPACE SPACE,

'BELNR' 'Account Doc. No.' 10 'IT_OUT' SPACE SPACE,

'DMBTR' 'AMOUNT IN LOCAL' 13 'IT_OUT' SPACE SPACE,

'MATNR' 'Material Code' 10 'IT_OUT' SPACE SPACE,

'ARKTX' 'Material DESC' 35 'IT_OUT' SPACE SPACE,

'FKIMG' 'QTY' 12 'IT_OUT' SPACE SPACE,

'ZUONR' 'ASSIGNNMENT' 18 'IT_OUT' SPACE SPACE,

'EXNUM' 'Excise inv no.' 13 'IT_OUT' SPACE SPACE,

'BELNR1' 'Account Doc. No.' 10 'IT_OUT' SPACE SPACE,

'BLDAT1' 'DOC Date' 10 'IT_OUT' SPACE SPACE,

'BUDAT1' 'Post.Date' 10 'IT_OUT' SPACE SPACE,

'DMBTR1' 'AMOUNT IN LOCAL' 13 'IT_OUT' SPACE SPACE,

'XBLNR' 'REFERENCE DOC' 10 'IT_OUT' SPACE SPACE.

  • PERFORM ALV_EVENTS USING IT_EVENTS.

  • PERFORM ALV_PRINT.

PERFORM ALV_DISPLAY.

endform. " DISPLAY_DATA

&----


*& Form FILL_LAYOUT_STRUCTURE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form FILL_LAYOUT_STRUCTURE .

DATA: WA_EVENT TYPE SLIS_ALV_EVENT,

WA_LISTHEADER TYPE SLIS_T_LISTHEADER.

CLEAR IS_LAYOUT.

IS_LAYOUT-ZEBRA = 'X'.

  • is_layout-F2CODE = '&ETA'.

  • is_layout-detail_popup = 'X'.

IS_LAYOUT-INFO_FIELDNAME = 'COL_LINE'.

endform. " FILL_LAYOUT_STRUCTURE

&----


*& Form FILL_FIELDCAT

&----


  • text

----


  • -->P_0606 text

  • -->P_0607 text

  • -->P_10 text

  • -->P_0609 text

  • -->P_SPACE text

  • -->P_SPACE text

----


form FILL_FIELDCAT using F D O T TO P.

DATA WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

STATICS POS LIKE SY-INDEX VALUE 1.

POS = POS + 1.

CLEAR WA_FIELDCAT.

MOVE : 1 TO WA_FIELDCAT-ROW_POS,

POS TO WA_FIELDCAT-COL_POS,

F TO WA_FIELDCAT-FIELDNAME,

D TO WA_FIELDCAT-SELTEXT_L,

O TO WA_FIELDCAT-OUTPUTLEN,

T TO WA_FIELDCAT-TABNAME,

TO TO WA_FIELDCAT-DO_SUM,

P TO WA_FIELDCAT-FIX_COLUMN.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

endform. " FILL_FIELDCAT

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

FORM ALV_EVENTS USING EVENTS TYPE SLIS_T_EVENT.

DATA : WA_EVENTS TYPE SLIS_ALV_EVENT.

CLEAR WA_EVENTS.

WA_EVENTS-NAME = 'TOP_OF_PAGE'(001).

WA_EVENTS-FORM = 'TOP_OF_PAGE'.

APPEND WA_EVENTS TO IT_EVENTS.

ENDFORM. "alv_events

&----


*& Form ALV_DISPLAY

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form ALV_DISPLAY .

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 = 'CALL_TCODE'

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 = IS_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT = i_sort[]

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = 'A'

  • IS_VARIANT =

IT_EVENTS = IT_EVENTS

  • IT_EVENT_EXIT =

IS_PRINT = IT_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 = IT_OUT

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. " ALV_DISPLAY

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

*

*FORM FOR TOP OF PAGE

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

FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER.

ENDFORM. "top_of_page

&----


*& Form alv_header

&----


FORM alv_header USING P_IT_LISTHEADER.

data : wa_listheader type slis_listheader.

data : v_date1(10).

data : v_date2(10).

data : v_kunnr1 LIKE bsid-kunnr.

data : v_kunnr2 LIKE bsid-kunnr.

data : v_name1 like t001w-name1.

clear wa_listheader.

wa_listheader-typ = 'H'.

move 'DETAILED CUSTOMER VENDOR DETAILS'

to wa_listheader-info.

append wa_listheader to it_listheader.

----


  • select single name1

  • from t001w

  • into v_name1

  • where werks = p_bukrs.

*

  • clear wa_listheader.

  • wa_listheader-typ = 'S'.

  • wa_listheader-key = 'Plant'.

  • move v_name1

  • to wa_listheader-info.

  • append wa_listheader to it_listheader.

  • write so_budat-low to v_date1 dd/mm/yyyy no-gap.

  • write so_budat-high to v_date2 dd/mm/yyyy no-gap.

*

  • if so_budat-low is not initial and so_budat-high is not initial.

*

  • clear wa_listheader.

  • wa_listheader-typ = 'S'.

  • wa_listheader-key = 'Date '.

  • concatenate v_date1 ' To ' v_date2 into

  • wa_listheader-info separated by space.

  • wa_listheader-info = wa_listheader-info.

  • append wa_listheader to it_listheader.

*

  • elseif so_budat-low is initial and so_budat-high is initial.

*

  • clear wa_listheader.

  • wa_listheader-typ = 'S'.

  • wa_listheader-key = 'Date '.

  • wa_listheader-info = '*'.

  • append wa_listheader to it_listheader.

*

  • elseif so_budat-high is initial.

*

  • clear wa_listheader.

  • wa_listheader-typ = 'S'.

  • wa_listheader-key = 'Date '.

  • wa_listheader-info = v_date1.

  • append wa_listheader to it_listheader.

*

  • endif.

*

*----


  • v_kunnr1 = so_kunnr-low.

  • v_kunnr2 = so_kunnr-high.

*

  • if so_kunnr-low is not initial and so_kunnr-high is not initial.

*

  • clear wa_listheader.

  • wa_listheader-typ = 'S'.

  • wa_listheader-key = 'Customer '.

  • concatenate v_kunnr1 ' To ' v_kunnr2 into

  • wa_listheader-info separated by space.

  • wa_listheader-info = wa_listheader-info.

  • append wa_listheader to it_listheader.

*

  • elseif so_kunnr-low is initial and so_kunnr-high is initial.

*

  • clear wa_listheader.

  • wa_listheader-typ = 'S'.

  • wa_listheader-key = 'Customer '.

  • wa_listheader-info = '*'.

  • append wa_listheader to it_listheader.

*

  • elseif so_kunnr-high is initial.

*

  • clear wa_listheader.

  • wa_listheader-typ = 'S'.

  • wa_listheader-key = 'Customer '.

  • wa_listheader-info = v_kunnr1.

  • append wa_listheader to it_listheader.

*

  • endif.

*

ENDFORM. " alv_header.

waiting for ur reply.

Thanx

Suchita