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

fico report

Former Member
0 Likes
610

hi every body,

i have a fico report.

i have to get the output same as the transaction FS10N.

the problem is debit and credit is not tallying.

dosome body have this fico report?

can anybody assist me where i can find the fico reports.

thanks.

raju.

hi every body,

i have a fico report.

i have to get the output same as the transaction FS10N.

the problem is debit and credit is not tallying.

dosome body have this fico report?

can anybody assist me where i can find the fico reports.

thanks.

raju.

2 REPLIES 2
Read only

Former Member
0 Likes
534

Hi,

Pls refer the report for Vendor Performance report.

REPORT YMS_VENDORPERFORMANCE.

TABLES : BSIK, BAPIFVDEXP_VZZBEPP.

DATA : T_BSIK LIKE BSIK OCCURS 0 WITH HEADER LINE,

T_BSAK LIKE BSAK OCCURS 0 WITH HEADER LINE,

DAYS LIKE BAPIFVDEXP_VZZBEPP-NUM4.

DATA : BEGIN OF T_LFA1 OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

ADRNR LIKE LFA1-ADRNR,

END OF T_LFA1.

DATA : BEGIN OF T_ADRC OCCURS 0,

ADRNR LIKE LFA1-ADRNR,

STREET LIKE ADRC-STREET,

CITY1 LIKE ADRC-CITY1,

END OF T_ADRC.

DATA : BEGIN OF T_BSEG OCCURS 0,

ZFBDT LIKE BSEG-ZFBDT,

KOART LIKE BSEG-KOART,

KOSTL LIKE BSEG-KOSTL,

PROJK LIKE BSEG-PROJK,

END OF T_BSEG.

DATA : BEGIN OF T_PRPS OCCURS 0,

POSID LIKE PRPS-POSID,

OBJNR LIKE PRPS-OBJNR,

END OF T_PRPS.

DATA : T_KOSTL LIKE BSEG-KOSTL,

T_PROJK LIKE BSEG-PROJK,

TEXT(15).

DATA : BEGIN OF T_OUTPUT OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

STREET LIKE ADRC-STREET,

CITY1 LIKE ADRC-CITY1,

OBJNR LIKE PRPS-OBJNR,

POSID LIKE PRPS-POSID,

KOSTL LIKE BSIK-KOSTL, " COST CENTER

UMSKZ LIKE BSIK-UMSKZ,

BELNR LIKE BSIK-BELNR,

BUKRS LIKE BSIK-BUKRS,

GJAHR LIKE BSIK-GJAHR,

wrbtr like bsik-wrbtr,

DMBTR LIKE BSIK-WRBTR,

HKONT LIKE BSIK-HKONT,

DIF1 LIKE BSIK-WRBTR,

DIF2 LIKE BSIK-WRBTR,

DIF3 LIKE BSIK-WRBTR,

DIF4 LIKE BSIK-WRBTR,

DIF5 LIKE BSIK-WRBTR,

DAYS LIKE BAPIFVDEXP_VZZBEPP-NUM4,

END OF T_OUTPUT.

Alv data declaration

TYPE-POOLS : SLIS.

DATA :ALV_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

ALV_FIELDCAT_LINE LIKE LINE OF ALV_FIELDCAT,

ALV_SORT TYPE SLIS_T_SORTINFO_ALV,

ALV_SORT_LINE LIKE LINE OF ALV_SORT,

ALV_LAYOUT TYPE SLIS_LAYOUT_ALV,

G_REPID LIKE SY-REPID VALUE SY-REPID,

ALV_STATUS_SET TYPE SLIS_FORMNAME VALUE 'ALV_STATUS_SET',

ALV_USER_COMM TYPE SLIS_FORMNAME VALUE 'ALV_USER_COMM',

GRID_TITLE TYPE LVC_TITLE,

ALV_FIELDCAT_ACTY TYPE SLIS_T_FIELDCAT_ALV,

G_SAVE,

GS_VARIANT LIKE DISVARIANT,

G_EXIT_CAUSED_BY_CALLER TYPE C,

GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER.

