Rounding decimals using FM REUSE_ALV_HIERSEQ_LIST_DISPLAY
Hi all.
I am having no luck get values to round in FM REUSE_ALV_HIERSEQ_LIST_DISPLAY. I have managed to get them to round in REUSE_ALV_GRID_DISPLAY by setting DECIMALS_OUT to a value of 0.
Any help would be very much appreciated.
Anthony
Hi Anthony,
<b>1</b>.
If DECIMALS_OUT is working properly for REUSE_ALV_GRID_DISPLAY,it should work for REUSE_ALV_HIERSEQ_LIST_DISPLAY.Becoz there is no difference between two fieldcatalogs .
<b>Thanks,
Venkat.O</b>
Similar Messages
-
How to round numbers using javascript in Adobe Acrobat Pro?
How to round numbers using java script in Adobe Acrobat Pro?
For example:
1.2 becomes 1.0
1.7 becomes 2.0
Thank you.Assuming you've already set the field to a Number format category and limited it to one digit to the right of the decimal, you can use the following custom Validate script:
// Custom Validate script
event.value = Math.round(event.value);
More info: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/roun d -
I got my Imac and Trackpad in may so its new and the batterys have run out on the trackpad, so i have put new batterys in and its not even turning back on i have tried the batterys the other way round ( i used duracell) and still not working, so i put the old batterys in and it still wont turn on. I am getting so angry woth apple things, the make it sound better than it is and over pice it, i paid over a grand for my imac and it dont even come with a cd SLOT. Please can some one help!
Edge has very clear restrictions, one being that you must have 6 months of clean payment history which you don't. Either wait until April 14, or good luck at Sprint.
I am unsure how it can be determined the payment mix up was the fault of CS, but regardless, the mix up was done. There can be any number of reasons why a payment could be missed without any fault on your part, however you are still the responsible party for the account and must live with the repercussions. -
Taking tooo much time when using FM REUSE_ALV_HIERSEQ_LIST_DISPLAY
Hi Guys,
I using FM REUSE_ALV_HIERSEQ_LIST_DISPLAY in my report ,
In my internal table more than 200000 reords are there when was displaying it , taking tooooo much time plz advice me how to over come it
Thanks,
Prasad.Hi
In select stetements it is fetching valus very faslty
afetr that passing those values to
fallowing FM it was taking tooo much time for display
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
i_callback_program = repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IS_LAYOUT =
it_fieldcat = i_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
it_sort = sort_info[]
IT_FILTER =
IS_SEL_HIDE =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
i_tabname_header = hdr_tab_name
i_tabname_item = item_tab_name
I_STRUCTURE_NAME_HEADER =
I_STRUCTURE_NAME_ITEM =
is_keyinfo = key_info
IS_PRINT =
IS_REPREP_ID =
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
IR_SALV_HIERSEQ_ADAPTER =
IT_EXCEPT_QINFO =
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab_header = it_header
t_outtab_item = it_item.
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.
any inputs plz.......
*is *it* possible hierarchical list using reuse_alv_list_display FM -
[JS][CS5] rounding decimals in swatch values
Hello again,
I recently made this script to round decimals in the swatch values if there were any. I'm pretty new to JS so this probably isn't the prettiest code so I was wondering if someone had a better way of doing it. This works, but sometimes it takes a while and I'm pretty sure it is looking at the [paper], [black], and other swatches that can't be changed. That is why I made it skip the errors during the script...
function round(color) {
try { color.space = ColorSpace.cmyk;
var vals = color.colorValue;
for (var j = vals.length - 1; j >= 0; j--) {
vals[j] = Math.round(vals[j]);
color.colorValue = vals;
} catch (err) {}
if (app.documents.length > 0) {
var target = app.documents[0];
} else {
var target = app;
var myColors = target.colors.everyItem().getElements();
for (var j = myColors.length - 1; j >= 0; j--) {
round(myColors[j]);
alert("Swatches Rounded");
Any help is appreciated.Same bug in ESTK 3 / CS4.
The data browser definitely has a problem in displaying object properties whose name starts with a (recurring) digit. The issue is not related to property names that could contain a space character —which is not forbidden! Curiously, it seems that the bug only occurs with digits greater than 1.
Compare:
var obj = {
"0a": null,
"00b": null,
"1a": null,
"11b": null
// The data browser properly displays all obj properties
and:
var obj = {
"2a": null,
"22b": null,
"5a": null,
"55b": null
// The data browser only displays obj['5a'] and obj['5b']!
Note that this is not an internal ExtendScript bug. In all cases the object is properly set, the for...in loop works fine and obj.__count__ returns the correct number of enumerable properties.
Conclusion: ESTK sucks!
@+
Marc -
Can't get it to round to 2 decimals, using DecimalFormat, please proof read
Why won't this output #.##? No matter how I change them it still gives me exact answers.
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.text.DecimalFormat;
public class Calculator{
public static void main (String[] args){
//Ask for input
String inputString = JOptionPane.showInputDialog("Input your desired calculation, separating numbers and operation with spaces.(+-/*%)");
//split input to make switch function
String[] result = inputString.split("\\s");
/*I Put both of these in here, but stuck with the Double,
I think thats the better fit*/
//float n1 = Float.parseFloat(result[0]);
//float n2 = Float.parseFloat(result[2]);
double n1 = Double.parseDouble(result[0]);
double n2 = Double.parseDouble(result[2]);
char c = result [1].charAt(0);
if((c == '+') || (c == '/') || (c == '*') || (c == '%') || (c == '-'))
DecimalFormat df = new DecimalFormat("#.##");
//switch function to cover the 5 functions, and divide by zero message
switch(c)
case '+':
double answer = n1 + n2;
df.format(answer);
JOptionPane.showMessageDialog(null, inputString + " = " + (answer));
break;
case '-':
//DecimalFormat df = new DecimalFormat("#.#");
double answer2 = n1 + -n2;
df.format(answer2);
JOptionPane.showMessageDialog(null, inputString + " = " + (answer2));
break;
case '/':
if(n2 == 0)
JOptionPane.showMessageDialog(null, "You know that's a no no!");
else
//DecimalFormat df = new DecimalFormat("#.#");
double answer3 = n1 / n2;
df.format(answer3);
JOptionPane.showMessageDialog(null, inputString + " = " + (answer3));
break;
case '*':
//DecimalFormat df = new DecimalFormat("#.#");
double answer4 = n1 * n2;
df.format(answer4);
JOptionPane.showMessageDialog(null, inputString + " = " + (answer4));
break;
case '%':
//DecimalFormat df = new DecimalFormat("#.#");
double answer5 = n1 % n2;
df.format(answer5);
JOptionPane.showMessageDialog(null, inputString + " = " + (answer5));
break;
else
System.out.println("Can't do that operation!");
}I commented out some other stuff I was thinking on, so just ignore. Thanks!cuz you are not using the value returned by the DecimalFormat object.
df.format(answer2);
JOptionPane.showMessageDialog(null, inputString + " = " + (answer2));DecimalFormat.format() returns a string. By what magic do you think the primitive double answer2 is going to be changed to a String object?
String a2 = df.format(answer2);
JOptionPane.showMessageDialog(null, inputString + " = " + (a2)); -
Using a toString() method to round decimals
I've been working on this project for school, building a class which models cartesian coordinates and can also convert them to polar coordinates. After much work I have a working product with some time to spare. Theres a small amount of extra credit to be gained if i can use toString() methods to manipulate my results to be exactly to two decimal places.
I've been looking at the api documentation, which is what my teacher suggested, but its a little tough for a rookie like me to wade through. A point in the right direction or any help would be greatly apreciated.
Thanks in advanceI understand, I just dont want yall to feel like youre doing all the work for me.
Anyways i searched google and using what i saw on this site
http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Tech/Chapter05/decimalFormat.html
adapted what i could to my class and came up with this
String fmt = "0.00";
DecimalFormat df = new DecimalFormat( fmt );
String str_x = df.format(x);
String str_y = df.format(y);
public String toString()
return "( " + str_x + ", " + str_y + " )";
}x and y are the instance variables im using for my class: Coord
when i try to compile i get these two error messages:
Coord.java:133: cannot find symbol
symbol : class DecimalFormat
location: class Coord
DecimalFormat df = new DecimalFormat( fmt );
^
Coord.java:133: cannot find symbol
symbol : class DecimalFormat
location: class Coord
DecimalFormat df = new DecimalFormat( fmt );
^
I assume these errors mean my syntax is off but hopefully im headed in the right direction. -
Hi,
i am using currency(ZCURR) field.
which is upto 2 decimals.
after calculation in currency(ZCURR) field data is comming wotih rounding.
also i tried with PACKED decimals upto 2
still it rounding off as i wnat actual value upto 2 decimals
Ex: ZCURR type VABAK-netwr.
ZCURR = '2331.437'.
write : ZCURR
result : 2331.44 but i want at output "2331.43".
please help.Hi,
Try below
SPRO->Sap customizing guide->sap netweaver->general setting->currencies->set decimal places for currencies
Surendra Jain -
Rounding when using format-currency
Hi all,
We're using format-currency in several places in out reports. I.e.
<?format-currency:ssLfBonusAmountContributing;'EUR';'true'?>
When using this formatting we always get the value with 2 decimals.
Is it possible to round and display without decimals?
Regards,
HakanHi all,
Haven't anyone come across this issue, with currency-format and display value without decimals?
I know that I can use number-format, but this is not then first option.
Regards,
Hakan -
Hello Experts,
I am having problems using the said FM. Based on my code below, can you please tell
me what am I doing wrong. Hope you can help me guys. Thank you and take care!
[code]
*& Report ZFI_CASH_PROOF_SHEET
*& PROGRAM TYPE : Report
*& RICEF ID : 149
*& TITLE : ZFI_CASH_PROOF_SHEET
*& SAP Module : FI
*& CREATION DATE : 10/24/2007
*& AUTHOR : Aris Hidalgo
*& DESIGNER : Aris Hidalgo
*& DESCRIPTION :
$*********************************************************************
*$ CHANGE HISTORY
*$----
*$ DATE | T-Num | Description | Reference
| | |
$*********************************************************************
REPORT zfi_cash_proof_sheet
NO STANDARD PAGE HEADING
MESSAGE-ID zfi.
Data Dictionary Table/s *
TABLES: t012k.
TYPE-POOLS *
TYPE-POOLS: slis.
SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_bukrs FOR t012k-bukrs OBLIGATORY,
s_hbkid FOR t012k-hbkid,
s_hktid FOR t012k-hktid.
PARAMETERS: p_budat TYPE bsak-budat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
*/ CLASS DEFINITION/S */
CLASS lcl_alv_routines DEFINITION DEFERRED.
CLASS lcl_data_def DEFINITION
CLASS lcl_data_def DEFINITION ABSTRACT.
PUBLIC SECTION.
TYPES: BEGIN OF t_t012k,
bukrs TYPE t012k-bukrs,
hbkid TYPE t012k-hbkid,
hktid TYPE t012k-hktid,
hkont TYPE t012k-hkont,
END OF t_t012k.
TYPES: BEGIN OF t_bsis_bsas,
bukrs TYPE bsis-bukrs,
hkont TYPE bsis-hkont,
belnr TYPE bsis-belnr,
buzei TYPE bsis-buzei,
gjahr TYPE bsis-gjahr,
budat TYPE bsis-budat,
blart TYPE bsis-blart,
dmbtr TYPE bsis-dmbtr,
shkzg TYPE bsis-shkzg,
END OF t_bsis_bsas.
TYPES: BEGIN OF t_bsid_bsad,
bukrs TYPE bsid-bukrs,
belnr TYPE bsid-belnr,
gjahr TYPE bsid-gjahr,
blart TYPE bsid-blart,
buzei TYPE bsid-buzei,
budat TYPE bsid-budat,
dmbtr TYPE bsid-dmbtr,
shkzg TYPE bsid-shkzg,
END OF t_bsid_bsad.
TYPES: BEGIN OF t_cash_in_bank,
bukrs TYPE bsis-bukrs,
hkont TYPE bsis-hkont,
dmbtr TYPE bsis-dmbtr,
END OF t_cash_in_bank.
TYPES: BEGIN OF t_outs_trade_coll,
bukrs TYPE bsis-bukrs,
hkont TYPE bsis-hkont,
one_day TYPE bsis-dmbtr,
two_days TYPE bsis-dmbtr,
more_than_two_days TYPE bsis-dmbtr,
END OF t_outs_trade_coll.
TYPES: BEGIN OF t_zcheck_monitor,
zzbukr TYPE zcheck_monitor-zzbukr,
zhbkid TYPE zcheck_monitor-zhbkid,
zhktid TYPE zcheck_monitor-zhktid,
zubhkt TYPE zcheck_monitor-zubhkt,
zrwbtr TYPE zcheck_monitor-zrwbtr,
zrlsvd TYPE zcheck_monitor-zrlsvd,
zrlsdt TYPE zcheck_monitor-zrlsdt,
END OF t_zcheck_monitor.
TYPES: BEGIN OF t_zcheck_monitor_collect,
zzbukr TYPE zcheck_monitor-zzbukr,
zubhkt TYPE zcheck_monitor-zubhkt,
zrwbtr TYPE zcheck_monitor-zrwbtr,
END OF t_zcheck_monitor_collect.
TYPES: BEGIN OF t_company,
bukrs TYPE t001-bukrs,
butxt TYPE t001-butxt,
END OF t_company.
TYPES: BEGIN OF t_header,
bukrs TYPE t001-bukrs,
butxt TYPE t001-butxt,
hbkid TYPE t012k-hbkid,
END OF t_header.
TYPES: BEGIN OF t_output,
bukrs TYPE bsis-bukrs,
hktid TYPE t012k-hktid,
cash_in_bank TYPE bsis-dmbtr,
one_day TYPE bsis-dmbtr,
two_days TYPE bsis-dmbtr,
more_than_two_days TYPE bsis-dmbtr,
misc_collection TYPE bsis-dmbtr,
outs_rel_checks TYPE bsis-dmbtr,
treas_transactions TYPE bsis-dmbtr,
tot_cash_bal TYPE bsis-dmbtr,
outs_unrel_checks TYPE bsis-dmbtr,
imp_docs_due TYPE bsis-dmbtr,
est_cash_balance TYPE bsis-dmbtr,
END OF t_output.
DATA: gt_t012k TYPE HASHED TABLE OF t_t012k
WITH UNIQUE KEY bukrs hbkid hktid,
gt_bsis TYPE STANDARD TABLE OF t_bsis_bsas,
gt_bsis_dum LIKE gt_bsis,
wa_bsis LIKE LINE OF gt_bsis,
gt_bsas LIKE gt_bsis,
gt_bsis_bsas LIKE gt_bsas,
gt_bsid_bsad TYPE SORTED TABLE OF t_bsid_bsad
WITH NON-UNIQUE KEY bukrs belnr gjahr blart,
gt_bsik LIKE gt_bsid_bsad,
gt_cash_in_bank TYPE HASHED TABLE OF t_cash_in_bank
WITH UNIQUE KEY bukrs hkont,
gt_misc_collection LIKE gt_cash_in_bank,
wa_misc_collection LIKE LINE OF gt_misc_collection,
gt_importation_docs_due LIKE gt_cash_in_bank,
wa_importation_docs_due LIKE LINE OF gt_importation_docs_due,
wa_cash_in_bank LIKE LINE OF gt_cash_in_bank,
gt_outs_trade_coll TYPE HASHED TABLE OF t_outs_trade_coll
WITH UNIQUE KEY bukrs hkont,
wa_outs_trade_coll LIKE LINE OF gt_outs_trade_coll,
gt_zcheck_monitor TYPE STANDARD TABLE OF t_zcheck_monitor,
gt_zcheck_monitor_collect TYPE HASHED TABLE OF t_zcheck_monitor_collect
WITH UNIQUE KEY zzbukr zubhkt,
wa_zcheck_monitor_collect LIKE LINE OF gt_zcheck_monitor_collect,
gt_outs_rel_checks LIKE gt_cash_in_bank,
wa_outs_rel_checks LIKE LINE OF gt_outs_rel_checks,
gt_company TYPE HASHED TABLE OF t_company
WITH UNIQUE KEY bukrs,
wa_company LIKE LINE OF gt_company,
gt_header TYPE STANDARD TABLE OF t_header,
wa_header LIKE LINE OF gt_header,
gt_output TYPE STANDARD TABLE OF t_output,
wa_output LIKE LINE OF gt_output.
ENDCLASS. "lcl_data_def DEFINITION
CLASS lcl_get_data DEFINITION
CLASS lcl_get_data DEFINITION INHERITING FROM lcl_data_def.
PUBLIC SECTION.
METHODS: get_bank_details,
get_gl_balances,
get_cust_items,
get_vend_items,
sum_gl_accounts,
monday_routines
IMPORTING
im_date TYPE bsis-budat
im_bukrs TYPE bsis-bukrs
im_hkont TYPE bsis-hkont
im_budat TYPE bsis-budat
im_dmbtr TYPE bsis-dmbtr,
sunday_routines
IMPORTING
im_date TYPE bsis-budat
im_bukrs TYPE bsis-bukrs
im_hkont TYPE bsis-hkont
im_budat TYPE bsis-budat
im_dmbtr TYPE bsis-dmbtr,
tuesday_routines
IMPORTING
im_date TYPE bsis-budat
im_bukrs TYPE bsis-bukrs
im_hkont TYPE bsis-hkont
im_budat TYPE bsis-budat
im_dmbtr TYPE bsis-dmbtr,
other_days_routines
IMPORTING
im_date TYPE bsis-budat
im_bukrs TYPE bsis-bukrs
im_hkont TYPE bsis-hkont
im_budat TYPE bsis-budat
im_dmbtr TYPE bsis-dmbtr,
difference_in_days
IMPORTING
im_date TYPE bsis-budat
im_budat TYPE bsis-budat
EXPORTING
ex_diff TYPE vtbbewe-atage,
outs_check_released,
process_data.
PRIVATE SECTION.
CONSTANTS: lc_credit TYPE bsis-shkzg VALUE 'H',
lc_debit TYPE bsis-shkzg VALUE 'S',
lc_nt TYPE bsis-blart VALUE 'NT',
lc_gl_zero TYPE bsis-hkont VALUE '+++++++++0',
lc_gl_one TYPE bsis-hkont VALUE '+++++++++1',
lc_gl_three TYPE bsis-hkont VALUE '+++++++++3',
lc_monday TYPE dtresr-weekday VALUE 'Monday',
lc_tuesday TYPE dtresr-weekday VALUE 'Tuesday',
lc_sunday TYPE dtresr-weekday VALUE 'Sunday'.
CONSTANTS: lc_k3 TYPE bsik-blart VALUE 'K3',
lc_k4 TYPE bsik-blart VALUE 'K4',
lc_k5 TYPE bsik-blart VALUE 'K5',
lc_k6 TYPE bsik-blart VALUE 'K6',
lc_k7 TYPE bsik-blart VALUE 'K7',
lc_kb TYPE bsik-blart VALUE 'KB',
lc_kd TYPE bsik-blart VALUE 'KD'.
DATA: lv_hkont TYPE bsis-hkont,
lr_hkont TYPE RANGE OF bsis-hkont,
wa_hkont LIKE LINE OF lr_hkont,
lr_blart TYPE RANGE OF bsik-blart,
wa_blart LIKE LINE OF lr_blart,
lv_hkont_new TYPE bsis-hkont,
lv_hkont_old TYPE bsis-hkont,
lv_date TYPE vtbbewe-atage,
lv_budat TYPE bsis-budat,
lv_day TYPE dtresr-weekday,
o_lcl_alv_routines TYPE REF TO lcl_alv_routines.
ENDCLASS. "lcl_get_data DEFINITION
CLASS alv_routines DEFINITION
CLASS lcl_alv_routines DEFINITION INHERITING FROM lcl_get_data.
PUBLIC SECTION.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF gt_fieldcat,
gs_layout TYPE slis_layout_alv,
gs_keyinfo TYPE slis_keyinfo_alv,
gv_repid TYPE syst-repid,
gv_tabname_header TYPE slis_tabname,
gv_tabname_item TYPE slis_tabname.
METHODS: alv_init,
build_fieldcat,
display_data
IMPORTING
im_header LIKE gt_header
im_output LIKE gt_output.
ENDCLASS. "lcl_alv_routines DEFINITION
*/ CLASS IMPLEMENTATION/S */
CLASS lcl_get_data IMPLEMENTATION
CLASS lcl_get_data IMPLEMENTATION.
METHOD get_bank_details.
FIELD-SYMBOLS: <fs_t012k> LIKE LINE OF gt_t012k.
Get bank account/s and their corresponding G/L account/s
SELECT bukrs hbkid
hktid hkont
FROM t012k
INTO TABLE gt_t012k
WHERE bukrs IN s_bukrs
AND hbkid IN s_hbkid
AND hktid IN s_hktid.
IF NOT gt_t012k[] IS INITIAL.
SORT gt_t012k BY bukrs hbkid hktid hkont.
Get company name
SELECT bukrs butxt
FROM t001
INTO TABLE gt_company
FOR ALL ENTRIES IN gt_t012k
WHERE bukrs = gt_t012k-bukrs.
LOOP AT gt_t012k ASSIGNING <fs_t012k>.
wa_hkont-sign = 'I'.
wa_hkont-option = 'EQ'.
wa_hkont-low = <fs_t012k>-hkont.
SHIFT wa_hkont-low LEFT DELETING LEADING space.
APPEND wa_hkont TO lr_hkont.
CLEAR wa_hkont.
lv_hkont_new = <fs_t012k>-hkont.
IF lv_hkont_new <> lv_hkont_old.
CLEAR lv_hkont.
lv_hkont = <fs_t012k>-hkont.
DO 4 TIMES.
ADD 1 TO lv_hkont.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_hkont
IMPORTING
output = lv_hkont.
wa_hkont-sign = 'I'.
wa_hkont-option = 'EQ'.
wa_hkont-low = lv_hkont.
SHIFT wa_hkont-low LEFT DELETING LEADING space.
APPEND wa_hkont TO lr_hkont.
CLEAR wa_hkont.
ENDDO.
ENDIF.
lv_hkont_old = lv_hkont_new.
ENDLOOP.
CALL METHOD me->get_gl_balances.
ENDIF.
ENDMETHOD. "get_bank_details
METHOD get_gl_balances.
Get G/L line items(Open items)
SELECT bukrs hkont belnr
buzei gjahr budat
blart dmbtr shkzg
FROM bsis
INTO TABLE gt_bsis
FOR ALL ENTRIES IN gt_t012k
WHERE bukrs = gt_t012k-bukrs
AND hkont IN lr_hkont
AND budat <= p_budat.
Get G/L line items(Cleared items)
SELECT bukrs hkont belnr
buzei gjahr budat
blart dmbtr shkzg
FROM bsas
INTO TABLE gt_bsas
FOR ALL ENTRIES IN gt_t012k
WHERE bukrs = gt_t012k-bukrs
AND hkont IN lr_hkont
AND budat <= p_budat.
APPEND LINES OF gt_bsis TO gt_bsis_bsas.
APPEND LINES OF gt_bsas TO gt_bsis_bsas.
IF NOT gt_bsis_bsas[] IS INITIAL.
CALL METHOD me->get_cust_items.
CALL METHOD me->get_vend_items.
CALL METHOD me->sum_gl_accounts.
ENDIF.
ENDMETHOD. "get_gl_balances
METHOD get_cust_items.
Get customer line items(Open items)
SELECT bukrs belnr gjahr blart
buzei budat dmbtr shkzg
FROM bsid
INTO TABLE gt_bsid_bsad
FOR ALL ENTRIES IN gt_bsis_bsas
WHERE bukrs = gt_bsis_bsas-bukrs
AND gjahr = gt_bsis_bsas-gjahr
AND belnr = gt_bsis_bsas-belnr.
Get customer line items(Cleared items)
SELECT bukrs belnr gjahr blart
buzei budat dmbtr shkzg
FROM bsad
APPENDING TABLE gt_bsid_bsad
FOR ALL ENTRIES IN gt_bsis_bsas
WHERE bukrs = gt_bsis_bsas-bukrs
AND gjahr = gt_bsis_bsas-gjahr
AND belnr = gt_bsis_bsas-belnr.
ENDMETHOD. "get_cust_items
METHOD get_vend_items.
Get vendor line items(Open items)
SELECT bukrs belnr gjahr blart
buzei budat dmbtr shkzg
FROM bsik
INTO TABLE gt_bsik
FOR ALL ENTRIES IN gt_bsis_bsas
WHERE bukrs = gt_bsis_bsas-bukrs
AND gjahr = gt_bsis_bsas-gjahr
AND belnr = gt_bsis_bsas-belnr.
DEFINE m_blart.
wa_blart-sign = 'I'.
wa_blart-option = 'EQ'.
wa_blart-low = &1.
append wa_blart to lr_blart.
clear wa_blart.
END-OF-DEFINITION.
m_blart lc_k3.
m_blart lc_k4.
m_blart lc_k5.
m_blart lc_k6.
m_blart lc_k7.
m_blart lc_kb.
m_blart lc_kd.
IF NOT gt_bsik[] IS INITIAL AND NOT lr_blart[] IS INITIAL.
DELETE gt_bsik WHERE blart NOT IN lr_blart[].
ENDIF.
ENDMETHOD. "get_vend_items
METHOD sum_gl_accounts.
FIELD-SYMBOLS: <fs_bsis_bsas> LIKE LINE OF gt_bsis_bsas,
<fs_bsis> LIKE LINE OF gt_bsis,
<fs_bsid_bsad> LIKE LINE OF gt_bsid_bsad,
<fs_bsik> LIKE LINE OF gt_bsik,
<fs_outs_rel_checks> LIKE LINE OF gt_outs_rel_checks.
SORT gt_bsis_bsas BY bukrs hkont belnr.
LOOP AT gt_bsis_bsas ASSIGNING <fs_bsis_bsas>.
IF <fs_bsis_bsas>-shkzg = lc_credit. "H
MULTIPLY <fs_bsis_bsas>-dmbtr BY -1.
ENDIF.
*/Routine for cash in bank
IF <fs_bsis_bsas>-hkont CP lc_gl_zero.
MOVE-CORRESPONDING <fs_bsis_bsas> TO wa_cash_in_bank.
COLLECT wa_cash_in_bank INTO gt_cash_in_bank.
CLEAR wa_cash_in_bank.
ENDIF.
*/Routine for miscellaneous collection
IF <fs_bsis_bsas>-blart = lc_nt AND
<fs_bsis_bsas>-shkzg = lc_debit AND
<fs_bsis_bsas>-hkont CP lc_gl_one.
READ TABLE gt_bsid_bsad ASSIGNING <fs_bsid_bsad> WITH TABLE KEY bukrs = <fs_bsis_bsas>-bukrs
belnr = <fs_bsis_bsas>-belnr
gjahr = <fs_bsis_bsas>-gjahr
blart = <fs_bsis_bsas>-blart.
IF sy-subrc = 0.
MOVE-CORRESPONDING <fs_bsis_bsas> TO wa_misc_collection.
COLLECT wa_misc_collection INTO gt_misc_collection.
CLEAR wa_misc_collection.
ENDIF.
ENDIF.
*/Routine for outstanding released checks
IF <fs_bsis_bsas>-hkont CP lc_gl_three AND <fs_bsis_bsas>-shkzg = lc_debit.
MOVE-CORRESPONDING <fs_bsis_bsas> TO wa_outs_rel_checks.
COLLECT wa_outs_rel_checks INTO gt_outs_rel_checks.
CLEAR wa_outs_rel_checks.
ENDIF.
*/Routine for importation docs.due
IF <fs_bsis_bsas>-shkzg = lc_credit.
READ TABLE gt_bsik ASSIGNING <fs_bsik> WITH TABLE KEY bukrs = <fs_bsis_bsas>-bukrs
belnr = <fs_bsis_bsas>-belnr
gjahr = <fs_bsis_bsas>-gjahr
blart = <fs_bsis_bsas>-blart.
IF sy-subrc = 0.
MOVE-CORRESPONDING <fs_bsis_bsas> TO wa_importation_docs_due.
COLLECT wa_importation_docs_due INTO gt_importation_docs_due.
CLEAR gt_importation_docs_due.
ENDIF.
ENDIF.
ENDLOOP.
*/Routine for outstanding trade collection
IF NOT gt_bsis[] IS INITIAL.
DELETE gt_bsis WHERE shkzg = lc_credit.
DELETE gt_bsis WHERE blart = lc_nt.
IF NOT gt_bsis[] IS INITIAL.
lv_budat = p_budat.
CALL FUNCTION 'DATE_TO_DAY'
EXPORTING
date = lv_budat
IMPORTING
weekday = lv_day.
LOOP AT gt_bsis ASSIGNING <fs_bsis>.
IF lv_day = lc_monday.
CALL METHOD me->monday_routines
EXPORTING
im_date = p_budat
im_bukrs = <fs_bsis>-bukrs
im_hkont = <fs_bsis>-hkont
im_budat = <fs_bsis>-budat
im_dmbtr = <fs_bsis>-dmbtr.
ELSEIF lv_day = lc_sunday.
CALL METHOD me->sunday_routines
EXPORTING
im_date = p_budat
im_bukrs = <fs_bsis>-bukrs
im_hkont = <fs_bsis>-hkont
im_budat = <fs_bsis>-budat
im_dmbtr = <fs_bsis>-dmbtr.
ELSEIF lv_day = lc_tuesday.
CALL METHOD me->tuesday_routines
EXPORTING
im_date = p_budat
im_bukrs = <fs_bsis>-bukrs
im_hkont = <fs_bsis>-hkont
im_budat = <fs_bsis>-budat
im_dmbtr = <fs_bsis>-dmbtr.
ELSE.
CALL METHOD me->other_days_routines
EXPORTING
im_date = p_budat
im_bukrs = <fs_bsis>-bukrs
im_hkont = <fs_bsis>-hkont
im_budat = <fs_bsis>-budat
im_dmbtr = <fs_bsis>-dmbtr.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
*/Routine for outstanding released check/s
*/this routine will get all records from custom table zcheck_monitor
*/where status is released to vendor
CALL METHOD me->outs_check_released.
IF NOT gt_outs_rel_checks[] IS INITIAL.
LOOP AT gt_outs_rel_checks ASSIGNING <fs_outs_rel_checks>.
CLEAR wa_zcheck_monitor_collect.
READ TABLE gt_zcheck_monitor_collect INTO wa_zcheck_monitor_collect
WITH TABLE KEY zzbukr = <fs_outs_rel_checks>-bukrs
zubhkt = <fs_outs_rel_checks>-hkont.
IF sy-subrc = 0.
<fs_outs_rel_checks>-dmbtr = <fs_outs_rel_checks>-dmbtr - ABS( wa_zcheck_monitor_collect-zrwbtr ).
ENDIF.
ENDLOOP.
ENDIF.
Move records to output table
CALL METHOD me->process_data.
ENDMETHOD. "sum_gl_accounts
METHOD monday_routines.
wa_outs_trade_coll-bukrs = im_bukrs.
wa_outs_trade_coll-hkont = im_hkont.
CLEAR lv_date.
CALL METHOD me->difference_in_days
EXPORTING
im_date = im_date
im_budat = im_budat
IMPORTING
ex_diff = lv_date.
One day
IF lv_date = 3.
wa_outs_trade_coll-one_day = im_dmbtr.
Two days
ELSEIF lv_date = 4.
wa_outs_trade_coll-two_days = im_dmbtr.
More than two days
ELSEIF lv_date > 4.
wa_outs_trade_coll-more_than_two_days = im_dmbtr.
ENDIF.
COLLECT wa_outs_trade_coll INTO gt_outs_trade_coll.
CLEAR wa_outs_trade_coll.
ENDMETHOD. "monday_routines
METHOD sunday_routines.
wa_outs_trade_coll-bukrs = im_bukrs.
wa_outs_trade_coll-hkont = im_hkont.
CLEAR lv_date.
CALL METHOD me->difference_in_days
EXPORTING
im_date = im_date
im_budat = im_budat
IMPORTING
ex_diff = lv_date.
One day
IF lv_date = 2.
wa_outs_trade_coll-one_day = im_dmbtr.
Two days
ELSEIF lv_date = 3.
wa_outs_trade_coll-two_days = im_dmbtr.
More than two days
ELSEIF lv_date > 3.
wa_outs_trade_coll-more_than_two_days = im_dmbtr.
ENDIF.
COLLECT wa_outs_trade_coll INTO gt_outs_trade_coll.
CLEAR wa_outs_trade_coll.
ENDMETHOD. "sunday_routines
METHOD tuesday_routines.
wa_outs_trade_coll-bukrs = im_bukrs.
wa_outs_trade_coll-hkont = im_hkont.
CLEAR lv_date.
CALL METHOD me->difference_in_days
EXPORTING
im_date = im_date
im_budat = im_budat
IMPORTING
ex_diff = lv_date.
One day
IF lv_date = 1.
wa_outs_trade_coll-one_day = im_dmbtr.
Two days
ELSEIF lv_date = 4.
wa_outs_trade_coll-two_days = im_dmbtr.
More than two days
ELSEIF lv_date > 4.
wa_outs_trade_coll-more_than_two_days = im_dmbtr.
ENDIF.
COLLECT wa_outs_trade_coll INTO gt_outs_trade_coll.
CLEAR wa_outs_trade_coll.
ENDMETHOD. "tuesday_routines
METHOD other_days_routines.
wa_outs_trade_coll-bukrs = im_bukrs.
wa_outs_trade_coll-hkont = im_hkont.
CLEAR lv_date.
CALL METHOD me->difference_in_days
EXPORTING
im_date = im_date
im_budat = im_budat
IMPORTING
ex_diff = lv_date.
One day
IF lv_date = 1.
wa_outs_trade_coll-one_day = im_dmbtr.
Two days
ELSEIF lv_date = 2.
wa_outs_trade_coll-two_days = im_dmbtr.
More than two days
ELSEIF lv_date > 3.
wa_outs_trade_coll-more_than_two_days = im_dmbtr.
ENDIF.
COLLECT wa_outs_trade_coll INTO gt_outs_trade_coll.
CLEAR wa_outs_trade_coll.
ENDMETHOD. "other_days_routines
METHOD difference_in_days.
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
i_date_from = im_budat
I_KEY_DAY_FROM =
i_date_to = im_date
I_KEY_DAY_TO =
I_FLG_SEPARATE = ' '
IMPORTING
e_days = ex_diff.
E_MONTHS =
E_YEARS =
ENDMETHOD. "difference_in_days
METHOD outs_check_released.
FIELD-SYMBOLS: <fs_zcheck_monitor> LIKE LINE OF gt_zcheck_monitor.
SELECT zzbukr zhbkid zhktid
zubhkt zrwbtr zrlsvd
zrlsdt
FROM zcheck_monitor
INTO TABLE gt_zcheck_monitor
WHERE zrlsvd <> space.
IF NOT gt_zcheck_monitor[] IS INITIAL.
LOOP AT gt_zcheck_monitor ASSIGNING <fs_zcheck_monitor>.
MOVE-CORRESPONDING <fs_zcheck_monitor> TO wa_zcheck_monitor_collect.
COLLECT wa_zcheck_monitor_collect INTO gt_zcheck_monitor_collect.
CLEAR wa_zcheck_monitor_collect.
ENDLOOP.
ENDIF.
ENDMETHOD. "outs_check_released
METHOD process_data.
FIELD-SYMBOLS: <fs_t012k> LIKE LINE OF gt_t012k,
<fs_company> LIKE LINE OF gt_company,
<fs_cash_in_bank> LIKE LINE OF gt_cash_in_bank,
<fs_outs_trade_coll> LIKE LINE OF gt_outs_trade_coll,
<fs_misc_collection> LIKE LINE OF gt_misc_collection,
<fs_outs_rel_checks> LIKE LINE OF gt_outs_rel_checks.
LOOP AT gt_t012k ASSIGNING <fs_t012k>.
READ TABLE gt_company ASSIGNING <fs_company>
WITH TABLE KEY bukrs = <fs_t012k>-bukrs.
IF sy-subrc = 0.
wa_header-bukrs = <fs_company>-bukrs.
wa_header-butxt = <fs_company>-butxt.
wa_header-hbkid = <fs_t012k>-hbkid.
APPEND wa_header TO gt_header.
CLEAR wa_header.
ENDIF.
wa_output-bukrs = <fs_t012k>-bukrs.
wa_output-hktid = <fs_t012k>-hktid.
Move cash in bank
READ TABLE gt_cash_in_bank ASSIGNING <fs_cash_in_bank>
WITH TABLE KEY bukrs = <fs_t012k>-bukrs
hkont = <fs_t012k>-hkont.
IF sy-subrc = 0.
wa_output-cash_in_bank = <fs_cash_in_bank>-dmbtr.
ADD wa_output-cash_in_bank TO wa_output-tot_cash_bal.
ENDIF.
CLEAR lv_hkont.
lv_hkont = <fs_t012k>-hkont.
ADD 1 TO lv_hkont.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_hkont
IMPORTING
output = lv_hkont.
Move outstanding trade collection(Deposit in transit)
READ TABLE gt_outs_trade_coll ASSIGNING <fs_outs_trade_coll>
WITH TABLE KEY bukrs = <fs_t012k>-bukrs
hkont = lv_hkont.
IF sy-subrc = 0.
wa_output-one_day = <fs_outs_trade_coll>-one_day.
ADD wa_output-one_day TO wa_output-tot_cash_bal.
wa_output-two_days = <fs_outs_trade_coll>-two_days.
ADD wa_output-two_days TO wa_output-tot_cash_bal.
wa_output-more_than_two_days = <fs_outs_trade_coll>-more_than_two_days.
ADD wa_output-more_than_two_days TO wa_output-tot_cash_bal.
ENDIF.
Move miscellaneous collection
READ TABLE gt_misc_collection ASSIGNING <fs_misc_collection>
WITH TABLE KEY bukrs = <fs_t012k>-bukrs
hkont = lv_hkont.
IF sy-subrc = 0.
wa_output-misc_collection = <fs_misc_collection>-dmbtr.
ADD wa_output-misc_collection TO wa_output-tot_cash_bal.
ENDIF.
Move outstanding checks released
CLEAR lv_hkont.
lv_hkont = <fs_t012k>-hkont.
ADD 3 TO lv_hkont.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_hkont
IMPORTING
output = lv_hkont.
READ TABLE gt_outs_rel_checks ASSIGNING <fs_outs_rel_checks>
WITH TABLE KEY bukrs = <fs_t012k>-bukrs
hkont = <fs_t012k>-hkont.
IF sy-subrc = 0.
wa_output-outs_rel_checks = <fs_outs_rel_checks>-dmbtr.
ENDIF.
Move outstanding unreleased checks
CLEAR wa_zcheck_monitor_collect.
READ TABLE gt_zcheck_monitor_collect INTO wa_zcheck_monitor_collect
WITH TABLE KEY zzbukr = <fs_t012k>-bukrs
zubhkt = lv_hkont
TRANSPORTING zrwbtr.
IF sy-subrc = 0.
wa_output-outs_unrel_checks = wa_zcheck_monitor_collect-zrwbtr.
ENDIF.
Move importation docs. due
CLEAR wa_importation_docs_due.
READ TABLE gt_importation_docs_due INTO wa_importation_docs_due
WITH TABLE KEY bukrs = <fs_t012k>-bukrs
hkont = <fs_t012k>-hkont
TRANSPORTING dmbtr.
IF sy-subrc = 0.
wa_output-imp_docs_due = wa_importation_docs_due-dmbtr.
ENDIF.
APPEND wa_output TO gt_output.
CLEAR wa_output.
ENDLOOP.
IF NOT gt_output[] IS INITIAL.
CREATE OBJECT o_lcl_alv_routines.
CALL METHOD o_lcl_alv_routines->display_data
EXPORTING
im_header = gt_header
im_output = gt_output.
ENDIF.
ENDMETHOD. "process_data
ENDCLASS. "lcl_get_data IMPLEMENTATION
CLASS alv_routines IMPLEMENTATION
CLASS lcl_alv_routines IMPLEMENTATION.
METHOD alv_init.
gv_repid = sy-repid.
gs_layout-subtotals_text = text-a01.
gs_layout-key_hotspot = 'X'.
gs_layout-expand_fieldname = text-a02.
gs_keyinfo-header01 = text-a03.
gs_keyinfo-item01 = text-a03.
ENDMETHOD. "alv_init
METHOD build_fieldcat.
DEFINE m_fieldcat.
add 1 to wa_fieldcat-col_pos.
wa_fieldcat-fieldname = &1.
wa_fieldcat-tabname = &2.
wa_fieldcat-rollname = &3.
wa_fieldcat-outputlen = &4.
wa_fieldcat-fix_column = &5.
wa_fieldcat-just = &6.
wa_fieldcat-do_sum = &7.
wa_fieldcat-emphasize = &8.
wa_fieldcat-hotspot = &9.
append wa_fieldcat to gt_fieldcat.
clear wa_fieldcat.
END-OF-DEFINITION.
m_fieldcat 'BUKRS' 'gt_output' text-a04 '' '' '' '' '' ''.
m_fieldcat 'HKTID' 'gt_output' text-a05 '' '' '' '' '' ''.
m_fieldcat 'CASH_IN_BANK' 'gt_output' text-a06 '' '' '' '' '' ''.
m_fieldcat 'ONE_DAY' 'gt_output' text-a07 '' '' '' '' '' ''.
m_fieldcat 'TWO_DAYS' 'gt_output' text-a08 '' '' '' '' '' ''.
m_fieldcat 'MORE_THAN_TWO_DAYS' 'gt_output' text-a09 '' '' '' '' '' ''.
m_fieldcat 'MISC_COLLECTION' 'gt_output' text-a10 '' '' '' '' '' ''.
m_fieldcat 'OUTS_REL_CHECKS' 'gt_output' text-a11 '' '' '' '' '' ''.
m_fieldcat 'TREAS_TRANSACTIONS' 'gt_output' text-a12 '' '' '' '' '' ''.
m_fieldcat 'TOT_CASH_BAL' 'gt_output' text-a13 '' '' '' '' '' ''.
m_fieldcat 'TOTS_UNREL_CHECKS' 'gt_output' text-a14 '' '' '' '' '' ''.
m_fieldcat 'IMP_DOCS_DUE' 'gt_output' text-a15 '' '' '' '' '' ''.
m_fieldcat 'EST_CASH_BALANCE' 'gt_output' text-a16 '' '' '' '' '' ''.
ENDMETHOD. "build_fieldcat
METHOD display_data.
CALL METHOD me->alv_init.
CALL METHOD me->build_fieldcat.
gv_tabname_header = 'GT_HEADER'.
gv_tabname_item = 'GT_OUTPUT'.
gt_header[] = im_header[].
gt_output[] = im_output[].
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
i_callback_program = gv_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
is_layout = gs_layout
it_fieldcat = gt_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
i_tabname_header = gv_tabname_header
i_tabname_item = gv_tabname_item
I_STRUCTURE_NAME_HEADER =
I_STRUCTURE_NAME_ITEM =
is_keyinfo = gs_keyinfo
IS_PRINT =
IS_REPREP_ID =
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
IR_SALV_HIERSEQ_ADAPTER =
IT_EXCEPT_QINFO =
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab_header = gt_header
t_outtab_item = gt_output
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.
ENDMETHOD. "display_data
ENDCLASS. "alv_routines IMPLEMENTATION
START-OF-SELECTION *
START-OF-SELECTION.
DATA: o_lcl_get_data TYPE REF TO lcl_get_data.
CREATE OBJECT o_lcl_get_data.
CALL METHOD o_lcl_get_data->get_bank_details.
[/code]Thanks anyways...
-
Dear all,
Is there any way to restrict the Signed data decimal to 2 places? We have decimal formatted in the BPC Excel front end. But this doesnt stop data from Input schedule restricted to 2 decimal places in fact table.
Some users wrongly enter data with more than two decimal places in input schedule. Although such data is rounded off in the excel front end view, it doesnt get rounded in the fact table. We have issue when we try to extract such data using custom SSIS. We have option to round off at the time of extraction using custom SSIS. But when we extract huge data records, there are some reconciliation differences due to rounding. So the BPC data and extracted data differs. Is it possible to round the data at face table level?Hi Lokesh,
We also have the same requirement. No decimal places required. I had done the changes to include SIGNED_DATA_FORMAT to 13.0, and have rebuilt the indexes on the Consolidaiton Cube. However it still doesn't work as expected.
When I run currency conversion, the coverted values still shows decimal places.
Are we missing any step here?
We are on BPC 10NW SP05.
Please suggest.
Regards,
Rashmi -
Rounding down using the floor function
I need some help rounding down to the nearest 5 using the floor function.
My code appears to be correct but I'm not getting the wrong result.
create or replace
TRIGGER "SALE_CALC" BEFORE
INSERT OR
UPDATE ON Prs FOR EACH Row
BEGIN
:New.Prsvf9c := (floor((:New.Prsprsc - :new.prsvf1c)/5)*5);
END;
*:New.Prsprsc = 100.00 and :new.prsvf1c = 46.00*
After the trigger executes I get a result of *54.00*, which is the result before the rounding should take place. The result should be *50.00!*
What am I doing wrong?The code you posted appears to produce the results you expect if the data is what you say it is
SQL> create table prs(
2 Prsvf9c number,
3 Prsprsc number,
4 prsvf1c number
5 );
Table created.
SQL> create or replace
2 TRIGGER "SALE_CALC" BEFORE
3 INSERT OR
4 UPDATE ON Prs FOR EACH Row
5 BEGIN
6
7 :New.Prsvf9c := (floor((:New.Prsprsc - :new.prsvf1c)/5)*5);
8
9 END;
10 /
Trigger created.
SQL> insert into prs( Prsprsc , prsvf1c )
2 values( 100, 46 );
1 row created.
SQL> select * from prs;
PRSVF9C PRSPRSC PRSVF1C
50 100 46If you're seeing something different, it would be very helpful if you did something like I did here and post a reproducible test case.
Incidentally, I'm not sure why you would have columns named prsvf1c and Prsvf9c but if that implies that you've denormalized your table to store 9 values rather than creating a child table with up to 9 rows, that's unlikely to be a reasonable solution.
Justin -
Round values using data transfer workbench
Hi,
I'm using data transfer workbench to migrate some data, and some values are being rounded wich generates errors in the system.
Can sombedoy please help me with this issue? i'm using sap business one 2005 patch 18.
Thanks a lotAngie did you created the template using EXCEL?
When you edit templates with MS EXCEL you must make sure that the cell properties are properly configure, because if the cell is configure as a number with no decimal it will round the number, the same goes when the cell is a string, if a cell has a comma it will include double quotes when it saves the excel file.
Regards,
WB -
Hi,
I have a consolidation system which does the FX translation. I enter the rates against the EUR and the system then triangulates the rate when I run a conversion to USD.
For this triangulation BPC works with the maximum number of decimals allowed by the database.
My question is, is there a way to restrict BPC in the number of decimals it uses for this calculation of the exchange rate?
Thanks,
ArnoldHello Arnold -
The best practice for currency conversions that require high precision (many decimal places) to achieve acceptable accuracy is to use the MD property in the INPUTCURRENCY dimension. For example, you can enter the rate for JPY as 120 (assuming conversion to USD) instead of 0.008333 and then adjust the MD property to D to use the rate as a divider instead of a multiplier. This will allow the system to calculate the converted values using the full available precision provided by the system.
Regards,
Sheldon -
CATS rounding difference using clock times
Hello!
We are facing rounding differences during CATS recording with clock times. E.g. we record multiple entries with 5 minutes in transaction CAT2:
Clock Time -> CATS-hours
9:00 - 9:05 -> 0,08
9:05 - 9:10 -> 0,08
9:10 - 9:15 -> 0,08
9:15 - 9:20 -> 0,08
Sum of Minutes entered = 20
Sum of CATS-hours displayed = 0,32 which equals to 19 Minutes
As the number of entries increases the rounding difference get bigger.
Our company requires to-the-minutes time recording and by the way the employees get confused by the sum displayed.
Do you have any ideas to solve this issue?
Thanks in advance and best regards
Reinhard
Edited by: Reinhard Paizoni on Dec 2, 2010 10:10 AMHello,
You should use enhancement (user-exit) CATP0001 to validate this. You should write your coding for that as well.
Link below is not that of good use but I am putting for your reference.
http://help.sap.com/erp2005_ehp_04/helpdata/EN/64/400463470211d189720000e8322d00/frameset.htm
REgards,
Bentow.
Maybe you are looking for
-
I am trying to install Adobe Creative Suite CS2 and I am at the last stage of installation but the pop up window is asking that I insert CD #2 but, of course, there is no cd! I tried clicking okay and double clicking the image for CD #2 or file #2 bu
-
Format Drive 4i Tunes to be read by Mac and Windows
Hello, I'd like to take a load a firewire drive with some of my library from my mac so I can use it in iTunes on my Windows computer at work. If I format the drive MS-DOS will that be compatable with both platforms or is there something else I need t
-
The zoom in zoom out gesture doesn't work on my iPhone 5c. Like when opening an app it doesn't zoom out and opens. It also doesn't zooms in while pressing the home button to return. The gesture is just like any other Android phone. Like while closing
-
I finally have my first issue. My iPhone 4 simply won't sync with outlook. I've tried changing it to windows and back to outlook, but nothing works. I'm glad I had saved my contacts through funambol or I'd be screwed. Anyone have a clue what could be
-
I want to convert a .txt file to a .xml file. Content conversion, scenario, etc... has already been set up and compiled. Basically input file and output file are in the same directory. After compiling everything, i copied the input file over, but I c