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

Input Screen

Former Member
0 Likes
476

Hi all

Am having a input screen where i have a filed calle USER NAME.If i save the input values in variant and then if i go back and then if i click one of the variants as input and then if i give F4 am getting the input correctly.If i dont give the input from the variants and if i give the input directly and then give F4 in the USERNAME screen am getting all the USERNAME fields which i dont need.Please help

Vijay

1 ACCEPTED SOLUTION
Read only

former_member188827
Active Contributor
0 Likes
429

try using F4IF_FIELD_VALUE_REQUEST to build ur own hitlist for f4 help.

2 REPLIES 2
Read only

former_member188827
Active Contributor
0 Likes
430

try using F4IF_FIELD_VALUE_REQUEST to build ur own hitlist for f4 help.

Read only

0 Likes
429

Hi am alreadi using it .am sending u d code below please go through it for further idea.

&----


*& Report ZJOURNALREGISTER

*&

&----


*&

*&

&----


REPORT zjournalregister_new1

LINE-SIZE 150

LINE-COUNT 58(5)

MESSAGE-ID zfi

NO STANDARD PAGE HEADING.

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

  • Program name : ZJOURNALREGISTER

  • Developed By : Rajesh Sahal,Intelligroup

  • Date : 22/02/2007

  • Description : Journal Entry Register

*

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

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

  • Tables Declarations

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

TABLES : t001, "Company Codes

adrc, "Addresses (Business Address Services)

kna1, "General Data in Customer Master

lfa1, "Vendor Master (General Section)

skb1, "G/L account master (company code)

bkpf, "Accounting Document Header

bseg, "Accounting Document Segment

faglflexa. "General Ledger: Actual Line Items

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

  • Types Declarations

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

  • type declaration for Accounting Document Header data

types : BEGIN OF t_bkpf ,

belnr TYPE bkpf-belnr,

gjahr TYPE bkpf-gjahr,

blart TYPE bkpf-blart,

budat TYPE bkpf-budat,

cpudt TYPE bkpf-cpudt,

xblnr TYPE bkpf-xblnr,

bktxt TYPE bkpf-bktxt,

  • usnam TYPE bkpf-usnam,

END OF t_bkpf.

types : BEGIN OF t_bkpf1 ,

usnam TYPE bkpf-usnam,

belnr TYPE bkpf-belnr,

bukrs TYPE bkpf-bukrs,

gjahr TYPE bkpf-gjahr,

END OF t_bkpf1.

*TYPES: BEGIN OF ty_usnam,

  • usnam TYPE bkpf-usnam,

  • END OF ty_usnam.

*TYPES: BEGIN OF ty_gjahr,

  • gjahr1 TYPE bkpf-gjahr,

  • END OF ty_gjahr.

***ADDED BY VIJAY

*

*DATA:BEGIN of wa_ob occurs 2,

*usnam like bkpf-usnam,

*end of wa_ob.

***ADD END BY VIJAY

  • type declaration for Accounting Document Item

TYPES : BEGIN OF t_bseg,

belnr TYPE bseg-belnr,

gjahr TYPE bseg-gjahr,

buzei TYPE bseg-buzei,

bschl TYPE bseg-bschl,

koart TYPE bseg-koart,

shkzg TYPE bseg-shkzg,

wrbtr TYPE bseg-wrbtr,

sgtxt TYPE bseg-sgtxt,

saknr TYPE bseg-saknr,

hkont TYPE bseg-hkont,

kunnr TYPE bseg-kunnr,

lifnr TYPE bseg-lifnr,

prctr TYPE bseg-prctr,

END OF t_bseg.

  • type declaration for Account desctiption

TYPES : BEGIN OF t_skat,

saknr TYPE skat-saknr,

txt50 TYPE skat-txt50,

END OF t_skat.

  • type declaration for Customer Description

TYPES : BEGIN OF t_kna1,

kunnr TYPE kna1-kunnr,

name1 TYPE kna1-name1,

END OF t_kna1.

  • type declaration for Vendor Description

TYPES : BEGIN OF t_lfa1,

lifnr TYPE lfa1-lifnr,

name1 TYPE lfa1-name1,

END OF t_lfa1.

  • types dcelaration for General Ledger: Actual Line Items

TYPES : BEGIN OF t_faglflexa,

ryear TYPE faglflexa-ryear,