DATA: ALV_FIELDCAT_LINE_ACTY LIKE LINE OF ALV_FIELDCAT_ACTY,

ALV_LAYOUT_ACTY TYPE SLIS_LAYOUT_ALV,

GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,

GT_EVENTS TYPE SLIS_T_EVENT,

MESSAGE TYPE STRING,

R_UCOMM LIKE SY-UCOMM,

RS_SELFIELD TYPE SLIS_SELFIELD.

CONSTANTS:

GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.

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

SELECT-OPTIONS : S_BUKRS FOR BSIK-BUKRS,

S_GJAHR FOR BSIK-GJAHR,

S_LIFNR FOR BSIK-LIFNR,

S_UMSKZ FOR BSIK-UMSKZ.

PARAMETERS : P_AUGDT LIKE BSIK-AUGDT OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

SELECT-OPTIONS : S_DATE1 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY

DEFAULT 1 TO 30,

S_DATE2 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY

DEFAULT 30 TO 60,

S_DATE3 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY

DEFAULT 60 TO 90,

S_DATE4 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY

DEFAULT 90 TO 120,

S_DATE5 FOR BAPIFVDEXP_VZZBEPP-NUM4 NO-EXTENSION OBLIGATORY

DEFAULT 120 TO 150.

SELECTION-SCREEN END OF BLOCK B2.

INITIALIZATION.

START-OF-SELECTION.

PERFORM FETCH_DATA.

PERFORM DISPLAY.

&----


*& Form fetch_data

&----


text

-


--> p1 text

<-- p2 text

-


FORM FETCH_DATA .

SELECT *

INTO TABLE T_BSIK

FROM BSIK

WHERE BUKRS IN S_BUKRS

AND GJAHR IN S_GJAHR

AND LIFNR IN S_LIFNR

AND UMSKZ IN S_UMSKZ

AND UMSKZ NOT IN ('F','P','L','G').

AND zfbdt <= P_augdt.

IF SY-SUBRC = 0.

SELECT *

INTO TABLE T_BSAK

FROM BSAK

WHERE BUKRS IN S_BUKRS

AND GJAHR IN S_GJAHR

AND LIFNR IN S_LIFNR

AND UMSKZ IN S_UMSKZ

AND UMSKZ NOT IN ('F','P','L','G')

AND AUGDT > P_AUGDT.

LOOP AT T_BSAK.

MOVE-CORRESPONDING T_BSAK TO T_BSIK.

APPEND T_BSIK.

ENDLOOP.

LOOP AT T_BSIK.

if t_bsik-zfbdt is initial.

t_bsik-zfbdt = t_bsik-bldat.

modify t_bsik transporting zfbdt.

endif.

IF T_BSIK-BUDAT > P_AUGDT.

DELETE T_BSIK.

ENDIF.

if t_bsik-umskz > P_augdt.

ENDLOOP.

SELECT LIFNR

NAME1

ADRNR

INTO TABLE T_LFA1

FROM LFA1

FOR ALL ENTRIES IN T_BSIK

WHERE LIFNR = T_BSIK-LIFNR.

IF SY-SUBRC = 0.

SELECT ADDRNUMBER AS ADRNR

STREET

CITY1

INTO TABLE T_ADRC

FROM ADRC

FOR ALL ENTRIES IN T_LFA1

WHERE ADDRNUMBER = T_LFA1-ADRNR.

ENDIF.

ENDIF.

LOOP AT T_BSIK.

IF T_BSIK-SHKZG = 'S'.

t_bsik-WRBTR = t_bsik-WRBTR * -1.

T_BSIK-DMBTR = T_BSIK-DMBTR * -1.

ENDIF.

REFRESH T_BSEG.

CLEAR : T_KOSTL, T_PROJK, T_OUTPUT.

IF T_BSIK-REBZG IS NOT INITIAL.

SELECT ZFBDT

KOART

KOSTL

PROJK

INTO TABLE T_BSEG "t_bsik-ZFBDT

FROM BSEG

WHERE BUKRS = T_BSIK-BUKRS

AND BELNR = T_BSIK-REBZG

AND GJAHR = T_BSIK-REBZJ

