Vous êtes sur la page 1sur 15

*&--------------------------------------------------------------------*

*& Report ZHR_MACRO


*&
*&--------------------------------------------------------------------*
*&
*&
*&--------------------------------------------------------------------*
REPORT ZHR_MACRO.
TYPE-POOLs: slis.
TABLES: pernr.
infotypes: 0001, 0002, 0009, 0014, 0015.
DATA :it_fcat TYPE TABLE OF slis_fieldcat_alv,
wa_fcat TYPE
slis_fieldcat_alv.
TYPES: BEGIN OF ty_tab,
pernr TYPE p0001-pernr,
bukrs TYPE p0001-bukrs,
werks TYPE p0001-werks,
vorna TYPE p0002-vorna,
gbort TYPE p0002-gbort,
natio TYPE p0002-natio,
bkort TYPE p0009-bkort,
bankl TYPE p0009-bankl,
bankn TYPE p0009-bankn,
lgart TYPE p0014-lgart,
betrg TYPE p0014-betrg,
waers TYPE p0014-waers,
lgart1 TYPE p0014-lgart,
betrg1 TYPE p0014-betrg,
waers1 TYPE p0014-waers,
END OF ty_tab.
DATA :it_tab type table of ty_tab with header line,
wa_tab type ty_tab.
START-OF-SELECTION.

PERFORM FIELD_CAT.
get pernr.
rp-provide-from-last
rp-provide-from-last
rp-provide-from-last
rp-provide-from-last
rp-provide-from-last

p0001
p0002
p0009
p0014
p0015

space
space
space
space
space

pn-begda
pn-begda
pn-begda
pn-begda
pn-begda

wa_tab-pernr
wa_tab-bukrs
wa_tab-werks

= p0001-pernr.
= p0001-bukrs.
= p0001-werks.

wa_tab-vorna
wa_tab-gbort
wa_tab-natio

= p0002-vorna.
= p0002-gbort.
= p0002-natio.
.
= p0009-bkort.
= p0009-bankl.
= p0009-bankn.

wa_tab-bkort
wa_tab-bankl
wa_tab-bankn
.
wa_tab-lgart
wa_tab-betrg
wa_tab-waers

pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.

= p0014-lgart.
= p0014-betrg.
= p0014-waers.
.
wa_tab-lgart1 = p0014-lgart.
wa_tab-betrg1 = p0014-betrg.
wa_tab-waers1 = p0014-waers.
APPEND wa_tab to it_tab.
CLEAR wa_tab.
end-of-SELECTION.
PERFORM alv_grid.
form FIELD_CAT.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM

field USING 1 1

'PERNR' 'IT_TAB' 'C101' 'Personel no'

field USING 1 2

'BUKRS' 'IT_TAB' 'C110' 'Company code'

field USING 1 3

'WERKS' 'IT_TAB' 'C101' 'Personel Area'

field USING 1 4

'VORNA' 'IT_TAB' 'C101' 'First Name'

'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
PERFORM
PERFORM
'X'.
PERFORM
PERFORM
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.

field USING 1 5

'GBORT' 'IT_TAB' 'C101' 'Birh Place'

field USING 1 6

'NATIO' 'IT_TAB' 'C101' 'Nationality'

field USING 1 7
field USING 1 8
field USING 1 9

'BKORT' 'IT_TAB' 'C101' 'City' 'X'.


'BANKL' 'IT_TAB' 'C101' 'Bank key' 'X'.
'BANKN' 'IT_TAB' 'C101' 'Bank A/C no.'

field USING 1 5
field USING 1 6
field USING 1 7

'LGART' 'IT_TAB' 'C101' 'Wage Type' 'X'.


'BETRG' 'IT_TAB' 'C101' 'Amount' 'X'.
'WAERS' 'IT_TAB' 'C101' 'Currency Key'

field USING 1 8

'LGART1' 'IT_TAB' 'C101' 'Wage Type AP'

field USING 1 9

'BETRG1' 'IT_TAB' 'C101' 'Amount AP'

field USING 1 9

'WAERS1' 'IT_TAB' 'C101' 'Currency AP'

endform.

form FIELD

" FIELD_CAT_CUST

using

wa_fcat-row_pos
wa_fcat-col_pos
wa_fcat-fieldname
wa_fcat-tabname
wa_fcat-emphasize
wa_fcat-seltext_m
wa_fcat-hotspot
APPEND wa_fcat to
CLEAR wa_fcat .