docnr TYPE faglflexa-docnr,

rbukrs TYPE faglflexa-rbukrs,

docln TYPE faglflexa-docln,

prctr TYPE faglflexa-prctr,

***ADDED BY VIJAY

usnam TYPE bkpf-usnam,

***ADD END BY VIJAY

END OF t_faglflexa.

  • type declaration for Final report

TYPES : BEGIN OF t_report,

belnr TYPE bkpf-belnr,

shkzg TYPE bseg-shkzg, " Phani.M

blart TYPE bkpf-blart,

prctr TYPE bseg-prctr,

buzei TYPE bseg-buzei,

budat TYPE bkpf-budat,

gjahr TYPE bkpf-gjahr,

hkont TYPE bseg-hkont,

txt50 TYPE skat-txt50,

bschl TYPE bseg-bschl,

wrbtrd TYPE bseg-wrbtr,

wrbtrc TYPE bseg-wrbtr,

sgtxt TYPE bseg-sgtxt,

bktxt TYPE bkpf-bktxt,

xblnr TYPE bkpf-xblnr,

END OF t_report.

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

  • Internal Tables Declarations

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

  • Internal table to store Accounting Document Header data

DATA : it_bkpf TYPE STANDARD TABLE OF t_bkpf WITH HEADER LINE,

  • Internal table to store Accounting Document Item

it_bseg TYPE STANDARD TABLE OF t_bseg WITH HEADER LINE,

  • Internal table to store Account Descriptions

it_skat TYPE STANDARD TABLE OF t_skat WITH HEADER LINE,

  • Internal table to store Customer Descriptions

it_kna1 TYPE STANDARD TABLE OF t_kna1 WITH HEADER LINE,

  • Internal table to store Vewndor Descriptions

it_lfa1 TYPE STANDARD TABLE OF t_lfa1 WITH HEADER LINE,

  • Internal table dcelaration for General Ledger: Actual Line Items

it_faglflexa TYPE STANDARD TABLE OF t_faglflexa WITH HEADER LINE,

  • Internal table to store final report

it_report TYPE STANDARD TABLE OF t_report WITH HEADER LINE.

***ADDED BY VIJAY

*DATA:it_usnam TYPE ty_usnam OCCURS 0 WITH HEADER LINE .

*DATA:it_gjahr TYPE ty_gjahr OCCURS 0 WITH HEADER LINE .

DATA:it_bkpf1 TYPE t_bkpf1 OCCURS 0 WITH HEADER LINE.

DATA : t_return TYPE STANDARD TABLE OF ddshretval WITH HEADER LINE.

***ADD END BY VIJAY

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

  • Work Areas

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

DATA wa_report TYPE t_report.

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

  • Global Variables

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

DATA : gv_wrbtrd TYPE p LENGTH 16 DECIMALS 2,

gv_wrbtrc TYPE p LENGTH 16 DECIMALS 2.

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

  • Flags

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

DATA : fg_endrep TYPE c,

fg_accttype TYPE c.

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

  • Selection Screen

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

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS : P_BUKRS TYPE BKPF-BUKRS OBLIGATORY. "Company Code

SELECT-OPTIONS : s_belnr FOR bkpf-belnr. "Document number

PARAMETERS : P_GJAHR TYPE BKPF-GJAHR OBLIGATORY. "Fiscal Year

***ADDED BY VIJAY

PARAMETERS : P_USNAM TYPE BKPF-USNAM .

***ADD END BY VIJAY

SELECT-OPTIONS: s_blart FOR bkpf-blart, "Document Type

s_budat FOR bkpf-budat, "Posting Date

s_cpudt FOR bkpf-cpudt, "Entry Date

s_prctr FOR bseg-prctr, "Profit center

s_koart FOR bseg-koart NO-EXTENSION NO INTERVALS. "Account Type

SELECTION-SCREEN END OF BLOCK b1.

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

  • At Selection Screen on Comapny Code

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

AT SELECTION-SCREEN ON p_bukrs.

  • Validate Company Code

*"" PERFORM validate_comp_code.

***ADDED BY VIJAY

PERFORM read_selection_screen.

***ADD END BY VIJAY

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_GJAHR.

PERFORM read_selection_screen.

  • CLEAR wa_ob.

  • CLEAR IT_BKPF.