AND KOART IN ('K','S').

LOOP AT T_BSEG.

IF T_BSEG-KOART = 'K' AND T_BSEG-ZFBDT IS NOT INITIAL.

T_BSIK-BUDAT = T_BSEG-ZFBDT.

MODIFY T_BSIK TRANSPORTING BUDAT.

ELSEIF T_BSEG-KOART = 'S'.

T_KOSTL = T_BSEG-KOSTL.

T_PROJK = T_BSEG-PROJK.

ENDIF.

ENDLOOP.

ELSE.

SELECT SINGLE KOSTL PROJK

INTO (T_KOSTL, T_PROJK)

FROM BSEG

WHERE BUKRS = T_BSIK-BUKRS

AND BELNR = T_BSIK-BELNR

AND GJAHR = T_BSIK-GJAHR

AND KOART = 'S'.

ENDIF.

MOVE-CORRESPONDING T_BSIK TO T_OUTPUT.

T_OUTPUT-KOSTL = T_KOSTL.

CONCATENATE 'PR' T_PROJK INTO T_OUTPUT-OBJNR.

days = P_augdt - t_bsik-ZFBDT.

DAYS = P_AUGDT - T_BSIK-BUDAT.

READ TABLE T_LFA1 WITH KEY LIFNR = T_OUTPUT-LIFNR.

IF SY-SUBRC = 0.

T_OUTPUT-NAME1 = T_LFA1-NAME1.

READ TABLE T_ADRC WITH KEY ADRNR = T_LFA1-ADRNR.

IF SY-SUBRC = 0.

T_OUTPUT-STREET = T_ADRC-STREET.

T_OUTPUT-CITY1 = T_ADRC-CITY1.

ENDIF.

ENDIF.

T_OUTPUT-DAYS = DAYS.

IF DAYS >= S_DATE1-LOW AND DAYS < S_DATE1-HIGH.

t_output-dif1 = t_bsik-wrbtr. " days.

T_OUTPUT-DIF1 = T_BSIK-DMBTR. " days.

ELSEIF DAYS >= S_DATE2-LOW AND DAYS < S_DATE2-HIGH.

t_output-dif2 = t_bsik-wrbtr. "days.

T_OUTPUT-DIF2 = T_BSIK-DMBTR. " days.

ELSEIF DAYS >= S_DATE3-LOW AND DAYS < S_DATE3-HIGH.

t_output-dif3 = t_bsik-wrbtr. "days.

T_OUTPUT-DIF3 = T_BSIK-DMBTR. " days.

ELSEIF DAYS >= S_DATE4-LOW AND DAYS < S_DATE4-HIGH.

t_output-dif4 = t_bsik-wrbtr. "days.

T_OUTPUT-DIF4 = T_BSIK-DMBTR. " days.

ELSEIF DAYS >= S_DATE5-LOW AND DAYS < S_DATE5-HIGH.

t_output-dif5 = t_bsik-wrbtr. "days.

T_OUTPUT-DIF5 = T_BSIK-DMBTR. " days.

ENDIF.

APPEND T_OUTPUT.

ENDLOOP.

IF T_OUTPUT[] IS NOT INITIAL.

SELECT POSID

OBJNR

INTO TABLE T_PRPS

FROM PRPS

FOR ALL ENTRIES IN T_OUTPUT

WHERE OBJNR = T_OUTPUT-OBJNR.

ENDIF.

LOOP AT T_OUTPUT.

READ TABLE T_PRPS WITH KEY OBJNR = T_OUTPUT-OBJNR.

IF SY-SUBRC = 0.

T_OUTPUT-POSID = T_PRPS-POSID.

MODIFY T_OUTPUT TRANSPORTING POSID.

ENDIF.

ENDLOOP.

ENDFORM. " fetch_data

&----


*& Form display

&----


text

-


--> p1 text

<-- p2 text

-


FORM DISPLAY .

PERFORM BUILD_ALV_LAYOUT.

PERFORM S_SORT_BUILD USING ALV_SORT[].

PERFORM BUILD_FIELD_CATALOGS.

