Mapping fields in crystal 2013 while changing datasource.
Does any one have any idea while migrating crystal reports from 2008 to 2013 based on BEx 3.5 "Is there any way we can edit the mapping of fields through database change source ,if we have opened the crystal 2008 report in crystal 2013 and have mapped once?"
Hi Ravi,
Thanx for replying. We have a different scenario here-
We have crystal 2008 which we are migrating to crystal 2013 [Note: these are based on BW 3.5].The Steps we are folllowing here:-
Step1: Opening the Crystal2008 Report in Crystal 2013.
Step2: Changing the datasource to new BEX query pointing to the same BWT environment.
Step3: Mapping all the fields to the new data field from Source tables to Target tables.
Step4: Refreshing the Crystal 2008 & Crystal 2013 Report using same parameter inputs.
Now the problem we are facing here is --
1) Output of both reports are different,which is the main issue for all the reports.Only the layout is similar in both.Data is found to be more in 2013.[which should not as we using same BW database]
2) For some reports 2013 throws some datatype errors for date field or string which is not same in crystal 2008.
3)The query generated in both 2008 & 2013 are differnt.In 2013 it automatically gives crossjoins with some other table.Below is the query from both:-
2008
SELECT * FROM [ZDFILLRT/ZSD_Q_UNADJ_ADJ_FILL_RATE] SAP VARIABLES [ZSOLDTOS] INCLUDING "0001006112", [ZDATEFRO] INCLUDING "01/2013", [ZDATETO] INCLUDING "12/2013"
2011
SELECT {[Measures].[ZDFILLRT_DED_QTY], [Measures].[ZDFILLRT_NUMB_DAYS], [Measures].[ZDFILLRT_INIT_DLV_QTY], NON EMPTY CROSSJOIN([0SOLD_TO
ZREPGRP].MEMBERS, CROSSJOIN([ZSO_DATE].[LEVEL01].MEMBERS, CROSSJOIN([0PO_NUMBER].[LEVEL01].MEMBERS, CROSSJOIN([0DOC_NUMBER].[LEVEL01].MEMBERS, CROSSJOIN([0S_ORD_ITEM].[LEVEL01].MEMBERS, CROSSJOIN([0MATERIAL].[LEVEL01].MEMBERS, )))) DIMENSION PROPERTIES [0MATERIAL].[50MATERIAL], [0SOLD_TO
ZREPGRP].[50SOLD_TO] ON ROWS FROM [ZDFILLRT/ZSD_Q_UNADJ_ADJ_FILL_RATE] SAP VARIABLES [ZSOLDTOS] INCLUDING "0001006112", [ZDATEFRO] INCLUDING "01/2013", [ZDATETO] INCLUDING "12/2013"
Would appreciate ,if you can help on this.
Regards.
Vidhi
Similar Messages
-
Database structure changed. Mapping Crystal reports to new datasource
There are several crystal reports that need to be remapped to a new database we have in place. The data structure has quite changed. I started using the 'Set datasource Location' option to map the new database fields to existing fields in the report. The problem shows up when trying to map fields from multiple tables to existing fields in the report from a single table. To elaborate, the old database structure has only one table used for a report and the new database structure has these same fileds coming from two different tables. The 'Set datasource Location' option is leting me map the existing table used in the report to only one report. Is this how this functionality works or am I missing something. Please advise the best way to do this mapping.
VJhi VJ,
when you're dealing with reports where the data source can change along with the number of tables or the table names or the field names etc. then this is a method that you can design with to avoid issues associated with datasource changes.
you can also change existing reports to use this formula only method but of course there's a bit of work involved in changing reports vs. designing them like this from the ground up.
-jamie -
I can not map field after changing data source location
Hi
I have a small problem that I got a report file and database from my customer, after that I setup database, open the file and change data source to my setting. but some filed can not map. The field mapping widonw does not display all field in the table. Of course I have checked the missing fields are existing in the table.
OS:Windows7
DB:Oracle11
CR:XI Release 2
Does anyone have an idea?hi,
In Map Fields window, there is an option "Match Type".
Please Unchek that option, so that you will be able to see all the fields from that table.
Also, while mapping please verify the datatypes of source and target fields.
Regards,
Vamsee -
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 -
Error while changing the physical IP address of SOA related datasource
Hello Everyone!!!
I am facing a problem while changing the ip address of my SOA related datasource in weblogic 10.3,Below is a brief description about my prb:
I have created a domain in weblogic 10.3 and have configured a datasource to it and its working fine initially.
But i had to change the ip address of my datasource(i.e Edit the existing the setting of my domain) as my database was migrated to another m/c.The changes that i did was,I changed the url in the connectionpool tab of each of the datasource's listed in admin console(Please let me know if i have left out any other important place in which i had to make this change).
After making this change my ManagedServer starts but my Enterprise Application named soa-infra doesnt start and when i checked the log to find out the error,this is what i came across:
B2B-50025: Repository error: Error -: B2B-51572: Error reading input stream.: java.io.IOException: Stream closed
at oracle.tip.b2b.init.Repository.initExchange(Repository.java:658)
at oracle.tip.b2b.init.Repository.initialize(Repository.java:764)
at oracle.tip.b2b.init.B2BServer.readRepository(B2BServer.java:509)
at oracle.tip.b2b.init.B2BServer.initialize(B2BServer.java:212)
at oracle.tip.b2b.engine.ThreadWorkExecutor.startB2B(ThreadWorkExecutor.java:345)
at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:203)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:105)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: Error -: B2B-51572: Error reading input stream.: java.io.IOException: Stream closed
Any suggestion would be of great help.
Thks in advance!!!Hey thks for the reply,
We were able to solve the problem by just restarting our database,
i got some reference from the below link(pls refer to this topic:Changing the IP Address of a Metadata Repository Installation):
[http://download.oracle.com/docs/cd/E12839_01/core.1111/e10105/host.htm#CHDHAEFE]
but m still confused do i have to restart my database server each time i change the DB server that m pointing to in my weblogic console and if yes can you pls help me understand what change happens when the database restarts that makes this work.
Another issue that m facing now is that after solving the above prb(by restarting the DB) m not able to deploy process's on to my server.
The Exception that appears in the log file is as follows:
[2011-02-08T13:03:33.220+05:30] [soa_server1] [ERROR] [] [oracle.soa.bpel.engine.compiler] [tid: [ACTIVE].ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 0000Is4C5SLBLA1LzuP5iW1DKEXf000d33,0] [APP: soa-infra] [dcid: d61ccdb1526887f2:678e40b9:12e040e4cba:-7ffd-000000000000290f] <BPEL1Processor::generateProcessClass> MerchantSales_BPELProcess.bpel(line 228): invalid query[[
query "/EmailPayload/ns3:FromAccountName" is invalid, because java.lang.IllegalArgumentException: null schema location for ns=http://xmlns.oracle.com/ias/pcbpel/NotificationService [Cause=null schema location for ns=http://xmlns.oracle.com/ias/pcbpel/NotificationService]
Check the XML schema and make sure your query string is valid
[2011-02-08T13:03:33.448+05:30] [soa_server1] [ERROR] [] [oracle.soa.bpel.engine.deployment] [tid: [ACTIVE].ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 0000Is4C5SLBLA1LzuP5iW1DKEXf000d33,0] [APP: soa-infra] [dcid: d61ccdb1526887f2:678e40b9:12e040e4cba:-7ffd-000000000000290f] <CubeProcessLoader::create> [[
java.lang.Exception: BPEL compilation failed
at com.collaxa.cube.lang.compiler.BPEL1Processor.generateProcessClass(BPEL1Processor.java:529)
at com.collaxa.cube.lang.compiler.BPEL1Processor.loadProcess(BPEL1Processor.java:495)
at com.collaxa.cube.lang.compiler.BPEL1Processor.loadProcess(BPEL1Processor.java:438)
at com.collaxa.cube.lang.compiler.BPEL1Processor.createCubeProcess(BPEL1Processor.java:396)
at com.collaxa.cube.engine.deployment.CubeProcessFactory.create(CubeProcessFactory.java:61)
at com.collaxa.cube.engine.deployment.CubeProcessLoader.create(CubeProcessLoader.java:112)
at com.collaxa.cube.engine.deployment.DeploymentManager.deployProcess(DeploymentManager.java:238)
at com.collaxa.cube.engine.deployment.DeploymentManager.deployComponent(DeploymentManager.java:182)
at com.collaxa.cube.ejb.impl.CubeServerManagerBean._deployOrLoadComponent(CubeServerManagerBean.java:726)
at com.collaxa.cube.ejb.impl.CubeServerManagerBean.deployComponent(CubeServerManagerBean.java:114)
at com.collaxa.cube.ejb.impl.bpel.BPELServerManagerBean.deployComponent(BPELServerManagerBean.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) -
Activation error while changing the data type of a field of a table
hi friends,
i am facing one problem while changing a data type of a field of a table.
i just created one table(Yqm32) .i have assigned charcter data type to one field(ztotal_count) .now i want to change this charcter data type to numeric data type.
while changing to NUMC data type activation error is comming as below.
Table is not yet classified
Field ZTOTAL_COUNT: Type change
ALTER TABLE is not possible
Structure change at field level (convert table YQM32)
Check on table YQM32 resulted in errors
Table YQM32 could not be activated
(E- Structure change at field level (convert table YQM32)
plz suggest.i need to change the data type from char to numc.
Thanks & RegardsHi Pabitra......
From the SE11 change the table as u wanted and then from menubar select
UTILITIES--> DATABASE UTILITY
It will open database utility
there u select the Activate and adjust database button.
then the database table will get adjusted.
just try it once.........
Suresh...... -
Change datasource of Crystal Report via code
Hi all!
I'm developing partner solution for SAP B1 8.8 in C# and prepared some nice crystal reports. But they are bound to my default database for now. I want to include them to my installation file and change saved datasource location (Server, Company Name, User name, User password) in my installation script as soon as I get this values, entered by user. But I don't know the way how to change datasource in rpt file. I've tried the following:
using CrystalDecisions.CrystalReports.Engine;
ReportDocument rDoc = new ReportDocument();
rDoc.Load(@"C:\Temp\Report2.rpt");
rDoc.DataSourceConnections[0].SetConnection("Server", "SBOTest", "manager", "manager");
rDoc.SaveAs(@"C:\Temp\Report3.rpt");
rDoc.Close();
but it save no changes to rpt file.
I think, this thread belongs mostly to Development/SDK thread, because here most of the people make programs and potentially met this problem in the past.public void SetCrystalLogin(string sUser, string sPassword, string sServer, string sCompanyDB, CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt)
CrystalDecisions.Shared.ConnectionInfo oConnectInfo = new CrystalDecisions.Shared.ConnectionInfo();
oConnectInfo.DatabaseName = sCompanyDB;
oConnectInfo.ServerName = sServer;
oConnectInfo.UserID = sUser;
oConnectInfo.Password = sPassword;
// Set the logon credentials for all tables
SetCrystalTablesLogin(oConnectInfo, oRpt.Database.Tables);
// Check for subreports
foreach (CrystalDecisions.CrystalReports.Engine.Section oSection in oRpt.ReportDefinition.Sections)
foreach (CrystalDecisions.CrystalReports.Engine.ReportObject oRptObj in oSection.ReportObjects)
if (oRptObj.Kind == CrystalDecisions.Shared.ReportObjectKind.SubreportObject)
// This is a subreport so set the logon credentials for this report's tables
CrystalDecisions.CrystalReports.Engine.SubreportObject oSubRptObj = oRptObj as CrystalDecisions.CrystalReports.Engine.SubreportObject;
// Open the subreport
CrystalDecisions.CrystalReports.Engine.ReportDocument oSubRpt = oSubRptObj.OpenSubreport(oSubRptObj.SubreportName);
SetCrystalTablesLogin(oConnectInfo, oSubRpt.Database.Tables);
oRpt.Refresh();
oRpt.SetDatabaseLogon(sUser, sPassword, sServer, sCompanyDB, false);
oRpt.VerifyDatabase();
oRpt.Refresh();
private void SetCrystalTablesLogin(CrystalDecisions.Shared.ConnectionInfo oConnectInfo, Tables oTables)
foreach (CrystalDecisions.CrystalReports.Engine.Table oTable in oTables)
CrystalDecisions.Shared.TableLogOnInfo oLogonInfo = oTable.LogOnInfo;
oLogonInfo.ConnectionInfo = oConnectInfo;
oTable.ApplyLogOnInfo(oLogonInfo);
Edited by: Konstantin Rakhuba on May 6, 2010 11:44 AM
Edited by: Konstantin Rakhuba on May 6, 2010 11:45 AM -
How to change date parameter field in crystal from YYYY-MM-DD to DD/MM/YY
Hi
I want to change a Parameter field in Crystal report from YYYY-MM-DD format to DD/MM/YY format>
Sukhi Singh wrote:
> Hi
> I want to change a Parameter field in Crystal report from YYYY-MM-DD format to DD/MM/YY format
What do you mean by Crystal Report? Are you sure you posted this to the correct forum? -
Need to disable availability check while changing 'Reason For Order' Field in Retail Tab
While change of STO (Me22n) I want the availability check to be disabled when a change to 'Reason for Oder' is made in the Retail Tab in the item detail.
Let me know if there is any BADI/ User exit or enhancement available where i can do this customization.Hi Reddy,
Try Transaction Variant, you can customize the screen using this tool.
Basically, you customize the screen (hide, make it required, visible etc) then
save it as screen variant and define a new transaction code to it.
So for your user, just give them this new transaction code (instead of SAP standard).
Detail about transaction variant can be checked on :
http://help.sap.com/saphelp_crm50/helpdata/en/7d/f63a0a015111d396480000e82de14a/frameset.htm
Hope this helps,
Gun. -
Map Fields, store procedure results is "Expr1000"
Hi guys.
This is my problem.
I have a sql server 2005 database. In this database i have a store procedure (3100 lines, with temporal tables, unions .. etc).
When i try to create the report in CR9, i do this :
1) i'm go to "set datasource location"
2) select the database
3) select the store procedure
4) put some parameters
5) Accept
When i want to add the fields to the report ....
the only results from the SP is a result field called "Expr1000".
I execute the store in my sql server and this give me all the columns results (174 columns).
My question is:
What is the error , that in CR9 i can't see all the columns results , and only i can see "Expr1000".
Thanks !!!!!
Pablo Reynoso.This is definitely not the solution for everyone but reading this thread made me do a little more checking on my own.
I too was receiving the "Expr1000" field from the SP when linking it into a new report or even when trying to MAP fields in an existing report template. In the Map Fields dialog the source SP had no fields displayed for Mapping.
What I discovered was S.U.E. (stupid user error). While testing some changes to the source SP I changed the return result from returning data to returning the actual sql code I was constructing in the SP. I often write the code into a local string variable and then use the 'exec(@str);' command as the final step of the SP. I changed that code to 'Select @str;' which returned the @str string value when I executed the SP from within SQL Manager - to see the actual sql code.
I never changed the code back to using the 'exec(@str);' so I was returning a 4,000+ char string from the SP which when loaded into Crystal the SP "field" became "Expr1000".
After making this little change, returning the data instead of a single LARGE string the report behavior returned to what is was before the testing snafu.
Hope this helps someone else, at least maybe point them to their code changes and not necessarily the CR template.
Dave -
Post Author: nl11087
CA Forum: JAVA
A single quote/apostrophe in string parameter passed to a Crystal Report with Command datasource connecting to a SQL Server database, using sqljdbc driver does not escape the special character correctly. When doing a preview in the Crystal Reports IDE it allows you to escape the input parameter as expected and work correctly, but through the JRC component it fails. For string parameters without special sql server characters I experience no problems at all. When replacing the Command with a direct table there is also no problem.
Reproduction:
1. create a database db1, create a table table1 with a String type column col1.
2. Create new report Report1.rpt, create a connection to above, Add Command using 'SELECT col1, col2, col3 FROM table1 WHERE col1 = '{?Par1}' . Add a parameter field Par1 : String
3. In your java stand alone application using JRC add the parameter Par1 with a value "Jon Doe's Value" containing a single apostrophe. Export to PDF. (I also tried MSWord and this failed too, similar behavior). Additionally, in another test try to replaceAll("'","''") to escape it, preventing the code to break, but now it does not retrieve the expected row anymore and you end up with an empty report.
Exception StackTrace:
com.crystaldecisions.reports.exportinterface.exceptions.ExportException: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.formatter.a.c.if(Unknown Source)
at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
Caused by: com.crystaldecisions.reports.formatter.formatter.c: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.if(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.l.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.p.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.p.a(Unknown Source)
at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
... 17 more
Caused by: com.crystaldecisions.reports.dataengine.be: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)
at com.crystaldecisions.reports.dataengine.n.nr(Unknown Source)
at com.crystaldecisions.reports.dataengine.n.bn(Unknown Source)
at com.crystaldecisions.reports.dataengine.n.bp(Unknown Source)
at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)
at com.crystaldecisions.reports.dataengine.s.a(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.aa(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
... 23 more
Caused by: com.crystaldecisions.reports.reportdefinition.datainterface.n: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.reportdefinition.datainterface.p.a(Unknown Source)
... 35 more
Caused by: com.crystaldecisions.reports.queryengine.driverImpl.m: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.queryengine.driverImpl.o.eC(Unknown Source)
at com.crystaldecisions.reports.queryengine.driverImpl.o.if(Unknown Source)
at com.crystaldecisions.reports.queryengine.ap.ea(Unknown Source)
at com.crystaldecisions.reports.queryengine.ap.h(Unknown Source)
at com.crystaldecisions.reports.queryengine.ap.dV(Unknown Source)
at com.crystaldecisions.reports.queryengine.ax.if(Unknown Source)
at com.crystaldecisions.reports.queryengine.bc.if(Unknown Source)
at com.crystaldecisions.reports.queryengine.bc.do(Unknown Source)
at com.crystaldecisions.reports.queryengine.bc.do(Unknown Source)
at com.crystaldecisions.reports.queryengine.ae.cy(Unknown Source)
at com.crystaldecisions.reports.queryengine.ae.cz(Unknown Source)
at com.crystaldecisions.reports.queryengine.b1.bc(Unknown Source)
... 36 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 's'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StatementExecutionRequest.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(Unknown Source)
... 48 more
- JRCAgent3 detected an exception: An error occured while exporting the report
at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)Post Author: nl11087
CA Forum: JAVA
A single quote/apostrophe in string parameter passed to a Crystal Report with Command datasource connecting to a SQL Server database, using sqljdbc driver does not escape the special character correctly. When doing a preview in the Crystal Reports IDE it allows you to escape the input parameter as expected and work correctly, but through the JRC component it fails. For string parameters without special sql server characters I experience no problems at all. When replacing the Command with a direct table there is also no problem.
Reproduction:
1. create a database db1, create a table table1 with a String type column col1.
2. Create new report Report1.rpt, create a connection to above, Add Command using 'SELECT col1, col2, col3 FROM table1 WHERE col1 = '{?Par1}' . Add a parameter field Par1 : String
3. In your java stand alone application using JRC add the parameter Par1 with a value "Jon Doe's Value" containing a single apostrophe. Export to PDF. (I also tried MSWord and this failed too, similar behavior). Additionally, in another test try to replaceAll("'","''") to escape it, preventing the code to break, but now it does not retrieve the expected row anymore and you end up with an empty report.
Exception StackTrace:
com.crystaldecisions.reports.exportinterface.exceptions.ExportException: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.formatter.a.c.if(Unknown Source)
at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
Caused by: com.crystaldecisions.reports.formatter.formatter.c: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.if(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.l.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.p.<init>(Unknown Source)
at com.crystaldecisions.reports.formatter.formatter.e.p.a(Unknown Source)
at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
... 17 more
Caused by: com.crystaldecisions.reports.dataengine.be: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)
at com.crystaldecisions.reports.dataengine.n.nr(Unknown Source)
at com.crystaldecisions.reports.dataengine.n.bn(Unknown Source)
at com.crystaldecisions.reports.dataengine.n.bp(Unknown Source)
at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)
at com.crystaldecisions.reports.dataengine.s.a(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.aa(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
... 23 more
Caused by: com.crystaldecisions.reports.reportdefinition.datainterface.n: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.reportdefinition.datainterface.p.a(Unknown Source)
... 35 more
Caused by: com.crystaldecisions.reports.queryengine.driverImpl.m: JDBC Error: Incorrect syntax near 's'.
at com.crystaldecisions.reports.queryengine.driverImpl.o.eC(Unknown Source)
at com.crystaldecisions.reports.queryengine.driverImpl.o.if(Unknown Source)
at com.crystaldecisions.reports.queryengine.ap.ea(Unknown Source)
at com.crystaldecisions.reports.queryengine.ap.h(Unknown Source)
at com.crystaldecisions.reports.queryengine.ap.dV(Unknown Source)
at com.crystaldecisions.reports.queryengine.ax.if(Unknown Source)
at com.crystaldecisions.reports.queryengine.bc.if(Unknown Source)
at com.crystaldecisions.reports.queryengine.bc.do(Unknown Source)
at com.crystaldecisions.reports.queryengine.bc.do(Unknown Source)
at com.crystaldecisions.reports.queryengine.ae.cy(Unknown Source)
at com.crystaldecisions.reports.queryengine.ae.cz(Unknown Source)
at com.crystaldecisions.reports.queryengine.b1.bc(Unknown Source)
... 36 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 's'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StatementExecutionRequest.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(Unknown Source)
... 48 more
- JRCAgent3 detected an exception: An error occured while exporting the report
at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source) -
UDF field in Crystal in Sales Order Layout
Hi,
I want to Include UDF field in sales order layout, when i open default layout it shows only standard in RDR1(UDF for rowlevel ) it doesn't shows UDF fields. Now i connected database and re-established OLE DB connection and pulled the RDR1 table, here i can get those UDF created by me. but if i use this UDF field in report details area and this results no values in the layout while preview the report in SAP B1.
Anyone guide me on this....
Regards
sreeHi Ivan,
If you want to populate UDF fields into crystal reports layout then you have to do wat i mentioned earlier.
1. Go to Menu
2. choose Database
3. choose verify database
4.enter Object Id and Document Number as a input
5.system will retrieve the values from database and pull all the fields including UDF
but this doesn't change field length of UDF you have to change it on UDF fields management in SAP by updating the field properties.
Note: later you can't reduce the length
Regards
Sree -
Hi All,
I am on MDM 5.5 sp6,and this weird thing happens everytime i run the "update all mapped fields" option in the import manager,it creates a new duplicate field with the updated value record.Is this a bug in sp6 or I guess i am going wrong somewhere.I want to update a particular field in the qualified table and i am using a import file which has values for qualified field on the main table and the values for the qualified table itself.
Any Help greatly appreciated
ThanksHi Aravind,
I am on MDM 5.5 sp6,and this weird thing happens everytime i run the "update all mapped fields" option in the import manager,it creates a new duplicate field with the updated value record.Is this a bug in sp6 or I guess i am going wrong somewhere.I want to update a particular field in the qualified table and i am using a import file which has values for qualified field on the main table and the values for the qualified table itself.
MDM should not behave in this way. I thing there is an issue with the Matching Field you have choosen.
I think you have choosen all the FIeld as the Matching Field ( Tab) while IMporting.
Hence any change in any value, creates another dupliacte record( which we do not want)
Please select any Field with unique values ( like the Material ID, Customer ID etc) which will ensure that the particular records are updated with the new Values coming in.
You will find the new value getting updated for the records which are already present. It will not create a duplicate record
Hope it helps.
*Please reward points if helpful
Thanks and Regards
Nitin Jain -
Question regarding remapping of fields in Crystal reports 2008
I have a report that uses 2 BW queries as data source.
I created a query that may replace the 2 queries
What specific steps should I follow so that the window for mapping of fields will appear once I changed the data source?
thanks,
DonnaIdeally if there is a change in the query then the window for mapping of fields should appear.The change in query could be of any sort like:
1.Change in the field type structure at the database end
2.Chage in the name of a field/table at the database end etc
However, if you are doubtful and want to avoid doing this directly on the existing report,you may always do it on a new report(just for testing purpose) and then do a 'Set datasource location' to point to the modified query.
You may keep this thread updated with the progress -
How to set/get the values thru Wedbynpro coding for User mapping fields
Hi All
In system object we have the user mapping fields like District,city,plant,Salesmanager.
now we want to set/get the values of these usermapping fields of system object thru webdynpro coding...
if anybody have sample codes of the same then it would be great help to me
Thanks in advance
Thanks
Trisha RaniHi Kavitha
Thanks for your reply
My requirement is exactly as follows.
1) i have created one portal system object in system administration and also i created usermapping fields in the system object from the usermanagement in system object.
i created the user mapping fields like Plant,SalesManager,District etc.
i also created the system alias name for the same system object
2) Now i came to persoanlize link and mapped the system object to the portal user.
while mapping to the system object we need to enter Mapping userId, Password , once we enter these values and we can also enter the values of usermapping fields which we defined while creating the system object ( for example District,Salesmanager,Plant etc)
once we enter all the values and click on save then these usermapping values to be mapped to the portal user.
3) Now my requirement is , i want to control the usermapping field values thru webdynpro coding for setting/getting the values.
I need sample code of the same.
Please let me know if u need more details on the same.
Thanks
Trisha Rani
Maybe you are looking for
-
Recently I rebuilt my PC to handle after effects a little better. I am running CS3 on windows XP 64 bit, however once I start working on a project for less than 30 minutes my system locks up and brings up the blue screen of death. It gives me a "Page
-
Need User friendly message, when there is no data selected in report.
Hi, Can we able to set user friendly message in place of system generated message in reports, while report generated with no data. I am using OBIEE 11.1.1.3.0 Thanks, Archie.
-
Gnome Appearance Properties error
I just do a clean install and got this error from Gnome. The program 'gnome-appearance-properties' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAlloc (insufficient resources for operation)'. (Detai
-
Hi all, I have a question related to project planning. I would like to plan the network activities per cost element and per period (year/month) as this is a customer requirement . However, in the end i would have a lot of cost elements per wbs elemen
-
[solved] wrong dependencies in testing/kdemod vs. kde
Since I installed the new pacman (3.1.0.1) I've got serious problems to install kdemod 4 (http://kdemod.ath.cx/bbs/viewtopic.php?id=406&p=1. If I try to upgrade arch to testing pacman wants to install vanilla-kde, although I've only installed kdemod