*DISTINCt GJAHR

SELECT * FROM BKPF

INTO CORRESPONDING FIELDS OF TABLE it_bkpf

WHERE bukrs = p_bukrs.

IF NOT it_bkpf[] IS INITIAL.

SORT it_bkpf BY gjahr.

DELETE ADJACENT DUPLICATES FROM it_bkpf COMPARING GJAHR.

ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'GJAHR'

dynpprog = sy-repid

dynpnr = '1000'

dynprofield = 'P_GJAHR'

value_org = 'S'

TABLES

value_tab = it_bkpf

return_tab = t_return

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

IF sy-subrc = 0.

READ TABLE it_bkpf INDEX 0.

MOVE it_bkpf-gjahr TO P_gjahr.

ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_USNAM.

PERFORM read_selection_screen.

  • clear it_usnam.

  • clear it_bkpf.

*CLEAR wa_ob.

  • SELECT DISTINCt USNAM FROM BKPF

  • INTO CORRESPONDING FIELDS OF TABLE it_bkpf

  • WHERE bukrs = p_bukrs AND gjahr = p_gjahr.

  • AND belnr IN s_belnr.**

*if s_belnr-low is not initial and s_belnr-high is initial.

SELECT * FROM BKPF

INTO CORRESPONDING FIELDS OF TABLE it_bkpf1

WHERE bukrs = p_bukrs AND gjahr = p_gjahr

and belnr IN s_belnr.

  • AND belnr IN s_belnr.

*AND belnr le s_belnr-high.

*endif.

  • IF NOT it_bkpf1[] IS INITIAL.

SORT it_bkpf1 BY BELNR.

DELETE ADJACENT DUPLICATES FROM it_bkpf1 COMPARING USNAM.

  • ENDIF.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'USNAM'

dynpprog = SY-REPID

dynpnr = '1000'

dynprofield = 'P_USNAM'

value_org = 'S'

TABLES

value_tab = it_bkpf1

return_tab = t_return

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

IF sy-subrc = 0.

READ TABLE it_bkpf INDEX 1.

MOVE it_bkpf1-usnam TO P_USNAM.

ENDIF.

*ENDIF.

AT SELECTION-SCREEN ON s_koart.

  • CLEAR WA_OB.

IF s_koart-low EQ 'S'.

  • clear bseg.

  • select single * from bseg WHERE

  • bukrs eq p_bukrs and

  • belnr in s_belnr and

  • gjahr eq p_gjahr AND

  • koart ne 'S' AND

  • umskz ne 'F' and

  • prctr in s_prctr.

  • if sy-subrc ne 0.

fg_accttype = 'S'.

  • endif.

ELSE.

CLEAR bseg.

SELECT SINGLE * FROM bseg WHERE

bukrs EQ p_bukrs AND

belnr IN s_belnr AND

gjahr EQ p_gjahr AND

koart IN s_koart AND

umskz NE 'F' AND

prctr IN s_prctr.

IF sy-subrc EQ 0.

fg_accttype = 'O'.

ENDIF.

ENDIF.

**at selection-screen on s_saknr.

    • Validation to check Account Type for the GL Account provided

  • if not s_saknr is initial.

    • clear bseg.

    • select single * from bseg where hkont in s_saknr AND

    • KOART eq 'S'.

    • if sy-subrc ne 0.

    • message e001 with 'Only GL Account type S is allowed'(014).

    • else.

  • clear skb1.

  • select single * from skb1 where bukrs = p_bukrs AND

  • saknr = s_saknr-low AND

  • ( mitkz ne 'A' and

  • mitkz ne 'D' and

  • mitkz ne 'K').

  • if sy-subrc ne 0.

  • message e001 with 'Only GL Account type S is allowed'(014).

  • endif.

    • endif.

  • endif.

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

  • At Selection Screen

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

AT SELECTION-SCREEN.

  • Validation to check if Document type is blank,Posting Date should be entered

IF s_blart[] IS INITIAL AND s_budat[] IS INITIAL.

MESSAGE e001 WITH text-003.

ENDIF.

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

  • Top of Page

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

TOP-OF-PAGE.

  • Display header

PERFORM display_header.

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

  • Start of Selection

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

START-OF-SELECTION.

  • Get Accounting Document Header data

PERFORM get_bkpf_data.

  • Get Accounting Docuemnt Item Data