PERFORM EVENTTAB_BUILD CHANGING GT_EVENTS.

SORT t_output BY .

G_SAVE = 'A'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = G_REPID

I_CALLBACK_PF_STATUS_SET = ALV_STATUS_SET

I_CALLBACK_USER_COMMAND = ALV_USER_COMM

I_GRID_TITLE = GRID_TITLE

I_SAVE = G_SAVE

IS_VARIANT = GS_VARIANT

IS_LAYOUT = ALV_LAYOUT

IT_FIELDCAT = ALV_FIELDCAT[]

IT_EVENTS = GT_EVENTS[]

IT_SORT = ALV_SORT[]

IMPORTING

E_EXIT_CAUSED_BY_CALLER = G_EXIT_CAUSED_BY_CALLER

ES_EXIT_CAUSED_BY_USER = GS_EXIT_CAUSED_BY_USER

TABLES

T_OUTTAB = T_OUTPUT.

PERFORM ALV_USER_COMM USING R_UCOMM

RS_SELFIELD.

IF SY-SUBRC = 0.

IF G_EXIT_CAUSED_BY_CALLER = 'X'.

ELSE.

IF GS_EXIT_CAUSED_BY_USER-BACK = 'X'. " F3

ELSE.

IF GS_EXIT_CAUSED_BY_USER-EXIT = 'X'. " F15

ELSE.

IF GS_EXIT_CAUSED_BY_USER-CANCEL = 'X'. " F12

ELSE.

ENDIF.

ENDIF.

ENDIF.

ENDIF.

ELSE.

*" Fatal error calling ALV

ENDIF.

ENDFORM. " display

&----


*& Form build_alv_layout

&----


FORM BUILD_ALV_LAYOUT.

CLEAR ALV_LAYOUT.

ALV_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. "always display full columns

alv_layout-box_fieldname = 'CHK'.

alv_layout-box_tabname = 'T_OUTPUT'.

ALV_LAYOUT-INFO_FIELDNAME = 'COLOR'. "color a line

ALV_LAYOUT-DETAIL_POPUP = 'X'.

ALV_LAYOUT-ZEBRA = 'X'. "Zebra output

ENDFORM. " build_alv_layout

-


FORM s_sort_build *

-


........ *

-


--> LT_SORT *

-


FORM S_SORT_BUILD USING LT_SORT TYPE SLIS_T_SORTINFO_ALV.

DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.

CLEAR LS_SORT.

LS_SORT-SPOS = 1.

LS_SORT-FIELDNAME = 'LIFNR'.

LS_SORT-UP = 'X'.

LS_SORT-GROUP = 'UL'.

LS_SORT-SUBTOT = 'X'.

APPEND LS_SORT TO LT_SORT.

CLEAR LS_SORT.

LS_SORT-SPOS = 2.

LS_SORT-FIELDNAME = 'BELNR'.

LS_SORT-UP = 'X'.

LS_SORT-SUBTOT = 'X'.

LS_SORT-GROUP = 'UL'.

APPEND LS_SORT TO LT_SORT.

CLEAR LS_SORT.

ENDFORM. "s_sort_build

&----


*& Form eventtab_build

&----


FORM EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.

FIELD-SYMBOLS: <LT_EVENTS> LIKE LINE OF LT_EVENTS.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = LT_EVENTS

EXCEPTIONS

LIST_TYPE_WRONG = 1

OTHERS = 2.

Define TOP_OF_PAGE event

READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE

ASSIGNING <LT_EVENTS>.

IF SY-SUBRC EQ 0.

MOVE GC_FORMNAME_TOP_OF_PAGE TO <LT_EVENTS>-FORM.

ENDIF.

ENDFORM. " eventtab_build

&----


*& Form TOP_OF_PAGE

&----


FORM TOP_OF_PAGE.

REFRESH GT_LIST_TOP_OF_PAGE.

CLEAR GT_LIST_TOP_OF_PAGE.

PERFORM COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE.

Output GSPC logo on report header

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE

I_LOGO = 'GSPC_LOGO'.

ENDFORM. "top_of_page

&----


*& Form COMMENT_BUILD