a b c d e f g.
= a.
= b.
= c.
= d.
= e.
= f.
= g.
it_fcat.

" output in row


" position of the column
"fieldname
"it table name,
" emphasize
" middle key word
" hotspot

endform.
" FIELD
*&--------------------------------------------------------------------*
*&
Form alv_grid
*&--------------------------------------------------------------------*
*
text

*---------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*---------------------------------------------------------------------*
form alv_grid .
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
= ' '
*
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
= it_fcat
*
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
= it_tab
* 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_grid

*&--------------------------------------------------------------------*
*& Report ZHR_PROVIDE
*&
*&--------------------------------------------------------------------*
*&
*&
*&--------------------------------------------------------------------*
REPORT ZHR_PROVIDE.
TYPE-POOLs: slis.
TABLES: pernr.
infotypes: 0001, 0002, 0009,0014, 0015.
DATA :it_fcat TYPE TABLE OF slis_fieldcat_alv,
wa_fcat TYPE
slis_fieldcat_alv.
TYPES: BEGIN OF ty_tab,
pernr TYPE p0001-pernr,
bukrs TYPE p0001-bukrs,
werks TYPE p0001-werks,

vorna TYPE p0002-vorna,


gbort TYPE p0002-gbort,
natio TYPE p0002-natio,
bkort TYPE p0009-bkort,
bankl TYPE p0009-bankl,
bankn TYPE p0009-bankn,
lgart TYPE p0014-lgart,
betrg TYPE p0014-betrg,
waers TYPE p0014-waers,
lgart1 TYPE p0015-lgart,
betrg1 TYPE p0015-betrg,
waers1 TYPE p0015-waers,
END OF ty_tab.
DATA :it_tab type table of ty_tab with header line,
wa_tab type ty_tab.
START-OF-SELECTION.
PERFORM FIELD_CAT.
get pernr.
*rp-provide-from-last
*rp-provide-from-last
*rp-provide-from-last
*rp-provide-from-last
*rp-provide-from-last

p0001
p0002
p0009
p0014
p0015

PROVIDE
PROVIDE
PROVIDE
PROVIDE
PROVIDE

between
between
between
between
between

*
*
*
*
*

FROM
FROM
FROM
FROM
FROM

p0001
p0002
p0009
p0014
p0015

space
space
space
space
space

pn-begda
pn-begda
pn-begda
pn-begda
pn-begda

pn-begda
pn-begda
pn-begda
pn-begda
pn-begda

and
and
and
and
and

wa_tab-pernr
wa_tab-bukrs
wa_tab-werks

= p0001-pernr.
= p0001-bukrs.
= p0001-werks.

wa_tab-vorna

= p0002-vorna.

pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.

wa_tab-gbort
wa_tab-natio
wa_tab-bkort
wa_tab-bankl
wa_tab-bankn
.
wa_tab-lgart
wa_tab-betrg
wa_tab-waers

= p0002-gbort.
= p0002-natio.
.
= p0009-bkort.
= p0009-bankl.
= p0009-bankn.

= p0014-lgart.
= p0014-betrg.
= p0014-waers.
.
wa_tab-lgart1 = p0014-lgart.
wa_tab-betrg1 = p0014-betrg.
wa_tab-waers1 = p0014-waers.
APPEND wa_tab to it_tab.
CLEAR wa_tab.
endprovide.
endprovide.
endprovide.
endprovide.
endprovide.
end-of-SELECTION.
PERFORM alv_grid.
form FIELD_CAT.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
PERFORM
PERFORM
'X'.
PERFORM
PERFORM

field USING 1 1

'PERNR' 'IT_TAB' 'C101' 'Personel no'

field USING 1 2

'BUKRS' 'IT_TAB' 'C110' 'Company code'

field USING 1 3

'WERKS' 'IT_TAB' 'C101' 'Personel Area'

field USING 1 4

'VORNA' 'IT_TAB' 'C101' 'First Name'

field USING 1 5

'GBORT' 'IT_TAB' 'C101' 'Birh Place'

field USING 1 6

'NATIO' 'IT_TAB' 'C101' 'Nationality'

field USING 1 7
field USING 1 8
field USING 1 9