PERFORM get_bseg_data.

  • Get all account descriptions

PERFORM get_accnt_desc.

  • Get all profit Centers

PERFORM get_all_profit_centers.

  • Get all Vendor names

PERFORM get_all_vendornames.

  • Get all customer names

PERFORM get_all_customernames.

  • Process Data

PERFORM process_data.

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

  • End of Selection

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

END-OF-SELECTION.

  • Display report

PERFORM display_report.

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

  • End of page

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

END-OF-PAGE.

  • Display Footer

PERFORM display_footer.

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

  • S U B R O U T I N E S

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

&----


*& Form GET_BKPF_DATA

&----


  • Get Accounting Document Header data

----


FORM get_bkpf_data .

CLEAR it_bkpf.

REFRESH it_bkpf.

SELECT belnr

gjahr

blart

budat

cpudt

xblnr

bktxt

FROM bkpf INTO TABLE it_bkpf

WHERE bukrs EQ p_bukrs AND

belnr IN s_belnr AND

gjahr EQ p_gjahr AND

blart IN s_blart AND

budat IN s_budat AND

usnam EQ p_usnam AND

cpudt IN s_cpudt.

IF sy-subrc EQ 0.

SORT it_bkpf BY belnr.

ENDIF.

ENDFORM. " GET_BKPF_DATA

&----


*& Form GET_BSEG_DATA

&----


  • Get Accounting Document Item Data

----


FORM get_bseg_data .

CLEAR it_bseg.

REFRESH it_bseg.

IF NOT it_bkpf[] IS INITIAL.

IF fg_accttype EQ 'S'. "Account Type S

SELECT belnr

gjahr

buzei

bschl

koart

shkzg

wrbtr

sgtxt

saknr

hkont

kunnr

lifnr

prctr

FROM bseg INTO TABLE it_bseg

FOR ALL ENTRIES IN it_bkpf

WHERE bukrs EQ p_bukrs AND

belnr EQ it_bkpf-belnr AND

gjahr EQ p_gjahr AND

( koart IN s_koart AND

koart NE 'K' AND

koart NE 'D' AND

koart NE 'A' ) AND

umskz NE 'F' AND

prctr IN s_prctr.

IF sy-subrc EQ 0.

SORT it_bseg BY belnr buzei.

ENDIF.

ELSEIF fg_accttype EQ 'O'. " Account Type K,D or A

SELECT belnr

gjahr

buzei

bschl

koart

shkzg

wrbtr

sgtxt

saknr

hkont

kunnr

lifnr

prctr

FROM bseg INTO TABLE it_bseg

FOR ALL ENTRIES IN it_bkpf

WHERE bukrs EQ p_bukrs AND

belnr EQ it_bkpf-belnr AND

gjahr EQ p_gjahr AND

umskz NE 'F' AND

  • usnam EQ p_usnam AND

prctr IN s_prctr.

ENDIF.

IF sy-subrc EQ 0.

SORT it_bseg BY belnr buzei.

ENDIF.

ENDIF.

ENDFORM. " GET_BSEG_DATA

&----


*& Form Validate_COMP_CODE

&----


  • Validate Company Code

----


FORM validate_comp_code .

SELECT SINGLE bukrs INTO t001-bukrs

FROM t001

WHERE bukrs EQ p_bukrs.

IF sy-subrc NE 0.

MESSAGE e001 WITH text-002.

ENDIF.

ENDFORM. " Validate_COMP_CODE

&----


*& Form GET_ACCNT_DESC

&----


  • Get account Descriptions

----


FORM get_accnt_desc .

IF NOT it_bseg[] IS INITIAL.

SELECT saknr

txt50

FROM skat INTO TABLE it_skat

WHERE spras EQ sy-langu

*-- Begin of change Phani.M

*-- Consider Account description where Chart of Accounts is '9999'

and ktopl = '9999'.

*-- End of change Phani.M

IF sy-subrc EQ 0.

SORT it_skat BY saknr.

DELETE ADJACENT DUPLICATES FROM it_skat COMPARING saknr.

ENDIF.

ENDIF.

ENDFORM. " GET_ACCNT_DESC

&----


*& Form PROCESS_DATA

&----


  • Process Data

----


FORM process_data .

LOOP AT it_bseg.

  • Populate header details