&----


Build comments at top of page

-


FORM COMMENT_BUILD CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.

DATA: GS_LINE TYPE SLIS_LISTHEADER.

CLEAR GS_LINE.

GS_LINE-TYP = 'H'.

GS_LINE-INFO = 'Vendor Ageing'.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

CLEAR GS_LINE.

GS_LINE-TYP = 'S'.

GS_LINE-KEY = 'Report ID:'.

GS_LINE-INFO = SY-REPID.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

CLEAR GS_LINE.

GS_LINE-TYP = 'S'.

GS_LINE-KEY = 'User:'.

GS_LINE-INFO = SY-UNAME.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

CLEAR GS_LINE.

GS_LINE-TYP = 'S'.

GS_LINE-KEY = 'Date:'.

WRITE SY-DATUM TO GS_LINE-INFO MM/DD/YYYY.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

CLEAR GS_LINE.

GS_LINE-TYP = 'S'.

GS_LINE-KEY = 'Time:'.

WRITE SY-UZEIT TO GS_LINE-INFO USING EDIT MASK '__:__:__'.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

CLEAR GS_LINE.

GS_LINE-TYP = 'S'.

GS_LINE-KEY = ''.

WRITE ' '.

APPEND GS_LINE TO GT_TOP_OF_PAGE.

Output data from selection screen

ENDFORM. "comment_build

-


*Build ALV Summary field catalog

-


&----


*& Form build_field_catalogs

&----


FORM BUILD_FIELD_CATALOGS.

CLEAR: ALV_FIELDCAT.

REFRESH: ALV_FIELDCAT.

Vendor Number

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'Vendor Number'.

alv_fieldcat_line-hotspot = 'X'.

ALV_FIELDCAT_LINE-FIELDNAME = 'LIFNR'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

Vendor Name

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'Vendor Name'.

ALV_FIELDCAT_LINE-FIELDNAME = 'NAME1'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

Vendor Address

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'Vendor Address'.

ALV_FIELDCAT_LINE-FIELDNAME = 'STREET'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

City

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'City'.

ALV_FIELDCAT_LINE-FIELDNAME = 'CITY1'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

Object number #

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'object #'.

ALV_FIELDCAT_LINE-FIELDNAME = 'OBJNR'.

ALV_FIELDCAT_LINE-NO_OUT = 'X'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

WBS Element

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'WBS Element'.

ALV_FIELDCAT_LINE-FIELDNAME = 'POSID'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

Cost Center

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'Cost Center'.

ALV_FIELDCAT_LINE-FIELDNAME = 'KOSTL'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

GL Indicator

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'GL Indicator'.

ALV_FIELDCAT_LINE-FIELDNAME = 'UMSKZ'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

General Ledger Account

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'General Ledger Account'.

ALV_FIELDCAT_LINE-FIELDNAME = 'HKONT'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

Document No.

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-HOTSPOT = 'X'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'Document No.'.

ALV_FIELDCAT_LINE-FIELDNAME = 'BELNR'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

Amount

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'Amount'.

alv_fieldcat_line-fieldname = 'WRBTR'.

ALV_FIELDCAT_LINE-FIELDNAME = 'DMBTR'.

ALV_FIELDCAT_LINE-NO_OUT = 'X'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

dif1

CLEAR TEXT.

READ TABLE S_DATE1 INDEX 1.

CONCATENATE 'DAYS ' S_DATE1-LOW '-' S_DATE1-HIGH INTO TEXT.

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = TEXT.

ALV_FIELDCAT_LINE-FIELDNAME = 'DIF1'.

ALV_FIELDCAT_LINE-DO_SUM = 'X'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

dif2

CLEAR TEXT.

READ TABLE S_DATE2 INDEX 1.

CONCATENATE 'DAYS ' S_DATE2-LOW '-' S_DATE2-HIGH INTO TEXT.

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = TEXT.

alv_fieldcat_line-no_out = 'X'.

ALV_FIELDCAT_LINE-FIELDNAME = 'DIF2'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

dif3

CLEAR TEXT.

READ TABLE S_DATE3 INDEX 1.