'BKORT' 'IT_TAB' 'C101' 'City' 'X'.


'BANKL' 'IT_TAB' 'C101' 'Bank key' 'X'.
'BANKN' 'IT_TAB' 'C101' 'Bank A/C no.'

field USING 1 5
field USING 1 6

'LGART' 'IT_TAB' 'C101' 'Wage Type' 'X'.


'BETRG' 'IT_TAB' 'C101' 'Amount' 'X'.

PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.

field USING 1 7

'WAERS' 'IT_TAB' 'C101' 'Currency Key'

field USING 1 8

'LGART1' 'IT_TAB' 'C101' 'Wage Type AP'

field USING 1 9

'BETRG1' 'IT_TAB' 'C101' 'Amount AP'

field USING 1 9

'WAERS1' 'IT_TAB' 'C101' 'Currency AP'

endform.

form FIELD

" FIELD_CAT_CUST

using

wa_fcat-row_pos
wa_fcat-col_pos
wa_fcat-fieldname
wa_fcat-tabname
wa_fcat-emphasize
wa_fcat-seltext_m
wa_fcat-hotspot
APPEND wa_fcat to
CLEAR wa_fcat .

a b c d e f g.
= a.
= b.
= c.
= d.
= e.
= f.
= g.
it_fcat.

" output in row


" position of the column
"fieldname
"it table name,
" emphasize
" middle key word
" hotspot

endform.
" FIELD
*&--------------------------------------------------------------------*
*&
Form alv_grid
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*---------------------------------------------------------------------*
form alv_grid .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
I_BYPASSING_BUFFER
= ' '

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

*
*
*

I_BUFFER_ACTIVE
I_CALLBACK_PROGRAM
I_CALLBACK_PF_STATUS_SET
I_CALLBACK_USER_COMMAND
I_CALLBACK_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
IT_EXCLUDING
IT_SPECIAL_GROUPS
IT_SORT
IT_FILTER
IS_SEL_HIDE
I_DEFAULT
I_SAVE
IS_VARIANT
IT_EVENTS
IT_EVENT_EXIT
IS_PRINT
IS_REPREP_ID
I_SCREEN_START_COLUMN
I_SCREEN_START_LINE
I_SCREEN_END_COLUMN
I_SCREEN_END_LINE
I_HTML_HEIGHT_TOP
I_HTML_HEIGHT_END
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
EXCEPTIONS
PROGRAM_ERROR
OTHERS

= ' '
= sy-repid
= ' '
= ' '
= ' '
= ' '
= ' '
=
= ' '
=
=
=
= it_fcat
=
=
=
=
=
= 'X'
= ' '
=
=
=
=
=
= 0
= 0
= 0
= 0
= 0
= 0
=
=
=
=
=
=
=
= it_tab
= 1
= 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_grid

*&--------------------------------------------------------------------*
*& Report ZHR_PROVIDE
*&
*&--------------------------------------------------------------------*
*&
*&
*&--------------------------------------------------------------------*
REPORT ZHR_LOOP.
TYPE-POOLs: slis.
TABLES: pernr.
infotypes: 0001, 0002, 0009, 0014, 0015.
DATA :it_fcat TYPE TABLE OF slis_fieldcat_alv,
wa_fcat TYPE
slis_fieldcat_alv.
TYPES: BEGIN OF ty_tab,
pernr TYPE p0001-pernr,
bukrs TYPE p0001-bukrs,
werks TYPE p0001-werks,
vorna TYPE p0002-vorna,
gbort TYPE p0002-gbort,
natio TYPE p0002-natio,
bkort TYPE p0009-bkort,
bankl TYPE p0009-bankl,
bankn TYPE p0009-bankn,
lgart TYPE p0014-lgart,
betrg TYPE p0014-betrg,
waers TYPE p0014-waers,

lgart1 TYPE p0014-lgart,


betrg1 TYPE p0014-betrg,
waers1 TYPE p0014-waers,
END OF ty_tab.
DATA :it_tab type table of ty_tab with header line,
wa_tab type ty_tab.
START-OF-SELECTION.
PERFORM FIELD_CAT.
get pernr.
*rp-provide-from-last
*rp-provide-from-last
*rp-provide-from-last
*rp-provide-from-last
*rp-provide-from-last
*
*PROVIDE * FROM p0001
*PROVIDE * FROM p0002
*PROVIDE * FROM p0009
*PROVIDE * FROM p0014
*PROVIDE * FROM p0015
loop at p0001 where

