Berücksichtigung Beginn Geschäftsjahr in XL-Report
Beim Aufruf eines XL-Reports muss der Kunde einen Aktivitätszeitraum (z.B. den April 2008) auswählen.
Frage: Ist es möglich bei den Berechnungen im XL-Report anzugeben, dass er den Zeitraum vom Beginn des Geschaftsjahres (Wie lautet der Befehl?) bis zu dem ausgewählten Aktivitätszeitraum (April 2008) nimmt/ berücksichtigt? --> Sprich, wie kann man den Beginn des aktuellen Geschäftjahres ermitteln?
Gruß und danke
Milan
Wenn Sie den Aktivitätszeitraum im XL Report als Parameter drin haben, gibt es eine Funktion für diesen Parameter mit dem das geht.
Die Syntax heißt dann: YTD(@MyPeriodParameter)
@MyPeriodParameter muss durch den Namen Ihres Parameters ersetzt werden.
So kann man z.B. auch bei der GuV in einer Spalte die Werte für den aktuellen/ausgewählten Zeitraum anzeigen lassen und in einer Spalte daneben die kumulierten Werte des aktuellen Jahres bis zum ausgewählten Zeitraum.
Weiterhin gibt es auch noch viele weitere nützliche Befehle für die Paramter. Z.B. Quartale des lfd. Jahres, oder Periode des Vorjahres, so dass wenn der Benutzer April 2009 eingibt als Vergleich der April 2008 angezeigt wird.
Ich hoffe das hilft Ihnen weiter.
Gruß
Jacqueline
Edited by: Jacqueline Wutke on Jul 24, 2009 11:38 AM
Edited by: Jacqueline Wutke on Jul 24, 2009 11:38 AM
Similar Messages
-
Hallo,
für unsere Auswertungen, die mittels VIEW nach Excel gezogen werden benötige ich unser Geschäftsjahr, welches sich vom Kalenderjahr unterscheidet - als auswertbares Feld. (Ich weiß, daß das noch nicht die beste Lösung ist, da über Coresuite oder XL-Reporter das auch händelbar ist... wir sind jedoch in der Erprobungsphase, welche Auswertungen in Zukunft von jedem genutzt werden.)
..so daß meine Kollegen z.B. eine Auftragsbestandsliste erhalten, wenn Sie als Geschäftjahr 2010 auswählen, und somit den Zeitraum vom 01.10.2009 bis 30.09.2010 betrachten.
SAP bietet mir im Datumberech nur das reine Datum (TT.MM.JJ).
Mittels der SQL-Isoweek konnte ich Tage, Wochen, Monate, Quartale und Jahre als einzelne Felder in einer Abfrage basteln.
Unser Geschäfsjahr beginnt zum 01.10. eines Jahres
Beispiel:
01.09.2009 = 12. Monat des Geschäftsjahres 2009
01.10.2009 = 1. Monat des Geschäftsjahres 2010
01.11.2009 = 2. Monat des Geschäftsjahres 2010
Hat jemand von Euch die Anforderung schon mal gehabt und umsetzen können ?
Vielen Dank im voraus für Eure Wissenswerte.
Viele Grüsse
Markus SchäferHallo Markus,
SAP führt die Finanzperiode mit. Wenn Du entsprechend die Perioden richtig in SAP angelegt hast, kein Problem: Schau Dir mal das Feld FinncPriod an. Von da aus verknüpfst du mit der OFPR. Thats it!
Gruß
Andreas
SELECT t0.* FROM [dbo].[OINV] T0 INNER JOIN [dbo].[OFPR] T2 ON T0.FinncPriod = T2.AbsEntry -
Beginner trying to use Jasper Reports
Hi,
I am a beginner in implementing report generation. I want to use Jasper reports to convert my xml to pdf using the ireport plugin in Netbeans
Presently i have an input xml, i do not want to make an JDBC connection or an database connection, i am using another tool to generate xml output from the database.
i get my input xml and i want to convert into pdf, is there any way to do that??
thanks a lotYou should probably find a forum that deals with Jasper Reports, this one is not it.
-
ABAP Dump while Changing the Layout fields in Report output - RCOPCA02
Hi,
I Copied the Standard Program RCOPCA02 to ZRCOPCA02. I added two new fields(AUART, AUGRU) in the report output. It is executing correctly with default layout, While Changing the layout for displaying new fields it is dumping.
I am not understanding, What should i do...
Here is the Code.
report ZRCOPCA02 no standard page heading message-id km
line-count (2) line-size 81.
type-pools: slis, ecarc.
DDIC-Tabellen *******************************************************
tables: glpca, "Einzelposten / Ist
glu1, "Übergabestruktur FI-SL-Anzeige
t000,
tka01,
sscrfields,
vbak.
Variablen und int. Tabellen *****************************************
data: l_vbeln like vbak-vbeln,
l_auart like vbak-auart,
l_augru like vbak-augru.
data: afield type slis_fieldcat_alv,
sp_group type slis_sp_group_alv,
t_listheader type slis_t_listheader with header line,
t_layout type slis_layout_alv,
t_fieldcat type slis_t_fieldcat_alv,
t_spec_groups type slis_t_sp_group_alv,
event type slis_alv_event,
t_events type slis_t_event,
g_variant like disvariant,
gx_variant like disvariant,
g_exit(1) type c,
g_save(1) type c,
g_repid like sy-repid,
msgtyp like sy-msgty,
lt_dynpread like dynpread occurs 1 with header line,
ls_rpcak like rpcak, "note 0310592
packsize type i value 1000,
text1(60) type c,
text2(60) type c,
oldkokrs like glpca-kokrs,
oldracct like glpca-racct.
data: whr_size type i value 50,"Maximum of single values per MIC 46a
"charact. in the where-clause of the select-statement
lines type i, "number of lines of range table MIC 46a
cnt_rldnr type i, "Zähler Anzahl selektierter Ledger
cnt_kokrs type i, "Zähler Anzahl selektierter KoReKreise
cnt_poper type i, "Zähler Anzahl selektierter Perioden
cnt_ryear type i, "Zähler Anzahl selektierter GeschJahre
cnt_rvers type i, "Zähler Anzahl selektierter Versionen
cnt_bukrs type i, "Zähler Anzahl selektierter BuKreise
empge like dkobr-empge,
ksl_curr like tka01-pcacur,
hsl_curr like t001-waers,
a_rec like rstirec.
data: begin of dim_data.
include structure rgcdi. "data for dimensions
data: end of dim_data.
data: begin of tab_fields occurs 80,
name like dntab-fieldname, "fields in table i_glpca
end of tab_fields.
data: begin of i_glpca occurs 0.
include structure rpca2.
data: racct_ktext like rpcak-ktext,
psppp like prps-posid,
v_auart like vbak-auart,
v_augru like vbak-augru,
end of i_glpca.
data: rw_subrc like sy-subrc, "Flag: Report-Writer-Schnittstelle
re_subrc like sy-subrc, "Flag: Recherche-Schnittstelle
subrc like sy-subrc.
data: set_id like sethier-setid, "Set-ID "RDI_SETS_4.0
set_class like sethier-setclass, "Setklasse "RDI_SETS_4.0
set_sname like sethier-shortname."Setname (24) "RDI_SETS_4.0
data: authorised(1),
s_message(1),
auth_dbcount like sy-tabix,
Hex-Konstanten für Minimum/Maximum-Werte
begin of hex00,
x1(12) type c,
x2(12) type c,
end of hex00,
begin of hexff,
x1(12) type c,
x2(12) type c,
end of hexff.
ranges rclnt for glpca-rclnt.
field-symbols: type ecarc_glpca_curr.
Selektionsoptionen *************************************************
select-options:
rldnr for glpca-rldnr default '8A' no-display,
rassc for glpca-rassc no-display,
rrcty for glpca-rrcty default 0,
rrcty for glpca-rrcty,
rvers for glpca-rvers default '000',
kokrs for glpca-kokrs memory id cac,
bukrs for glpca-rbukrs memory id buk,
poper for glpca-poper default sy-datlo+4(2),
ryear for glpca-ryear default sy-datlo,
poper for glpca-poper,
ryear for glpca-ryear,
prctr for glpca-rprctr matchcode object prct,
pprctr for glpca-sprctr matchcode object prct,
RACCT FOR GLPCA-RACCT MATCHCODE OBJECT KART, "RD_P30K128304
racct for glpca-racct, "RD_P30K128304
drcrk for glpca-drcrk,
activ for glpca-activ,
rhoart for glpca-rhoart,
rfarea for glpca-rfarea,
stagr for glpca-stagr,
rtcur for glpca-rtcur,
runit for glpca-runit,
versa for glpca-versa no-display,
eprctr for glpca-eprctr no-display,
afabe for glpca-afabe no-display,
rmvct for glpca-rmvct no-display,
hrkft for glpca-hrkft no-display, "note 550972
sbukrs for glpca-sbukrs no-display, "note 550972
shoart for glpca-shoart no-display, "note 550972
sfarea for glpca-sfarea no-display, "note 550972
docct for glpca-docct,
docnr for glpca-docnr,
refdocct for glpca-refdocct,
refdocnr for glpca-refdocnr,
werks for glpca-werks,
repmatnr for glpca-rep_matnr matchcode object pca_shlp_rep_matnr,
rscope for glpca-rscope.
parameters: no_rrint no-display default ' '." skip "MICP40K066037
" report-report-interface
display variant ">>MICP40K039857
selection-screen begin of block 0 with frame title text-e01.
parameters: p_vari like disvariant-variant.
selection-screen comment 47(40) varname for field p_vari.
selection-screen end of block 0.
parameters log_grp(4) type c no-display default 'KE5Z'.
"<<MICP40K039857
ranges: v_racct for glpca-racct,
v_prctr for glpca-rprctr,
v_pprctr for glpca-sprctr.
Tabelle mit Werten aus den Berichts-Set vom Report-Writer *
data begin of val_tab occurs 50.
include structure rgciv.
data end of val_tab.
MICP30K166368
feldkatalog und interface für bb-schnittstelle rw MICP30K166368
MICP30K166368
"MICP30K166368
data begin of bbs_fieldtab occurs 20. "MICP30K166368
include structure rstifields. "MICP30K166368
data end of bbs_fieldtab. "MICP30K166368
archiv
type-pools: rsds.
types: begin of ty_archive_objects,
object like arch_obj-object,
end of ty_archive_objects,
ty_t_archive_objects type ty_archive_objects occurs 2.
constants: lc_set type c value 'X',
lc_report type progname value 'KE5Z',
lc_reporttype type reporttype value 'TR'.
tables: admi_files.
select-options lr_files for admi_files-archiv_key no-display.
parameter: read_db type c default 'X' no-display,
read_ar type c no-display,
arc_obj like arch_obj-object no-display,
read_as type c default 'X' no-display.
data : lt_arch_obj type ty_t_archive_objects with header line,
ls_selections type rsds_frange,
lt_selections type rsds_frange_t,
ls_selopt type rsdsselopt,
lt_glpca_archiv type ecarc_t_glpca_curr.
*********************************************************>>MICP40K039857
INITIALIZATION
initialization.
Diverse Initialisierungen
perform init_vars.
g_repid = sy-repid.
Set default values for record type
rrcty-sign = 'I'.
rrcty-option = 'EQ'.
rrcty-low = '0'.
append rrcty.
rrcty-low = '2'.
append rrcty.
Set default values for period and year (if kokrs or bukrs is known)
get parameter id 'BUK' field bukrs-low.
get parameter id 'CAC' field kokrs-low.
if kokrs-low is initial "get contr. area from company code
and not bukrs-low is initial.
call function 'KOKRS_GET_FROM_BUKRS'
exporting
i_bukrs = bukrs-low
importing
e_kokrs = kokrs-low
exceptions
no_kokrs_found = 1
others = 2.
if sy-subrc <> 0.
clear kokrs-low.
endif.
endif.
if not kokrs-low is initial.
call function 'K_KOKRS_READ' "get fiscal year variant
exporting
kokrs = kokrs-low
importing
e_tka01 = tka01
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
call function 'G_PERIOD_GET'
exporting
date = sy-datlo
variant = tka01-lmona
importing
period = poper-low
year = ryear-low
exceptions
ledger_not_assigned_to_company = 1
period_not_defined = 2
variant_not_defined = 3
others = 4.
if sy-subrc = 0.
poper-sign = 'I'.
poper-option = 'EQ'.
append poper.
ryear-sign = 'I'.
ryear-option = 'EQ'.
append ryear.
endif.
endif.
endif.
Settings for display variants
g_save = 'A'. "Schalter Varianten benutz./allg. speichern
clear g_variant.
g_variant-report = g_repid.
g_variant-log_group = log_grp.
g_variant-username = sy-uname.
Get default variant
gx_variant = g_variant.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = g_save
changing
cs_variant = gx_variant
exceptions
not_found = 2.
if sy-subrc = 0.
p_vari = gx_variant-variant.
endif.
Set variant
if p_vari is initial.
p_vari = '1SAP'.
move p_vari to gx_variant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = g_save
changing
cs_variant = gx_variant
exceptions
not_found = 1.
if sy-subrc ne 0.
clear p_vari.
clear gx_variant-variant.
endif.
endif.
varname = gx_variant-text.
"<<MICP40K039857
archiv
call function 'KARL_DATA_INPUT_INIT'
exporting
i_report = lc_report
i_reporttype = lc_reporttype
importing
e_xusedb = read_db
e_xusear = read_ar
e_archobj = arc_obj
e_infosys = read_as
tables
t_arch_sel = lr_files.
data: lt_excluding like sy-ucomm occurs 0 with header line.
call function 'RS_SET_SELSCREEN_STATUS'
exporting
p_status = 'SELSCREEN'
p_program = 'RCOPCA02'
tables
p_exclude = lt_excluding.
Initialisieren der Bericht/Bericht-Schnittstellen *
data: ld_no_rrint type boole_d. "note 490484 begin
import rri = ld_no_rrint from memory id 'RCOPCA02_NO_RRI'.
if ld_no_rrint = 'X'.
free memory id 'RCOPCA02_NO_RRI'.
else. "note 490484 end
call function 'G_REPORT_INTERFACE_INIT' "Report-Writer?
exporting "MICP30K166368
table = 'GLPCT' "MICP30K166368
importing
subrc = rw_subrc "MICP30K166368
tables "MICP30K166368
it_fieldr = bbs_fieldtab. "MICP30K166368
call function 'RSTI_APPL_STACK_POP'"oder Recherche?
importing
i_rec = a_rec
exceptions
appl_stack_not_initialized = 1.
re_subrc = sy-subrc.
if re_subrc = 0.
check Receiver is this report
if not ( ( a_rec-rtool = 'RT' and a_rec-ronam = 'RCOPCA02' )
or ( a_rec-rtool = 'TR' and a_rec-ronam = 'KE5Z' ) ) .
re_subrc = 2.
endif.
endif.
endif.
AT SELCTION-SCREEN on value request**********************************
*at selection-screen on value-request for racct-low. "RD "4.6a
"RD "4.6a
call function 'K_RACCT_VALUE_REQUEST' "RD "4.6a
importing "RD "4.6a
e_racct = racct-low. "RD "4.6a
"RD "4.6a
"RD "4.6a
*at selection-screen on value-request for racct-high. "RD "4.6a
"RD "4.6a
call function 'K_RACCT_VALUE_REQUEST' "RD "4.6a
importing "RD "4.6a
e_racct = racct-high. "RD "4.6a
at selection-screen on value-request for p_vari. "MICP40K039857
perform f4_for_variant. "MICP40K039857
at selection-screen on value-request for poper-low. "RD "4.6a
begin of insertion note 522715
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
end of insertion note 522715
call function 'ECPCA_RPMAX_VALUE_REQUEST' "RD "4.6a
exporting "RD "4.6a
i_kokrs = kokrs-low "RD "4.6a
i_ryear = ryear-low "RD "4.6a
importing "RD "4.6a
e_rpmax = poper-low "RD "4.6a
begin of insertion note 522715
exceptions
table_empty = 1.
endif.
end of insertion note 522715
at selection-screen on value-request for poper-high. "RD "4.6a
begin of insertion note 522715
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
end of insertion note 522715
call function 'ECPCA_RPMAX_VALUE_REQUEST' "RD "4.6a
exporting "RD "4.6a
i_kokrs = kokrs-low "RD "4.6a
i_ryear = ryear-low "RD "4.6a
importing "RD "4.6a
e_rpmax = poper-high "RD "4.6a
begin of insertion note 522715
exceptions
table_empty = 1.
endif.
end of insertion note 522715
AT SELCTION-SCREEN ***************************************************
at selection-screen.
perform pai_of_selection_screen.
begin of insertion note 522715
if not kokrs-low is initial.
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc <> 0.
message e101(ki) with kokrs-low.
endif.
endif.
end of insertion note 522715
archiv
if sy-ucomm = 'FC01' or sy-ucomm = 'UCDS'
or sy-ucomm = 'ONLI' and read_ar = 'X'
and read_as is initial and lr_files[] is initial.
if lt_arch_obj[] is initial.
lt_arch_obj-object = 'PCA_OBJECT'. append lt_arch_obj.
lt_arch_obj-object = 'EC_PCA_ITM'. append lt_arch_obj.
endif.
call function 'KARL_DATA_INPUT_SELECT'
exporting
i_db_and_arc = lc_set
i_infosys_possible = lc_set
i_object_fixed = 'V'
i_documentation = 'KARL_DATA_INPUT_SEL_KE5YZ'
i_report = lc_report
i_reporttype = lc_reporttype
tables
t_objects = lt_arch_obj
t_arch_sel = lr_files
changing
c_xusedb = read_db
c_xusear = read_ar
c_archobj = arc_obj
c_infosys = read_as.
endif.
START-OF-SELECTION **************************************************
start-of-selection.
Default-Werte löschen, falls Aufruf über Recherche
oder Report-Writer erfolgt ist
if no_rrint is initial and ld_no_rrint is initial. "note 490484
if rw_subrc eq 0 or re_subrc eq 0.
refresh: rldnr, rrcty, rvers, kokrs, bukrs, poper, ryear,
racct, prctr, pprctr, drcrk, activ, rhoart, rfarea,
versa, afabe, eprctr,
v_racct, v_prctr, v_pprctr.
clear: rldnr, rrcty, rvers, kokrs, bukrs, poper, ryear,
racct, prctr, pprctr, drcrk, activ, rhoart, rfarea,
versa, afabe, eprctr,
v_racct, v_prctr, v_pprctr.
endif.
Parameter einlesen über Report-Writer-Schnittstelle *
if rw_subrc eq 0.
perform rw_get_parameters.
oder Parameter einlesen über Recherche-Schnittstelle *
elseif re_subrc eq 0.
perform re_get_parameters.
endif.
endif.
if read_db = 'X'. " read from DB (archiv)
Bewegungsdaten einlesen und puffern...................................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten selektieren'(p10).
Use dirty trick to mislead DB-optimizer
call function 'DB_DO_NOT_USE_CLIENT_INDEX'
exporting
value = sy-mandt
tables
mandttab = rclnt.
select (tab_fields) from glpca
client specified
package size packsize
APPENDING CORRESPONDING FIELDS OF TABLE i_glpcaO
into corresponding fields of table i_glpca
where rldnr in rldnr
and rrcty in rrcty
and rvers in rvers
and kokrs in kokrs
and rbukrs in bukrs
and ryear in ryear
and rassc in rassc
and hrkft in hrkft "note 550972
and sbukrs in sbukrs "note 550972
and shoart in shoart "note 550972
and sfarea in sfarea "note 550972
and racct in racct
and rprctr in prctr
and sprctr in pprctr
and poper in poper
and drcrk in drcrk
and activ in activ
and rhoart in rhoart
and rfarea in rfarea
and versa in versa
and eprctr in eprctr
and afabe in afabe
and rmvct in rmvct
and docct in docct
and docnr in docnr
and stagr in stagr
and rtcur in rtcur
and runit in runit
and refdocct in refdocct
and refdocnr in refdocnr
and werks in werks
and rep_matnr in repmatnr "RDIP40K020663
and rscope in rscope "RDIP40K020663
and rclnt in rclnt. "dirty trick to mislead DB-optimizer
if sy-dbcnt > 1.
text1 = sy-dbcnt.
condense text1.
concatenate text1 text-m01 into text2 separated by space.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = text2. " ... Datensätze gelesen
endif.
endselect.
Entfernt nicht zugehörige Einträge....................................
loop at i_glpca where ( not rprctr in v_prctr )
or ( not sprctr in v_pprctr )
or ( not racct in v_racct ).
delete i_glpca.
endloop.
endif.
*archiv
if read_ar = 'X' and not
( read_as is initial and lr_files[] is initial ).
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Lesen im Archiv'(p12).
define fill_lt_selections.
if not &2[] is initial.
clear ls_selections.
move &1 to ls_selections-fieldname.
loop at &2.
clear ls_selopt.
move-corresponding &2 to ls_selopt.
append ls_selopt to ls_selections-selopt_t.
endloop.
append ls_selections to lt_selections.
endif.
end-of-definition.
fill_lt_selections 'RLDNR' rldnr.
fill_lt_selections 'RRCTY' rrcty.
fill_lt_selections 'RVERS' rvers.
fill_lt_selections 'KOKRS' kokrs.
fill_lt_selections 'RBUKRS' bukrs.
fill_lt_selections 'POPER' poper.
fill_lt_selections 'RYEAR' ryear.
fill_lt_selections 'RPRCTR' prctr.
fill_lt_selections 'SPRCTR' pprctr.
fill_lt_selections 'RACCT' racct.
fill_lt_selections 'DRCRK' drcrk.
fill_lt_selections 'ACTIV' activ.
fill_lt_selections 'RHOART' rhoart.
fill_lt_selections 'RFAREA' rfarea. "note 401961
fill_lt_selections 'STAGR' stagr.
fill_lt_selections 'RTCUR' rtcur.
fill_lt_selections 'RUNIT' runit.
fill_lt_selections 'VERSA' versa.
fill_lt_selections 'EPRCTR' eprctr.
fill_lt_selections 'AFABE' afabe.
fill_lt_selections 'RMVCT' rmvct.
fill_lt_selections 'DOCCT' docct.
fill_lt_selections 'DOCNR' docnr.
fill_lt_selections 'REFDOCCT' refdocct.
fill_lt_selections 'REFDOCNR' refdocnr.
fill_lt_selections 'WERKS' werks.
fill_lt_selections 'REP_MATNR' repmatnr.
fill_lt_selections 'RSCOPE' rscope.
fill_lt_selections 'HRKFT' hrkft. "note 550972
fill_lt_selections 'SBUKRS' sbukrs. "note 550972
fill_lt_selections 'SHOART' shoart. "note 550972
fill_lt_selections 'SFAREA' sfarea. "note 550972
call function 'EC_PCA_SELECT_FROM_ARCHIVE'
exporting
i_selections = lt_selections[]
i_files_sequential_read = lr_files[]
importing
e_glpca = lt_glpca_archiv[]
exceptions
no_infostruc_found = 1.
if sy-subrc = 1.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
clear i_glpca.
loop at lt_glpca_archiv assigning to i_glpca.
append i_glpca.
endloop.
endif.
if i_glpca[] is initial. "Info,nichts gefunden
message s000.
exit.
endif.
get texts for accounts ...............................................
sort i_glpca by kokrs racct.
loop at i_glpca assigning -racct_ktext = ls_rpcak-ktext.
endloop.
Liste mit Einzelposten geeignet sortieren.............................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten sortieren'(p30).
if show_ref is initial.
sort i_glpca by rldnr ryear rbukrs rrcty rvers
docct docnr docln.
else.
sort i_glpca by rldnr kokrs ryear rbukrs rrcty rvers poper
refdocct refdocnr refdocln.
endif.
Berechtigungsprüfung und gemerkte Belege aufbereiten .................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Berechtigungsprüfungen'(p40).
clear: cnt_rldnr, cnt_kokrs, cnt_ryear, cnt_rvers, cnt_bukrs.
loop at i_glpca assigning .
Berechtigungscheck
perform check_repo_authority changing authorised.
if authorised is initial.
delete i_glpca.
s_message = 'X'.
zählen der Sätze ohne Berechtigung
auth_dbcount = auth_dbcount + 1.
else. "Weitere Bearbeitung nur für berechtigte Belege...
Zusätzlich merken der Anzahl der Ausprägungen
bestimmter Dimensionen
on change of -rbukrs
ct = '10'
importing
currency = hsl_curr.
endon.
externe Immobilienbezeichnung "ww/kb
on change of i_glpca-imkey.
if ( not -dabrz
I_length = 20
importing
e_empge = -konty.
endif.
CONCATENATE I_GLPCA-KONTY I_GLPCA-EMPGE INTO I_GLPCA-IMBEZ.
endif.
endon.
on change of i_glpca-dabrz.
call function 'REMD_IMKEY_TO_EMPGE'
exporting
i_imkey = i_glpca-imkey
i_dabrz = i_glpca-dabrz
i_length = 20
importing
e_empge = i_glpca-empge
e_konty = i_glpca-konty.
CONCATENATE I_GLPCA-KONTY I_GLPCA-EMPGE INTO I_GLPCA-IMBEZ.
endon.
Konvertierungsproblem mit PSP-Nummer bereinigen
if not -psppp.
endif.
endif.
Währungen in Hilfsfeldern speichern
if -ksl_curr = ksl_curr.
endif.
modify i_glpca.
endif.
endloop.
Nachricht, wenn nicht alle Einzelposten angezeigt werden.
if not s_message is initial.
message s407(km) with auth_dbcount.
endif.
EP ausgeben...........................................................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten ausgeben'(p50).
t_layout-detail_initial_lines = 'X'.
t_layout-detail_popup = 'X'.
t_layout-f2code = 'PIC1'. "MICP40K039857
t_layout-get_selinfos = 'X'.
t_layout-group_change_edit = 'X'. "note 576149
perform fill_listheader.
perform fieldcat_fill.
perform spec_groups_fill.
perform events_fill. "MICP40K039857
">>MICP40K039857
call function 'K_KKB_LIST_DISPLAY'
exporting
i_callback_program = 'RCOPCA02'
i_callback_user_command = 'USR_CMD'
i_callback_top_of_page = 'TOP_OF_PAGE'
I_CALLBACK_END_OF_PAGE =
I_CALLBACK_END_OF_LIST =
i_callback_pf_status_set = 'SET_PF_STATUS'
I_CALLBACK_LAYOUT_SAVE =
I_CALLBACK_FIELDCAT_SAVE =
i_tabname = 'I_GLPCA'
is_layout = t_layout
it_fieldcat = t_fieldcat
I_FCTYPE = 'R'
IT_EXCLUDING =
it_special_groups = t_spec_groups
IT_SORT =
IS_SEL_HIDE =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
tables
t_outtab = i_glpca
exceptions
others = 1.
loop at i_glpca.
select single vbeln auart augru
into (l_vbeln, l_auart, l_augru)
from vbak where vbeln = i_glpca-aubel.
if sy-subrc = 0.
move l_auart to i_glpca-v_auart.
move l_augru to i_glpca-v_augru.
modify i_glpca.
endif.
endloop.
call function 'REUSE_ALV_GRID_DISPLAY'
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
i_callback_program = 'ZRCOPCA02'
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USR_CMD'
i_structure_name = 'I_GLPCA'
is_layout = t_layout
it_fieldcat = t_fieldcat
IT_EXCLUDING =
it_special_groups = t_spec_groups
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = g_save
is_variant = g_variant
it_events = t_events
IT_EVENT_EXIT =
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = i_glpca
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.
"<<MICP40K039857
clear i_glpca.
*& Form CHECK_REPO_AUTHORITY
Check only new auth-object K_PCA *
--> p1 text
<-- p2 text
form check_repo_authority changing authorized like authorised.
fill structure for userexit in K_PCA_RESP_AUTHORITY_CHECK
data: auth like pca_i_auth. "46a MIC check K_PCA and G_GLTP
auth-bukrs = -rrcty.
clear authorized.
check PrCtr/account/activity
call function 'K_PCA_RESP_AUTHORITY_CHECK'
exporting
i_kokrs = -racct
i_vorgn = 'REPP'
i_actvt = '28'
i_auth = auth
i_no_dialog_message = 'X'
exceptions
no_authority = 1
data_missing = 2
others = 3.
if sy-subrc = 0. "ok
check ledger/version/record type
call function 'PCA_G_GLTP_AUTH_CHECK'
exporting
rldnr = -rrcty
exceptions
no_authorisation = 1
others = 2.
if sy-subrc = 0. "ok, User is authorized
authorized = 'X'.
endif.
endif.
endform. " CHECK_REPO_AUTHORITY
*& Form INIT_VARS
Initialisieren diverser Hilfsvariablen und -tabellen *
form init_vars.
data begin of nametab occurs 80. "Tabelle mit Feldern aus der RPCA2
include structure dntab.
data end of nametab.
select single * from t000
client specified
where mandt = sy-mandt.
refresh nametab.
call function 'NAMETAB_GET'
exporting
only = 'T'
tabname = 'RPCA2'
tables
nametab = nametab.
Übernehmen der Feldnamen, die auch in der GLPCA
vorkommen.
loop at nametab where fieldname ne 'KSL_CURR'
and fieldname ne 'HSL_CURR'
and fieldname ne 'EMPGE' "ww/kb
and fieldname ne 'KONTY'. "ww/kb
move nametab-fieldname to tab_fields-name.
append tab_fields.
endloop.
fill Fields of receiver for BBS "MIC46C
call function 'RSTI_REPORT_FIELDS_FIND'
exporting
e_repid = 'RCOPCA02'
e_type = 'R'
tables
it_fields = bbs_fieldtab.
correct fieldnames
read table bbs_fieldtab with key rfield = 'PRCTR'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'RPRCTR'.
modify bbs_fieldtab index sy-tabix.
endif.
read table bbs_fieldtab with key rfield = 'PPRCTR'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'SPRCTR'.
modify bbs_fieldtab index sy-tabix.
endif.
read table bbs_fieldtab with key rfield = 'BUKRS'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'RBUKRS'.
modify bbs_fieldtab index sy-tabix.
endif.
Unicode
class cl_abap_char_utilities definition load.
clear hex00 with cl_abap_char_utilities=>minchar.
clear hexff with cl_abap_char_utilities=>maxchar.
endform. " INIT_VARS
FORM FILL_LISTHEADER *
List-Header in Abhängigkeit der selektierten Daten *
form fill_listheader.
read table i_glpca index 1.
if sy-subrc ne 0.
exit.
endif.
t_listheader-typ = 'S'.
t_listheader-key = 'Ledger '(h01).
if cnt_rldnr <= 1.
t_listheader-info = i_glpca-rldnr.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Kostenrechnungskreis'(h02).
if cnt_kokrs <= 1.
t_listheader-info = i_glpca-kokrs.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Buchungskreis '(h03).
if cnt_bukrs <= 1.
t_listheader-info = i_glpca-rbukrs.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Buchungsperiode '(h04).
if cnt_poper <= 1.
t_listheader-info = i_glpca-poper.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
if cnt_ryear <= 1.
t_listheader-typ = 'S'.
t_listheader-key = 'Geschäftsjahr '(h05).
t_listheader-info = i_glpca-ryear.
append t_listheader.
endif.
t_listheader-typ = 'S'.
t_listheader-key = 'Version '(h06).
if cnt_rvers <= 1.
t_listheader-info = i_glpca-rvers.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
endform. "fill_listheader
*& Form FIELDCAT_FILL
*& Aufbau des Feldkataloges für den K_KKB_LIST_DISPLAY, *
*& bzw REUSE_ALV_LIST_DISPLAY, *
*& weitere Infos enthält die FktBaustein-Doku *
form fieldcat_fill.
data: i type i value 0.
refresh t_fieldcat.
Ledger
if cnt_rldnr > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RLDNR'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
afield-key = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Satzart
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RRCTY'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
Version
if cnt_rvers > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RVERS'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Periode
if cnt_poper > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'POPER'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Geschäftsjahr
if cnt_ryear > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RYEAR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Referenzbelegtyp
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCCT'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Typ'(t01).
afield-seltext_m = 'Belegtyp'(t02).
afield-seltext_l = 'Ref.Belegtyp'(t03).
afield-outputlen = 3. "Platz für die Sterne der Zwischensummen
if not show_ref is initial.
afield-key = 'X'.
else.
afield-no_out = 'X'.
endif.
append afield to t_fieldcat.
Referenzbelegnummer
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCNR'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Refbeleg'(t04).
afield-seltext_m = 'Refbelegnr'(t05).
afield-seltext_l = 'Ref.Belegnummer'(t06).
if not show_ref is initial.
afield-key = 'X'.
else.
afield-no_out = 'X'.
endif.
appendHi Prabhu,
You are right, problem is with Field Catalog...
When I use FM 'REUSE_ALV_GRID_DISPLAY' it is dumping...
When i tried with FM 'REUSE_ALV_LIST_DISPLAY' it is working perfectly....
how can i use FM 'REUSE_ALV_GRID_DISPLAY' without dumping????
do i need to pass any thing in FM????
Here is the dump:
Runtime Errors MESSAGE_TYPE_X
Occurred on 12/21/2006 at 01:03:24
The current application triggered a termination with a short dump.
What happened?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
Error analysis
Short text of error message:
Technical information about the message:
Message classe...... "0K "
Number.............. 000
User, transaction...
Language key........ "E"
Transaction......... "SE38 "
Program............. "SAPLSLVC "
Screen.............. "SAPLSLVC_FULLSCREEN 0500"
Screen line......... 3
Information on where termination occurred
The termination occurred in the ABAP program "SAPLSLVC " in "LINE_OUT_NEW_2".
The main program was "ZRCOPCA02 ".
The termination occurred in line 918 of the source code of the (Include)
program "LSLVCF01 "
of the source code of program "LSLVCF01 " (when calling the editor 9180).
Source code extract
008880 gs_roid-row_id = rs_row-index * -1.
008890 endif.
008900 gs_roid-sub_row_id = rs_row-rowtype+7(10).
008910 gs_poid-row_id = gs_roid-row_id.
008920 gs_poid-sub_row_id = gs_roid-sub_row_id.
008930 gs_poid-rowtype = rs_row-rowtype.
008940 gs_poid-index = rs_row-index.
008950 insert gs_poid into table rt_poid.
008960 endif.
008970 append gs_roid to rt_roid.
008980
008990 loop at rt_fieldcat assigning <ls_fieldcat> where tech ne 'X' and
009000 no_out ne 'X'.
009010
009020 if gflg_invisible = 'X'.
009030 if <ls_fieldcat>-do_sum is initial.
009040 clear gflg_invisible.
009050 continue.
009060 else.
009070 clear g_col_counter.
009080 clear gflg_invisible.
009090 endif.
009100 endif.
009110
009120 clear gs_lvc_data.
009130 clear g_style.
009140
009150 assign component
009160 <ls_fieldcat>-fieldname of structure rt_data to <g_field>.
009170 if sy-subrc ne 0.
> message x000(0k).
009190 endif.
009200
009210 g_col_counter = g_col_counter + 1.
009220
009230 gs_lvc_data-row_pos = r_row_counter.
009240 gs_lvc_data-col_pos = g_col_counter.
009250 gs_lvc_data-row_id = gs_roid-row_id.
009260 gs_lvc_data-sub_row_id = gs_roid-sub_row_id.
009270
009280 * Endtotal and average
009290 if rs_row-rowtype(1) ca 'T' and <ls_fieldcat>-do_sum = 'C'.
009300 * save the actual grouplevel information
009310 gs_grouplevels = rs_grouplevels.
009320 clear g_lines.
009330
009340 * get number of lines of the collect table
009350 describe table rt_data lines g_lines.
009360 * if there is only one line or the field has no references so
009370 * that only the first line has to be considered
Thanks,
fractal
null -
Hi every one i have a small doubt in FI report that is i have to give the following output as per the user requirement i had added all the everything in this program i had given u the entire code the only problem is if make comment for the code of city and postal code the remaining everything is working properly and if i remove comment at CITY and POSTAL CODE there is some error can u find out that and help me please
* Ist-Einzelpostenanzeige EC-PCA *
* - direkte Aufruf *
* - Report Writer *
* - Recherche *
* 45b MIC: default values for poper and ryear depfr. fiscyear variant *
* 46a MIC Warning if too few selection parameters *
* 46a MIC: use up to 'whr_size' single values in select statement *
* 46a MIC: move'Initialization of Rep-Rep-Interface' to Initialization*
* 46a MIC: check only new auth-object *
* 46c MIC: add RMVCT and get more fields from RRI *
REPORT z_rcopca02_1 NO STANDARD PAGE HEADING MESSAGE-ID km
LINE-COUNT (2) LINE-SIZE 81.
* Typen ***************************************************************
*type-pools: kkblo.
TYPE-POOLS: slis, ecarc.
* DDIC-Tabellen *******************************************************
TABLES: glpca, "Einzelposten / Ist
glu1, "Übergabestruktur FI-SL-Anzeige
t000,
tka01,
sscrfields,
lfa1,
kna1,
bseg,
with_item.
* Variablen und int. Tabellen *****************************************
DATA: afield TYPE slis_fieldcat_alv,
sp_group TYPE slis_sp_group_alv,
t_listheader TYPE slis_t_listheader WITH HEADER LINE,
t_layout TYPE slis_layout_alv,
t_fieldcat TYPE slis_t_fieldcat_alv,
t_spec_groups TYPE slis_t_sp_group_alv,
event TYPE slis_alv_event,
t_events TYPE slis_t_event,
g_variant LIKE disvariant,
gx_variant LIKE disvariant,
g_exit(1) TYPE c,
g_save(1) TYPE c,
g_repid LIKE sy-repid,
msgtyp LIKE sy-msgty,
lt_dynpread LIKE dynpread OCCURS 1 WITH HEADER LINE,
ls_rpcak LIKE rpcak, "note 0310592
packsize TYPE i VALUE 1000,
text1(60) TYPE c,
text2(60) TYPE c,
oldkokrs LIKE glpca-kokrs,
oldracct LIKE glpca-racct.
DATA: whr_size TYPE i VALUE 50,"Maximum of single values per MIC 46a
"charact. in the where-clause of the select-statement
lines TYPE i, "number of lines of range table MIC 46a
cnt_rldnr TYPE i, "Zähler Anzahl selektierter Ledger
cnt_kokrs TYPE i, "Zähler Anzahl selektierter KoReKreise
cnt_poper TYPE i, "Zähler Anzahl selektierter Perioden
cnt_ryear TYPE i, "Zähler Anzahl selektierter GeschJahre
cnt_rvers TYPE i, "Zähler Anzahl selektierter Versionen
cnt_bukrs TYPE i, "Zähler Anzahl selektierter BuKreise
empge LIKE dkobr-empge,
ksl_curr LIKE tka01-pcacur,
hsl_curr LIKE t001-waers,
a_rec LIKE rstirec.
DATA: BEGIN OF dim_data.
INCLUDE STRUCTURE rgcdi. "data for dimensions
DATA: END OF dim_data.
DATA: BEGIN OF tab_fields OCCURS 80,
name LIKE dntab-fieldname, "fields in table i_glpca
END OF tab_fields.
DATA: BEGIN OF i_glpca OCCURS 0.
INCLUDE STRUCTURE rpca2.
DATA: racct_ktext LIKE rpcak-ktext,
psppp LIKE prps-posid,
name1 LIKE lfa1-name1,
adrnr like lfa1-adrnr,
stras like lfa1-stras,
c_name1 like kna1-name1,
v_rate like with_item-qsatz,
qsshb like bseg-qsshb,
qbshb like bseg-qbshb,
END OF i_glpca.
DATA: rw_subrc LIKE sy-subrc, "Flag: Report-Writer-Schnittstelle
re_subrc LIKE sy-subrc, "Flag: Recherche-Schnittstelle
subrc LIKE sy-subrc.
DATA: set_id LIKE sethier-setid, "Set-ID "RDI_SETS_4.0
set_class LIKE sethier-setclass, "Setklasse "RDI_SETS_4.0
set_sname LIKE sethier-shortname."Setname (24) "RDI_SETS_4.0
DATA: authorised(1),
s_message(1),
auth_dbcount LIKE sy-tabix,
* Hex-Konstanten für Minimum/Maximum-Werte
BEGIN OF hex00,
x1(12) TYPE c,
x2(12) TYPE c,
END OF hex00,
BEGIN OF hexff,
x1(12) TYPE c,
x2(12) TYPE c,
END OF hexff.
RANGES rclnt FOR glpca-rclnt.
FIELD-SYMBOLS: <glpca> LIKE LINE OF i_glpca,
<glpca_arc> TYPE ecarc_glpca_curr.
* Selektionsoptionen *************************************************
SELECT-OPTIONS:
rldnr FOR glpca-rldnr DEFAULT '8A' NO-DISPLAY,
rassc FOR glpca-rassc NO-DISPLAY,
* rrcty for glpca-rrcty default 0,
rrcty FOR glpca-rrcty,
rvers FOR glpca-rvers DEFAULT '000',
kokrs FOR glpca-kokrs MEMORY ID cac,
bukrs FOR glpca-rbukrs MEMORY ID buk,
* poper for glpca-poper default sy-datlo+4(2),
* ryear for glpca-ryear default sy-datlo,
poper FOR glpca-poper,
ryear FOR glpca-ryear,
prctr FOR glpca-rprctr MATCHCODE OBJECT prct,
pprctr FOR glpca-sprctr MATCHCODE OBJECT prct,
* RACCT FOR GLPCA-RACCT MATCHCODE OBJECT KART, "RD_P30K128304
racct FOR glpca-racct, "RD_P30K128304
drcrk FOR glpca-drcrk,
activ FOR glpca-activ,
rhoart FOR glpca-rhoart,
rfarea FOR glpca-rfarea,
stagr FOR glpca-stagr,
rtcur FOR glpca-rtcur,
runit FOR glpca-runit,
versa FOR glpca-versa NO-DISPLAY,
eprctr FOR glpca-eprctr NO-DISPLAY,
afabe FOR glpca-afabe NO-DISPLAY,
rmvct FOR glpca-rmvct NO-DISPLAY,
hrkft FOR glpca-hrkft NO-DISPLAY, "note 550972
sbukrs FOR glpca-sbukrs NO-DISPLAY, "note 550972
shoart FOR glpca-shoart NO-DISPLAY, "note 550972
sfarea FOR glpca-sfarea NO-DISPLAY, "note 550972
docct FOR glpca-docct,
docnr FOR glpca-docnr,
refdocct FOR glpca-refdocct,
refdocnr FOR glpca-refdocnr,
werks FOR glpca-werks,
repmatnr FOR glpca-rep_matnr MATCHCODE OBJECT pca_shlp_rep_matnr,
rscope FOR glpca-rscope.
PARAMETERS: no_rrint NO-DISPLAY DEFAULT ' '." skip "MICP40K066037
" report-report-interface
* display variant ">>MICP40K039857
SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE text-e01.
PARAMETERS: p_vari LIKE disvariant-variant.
SELECTION-SCREEN COMMENT 47(40) varname FOR FIELD p_vari.
SELECTION-SCREEN END OF BLOCK 0.
PARAMETERS log_grp(4) TYPE c NO-DISPLAY DEFAULT 'zKE5Z'.
"<<MICP40K039857
RANGES: v_racct FOR glpca-racct,
v_prctr FOR glpca-rprctr,
v_pprctr FOR glpca-sprctr.
* Tabelle mit Werten aus den Berichts-Set vom Report-Writer *
DATA BEGIN OF val_tab OCCURS 50.
INCLUDE STRUCTURE rgciv.
DATA END OF val_tab.
*************************************************** MICP30K166368
* feldkatalog und interface für bb-schnittstelle rw MICP30K166368
*************************************************** MICP30K166368
"MICP30K166368
DATA BEGIN OF bbs_fieldtab OCCURS 20. "MICP30K166368
INCLUDE STRUCTURE rstifields. "MICP30K166368
DATA END OF bbs_fieldtab. "MICP30K166368
* archiv
TYPE-POOLS: rsds.
TYPES: BEGIN OF ty_archive_objects,
object LIKE arch_obj-object,
END OF ty_archive_objects,
ty_t_archive_objects TYPE ty_archive_objects OCCURS 2.
CONSTANTS: lc_set TYPE c VALUE 'X',
lc_report TYPE progname VALUE 'ZKE5Z',
lc_reporttype TYPE reporttype VALUE 'TR'.
TABLES: admi_files.
SELECT-OPTIONS lr_files FOR admi_files-archiv_key NO-DISPLAY.
PARAMETER: read_db TYPE c DEFAULT 'X' NO-DISPLAY,
read_ar TYPE c NO-DISPLAY,
arc_obj LIKE arch_obj-object NO-DISPLAY,
read_as TYPE c DEFAULT 'X' NO-DISPLAY.
DATA : lt_arch_obj TYPE ty_t_archive_objects WITH HEADER LINE,
ls_selections TYPE rsds_frange,
lt_selections TYPE rsds_frange_t,
ls_selopt TYPE rsdsselopt,
lt_glpca_archiv TYPE ecarc_t_glpca_curr.
*********************************************************>>MICP40K039857
* INITIALIZATION
INITIALIZATION.
* Diverse Initialisierungen
PERFORM init_vars.
g_repid = sy-repid.
* Set default values for record type
rrcty-sign = 'I'.
rrcty-option = 'EQ'.
rrcty-low = '0'.
APPEND rrcty.
rrcty-low = '2'.
APPEND rrcty.
* Set default values for period and year (if kokrs or bukrs is known)
GET PARAMETER ID 'BUK' FIELD bukrs-low.
GET PARAMETER ID 'CAC' FIELD kokrs-low.
IF kokrs-low IS INITIAL "get contr. area from company code
AND NOT bukrs-low IS INITIAL.
CALL FUNCTION 'KOKRS_GET_FROM_BUKRS'
EXPORTING
i_bukrs = bukrs-low
IMPORTING
e_kokrs = kokrs-low
EXCEPTIONS
no_kokrs_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
CLEAR kokrs-low.
ENDIF.
ENDIF.
IF NOT kokrs-low IS INITIAL.
CALL FUNCTION 'K_KOKRS_READ' "get fiscal year variant
EXPORTING
kokrs = kokrs-low
IMPORTING
e_tka01 = tka01
EXCEPTIONS
not_found = 1
not_found_gjahr = 2
OTHERS = 3.
IF sy-subrc = 0.
CALL FUNCTION 'G_PERIOD_GET'
EXPORTING
date = sy-datlo
variant = tka01-lmona
IMPORTING
period = poper-low
year = ryear-low
EXCEPTIONS
ledger_not_assigned_to_company = 1
period_not_defined = 2
variant_not_defined = 3
OTHERS = 4.
IF sy-subrc = 0.
poper-sign = 'I'.
poper-option = 'EQ'.
APPEND poper.
ryear-sign = 'I'.
ryear-option = 'EQ'.
APPEND ryear.
ENDIF.
ENDIF.
ENDIF.
* Settings for display variants
g_save = 'A'. "Schalter Varianten benutz./allg. speichern
CLEAR g_variant.
g_variant-report = g_repid.
g_variant-log_group = log_grp.
g_variant-username = sy-uname.
* Get default variant
gx_variant = g_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_vari = gx_variant-variant.
ENDIF.
* Set variant
IF p_vari IS INITIAL.
p_vari = '1SAP'.
MOVE p_vari TO gx_variant-variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 1.
IF sy-subrc NE 0.
CLEAR p_vari.
CLEAR gx_variant-variant.
ENDIF.
ENDIF.
varname = gx_variant-text.
"<<MICP40K039857
* archiv
CALL FUNCTION 'KARL_DATA_INPUT_INIT'
EXPORTING
i_report = lc_report
i_reporttype = lc_reporttype
IMPORTING
e_xusedb = read_db
e_xusear = read_ar
e_archobj = arc_obj
e_infosys = read_as
TABLES
t_arch_sel = lr_files.
DATA: lt_excluding LIKE sy-ucomm OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
EXPORTING
p_status = 'SELSCREEN'
p_program = 'RCOPCA02'
TABLES
p_exclude = lt_excluding.
* Initialisieren der Bericht/Bericht-Schnittstellen *
DATA: ld_no_rrint TYPE boole_d. "note 490484 begin
IMPORT rri = ld_no_rrint FROM MEMORY ID 'RCOPCA02_NO_RRI'.
IF ld_no_rrint = 'X'.
FREE MEMORY ID 'RCOPCA02_NO_RRI'.
ELSE. "note 490484 end
CALL FUNCTION 'G_REPORT_INTERFACE_INIT' "Report-Writer?
EXPORTING "MICP30K166368
table = 'GLPCT' "MICP30K166368
IMPORTING
subrc = rw_subrc "MICP30K166368
TABLES "MICP30K166368
it_fieldr = bbs_fieldtab. "MICP30K166368
CALL FUNCTION 'RSTI_APPL_STACK_POP'"oder Recherche?
IMPORTING
i_rec = a_rec
EXCEPTIONS
appl_stack_not_initialized = 1.
re_subrc = sy-subrc.
IF re_subrc = 0.
* check Receiver is this report
IF NOT ( ( a_rec-rtool = 'RT' AND a_rec-ronam = 'Z_RCOPCA02_1' )
OR ( a_rec-rtool = 'TR' AND a_rec-ronam = 'ZKE5Z' ) ) .
re_subrc = 2.
ENDIF.
ENDIF.
ENDIF.
* AT SELCTION-SCREEN on value request**********************************
*at selection-screen on value-request for racct-low. "RD "4.6a
* "RD "4.6a
* call function 'K_RACCT_VALUE_REQUEST' "RD "4.6a
* importing "RD "4.6a
* e_racct = racct-low. "RD "4.6a
* "RD "4.6a
* "RD "4.6a
*at selection-screen on value-request for racct-high. "RD "4.6a
* "RD "4.6a
* call function 'K_RACCT_VALUE_REQUEST' "RD "4.6a
* importing "RD "4.6a
* e_racct = racct-high. "RD "4.6a
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari. "MICP40K039857
PERFORM f4_for_variant. "MICP40K039857
AT SELECTION-SCREEN ON VALUE-REQUEST FOR poper-low. "RD "4.6a
* begin of insertion note 522715
CALL FUNCTION 'K_KOKRS_READ'
EXPORTING
kokrs = kokrs-low
EXCEPTIONS
not_found = 1
not_found_gjahr = 2
OTHERS = 3.
IF sy-subrc = 0.
* end of insertion note 522715
CALL FUNCTION 'ECPCA_RPMAX_VALUE_REQUEST' "RD "4.6a
EXPORTING "RD "4.6a
i_kokrs = kokrs-low "RD "4.6a
i_ryear = ryear-low "RD "4.6a
IMPORTING "RD "4.6a
e_rpmax = poper-low "RD "4.6a
* begin of insertion note 522715
EXCEPTIONS
table_empty = 1.
ENDIF.
* end of insertion note 522715
AT SELECTION-SCREEN ON VALUE-REQUEST FOR poper-high. "RD "4.6a
* begin of insertion note 522715
CALL FUNCTION 'K_KOKRS_READ'
EXPORTING
kokrs = kokrs-low
EXCEPTIONS
not_found = 1
not_found_gjahr = 2
OTHERS = 3.
IF sy-subrc = 0.
* end of insertion note 522715
CALL FUNCTION 'ECPCA_RPMAX_VALUE_REQUEST' "RD "4.6a
EXPORTING "RD "4.6a
i_kokrs = kokrs-low "RD "4.6a
i_ryear = ryear-low "RD "4.6a
IMPORTING "RD "4.6a
e_rpmax = poper-high "RD "4.6a
* begin of insertion note 522715
EXCEPTIONS
table_empty = 1.
ENDIF.
* end of insertion note 522715
* AT SELCTION-SCREEN ***************************************************
AT SELECTION-SCREEN.
PERFORM pai_of_selection_screen.
* begin of insertion note 522715
IF NOT kokrs-low IS INITIAL.
CALL FUNCTION 'K_KOKRS_READ'
EXPORTING
kokrs = kokrs-low
EXCEPTIONS
not_found = 1
not_found_gjahr = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE e101(ki) WITH kokrs-low.
ENDIF.
ENDIF.
* end of insertion note 522715
* archiv
IF sy-ucomm = 'FC01' OR sy-ucomm = 'UCDS'
OR sy-ucomm = 'ONLI' AND read_ar = 'X'
AND read_as IS INITIAL AND lr_files[] IS INITIAL.
IF lt_arch_obj[] IS INITIAL.
lt_arch_obj-object = 'PCA_OBJECT'. APPEND lt_arch_obj.
lt_arch_obj-object = 'EC_PCA_ITM'. APPEND lt_arch_obj.
ENDIF.
CALL FUNCTION 'KARL_DATA_INPUT_SELECT'
EXPORTING
i_db_and_arc = lc_set
i_infosys_possible = lc_set
i_object_fixed = 'V'
i_documentation = 'KARL_DATA_INPUT_SEL_KE5YZ'
i_report = lc_report
i_reporttype = lc_reporttype
TABLES
t_objects = lt_arch_obj
t_arch_sel = lr_files
CHANGING
c_xusedb = read_db
c_xusear = read_ar
c_archobj = arc_obj
c_infosys = read_as.
ENDIF.
* START-OF-SELECTION **************************************************
START-OF-SELECTION.
* Default-Werte löschen, falls Aufruf über Recherche
* oder Report-Writer erfolgt ist
IF no_rrint IS INITIAL AND ld_no_rrint IS INITIAL. "note 490484
IF rw_subrc EQ 0 OR re_subrc EQ 0.
REFRESH: rldnr, rrcty, rvers, kokrs, bukrs, poper, ryear,
racct, prctr, pprctr, drcrk, activ, rhoart, rfarea,
versa, afabe, eprctr,
v_racct, v_prctr, v_pprctr.
CLEAR: rldnr, rrcty, rvers, kokrs, bukrs, poper, ryear,
racct, prctr, pprctr, drcrk, activ, rhoart, rfarea,
versa, afabe, eprctr,
v_racct, v_prctr, v_pprctr.
IF NOT read_as IS INITIAL. "note 625581
CLEAR: lr_files, lr_files[]. "note 625581
ENDIF. "note 625581
ENDIF.
* Parameter einlesen über Report-Writer-Schnittstelle *
IF rw_subrc EQ 0.
PERFORM rw_get_parameters.
* oder Parameter einlesen über Recherche-Schnittstelle *
ELSEIF re_subrc EQ 0.
PERFORM re_get_parameters.
ENDIF.
ENDIF.
IF read_db = 'X'. " read from DB (archiv)
* Bewegungsdaten einlesen und puffern...................................
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = 'Einzelposten selektieren'(p10).
* Use dirty trick to mislead DB-optimizer
CALL FUNCTION 'DB_DO_NOT_USE_CLIENT_INDEX'
EXPORTING
value = sy-mandt
TABLES
mandttab = rclnt.
SELECT (tab_fields) FROM glpca
CLIENT SPECIFIED
PACKAGE SIZE packsize
APPENDING CORRESPONDING FIELDS OF TABLE i_glpca
WHERE rldnr IN rldnr
AND rrcty IN rrcty
AND rvers IN rvers
AND kokrs IN kokrs
AND rbukrs IN bukrs
AND ryear IN ryear
AND rassc IN rassc
AND hrkft IN hrkft "note 550972
AND sbukrs IN sbukrs "note 550972
AND shoart IN shoart "note 550972
AND sfarea IN sfarea "note 550972
AND racct IN racct
AND rprctr IN prctr
AND sprctr IN pprctr
AND poper IN poper
AND drcrk IN drcrk
AND activ IN activ
AND rhoart IN rhoart
AND rfarea IN rfarea
AND versa IN versa
AND eprctr IN eprctr
AND afabe IN afabe
AND rmvct IN rmvct
AND docct IN docct
AND docnr IN docnr
AND stagr IN stagr
AND rtcur IN rtcur
AND runit IN runit
AND refdocct IN refdocct
AND refdocnr IN refdocnr
AND werks IN werks
AND rep_matnr IN repmatnr "RDIP40K020663
AND rscope IN rscope "RDIP40K020663
AND rclnt IN rclnt. "dirty trick to mislead DB-optimizer
IF sy-dbcnt > 1.
text1 = sy-dbcnt.
CONDENSE text1.
CONCATENATE text1 text-m01 INTO text2 SEPARATED BY space.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = text2. " ... Datensätze gelesen
ENDIF.
ENDSELECT.
* Entfernt nicht zugehörige Einträge....................................
LOOP AT i_glpca WHERE ( NOT rprctr IN v_prctr )
or ( not SPRCTR in v_pprctr )
OR ( NOT racct IN v_racct ).
DELETE i_glpca.
ENDLOOP.
ENDIF.
*archiv
IF read_ar = 'X' AND NOT
( read_as IS INITIAL AND lr_files[] IS INITIAL ).
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = 'Lesen im Archiv'(p12).
DEFINE fill_lt_selections.
if not &2[] is initial.
clear ls_selections.
move &1 to ls_selections-fieldname.
loop at &2.
clear ls_selopt.
move-corresponding &2 to ls_selopt.
append ls_selopt to ls_selections-selopt_t.
endloop.
append ls_selections to lt_selections.
endif.
END-OF-DEFINITION.
fill_lt_selections 'RLDNR' rldnr.
fill_lt_selections 'RRCTY' rrcty.
fill_lt_selections 'RVERS' rvers.
fill_lt_selections 'KOKRS' kokrs.
fill_lt_selections 'RBUKRS' bukrs.
fill_lt_selections 'POPER' poper.
fill_lt_selections 'RYEAR' ryear.
fill_lt_selections 'RPRCTR' prctr.
fill_lt_selections 'SPRCTR' pprctr.
fill_lt_selections 'RACCT' racct.
fill_lt_selections 'DRCRK' drcrk.
fill_lt_selections 'ACTIV' activ.
fill_lt_selections 'RHOART' rhoart.
fill_lt_selections 'RFAREA' rfarea. "note 401961
fill_lt_selections 'STAGR' stagr.
fill_lt_selections 'RTCUR' rtcur.
fill_lt_selections 'RUNIT' runit.
fill_lt_selections 'VERSA' versa.
fill_lt_selections 'EPRCTR' eprctr.
fill_lt_selections 'AFABE' afabe.
fill_lt_selections 'RMVCT' rmvct.
fill_lt_selections 'DOCCT' docct.
fill_lt_selections 'DOCNR' docnr.
fill_lt_selections 'REFDOCCT' refdocct.
fill_lt_selections 'REFDOCNR' refdocnr.
fill_lt_selections 'WERKS' werks.
fill_lt_selections 'REP_MATNR' repmatnr.
fill_lt_selections 'RSCOPE' rscope.
fill_lt_selections 'HRKFT' hrkft. "note 550972
fill_lt_selections 'SBUKRS' sbukrs. "note 550972
fill_lt_selections 'SHOART' shoart. "note 550972
fill_lt_selections 'SFAREA' sfarea. "note 550972
CALL FUNCTION 'EC_PCA_SELECT_FROM_ARCHIVE'
EXPORTING
i_selections = lt_selections[]
i_files_sequential_read = lr_files[]
IMPORTING
e_glpca = lt_glpca_archiv[]
EXCEPTIONS
no_infostruc_found = 1.
IF sy-subrc = 1.
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CLEAR i_glpca.
LOOP AT lt_glpca_archiv ASSIGNING <glpca_arc>
WHERE ( rprctr IN v_prctr )
and ( sprctr IN v_pprctr )
AND ( racct IN v_racct ).
MOVE-CORRESPONDING <glpca_arc> TO i_glpca.
APPEND i_glpca.
ENDLOOP.
* delete duplicate records note 639647
IF NOT read_db IS INITIAL AND NOT lt_glpca_archiv[] IS INITIAL.
SORT i_glpca.
DELETE ADJACENT DUPLICATES FROM i_glpca.
ENDIF.
ENDIF.
IF i_glpca[] IS INITIAL. "Info,nichts gefunden
MESSAGE s000.
EXIT.
ENDIF.
* get texts for accounts ...............................................
SORT i_glpca BY kokrs racct.
LOOP AT i_glpca ASSIGNING <glpca>.
IF <glpca>-kokrs <> oldkokrs OR <glpca>-racct <> oldracct. "AT NEW
CLEAR ls_rpcak.
oldkokrs = <glpca>-kokrs.
oldracct = <glpca>-racct.
CALL FUNCTION 'K_RACCT_SINGLE_CHECK' "note 0310592
EXPORTING
i_kokrs = <glpca>-kokrs
i_racct = <glpca>-racct
i_spras = sy-langu
i_textflag = 'X'
IMPORTING
e_rpcak = ls_rpcak
EXCEPTIONS
not_valid = 1
OTHERS = 2.
IF sy-subrc NE 0.
CLEAR ls_rpcak.
ENDIF.
ENDIF. "ENDAT
<glpca>-racct_ktext = ls_rpcak-ktext.
* Fetching vendor name from vendor number
*break-point.
SELECT SINGLE * FROM LFA1
WHERE LIFNR = <glpca>-LIFNR AND
SPRAS = SY-LANGU.
IF SY-SUBRC eq 0.
<glpca>-name1 = lfa1-name1.
<glpca>-adrnr = lfa1-adrnr.
<glpca>-stras = lfa1-stras.
ENDIF.
* Fetching customer name from customer number
SELECT SINGLE * FROM kna1
WHERE KUNNR = <glpca>-KUNNR.
IF SY-SUBRC eq 0.
<glpca>-c_name1 = kna1-name1.
ENDIF.
SELECT SINGLE * FROM bseg
WHERE BUKRS EQ <glpca>-rbukrs AND
BELNR EQ <glpca>-refdocnr AND
GJAHR EQ <glpca>-ryear AND
KTOSL EQ 'WIT' AND
BUZEI EQ <glpca>-refdocln.
IF SY-SUBRC eq 0.
SELECT SINGLE * FROM WITH_ITEM
WHERE BUKRS EQ <glpca>-rbukrs AND
BELNR EQ <glpca>-refdocnr AND
GJAHR EQ <glpca>-ryear." AND
* BUZEI EQ <glpca>-refdocln AND
* WITHT EQ BSEG-QSSKZ.
IF SY-SUBRC eq 0.
<glpca>-v_rate = with_item-qsatz.
<glpca>-qsshb = with_item-WT_QSSHB.
<glpca>-qbshb = with_item-WT_QBSHB.
ENDIF.
ENDIF
ENDLOOP.
* Liste mit Einzelposten geeignet sortieren.............................
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = 'Einzelposten sortieren'(p30).
* if show_ref is initial.
* sort i_glpca by rldnr ryear rbukrs rrcty rvers
* docct docnr docln.
* else.
SORT i_glpca BY rldnr kokrs ryear rbukrs rrcty rvers poper
refdocct refdocnr refdocln.
* endif.
* Berechtigungsprüfung und gemerkte Belege aufbereiten .................
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = 'Berechtigungsprüfungen'(p40).
CLEAR: cnt_rldnr, cnt_kokrs, cnt_ryear, cnt_rvers, cnt_bukrs.
LOOP AT i_glpca ASSIGNING <glpca>.
* Berechtigungscheck
PERFORM check_repo_authority CHANGING authorised.
IF authorised IS INITIAL.
DELETE i_glpca.
s_message = 'X'.
* zählen der Sätze ohne Berechtigung
auth_dbcount = auth_dbcount + 1.
ELSE. "Weitere Bearbeitung nur für berechtigte Belege...
* Zusätzlich merken der Anzahl der Ausprägungen
* bestimmter Dimensionen
ON CHANGE OF <glpca>-rldnr.
ADD 1 TO cnt_rldnr.
ENDON.
ON CHANGE OF <glpca>-kokrs.
ADD 1 TO cnt_kokrs.
CALL FUNCTION 'G_CURRENCY_FROM_CT_GET'
EXPORTING
ct = '90'
kokrs = <glpca>-kokrs
rldnr = <glpca>-rldnr
IMPORTING
currency = ksl_curr.
ENDON.
ON CHANGE OF <glpca>-poper.
ADD 1 TO cnt_poper.
ENDON.
ON CHANGE OF <glpca>-ryear.
ADD 1 TO cnt_ryear.
ENDON.
ON CHANGE OF <glpca>-rvers.
ADD 1 TO cnt_rvers.
ENDON.
ON CHANGE OF <glpca>-rbukrs.
ADD 1 TO cnt_bukrs.
CALL FUNCTION 'G_CURRENCY_FROM_CT_GET'
EXPORTING
bukrs = <glpca>-rbukrs
ct = '10'
IMPORTING
currency = hsl_curr.
ENDON.
* externe Immobilienbezeichnung "ww/kb
* on change of i_glpca-imkey.
IF ( NOT <glpca>-imkey IS INITIAL ).
CALL FUNCTION 'REMD_IMKEY_TO_EMPGE'
EXPORTING
i_imkey = <glpca>-imkey
i_dabrz = <glpca>-dabrz
* I_length = 20
IMPORTING
e_empge = <glpca>-empge
e_konty = <glpca>-konty
EXCEPTIONS
not_found = 1.
IF sy-subrc NE 0.
CLEAR <glpca>-empge.
CLEAR <glpca>-konty.
ENDIF.
* CONCATENATE I_GLPCA-KONTY I_GLPCA-EMPGE INTO I_GLPCA-IMBEZ.
ENDIF.
* endon.
* on change of i_glpca-dabrz.
* call function 'REMD_IMKEY_TO_EMPGE'
* exporting
* i_imkey = i_glpca-imkey
* i_dabrz = i_glpca-dabrz
** i_length = 20
* importing
* e_empge = i_glpca-empge
* e_konty = i_glpca-konty.
** CONCATENATE I_GLPCA-KONTY I_GLPCA-EMPGE INTO I_GLPCA-IMBEZ.
* endon.
* Konvertierungsproblem mit PSP-Nummer bereinigen
IF NOT <glpca>-ps_psp_pnr IS INITIAL.
IF <glpca>-ps_psp_pnr EQ space.
CLEAR <glpca>-ps_psp_pnr.
ELSE.
WRITE <glpca>-ps_psp_pnr TO <glpca>-psppp.
CALL FUNCTION 'CONVERSION_EXIT_ABPSN_INPUT'
EXPORTING
input = <glpca>-psppp
IMPORTING
output = <glpca>-psppp.
ENDIF.
ENDIF.
* Währungen in Hilfsfeldern speichern
IF <glpca>-hsl_curr IS INITIAL.
<glpca>-hsl_curr = hsl_curr.
ENDIF.
IF <glpca>-ksl_curr IS INITIAL.
<glpca>-ksl_curr = ksl_curr.
ENDIF.
* modify i_glpca.
ENDIF.
ENDLOOP.
* Nachricht, wenn nicht alle Einzelposten angezeigt werden.
IF NOT s_message IS INITIAL.
MESSAGE s407(km) WITH auth_dbcount.
ENDIF.
* EP ausgeben...........................................................
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = 'Einzelposten ausgeben'(p50).
t_layout-detail_initial_lines = 'X'.
t_layout-detail_popup = 'X'.
t_layout-f2code = 'PIC1'. "MICP40K039857
t_layout-get_selinfos = 'X'.
t_layout-group_change_edit = 'X'. "note 576149
PERFORM fill_listheader.
PERFORM fieldcat_fill.
PERFORM spec_groups_fill.
PERFORM events_fill. "MICP40K039857
">>MICP40K039857
* call function 'K_KKB_LIST_DISPLAY'
* exporting
* i_callback_program = 'Z_RCOPCA02_1
* i_callback_user_command = 'USR_CMD'
* i_callback_top_of_page = 'TOP_OF_PAGE'
** I_CALLBACK_END_OF_PAGE =
** I_CALLBACK_END_OF_LIST =
* i_callback_pf_status_set = 'SET_PF_STATUS'
** I_CALLBACK_LAYOUT_SAVE =
** I_CALLBACK_FIELDCAT_SAVE =
* i_tabname = 'I_GLPCA'
* is_layout = t_layout
* it_fieldcat = t_fieldcat
** I_FCTYPE = 'R'
** IT_EXCLUDING =
* it_special_groups = t_spec_groups
** IT_SORT =
** IS_SEL_HIDE =
** I_SCREEN_START_COLUMN = 0
** I_SCREEN_START_LINE = 0
** I_SCREEN_END_COLUMN = 0
** I_SCREEN_END_LINE = 0
* tables
* t_outtab = i_glpca
* exceptions
* others = 1.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
* CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
i_callback_program = 'Z_RCOPCA02_1'
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USR_CMD'
i_structure_name = 'I_GLPCA'
is_layout = t_layout
it_fieldcat = t_fieldcat
* IT_EXCLUDING =
it_special_groups = t_spec_groups
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = g_save
is_variant = g_variant
it_events = t_events
* IT_EVENT_EXIT =
* IS_PRINT =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = i_glpca
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.
"<<MICP40K039857
CLEAR i_glpca.
*& Form CHECK_REPO_AUTHORITY
* Check only new auth-object K_PCA *
* --> p1 text
* <-- p2 text
FORM check_repo_authority CHANGING authorized LIKE authorised.
* fill structure for userexit in K_PCA_RESP_AUTHORITY_CHECK
DATA: auth LIKE pca_i_auth. "46a MIC check K_PCA and G_GLTP
auth-bukrs = <glpca>-rbukrs.
auth-rldnr = <glpca>-rldnr.
auth-rvers = <glpca>-rvers.
auth-rrcty = <glpca>-rrcty.
CLEAR authorized.
* check PrCtr/account/activity
CALL FUNCTION 'K_PCA_RESP_AUTHORITY_CHECK'
EXPORTING
i_kokrs = <glpca>-kokrs
i_prctr = <glpca>-rprctr
i_kstar = <glpca>-racct
i_vorgn = 'REPP'
i_actvt = '28'
i_auth = auth
i_no_dialog_message = 'X'
EXCEPTIONS
no_authority = 1
data_missing = 2
OTHERS = 3.
IF sy-subrc = 0. "ok
* check ledger/version/record type
CALL FUNCTION 'PCA_G_GLTP_AUTH_CHECK'
EXPORTING
rldnr = <glpca>-rldnr
rvers = <glpca>-rvers
rrcty = <glpca>-rrcty
EXCEPTIONS
no_authorisation = 1
OTHERS = 2.
IF sy-subrc = 0. "ok, User is authorized
authorized = 'X'.
ENDIF.
ENDIF.
ENDFORM. " CHECK_REPO_AUTHORITY
*& Form INIT_VARS
* Initialisieren diverser Hilfsvariablen und -tabellen *
FORM init_vars.
DATA BEGIN OF nametab OCCURS 80. "Tabelle mit Feldern aus der RPCA2
INCLUDE STRUCTURE dntab.
DATA END OF nametab.
SELECT SINGLE * FROM t000
CLIENT SPECIFIED
WHERE mandt = sy-mandt.
REFRESH nametab.
CALL FUNCTION 'NAMETAB_GET'
EXPORTING
only = 'T'
tabname = 'RPCA2'
TABLES
nametab = nametab.
* Übernehmen der Feldnamen, die auch in der GLPCA
* vorkommen.
LOOP AT nametab WHERE fieldname NE 'KSL_CURR'
AND fieldname NE 'HSL_CURR'
AND fieldname NE 'EMPGE' "ww/kb
AND fieldname NE 'KONTY'. "ww/kb
MOVE nametab-fieldname TO tab_fields-name.
APPEND tab_fields.
ENDLOOP.
* fill Fields of receiver for BBS "MIC46C
CALL FUNCTION 'RSTI_REPORT_FIELDS_FIND'
EXPORTING
e_repid = 'Z_RCOPCA02_1'
e_type = 'R'
TABLES
it_fields = bbs_fieldtab.
* correct fieldnames
READ TABLE bbs_fieldtab WITH KEY rfield = 'PRCTR'.
IF sy-subrc = 0.
bbs_fieldtab-rfield = 'RPRCTR'.
MODIFY bbs_fieldtab INDEX sy-tabix.
ENDIF.
READ TABLE bbs_fieldtab WITH KEY rfield = 'PPRCTR'.
IF sy-subrc = 0.
bbs_fieldtab-rfield = 'SPRCTR'.
MODIFY bbs_fieldtab INDEX sy-tabix.
ENDIF.
READ TABLE bbs_fieldtab WITH KEY rfield = 'BUKRS'.
IF sy-subrc = 0.
bbs_fieldtab-rfield = 'RBUKRS'.
MODIFY bbs_fieldtab INDEX sy-tabix.
ENDIF.
* Unicode
CLASS cl_abap_char_utilities DEFINITION LOAD.
CLEAR hex00 WITH cl_abap_char_utilities=>minchar.
CLEAR hexff WITH cl_abap_char_utilities=>maxchar.
ENDFORM. " INIT_VARS
* FORM FILL_LISTHEADER *
* List-Header in Abhängigkeit der selektierten Daten *
FORM fill_listheader.
READ TABLE i_glpca INDEX 1.
IF sy-subrc NE 0.
EXIT.
ENDIF.
t_listheader-typ = 'S'.
t_listheader-key = 'Ledger '(h01).
IF cnt_rldnr <= 1.
t_listheader-info = i_glpca-rldnr.
ELSE.
t_listheader-info = '*'.
ENDIF.
APPEND t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Kostenrechnungskreis'(h02).
IF cnt_kokrs <= 1.
t_listheader-info = i_glpca-kokrs.
ELSE.
t_listheader-info = '*'.
ENDIF.
APPEND t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Buchungskreis '(h03).
IF cnt_bukrs <= 1.
t_listheader-info = i_glpca-rbukrs.
ELSE.
t_listheader-info = '*'.
ENDIF.
APPEND t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Buchungsperiode '(h04).
IF cnt_poper <= 1.
t_listheader-info = i_glpca-poper.
ELSE.
t_listheader-info = '*'.
ENDIF.
APPEND t_listheader.
IF cnt_ryear <= 1.
t_listheader-typ = 'S'.
t_listheader-key = 'Geschäftsjahr '(h05).
t_listheader-info = i_glpca-ryear.
APPEND t_listheader.
ENDIF.
t_listheader-typ = 'S'.
t_listheader-key = 'Version '(h06).
IF cnt_rvers <= 1.
t_listheader-info = i_glpca-rvers.
ELSE.
t_listheader-info = '*'.
ENDIF.
APPEND t_listheader.
ENDFORM. "fill_listheader
*& Form FIELDCAT_FILL
*& Aufbau des Feldkataloges für den K_KKB_LIST_DISPLAY, *
*& bzw REUSE_ALV_LIST_DISPLAY, *
*& weitere Infos enthält die FktBaustein-Doku *
FORM fieldcat_fill.
DATA: i TYPE i VALUE 0.
REFRESH t_fieldcat.
* Ledger
* if cnt_rldnr > 1.
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RLDNR'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
* afield-key = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '1'.
APPEND afield TO t_fieldcat.
* endif.
* Satzart
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RRCTY'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
APPEND afield TO t_fieldcat.
* Version
* if cnt_rvers > 1.
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RVERS'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
APPEND afield TO t_fieldcat.
* endif.
* Periode
* if cnt_poper > 1.
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'POPER'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
APPEND afield TO t_fieldcat.
* endif.
* Geschäftsjahr
* if cnt_ryear > 1.
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RYEAR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
APPEND afield TO t_fieldcat.
* endif.
* Referenzbelegtyp
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCCT'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Typ'(t01).
afield-seltext_m = 'Belegtyp'(t02).
afield-seltext_l = 'Ref.Belegtyp'(t03).
afield-outputlen = 3. "Platz für die Sterne der Zwischensummen
* if not show_ref is initial.
afield-key = 'X'.
* else.
* afield-no_out = 'X'.
* endif.
APPEND afield TO t_fieldcat.
* Referenzbelegnummer
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCNR'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Refbeleg'(t04).
afield-seltext_m = 'Refbelegnr'(t05).
afield-seltext_l = 'Ref.Belegnummer'(t06).
* if not show_ref is initial.
afield-key = 'X'.
* else.
* afield-no_out = 'X'.
* endif.
APPEND afield TO t_fieldcat.
* Referenzbelegzeile
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCLN'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Zeile'(t07).
afield-seltext_m = 'Belegzeile'(t08).
afield-seltext_l = 'Ref.Belegzeile'(t09).
* if not show_ref is initial.
afield-key = 'X'.
* else.
* afield-no_out = 'X'.
* endif.
APPEND afield TO t_fieldcat.
* Belegtyp PCA
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'DOCCT'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '1'.
afield-outputlen = 3. "Platz für die Sterne der Zwischensummen
* if show_ref is initial.
afield-key = 'X'.
* else.
afield-no_out = 'X'.
* endif.
APPEND afield TO t_fieldcat.
* Belegnummer PCA
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'DOCNR'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '1'.
* if show_ref is initial.
afield-key = 'X'.
* else.
afield-no_out = 'X'.
* endif.
APPEND afield TO t_fieldcat.
* Belegzeile PCA
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'DOCLN'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '1'.
* if show_ref is initial.
afield-key = 'X'.
* else.
afield-no_out = 'X'.
* endif.
APPEND afield TO t_fieldcat.
* Kostenrechnungskreis
* if cnt_kokrs > 1.
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'KOKRS'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
afield-sp_group = '7'.
APPEND afield TO t_fieldcat.
* endif.
* Buchungskreis
* if cnt_bukrs > 1.
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RBUKRS'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
afield-seltext_s = 'BuKrs'(b01).
afield-seltext_m = 'BuKrs'(b02).
afield-seltext_l = 'Empfänger-BuKrs'(b03).
afield-sp_group = '8'.
APPEND afield TO t_fieldcat.
* endif.
* Profit Center
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RPRCTR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '7'.
APPEND afield TO t_fieldcat.
* Eliminierungs-Profit-Center
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'EPRCTR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '7'.
APPEND afield TO t_fieldcat.
* Sender-Profit-Center
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'SPRCTR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '7'.
APPEND afield TO t_fieldcat.
* Konto
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RACCT'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '7'.
APPEND afield TO t_fieldcat.
ADD 1 TO i.
* Kontentext
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RACCT_KTEXT'.
afield-no_sum = 'X'.
afield-ref_tabname = 'RPCAK'.
afield-ref_fieldname = 'KTEXT'.
afield-seltext_s = 'Kont-txt.'(m11).
afield-seltext_m = 'Kontentext'(m12).
afield-seltext_l = 'Kontentext'(m13).
afield-sp_group = '7'.
APPEND afield TO t_fieldcat.
ADD 1 TO i.
* Statistische Kennzahl
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'STAGR'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '12'.
APPEND afield TO t_fieldcat.
* Soll/Haben-Kennzeichen
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'DRCRK'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
APPEND afield TO t_fieldcat.
* Wert in Profit-Center-Währung
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'KSL'.
afield-do_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
* AFIELD-SELTEXT_S = 'PrCtr-Hauswhr.'(P01).
* AFIELD-SELTEXT_M = 'PrCtr-Hauswährung'(P02).
* AFIELD-SELTEXT_L = 'Profit-Center-Hauswährung'(P03).
afield-cfieldname = 'KSL_CURR'.
afield-sp_group = '3'.
APPEND afield TO t_fieldcat.
* Währungsschlüssel KSL
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'KSL_CURR'.
afield-ref_tabname = 'TKA01'.
afield-ref_fieldname = 'PCACUR'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
afield-seltext_s = 'PrCtrHW'(t10).
afield-seltext_m = 'Währungsschl. PrCtrHW'(t11).
afield-seltext_l = 'Währungsschl. PrCtrHW'(t12).
afield-sp_group = '3'.
APPEND afield TO t_fieldcat.
* Betrag in Hauswährung
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'HSL'.
afield-do_sum = 'X'.
afield-no_out = 'X '.
afield-ref_tabname = 'GLPCA'.
afield-cfieldname = 'HSL_CURR'.
afield-sp_group = '4'.
APPEND afield TO t_fieldcat.
* Währungsschlüssel Hauswährung
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'HSL_CURR'.
afield-ref_tabname = 'T001'.
afield-ref_fieldname = 'WAERS'.
afield-no_sum = 'X'.
afield-no_out = 'X '.
afield-seltext_s = 'BukrW.'(t13).
afield-seltext_m = 'Währungsschl. BukrW'(t14).
afield-seltext_l = 'Währungsschl. BukrW'(t15).
afield-sp_group = '4'.
APPEND afield TO t_fieldcat.
* Betrag in Transaktionswährung
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'TSL'.
afield-no_out = 'X '.
afield-ref_tabname = 'GLPCA'.
afield-cfieldname = 'RTCUR'.
afield-sp_group = '5'.
APPEND afield TO t_fieldcat.
* Währungsschlüssel Transaktionswährung
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RTCUR'.
afield-ref_tabname = 'GLPCA'.
afield-ref_fieldname = 'RTCUR'.
afield-no_sum = 'X'.
afield-no_out = 'X '.
afield-seltext_s = 'TW '(t16).
afield-seltext_m = 'Währungsschl. TW'(t17).
afield-seltext_l = 'Währungsschl. TW'(t18).
afield-sp_group = '5'.
APPEND afield TO t_fieldcat.
* Menge
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'MSL'.
afield-qfieldname = 'RUNIT'.
afield-no_out = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '6'.
APPEND afield TO t_fieldcat.
* Mengeneinheit
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RUNIT'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '6'.
APPEND afield TO t_fieldcat.
* Herkunftsobjektart
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RHOART'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '7'.
APPEND afield TO t_fieldcat.
* Funktionsbereich
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RFAREA'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '7'.
APPEND afield TO t_fieldcat.
* Objektklasse
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'RSCOPE'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
APPEND afield TO t_fieldcat.
* G/L-Vorgang
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'ACTIV'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-seltext_s = 'Vorg.'(t31).
afield-seltext_m = 'Vorgang'(t32).
afield-seltext_l = 'Betriebswirt. Vorgang'(t33).
afield-sp_group = '1'.
APPEND afield TO t_fieldcat.
* Geschäftsbereich
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'GSBER'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '8'.
APPEND afield TO t_fieldcat.
* Kostenstelle
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'KOSTL'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '9'.
APPEND afield TO t_fieldcat.
* CO-Auftrag
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'AUFNR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '9'.
APPEND afield TO t_fieldcat.
* Projekt
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'PSPPP'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
afield-sp_group = '9'.
afield-ref_tabname = 'PRPS'.
afield-ref_fieldname = 'POSID'.
APPEND afield TO t_fieldcat.
* Debitor
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'KUNNR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-seltext_s = 'Debitor'(d01).
afield-seltext_m = text-d01.
afield-seltext_l = text-d01.
afield-sp_group = '8'.
APPEND afield TO t_fieldcat.
* Customer Name
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'C_NAME1'.
afield-no_sum = 'X'.
afield-ref_tabname = 'KNA1'.
afield-no_out = 'X'.
afield-seltext_s = 'Customer Name'.
afield-seltext_m = 'Cust Name'.
afield-seltext_l = 'C Name'.
afield-sp_group = '8'.
APPEND afield TO t_fieldcat.
* Kreditor
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'LIFNR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-seltext_s = 'Kreditor'(k01).
afield-seltext_m = text-k01.
afield-seltext_l = text-k01.
afield-sp_group = '8'.
APPEND afield TO t_fieldcat.
* Vendor name
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'NAME1'.
afield-no_sum = 'X'.
afield-ref_tabname = 'LFA1'.
afield-no_out = 'X'.
afield-seltext_s = 'Vendor Name'(v01).
afield-seltext_m = text-v01.
afield-seltext_l = text-v01.
afield-sp_group = '8'.
APPEND afield TO t_fieldcat.
* Withholding tax rate
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'V_RATE'.
afield-no_sum = 'X'.
afield-ref_tabname = 'WITH_ITEM'.
afield-no_out = 'X'.
afield-seltext_s = 'Withholding tax rate'.
afield-seltext_m = 'With. tax rate'.
afield-seltext_l = 'W. Tax rate'.
afield-sp_group = '8'.
APPEND afield TO t_fieldcat.
* Withholding Tax Base Amount
ADD 1 TO i.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'QSSHB'.
afield-no_sum = 'X'.
afield-ref_tabname = 'Hi pavan.
something is definitely wrong with your code: You have an internal table for display with fields from rpca 2 and additional some more fields. I do not see a field ORT01 for CITY or PSTLZ for POSTAL CODE, at least to in table GLPCA from where the data are extracted.
You must fill PSTLZ and ORT01 (if it is for the supplier):
SELECT SINGLE * FROM LFA1
WHERE LIFNR = <glpca>-LIFNR AND
SPRAS = SY-LANGU.
IF SY-SUBRC eq 0.
<glpca>-name1 = lfa1-name1.
<glpca>-adrnr = lfa1-adrnr.
<glpca>-stras = lfa1-stras.
**** add here: ***
select single ort01 pstlz
into corresponding fields of <glpca>
from adrc
where adrnr = <glpca>-adrnr.
ENDIF.
Make sure that fields ORT01 and PSTLZ are defined for internal table i_glpca.
Regards,
Clemens -
Line overlapping row in report
I am doing maintenance in a report that runs to a time when small executes properly, but when runs for a whole month, about 165,000 pages, a dotted line (uline) overwrites the record. Someone already seen something similar before and solved.
Example below.
7010 S441100011 C. vergessen MODIFY DELETE - FORNEC.
010106 SA 100068658 311205 40592 .321,64
010106 SA 100068661 311205 40121 .806,76</b>
010106 SA 100068663 311205 40248 .335,82
010106 SA 100068667 311205 40 1.472.533,39
Now the code:
Tables *
TABLES: ska1, skat, skb1, bsis, bsega, t001, bhdgd, b0sg,
sscrfields, bkpf.
*Begin CCF 01381 - Luciano Fukunaga - EDS - 25/08/2006
TABLES: tlsep, tsp03, tsp06, t022d, t000.
*End CCF 01381 - Luciano Fukunaga - EDS - 25/08/2006
KONTTAB speichert Fremdw., S/H-Betrag in Fremdw., S/H-Betrag in Haus.
pro Sachkonto und Buchungskreis
DATA: BEGIN OF konttab OCCURS 20,
waers LIKE bkpf-waers,
wrshb(9) TYPE p DECIMALS 2,
dmshb(9) TYPE p DECIMALS 2,
END OF konttab,
BUKRTAB speichert Fremdw., S/H-Betrag in Fremdw., S/H-Betrag in Haus.
pro Buchungskreis
BEGIN OF bukrtab OCCURS 20,
waers LIKE bkpf-waers,
wrshb(9) TYPE p DECIMALS 2,
dmshb(9) TYPE p DECIMALS 2,
END OF bukrtab,
TOTALTAB1 speichert Hausw., Soll-, Haben-, S/H- und Mehrwertsteuer-
Betrag fuer alle Buchungskreise
BEGIN OF totaltab1 OCCURS 20,
hwaers LIKE bkpf-waers,
dmsol(9) TYPE p DECIMALS 2,
dmhab(9) TYPE p DECIMALS 2,
dmshb(9) TYPE p DECIMALS 2,
mdshb(9) TYPE p DECIMALS 2,
END OF totaltab1,
TOTALTAB2 speichert Hausw., Fremdwaehrung, S/H-Betrag in Fremdwaeh-
rung und Hauswaehrungskreise
BEGIN OF totaltab2 OCCURS 20,
hwaers LIKE bkpf-waers,
waers LIKE bkpf-waers,
wrshb(9) TYPE p DECIMALS 2,
dmshb(9) TYPE p DECIMALS 2,
END OF totaltab2,
SALKR speichert pro Konto, GsBer, Waehrung (FW nur bei FW-Konten) "smi
den Saldo zu G-Jahresbeginn, Ber.periodenbeginn, -ende "smi
BEGIN OF salkr OCCURS 100, "smi
bukrs LIKE skc1a-bukrs, "smi
saknr(10) TYPE c, "smi
gjahr LIKE skc1a-gjahr, "smi
gsber LIKE skc1a-gsber, "smi
hwaer LIKE skc1a-hwaer, "smi
fwaer LIKE skc1c-fwaer, "smi
umsav LIKE skc1a-umsav, "smi
slvfw LIKE skc1c-slvfw, "smi
uperf LIKE skc1a-umsav, "smi
wperf LIKE skc1c-slvfw, "smi
upert LIKE skc1a-umsav, "smi
wpert LIKE skc1c-slvfw, "smi
END OF salkr. "smi
XSKC1A = Tabelle fuer eingelesene SKC1A-Segmente "smi
DATA: BEGIN OF xskc1a OCCURS 2. "smi
INCLUDE STRUCTURE skc1a. "smi
DATA: END OF xskc1a. "smi
XSKC1C = Tabelle fuer eingelesene SKC1C-Segmente "smi
DATA: BEGIN OF xskc1c OCCURS 2. "smi
INCLUDE STRUCTURE skc1c. "smi
DATA: END OF xskc1c. "smi
Feldleiste fuer Mikrofiche-Information
DATA: BEGIN OF mikfi,
bukrs LIKE bsis-bukrs, "Buchungskreis
hkont LIKE bsis-hkont, "Sachkonto
gsber LIKE bsis-gsber, "Geschäftsbereich
budat LIKE bkpf-budat, "Buchungsdatum
END OF mikfi.
Feldleiste fuer ersten Geschaeftsbereich eines Sachkontos
Bei mehreren GSBERen wird Feldleiste AT NEW KDNUM vor 2.GSBER gelistet
DATA: BEGIN OF first_gsb,
bukrs LIKE bkpf-bukrs, "Buchungskreis
hkont LIKE skat-saknr, "Sachkonto
gsber LIKE bseg-gsber, "Geschaeftsbereich
sum1(9) TYPE p, "Soll-Summe
sum2(9) TYPE p, "Haben-Summe
sum3(9) TYPE p, "MWST-Summe
sum4(9) TYPE p, "Saldo-Summe
END OF first_gsb.
Zusatzkontierungen ZE1 - ZE3 fuer Kostenrechnung
ZE1 = Kostenstelle und Werk-Nummmer
DATA: BEGIN OF ze1,
kostltxt(13) TYPE c,
kostl LIKE bsis-kostl,
werkstxt(6) TYPE c,
werks LIKE bsis-werks,
END OF ze1,
ZE2 = Projekt-Nr. und Projekt-Vorgangsart
BEGIN OF ze2,
projntxt(15) TYPE c VALUE ' ',
projk LIKE bbseg-projk,
PROJVTXT(19) TYPE C VALUE ' ',
END OF ze2,
ZE3 = Auftrags-Nr.
BEGIN OF ze3,
aufnrtxt(15) TYPE c VALUE ' ',
aufnr LIKE bsis-aufnr,
AUFPSTXT(17) TYPE C VALUE ' ',
END OF ze3.
Fields *
DATA: sum1(9) TYPE p,
sum2(9) TYPE p,
sum3(9) TYPE p,
sum4(9) TYPE p,
soll(2) TYPE c,
haben(2) TYPE c,
konto(10) TYPE c,
i(2) TYPE p,
ums LIKE skc1a-um01s, "fuer DO VARYING "smi
umh LIKE skc1a-um01h, "fuer DO VARYING "smi
wms LIKE skc1c-wm01s, "fuer DO VARYING "smi
wmh LIKE skc1c-wm01h, "fuer DO VARYING "smi
perf(2) TYPE p, "Berichtsperiode low "smi
pert(2) TYPE p, "Berichtsperiode high "smi
perx(2) TYPE p, "akt.Berichtsperiode high "smi
year LIKE skc1a-gjahr, "Geschaeftsjahr "smi
hsaly(9) TYPE p, "HW Startbilanz Jahr "smi
hsalf(9) TYPE p, "HW Startbilanz Per. "smi
hsalt(9) TYPE p, "HW Schlussbilanz Per. "smi
fsaly(9) TYPE p, "FW Startbilanz Jahr "smi
fsalf(9) TYPE p, "FW Startbilanz Per. "smi
fsalt(9) TYPE p, "FW Schlussbilanz Per. "smi
poper LIKE t009b-poper, "Periode f. CALL FCT. "smi
PH-FLAG = '1' := Ausgabe von Informationen (Sach.)
am Anfang einer Seite
ph-flag(1) TYPE c VALUE 1,
ONE_GSB = ' ' := Initialwert, jeweils bei Neuem Sachkonto
'T' := Mindestens 1 GSBER vorhanden, Abspeichern
'F' := Mehr als 1 GSBER vorhanden, normale Ausgabe
one_gsb,
intens,
found.
FIELD-GROUPS: header, posten.
INSERT bsis-bukrs
bsis-hkont "Sachkonto-Nummer
ska1-sakan
bsis-gsber
bsis-budat
bsis-blart
bsis-belnr
bsis-waers
bsis-buzei
INTO header.
INSERT bsis-bldat
bsis-bschl
BSEG-UMSKZ
BSEGA-GKART
BSEGA-GKONT
bsis-zuonr
bsis-augdt
bsis-augbl
BSEGA-MDSHB "wird seit Rel 2.2 nicht mehr gefüllt "WK
bsega-dmsol
bsega-dmhab
bsega-dmshb
bsega-wrshb
bsis-sgtxt
bsis-vbund
bsis-xnegp
BKPF-BKTXT
ze1 ze2 ze3
INTO posten.
*Begin CCF 01381 - Luciano Fukunaga - EDS - 25/08/2006
DATA: BEGIN OF params.
INCLUDE STRUCTURE pri_params.
DATA: END OF params.
DATA: BEGIN OF save_params.
INCLUDE STRUCTURE pri_params.
DATA: END OF save_params.
DATA: BEGIN OF x001.
INCLUDE STRUCTURE t001_bf.
DATA: END OF x001.
DATA: BEGIN OF ficheline,
mandt LIKE bhdgd-mandt,
datum LIKE bhdgd-datum,
zeit LIKE bhdgd-zeit,
repif LIKE bhdgd-repif,
seqno LIKE bhdgd-seqno,
reqst LIKE bhdgd-reqst,
grpin LIKE bhdgd-grpin,
END OF ficheline.
DATA: x001z LIKE t001z_bf OCCURS 0 WITH HEADER LINE.
DATA: bhdgi-hf(1) TYPE c,
bhdgi-bkold(4) TYPE c,
bhdgi-butxt TYPE butxt,
bhdgi-ort01 TYPE ort01,
bhdgi-index(2) TYPE p,
bhdgi-index0(2) TYPE p,
bhdgi-index1(2) TYPE p,
bhdgi-index2(2) TYPE p,
bhdgi-replen LIKE sy-index,
bhdgi-unmlen LIKE sy-index,
bhdgi-p TYPE p,
bhdgi-t1(70) TYPE c,
bhdgi-t2(60) TYPE c,
bhdgi-ln LIKE pri_params-prdsn,
bhdgi-ix(1) TYPE c,
bhdgi-pc(1) TYPE c,
bhdgi-pr(1) TYPE c,
bhdgi-desti LIKE tlsep-desti,
bhdgi-tx(79) TYPE c,
bhdgi-mif(116) TYPE c,
bhdgi-mandt(3) TYPE c VALUE '000',
retcode(1) TYPE c,
xlayout LIKE tsp1d-papart,
default_layout LIKE tsp1d-papart VALUE 'X_65_132',
linsz LIKE sy-linsz,
linct LIKE sy-linct,
valid TYPE c,
sel_opt LIKE pri_params-prbig,
not_keeps LIKE pri_params-prrel,
ctext LIKE params-prtxt.
DATA: printoff(1) TYPE c VALUE '0', "Steuerung NEW-PAGE PRINT OFF.
first,
index_line(132).
DATA: pag_atual TYPE sy-pagno,
total_pag TYPE sy-pagno.
*End CCF 01381 - Luciano Fukunaga - EDS - 25/08/2006
*Begin CCF 01381 - Luciano Fukunaga - EDS - 05/09/2006
TABLES: zsytfi_files_lr.
DATA: BEGIN OF t_files_ld OCCURS 0.
INCLUDE STRUCTURE zsytfs_files_ld.
DATA: END OF t_files_ld.
DATA: BEGIN OF t_status_den OCCURS 0.
INCLUDE STRUCTURE dd07t.
DATA: END OF t_status_den.
DECLARATION OF TABLECONTROL 'TC_FILES_LD' ITSELF
CONTROLS: tc_files_ld TYPE TABLEVIEW USING SCREEN 9000.
LINES OF TABLECONTROL 'TC_FILES_LD'
DATA: g_tc_files_ld_lines LIKE sy-loopc.
DATA: ok_code LIKE sy-ucomm.
DATA: lv_path TYPE zsytgl_path-diretorio,
lv_path1 TYPE zsytgl_path-diretorio,
v_program TYPE zsytgl_path-diretorio,
v_unix LIKE admi_files-filename,
v_filenm TYPE text40,
v_path_ws TYPE zsytgl_path-diretorio,
v_len TYPE i.
CONSTANTS: c_bar_ux(01) TYPE c VALUE '/',
c_bar_ws(01) TYPE c VALUE '',
c_fln TYPE zsytgl_constants-cod_constant VALUE 'FILENM_LD'.
DATA: abaplist LIKE abaplist OCCURS 0.
DATA: list_asci LIKE soli OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF t_wind OCCURS 0,
line TYPE x.
DATA: END OF t_wind.
DATA: BEGIN OF t_wind_temp OCCURS 0,
line TYPE x.
DATA: END OF t_wind_temp.
DATA: BEGIN OF itab_zsytfi_files_lr OCCURS 0.
INCLUDE STRUCTURE zsytfi_files_lr.
DATA: END OF itab_zsytfi_files_lr.
DATA: BEGIN OF t_unix OCCURS 0,
line LIKE rlgrap-filename.
DATA: END OF t_unix.
DATA: lv_tabix TYPE sy-tabix,
v_dat LIKE zsytfi_files_lr-aedat,
v_status_antigo LIKE t_files_ld-status_txt.
CONSTANTS: lc_gap TYPE zsytgl_path-cod_interface VALUE 'FI.E.0320'.
*End CCF 01381 - Luciano Fukunaga - EDS - 05/09/2006
SELECTION-SCREEN *
begin_of_block 1.
*SELECT-OPTIONS: GESBER FOR BSIS-GSBER, "Geschaeftsbereich
FIVER FOR BSIS-VBUND, "Firmenverbund
BUSCHL FOR BSIS-BSCHL, "Buchungsschluessel
KOSTENST FOR BSIS-KOSTL, "Kostenstelle
WERK FOR BSIS-WERKS. "Werk
PARAMETERS: vbel LIKE rfpdo2-sopovbel. "vorerfasste Belege
PARAMETERS: opvw LIKE rfpdo2-sopoopvw. "nur OP-verwaltete Konten
PARAMETERS: gsbvd LIKE rfpdo3-cogbsopo.
"Geschaeftsbereichs-Verdichtung "smi2
PARAMETERS: psal LIKE rfpdo3-kosasopo.
"Kontensalden ausgeben "smi
SELECT-OPTIONS: ps_monat FOR bkpf-monat NO-EXTENSION. "Salden-Per. "smi
end_of_block 1.
*Begin CCF 01381 - Luciano Fukunaga - EDS - 22/09/2006
*SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
*PARAMETERS: p_size(006) TYPE n,
p_comp LIKE rfpdo-allgline,
p_start(006) TYPE n.
*SELECTION-SCREEN END OF BLOCK b2.
*End CCF 01381 - Luciano Fukunaga - EDS - 22/09/2006
Parameter fuer Layout *
begin_of_block 2.
*Begin CCF 01381 - Luciano Fukunaga - EDS - 22/09/2006
PARAMETERS: p_comp LIKE rfpdo-allgline.
*End CCF 01381 - Luciano Fukunaga - EDS - 22/09/2006
PARAMETERS: title LIKE rfpdo1-allgline,
listsep LIKE rfpdo-allglsep, "keine Listseparation
mikfiche LIKE rfpdo-allgmikf. "Microfische
end_of_block 2.
INITIALIZATION.
get_frame_title: 1, 2.
AT SELECTION-SCREEN. "smi
IF sscrfields-ucomm EQ 'ONLI' OR sscrfields-ucomm EQ 'PRIN'."smi
IF NOT psal IS INITIAL. "smi
Saldenausgabe-Parameter prüfen "smi
PERFORM psal_check. "smi
ELSE. "smi
keine Saldenanzeige -> Periodenauswahl dafuer loeschen "smi
DESCRIBE TABLE ps_monat LINES i. "smi
IF i NE 0 . "smi
MESSAGE w999 WITH text-403. "smi
CLEAR ps_monat. REFRESH ps_monat. "smi
ENDIF. "smi
ENDIF. "smi
ENDIF. "smi
START-OF-SELECTION *
START-OF-SELECTION.
*Begin CCF 01381 - Luciano Fukunaga - EDS - 05/09/2006
IF salva EQ 'X' AND sy-batch IS INITIAL.
CALL SCREEN 9000.
LEAVE TO TRANSACTION sy-tcode.
ELSEIF salva EQ 'X' AND sy-batch EQ 'X'.
message i999 with text-020.
uline. write: /05 'A'.
message i999 with text-021.
uline. write: /05 'B'.
message e999 with text-022.
ENDIF.
*End CCF 01381 - Luciano Fukunaga - EDS - 05/09/2006
IF NOT psal IS INITIAL. "smi
Geschäftsjahr aus Stichtag ermitteln "WK
SELECT SINGLE * FROM t001 WHERE bukrs IN sd_bukrs.
IF sy-subrc EQ 0 .
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
i_date = sd_stida
i_periv = t001-periv
IMPORTING
e_buper = poper
e_gjahr = year
EXCEPTIONS
input_false = 1
t009_notfound = 2
t009b_notfound = 3
OTHERS = 4.
IF sy-subrc = 0.
pert = poper.
ELSE.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ELSE.
pert = sd_stida+4(2).
year = sd_stida(4).
ENDIF.
perf = 1.
Periodengrenzen fuer Saldenausgabe ermitteln "smi
LOOP AT ps_monat. "smi
perf = ps_monat-low. "smi
IF perf LE 0 . "smi
perf = 1. "smi
ENDIF. "smi
pert = ps_monat-high. "smi
IF pert LT perf. "smi
pert = perf. "smi
ENDIF. "smi
perx = pert. "smi
ENDLOOP. "smi
ENDIF. "smi
Fuellen zusätzlicher DB Sel-Opts
COPY: GESBER TO SD_GSBER, FIVER TO SD_VBUND, BUSCHL TO SD_BSCHL,
KOSTENST TO SD_KOSTL, WERK TO SD_WERKS.
b0sg-xstav = vbel.
IF opvw <> ' '.
opvw = 'X'.
ENDIF.
Mikro-Fiche Informationen erwuenscht ? (Ja, falls MIKFICHE <> ' ')
MOVE: mikfiche TO bhdgd-miffl.
sy-title = text-003.
Zuweisungen fuer Batch-Heading
MOVE: sy-linsz TO bhdgd-lines,
sy-uname TO bhdgd-uname,
sy-repid TO bhdgd-repid,
sy-title TO bhdgd-line1,
title TO bhdgd-line2,
'0' TO bhdgd-inifl.
MOVE: listsep TO bhdgd-separ,
'BUKRS' TO bhdgd-domai.
soll = text-300.
haben = text-301.
GET SKB1 *
GET skb1.
IF opvw = 'X'.
CHECK skb1-xopvw = 'X'.
ENDIF.
IF t001-bukrs <> skb1-bukrs. "smi
SELECT SINGLE * FROM t001 WHERE bukrs = bsis-bukrs. "smi
ENDIF. "smi
IF NOT psal IS INITIAL. "smi
"smi
IF skb1-waers EQ t001-waers. "smi
"smi
CLEAR xskc1a. REFRESH xskc1a. "smi
CALL FUNCTION 'FOR_ALL_SKC1A' "smi
EXPORTING "smi
xbukrs = skb1-bukrs "smi
xsaknr = skb1-saknr "smi
TABLES "smi
xskc1a = xskc1a "smi
EXCEPTIONS "smi
key_incomplete = 1 "smi
not_authorized = 2 "smi
not_found = 3 "smi
OTHERS = 4. "smi
IF sy-subrc <> 3. "smi
IF sy-subrc <> 0. "smi
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno "smi
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. "smi
ENDIF. "smi
CLEAR xskc1a. "smi
LOOP AT xskc1a WHERE gjahr EQ year AND "smi
hwaer EQ skb1-waers. "smi
CLEAR salkr. "smi
MOVE-CORRESPONDING xskc1a TO salkr. "smi
MOVE ska1-sakan TO salkr-saknr. "WK
salkr-slvfw = salkr-wperf = salkr-wpert = 0 . "smi
salkr-uperf = salkr-upert = salkr-umsav. "smi
DO pert TIMES VARYING ums FROM xskc1a-um01s NEXT xskc1a-um02s"smi
VARYING umh FROM xskc1a-um01h NEXT xskc1a-um02h."smi
salkr-upert = salkr-upert + ums - umh. "smi
IF sy-index LT perf. "smi
salkr-uperf = salkr-uperf + ums - umh. "smi
ENDIF. "smi
ENDDO. "smi
COLLECT salkr. "smi
salkr-gsber = '****'. "smi
COLLECT salkr. "smi
ENDLOOP. "smi
ENDIF. "smi
"smi
ELSE. "smi
"smi
CLEAR xskc1c. REFRESH xskc1c. "smi
CALL FUNCTION 'FOR_ALL_SKC1C' "smi
EXPORTING "smi
xbukrs = skb1-bukrs "smi
xsaknr = skb1-saknr "smi
TABLES "smi
xskc1c = xskc1c "smi
EXCEPTIONS "smi
key_incomplete = 1 "smi
not_authorized = 2 "smi
not_found = 3 "smi
OTHERS = 4. "smi
IF sy-subrc <> 3. "smi
IF sy-subrc <> 0. "smi
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno "smi
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. "smi
ENDIF. "smi
CLEAR xskc1c. "smi
LOOP AT xskc1c WHERE gjahr EQ year AND "smi
fwaer EQ skb1-waers. "smi
CLEAR salkr. "smi
CLEAR salkr. "smi ?????
MOVE-CORRESPONDING xskc1c TO salkr. "smi
MOVE ska1-sakan TO salkr-saknr. "WK
salkr-wperf = salkr-wpert = salkr-slvfw. "smi
salkr-uperf = salkr-upert = salkr-umsav. "smi
DO pert TIMES VARYING ums FROM xskc1c-um01s NEXT xskc1c-um02s"smi
VARYING wms FROM xskc1c-wm01s NEXT xskc1c-wm02s"smi
VARYING umh FROM xskc1c-um01h NEXT xskc1c-um02h"smi
VARYING wmh FROM xskc1c-wm01h NEXT xskc1c-wm02h."smi
salkr-upert = salkr-upert + ums - umh. "smi
salkr-wpert = salkr-wpert + wms - wmh. "smi
IF sy-index LT perf. "smi
salkr-uperf = salkr-uperf + ums - umh. "smi
salkr-wperf = salkr-wperf + wms - wmh. "smi
ENDIF. "smi
ENDDO. "smi
COLLECT salkr. "smi
salkr-gsber = '****'. "smi
COLLECT salkr. "smi
ENDLOOP. "smi
ENDIF. "smi
ENDIF. "smi
ENDIF. "smi
GET BSIS *
GET bsis.
IF opvw = 'X'.
CHECK bsis-xopvw = 'X'.
ENDIF.
CHECK: GESBER,
FIVER,
BUSCHL,
KOSTENST,
WERK.
PERFORM fill_zusatzk.
Löschen Fremdwährungsbetrag wenn Buchungszeile nur in Hauswährung.
IF bsis-waers EQ t001-waers.
MOVE space TO bsega-wrshb.
ENDIF.
found = 'X'.
IF NOT gsbvd IS INITIAL. "smi2
bsis-gsber = '*** '. "WK "smi2
ENDIF. "smi2
EXTRACT posten.
END-OF-SELECTION.
IF found <> 'X'.
CALL FUNCTION 'POPUP_NO_LIST'.
EXIT.
ENDIF.
CLEAR bsega-mdshb. "CSS 429483/2000
SORT salkr. "smi
SORT.
*Begin CCF 01381 - Luciano Fukunaga - EDS - 31/08/2006 COMENTADO
LOOP.
AT NEW BSIS-BELNR.
WRITE: SY-VLINE,
BSIS-BUDAT DDMMYY,
BSIS-BLART,
BSIS-BELNR,
BSIS-BLDAT DDMMYY.
IF BSIS-XNEGP IS INITIAL.
WRITE: BSIS-BSCHL.
ELSE.
WRITE: BSIS-BSCHL NO-GAP.
ENDIF.
WRITE: (17) BSEGA-DMSHB NO-ZERO,
space,
BSIS-SGTXT,
132 SY-VLINE.
ENDAT.
ENDLOOP.
WRITE: SY-uline. write: /05 'A'.
*End CCF 01381 - Luciano Fukunaga - EDS - 31/08/2006 COMENTADO
LOOP.
Neuer Buchungskreis ************************************
AT NEW bsis-bukrs.
Zuweisung BUKRS fuer Batch-Heading
MOVE bsis-bukrs TO bhdgd-bukrs.
MOVE bhdgd-bukrs TO bhdgd-werte.
PERFORM new-section.
IF mikfiche EQ 'X'.
PERFORM mikfi_aktu. "BHDGD-GRPIN setzen
ENDIF.
IF t001-bukrs <> bsis-bukrs.
SELECT SINGLE * FROM t001 WHERE bukrs = bsis-bukrs.
ENDIF.
REFRESH bukrtab.
ENDAT.
Neues Sachkonto ****************************************
AT NEW bsis-hkont.
REFRESH konttab.
CLEAR skat.
CALL FUNCTION 'READ_SKA1'
EXPORTING
xktopl = t001-ktopl
xsaknr = bsis-hkont
IMPORTING
xska1 = ska1
xskat = skat.
one_gsb = ' '.
konto = ska1-sakan.
ENDAT.
Neuer Geschäftsbereich *********************************
AT NEW bsis-gsber.
IF NOT psal IS INITIAL. "wegen RESERVE n LINES "smi
CLEAR salkr. "smi
LOOP AT salkr WHERE bukrs EQ bsis-bukrs AND "smi
saknr EQ ska1-sakan AND "smi WK
gjahr EQ year AND "smi
gsber EQ bsis-gsber. "smi
EXIT. "smi
ENDLOOP. "smi
ENDIF. "smi
IF mikfiche EQ 'X'.
PERFORM mikfi_aktu. "BHDGD-GRPIN setzen
ENDIF.
CASE one_gsb.
WHEN ' '. "1.Geschaeftsbereich
one_gsb = 'T'. "Wichtig fuer Ende Geschaeftsbereich
"d.h. Speicherung in FIRST_GSB
WHEN 'T'. "2.Geschaeftsbereich
one_gsb = 'F'. "Wichtig fuer Ende Geschaeftsbereich
"d.h. Normale Ausgabe
Ausgabe der Summeninf. fuer 1.Geschaeftsbereich
SUMMARY.
IF NOT psal IS INITIAL. "smi
CLEAR salkr. "smi
LOOP AT salkr WHERE bukrs EQ first_gsb-bukrs AND"smi
saknr EQ first_gsb-hkont AND"smi
gjahr EQ year AND "smi
gsber EQ first_gsb-gsber. "smi
EXIT. "smi
ENDLOOP. "smi
ENDIF. "smi
IF psal IS INITIAL. "smi
RESERVE 5 LINES.
ELSEIF salkr-fwaer EQ space. "smi
RESERVE 6 LINES. "smi
ELSE. "smi
RESERVE 9 LINES. "smi
ENDIF. "smi
sum1 = first_gsb-sum1. "smi
sum2 = first_gsb-sum2. "smi
sum3 = first_gsb-sum3. "smi
sum4 = first_gsb-sum4. "smi
FORMAT COLOR COL_TOTAL INTENSIFIED OFF. "smi
WRITE: sy-vline, first_gsb-bukrs,
first_gsb-hkont, "WK(del)
ska1-sakan, "WK
first_gsb-gsber, '**'. "smi
PERFORM ausgabe_sum USING ' **'. "smi
uline. write: /05 'C'. ph-flag = '0'.
WHEN 'F'. "i(i>=3) Geschaeftsbereiche
Tue nichts
ENDCASE. "ONE_GSB
ph-flag = '0'.
IF psal IS INITIAL. "smi
RESERVE 9 LINES.
ELSEIF salkr-fwaer EQ space. "smi
RESERVE 10 LINES. "smi
ELSE. "smi
RESERVE 13 LINES. "smi
ENDIF. "smi
SUMMARY.
*Begin CCF 01381 - Luciano Fukunaga - EDS - 24/08/2006 DESCOMENTADO
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
WRITE: / sy-vline, bsis-bukrs,
konto,
bsis-gsber,
skat-txt50, 132 sy-vline.
*End CCF 01381 - Luciano Fukunaga - EDS - 24/08/2006 DESCOMENTADO
ENDAT.
Verarbeitung der Posten-Informationen *******************
IF mikfiche EQ 'X'.
PERFORM mikfi_aktu. "BHDGD-GRPIN setzen
ENDIF.
DETAIL.
PERFORM ausgabe_posten.
Tabelle KONTTAB fuellen
konttab-waers = bsis-waers.
konttab-wrshb = bsega-wrshb.
konttab-dmshb = bsega-dmshb.
COLLECT konttab.
Ende Geschäftsbereich ***********************************
AT END OF bsis-gsber.
IF psal IS INITIAL. "smi
RESERVE 5 LINES.
ELSEIF salkr-fwaer EQ space. "smi
RESERVE 6 LINES. "smi
ELSE. "smi
RESERVE 9 LINES. "smi
ENDIF. "smi
SUMMARY.
IF one_gsb EQ 'T'. "1.GSBER wird abgespeichert
CLEAR first_gsb.
first_gsb-bukrs = bsis-bukrs.
first_gsb-hkont = konto.
first_gsb-gsber = bsis-gsber.
first_gsb-sum1 = sum(bsega-dmsol).
first_gsb-sum2 = sum(bsega-dmhab).
first_gsb-sum3 = sum(bsega-mdshb).
first_gsb-sum4 = sum(bsega-dmshb).
ELSE.
WRITE:/,/ BSIS-BUKRS, BSIS-HKONT, BSIS-GSBER, '**'.
FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
WRITE:/ sy-vline, bsis-bukrs, konto, bsis-gsber, '**'.
ENDIF.
IF one_gsb EQ 'T'.
keine Ausgabe der GSBER-Summe, da evtl. nur ein GSBER!
ELSE.
sum1 = sum(bsega-dmsol). "smi
sum2 = sum(bsega-dmhab). "smi
sum3 = sum(bsega-mdshb). "smi
sum4 = sum(bsega-dmshb). "smi
first_gsb-gsber = bsis-gsber. "smi
PERFORM ausgabe_sum USING ' **'.
uline. write: /05 'D'.
ENDIF.
SKIP 1.
uline. write: /05 'A'.
ph-flag = '0'.
ENDAT.
Ende Sachkonto *****************************************
AT END OF bsis-hkont.
IF NOT psal IS INITIAL. "smi
RESERVE 9 LINES.
ELSEIF salkr-fwaer EQ space. "smi
RESERVE 10 LINES. "smi
ELSE. "smi
RESERVE 13 LINES. "smi
ENDIF. "smi
SKIP 1.
uline. write: /05 'A'.
SUMMARY.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE: sy-vline, bsis-bukrs, konto, '***'.
Summenberechnung + Ausgabe (Soll,Haben,Saldo)
"smi
Ausgabe von SOLL-, HABEN-, STEUER- und SALDO- Summe "smi
Zuweisungen zur Vermeidung eines Ueberlaufes "smi
sum1 = sum(bsega-dmsol). "smi
sum2 = sum(bsega-dmhab). "smi
sum3 = sum(bsega-mdshb). "smi
sum4 = sum(bsega-dmshb). "smi
PERFORM ausgabe_sum USING ' ***'.
"smi
Ausgabe der Salden ind Fremd- und in Hauswaehrung pro
Konto und Fuellen der Tabelle BUKRTAB
SKIP 1.
uline. write: /05 'A'.
WRITE: / SY-VLINE, 83 TEXT-004, 132 SY-VLINE. "UNDER BSIS-WAERS.
SKIP 1.
SORT konttab.
LOOP AT konttab.
WRITE:/ sy-vline, 83 konttab-waers. "UNDER BSIS-WAERS.
IF konttab-waers NE t001-waers.
WRITE: (18) konttab-wrshb CURRENCY konttab-waers.
ELSE.
WRITE: (18) KONTTAB-WRSHB NO-ZERO.
ENDIF.
WRITE: (17) konttab-dmshb CURRENCY t001-waers, 132 sy-vline.
MOVE-CORRESPONDING konttab TO bukrtab.
COLLECT bukrtab.
CLEAR bukrtab.
ENDLOOP.
uline. write: /05 'E'.
SKIP 1.
ENDAT.
Ende Buchungskreis *************************************
AT END OF bsis-bukrs.
IF mikfiche EQ 'X'.
bhdgd-grpin+4 = ' '. "Nur Buchungskreis anzeigen
ENDIF.
NEW-PAGE.
SUMMARY.
WRITE: sy-vline, bsis-bukrs, '****'.
WRITE: 83 T001-WAERS. "UNDER BSIS-WAERS. "smi/del
Summenberechnung + Ausgabe (Soll,Haben,Saldo)
sum1 = sum(bsega-dmsol).
sum2 = sum(bsega-dmhab).
sum3 = sum(bsega-mdshb).
sum4 = sum(bsega-dmshb).
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
PERFORM ausgabe_sum USING ' '.
Fuellen der Tabelle TOTALTAB1: Hauswaehrung, Summen fuer
Soll-, Haben-, Saldo- und Mehrwertsteuerbetrag
MOVE: t001-waers TO totaltab1-hwaers,
sum(bsega-dmsol) TO totaltab1-dmsol,
sum(bsega-dmhab) TO totaltab1-dmhab,
sum(bsega-dmshb) TO totaltab1-dmshb,
sum(bsega-mdshb) TO totaltab1-mdshb.
COLLECT totaltab1.
Ausgabe der Salden in Fremd- und in Hauswaehrung pro
Buchungskreis und Fuellen der Tabelle TOTALTAB2
SKIP 1.
uline. write: /05 'A'.
WRITE: / sy-vline, 83 text-004, "verteilt nach Waehrungen:
132 sy-vline.
SKIP 1.
SORT bukrtab.
LOOP AT bukrtab.
WRITE: sy-vline, 83 bukrtab-waers. "UNDER BSIS-WAERS.
IF bukrtab-waers NE t001-waers.
WRITE: (18) bukrtab-wrshb CURRENCY bukrtab-waers.
ELSE.
Hi Danny
thank you
i want it like the Total Invoices column should be hot linked to display the following line items of Invoices
Vendor Number | Vendor Name:XXXX | Invoices
Document Number | Reference | Account Clerk | Document Date | Posting Date | Doc Type | Amount
similarly the column Total Payments should be hot linked to display the following line items of Payments
Vendor Number | Vendor Name:XXXX | Payments
Document Number | Reference | Account Clerk | Document Date | Posting Date | Doc Type | Amount
Please suggest
Thank you -
Want to convert Sap standard report into alvgrid
HI PLEASE HELP THIS IS CODE BELOW OF SAP STANDARD REPORT CODE WANT TO CONVERT INTO ALVGRID
LEAS HELP
REPORT RFKOPR00
MESSAGE-ID FR
LINE-SIZE 132
NO STANDARD PAGE HEADING.
TABLES: B0SG,
LFA1, "Daten auf Mandantenebene
LFB1, "Daten auf Buchungskreisebene
LFB5, "Mahndaten
LFC1, "Verkehrszahlen
LFC3, "Sonderumsätze
BSIK, "Offend Posten
BKPF,
BSEG,
BSEGA.
TABLES:
BHDGD,
T001,
T001S,
*T001S,
T074T,
T074U,
TBSL,
TBSLT,
TCURX,
ADRS,
RFPDO,
RFPDO1,
RFSDO,
FAEDE.
FIELD-SYMBOLS: .
*Hilfsfelder
*---Prüfung ob mehrere Hauswährungen verarbeitet werden.
DATA: CFAKT(3) TYPE P,
CHECKSALDO(8) TYPE P,
CHECKAGOBL(8) TYPE P,
WAERS LIKE T001-WAERS,
WFLAG(1) TYPE P VALUE '0',
WAERS2 LIKE T001-WAERS,
WFLAG2(1) TYPE P VALUE '0',
PH-LINE(132) TYPE C.
*---Ermittlung aktuelles Geschäftsjahr über Funktionsbaustein.
DATA: CURRY LIKE BSIK-GJAHR.
*-Ermittlung Zahlungseingang bei Zahlungen mit Skontoabzug--
*ATA: ZVTAGE LIKE KNB4-VZS01, "Verzugstage
ZVSKONTO(8) TYPE P, "Zahlungsvolumen bei Zahlung mit Skonto
ZVNETTO(8) TYPE P, "Zahlungsvolumen bei Nettozahlung
ZVVERZUG(8) TYPE P, "Verzugstage
ZVMALVZ(8) TYPE P, "Zahlungvolumen * Verzugstage
"KNB4-VZSxx)
ZVTYP(1) TYPE C, "Skonto oder Nettozahler
ZVPER(4) TYPE C. "Periode letze Zahlung
*---Zeilenanzahl fü Adressausgabe -
DATA: ZEILENANZAHL LIKE ADRS-ANZZL VALUE 7.
DATA: KSALDO(6) TYPE P. "Saldovortrag
BEABZUG(6) TYPE P, "Berechtigte Abzüge
UBABZUG(6) TYPE P, "Unberechtigte Abzüge
JAHRAUG(6) TYPE P, "Kumulierter Jahresausgleich
KUMZINS(6) TYPE P. "Kumulierter Zins
Ausgabe der Mahndaten pro Buchungskreis.
DATA: INDEX(2) TYPE P VALUE 0.
Hilfsfelder
DATA: HF(1) TYPE C.
DATA: TXT_1(78) TYPE C, "Mahnbereich
TXT_2(78) TYPE C, "Mahnart
TXT_3(78) TYPE C, "Mahnempfänger
TXT_4(78) TYPE C, "Mahndatum
TXT_5(78) TYPE C, "Mahnstufe
TXT_6(78) TYPE C, "Mahnsperre
TXT_7(78) TYPE C, "Mahnverfahren
TXT_8(78) TYPE C. "Sachbearbeiter
DATA: BEGIN OF XMAHN OCCURS 10.
INCLUDE STRUCTURE LFB5.
DATA: END OF XMAHN.
Hilfsfelder
DATA: CHAR1(1) TYPE C.
DATA: FLAG1(1) TYPE C.
DATA: INTENS(1) TYPE C.
DATA: FLAG2(1) TYPE C.
*---- K o n s t a n t e n -
*---- DNULL zum Vergleich mit Datumsfeldern -
DATA: DNULL(8) TYPE C VALUE '00000000'.
*---- DECKBLATT = 'N' ==> Kein Deckblatt bei NEW-SECTION -
DATA: DECKBLATT TYPE C VALUE 'N'.
*---- 'H' = Hilfsfelder, die jederzeit fuer Berechnungen ver- -
*---- wendet werden koennen. -
DATA: BEGIN OF H,
STICHTAG(8),
OFFSET(2) TYPE P,
OFFSE1(2) TYPE P,
SOLL LIKE LFC1-UM01S,
HABEN LIKE LFC1-UM01H,
SALDO LIKE LFC1-UMSAV,
SHBKZ LIKE LFC3-SHBKZ, "Sonderhauptbuchkennzeichen
SALDV LIKE LFC3-SALDV, "Sonderhauptbuch-Saldovortrag
SHBLS LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-Saldo
SHBSL LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-SOLL
SHBHB LIKE LFC3-HABNL, "Sonderhauptbuch-Lfd.-HABEN
GBNUM LIKE lfC1-GBN01, "Geschaeftsber. Nummer ECKERT
GBUMS LIKE lfC1-GBU01, "Geschaeftsber. Umsatz
TEXT(15),
UMLOW LIKE BSIK-UMSKZ, "Umsatzkennzeichen
UMHIG LIKE BSIK-UMSKZ, "Umsatzkennzeichen
END OF H.
---- 'C' = Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C,
SALDO TYPE P, "Saldo
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
END OF C.
---- 'C2'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C2 OCCURS 0,
BUKRS LIKE LFC1-BUKRS,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C2.
---- 'C3'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C3,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C3.
DATA: SHBETRAG LIKE BSEGA-DMSHB. "TYPE P.
*---- 'RTAB' = Rastertabelle fuer offene Posten -
DATA: BEGIN OF RTAB OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RTAB.
*---- 'RBUS' = Rastertabelle fuer Summen pro Sachbearbeiter -
*ATA: BEGIN OF RBUS OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUS.
*---- 'RBUK' = Rastertabelle fuer Summen pro Buchungskreis -
DATA: BEGIN OF RBUK OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUK.
---- 'RSUM' = Rastertabelle pro Währung über alle Buchungskreise ---
DATA: BEGIN OF RSUM OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesperrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RSUM.
*---- interne Tabelle für Periodenabgrenzung----
RANGES: BMONAT FOR RFPDO-DOPRBMON.
---- In die Felder RP01 bis RP05 werden dynamisch die von aussen ---
*---- eingegebenen Rasterpunkte uebertragen -
DATA: RP01(2) TYPE P, " 0
RP02(2) TYPE P, " 20
RP03(2) TYPE P, " 40
RP04(2) TYPE P, " 80
RP05(2) TYPE P, " 100
RP06(3) TYPE P, " 1
RP07(3) TYPE P, " 21
RP08(3) TYPE P, " 41
RP09(3) TYPE P, " 81
RP10(3) TYPE P. " 101
*---- In die Felder RC01 bis RC10 werden die Rasterpunkte in -
---- charakterform abgestellt. (fuer REPLACE-Funktion in Variabler -
*---- Ueberschrift) -
DATA: RC01(4) TYPE C, " 0
RC02(4) TYPE C, " 20
RC03(4) TYPE C, " 40
RC04(4) TYPE C, " 80
RC05(4) TYPE C, " 100
RC06(4) TYPE C, " 1
RC07(4) TYPE C, " 21
RC08(4) TYPE C, " 41
RC09(4) TYPE C, " 81
RC10(4) TYPE C. " 101
*---- Felder für Umsatzkennzeichen -
*---- für Ausweis der Sonderumsätze----
DATA: HUMKZ1 LIKE LFC3-SHBKZ,
HUMKZ2 LIKE LFC3-SHBKZ,
HUMKZ3 LIKE LFC3-SHBKZ,
HUMKZ4 LIKE LFC3-SHBKZ,
HUMKZ5 LIKE LFC3-SHBKZ,
HUMKZ6 LIKE LFC3-SHBKZ,
HUMKZ7 LIKE LFC3-SHBKZ,
HUMKZ8 LIKE LFC3-SHBKZ,
HUMKZ9 LIKE LFC3-SHBKZ,
HUMKZ10 LIKE LFC3-SHBKZ.
*---- GBZAEHL - In diesem Feld wird vermerkt, fuer wieviele Ge- -
*---- schaeftsbereiche ein OP-Raster ausgegeben wird. -
---- Wird das Raster nur fuer einen Geschaeftsbereich ge- -
*---- druckt, so entfaellt das Summen-Raster. -
DATA: GBZAEHL(3) TYPE P.
---- TOP-FLAG '1' = bei TOP-OF-PAGE Einzelpostenueberschrift ausg. --
*---- '2' = bei TOP-OF-PAGE Ueberschrift fuer Raster ausgeb. *
*---- '3' = bei TOP-OF-PAGE ULINE ausgeben. -
---- '4' = bei TOP-OF-PAGE Stammsatzueberschrift ausgeben --
DATA: TOP-FLAG(1) TYPE C.
*---- SEL-STAMM 'J' = Stammsatz wird ausgewertet *
*---- 'N' = Stammsatz wird nicht ausgewertet *
*---- SEL-POSTN 'J' = Stammsatz hat Posten gerastert *
*---- 'N' = Stammsatz hat keine Posten gerastert *
DATA: BEGIN OF SEL,
STAMM(1) TYPE C,
POSTN(1) TYPE C,
POST2(1) TYPE C,
END OF SEL.
*---- SATZART '1' = Stammdaten -
*---- '2' = Faelligkeitsraster -
*---- '3' = Einzelposten -
DATA: SATZART(1) TYPE C.
*---- RART = Erste ausgewaehlte Rasterart -
DATA: RART(1) TYPE C.
*---- TAGE = Tage nach denen die Posten sortiert sind -
DATA: TAGE(4) TYPE P,
*---- NTAGE = Tage fuer Netto-Faelligkeit -
NTAGE(4) TYPE P,
*---- STAGE = Tage fuer Skonto1-Faelligkeit -
STAGE(4) TYPE P,
*---- ATAGE = Alter der Belege -
ATAGE(4) TYPE P,
*---- UTAGE = Tage fuer Ueber-Faelligkeit -
UTAGE(4) TYPE P.
*---- RASTERUU dient zur Sortierung der Einzelposten. Die Posten -
*---- gemaess ihrer Rasterung die Werte '1' bis '6' -
DATA: RASTERUU(1) TYPE C.
*---- RAART Rasterart -
---- Die einzelnen Felder der Feldleiste werden bei SART-OF-SELECTION
*---- mit 1 oder 0 bestueckt. -
*ATA: BEGIN OF RAART,
NET(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
SKT(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
UEB(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
END OF RAART.
DATA: BEGIN OF GB,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
END OF GB.
*---- Variable Ueberschriften -
DATA: BEGIN OF VARUEB1,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB1.
DATA: BEGIN OF VARUEB2,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB2.
DATA: VARUEB3(132),
VARUEB4(132),
VARTXT1(40),
VARTXT(40) TYPE C.
*---- Variable für Ausgabe der Sonderumsätze----
DATA: SHBBEZ LIKE T074T-LTEXT.
DATA: ASUMS TYPE P. "
*---- Interne Tabelle für Bezeichnungen der SHBKZ----
DATA: BEGIN OF BEZSHB OCCURS 10,
SHBKZ LIKE T074T-SHBKZ,
LTEXT LIKE T074T-LTEXT,
END OF BEZSHB.
*---- Interne Tabelle für Zwischenspeicherung -
DATA: BEGIN OF BLKEY,
BUKRS LIKE BSIK-BUKRS,
BELNR LIKE BSIK-BELNR,
GJAHR LIKE BSIK-GJAHR,
BUZEI LIKE BSIK-BUZEI,
END OF BLKEY.
DATA: BEGIN OF RTAGE,
NTAGE LIKE NTAGE,
STAGE LIKE STAGE,
ATAGE LIKE ATAGE,
UTAGE LIKE UTAGE,
END OF RTAGE.
DATA: BEGIN OF HBSIK OCCURS 10.
INCLUDE STRUCTURE BSIK.
INCLUDE STRUCTURE BSEGA.
INCLUDE STRUCTURE RTAGE.
DATA: END OF HBSIK.
DATA: BEGIN OF REFBL OCCURS 10.
INCLUDE STRUCTURE BLKEY.
INCLUDE STRUCTURE RTAGE.
DATA: END OF REFBL.
DATA: BEGIN OF HLFB1 OCCURS 10.
INCLUDE STRUCTURE LFB1.
DATA: END OF HLFB1.
DATA: BEGIN OF HT001 OCCURS 10.
INCLUDE STRUCTURE T001.
DATA: END OF HT001.
*---- Interne Tabelle für Ausgabe der Obligos -
DATA: BEGIN OF AOBLIGO OCCURS 12,
OBART TYPE C, "Flag für Obligoart 1 = Kontokorrent
" 2 = SHBKZ
" 3 = sonstige SHB
SHBKZ LIKE T074T-SHBKZ, "SHB-Kennzeichen
LTEXT LIKE T074T-LTEXT, "Bezeichnung
OBLIG TYPE P, "Obligobetrag
END OF AOBLIGO.
*---- Declarationen für Accessibility /ALV GRID -
data: ACC_MODE type c.
Data: UEBTEXT(22) type c.
Data: UEKTEXT(15) type c.
Data: TITTEXT(100) type c.
Data: DATTEXT(10) type c.
DATA: BEGIN OF RTAB_ALV OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIk-BUKRS,
lifnr LIKE LFA1-lifnr,
busab like lfb1-busab,
SORTL LIKE lfA1-SORTL,
LAND1 LIKE lfA1-LAND1,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
hwaer like rf140-hwaer,
RAART like RF140-RAART, "Rasterart
shkzg like bsik-shkzg,
XGUTS TYPE C, "Gutschrift
KUMUM LIKE RF140-KUMUMHW, "Umsatz
ANZAH like rf140-anzbthw, "Anzahlungen
OPSUM like RF140-gsaldd, "Offene Posten Summe
RAST1 like RF140-rast1, "Rasterfeld 1
RAST2 like RF140-rast2, "Rasterfeld 2
RAST3 like RF140-rast3, "Rasterfeld 3
RAST4 like RF140-rast4, "Rasterfeld 4
RAST5 like RF140-rast5, "Rasterfeld 5
RAST6 like RF140-rast6, "Rasterfeld 6
END OF RTAB_ALV.
*"General Data
TYPE-POOLS: SLIS.
*DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE STRUCTURE rtab_alv.
*DATA: END OF GT_OUTTAB.
Data: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
G_EXIT_CAUSED_BY_CALLER,
GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,
G_REPID LIKE SY-REPID,
G_GRID_TITLE TYPE LVC_TITLE.
*"Callback
*Data: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
G_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
Data: G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
G_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
G_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
*"Variants
DATA: GS_VARIANT LIKE DISVARIANT,
G_SAVE.
Global structure of list
fieldcatalog
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
sort
*DATA: GT_SORT TYPE SLIS_T_SORTINFO_ALV.
events
*DATA: GT_EVENTS TYPE SLIS_T_EVENT.
*----- Structure for specific color settings -
*DATA: COL_TAB_T TYPE SLIS_T_SPECIALCOL_ALV,
COL_TAB TYPE SLIS_SPECIALCOL_ALV.
DATA: G_TABNAME TYPE SLIS_TABNAME VALUE 'RTAB_ALV'.
print
*DATA: GS_PRINT TYPE SLIS_PRINT_ALV.
*---- FIELD-GROUPS -
FIELD-GROUPS:
HEADER,
STAMMDATEN,
OP-RASTER,
EINZELPOSTEN.
INSERT
LFB1-BUKRS " Buchungskreis
lfB1-BUSAB " Sachbearbeiter
LFA1-LIFNR " Kontonummer
SATZART " Satzart
RTAB-SORTK " Sortkz fuer Tabelle RTAB
" '0' = normale Eintraege
" '1' = Summeneintraege
GB " Geschaeftsbereich
" - GB-GSBER
" - GB-WAERS
RASTERUU " Kennzeichen fuer Detailposten bzw Raster
ab hier nur fuer Einzelposten -
TAGE " Rastertage fuer Detailposten
BSIK-UMSKZ " Umsatzkennzeichen
BSIK-BLART " Belegart
BSIK-ZUONR " Zuordnungsnummer
BSIK-BELNR " Belegnummer
BSIK-BUZEI " Belegzeile
INTO HEADER.
INSERT
Addressdaten
ADRS-LINE0 " 1. Zeile Adressenaufbereitung
ADRS-LINE1 " 2. " "
ADRS-LINE2 " 3. " "
ADRS-LINE3 " 4. " "
ADRS-LINE4 " 5. " "
ADRS-LINE5 " 6. " "
ADRS-LINE6 " 7. " "
ADRS-LINE7 " 8. " "
ADRS-LINE8 " 9. " "
ADRS-LINE9 " 10." "
Umsatzdaten
C-KUMUM " Umsatz
C-BABZG " Berechtigt. Abzuege
C-UABZG " Unberechtigt. Abzuege
C-KZINS " Zinszahlungen
C-KUMAG " Kum. Jahresausgleich
Obligos
C-SALDO " Saldo ohne SHB-Vorgänge
C-UMKZ1 "SHBKZ 1
C-SUMS1 "Sonderumsatz 1
C-UMKZ2 "SHBKZ 2
C-SUMS2 "Sonderumsatz 2
C-UMKZ3 "SHBKZ 3
C-SUMS3 "Sonderumsatz 3
C-UMKZ4 "SHBKZ 4
C-SUMS4 "Sonderumsatz 4
C-UMKZ5 "SHBKZ 5
C-SUMS5 "Sonderumsatz 5
C-UMKZ6 "SHBKZ 6
C-SUMS6 "Sonderumsatz 6
C-UMKZ7 "SHBKZ 7
C-SUMS7 "Sonderumsatz 7
C-UMKZ8 "SHBKZ 8
C-SUMS8 "Sonderumsatz 8
C-UMKZ9 "SHBKZ 9
C-SUMS9 "Sonderumsatz 9
C-UMKZ10 "SHBKZ 10
C-SUMS10 "Sonderumsatz 10
C-SONOB " Sonst. Obligen
Limits
C-AGOBLI " Absolutes Gesamtobligo
Zahlungdaten
LFB1-ZTERM "Zahlungsbedingung
LFB1-ZAHLS "Sperrschlüssel für Zahlung
LFB1-ZWELS "Zahlwege
LFB1-XVERR "Zahlungsverrechnung
LFB1-WEBTR "Wechsellimit
LFB1-BUSAB " Sachbearbeiter
lfa1-sortl
lfa1-land1
INTO STAMMDATEN.
INSERT
RTAB-RAART "Rasterart
RTAB-SPERR "gesperrte Posten
RTAB-KUMUM "Umsatz
RTAB-ANZAH "Anzahlungen
RTAB-OPSUM "Offene Posten Summe
RTAB-RAST1 "Rasterfeld 1
RTAB-RAST2 "Rasterfeld 2
RTAB-RAST3 "Rasterfeld 3
RTAB-RAST4 "Rasterfeld 4
RTAB-RAST5 "Rasterfeld 5
RTAB-RAST6 "Rasterfeld 6
INTO OP-RASTER.
INSERT
BSIK-BUDAT " Buchungsdatum
BSIK-BLDAT " Belegdatum
BSIK-CPUDT " CPU-Datum
BKPF-USNAM " User-ID
BSIK-WAERS " Wahrungsschluessel
BSEGA-NETDT " Nettofaelligkeitsdatum
FAEDE-NETDT " Nettofaelligkeitsdatum
BSIK-ZFBDT " Zahlungsfristen-Basisdatum
BSIK-BSCHL " Buchungsschluessel
BSIK-ZLSCH " Zahlungsschluessel
BSIK-MANST " Mahnstufe
SHBETRAG " Hauswaehrungsbetrag
BSEGA-DMSHB " Hauswaehrungsbetrag
BSEGA-WRSHB " Fremwaehrungsbetrag
INTO EINZELPOSTEN.
BEGIN_OF_BLOCK 1.
*ELECT-OPTIONS:
GESBER FOR BSIK-GSBER.
PARAMETERS:
MONAT LIKE RFPDO-DOPRBMON.
SELECT-OPTIONS:
KKSALDO2 FOR RFSDO-KOPRSAL2, "Saldovortrag
AGOBLIG2 FOR RFSDO-KOPRAGO2. "Absolutes Obligo
RGOBLIGO FOR RFSDO-DOPRRGOB. "Relatives Obligo
SELECT-OPTIONS:
LAND FOR LFA1-LAND1,
KONTENGR FOR LFA1-KTOKK,
SACHBEAR FOR LFB1-BUSAB,
AKONTS FOR LFB1-AKONT,
AKONTP FOR BSIK-HKONT.
SELECT-OPTIONS:
BUDAT FOR BSIK-BUDAT,
BLDAT FOR BSIK-BLDAT,
NETDT FOR BSEGA-NETDT.
PARAMETERS: N_BELEGE LIKE RFPDO-BPETNBEL
DEFAULT 'X', "Normale Belege.
STAT_BLG LIKE RFPDO-BPETSBEL. "Statistische Belege
END_OF_BLOCK 1.
*ELECT-OPTIONS:
BERABZU1 FOR LFC1-BABZG,
UNBABZU1 FOR LFC1-UABZG,
ZINSE1 FOR LFC1-KZINS,
JHRAUSG1 FOR LFC1-KUMAG.
BERABZUG FOR BEABZUG NO-DISPLAY, "Berechtigter Abzug
UNBABZUG FOR UBABZUG NO-DISPLAY, "Unberechtigter Abzug
ZINSEN FOR KUMZINS NO-DISPLAY, "Kumulierter Zins
JHRAUSGL FOR JAHRAUG NO-DISPLAY. "Kumulierter Jahresausgl.
BEGIN_OF_BLOCK 2.
PARAMETERS:
SORTART LIKE RFPDO1-KOPRSOAR DEFAULT '1', "Doku
VERDICHT LIKE RFPDO1-KOPRVERD DEFAULT '1', "Doku
RASTVERD LIKE RFPDO1-KOPRRAST DEFAULT '0', "Doku
KONZVERS LIKE RFPDO-DOPOKONZ, "Konzernversion
XBUKRDAT LIKE RFPDO3-ALLGBUKD DEFAULT 0, "Bukr.daten
KAUSGABE like rfpdo3-ALLGKAOR.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(30) TEXT-030.
PARAMETERS: RART-NET LIKE RFPDO-DOPRRNET DEFAULT 'X'.
SELECTION-SCREEN COMMENT 33(01) TEXT-028.
PARAMETERS: RART-SKT LIKE RFPDO-DOPRRSKT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(01) TEXT-028.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: RART-ALT LIKE RFPDO1-KOPRRALT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 03(28) TEXT-031.
SELECTION-SCREEN POSITION POS_HIGH.
PARAMETERS RBLDAT LIKE RFPDO2-KORD10BD.
SELECTION-SCREEN COMMENT 61(12) TEXT-032.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN COMMENT 37(01) TEXT-028.
PARAMETERS: RART-UEB LIKE RFPDO-DOPRRUEB DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-026.
PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
SELECTION-SCREEN COMMENT 35(02) TEXT-027.
PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '020'.
SELECTION-SCREEN COMMENT 41(02) TEXT-027.
PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '040'.
SELECTION-SCREEN COMMENT 47(02) TEXT-027.
PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '080'.
SELECTION-SCREEN COMMENT 53(02) TEXT-027.
PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '100'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-029.
PARAMETERS: FAKTOR LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN COMMENT 35(1) TEXT-028.
PARAMETERS: STELLEN LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN END OF LINE.
PARAMETERS: PZUOR LIKE RFPDO2-DOPRZUOR.
PARAMETERS: UMSATZKZ LIKE RFPDO1-DOPRSHBO. "DEFAULT 'WSABIMVD'.
PARAMETERS:
TITLE LIKE RFPDO1-ALLGLINE,
LISTSEP LIKE RFPDO-ALLGLSEP,
MIKFICHE LIKE RFPDO-ALLGMIKF.
PARAMETERS:
P_LVAR LIKE Gs_VARIANT-VARIANT DEFAULT SPACE modif id 508.
END_OF_BLOCK 2.
AT SELECTION-SCREEN OUTPUT.
if acc_mode is initial.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = '508'.
SCREEN-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
AT SELECTION-SCREEN ON AKONTS.
Konvertierung der Kontonummer
LOOP AT AKONTS.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-LOW AKONTS-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-HIGH AKONTS-HIGH.
MODIFY AKONTS.
ENDLOOP.
AT SELECTION-SCREEN ON AKONTP.
Konvertierung der Kontonummer
LOOP AT AKONTP.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-LOW AKONTP-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-HIGH AKONTP-HIGH.
MODIFY AKONTP.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LVAR.
Gs_VARIANT-REPORT = SY-REPID.
Gs_VARIANT-VARIANT = P_LVAR.
PERFORM F4_FOR_S_LVAR USING Gs_VARIANT.
P_LVAR = Gs_VARIANT-VARIANT.
AT SELECTION-SCREEN.
IF NOT RASTBIS5 IS INITIAL.
IF RASTBIS5 GT RASTBIS4
AND RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS4 IS INITIAL.
IF RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS3 IS INITIAL.
IF RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS2 IS INITIAL.
IF RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
EHi Laxman,
I have checked the program and found out following:
the field "acc_mode" which gets populated by FM "GET_ACCESSIBILITY_MODE".
If this field is initial, then normal list gets displayed and
If this field has value, then ALV grid gets displayed.
regards,
Dharitree -
Want to convert Sap standard report s_alr_87012085 into alvgrid
i Want to convert Sap standard report s_alr_87012085 into alvgrid please help me.
REPORT RFKOPR00
MESSAGE-ID FR
LINE-SIZE 132
NO STANDARD PAGE HEADING.
TABLES: B0SG,
LFA1, "Daten auf Mandantenebene
LFB1, "Daten auf Buchungskreisebene
LFB5, "Mahndaten
LFC1, "Verkehrszahlen
LFC3, "Sonderumsätze
BSIK, "Offend Posten
BKPF,
BSEG,
BSEGA.
TABLES:
BHDGD,
T001,
T001S,
*T001S,
T074T,
T074U,
TBSL,
TBSLT,
TCURX,
ADRS,
RFPDO,
RFPDO1,
RFSDO,
FAEDE.
FIELD-SYMBOLS: .
*Hilfsfelder
*---Prüfung ob mehrere Hauswährungen verarbeitet werden.
DATA: CFAKT(3) TYPE P,
CHECKSALDO(8) TYPE P,
CHECKAGOBL(8) TYPE P,
WAERS LIKE T001-WAERS,
WFLAG(1) TYPE P VALUE '0',
WAERS2 LIKE T001-WAERS,
WFLAG2(1) TYPE P VALUE '0',
PH-LINE(132) TYPE C.
*---Ermittlung aktuelles Geschäftsjahr über Funktionsbaustein.
DATA: CURRY LIKE BSIK-GJAHR.
*-Ermittlung Zahlungseingang bei Zahlungen mit Skontoabzug--
*ATA: ZVTAGE LIKE KNB4-VZS01, "Verzugstage
ZVSKONTO(8) TYPE P, "Zahlungsvolumen bei Zahlung mit Skonto
ZVNETTO(8) TYPE P, "Zahlungsvolumen bei Nettozahlung
ZVVERZUG(8) TYPE P, "Verzugstage
ZVMALVZ(8) TYPE P, "Zahlungvolumen * Verzugstage
"KNB4-VZSxx)
ZVTYP(1) TYPE C, "Skonto oder Nettozahler
ZVPER(4) TYPE C. "Periode letze Zahlung
*---Zeilenanzahl fü Adressausgabe -
DATA: ZEILENANZAHL LIKE ADRS-ANZZL VALUE 7.
DATA: KSALDO(6) TYPE P. "Saldovortrag
BEABZUG(6) TYPE P, "Berechtigte Abzüge
UBABZUG(6) TYPE P, "Unberechtigte Abzüge
JAHRAUG(6) TYPE P, "Kumulierter Jahresausgleich
KUMZINS(6) TYPE P. "Kumulierter Zins
Ausgabe der Mahndaten pro Buchungskreis.
DATA: INDEX(2) TYPE P VALUE 0.
Hilfsfelder
DATA: HF(1) TYPE C.
DATA: TXT_1(78) TYPE C, "Mahnbereich
TXT_2(78) TYPE C, "Mahnart
TXT_3(78) TYPE C, "Mahnempfänger
TXT_4(78) TYPE C, "Mahndatum
TXT_5(78) TYPE C, "Mahnstufe
TXT_6(78) TYPE C, "Mahnsperre
TXT_7(78) TYPE C, "Mahnverfahren
TXT_8(78) TYPE C. "Sachbearbeiter
DATA: BEGIN OF XMAHN OCCURS 10.
INCLUDE STRUCTURE LFB5.
DATA: END OF XMAHN.
Hilfsfelder
DATA: CHAR1(1) TYPE C.
DATA: FLAG1(1) TYPE C.
DATA: INTENS(1) TYPE C.
DATA: FLAG2(1) TYPE C.
*---- K o n s t a n t e n -
*---- DNULL zum Vergleich mit Datumsfeldern -
DATA: DNULL(8) TYPE C VALUE '00000000'.
*---- DECKBLATT = 'N' ==> Kein Deckblatt bei NEW-SECTION -
DATA: DECKBLATT TYPE C VALUE 'N'.
*---- 'H' = Hilfsfelder, die jederzeit fuer Berechnungen ver- -
*---- wendet werden koennen. -
DATA: BEGIN OF H,
STICHTAG(8),
OFFSET(2) TYPE P,
OFFSE1(2) TYPE P,
SOLL LIKE LFC1-UM01S,
HABEN LIKE LFC1-UM01H,
SALDO LIKE LFC1-UMSAV,
SHBKZ LIKE LFC3-SHBKZ, "Sonderhauptbuchkennzeichen
SALDV LIKE LFC3-SALDV, "Sonderhauptbuch-Saldovortrag
SHBLS LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-Saldo
SHBSL LIKE LFC3-SOLLL, "Sonderhauptbuch-Lfd.-SOLL
SHBHB LIKE LFC3-HABNL, "Sonderhauptbuch-Lfd.-HABEN
GBNUM LIKE lfC1-GBN01, "Geschaeftsber. Nummer ECKERT
GBUMS LIKE lfC1-GBU01, "Geschaeftsber. Umsatz
TEXT(15),
UMLOW LIKE BSIK-UMSKZ, "Umsatzkennzeichen
UMHIG LIKE BSIK-UMSKZ, "Umsatzkennzeichen
END OF H.
---- 'C' = Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C,
SALDO TYPE P, "Saldo
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
END OF C.
---- 'C2'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C2 OCCURS 0,
BUKRS LIKE LFC1-BUKRS,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C2.
---- 'C3'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF C3,
SALDO TYPE P, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
UMKZ1 LIKE LFC3-SHBKZ, "SHBKZ 1
SUMS1 TYPE P, "Sonderumsatz 1
UMKZ2 LIKE LFC3-SHBKZ, "SHBKZ 2
SUMS2 TYPE P, "Sonderumsatz 2
UMKZ3 LIKE LFC3-SHBKZ, "SHBKZ 3
SUMS3 TYPE P, "Sonderumsatz 3
UMKZ4 LIKE LFC3-SHBKZ, "SHBKZ 4
SUMS4 TYPE P, "Sonderumsatz 4
UMKZ5 LIKE LFC3-SHBKZ, "SHBKZ 5
SUMS5 TYPE P, "Sonderumsatz 5
UMKZ6 LIKE LFC3-SHBKZ, "SHBKZ 6
SUMS6 TYPE P, "Sonderumsatz 6
UMKZ7 LIKE LFC3-SHBKZ, "SHBKZ 7
SUMS7 TYPE P, "Sonderumsatz 7
UMKZ8 LIKE LFC3-SHBKZ, "SHBKZ 8
SUMS8 TYPE P, "Sonderumsatz 8
UMKZ9 LIKE LFC3-SHBKZ, "SHBKZ 9
SUMS9 TYPE P, "Sonderumsatz 9
UMKZ10 LIKE LFC3-SHBKZ, "SHBKZ 10
SUMS10 TYPE P, "Sonderumsatz 10
SONOB TYPE P, "Sonstige Umsatz-Kz
BABZG TYPE P, "Berechtigte Abzuege
UABZG TYPE P, "Unberechtigte Abzuege
KZINS TYPE P, "Zinszahlungen
KUMUM TYPE P, "Umsatz
KUMAG TYPE P, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
AGOBLI LIKE LFC1-UMSAV, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF C3.
DATA: SHBETRAG LIKE BSEGA-DMSHB. "TYPE P.
*---- 'RTAB' = Rastertabelle fuer offene Posten -
DATA: BEGIN OF RTAB OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RTAB.
*---- 'RBUS' = Rastertabelle fuer Summen pro Sachbearbeiter -
*ATA: BEGIN OF RBUS OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUS.
*---- 'RBUK' = Rastertabelle fuer Summen pro Buchungskreis -
DATA: BEGIN OF RBUK OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIK-BUKRS,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesprrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RBUK.
---- 'RSUM' = Rastertabelle pro Währung über alle Buchungskreise ---
DATA: BEGIN OF RSUM OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSIk-BUKRS,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIK-WAERS,
RAART TYPE C, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
SPERR TYPE P, "gesperrte Posten
KUMUM TYPE P, "Umsatz
ANZAH TYPE P, "Anzahlungen
OPSUM TYPE P, "Offene Posten Summe
RAST1 TYPE P, "Rasterfeld 1
RAST2 TYPE P, "Rasterfeld 2
RAST3 TYPE P, "Rasterfeld 3
RAST4 TYPE P, "Rasterfeld 4
RAST5 TYPE P, "Rasterfeld 5
RAST6 TYPE P, "Rasterfeld 6
END OF RSUM.
*---- interne Tabelle für Periodenabgrenzung----
RANGES: BMONAT FOR RFPDO-DOPRBMON.
---- In die Felder RP01 bis RP05 werden dynamisch die von aussen ---
*---- eingegebenen Rasterpunkte uebertragen -
DATA: RP01(2) TYPE P, " 0
RP02(2) TYPE P, " 20
RP03(2) TYPE P, " 40
RP04(2) TYPE P, " 80
RP05(2) TYPE P, " 100
RP06(3) TYPE P, " 1
RP07(3) TYPE P, " 21
RP08(3) TYPE P, " 41
RP09(3) TYPE P, " 81
RP10(3) TYPE P. " 101
*---- In die Felder RC01 bis RC10 werden die Rasterpunkte in -
---- charakterform abgestellt. (fuer REPLACE-Funktion in Variabler -
*---- Ueberschrift) -
DATA: RC01(4) TYPE C, " 0
RC02(4) TYPE C, " 20
RC03(4) TYPE C, " 40
RC04(4) TYPE C, " 80
RC05(4) TYPE C, " 100
RC06(4) TYPE C, " 1
RC07(4) TYPE C, " 21
RC08(4) TYPE C, " 41
RC09(4) TYPE C, " 81
RC10(4) TYPE C. " 101
*---- Felder für Umsatzkennzeichen -
*---- für Ausweis der Sonderumsätze----
DATA: HUMKZ1 LIKE LFC3-SHBKZ,
HUMKZ2 LIKE LFC3-SHBKZ,
HUMKZ3 LIKE LFC3-SHBKZ,
HUMKZ4 LIKE LFC3-SHBKZ,
HUMKZ5 LIKE LFC3-SHBKZ,
HUMKZ6 LIKE LFC3-SHBKZ,
HUMKZ7 LIKE LFC3-SHBKZ,
HUMKZ8 LIKE LFC3-SHBKZ,
HUMKZ9 LIKE LFC3-SHBKZ,
HUMKZ10 LIKE LFC3-SHBKZ.
*---- GBZAEHL - In diesem Feld wird vermerkt, fuer wieviele Ge- -
*---- schaeftsbereiche ein OP-Raster ausgegeben wird. -
---- Wird das Raster nur fuer einen Geschaeftsbereich ge- -
*---- druckt, so entfaellt das Summen-Raster. -
DATA: GBZAEHL(3) TYPE P.
---- TOP-FLAG '1' = bei TOP-OF-PAGE Einzelpostenueberschrift ausg. --
*---- '2' = bei TOP-OF-PAGE Ueberschrift fuer Raster ausgeb. *
*---- '3' = bei TOP-OF-PAGE ULINE ausgeben. -
---- '4' = bei TOP-OF-PAGE Stammsatzueberschrift ausgeben --
DATA: TOP-FLAG(1) TYPE C.
*---- SEL-STAMM 'J' = Stammsatz wird ausgewertet *
*---- 'N' = Stammsatz wird nicht ausgewertet *
*---- SEL-POSTN 'J' = Stammsatz hat Posten gerastert *
*---- 'N' = Stammsatz hat keine Posten gerastert *
DATA: BEGIN OF SEL,
STAMM(1) TYPE C,
POSTN(1) TYPE C,
POST2(1) TYPE C,
END OF SEL.
*---- SATZART '1' = Stammdaten -
*---- '2' = Faelligkeitsraster -
*---- '3' = Einzelposten -
DATA: SATZART(1) TYPE C.
*---- RART = Erste ausgewaehlte Rasterart -
DATA: RART(1) TYPE C.
*---- TAGE = Tage nach denen die Posten sortiert sind -
DATA: TAGE(4) TYPE P,
*---- NTAGE = Tage fuer Netto-Faelligkeit -
NTAGE(4) TYPE P,
*---- STAGE = Tage fuer Skonto1-Faelligkeit -
STAGE(4) TYPE P,
*---- ATAGE = Alter der Belege -
ATAGE(4) TYPE P,
*---- UTAGE = Tage fuer Ueber-Faelligkeit -
UTAGE(4) TYPE P.
*---- RASTERUU dient zur Sortierung der Einzelposten. Die Posten -
*---- gemaess ihrer Rasterung die Werte '1' bis '6' -
DATA: RASTERUU(1) TYPE C.
*---- RAART Rasterart -
---- Die einzelnen Felder der Feldleiste werden bei SART-OF-SELECTION
*---- mit 1 oder 0 bestueckt. -
*ATA: BEGIN OF RAART,
NET(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
SKT(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
UEB(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
END OF RAART.
DATA: BEGIN OF GB,
GSBER LIKE BSIK-GSBER,
WAERS LIKE BSIK-WAERS,
END OF GB.
*---- Variable Ueberschriften -
DATA: BEGIN OF VARUEB1,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB1.
DATA: BEGIN OF VARUEB2,
FELD1(45) TYPE C,
FELD2(14) TYPE C,
FELD3(14) TYPE C,
FELD4(14) TYPE C,
FELD5(14) TYPE C,
FELD6(14) TYPE C,
FELD7(14) TYPE C,
END OF VARUEB2.
DATA: VARUEB3(132),
VARUEB4(132),
VARTXT1(40),
VARTXT(40) TYPE C.
*---- Variable für Ausgabe der Sonderumsätze----
DATA: SHBBEZ LIKE T074T-LTEXT.
DATA: ASUMS TYPE P. "
*---- Interne Tabelle für Bezeichnungen der SHBKZ----
DATA: BEGIN OF BEZSHB OCCURS 10,
SHBKZ LIKE T074T-SHBKZ,
LTEXT LIKE T074T-LTEXT,
END OF BEZSHB.
*---- Interne Tabelle für Zwischenspeicherung -
DATA: BEGIN OF BLKEY,
BUKRS LIKE BSIK-BUKRS,
BELNR LIKE BSIK-BELNR,
GJAHR LIKE BSIK-GJAHR,
BUZEI LIKE BSIK-BUZEI,
END OF BLKEY.
DATA: BEGIN OF RTAGE,
NTAGE LIKE NTAGE,
STAGE LIKE STAGE,
ATAGE LIKE ATAGE,
UTAGE LIKE UTAGE,
END OF RTAGE.
DATA: BEGIN OF HBSIK OCCURS 10.
INCLUDE STRUCTURE BSIK.
INCLUDE STRUCTURE BSEGA.
INCLUDE STRUCTURE RTAGE.
DATA: END OF HBSIK.
DATA: BEGIN OF REFBL OCCURS 10.
INCLUDE STRUCTURE BLKEY.
INCLUDE STRUCTURE RTAGE.
DATA: END OF REFBL.
DATA: BEGIN OF HLFB1 OCCURS 10.
INCLUDE STRUCTURE LFB1.
DATA: END OF HLFB1.
DATA: BEGIN OF HT001 OCCURS 10.
INCLUDE STRUCTURE T001.
DATA: END OF HT001.
*---- Interne Tabelle für Ausgabe der Obligos -
DATA: BEGIN OF AOBLIGO OCCURS 12,
OBART TYPE C, "Flag für Obligoart 1 = Kontokorrent
" 2 = SHBKZ
" 3 = sonstige SHB
SHBKZ LIKE T074T-SHBKZ, "SHB-Kennzeichen
LTEXT LIKE T074T-LTEXT, "Bezeichnung
OBLIG TYPE P, "Obligobetrag
END OF AOBLIGO.
*---- Declarationen für Accessibility /ALV GRID -
data: ACC_MODE type c.
Data: UEBTEXT(22) type c.
Data: UEKTEXT(15) type c.
Data: TITTEXT(100) type c.
Data: DATTEXT(10) type c.
DATA: BEGIN OF RTAB_ALV OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
BUKRS LIKE BSIk-BUKRS,
lifnr LIKE LFA1-lifnr,
busab like lfb1-busab,
SORTL LIKE lfA1-SORTL,
LAND1 LIKE lfA1-LAND1,
GSBER LIKE BSIk-GSBER,
WAERS LIKE BSIk-WAERS,
hwaer like rf140-hwaer,
RAART like RF140-RAART, "Rasterart
shkzg like bsik-shkzg,
XGUTS TYPE C, "Gutschrift
KUMUM LIKE RF140-KUMUMHW, "Umsatz
ANZAH like rf140-anzbthw, "Anzahlungen
OPSUM like RF140-gsaldd, "Offene Posten Summe
RAST1 like RF140-rast1, "Rasterfeld 1
RAST2 like RF140-rast2, "Rasterfeld 2
RAST3 like RF140-rast3, "Rasterfeld 3
RAST4 like RF140-rast4, "Rasterfeld 4
RAST5 like RF140-rast5, "Rasterfeld 5
RAST6 like RF140-rast6, "Rasterfeld 6
END OF RTAB_ALV.
*"General Data
TYPE-POOLS: SLIS.
*DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE STRUCTURE rtab_alv.
*DATA: END OF GT_OUTTAB.
Data: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
G_EXIT_CAUSED_BY_CALLER,
GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,
G_REPID LIKE SY-REPID,
G_GRID_TITLE TYPE LVC_TITLE.
*"Callback
*Data: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
G_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
Data: G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
G_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
G_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
*"Variants
DATA: GS_VARIANT LIKE DISVARIANT,
G_SAVE.
Global structure of list
fieldcatalog
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
sort
*DATA: GT_SORT TYPE SLIS_T_SORTINFO_ALV.
events
*DATA: GT_EVENTS TYPE SLIS_T_EVENT.
*----- Structure for specific color settings -
*DATA: COL_TAB_T TYPE SLIS_T_SPECIALCOL_ALV,
COL_TAB TYPE SLIS_SPECIALCOL_ALV.
DATA: G_TABNAME TYPE SLIS_TABNAME VALUE 'RTAB_ALV'.
print
*DATA: GS_PRINT TYPE SLIS_PRINT_ALV.
*---- FIELD-GROUPS -
FIELD-GROUPS:
HEADER,
STAMMDATEN,
OP-RASTER,
EINZELPOSTEN.
INSERT
LFB1-BUKRS " Buchungskreis
lfB1-BUSAB " Sachbearbeiter
LFA1-LIFNR " Kontonummer
SATZART " Satzart
RTAB-SORTK " Sortkz fuer Tabelle RTAB
" '0' = normale Eintraege
" '1' = Summeneintraege
GB " Geschaeftsbereich
" - GB-GSBER
" - GB-WAERS
RASTERUU " Kennzeichen fuer Detailposten bzw Raster
ab hier nur fuer Einzelposten -
TAGE " Rastertage fuer Detailposten
BSIK-UMSKZ " Umsatzkennzeichen
BSIK-BLART " Belegart
BSIK-ZUONR " Zuordnungsnummer
BSIK-BELNR " Belegnummer
BSIK-BUZEI " Belegzeile
INTO HEADER.
INSERT
Addressdaten
ADRS-LINE0 " 1. Zeile Adressenaufbereitung
ADRS-LINE1 " 2. " "
ADRS-LINE2 " 3. " "
ADRS-LINE3 " 4. " "
ADRS-LINE4 " 5. " "
ADRS-LINE5 " 6. " "
ADRS-LINE6 " 7. " "
ADRS-LINE7 " 8. " "
ADRS-LINE8 " 9. " "
ADRS-LINE9 " 10." "
Umsatzdaten
C-KUMUM " Umsatz
C-BABZG " Berechtigt. Abzuege
C-UABZG " Unberechtigt. Abzuege
C-KZINS " Zinszahlungen
C-KUMAG " Kum. Jahresausgleich
Obligos
C-SALDO " Saldo ohne SHB-Vorgänge
C-UMKZ1 "SHBKZ 1
C-SUMS1 "Sonderumsatz 1
C-UMKZ2 "SHBKZ 2
C-SUMS2 "Sonderumsatz 2
C-UMKZ3 "SHBKZ 3
C-SUMS3 "Sonderumsatz 3
C-UMKZ4 "SHBKZ 4
C-SUMS4 "Sonderumsatz 4
C-UMKZ5 "SHBKZ 5
C-SUMS5 "Sonderumsatz 5
C-UMKZ6 "SHBKZ 6
C-SUMS6 "Sonderumsatz 6
C-UMKZ7 "SHBKZ 7
C-SUMS7 "Sonderumsatz 7
C-UMKZ8 "SHBKZ 8
C-SUMS8 "Sonderumsatz 8
C-UMKZ9 "SHBKZ 9
C-SUMS9 "Sonderumsatz 9
C-UMKZ10 "SHBKZ 10
C-SUMS10 "Sonderumsatz 10
C-SONOB " Sonst. Obligen
Limits
C-AGOBLI " Absolutes Gesamtobligo
Zahlungdaten
LFB1-ZTERM "Zahlungsbedingung
LFB1-ZAHLS "Sperrschlüssel für Zahlung
LFB1-ZWELS "Zahlwege
LFB1-XVERR "Zahlungsverrechnung
LFB1-WEBTR "Wechsellimit
LFB1-BUSAB " Sachbearbeiter
lfa1-sortl
lfa1-land1
INTO STAMMDATEN.
INSERT
RTAB-RAART "Rasterart
RTAB-SPERR "gesperrte Posten
RTAB-KUMUM "Umsatz
RTAB-ANZAH "Anzahlungen
RTAB-OPSUM "Offene Posten Summe
RTAB-RAST1 "Rasterfeld 1
RTAB-RAST2 "Rasterfeld 2
RTAB-RAST3 "Rasterfeld 3
RTAB-RAST4 "Rasterfeld 4
RTAB-RAST5 "Rasterfeld 5
RTAB-RAST6 "Rasterfeld 6
INTO OP-RASTER.
INSERT
BSIK-BUDAT " Buchungsdatum
BSIK-BLDAT " Belegdatum
BSIK-CPUDT " CPU-Datum
BKPF-USNAM " User-ID
BSIK-WAERS " Wahrungsschluessel
BSEGA-NETDT " Nettofaelligkeitsdatum
FAEDE-NETDT " Nettofaelligkeitsdatum
BSIK-ZFBDT " Zahlungsfristen-Basisdatum
BSIK-BSCHL " Buchungsschluessel
BSIK-ZLSCH " Zahlungsschluessel
BSIK-MANST " Mahnstufe
SHBETRAG " Hauswaehrungsbetrag
BSEGA-DMSHB " Hauswaehrungsbetrag
BSEGA-WRSHB " Fremwaehrungsbetrag
INTO EINZELPOSTEN.
BEGIN_OF_BLOCK 1.
*ELECT-OPTIONS:
GESBER FOR BSIK-GSBER.
PARAMETERS:
MONAT LIKE RFPDO-DOPRBMON.
SELECT-OPTIONS:
KKSALDO2 FOR RFSDO-KOPRSAL2, "Saldovortrag
AGOBLIG2 FOR RFSDO-KOPRAGO2. "Absolutes Obligo
RGOBLIGO FOR RFSDO-DOPRRGOB. "Relatives Obligo
SELECT-OPTIONS:
LAND FOR LFA1-LAND1,
KONTENGR FOR LFA1-KTOKK,
SACHBEAR FOR LFB1-BUSAB,
AKONTS FOR LFB1-AKONT,
AKONTP FOR BSIK-HKONT.
SELECT-OPTIONS:
BUDAT FOR BSIK-BUDAT,
BLDAT FOR BSIK-BLDAT,
NETDT FOR BSEGA-NETDT.
PARAMETERS: N_BELEGE LIKE RFPDO-BPETNBEL
DEFAULT 'X', "Normale Belege.
STAT_BLG LIKE RFPDO-BPETSBEL. "Statistische Belege
END_OF_BLOCK 1.
*ELECT-OPTIONS:
BERABZU1 FOR LFC1-BABZG,
UNBABZU1 FOR LFC1-UABZG,
ZINSE1 FOR LFC1-KZINS,
JHRAUSG1 FOR LFC1-KUMAG.
BERABZUG FOR BEABZUG NO-DISPLAY, "Berechtigter Abzug
UNBABZUG FOR UBABZUG NO-DISPLAY, "Unberechtigter Abzug
ZINSEN FOR KUMZINS NO-DISPLAY, "Kumulierter Zins
JHRAUSGL FOR JAHRAUG NO-DISPLAY. "Kumulierter Jahresausgl.
BEGIN_OF_BLOCK 2.
PARAMETERS:
SORTART LIKE RFPDO1-KOPRSOAR DEFAULT '1', "Doku
VERDICHT LIKE RFPDO1-KOPRVERD DEFAULT '1', "Doku
RASTVERD LIKE RFPDO1-KOPRRAST DEFAULT '0', "Doku
KONZVERS LIKE RFPDO-DOPOKONZ, "Konzernversion
XBUKRDAT LIKE RFPDO3-ALLGBUKD DEFAULT 0, "Bukr.daten
KAUSGABE like rfpdo3-ALLGKAOR.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(30) TEXT-030.
PARAMETERS: RART-NET LIKE RFPDO-DOPRRNET DEFAULT 'X'.
SELECTION-SCREEN COMMENT 33(01) TEXT-028.
PARAMETERS: RART-SKT LIKE RFPDO-DOPRRSKT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 35(01) TEXT-028.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: RART-ALT LIKE RFPDO1-KOPRRALT DEFAULT 'X'.
SELECTION-SCREEN COMMENT 03(28) TEXT-031.
SELECTION-SCREEN POSITION POS_HIGH.
PARAMETERS RBLDAT LIKE RFPDO2-KORD10BD.
SELECTION-SCREEN COMMENT 61(12) TEXT-032.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN COMMENT 37(01) TEXT-028.
PARAMETERS: RART-UEB LIKE RFPDO-DOPRRUEB DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-026.
PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
SELECTION-SCREEN COMMENT 35(02) TEXT-027.
PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '020'.
SELECTION-SCREEN COMMENT 41(02) TEXT-027.
PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '040'.
SELECTION-SCREEN COMMENT 47(02) TEXT-027.
PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '080'.
SELECTION-SCREEN COMMENT 53(02) TEXT-027.
PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '100'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(31) TEXT-029.
PARAMETERS: FAKTOR LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN COMMENT 35(1) TEXT-028.
PARAMETERS: STELLEN LIKE RFPDO-DOPRFAKT DEFAULT '0'.
SELECTION-SCREEN END OF LINE.
PARAMETERS: PZUOR LIKE RFPDO2-DOPRZUOR.
PARAMETERS: UMSATZKZ LIKE RFPDO1-DOPRSHBO. "DEFAULT 'WSABIMVD'.
PARAMETERS:
TITLE LIKE RFPDO1-ALLGLINE,
LISTSEP LIKE RFPDO-ALLGLSEP,
MIKFICHE LIKE RFPDO-ALLGMIKF.
PARAMETERS:
P_LVAR LIKE Gs_VARIANT-VARIANT DEFAULT SPACE modif id 508.
END_OF_BLOCK 2.
AT SELECTION-SCREEN OUTPUT.
if acc_mode is initial.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = '508'.
SCREEN-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
AT SELECTION-SCREEN ON AKONTS.
Konvertierung der Kontonummer
LOOP AT AKONTS.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-LOW AKONTS-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTS-HIGH AKONTS-HIGH.
MODIFY AKONTS.
ENDLOOP.
AT SELECTION-SCREEN ON AKONTP.
Konvertierung der Kontonummer
LOOP AT AKONTP.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-LOW AKONTP-LOW.
PERFORM ALPHAFORMAT(SAPFS000)
USING AKONTP-HIGH AKONTP-HIGH.
MODIFY AKONTP.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LVAR.
Gs_VARIANT-REPORT = SY-REPID.
Gs_VARIANT-VARIANT = P_LVAR.
PERFORM F4_FOR_S_LVAR USING Gs_VARIANT.
P_LVAR = Gs_VARIANT-VARIANT.
AT SELECTION-SCREEN.
IF NOT RASTBIS5 IS INITIAL.
IF RASTBIS5 GT RASTBIS4
AND RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS4 IS INITIAL.
IF RASTBIS4 GT RASTBIS3
AND RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS3 IS INITIAL.
IF RASTBIS3 GT RASTBIS2
AND RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
IF NOT RASTBIS2 IS INITIAL.
IF RASTBIS2 GT RASTBIS1.
ELSE.
MESSAGE E379.
ENDIF.
ELSE.
nichts zu tun
ENDIF.
ENDIF.
END -
Switching session within a report
I'm a beginner in using the Oracle Report Designer, and I need
to "switch" to another session and then "re-switch" to the
original session before the report starts.
I tried connecting with the new user in the BEFOREREPORT trigger
using the SRW.DO_SQL command:
SRW.DO_SQL('connect newuser/newpasswd@dbname');
but in return I had a
"Error parsing the SQL statement. ORA-00900: invalid SQL
statement" error.
Where I was mistaking, and how can I succeed?
Hope my question was clear, and thank anyone could help me in
advance.hello,
you might look at the EXEC_SQL built-in. there is also an example in the 6i examples.
regards,
the oracle reports team --pw -
Indesign Farbfläche über Foto wird transparent
Hallo zusammen,
leider hab ich ein Problem bei Indesign.
Ich habe ein Bild (Foto) in das File platziert. Darüber habe ich eine Farbfläche gelegt.
Wenn ich das File exportiere als pdf/x-3:2002, dann erscheint die Fläche invertiert.--> also Blau und transparent. Das méchte ich aber nicht. Was habe ich Falsch eingestellt??
So sieht es im Indesign aus:
..und so wenn ich das File exportiere:
Danke für eure Hilfe!
ZoraZora <3Lieber Mylenium
die Deckkraft der Farbe ist 100%
Überfüllungsvorgabe: Standart
--> PDF-Export:
PDF-Vorgabe: [PDF/X-3:2002]
Kompatibilität: Acrobat 4 (PDF 1.3)
Einhaltung von Standards: PDF/X-3 2002
Allgemein
Seiten: 1
Druckbögen: Aus
Miniaturen generieren: Aus
PDF optimieren: Aus
Acrobat-Ebenen erstellen: n. zutr.
Ebenen exportieren: Sichtbare und druckbare Ebenen
Lesezeichen einschließen: n. zutr.
Hyperlinks einschließen: n. zutr.
Nicht druckende Objekte exportieren: Aus
Sichtbare Hilfslinien und Grundlinienraster exportieren: Aus
PDF mit Tags erstellen: Aus
Interaktive Elemente: Nicht einschließen
Komprimierung
Farbbilder
Bikubische Neuberechnung bei: 300 ppi
bei Bildern mit mehr als: 450 ppi
Komprimierung: Automatisch
Kachelgröße: n. zutr.
Qualität: Maximum
Graustufenbilder
Bikubische Neuberechnung bei: 300 ppi
bei Bildern mit mehr als: 450 ppi
Komprimierung: Automatisch
Kachelgröße: n. zutr.
Qualität: Maximum
Einfarbige Bilder
Bikubische Neuberechnung bei: 1200 ppi
bei Bildern mit mehr als: 1800 ppi
Komprimierung: CCITT Group 4
Text und Strichgrafiken komprimieren: Ein
Bilddaten auf Rahmen beschneiden: Ein
Marken und Anschnitt
Schnittmarken: Aus
Anschnittsmarken: Aus
Passermarken: Aus
Farbkontrollstreifen: Aus
Seiteninformationen: Aus
Seitenmarkentyp: Standard
Stärke: 0,25 Pt
Versatz: 2.117 mm
Anschnittseinstellungen des Dokuments verwenden: Aus
Anschnitt oben: 0 mm
Anschnitt unten: 0 mm
Anschnitt innen: 0 mm
Anschnitt außen: 0 mm
Infobereich einschließen: Aus
Ausgabe
Farbkonvertierung: Keine Farbkonvertierung
Ziel: n. zutr.
Berücksichtigung der Profile: RGB-Profile und CMYK-Quellprofile mit Tags einschließen
Überdrucken simulieren: Aus
Name des Ausgabemethodenprofils: Dokument-CMYK - Coated FOGRA39 (ISO 12647-2:2004)
Ausgabebedingung:
Kennung der Ausgabebedingung: FOGRA27
Registrierung: http://www.color.org
Erweitert
Schriften teilweise laden, wenn kleiner als: 100 %
PDF auslassen: n. zutr.
EPS auslassen: n. zutr.
Bitmap-Bilder auslassen: n. zutr.
Transparenzreduzierungsvorgabe: [Hohe Auflösung]
Abweichende Einstellungen auf Druckbögen ignorieren: Aus
..reichen die Angaben?
Lieben Gruss Zora -
Plz Check Code!!!!!
Dear All,
Below is my code given but in output screen it does not show any value of ceratain fields like KOSTL,BELNR,BLDAT,WRBTR,DMBTR,BDIFF from BSID table.
Can anybody go through the program and let me know where is the error and where I am mistaking.
Regards,
Abhay.
REPORT rfdopr00
MESSAGE-ID fr
LINE-SIZE 132
NO STANDARD PAGE HEADING.
TABLES: b0sg,
kna1, "Daten auf Mandantenebene
KNKA,
knb1, "Daten auf Buchungskreisebene
knb4, "Zahlungsverhalten
knb5, "Mahndaten
KNKK, "Kreditkontrolle
knc1, "Verkehrszahlen
knc3, "Sonderumsätze
bsid, "Offend Posten
BKPF,
BSEG,
bsega.
TABLES:
bhdgd,
t001,
t001s,
*t001s,
t074t,
t074u,
tbsl,
tbslt,
tcurx,
adrs,
rfpdo,
rfsdo,
RFPOSXEXT,
faede.
FIELD-SYMBOLS: .
*Hilfsfelder
*---Prüfung ob mehrere Hauswährungen verarbeitet werden.
DATA: cfakt(3) TYPE p,
checksaldo(8) TYPE p,
checksald1(8) TYPE p,
checksald2(8) TYPE p,
checksald3(8) TYPE p,
checksald4(8) TYPE p,
checkagobl(8) TYPE p,
waers LIKE t001-waers,
wflag(1) TYPE p VALUE '0',
waers2 LIKE t001-waers,
wflag2(1) TYPE p VALUE '0',
ph-line(132) TYPE c.
*---Ermittlung aktuelles Geschäftsjahr über Funktionsbaustein.
DATA: curry LIKE bsid-gjahr.
*-Ermittlung Zahlungseingang bei Zahlungen mit Skontoabzug--
DATA: zvtage LIKE knb4-vzs01, "Verzugstage
zvskonto(8) TYPE p, "Zahlungsvolumen bei Zahlung mit Skonto
zvnetto(8) TYPE p, "Zahlungsvolumen bei Nettozahlung
zvverzug(8) TYPE p, "Verzugstage
zvmalvz(10) TYPE p, "Zahlungvolumen * Verzugstage
"KNB4-VZSxx)
zvtyp(1) TYPE c, "Skonto oder Nettozahler
ZVPER(4) TYPE C. "Periode letze Zahlung
zvper(6) TYPE c. "Periode letze Zahlung
*---Zeilenanzahl fü Adressausgabe -
DATA: zeilenanzahl LIKE adrs-anzzl VALUE 7.
DATA: ksaldo(6) TYPE p, "Saldovortrag
beabzug(6) TYPE p, "Berechtigte Abzüge
ubabzug(6) TYPE p, "Unberechtigte Abzüge
jahraug(6) TYPE p, "Kumulierter Jahresausgleich
kumzins(6) TYPE p. "Kumulierter Zins
Ausgabe der Mahndaten pro Buchungskreis.
DATA: index(2) TYPE p VALUE 0.
Hilfsfelder
DATA: hf(1) TYPE c.
DATA: txt_1(78) TYPE c, "Mahnbereich
txt_2(78) TYPE c, "Mahnart
txt_3(78) TYPE c, "Mahnempfänger
txt_4(78) TYPE c, "Mahndatum
txt_5(78) TYPE c, "Mahnstufe
txt_6(78) TYPE c, "Mahnsperre
txt_7(78) TYPE c, "Mahnverfahren
txt_8(78) TYPE c. "Sachbearbeiter
DATA: BEGIN OF xmahn OCCURS 10.
INCLUDE STRUCTURE knb5.
DATA: END OF xmahn.
Hilfsfeld für Sicherung der knka Felder
*ATA: SAVE_KLIMG LIKE KNKA-KLIMG, "Gesamtlimit
SAVE_KLIME LIKE KNKA-KLIME, "Einzellimit
SAVE_WAERS LIKE KNKA-WAERS, "Währung
SAVE_DLAUS LIKE KNKA-DLAUS. "letzte Auskunft
Hilfsfelder
DATA: char1(1) TYPE c.
DATA: flag1(1) TYPE c.
DATA: intens(1) TYPE c.
DATA: rastza(1) TYPE c.
*---- K o n s t a n t e n -
*---- DNULL zum Vergleich mit Datumsfeldern -
DATA: dnull(8) TYPE c VALUE '00000000'.
*---- DECKBLATT = 'N' ==> Kein Deckblatt bei NEW-SECTION -
DATA: deckblatt TYPE c VALUE 'N'.
*---- 'H' = Hilfsfelder, die jederzeit fuer Berechnungen ver- -
*---- wendet werden koennen. -
DATA: BEGIN OF h,
stichtag(8),
offset(2) TYPE p,
offse1(2) TYPE p,
soll LIKE knc1-um01s,
haben LIKE knc1-um01h,
saldo LIKE knc1-umsav,
shbkz LIKE knc3-shbkz, "Sonderhauptbuchkennzeichen
saldv LIKE knc3-saldv, "Sonderhauptbuch-Saldovortrag
shbls LIKE knc3-solll, "Sonderhauptbuch-Lfd.-Saldo
shbsl LIKE knc3-solll, "Sonderhauptbuch-Lfd.-SOLL
shbhb LIKE knc3-habnl, "Sonderhauptbuch-Lfd.-HABEN
GBNUM LIKE KNC1-GBN01, "Geschaeftsber. Nummer ECKERT
GBUMS LIKE KNC1-GBU01, "Geschaeftsber. Umsatz
text(15),
umlow LIKE bsid-umskz, "Umsatzkennzeichen
umhig LIKE bsid-umskz, "Umsatzkennzeichen
**************AB*******
kostl LIKE bsid-kostl,
belnr LIKE bsid-belnr,
bldat LIKE bsid-bldat,
wrbtr LIKE bsid-wrbtr,
bdiff LIKE bsid-bdiff,
**************AB*******
END OF h.
---- 'C' = Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF c,
saldo TYPE p, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
umkz1 LIKE knc3-shbkz, "SHBKZ 1
sums1 TYPE p, "Sonderumsatz 1
umkz2 LIKE knc3-shbkz, "SHBKZ 2
sums2 TYPE p, "Sonderumsatz 2
umkz3 LIKE knc3-shbkz, "SHBKZ 3
sums3 TYPE p, "Sonderumsatz 3
umkz4 LIKE knc3-shbkz, "SHBKZ 4
sums4 TYPE p, "Sonderumsatz 4
umkz5 LIKE knc3-shbkz, "SHBKZ 5
sums5 TYPE p, "Sonderumsatz 5
umkz6 LIKE knc3-shbkz, "SHBKZ 6
sums6 TYPE p, "Sonderumsatz 6
umkz7 LIKE knc3-shbkz, "SHBKZ 7
sums7 TYPE p, "Sonderumsatz 7
umkz8 LIKE knc3-shbkz, "SHBKZ 8
sums8 TYPE p, "Sonderumsatz 8
umkz9 LIKE knc3-shbkz, "SHBKZ 9
sums9 TYPE p, "Sonderumsatz 9
umkz10 LIKE knc3-shbkz, "SHBKZ 10
sums10 TYPE p, "Sonderumsatz 10
sonob TYPE p, "Sonstige Umsatz-Kz
babzg TYPE p, "Berechtigte Abzuege
uabzg TYPE p, "Unberechtigte Abzuege
kzins TYPE p, "Zinszahlungen
kumum TYPE p, "Umsatz
kumag TYPE p, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
agobli LIKE knc1-umsav, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
lftage(3) TYPE p, "Langfristige Überzugstage
mftage(3) TYPE p, "Mittelfristige Überzugstage
kftage(3) TYPE p, "Kurzfristige Überzugstage
zvtyp(1) TYPE c, "Flag Skonto oder Nettozahler
zvper(6) TYPE c, "letze Zahlungsperiode
zvverzug(8) TYPE p, "Durchschittliche Verzugst
END OF c.
---- 'C2'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF c2 OCCURS 0,
bukrs LIKE knc1-bukrs,
saldo TYPE p, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
umkz1 LIKE knc3-shbkz, "SHBKZ 1
sums1 TYPE p, "Sonderumsatz 1
umkz2 LIKE knc3-shbkz, "SHBKZ 2
sums2 TYPE p, "Sonderumsatz 2
umkz3 LIKE knc3-shbkz, "SHBKZ 3
sums3 TYPE p, "Sonderumsatz 3
umkz4 LIKE knc3-shbkz, "SHBKZ 4
sums4 TYPE p, "Sonderumsatz 4
umkz5 LIKE knc3-shbkz, "SHBKZ 5
sums5 TYPE p, "Sonderumsatz 5
umkz6 LIKE knc3-shbkz, "SHBKZ 6
sums6 TYPE p, "Sonderumsatz 6
umkz7 LIKE knc3-shbkz, "SHBKZ 7
sums7 TYPE p, "Sonderumsatz 7
umkz8 LIKE knc3-shbkz, "SHBKZ 8
sums8 TYPE p, "Sonderumsatz 8
umkz9 LIKE knc3-shbkz, "SHBKZ 9
sums9 TYPE p, "Sonderumsatz 9
umkz10 LIKE knc3-shbkz, "SHBKZ 10
sums10 TYPE p, "Sonderumsatz 10
sonob TYPE p, "Sonstige Umsatz-Kz
babzg TYPE p, "Berechtigte Abzuege
uabzg TYPE p, "Unberechtigte Abzuege
kzins TYPE p, "Zinszahlungen
kumum TYPE p, "Umsatz
kumag TYPE p, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
agobli LIKE knc1-umsav, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
lftage(3) TYPE p, "Langfristige Überzugstage
mftage(3) TYPE p, "Mittelfristige Überzugstage
kftage(3) TYPE p, "Kurzfristige Überzugstage
zvtyp(1) TYPE c, "Flag Skonto oder Nettozahler
zvper(6) TYPE c, "letze Zahlungsperiode
zvverzug(8) TYPE p, "Durchschittliche Verzugst
END OF c2.
---- 'C3'= Zwischenergebnisse, die aus Feldern des C-Segmentes ---
*---- berechnet werden. -
DATA: BEGIN OF c3,
saldo TYPE p, "Saldo
WEXOB TYPE P, "Wechsel-Obligo W,S,B
ANZOB TYPE P, "Anzahlungs-Obligo A
ZANFB TYPE P, "Zahlungs-Anforderung F
umkz1 LIKE knc3-shbkz, "SHBKZ 1
sums1 TYPE p, "Sonderumsatz 1
umkz2 LIKE knc3-shbkz, "SHBKZ 2
sums2 TYPE p, "Sonderumsatz 2
umkz3 LIKE knc3-shbkz, "SHBKZ 3
sums3 TYPE p, "Sonderumsatz 3
umkz4 LIKE knc3-shbkz, "SHBKZ 4
sums4 TYPE p, "Sonderumsatz 4
umkz5 LIKE knc3-shbkz, "SHBKZ 5
sums5 TYPE p, "Sonderumsatz 5
umkz6 LIKE knc3-shbkz, "SHBKZ 6
sums6 TYPE p, "Sonderumsatz 6
umkz7 LIKE knc3-shbkz, "SHBKZ 7
sums7 TYPE p, "Sonderumsatz 7
umkz8 LIKE knc3-shbkz, "SHBKZ 8
sums8 TYPE p, "Sonderumsatz 8
umkz9 LIKE knc3-shbkz, "SHBKZ 9
sums9 TYPE p, "Sonderumsatz 9
umkz10 LIKE knc3-shbkz, "SHBKZ 10
sums10 TYPE p, "Sonderumsatz 10
sonob TYPE p, "Sonstige Umsatz-Kz
babzg TYPE p, "Berechtigte Abzuege
uabzg TYPE p, "Unberechtigte Abzuege
kzins TYPE p, "Zinszahlungen
kumum TYPE p, "Umsatz
kumag TYPE p, "Kum. Jahresausgleich
KREUEB TYPE P, "Kreditueberschreitung
AGOBLI TYPE P, "Gesamt-Obligo (absolut)
agobli LIKE knc1-umsav, "Gesamt-Obligo (absolut)
RGOBLI TYPE P, "Gesamt-Obligo (relativ)
LFTAGE(3) TYPE P, "Langfristige Überzugstage
MFTAGE(3) TYPE P, "Mittelfristige Überzugstage
KFTAGE(3) TYPE P, "Kurzfristige Überzugstage
ZVTYP(1) TYPE C, "Flag Skonto oder Nettozahler
ZVPER(6) TYPE C, "letze Zahlungsperiode
ZVVERZUG(8) TYPE P, "Durchschittliche Verzugst
END OF c3.
DATA: shbetrag LIKE bsega-dmshb. "TYPE P.
*---- 'RTAB' = Rastertabelle fuer offene Posten -
DATA: BEGIN OF rtab OCCURS 30,
sortk(1) TYPE c, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
bukrs LIKE bsid-bukrs,
gsber LIKE bsid-gsber,
waers LIKE bsid-waers,
********AB********
kostl LIKE bsid-kostl,
belnr LIKE bsid-belnr,
bldat LIKE bsid-bldat,
wrbtr LIKE bsid-wrbtr,
bdiff LIKE bsid-bdiff,
********AB********
raart TYPE c, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Belegalter
"5 = Ueber-Faelligkeit
kumum TYPE p, "Umsatz
anzah TYPE p, "Anzahlungen
opsum TYPE p, "Offene Posten Summe
rast1 TYPE p, "Rasterfeld 1
rast2 TYPE p, "Rasterfeld 2
rast3 TYPE p, "Rasterfeld 3
rast4 TYPE p, "Rasterfeld 4
rast5 TYPE p, "Rasterfeld 5
rast6 TYPE p, "Rasterfeld 6
COUNT TYPE P, "count für Gesber
END OF rtab.
*---- 'RBUS' = Rastertabelle fuer Summen pro Sachbearbeiter -
DATA: BEGIN OF rbus OCCURS 30,
sortk(1) TYPE c, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
bukrs LIKE bsid-bukrs,
gsber LIKE bsid-gsber,
waers LIKE bsid-waers,
raart TYPE c, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
kumum TYPE p, "Umsatz
anzah TYPE p, "Anzahlungen
opsum TYPE p, "Offene Posten Summe
rast1 TYPE p, "Rasterfeld 1
rast2 TYPE p, "Rasterfeld 2
rast3 TYPE p, "Rasterfeld 3
rast4 TYPE p, "Rasterfeld 4
rast5 TYPE p, "Rasterfeld 5
rast6 TYPE p, "Rasterfeld 6
COUNT TYPE P, "count für Gesber
END OF rbus.
*---- 'RBUK' = Rastertabelle fuer Summen pro Buchungskreis -
DATA: BEGIN OF rbuk OCCURS 30,
sortk(1) TYPE c, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
bukrs LIKE bsid-bukrs,
gsber LIKE bsid-gsber,
waers LIKE bsid-waers,
raart TYPE c, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
kumum TYPE p, "Umsatz
anzah TYPE p, "Anzahlungen
opsum TYPE p, "Offene Posten Summe
rast1 TYPE p, "Rasterfeld 1
rast2 TYPE p, "Rasterfeld 2
rast3 TYPE p, "Rasterfeld 3
rast4 TYPE p, "Rasterfeld 4
rast5 TYPE p, "Rasterfeld 5
rast6 TYPE p, "Rasterfeld 6
COUNT TYPE P, "count für Gesber
END OF rbuk.
---- 'RSUM' = Rastertabelle pro Währung über alle Buchungskreise ---
DATA: BEGIN OF rsum OCCURS 30,
sortk(1) TYPE c, "0 = Summe Gesber
"1 = Summe aller Gesber
BUKRS LIKE BSID-BUKRS,
GSBER LIKE BSID-GSBER,
waers LIKE bsid-waers,
raart TYPE c, "Rasterart
"1 = Netto-Faelligkeit
"2 = Skonto1-Faelligkeit
"3 = Zahlungseingang
"4 = Ueber-Faelligkeit
kumum TYPE p, "Umsatz
anzah TYPE p, "Anzahlungen
opsum TYPE p, "Offene Posten Summe
rast1 TYPE p, "Rasterfeld 1
rast2 TYPE p, "Rasterfeld 2
rast3 TYPE p, "Rasterfeld 3
rast4 TYPE p, "Rasterfeld 4
rast5 TYPE p, "Rasterfeld 5
rast6 TYPE p, "Rasterfeld 6
COUNT TYPE P, "count für Gesber
END OF rsum.
*---- interne Tabelle für Periodenabgrenzung----
RANGES: bmonat FOR rfpdo-doprbmon.
*---- interne Tabelle für Kreditkontrollbereichsdaten----
*ATA: BEGIN OF KREDK OCCURS 10,
KKBER LIKE KNKK-KKBER, "Kreditkontrollbereich
UEDAT LIKE KNKK-UEDAT, "Datum Kreditlimitüberschreitung
KLIMK LIKE KNKK-KLIMK, "Kreditkontrollbereichslimit
SSOBL LIKE KNKK-SSOBL, "Relevantes Sonderobligo
SAUFT LIKE KNKK-SAUFT, "Summe Auftragswerte
SKFOR LIKE KNKK-SKFOR, "Summe Forderungen
END OF KREDK.
---- interne Tabellen für Konsistenzcheck Kreditkontrollbereiche ---
*ATA: BEGIN OF KKBERSEL OCCURS 10,
KKBER LIKE KNKK-KKBER, "Kreditkontrollbereich
END OF KKBERSEL.
*ATA: BEGIN OF KKBERGES OCCURS 10,
KKBER LIKE KNKK-KKBER, "Kreditkontrollbereich
BUKRS LIKE T001-BUKRS, "Buchungskreis
END OF KKBERGES.
---- In die Felder RP01 bis RP05 werden dynamisch die von aussen ---
*---- eingegebenen Rasterpunkte uebertragen -
DATA: rp01(2) TYPE p, " 0
rp02(2) TYPE p, " 20
rp03(2) TYPE p, " 40
rp04(2) TYPE p, " 80
rp05(2) TYPE p, " 100
rp06(2) TYPE p, " 1
rp07(2) TYPE p, " 21
rp08(2) TYPE p, " 41
rp09(2) TYPE p, " 81
rp10(2) TYPE p. " 101
*---- In die Felder RC01 bis RC10 werden die Rasterpunkte in -
---- charakterform abgestellt. (fuer REPLACE-Funktion in Variabler -
*---- Ueberschrift) -
DATA: rc01(4) TYPE c, " 0
rc02(4) TYPE c, " 20
rc03(4) TYPE c, " 40
rc04(4) TYPE c, " 80
rc05(4) TYPE c, " 100
rc06(4) TYPE c, " 1
rc07(4) TYPE c, " 21
rc08(4) TYPE c, " 41
rc09(4) TYPE c, " 81
rc10(4) TYPE c. " 101
*---- Felder für Umsatzkennzeichen -
*---- für Ausweis der Sonderumsätze----
DATA: humkz1 LIKE knc3-shbkz,
humkz2 LIKE knc3-shbkz,
humkz3 LIKE knc3-shbkz,
humkz4 LIKE knc3-shbkz,
humkz5 LIKE knc3-shbkz,
humkz6 LIKE knc3-shbkz,
humkz7 LIKE knc3-shbkz,
humkz8 LIKE knc3-shbkz,
humkz9 LIKE knc3-shbkz,
humkz10 LIKE knc3-shbkz.
*---- 'GAG' = Hilfsfelder für die Berechnung der Gauss'chen -
*---- Ausgleichsgeraden. ( Trend ) -
DATA:BEGIN OF gag OCCURS 5,
f TYPE c, "1 = langfristig
"2 = mittelfristig
"3 = kurzfristig
"4 = letzter Vorgang
d(4) TYPE p, "Mitteldatum
t(4) TYPE p, "MW Überzgustage
u(8) TYPE p, "MW Umsatz
ut(8) TYPE p, "MW Umsatz * Tage
dt(8) TYPE p, "MW Datum * Tage
dd(8) TYPE p, "MW Datum * Datum
END OF gag.
*---- Weitere Hilfsfelder für die Berechnung der Gauss'chen -
*---- Ausgleichsgeraden. ( Trend ) -
DATA: lz(4) TYPE p, "Letzte Zahlung
dm(8) TYPE p, "Rechenfeld
vw(16) TYPE p, "Rechenfeld
vw1(16) TYPE p, "Rechenfeld
vw2(16) TYPE p. "Rechenfeld
DATA: BEGIN OF trend,
text(7) TYPE c,
trendda(4) TYPE c,
trenddb(4) TYPE c,
trenddc(4) TYPE c VALUE '/100',
END OF trend.
DATA: BEGIN OF s,
m(4) TYPE p, "Anzahl akzeptierter Mittelwerte
d(4) TYPE p, "Summe (Datum)
t(5) TYPE p, "Summe (Tage)
dt(8) TYPE p, "Summe (Datum * Tage)
dd(8) TYPE p, "Summe (Datum * Datum)
aw(4) TYPE p, "Schätzwert f. akt. Überzugstage
ae(9) TYPE p, "dto. aufbereitet.
bw(4) TYPE p, "Tendenz Tage /100 Tage
be(9) TYPE p, "dto. aufbereitet
END OF s.
*---- E N D E der Hilfsfelder für Berechnung der Gauss'chen -
*---- Ausgleichsgeraden. ( Trend ) -
*---- GBZAEHL - In diesem Feld wird vermerkt, fuer wieviele Ge- -
*---- schaeftsbereiche ein OP-Raster ausgegeben wird. -
---- Wird das Raster nur fuer einen Geschaeftsbereich ge- -
*---- druckt, so entfaellt das Summen-Raster. -
DATA: gbzaehl(3) TYPE p.
---- TOP-FLAG '1' = bei TOP-OF-PAGE Einzelpostenueberschrift ausg. --
*---- '2' = bei TOP-OF-PAGE Ueberschrift fuer Raster ausgeb. *
*---- '3' = bei TOP-OF-PAGE ULINE ausgeben. -
---- '4' = bei TOP-OF-PAGE Stammsatzueberschrift ausgeben --
DATA: top-flag(1) TYPE c.
*---- SEL-STAMM 'J' = Saldo Normalumsätze *
*---- SEL-POSTN 'J' = Stammsatz hat Posten gerastert *
*---- 'N' = Stammsatz hat keine Posten gerastert *
*---- SEL-POST2 'J' = Stammsatz hat Posten gerastert *
*---- 'N' = Stammsatz hat keine Posten gerastert *
DATA: BEGIN OF sel,
stamm(1) TYPE c,
postn(1) TYPE c,
post2(1) TYPE c,
END OF sel.
*---- SATZART '1' = Stammdaten -
*---- '2' = Faelligkeitsraster -
*---- '3' = Einzelposten -
DATA: satzart(1) TYPE c.
*---- RART = Erste ausgewaehlte Rasterart -
DATA: rart(1) TYPE c.
*---- TAGE = Tage nach denen die Posten sortiert sind -
DATA: tage(4) TYPE p,
*---- NTAGE = Tage fuer Netto-Faelligkeit -
ntage(4) TYPE p,
*---- STAGE = Tage fuer Skonto1-Faelligkeit -
stage(4) TYPE p,
*---- ZTAGE = Tage fuer voraussichtlichen Zahlungseingang -
ztage(4) TYPE p,
*---- ATAGE = Alter der Belege -
atage(4) TYPE p,
*---- UTAGE = Tage fuer Ueber-Faelligkeit -
utage(4) TYPE p.
*---- RASTERUU dient zur Sortierung der Einzelposten. Die Posten -
*---- gemaess ihrer Rasterung die Werte '1' bis '6' -
DATA: rasteruu(1) TYPE c.
*---- RAART Rasterart -
---- Die einzelnen Felder der Feldleiste werden bei SART-OF-SELECTION
*---- mit 1 oder 0 bestueckt. -
*ATA: BEGIN OF RAART,
NET(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
SKT(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
UEB(1) TYPE C, "X = ausgewaehlt, ' ' = nicht ausgewaehlt
END OF RAART.
DATA: BEGIN OF gb,
gsber LIKE bsid-gsber,
waers LIKE bsid-waers,
END OF gb.
*---- Variable Ueberschriften -
DATA: BEGIN OF varueb1,
feld1(40) TYPE c,
feld2(14) TYPE c,
feld3(14) TYPE c,
feld4(14) TYPE c,
feld5(14) TYPE c,
feld6(14) TYPE c,
feld7(14) TYPE c,
END OF varueb1.
DATA: BEGIN OF varueb2,
feld1(40) TYPE c,
feld2(14) TYPE c,
feld3(14) TYPE c,
feld4(14) TYPE c,
feld5(14) TYPE c,
feld6(14) TYPE c,
feld7(14) TYPE c,
END OF varueb2.
DATA: varueb3(132),
varueb4(132),
vartxt1(40),
vartxt(40) TYPE c.
*---- Variable für Ausgabe der Sonderumsätze----
DATA: shbbez LIKE t074t-ltext.
DATA: asums TYPE p. "
*---- Interne Tabelle für Bezeichnungen der SHBKZ----
DATA: BEGIN OF bezshb OCCURS 10,
shbkz LIKE t074t-shbkz,
ltext LIKE t074t-ltext,
END OF bezshb.
*---- Interne Tabelle für Zwischenspeicherung -
DATA: BEGIN OF blkey,
bukrs LIKE bsid-bukrs,
belnr LIKE bsid-belnr,
gjahr LIKE bsid-gjahr,
buzei LIKE bsid-buzei,
END OF blkey.
DATA: BEGIN OF rtage,
ntage LIKE ntage,
stage LIKE stage,
ztage LIKE ztage,
atage LIKE atage,
utage LIKE utage,
END OF rtage.
DATA: BEGIN OF hbsid OCCURS 10.
INCLUDE STRUCTURE bsid.
INCLUDE STRUCTURE bsega.
INCLUDE STRUCTURE rtage.
DATA: END OF hbsid.
DATA: BEGIN OF refbl OCCURS 10.
INCLUDE STRUCTURE blkey.
INCLUDE STRUCTURE rtage.
DATA: END OF refbl.
DATA: BEGIN OF hknb1 OCCURS 10.
INCLUDE STRUCTURE knb1.
DATA: END OF hknb1.
DATA: BEGIN OF ht001 OCCURS 10.
INCLUDE STRUCTURE t001.
DATA: END OF ht001.
*---- Interne Tabelle für Ausgabe der Obligos -
DATA: BEGIN OF aobligo OCCURS 12,
obart TYPE c, "Flag für Obligoart 1 = Kontokorrent
" 2 = SHBKZ
" 3 = sonstige SHB
shbkz LIKE t074t-shbkz, "SHB-Kennzeichen
ltext LIKE t074t-ltext, "Bezeichnung
oblig TYPE p, "Obligobetrag
END OF aobligo.
*---- Declarationen für Accessibility /ALV GRID -
DATA: acc_mode TYPE c.
DATA: uebtext(22) TYPE c.
DATA: uektext(15) TYPE c.
DATA: tittext(100) TYPE c.
DATA: dattext(10) TYPE c.
DATA: BEGIN OF rtab_alv OCCURS 30,
SORTK(1) TYPE C, "0 = Summe Gesber
"1 = Summe aller Gesber
"2 = Umsatzdaten
bukrs LIKE bsid-bukrs,
kunnr LIKE kna1-kunnr,
busab LIKE knb1-busab,
sortl LIKE kna1-sortl,
land1 LIKE kna1-land1,
gsber LIKE bsid-gsber,
waers LIKE bsid-waers,
hwaer like rf140-hwaer,
raart LIKE rf140-raart, "Rasterart
shkzg like bsid-shkzg,
XGUTS TYPE C, "Gutschrift
kumum LIKE rf140-kumumhw, "Umsatz
anzah LIKE rf140-anzbthw, "Anzahlungen
opsum LIKE rf140-gsaldd, "Offene Posten Summe
belnr LIKE rf140-belnr,
rast1 LIKE rf140-rast1, "Rasterfeld 1
rast2 LIKE rf140-rast2, "Rasterfeld 2
rast3 LIKE rf140-rast3, "Rasterfeld 3
rast4 LIKE rf140-rast4, "Rasterfeld 4
rast5 LIKE rf140-rast5, "Rasterfeld 5
rast6 LIKE rf140-rast6, "Rasterfeld 6
************AB*****
kostl LIKE bsid-kostl,
belnr LIKE bsid-belnr,
bldat LIKE bsid-bldat,
wrbtr LIKE bsid-wrbtr,
bdiff LIKE bsid-bdiff,
************AB*****
END OF rtab_alv.
*"General Data
TYPE-POOLS: slis.
*DATA: BEGIN OF GT_OUTTAB OCCURS 0.
INCLUDE STRUCTURE rtab_alv.
*DATA: END OF GT_OUTTAB.
DATA: gs_layout TYPE slis_layout_alv,
G_EXIT_CAUSED_BY_CALLER,
GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,
g_repid LIKE sy-repid,
g_grid_title TYPE lvc_title.
*"Callback
*Data: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
G_STATUS_SET TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
DATA: g_user_command TYPE slis_formname VALUE 'USER_COMMAND'.
G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
G_TOP_OF_LIST TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
G_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
*"Variants
DATA: gs_variant LIKE disvariant,
g_save.
Global structure of list
fieldcatalog
DATA: ls_fieldcat TYPE slis_fieldcat_alv.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
sort
*DATA: GT_SORT TYPE SLIS_T_SORTINFO_ALV.
events
*DATA: GT_EVENTS TYPE SLIS_T_EVENT.
*----- Structure for specific color settings -
*DATA: COL_TAB_T TYPE SLIS_T_SPECIALCOL_ALV,
COL_TAB TYPE SLIS_SPECIALCOL_ALV.
DATA: g_tabname TYPE slis_tabname VALUE 'RTAB_ALV'.
print
*DATA: GS_PRINT TYPE SLIS_PRINT_ALV.
*---- FIELD-GROUPS -
FIELD-GROUPS:
header,
stammdaten,
op-raster,
einzelposten.
INSERT
knb1-bukrs " Buchungskreis
knb1-busab " Sachbearbeiter
kna1-kunnr " Kontonummer
satzart " Satzart
rtab-sortk " Sortkz fuer Tabelle RTAB
" '0' = normale Eintraege
" '1' = Summeneintraege
" '2' = Jahresumsatz
gb " Geschaeftsbereich
" - GB-GSBER
" - GB-WAERS
rasteruu " Kennzeichen fuer Detailposten bzw Raster
ab hier nur fuer Einzelposten -
tage " Rastertage fuer Detailposten
bsid-umskz " Umsatzkennzeichen
bsid-blart " Belegart
BSID-ZUONR " Zuordnungsnummer
bsid-belnr " Belegnummer
bsid-buzei " Belegzeile
************AB*****
bsid-kostl
bsid-belnr
bsid-bldat
bsid-wrbtr
bsid-bdiff
************AB*****
INTO header.
INSERT
Addressdaten
adrs-line0 " 1. Zeile Adressenaufbereitung
adrs-line1 " 2. " "
adrs-line2 " 3. " "
adrs-line3 " 4. " "
adrs-line4 " 5. " "
adrs-line5 " 6. " "
adrs-line6 " 7. " "
ADRS-LINE7 " 8. " "
ADRS-LINE8 " 9. " "
ADRS-LINE9 " 10." "
Umsatzdaten
c-kumum " Umsatz
c-babzg " Berechtigt. Abzuege
c-uabzg " Unberechtigt. Abzuege
c-kzins " Zinszahlungen
c-kumag " Kum. Jahresausgleich
Warenkreditversicherung
knb1-vrsnr " Vertragsnummer
knb1-vrbkz " Institutsnummer
knb1-vlibb " Versicherungssumme
knb1-verdt " Gültig bis
knb1-vrszl " Ziel-Monate
knb1-vrspr " Selbstbeiteiligung in %
Obligos
c-saldo " Saldo ohne SHB-Vorgänge
C-WEXOB " Wechselobligo
C-ANZOB " Anzahlungsobligo
C-ZANFB " Zahlungsanforderungen
c-umkz1 "SHBKZ 1
c-sums1 "Sonderumsatz 1
c-umkz2 "SHBKZ 2
c-sums2Hi,
cost center/profit center is not shown in BSID , this depends on ur functional settings.
Fetch these values from BSEG, providing the max possible key fields -
HI,
I am doing FBCJ (cash journal), While doing fist time i could not see the opening balance. How can i get the opening balane
what is the process to do, to appear opening balance
Pls URGENT
Rgds
sunficoHi,
Please do as specified in Note 377853 - FBCJ: Opening and closing balance.
Summary
Symptom
This note is an advice note for the FI cash journal. It answers the following questions:
How is the opening balance of a period calculated in the cash journal?
How is the closing balance calculated?
What are the relevant notes?
Additional key words
Cash journal, opening balance, closing balance, fiscal year balance carryforward, balance table, balance carryforward
Cause and prerequisites
None
Solution
General notes:
If you want to create and execute a new cash journal, then you need the required Customizing to do this, among other things you must also specify a G/L account to which the documents from the cash journal should be posted. It is recommendable to create a new account for this, however, you can also use an existing account.
In the latter case, you must bring the corresponding G/L account in the general ledger to balance 0 using a manual clearing entry at the start of the exclusive postings via the cash journal. Then change the account to "Post automatically only" in the master record, and then you can use the cash journal as an opening balance to repost the amount that is posted to the clearing account,and you then have the corresponding amount as the first posting.
The first time you use the cash journal, therefore, the cash journal is balanced to zero as well as the assigned G/L account in this currency (the account itself needs not be managed in the cash journal currency).
Note:
Please absolutely make sure that flag "Balances in local currency only"
is NOT set in the master record of the assigned G/L account!
For performance reasons, the system updates a balance total for the particular day that updates the cash on hand for this day in parallel to the individual postings for every posting in the cash journal. The information in this balance table is therefore redundant since you can obtain it at any time from the line items of the individual postings.
Calculating the opening balance
The system then reads the balance table to determine the opening balance and searches for the next entry that is before the starting date of the display period. This is generally the preceding day.
If there is such an entry, then the system displays it as the opening balance for the display period.
If the system does not find any preceding entry in the balance table or if the balance table is blank (for example, due to deletion by report RFCJ1 from Note 197898), then the entire document table of the cash journal runs, and the system calculates the balance until then in the cash journal. For this purpose, please implement Note 419959.
Caution:
This logic is new as of Note 371936 (R/3 Support Package 25 for Release 4.6B or 14 for Release 4.6C)
Up to then, when the system could not find a balance entry (in the balance table), the system read the fiscal year balance carryforward of the corresponding fiscal year in the relevant G/L account, and then it summed up all postings based on this from the first day of the fiscal year until the first day of the display period.
The procedure was similar on the first day of a new fiscal year: Here the system used the fiscal year carryforward as an opening balance directly and not the last preceding entry in the balance table.
This was no longer viable since inconsistancies could quickly arise due to a late fiscal year balance carryforward as well as posting to the G/L account with cash journals of several currencies. Therefore, check whether there really was a balance of zero when first using the cash journal.
Calculating the closing balance
The closing balance results from opening balance plus the total of the line items of the display period.
If this invoice is incorrect for a display period, there may be an inconsistancy within the documents. In this case, execute report RFCJ5 from Note 374505 (provided you are in a company code which is not subject to the (extended) withholding tax - if the latter is the case, contact SAP).
If the closing balance does not correspond with the opening balance of the display period that directly follows, then there is an incorrect entry in the balance table. In this case, execute report RFCJ1 from Note 197898 for the corresponding cash journal to remove this entry.
Relevant notes
197898 "FI cash journal: Difference betw.balance & line itm"
It contains report RFCJ1 for resetting the balance table
R/3 Support Package 15 (Rel.4.6B), R/3 Support Package 7 (Rel.4.6C)
323990 "FBCJ: wrong balance aftr deletng cash journal doc"
R/3 Support Package 15 (Rel.4.6B), R/3 Support Package 7 (Rel.4.6C)
324051 "FBCJ: Wrong balance aftr reversing cash journal doc"
R/3 Support Package 15 (Rel.4.6B), R/3 Support Package 7 (Rel.4.6C)
326619 "FBCJ: Wrong balance after resetting balance table"
R/3 Support Package 16 (Rel.4.6B), R/3 Support Package 7 (Rel.4.6C)
333222 "FBCJ: incorrect balance after check deposit"
R/3 Support Package 8 (Rel.4.6C only)
368409 "FBCJ: incrrct balance calcultn (46B:HP22, 46C:HP11)"
R/3 Support Package 25 (Rel.4.6B), R/3 Support Package 14 (Rel.4.6C)
371936 "FBCJ: Incorrect balance for fiscal year carryfwd"
R/3 Support Package 25 (Rel.4.6B), R/3 Support Package 14 (Rel.4.6C)
374505 "FBCJ: Amount changed in document -> wrong balance"
It contains report RFCJ5 for adjusting documents
R/3 Support Package 25 (Rel.4.6B), R/3 Support Package 15
(Rel.4.6C)
"419959 FBCJ: Falscher Saldo nach Geschäftsjahresübergang"
Source code corrections
Header Data
Release Status: Released for Customer
Released on: 12.07.2001 22:00:00
Priority: Recommendations/additional info
Category: Consulting
Primary Component: FI-BL-PT-CJ Cash Journal
Releases
Software
Component Release From
Release To
Release And
subsequent
SAP_APPL 46 46B 46B X
SAP_APPL 46C 46C 46C X
SAP_BASIS 46C 46D -
Differential Temperaturmessung mit TB-4353
ist es möglich eine differentiale Temperaturmessung mit TB-4353 zu machen? (und wie!)
vielen Dank im vorausNun, Thermoelemente messen aus Prinzip nur eine Temperaturdifferenz (Genauer: Die integrale Temperaturdifferenz über die Leitungslänge unter Berücksichtigung der (unterschiedlichen) Seebeckkoeffizienten der beiden Leiter). Leider ist der Seebeckkoeffizient nicht konstant über die Temperatur, daher sollte eine der beiten Temperaturen (Beginn oder Ende des Elementes) schon bekannt sein. Üblicherweise die 'Coldjunction' an der Anschlußstelle zum Messgerät (hier TBxxxx).
Je nach Einsatz kann man den Fehler abschätzen.
Wie sind denn die Messstellen angeordnet?
Welche Temperaturen und Differenzen sind denn zu erwarten?
Welche Unsicherheit ist gefordert?
Am einfachsten ist es natürlich zwei Kanäle zu nehmen, und dann die Differenz per Software zu bilden. Aber ich vermute, dass dies nicht die gewünschte Lösung ist
Greetings from Germany
Henrik
LV since v3.1
“ground” is a convenient fantasy
'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ' -
Änderung der Kategorie in den Buchungsperioden möglich?
Hallo,
ein Kunde hat ein abweichendes Wirtschaftsjahr vom 01.07.10 bis 30.06.11 Als Geschäftsjahr hat er 2011 in den Buchungsperioden eingetragen. Die Kategorie steht jedoch bei den Monaten aus dem alten Kalenderjahr auf 2010 und nicht auf 2011.
Beim Aufruf des Periodenabschlusses werden ihm für die Periode 2011 nur die Monate Januar bis Juni 2011 für die Von-Bis-Abgrenzung vorgeschlagen. Es scheint so, dass die Abgrenzung über die Kategorie stattfindet.
Hier nun meine Frage:
Ist es möglich, im Nachhinein die Kategorie in den Buchungsperioden zu ändern?
Falls nicht, hat jemand eine andere Lösung für diees Problem?
Vielen Dank im voraus!
Gruß GeorgHallo!
Was für einen Status haben denn die Buchungsperioden 07/2010 - 12/2010?
Wenn die schon auf "Gesperrt" stehen, dann können sie in der Selektionsmaske des Periodenabschlusses nicht ausgewählt werden.
Wurden beim Anlegen des Wirtschaftsjahres ab 07/2010 alle 12 Perioden angelegt, oder nur bis 12/2010?
Das kann dazu führen, dass für die Monate ab 01/2011 eine eigene Kategorie erstellt wurde.
Die kann man im Nachhinein nicht ändern - jedenfalls wüsste ich nicht, wie.
Im Zweifelsfall muss man halt den Periodenabschluss 2x aufrufen, einmal für 2010 und einmal für 2011 - anders wird's nicht gehen.
Gruß,
Jens -
How to add a field in dynamic selections
HI,
There is a requirement in which i need to add a field in existing program of dynamic selections.
I have added a field in the screen.But I was not able to write the label and is not displaying.
I ahve copied evrything from existing coding.but still.
In the program ,Field groups are being used.
I have inserted my field in that header and item of field groups.
But i was not able to select the data based on this selection.
i will attach my code here for reference.
can anyone please help me how to use these filed symbols.
If possible send me the document on Dynamic selections.
the field i need to add is bkpf-bktxt
TABLES:
tcurx,
lfa1,
kna1,
bhdgd,
bkpf,
bseg,
bsega,
b0sg,
fimsg,
sarkey,
t001,
vbset,
sscrfields.
Selektionsparameter *
begin_of_block 1.
PARAMETERS:
par_nbel LIKE rfpdo-bpetnbel, "Normale Belege
par_vbel LIKE rfpdo-epojvbel, "Vorerfaßte Belege
par_sbel LIKE rfpdo-bpetsbel, "Statistischen Belege
par_mbel LIKE rfpdo-epojmbel, "Musterbelege
par_dbel LIKE rfpdo1-korbdbel. "Dauerbuchungsurbelege
end_of_block 1.
begin_of_block 2.
PARAMETERS:
par_summ LIKE rfpdo1-allgsumm, "nur Summenausgabe
par_hkto LIKE rfpdo2-beljhkto, "Hauptbuch- statt Personenkonto
par_altk LIKE rfpdo1-allgaltk, "alternative Kontonummer
par_lsep LIKE rfpdo-allglsep, "Listseparation
par_mikf LIKE rfpdo-allgmikf, "Mikrofiche-Zeile
par_line LIKE rfpdo1-allgline. "Zusatztitel
Eingaben für optische Archivierung
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: arc LIKE rfpdo1-allgarch.
SELECTION-SCREEN COMMENT 3(29) text-103 FOR FIELD arc.
SELECTION-SCREEN POSITION POS_LOW.
PARAMETERS: arc_msg1(10) MODIF ID arc.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION POS_LOW.
PARAMETERS: arc_msg2(10) MODIF ID arc.
SELECTION-SCREEN END OF LINE.
end_of_block 2.
PARAMETERS: arc_mem LIKE arc_params NO-DISPLAY.
Felder und Feldleisten *
CONSTANTS:
con_true TYPE i VALUE 1,
con_false TYPE i VALUE 2,
con_hash TYPE i VALUE 1,
con_vendor TYPE c VALUE 'K',
con_cust TYPE c VALUE 'D'.
Global Data
DATA: BEGIN OF hash_totals OCCURS 25,
bukrs LIKE t001-bukrs,
poper(7),
dramt LIKE bseg-wrbtr,
cramt LIKE bseg-wrbtr,
END OF hash_totals.
DATA:
factor TYPE i,
Zähler
cnt_bukrs(4) TYPE p, "Anzahl Buchungskreise
cnt_max LIKE sy-tfill, "Maximum der CNT_Ti
cnt_t0 LIKE sy-tfill, "Anzahl Einträge in Ti
cnt_t1 LIKE sy-tfill,
cnt_t2 LIKE sy-tfill,
cnt_t3 LIKE sy-tfill,
cnt_t4 LIKE sy-tfill,
cnt_t5 LIKE sy-tfill,
Fehler
err_altkt(1) TYPE c, "alt. Kontonummer nicht gefunden
Flags
flg_section TYPE i,
flg_vendr2 TYPE i,
flg_vendr3 TYPE i,
flg_color(1) TYPE n, "0 - intensified off
Hilfsfelder
hlp_belnr(10) TYPE c, "Anzeigefeld Belegnummer
hlp_bstat LIKE bkpf-bstat, "Status vorerfaßter Belege
hlp_buper(7) TYPE c, "Buchungsperiode mit '/'
hlp_null(1) TYPE p VALUE 0, "Betrag Null
hlp_sakan LIKE ska1-sakan, "Anzeigefeld Kontonummer
hlp_wrshb(26) TYPE c, "FW-Betrag mit Währung in Klammer
hlp_vnd_amt(43) TYPE c,
Texte
txt_line0(132) TYPE c, "Überschriften
txt_line1(132) TYPE c,
txt_line2(132) TYPE c,
txt_line(132) TYPE c, "Hilfstext
Feldleisten
BEGIN OF mikfi, "Information Mikrofiche-Zeile
bstat LIKE bkpf-bstat,
bukrs LIKE bkpf-bukrs,
gjahr LIKE bkpf-gjahr,
belnr LIKE bkpf-belnr,
END OF mikfi.
Interne Tabellen *
DATA:
Belegkopfinformationen
BEGIN OF t0 OCCURS 4, "0 - allgemeine Angaben
info(1) TYPE n, "1 - vorerfaßter Beleg
END OF t0, "2 - Referenz
"3 - Storno
"4 - gelöschter vorerfaßter Beleg
"5 - ersetzter vorerfaßter Beleg
"6 - Ausgleichsbeleg
"7 - zurückgenommener Ausgleich
Personenkonteninformationen je Beleg
BEGIN OF t1 OCCURS 10,
koart LIKE bseg-koart, "Kontoart
ktonr LIKE bseg-kunnr, "Kontonummer(Debitor/Kreditor)
bschl LIKE bseg-bschl, "Buchungsschlüssel
xnegp LIKE bseg-xnegp, "Negativbuchung
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
zlspr LIKE bseg-zlspr, "Payment Block Key - CR 21709
dmshb LIKE bsega-dmshb, "Soll-Haben Betrag in Hauswährung
wrshb LIKE bsega-dmshb, "Betrag in Fremdwährung
xfwae(1) TYPE c, "X - Fremdwährungsinformation
name1 LIKE lfa1-name1, "Customer/ Vendor Name
END OF t1,
Steuerinformationen je Beleg
BEGIN OF t2 OCCURS 10,
mwskz LIKE bseg-mwskz, "Mehrwertsteuerkennzeichen
dmshb LIKE bsega-dmshb, "Soll-Haben Betrag in Hauswährung
END OF t2,
Sachkonteninformationen je Beleg
BEGIN OF t3 OCCURS 20,
mwskz LIKE bseg-mwskz, "Mehrwertsteuerkennzeichen
bschl LIKE bseg-bschl, "Buchungsschlüssel
xnegp LIKE bseg-xnegp, "Negativbuchung
koart LIKE bseg-koart, "Kontoart
hkont LIKE bseg-hkont, "Hauptbuchkonto
dmshb LIKE bsega-dmshb, "Soll-Haben Betrag in Hauswährung
kostl LIKE bseg-kostl, "Cost Center
prctr LIKE bseg-prctr, "Profit Center
END OF t3,
Sonderhauptbuchbeträge für Debitoren (nur Ausgabe)
BEGIN OF t4 OCCURS 5,
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
END OF t4,
Sonderhauptbuchbeträge für Kreditoren (nur Ausgabe)
BEGIN OF t5 OCCURS 5,
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
END OF t5,
Summeninformationen je Buchungskreis
BEGIN OF tbukrs OCCURS 20,
bstat LIKE bkpf-bstat, "Belegstatus
bukrs LIKE bkpf-bukrs, "Buchungskreis
START OF CHANGE FOR CR63816 by OS0794 on 01/29/2008
bktxt LIKE bkpf-bktxt,
END OF CHANGE FOR CR63816 by OS0794 on 01/29/2008
gjahr LIKE bkpf-gjahr, "Buchungsjahr
monat LIKE bkpf-monat, "Buchungsmonat
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
waers LIKE t001-waers, "Währungsschlüssel (nur Ausgabe)
END OF tbukrs,
Sonderhauptbuchinformationen je Buchungskreis
BEGIN OF tbukrs_u OCCURS 20,
bstat LIKE bkpf-bstat, "Belegstatus
bukrs LIKE bkpf-bukrs, "Buchungskreis
START OF CHANGE FOR CR63816 by OS0794 on 01/29/2008
bktxt LIKE bkpf-bktxt,
END OF CHANGE FOR CR63816 by OS0794 on 01/29/2008
gjahr LIKE bkpf-gjahr, "Buchungsjahr
monat LIKE bkpf-monat, "Buchungsmonat
koart LIKE bseg-koart, "Kontoart
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
waers LIKE t001-waers, "Währungsschlüssel (nur Ausgabe)
END OF tbukrs_u,
Summeninformationen je Hauswährung
BEGIN OF twaers OCCURS 10,
bstat LIKE bkpf-bstat, "Belegstatus
waers LIKE t001-waers, "Hauswährungsschlüssel
gjahr LIKE bkpf-gjahr, "Buchungsjahr
monat LIKE bkpf-monat, "Buchungsmonat
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
END OF twaers,
Sonderhauptbuchinformationen je Hauswährung
BEGIN OF twaers_u OCCURS 20,
bstat LIKE bkpf-bstat, "Belegstatus
waers LIKE t001-waers, "Währungsschlüssel
gjahr LIKE bkpf-gjahr, "Buchungsjahr
monat LIKE bkpf-monat, "Buchungsmonat
koart LIKE bseg-koart, "Kontoart
umskz LIKE bseg-umskz, "Sonderumsatzkennzeichen
dmsol(9) TYPE p, "Soll-Betrag Hauswährung
dmhab(9) TYPE p, "Haben-Betrag Hauswährung
END OF twaers_u,
Fehlerprotokoll im Batch
BEGIN OF tfimsg OCCURS 10.
INCLUDE STRUCTURE fimsg.
DATA END OF tfimsg.
Strukturen für optische Archivierung *
DATA BEGIN OF info OCCURS 10.
INCLUDE STRUCTURE bhinf.
DATA END OF info.
DATA:
arc_save LIKE arc_params,
arc_valid.
Feldgruppen *
FIELD-GROUPS: header, daten.
INSERT:
bkpf-bukrs "Buchungskreis
bkpf-bktxt "Change by OS0794
bkpf-bstat "Belegstatus
bkpf-gjahr "Geschäftsjahr
bkpf-belnr "Belegnummer
bseg-buzei "Buchungszeile
INTO header.
INSERT
bkpf-blart "Belegart
bkpf-bktxt "Change by OS0794
bkpf-budat "Buchungsdatum
bkpf-stblg "Stornobelegnummer
bkpf-waers "Währungsschlüssel
bkpf-xblnr "Referenzangabe
bseg-bschl "Buchungsschlüssel
bseg-xnegp "Negativbuchung
bseg-zlspr "Payment Block Key - CR 21709
bseg-hkont "Hauptbuchkonto
bseg-koart "Kontoart
bseg-kunnr "Debitornummer
bseg-lifnr "Kreditornummer
bseg-mwart "Mehrwertsteuerart (A oder V)
bseg-mwskz "Mehrwertsteuerkennzeichen
bseg-umskz "Sonderhauptbuch-Kennzeichen
bsega-dmshb "S/H-Betrag in Hauswährung
bsega-mdshb "Umsatzsteuerbetrag in Hauswährg
bsega-wrshb "S/H-Betrag in Fremdwährung
hlp_bstat "Status vorerfaßter Belege bzw.
bseg-kostl
bseg-prctr
bkpf-monat
INTO daten. "Status von Belegen ohne Zeilen
Vorschlagswerte *
INITIALIZATION.
get_frame_title: 1,2.
par_nbel = 'X'.
par_sbel = space.
par_mbel = space.
par_dbel = space.
par_vbel = 'X'.
Archivinformationen nur fuer Ausgabe *
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'ARC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Prüfung und Korrektur der eingegebenen Daten *
AT SELECTION-SCREEN ON arc.
IF arc <> ' ' AND arc_mem(20) = space.
CALL FUNCTION 'GET_ARCHIVE_PARAMETERS'
EXPORTING
in_parameters = arc_save
printer = ' '
IMPORTING
out_parameters = arc_mem
valid = arc_valid
EXCEPTIONS
OTHERS = 04.
IF arc_valid <> 'X' OR arc_mem = space.
CLEAR arc_mem.
MESSAGE e999 WITH text-102.
ENDIF.
arc_msg1 = arc_mem(10).
arc_msg2 = arc_mem+10(10).
ENDIF.
IF arc = ' '.
CLEAR arc_mem.
arc_msg1 = arc_msg2 = space.
ENDIF.
arc_save = arc_mem.
AT SELECTION-SCREEN ON arc_msg1.
arc_msg1 = arc_mem(10).
AT SELECTION-SCREEN ON arc_msg2.
arc_msg2 = arc_mem+10(10).
AT SELECTION-SCREEN.
IF par_nbel EQ space AND
par_mbel EQ space AND
par_dbel EQ space AND
par_sbel EQ space AND
par_vbel EQ space.
SET CURSOR FIELD 'PAR_NBEL'.
MESSAGE e111.
ENDIF.
optische Archivierung
IF arc <> ' ' AND par_mikf <> ' '.
CLEAR arc_mem.
MESSAGE e999 WITH text-100.
ENDIF.
IF arc <> ' ' AND par_lsep <> ' '.
CLEAR arc_mem.
MESSAGE e999 WITH text-101.
ENDIF.
IF arc = 'X' AND sscrfields-ucomm = 'PRIN'.
sscrfields-ucomm = 'ONLI'.
sy-pdest = 'LP01'. "wegen Abfrage in Batch-Heading
ENDIF.
Vorbelegungen *
START-OF-SELECTION.
bhdgd-lines = sy-linsz.
bhdgd-repid = sy-repid.
bhdgd-uname = sy-uname.
bhdgd-separ = par_lsep.
bhdgd-domai = 'BUKRS'.
IF arc = 'X'.
bhdgd-miffl = 'A'.
ENDIF.
IF par_mikf = 'X'.
bhdgd-miffl = 'X'.
ENDIF.
Initialisierung für optisches Archiv
PERFORM open_archive(rsbtchh0) USING arc_mem.
info-name = 'BKPF-BSTAT'. info-len = space. APPEND info.
info-name = 'BKPF-BUKRS'. info-len = space. APPEND info.
info-name = 'BSEG-GJAHR'. info-len = space. APPEND info.
info-name = 'BKPF-BELNR'. info-len = space. APPEND info.
info-name = 'BKPF-BKTXT'. info-len = space. APPEND info.
PERFORM start_archive(rsbtchh0) TABLES info.
b0sg-xstan = par_nbel.
b0sg-xstam = par_mbel.
b0sg-xstad = par_dbel.
b0sg-xstas = par_sbel.
b0sg-xstaa = 'X'.
IF par_vbel EQ 'X'.
b0sg-xstav = 'Z'.
ENDIF.
Selektion *
GET bkpf FIELDS blart bstat budat monat stblg waers xblnr bktxt.
CLEAR hlp_bstat.
IF 'ABVWZ' CA bkpf-bstat.
hlp_bstat = bkpf-bstat.
CLEAR bkpf-bstat.
IF 'ABWZ' CA hlp_bstat.
CLEAR: bseg, bsega.
IF par_summ EQ space.
EXTRACT daten.
ENDIF.
PERFORM summe_merken.
ENDIF.
ENDIF.
GET bseg.
IF par_summ EQ space.
EXTRACT daten.
ENDIF.
PERFORM summe_merken.
GET bkpf LATE.
PERFORM vorerfasste_steuer_merken.
Seitenkopf *
TOP-OF-PAGE.
PERFORM batch-heading(rsbtchh0).
ULINE.
IF flg_section <> con_hash.
FORMAT COLOR 1 INTENSIFIED OFF.
WRITE / txt_line0.
ULINE.
FORMAT COLOR 1 INTENSIFIED.
WRITE: / txt_line1,
/ txt_line2.
ELSE.
FORMAT COLOR 1 INTENSIFIED OFF.
WRITE: / sy-vline NO-GAP,
'Hash Totals'(205),
132 sy-vline.
ULINE.
FORMAT COLOR 1 INTENSIFIED.
WRITE: / sy-vline NO-GAP,
(10) 'CoCd'(200),
(07) 'Period'(201),
sy-vline,
(16) 'Debit Amount'(202),
(16) 'Credit Amount'(203),
sy-vline,
(16) 'Total'(204).
ENDIF.
ULINE.
Sortieren der Daten *
END-OF-SELECTION.
DESCRIBE TABLE tbukrs LINES sy-tfill.
IF sy-tfill EQ 0.
CALL FUNCTION 'POPUP_NO_LIST'.
ENDIF.
SORT.
SORT tbukrs.
Belegjournal *
LOOP.
*-- Neuer Buchungskreis -
AT NEW bkpf-bukrs.
SELECT SINGLE * FROM t001 WHERE bukrs EQ bkpf-bukrs.
IF sy-subrc NE 0.
IF sy-batch EQ space.
MESSAGE a101 WITH bkpf-bukrs.
ELSE.
MESSAGE s101 WITH bkpf-bukrs.
STOP.
ENDIF.
ENDIF.
bhdgd-bukrs = bkpf-bukrs.
bhdgd-werte = bkpf-bukrs.
PERFORM new-section(rsbtchh0).
PERFORM titel_fuellen USING '5'.
ENDAT.
*-- Neuer Belegstatus -
AT NEW bkpf-bstat.
PERFORM new_page USING bkpf-bstat.
flg_color = 1.
ENDAT.
*-- Neue Belegnummer -
AT NEW bkpf-belnr.
REFRESH: t0, t1, t2, t3.
PERFORM belegkopf_merken.
mikfi-bstat = bkpf-bstat.
mikfi-bukrs = bkpf-bukrs.
mikfi-gjahr = bkpf-gjahr.
mikfi-belnr = bkpf-belnr.
bhdgd-grpin = mikfi.
ENDAT.
*-- Belegzeile -
PERFORM belegzeile_merken.
*-- Ende einer Belegnummer -
AT END OF bkpf-belnr.
PERFORM beleg_schreiben.
ULINE.
ENDAT.
*-- Ende eines Buchungskreises -
AT END OF bkpf-bukrs.
PERFORM titel_fuellen USING '4'.
PERFORM buchungskreis_schreiben USING bkpf-bukrs.
ENDAT.
ENDLOOP.
Summenblätter *
bhdgd-bukrs = ' '.
bhdgd-werte = ' '.
PERFORM new-section(rsbtchh0).
PERFORM titel_fuellen USING '4'.
PERFORM buchungskreis_schreiben USING ' '.
PERFORM hauswaehrung_schreiben.
Print Hash Totals *
flg_section = con_hash.
NEW-PAGE.
PERFORM prt_hash TABLES hash_totals.
Fehlerprotokoll *
CALL FUNCTION 'FI_MESSAGE_CHECK'
EXCEPTIONS
no_message = 4.
IF sy-subrc = 0.
IF sy-batch EQ space.
PERFORM titel_fuellen USING '6'.
NEW-PAGE.
FORMAT COLOR 6 INTENSIFIED.
CALL FUNCTION 'FI_MESSAGE_SORT'.
CALL FUNCTION 'FI_MESSAGE_PRINT'
EXPORTING
i_xskip = 'X'.
ELSE.
CALL FUNCTION 'FI_MESSAGE_GET'
TABLES
t_fimsg = tfimsg.
LOOP AT tfimsg.
MESSAGE ID tfimsg-msgid TYPE tfimsg-msgty NUMBER tfimsg-msgno
WITH tfimsg-msgv1 tfimsg-msgv2 tfimsg-msgv3 tfimsg-msgv4.
ENDLOOP.
ENDIF.
ENDIF.
U N T E R P R O G R A M M E *
0. TITEL_FUELLEN *
1. NEW_PAGE *
2. SUMME_MERKEN *
3. VORERFASSTE_STEUER_MERKEN *
4. BELEGKOPF_MERKEN *
5. BELEGZEILE_MERKEN *
6. BELEG_SCHREIBEN *
7. BUCHUNGSKREIS_SCHREIBEN *
8. HAUSWAEHRUNG_SCHREIBEN *
9. SUMMENZEILE_SCHREIBEN *
10. KONTONUMMER *
0. FORM TITEL_FUELLEN *
Ersetzt das Global &CCCU durch die Buchungskreiswährung *
F00_TEXT ist 4, 5 oder 6, je nach Gruppe der Textelemente *
FORM titel_fuellen USING f00_text.
DATA:
BEGIN OF txt_502,
T1(49) TYPE C, "CR 21709
W1(23) TYPE C, "CR 21709
t1(50) TYPE c, "CR 21709
w1(22) TYPE c, "CR 21709
t2(6) TYPE c,
w2(15) TYPE c,
t3(21) TYPE c,
w3(16) TYPE c,
t4(2) TYPE c,
END OF txt_502.
CASE f00_text. "Textelemente
WHEN '4'. "- für die Summenliste
txt_line0 = text-400.
txt_line1 = text-401.
txt_line2 = text-402.
WHEN '5'. "- für die Einzelpostenliste
txt_line0 = text-500.
txt_line1 = text-501.
txt_line2 = text-502.
IF par_hkto EQ 'X'.
txt_line1+33(10) = text-505.
txt_line2+33(10) = text-506.
ENDIF.
txt_502 = txt_line2.
REPLACE '&CCCU' WITH t001-waers INTO:
txt_502-w1, txt_502-w2, txt_502-w3.
CONDENSE:
txt_502-w1, txt_502-w2, txt_502-w3.
WRITE:
txt_502-w1 TO txt_502-w1 RIGHT-JUSTIFIED,
txt_502-w2 TO txt_502-w2 RIGHT-JUSTIFIED,
txt_502-w3 TO txt_502-w3 RIGHT-JUSTIFIED.
txt_line2 = txt_502.
WHEN '6'. "- für die Fehlerliste
txt_line0 = text-600.
txt_line1 = text-601.
txt_line2 = space.
WHEN OTHERS. "- initialisieren
txt_line0 = space.
txt_line1 = space.
txt_line2 = space.
ENDCASE.
ENDFORM. "TITEL_FUELLEN
1. FORM NEW_PAGE *
Initialisierungen für BATCH-HEADING Routine *
F01_BSTAT steuert den Aufbau des Reporttitels *
FORM new_page USING f01_bstat.
CASE f01_bstat. "Reporttitel
WHEN 'D'. "- für Dauerbuchungsurbelege
bhdgd-line1 = text-001.
WHEN 'M'. "- für Musterbelege
bhdgd-line1 = text-002.
WHEN 'S'. "- für statistische Belege
bhdgd-line1 = text-003.
WHEN OTHERS. "- für normale/vorerfaßte Belege
bhdgd-line1 = sy-title.
ENDCASE.
bhdgd-line2 = par_line.
bhdgd-inifl = 0.
NEW-PAGE.
ENDFORM. "NEW_PAGE
2. FORM SUMME_MERKEN *
Merken der Summeninformation *
FORM summe_merken.
CLEAR tbukrs.
tbukrs-bstat = bkpf-bstat.
tbukrs-bukrs = bkpf-bukrs.
tbukrs-bktxt = bkpf-bktxt.
tbukrs-gjahr = bkpf-gjahr.
tbukrs-monat = bkpf-monat.
tbukrs-dmsol = bsega-dmsol.
tbukrs-dmhab = bsega-dmhab.
IF 'DK' CA bseg-koart.
MOVE-CORRESPONDING tbukrs TO tbukrs_u.
tbukrs_u-koart = bseg-koart.
tbukrs_u-umskz = bseg-umskz.
tbukrs_u-dmsol = bsega-dmsol.
tbukrs_u-dmhab = bsega-dmhab.
COLLECT tbukrs_u.
tbukrs_u-monat = 0. "Summe für das Geschäftsjahr
COLLECT tbukrs_u.
ENDIF.
COLLECT tbukrs.
ENDFORM. "SUMME_MERKEN
3. FORM VORERFASSTE_STEUER_MERKEN *
Nachlesen der Steuerzeilen vorerfaßter Belege *
Gefüllt wird TBUKRS und der Extrakt *
FORM vorerfasste_steuer_merken.
CHECK hlp_bstat EQ 'V'.
SELECT * FROM vbset
WHERE ausbk EQ bkpf-bukrs
AND belnr EQ bkpf-belnr
AND gjahr EQ bkpf-gjahr.
CHECK vbset-hwste NE 0.
CLEAR: bseg, bsega.
bseg-koart = 'S'.
bseg-mwart = 'V'. "oder 'A', nur zum Füllen von T2
bseg-mwskz = vbset-mwskz.
IF vbset-shkzg EQ 'S'.
bsega-dmsol = vbset-hwste.
bsega-dmshb = vbset-hwste.
ELSE.
bsega-dmhab = vbset-hwste.
bsega-dmshb = - vbset-hwste.
ENDIF.
IF par_summ EQ space.
EXTRACT daten.
ENDIF.
PERFORM summe_merken.
ENDSELECT.
ENDFORM. "VORERFASSTE_STEUER_MERKEN
4. FORM BELEGKOPF_MERKEN *
Je Beleg werden gefüllt: *
T0 - Informationsflag *
FORM belegkopf_merken.
t0-info = 0. "Belegkopf
APPEND t0.
CASE hlp_bstat.
WHEN 'A'.
t0-info = 6. "Ausgleichsbeleg
APPEND t0.
WHEN 'B'.
t0-info = 7. "zurückgen. Ausgleichsbeleg
APPEND t0.
WHEN 'V'.
t0-info = 1. "vorerfaßter Beleg
APPEND t0.
WHEN 'W'.
t0-info = 5. "ersetzter vorerfaßter Beleg
APPEND t0.
WHEN 'Z'.
t0-info = 4. "gelöschter vorerfaßter Beleg
APPEND t0.
ENDCASE.
IF bkpf-xblnr NE space AND hlp_bstat NA 'BWZ'.
t0-info = 2. "Referenz
APPEND t0.
ENDIF.
IF bkpf-stblg NE space.
t0-info = 3. "Storno
APPEND t0.
ENDIF.
SORT t0.
ENDFORM. "BELEGKOPF_MERKEN
5. FORM BELEGZEILE_MERKEN *
Je Beleg werden gefüllt: *
T1 - Personenkonteninformation *
T2 - Steuerinformation (nicht bei vorerfaßten Belegen) *
T3 - Sachkonteninformation *
FORM belegzeile_merken.
Vendors/ Customers
IF bseg-koart CA 'DK'.
t1-koart = bseg-koart.
IF par_hkto EQ 'X'.
t1-ktonr = bseg-hkont.
ELSEIF bseg-koart EQ 'K'.
t1-ktonr = bseg-lifnr.
ELSE.
t1-ktonr = bseg-kunnr.
ENDIF.
t1-bschl = bseg-bschl.
t1-umskz = bseg-umskz.
t1-xnegp = bseg-xnegp.
t1-zlspr = bseg-zlspr. "CR 21709
t1-dmshb = bsega-dmshb.
t1-wrshb = bsega-wrshb.
t1-xfwae = space.
APPEND t1.
Read the vendor description.
IF bseg-koart = con_vendor.
flg_vendr2 = con_true.
flg_vendr3 = con_true.
CLEAR lfa1-name1.
SELECT SINGLE name1
INTO lfa1-name1
FROM lfa1
WHERE lifnr = bseg-lifnr.
ELSEIF bseg-koart = con_cust.
CLEAR kna1-name1.
SELECT SINGLE name1
INTO kna1-name1
FROM kna1
WHERE kunnr = bseg-kunnr.
ENDIF.
IF bkpf-waers EQ t001-waers.
CLEAR t1.
ENDIF.
t1-xfwae = 'X'.
t1-name1 = lfa1-name1.
IF t1-name1 IS INITIAL.
t1-name1 = kna1-name1.
ENDIF.
APPEND t1.
CLEAR:
kna1-name1,
lfa1-name1.
CLEAR t1.
Save the hash total amounts
CLEAR tcurx-currdec.
SELECT SINGLE currdec
INTO tcurx-currdec
FROM tcurx
WHERE currkey = bkpf-waers.
IF tcurx-currdec = 1.
factor = 10.
ELSE.
factor = 100.
ENDIF.
CLEAR hash_totals.
hash_totals-bukrs = bkpf-bukrs.
CONCATENATE bkpf-monat '/' bkpf-gjahr INTO hash_totals-poper.
IF bsega-wrshb < 0.
hash_totals-cramt = bsega-wrshb * factor.
ELSE.
hash_totals-dramt = bsega-wrshb * factor.
ENDIF.
COLLECT hash_totals.
Tax accounts
ELSEIF bseg-mwart CA 'AV'.
t2-mwskz = bseg-mwskz.
t2-dmshb = bsega-dmshb.
APPEND t2.
IF flg_vendr2 = con_true.
flg_vendr2 = con_false.
CLEAR t2.
APPEND t2.
ENDIF.
GL Accounts
ELSEIF hlp_bstat NA 'ABWZ'.
t3-mwskz = bseg-mwskz.
t3-bschl = bseg-bschl.
t3-xnegp = bseg-xnegp.
t3-koart = bseg-koart.
t3-hkont = bseg-hkont.
t3-dmshb = bsega-dmshb.
APPEND t3.
IF flg_vendr3 = con_true
OR NOT bseg-kostl IS INITIAL
OR NOT bseg-prctr IS INITIAL.
flg_vendr3 = con_false.
CLEAR t3.
t3-kostl = bseg-kostl.
t3-prctr = bseg-prctr.
APPEND t3.
CLEAR t3.
ENDIF.
ENDIF.
ENDFORM. "BELEGZEILE_MERKEN
6. FORM BELEG_SCHREIBEN *
Ausgabe der Belginformationen *
FORM beleg_schreiben.
DATA:
len TYPE i.
Berechnung der benötigten Zeilen pro Beleg
DESCRIBE TABLE:
t0 LINES cnt_t0,
t1 LINES cnt_t1,
t2 LINES cnt_t2,
t3 LINES cnt_t3.
cnt_max = cnt_t0.
IF cnt_max LT cnt_t1.
cnt_max = cnt_t1.
ENDIF.
IF cnt_max LT cnt_t2.
cnt_max = cnt_t2.
ENDIF.
IF cnt_max LT cnt_t3.
cnt_max = cnt_t3.
ENDIF.
ADD 1 TO cnt_max.
IF cnt_max LE 10.
RESERVE cnt_max LINES.
ELSE.
RESERVE 5 LINES.
ENDIF.
SUBTRACT 1 FROM cnt_max.
Farbe setzen
IF flg_color EQ 0.
FORMAT COLOR 2 INTENSIFIED OFF.
flg_color = 1.
ELSE.
FORMAT COLOR 2 INTENSIFIED.
flg_color = 0.
ENDIF.
Index fuer optische Archivierung
PERFORM new-group(rsbtchh0).
DO cnt_max TIMES.
Belegkopfinformationen
WRITE /1 sy-vline NO-GAP.
IF sy-index LE cnt_t0.
READ TABLE t0 INDEX sy-index.
CASE t0-info.
WHEN 0. "Belegkopf
hlp_belnr = bkpf-belnr. "Belegnr. mit führenden Nullen
Referenz auf Originalbeleg
PERFORM start_doc_reference(rsbtchh0)
USING bkpf-bukrs bkpf-belnr bkpf-gjahr bkpf-bktxt. " change*
WRITE:
bkpf-bukrs,
hlp_belnr,
bkpf-blart,
bkpf-budat DD/MM/YYYY.
Ende der Referenz auf Originalbeleg
PERFORM end_doc_reference(rsbtchh0).
WHEN 1. "Vorerfaßter Beleg
WRITE:
(29) text-507.
WHEN 2. "Referenz
WRITE:
(12) text-503,
bkpf-xblnr.
WHEN 3. "Storno
WRITE:
(12) text-504,
bkpf-stblg.
WHEN 4. "Gelöschter vorerfaßter Beleg
WRITE:
(29) text-507,
(40) text-508.
WHEN 5. "Ersetzter vorerfaßter Beleg
txt_line = text-509.
REPLACE:
'&BLN' WITH bkpf-xblnr(10) INTO txt_line,
'&GJR' WITH bkpf-xblnr+10 INTO txt_line.
WRITE:
(29) text-507,
(40) txt_line.
WHEN 6. "Ausgleichsbeleg
WRITE: "
(29) text-510. "
WHEN 7. "zurückgen. Ausgleichsbeleg
WRITE: "
(29) text-511. "
ENDCASE.
ENDIF.
Personenkonteninformationen
Subledger Account Information
WRITE 31(1) sy-vline NO-GAP.
Internal tables T0 - T5 hold data for each section.
IF sy-index LE cnt_t1.
READ TABLE t1 INDEX sy-index.
IF par_hkto EQ 'X'.
PERFORM kontonummer USING t1-ktonr hlp_sakan.
ELSE.
hlp_sakan = t1-ktonr.
ENDIF.
IF t1-xfwae EQ space.
IF t1-xnegp = 'X'.
t1-xnegp = '-'.
ENDIF.
Write the vendor number.
WRITE: t1-koart,
hlp_sakan,
t1-bschl NO-GAP.
IF t1-umskz IS INITIAL.
WRITE: t1-xnegp NO-GAP,
t1-umskz.
ELSE.
WRITE: t1-umskz NO-GAP,
t1-xnegp.
ENDIF.
WRITE: t1-zlspr. "CR 21709 / 23588
WRITE: (22) t1-dmshb CURRENCY t001-waers.
ELSE.
Write the document currency, amount and the
vendor/ customerHi,
Please see documentation of enhancement MM06E005 (transaction SMOD).
Userexit EXIT_SAPMM06E_016 is a component of enhancement MM06E005.
With that enhancement, you can
- Maintain/supply your own customer fields
- Update your own customer-specific tables
You cannot:
- Change standard fields
- Change data that depends on the document header in the items
- Change data that depends on an item in the document header
Please have a look at Business Add-In (BAdI) ME_PROCESS_PO_CUST.
Regards,
Edit
Maybe you are looking for
-
IMac boot hangs/takes a while
So I've had my iMac for almost a year (and opted for Apple care which I'm glad about!) and within the past month approximately 3 times the boot sequence has hung. It either hangs at the gray screen (with or without the apple logo) or it gets past tha
-
Basic questions about high-quality output and PDFs
I do volunteer work in a non-profit that interfaces with local county government. We've been discussing a project to produce an atlas-type information as a service to the residents. The maps would be rendered by the GIS software the county uses (ES
-
Error while using BAPI_REQUISITION_CHANGE
Hello All, I am using the bapi BAPI_REQUISITION_CHANGE, to change the quantity for the PR number. Currently I am passing the following details:- PR number in importing parameters PR line item, Storage Location, Material Group, Quantity, and UOM both
-
I tried importing a CD as MP3 yesterday, and only the first track was actually imported -- the rest of the tracks appeared in the list of files created, but each was 2K in size, with no content. When I went to another computer and did the same, it wo
-
Does anyone know how to enable byte-range requests on Mac OS X Server 10.6?
I need to be able to host my podcast episodes on the server and iTunes is giving me the error that my episodes are on a server that does not support byte-range requests when I try to submit the podcast feed to the iTunes directory. Any help is greatl