CONCATENATE 'DAYS ' S_DATE3-LOW '-' S_DATE3-HIGH INTO TEXT.

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = TEXT.

ALV_FIELDCAT_LINE-FIELDNAME = 'DIF3'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

CLEAR ALV_FIELDCAT_LINE.

dif4

CLEAR TEXT.

READ TABLE S_DATE4 INDEX 1.

CONCATENATE 'DAYS ' S_DATE4-LOW '-' S_DATE4-HIGH INTO TEXT.

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = TEXT.

ALV_FIELDCAT_LINE-FIELDNAME = 'DIF4'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

dif5

CLEAR TEXT.

READ TABLE S_DATE5 INDEX 1.

CONCATENATE 'DAYS ' S_DATE5-LOW '-' S_DATE5-HIGH INTO TEXT.

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = TEXT.

ALV_FIELDCAT_LINE-FIELDNAME = 'DIF5'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

Days

ALV_FIELDCAT_LINE-TABNAME = 'T_OUTPUT'.

ALV_FIELDCAT_LINE-SELTEXT_L = 'Days'.

ALV_FIELDCAT_LINE-FIELDNAME = 'DAYS'.

alv_fieldcat_line-no_out = 'X'.

APPEND ALV_FIELDCAT_LINE TO ALV_FIELDCAT.

ENDFORM. " build_field_catalogs

&----


*& Form ALV_USER_COMM

&----


Process User Status

-


FORM ALV_USER_COMM USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

*Determine the main component beign viewed

READ TABLE T_OUTPUT INDEX RS_SELFIELD-TABINDEX.

CASE R_UCOMM.

WHEN '&IC1'. " single / double click

CASE RS_SELFIELD-FIELDNAME.

Display FI document

WHEN 'BELNR'.

SET PARAMETER ID 'BLN' FIELD T_OUTPUT-BELNR.

SET PARAMETER ID 'BUK' FIELD T_OUTPUT-BUKRS.

SET PARAMETER ID 'GJR' FIELD T_OUTPUT-GJAHR.

CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

ENDCASE.

WHEN 'FMB58'.

SET PARAMETER ID 'MAT' FIELD prtab-matnr.

CALL TRANSACTION 'MB58' AND SKIP FIRST SCREEN.

WHEN 'CHK'.

MOVE 'X' TO prtab-chk.

MODIFY prtab INDEX rs_selfield-tabindex.

ENDCASE.

ENDFORM. "alv_user_comm

&----


*& Form ALV_STATUS_SET

&----


Set the status for the ALV screen

-


FORM ALV_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'STANDARD' EXCLUDING RT_EXTAB.

ENDFORM. "alv_status_set

Below are the important tables:

BVOR

(Intercompany posting procedures)

BSAD