p0001
p0002
p0009
p0014
p0015

space
space
space
space
space

between
between
between
between
between

pn-begda
pn-begda
pn-begda
pn-begda
pn-begda

pn-begda
pn-begda
pn-begda
pn-begda
pn-begda

and
and
and
and
and

pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.
pn-endda.

begda <= pn-begda and endda >= pn-endda.

loop at p0002 where begda <= pn-begda and endda >= pn-endda.
loop at p0009 where begda <= pn-begda and endda >= pn-endda.
loop at p0014 where begda <= pn-begda and endda >= pn-endda.
*loop at p0015 where begda <= pn-begda and endda >= pn-endda.

wa_tab-pernr
wa_tab-bukrs
wa_tab-werks

= p0001-pernr.
= p0001-bukrs.
= p0001-werks.

wa_tab-vorna
wa_tab-gbort
wa_tab-natio

= p0002-vorna.
= p0002-gbort.
= p0002-natio.

wa_tab-bkort
wa_tab-bankl
wa_tab-bankn
.
wa_tab-lgart
wa_tab-betrg
wa_tab-waers
*
*
*
*

wa_tab-lgart1
wa_tab-betrg1
wa_tab-waers1
APPEND wa_tab to
CLEAR wa_tab.

.
= p0009-bkort.
= p0009-bankl.
= p0009-bankn.
= p0014-lgart.
= p0014-betrg.
= p0014-waers.
.
= p0015-lgart.
= p0015-betrg.
= p0015-waers.
it_tab.

*ENDLOOP.
ENDLOOP.
ENDLOOP.
ENDLOOP.
ENDLOOP.
*
endprovide.
*
endprovide.
*
endprovide.
*
endprovide.
*
endprovide.
end-of-SELECTION.
PERFORM alv_grid.
form FIELD_CAT.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM

field USING 1 1

'PERNR' 'IT_TAB' 'C101' 'Personel no'

field USING 1 2

'BUKRS' 'IT_TAB' 'C110' 'Company code'

field USING 1 3

'WERKS' 'IT_TAB' 'C101' 'Personel Area'

field USING 1 4

'VORNA' 'IT_TAB' 'C101' 'First Name'

field USING 1 5

'GBORT' 'IT_TAB' 'C101' 'Birh Place'

field USING 1 6

'NATIO' 'IT_TAB' 'C101' 'Nationality'

field USING 1 7

'BKORT' 'IT_TAB' 'C101' 'City' 'X'.

PERFORM
PERFORM
'X'.
PERFORM
PERFORM
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.
PERFORM
'X'.

field USING 1 8
field USING 1 9

'BANKL' 'IT_TAB' 'C101' 'Bank key' 'X'.


'BANKN' 'IT_TAB' 'C101' 'Bank A/C no.'

field USING 1 5
field USING 1 6
field USING 1 7

'LGART' 'IT_TAB' 'C101' 'Wage Type' 'X'.


'BETRG' 'IT_TAB' 'C101' 'Amount' 'X'.
'WAERS' 'IT_TAB' 'C101' 'Currency Key'

field USING 1 8

'LGART1' 'IT_TAB' 'C101' 'Wage Type AP'

field USING 1 9

'BETRG1' 'IT_TAB' 'C101' 'Amount AP'

field USING 1 9

'WAERS1' 'IT_TAB' 'C101' 'Currency AP'

endform.

form FIELD

" FIELD_CAT_CUST

using

wa_fcat-row_pos
wa_fcat-col_pos
wa_fcat-fieldname
wa_fcat-tabname
wa_fcat-emphasize
wa_fcat-seltext_m
wa_fcat-hotspot
APPEND wa_fcat to
CLEAR wa_fcat .

a b c d e f g.
= a.
= b.
= c.
= d.
= e.
= f.
= g.
it_fcat.

" output in row


" position of the column
"fieldname
"it table name,
" emphasize
" middle key word
" hotspot

endform.
" FIELD
*&--------------------------------------------------------------------*
*&
Form alv_grid
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*---------------------------------------------------------------------*

form alv_grid .
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
= ' '
*
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
= it_fcat
*
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
= it_tab
* 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_grid

Vous aimerez peut-être aussi