READ TABLE it_bkpf WITH KEY belnr = it_bseg-belnr.

IF sy-subrc EQ 0.

it_report-belnr = it_bkpf-belnr.

it_report-blart = it_bkpf-blart.

it_report-budat = it_bkpf-budat.

it_report-gjahr = it_bkpf-gjahr.

it_report-bktxt = it_bkpf-bktxt.

it_report-xblnr = it_bkpf-xblnr.

ENDIF.

*-- Begin of change Phani.M

it_report-shkzg = it_bseg-shkzg.

*-- End of change Phani.M

  • Populate Item level data

it_report-buzei = it_bseg-buzei.

it_report-sgtxt = it_bseg-sgtxt.

it_report-bschl = it_bseg-bschl.

IF it_bseg-prctr IS INITIAL.

READ TABLE it_faglflexa WITH KEY ryear = p_gjahr

docnr = it_bkpf-belnr

rbukrs = p_bukrs

docln+3(3) = it_bseg-buzei.

IF sy-subrc EQ 0.

it_report-prctr = it_faglflexa-prctr.

ENDIF.

ELSE.

it_report-prctr = it_bseg-prctr.

ENDIF.

  • Account replacement

IF it_bseg-koart = 'D'.

it_report-hkont = it_bseg-kunnr.

READ TABLE it_kna1 WITH KEY kunnr = it_bseg-kunnr.

IF sy-subrc EQ 0.

it_report-txt50 = it_kna1-name1.

ENDIF.

ELSEIF it_bseg-koart = 'K'.

it_report-hkont = it_bseg-lifnr.

  • Populate Account Description

READ TABLE it_lfa1 WITH KEY lifnr = it_report-hkont.

IF sy-subrc EQ 0.

it_report-txt50 = it_lfa1-name1.

ENDIF.

ELSEIF it_bseg-koart = 'S'.

it_report-hkont = it_bseg-hkont.

  • Populate Account Description

READ TABLE it_skat WITH KEY saknr = it_report-hkont.

IF sy-subrc EQ 0.

it_report-txt50 = it_skat-txt50.

ENDIF.

ENDIF.

  • Amount Debited or Credited

IF it_bseg-shkzg EQ 'S'. "Debit

it_report-wrbtrd = it_bseg-wrbtr.

ELSEIF it_bseg-shkzg EQ 'H'. "Credit

it_report-wrbtrc = it_bseg-wrbtr.

ENDIF.

APPEND it_report.

CLEAR it_report.

ENDLOOP.

ENDFORM. " PROCESS_DATA

&----


*& Form DISPLAY_REPORT

&----


  • Display Report

----


FORM display_report .

DATA : l_headerinfo(50) TYPE c,

l_wrbtrd TYPE bseg-wrbtr,

l_wrbtrc TYPE bseg-wrbtr,

l_skip TYPE sy-linct,

l_lines TYPE i,

l_count TYPE i,

lt_report TYPE STANDARD TABLE OF t_report WITH HEADER LINE.

CLEAR : gv_wrbtrc,gv_wrbtrd.

IF NOT it_report[] IS INITIAL.

SORT it_report BY belnr shkzg.

*-- Begin of change by Phani.M 19-03-2007

*-- If S_KOART-low = 'S' then exclude all the records that

*-- dont have Account type as 'S' and all records that dont have

*-- corresponding Debit or Credit line item

IF s_koart-low = 'S'.

lt_report[] = it_report[].

LOOP AT it_report.

CLEAR l_count.

LOOP AT lt_report WHERE belnr = it_report-belnr.

IF ( it_report-shkzg = 'H' AND lt_report-shkzg = 'S' ) OR

( it_report-shkzg = 'S' AND lt_report-shkzg = 'H' ).

l_count = l_count + 1.

ENDIF.

ENDLOOP.

IF l_count LT 1.

CLEAR l_count.

DELETE it_report WHERE belnr = it_report-belnr.

ENDIF.

ENDLOOP.

ENDIF.

*-- End of change by Phani.M 19-03-2007

DESCRIBE TABLE it_report LINES l_lines.

LOOP AT it_report INTO wa_report.

  • at new belnr.

  • perform col_headings.

  • endat.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

CLEAR l_headerinfo.

WRITE:/ wa_report-blart,

5 wa_report-belnr,

  • wa_report-buzei,