(Accounting: Secondary index for

customers (cleared items)

BSID

(Accounting: Secondary index for

customers)

PAYR

(Payment transfer medium file)

BKPF

(Accounting document header)

BSEG

(Accounting document segment)

BSIP

(Index for vendor validation of double

documents)

BSIK

(Accounting: Secondary index for

vendors)BSAK

(Accounting: Secondary index for

vendors (cleared items))

BSAS

(Accounting: Secondary index for G/L

accounts (cleared items))

BSIS

REGARDS,

GAURAV J.

Read only

Former Member
0 Likes
534

H para.

this is body of report.

Report RFGLBALANCE message-id FDBL.

...tables.............................................................

tables: SKC1A,

SKC1C,

RF42B,

SSCRFIELDS.

...selections.........................................................

select-options: SO_SAKNR for RF42B-SAKNR memory id SAK

matchcode object SAKO

visible length 10,

SO_BUKRS for SKC1C-BUKRS memory id BUK.

parameters: GP_GJAHR like SKC1C-GJAHR memory id GJR.

select-options: SO_GSBER for RF42B-GSBER memory id GSB.

parameters: GP_CURTP like RFPDO2-ALLGCRTP.

selection-screen function key 1.

...selection screen for processing of worklists.......................

selection-screen begin of screen 2000.

selection-screen begin of block ACCOUNT with frame title TEXT-010.

parameters: GP_WLSAK like RF42B-IDNTS.

select-options: SO_WLSAK for SKC1A-SAKNR memory id SAK.

selection-screen end of block ACCOUNT.

selection-screen begin of block COMPANY with frame title TEXT-011.

parameters: GP_WLBUK like RF42B-IDNTB.

select-options: SO_WLBUK for SKC1A-BUKRS memory id BUK.

selection-screen end of block COMPANY.

parameters: GP_GJHR2 type GJAHR memory id GJR.

select-options: SO_GSBR2 for SKC1C-GSBER.

parameters: GP_CRTP2 like RFPDO2-ALLGCRTP.

selection-screen function key 2.

selection-screen end of screen 2000.

...internal data......................................................

constants: GC_LDB type TRDIR-LDBNAME value 'SDF',

GC_KOART type KOART value 'S'.

data: LS_PARAMS like RSPARAMS.

data: begin of LS_SAKNR,

SIGN(1) type C,

OPTION(2) type C,

LOW type SAKNR,

HIGH type SAKNR,

end of LS_SAKNR.

...internal data common for all account types.........................

include RFBALANCEDATA.

...initialization.....................................................

initialization.

...initialize data table..............................................

refresh LT_BALANCE_DATA.

...remove user command for batch and print jobs.......................

perform CHANGE_STATUS.

...set text for additional function keys..............................

SSCRFIELDS-FUNCTXT_01 = TEXT-005.

SSCRFIELDS-FUNCTXT_02 = TEXT-006.

...check selections...................................................

at selection-screen.

...process user command...............................................

case SSCRFIELDS-UCOMM.

when 'ONLI'.

...get local range for g/l account....................................

if not GP_WLSAK is initial.

perform GET_RANGE_FROM_WORKLIST tables GT_RANGE

using GP_WLSAK

'SAKNR'.

refresh SO_WLSAK.

loop at GT_RANGE.

move-corresponding GT_RANGE to SO_WLSAK.

append SO_WLSAK.

endloop.

endif.

refresh LR_SAKNR.

append lines of SO_WLSAK to LR_SAKNR.

loop at SO_SAKNR.

LS_SAKNR-SIGN = SO_SAKNR-SIGN.

LS_SAKNR-OPTION = SO_SAKNR-OPTION.

if SO_SAKNR-LOW cn '0123456789'.

LS_SAKNR-LOW = SO_SAKNR-LOW.

else.

LS_SAKNR-LOW = SO_SAKNR-LOW+6.

endif.

if SO_SAKNR-HIGH cn '0123456789'.

LS_SAKNR-HIGH = SO_SAKNR-HIGH.

else.

LS_SAKNR-HIGH = SO_SAKNR-HIGH+6.

endif.

append LS_SAKNR to LR_SAKNR.

endloop.

...check, if at least one account has been specified..................

if LR_SAKNR[] is initial.

clear SSCRFIELDS-UCOMM.

refresh LR_SAKNR.

message E002.

endif.

...get local range for company code...................................

if not GP_WLBUK is initial.

perform GET_RANGE_FROM_WORKLIST tables GT_RANGE

using GP_WLBUK

'BUKRS'.

refresh SO_WLBUK.

loop at GT_RANGE.

move-corresponding GT_RANGE to SO_WLBUK.

append SO_WLBUK.

endloop.

endif.

refresh LR_BUKRS.

append lines of SO_WLBUK to LR_BUKRS.

append lines of SO_BUKRS to LR_BUKRS.

if LR_BUKRS[] is initial.

refresh LR_SAKNR.

refresh LR_BUKRS.

clear SSCRFIELDS-UCOMM.

message E007.

endif.

...get local range for fiscal year....................................

LS_GJAHR-SIGN = 'I'.

LS_GJAHR-OPTION = 'EQ'.

if GP_GJAHR is initial.

LS_GJAHR-LOW = GP_GJHR2.

else.

LS_GJAHR-LOW = GP_GJAHR.

endif.

clear LS_GJAHR-HIGH.

if not LS_GJAHR-LOW is initial.

append LS_GJAHR to LR_GJAHR.

else.

clear SSCRFIELDS-UCOMM.

refresh LR_SAKNR.

refresh LR_BUKRS.

message E008.

endif.

...local ranges for business areas...................................

append lines of SO_GSBER to LR_GSBER.

append lines of SO_GSBR2 to LR_GSBER.

...check existence of given g/l accounts.............................

loop at LR_SAKNR transporting no fields

where OPTION ne 'EQ' or

SIGN ne 'I'.

exit.

endloop.

if SY-SUBRC = 0.

select SAKNR from SKB1 into table LT_SAKNR

where SAKNR in LR_SAKNR

and BUKRS in LR_BUKRS.

else. " worklist

select SAKNR from SKB1 into table LT_SAKNR

for all entries in LR_SAKNR

where SAKNR eq LR_SAKNR-LOW

and BUKRS in LR_BUKRS.

endif.

if SY-SUBRC ne 0.

clear SSCRFIELDS-UCOMM.

refresh LR_BUKRS.

refresh LR_SAKNR.

refresh LR_GSBER.

refresh LR_GJAHR.

message E030(MSITEM).

endif.

clear LT_SAKNR.

refresh LT_SAKNR.

...check authorizations.............................................

perform CHECK_AUTHORITY_GROUPS

using LR_BUKRS

LR_SAKNR

LR_KUNNR

LR_LIFNR

GC_KOART.

...switch on worklists..............................................

when 'FC01'.

leave to transaction 'FS10NA'.

...switch off worklists.............................................

when 'FC02'.

leave to transaction 'FS10N'.

endcase.

...start-of-selection.................................................

start-of-selection.

...get valid currency type............................................

if GP_CRTP2 is initial.

LD_CURTP = GP_CURTP.

else.

LD_CURTP = GP_CRTP2.

endif.

if LD_CURTP is initial or LD_CURTP eq '00'.

LD_CURTP = '10'.

endif.

...check, if all company codes given use the same fiscal year.........

perform CHECK_FISCAL_YEARS using LR_BUKRS

LD_RC.

if LD_RC ne 0.

message I021.

return.

endif.

...check, if display currency is the same for all company codes.....

...selected.........................................................

perform CHECK_CURTP tables LR_BUKRS

using LD_CURTP

LD_RC.

if LD_RC ne 0.

message I022.

return.

endif.

...build table with selection criteria..............................

perform BUILD_COSEL tables LT_COSEL

using LR_BUKRS

LR_KUNNR

LR_LIFNR

LR_SAKNR

LR_GJAHR

LR_GSBER

SPACE

SPACE

SPACE

GP_WLSAK

GP_WLBUK

LD_CURTP.

...build table with selections for LDB................................

perform BUILD_RSPARAMS tables LT_COSEL

LT_PARAMS

using GC_LDB.

LS_PARAMS-SELNAME = 'SD_CURTP'.

LS_PARAMS-SIGN = 'I'.

LS_PARAMS-OPTION = 'EQ'.

LS_PARAMS-LOW = LD_CURTP.

clear LS_PARAMS-HIGH.

append LS_PARAMS to LT_PARAMS.

...build table with callbacks.........................................

perform BUILD_CALLBACK tables LT_CALLBACKS.

...get transaction data...............................................

call function 'LDB_PROCESS'

exporting

LDBNAME = GC_LDB

tables

CALLBACK = LT_CALLBACKS

SELECTIONS = LT_PARAMS

exceptions

LDB_SELECTIONS_NOT_ACCEPTED = 4

others = 1.

if SY-SUBRC eq 4.

message id SY-MSGID type SY-MSGTY number SY-MSGNO

with SY-MSGV1 SY-MSGV2.

endif.

end-of-selection.

...check, if data has been fount at all.............................

if LT_BALANCE_DATA is initial.

message I020 with GP_GJAHR.

return.

endif.

...display data.....................................................

call function 'FDBL_BALANCES_DISPLAY'

exporting

PT_COSEL = LT_COSEL

changing

PT_BALANCE_DATA = LT_BALANCE_DATA.

include RFBALANCE.