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

REPORT

Former Member
0 Likes
368

Hi

this is a report to display G/L Accounts with material doc No .

I am getting confused in looping

please solve the report.

REPORT ZGLACCOUNT_REP

NO STANDARD PAGE HEADING

LINE-SIZE 250

LINE-COUNT 30(3) .

**********DECLARING TABLES**********

TABLES: BSIS,

BSIM.

*******DATA DECLARATION*******

TYPES : BEGIN OF TY_BSIS,

BUKRS TYPE BSIS-BUKRS, "COMPANY CODE

HKONT TYPE BSIS-HKONT, "GENERAL LEDGER ACCOUNT

GJAHR TYPE BSIS-GJAHR, "FISCAL YEAR

BELNR TYPE BSIS-BELNR, "ACCOUNTING DOCUMENT NO

BUDAT TYPE BSIS-BUDAT, "POSTING DATE IN THEDOCUMENT

BLART TYPE BSIS-BLART, "DOCUMENT TYPE

SHKZG TYPE BSIS-SHKZG, "DEBIT/CREDIT INDICATOR

DMBTR TYPE BSIS-DMBTR, "AMOUNT IN LOCAL CURRENCY

KOSTL TYPE BSIS-KOSTL, "COST CENTER

END OF TY_BSIS,

BEGIN OF TY_BSIM,

MATNR TYPE BSIM-MATNR,

BELNR TYPE BSIM-BELNR,

GJAHR TYPE BSIM-GJAHR,

MENGE TYPE BSIM-MENGE,

END OF TY_BSIM,

BEGIN OF TY_FINAL,

BUKRS TYPE BSIS-BUKRS,

HKONT TYPE BSIS-HKONT,

GJAHR TYPE BSIS-GJAHR,

BELNR TYPE BSIM-BELNR,

BUDAT TYPE BSIS-BUDAT,

BLART TYPE BSIS-BLART,

SHKZG TYPE BSIS-SHKZG,

DMBTR TYPE BSIS-DMBTR,

KOSTL TYPE BSIS-KOSTL,

MATNR TYPE BSIM-MATNR,

MENGE TYPE BSIM-MENGE,

END OF TY_FINAL.

DATA: W_BSIS TYPE TY_BSIS,

W_BSIM TYPE TY_BSIM,

W_FINAL TYPE TY_FINAL,

IT_BSIS TYPE TY_BSIS OCCURS 1,

IT_BSIM TYPE TY_BSIM OCCURS 1,

IT_FINAL TYPE TY_FINAL OCCURS 1 .

**********SELECT OPTIONS**********

SELECT-OPTIONS: S_ACCNT FOR BSIS-HKONT,

S_CODE FOR BSIS-BUKRS,

S_FYEAR FOR BSIS-GJAHR,

S_DCTYPE FOR BSIS-BLART,

S_PSDT FOR BSIS-BUDAT.

***********AT SELECTION SCREEN*********

AT SELECTION-SCREEN.

IF S_ACCNT IS NOT INITIAL.

SELECT SINGLE HKONT

FROM BSIS

INTO BSIS-HKONT

WHERE BELNR = BSIM-BELNR.

ENDIF.

IF sy-subrc <> 0 .

MESSAGE E001(ZLAL_MSG).

ENDIF.

IF S_CODE IS NOT initial.

SELECT SINGLE BUKRS

FROM BSIS

INTO BSIS-BUKRS

WHERE BUKRS IN S_CODE.

ENDIF.

IF sy-subrc <> 0 .

MESSAGE E001(ZLAL_MSG).

ENDIF.

IF S_FYEAR IS NOT INITIAL.

SELECT SINGLE GJAHR

FROM BSIS

INTO bsis-gjahr

WHERE GJAHR IN S_FYEAR.

ENDIF.

IF SY-SUBRC <> 0 .

MESSAGE E001(ZLAL_MSG).

ENDIF .

**********TOP-OF-PAGE********

TOP-OF-PAGE.

ULINE.

WRITE: /5 'A/C DOCUMENT NO',

26 'POSTING DATE',

43 'DOCUMENT DATE',

61 'DOCUMENT TYPE',

80 'AMOUNT',

93 'QUANTITY',

107 'MATERIAL NO',

123 'MATERIAL DESCRIPTION',

148 'DEBIT/CREDIT NO',

168 'COST CENTER' .

ULINE.

**********END OF PAGE*********

END-OF-PAGE .

ULINE.

***********DATA EXTRACATION********

START-OF-SELECTION .

SELECT * FROM BSIS INTO CORRESPONDING FIELDS OF TABLE IT_BSIS WHERE

HKONT IN S_ACCNT AND

BUKRS IN S_CODE AND

GJAHR IN S_FYEAR AND

BLART IN S_DCTYPE AND

BUDAT IN S_PSDT.

IF it_bsis[] IS NOT INITIAL.

SELECT * FROM BSIM INTO CORRESPONDING FIELDS OF TABLE IT_BSIM FOR ALL ENTRIES IN IT_BSIS

WHERE BELNR = IT_bsis-BELNR.

ENDIF.

*LOOP AT IT_BSIS INTO W_BSIS .

*SELECT BUKRS

  • HKONT

  • GJAHR

  • BUDAT

  • BLART

  • SHKZG

  • DMBTR

  • KOSTL

  • FROM BSIS INTO W_BSIS

  • WHERE BELNR = W_BSIM-BELNR.

*LOOP AT IT_BSIM ITNO W_BSIM .

*SELECT MATNR

  • BELNR

  • GJAHR

  • MENGE

  • INTO W_BSIS

  • WHERE BELNR = W_BSIS-BELNR.

  • MOVE CORRESPONDING W_BSIS INTO IT_FINAl.

  • move-corresponding w_bsim into it_final .

*append w_final to It_final .

*clear w_final .

*endloop.

*endloop .

*

1 REPLY 1
Read only

Former Member
0 Likes
291

Please see:

<a href="/people/rob.burbank/blog/2007/11/12/quickly-retrieving-fi-document-data-from-bseg">Quickly Retrieving FI document Data from BSEG</a>

I have section there that deals with material documents.

Rob