16 wa_report-budat,

27 wa_report-gjahr,

32(25) wa_report-sgtxt+0(25),

58 wa_report-hkont,

69(25) wa_report-txt50+0(25),

97 wa_report-bschl,

103 wa_report-prctr.

IF NOT wa_report-wrbtrd IS INITIAL.

WRITE: 115 wa_report-wrbtrd.

ENDIF.

IF NOT wa_report-wrbtrc IS INITIAL.

WRITE: 132 wa_report-wrbtrc.

ENDIF.

WRITE: 150 space.

WRITE:/32(25) wa_report-sgtxt+25(25),

  • 69(25) wa_report-txt50+25(25),

150 space.

CONCATENATE wa_report-bktxt wa_report-xblnr INTO l_headerinfo

SEPARATED BY space.

l_wrbtrc = l_wrbtrc + wa_report-wrbtrc.

l_wrbtrd = l_wrbtrd + wa_report-wrbtrd.

gv_wrbtrc = gv_wrbtrc + wa_report-wrbtrc.

gv_wrbtrd = gv_wrbtrd + wa_report-wrbtrd.

AT END OF belnr.

WRITE: /110(44) '_________________________________________'.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

WRITE:/91 'Total :'(015),

115 l_wrbtrc,

132 l_wrbtrd,

150 space.

CLEAR : l_wrbtrc,l_wrbtrd.

FORMAT COLOR COL_NORMAL.

WRITE: /110(44) '_________________________________________'.

IF l_headerinfo NE space.

WRITE:/32 l_headerinfo,

150 space.

SKIP 2.

ENDIF.

IF sy-tabix = l_lines.

fg_endrep ='X'.

SKIP 2.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

WRITE: /110(44) '_________________________________________'.

WRITE:/85 'Grand Total :'(016),

97 gv_wrbtrc,

130 gv_wrbtrd.

WRITE: /110(44) '_________________________________________'.

ENDIF.

ENDAT.

AT LAST.

IF sy-linno NE sy-linct.

l_skip = sy-linct - 5 - sy-linno.

SKIP l_skip.

ENDIF.

ENDAT.

ENDLOOP.

ELSE.

SKIP 3.

WRITE: AT (sy-linsz) 'No Data found for given selection criteria'(017) CENTERED.

ENDIF.

ENDFORM. " DISPLAY_REPORT

&----


*& Form DISPLAY_HEADER

&----


  • Display Header

----


FORM display_header .

DATA : l_citypin(30) TYPE c.

SKIP.

CLEAR : t001,adrc.

  • Display Company Address and Report title

SELECT SINGLE * FROM t001 WHERE bukrs EQ p_bukrs.

IF sy-subrc EQ 0.

SELECT SINGLE * FROM adrc WHERE addrnumber EQ t001-adrnr.

IF sy-subrc EQ 0.

WRITE AT (sy-linsz) adrc-name1 CENTERED.

WRITE AT (sy-linsz) adrc-street CENTERED.

CONCATENATE adrc-city1 '-' adrc-post_code1 INTO l_citypin

SEPARATED BY space.

WRITE AT (sy-linsz) l_citypin CENTERED.

ENDIF.

SKIP.

WRITE AT (sy-linsz) 'Journal Entry Register'(018) CENTERED.

SKIP.

WRITE:/ 'Company Code'(019), p_bukrs.

ENDIF.

IF NOT s_blart[] IS INITIAL.

WRITE:/ 'Document register for Document type'(020),

s_blart-low, 'to'(023), s_blart-high.

ELSE.

WRITE:/ 'Document register for Document type *'(021).

ENDIF.

WRITE:/ 'Posting Dates'(022), s_budat-low.

IF NOT s_budat-high IS INITIAL.

WRITE: text-023, s_budat-high.

ENDIF.

WRITE: 125 'Page Number :'(024),

sy-pagno.

IF NOT it_report[] IS INITIAL.

PERFORM col_headings.

ENDIF.

ENDFORM. " DISPLAY_HEADER

&----


*& Form DISPLAY_FOOTER

&----


  • Display Page Footer

----


FORM display_footer .

ULINE.

WRITE:/ 'Username :'(025),sy-uname,

'Date :'(026), sy-datum,

50 'Time :'(027), sy-uzeit.

SKIP.

IF fg_endrep EQ 'X'.

WRITE AT (sy-linsz) 'End of Report'(028) CENTERED.

ENDIF.

ENDFORM. " DISPLAY_FOOTER

&----


*& Form GET_ALL_PROFIT_CENTERS

&----


  • Get all profit centers

----


FORM get_all_profit_centers .

CLEAR it_faglflexa.

REFRESH it_faglflexa.

IF NOT it_bkpf[] IS INITIAL.

SELECT ryear

docnr

rbukrs

docln

prctr

FROM faglflexa

INTO TABLE it_faglflexa

FOR ALL ENTRIES IN it_bkpf

WHERE ryear = p_gjahr AND

rbukrs = p_bukrs AND

docnr EQ it_bkpf-belnr.

ENDIF.

ENDFORM. " GET_ALL_PROFIT_CENTERS

&----


*& Form col_headings

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM col_headings .

ULINE.

FORMAT COLOR COL_HEADING.

WRITE:/ 'Doc'(029),

5 'Document'(030),

17 'Posting'(031),

27 'Year'(006),

32 'Item Text'(032),

58 'Account No'(007),

69 'Account Description'(008),

95 'Posting'(009),

103 'Profit Ctr'(010),

115 'Amount Debited'(011),

132 'Amount Credited'(012),

150 space.

WRITE:/ 'Typ'(033),

5 'Number'(034),

18 'Date'(035),

96 'Key'(036),

150 space.

ULINE.

ENDFORM. " col_headings

&----


*& Form GET_ALL_CUSTOMERNAMES

&----


  • text

----


FORM get_all_customernames .

CLEAR it_kna1.

REFRESH it_kna1.

IF NOT it_bseg[] IS INITIAL.

SELECT kunnr

name1

INTO TABLE it_kna1

FROM kna1

FOR ALL ENTRIES IN it_bseg

WHERE kunnr EQ it_bseg-kunnr.

ENDIF.

ENDFORM. " GET_ALL_CUSTOMERNAMES

&----


*& Form GET_ALL_VENDORNAMES

&----


  • text

----


FORM get_all_vendornames .

CLEAR it_lfa1.

REFRESH it_lfa1.

IF NOT it_bseg[] IS INITIAL.

SELECT lifnr

name1

INTO TABLE it_lfa1

FROM lfa1

FOR ALL ENTRIES IN it_bseg

WHERE lifnr EQ it_bseg-lifnr.

ENDIF.

ENDFORM. " GET_ALL_VENDORNAMES

FORM read_selection_screen.

DATA: lv_dyname LIKE d020s-prog VALUE 'ZJOURNALREGISTER_NEW1',

lv_dynumb LIKE d020s-dnum VALUE '1000'.

DATA: BEGIN OF lt_dynpfields OCCURS 3.

INCLUDE STRUCTURE dynpread.

DATA: END OF lt_dynpfields.

MOVE 'P_BUKRS' TO lt_dynpfields-fieldname.

APPEND lt_dynpfields.

MOVE 'P_GJAHR' TO lt_dynpfields-fieldname.

APPEND lt_dynpfields.

MOVE 'S_BELNR-LOW' TO lt_dynpfields-fieldname.

APPEND lt_dynpfields.

MOVE 'S_BELNR-HIGH' TO lt_dynpfields-fieldname.

APPEND lt_dynpfields.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = lv_dyname

dynumb = lv_dynumb

translate_to_upper = 'X'

TABLES

dynpfields = lt_dynpfields

EXCEPTIONS

invalid_abapworkarea = 01

invalid_dynprofield = 02

invalid_dynproname = 03

invalid_dynpronummer = 04

invalid_request = 05

no_fielddescription = 06

undefind_error = 07.

CLEAR: lt_dynpfields.

LOOP AT lt_dynpfields.

CASE lt_dynpfields-fieldname.

WHEN 'P_BUKRS'.

p_bukrs = lt_dynpfields-fieldvalue.

WHEN 'P_GJAHR'.

p_gjahr = lt_dynpfields-fieldvalue.

WHEN 'S_BELNR-LOW'.

p_usnam = lt_dynpfields-fieldvalue.

WHEN 'S_BELNR-HIGH'.

p_usnam = lt_dynpfields-fieldvalue.

ENDCASE.

ENDLOOP.

ENDFORM. " read_selection_screen