on 06-26-2015 10:36 AM
Hi,
I extracted a CSV file from the result of a query designer using APD..
However, the keyfigures are in scientific notation..Is there a way to extract values of KF not in scientific notation? Or is there a way to convert the result of the KF to its original value?
Thank you.
Loed
think you can use this- EXPONENT
e.g.:
DATA: float TYPE f,
formatted_text TYPE c LENGTH 6.
float = SQRT( 2 ).
WRITE float TO formatted_text EXPONENT 0.
write : / float.
write : / formatted_text.
M.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Loed,
Open this documents.Hope it helps.
SAP Community Network - The Social Network for SAP Professionals
Thanks,
Urmil.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
someone solved that in the past with "code", as you can see here
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
the "cached" version is still available in Google 🙂
the APD code part:
REPORT RSAN_WB_ROUTINE_TEMP_REPORT .
TYPES: BEGIN OF Y_SOURCE_FIELDS ,
ARTICLE TYPE /BI0/OIARTICLE ,
CALDAY TYPE /BI0/OICALDAY ,
KYF_0004 TYPE FLOAT ,
KYF_0001 TYPE I ,
KYF_0003 TYPE FLOAT ,
KYF_0002 TYPE FLOAT,
END OF Y_SOURCE_FIELDS .
TYPES: YT_SOURCE_FIELDS TYPE STANDARD TABLE OF Y_SOURCE_FIELDS .
TYPES: BEGIN OF Y_TARGET_FIELDS ,
ARTICLE(8) TYPE C ,
CALDAY(10) TYPE C ,
VOLUME(18) TYPE C ,
SALES(18) TYPE C ,
END OF Y_TARGET_FIELDS .
TYPES: YT_TARGET_FIELDS TYPE STANDARD TABLE OF Y_TARGET_FIELDS .
*---------- BEGIN OF TYPE DEFINITIONS -------------------------------
*TYPES: ...
*----------- END OF TYPE DEFINITIONS --------------------------------
FORM COMPUTE_DATA_TRANSFORMATION
USING IT_SOURCE TYPE YT_SOURCE_FIELDS
IR_CONTEXT TYPE REF TO IF_RSAN_RT_ROUTINE_CONTEXT
EXPORTING ET_TARGET TYPE YT_TARGET_FIELDS .
*--------- BEGIN OF TRANSFORMATION CODE -----------------------------
DATA: LS_SOURCE TYPE Y_SOURCE_FIELDS,
LS_TARGET TYPE Y_TARGET_FIELDS,
LV_CALDAY(10) TYPE C,
LV_VOLUME TYPE I,
L_LEN TYPE I,
L_LENGTH TYPE N.
LOOP AT IT_SOURCE INTO LS_SOURCE.
MOVE-CORRESPONDING LS_SOURCE TO LS_TARGET.
CONCATENATE LS_SOURCE-CALDAY+6(2) '.' LS_SOURCE-CALDAY+4(2) '.'
LS_SOURCE-CALDAY(4) INTO LV_CALDAY.
LS_TARGET-CALDAY = LV_CALDAY.
*ARTICLE SHOULD BE LEFT PADDED WITH ZEROES SO THAT IT IS 8 CHARACTERS
*LONG.
IF STRLEN( LS_SOURCE-ARTICLE) GT 8.
SHIFT LS_SOURCE-ARTICLE BY 8 PLACES LEFT.
L_LEN = STRLEN( LS_SOURCE-ARTICLE ).
IF L_LEN GT 8.
L_LEN = L_LEN - 8.
L_LEN = 0.
L_LENGTH = L_LEN.
LS_TARGET-ARTICLE = LS_SOURCE-ARTICLE+L_LENGTH(8) .
LV_VOLUME = LS_SOURCE-KYF_0001.
LS_TARGET-VOLUME = VOLUME.
SHIFT LS_TARGET-VOLUME RIGHT DELETING TRAILING SPACE.
CONDENSE LS_TARGET-VOLUME NO-GAPS.
LS_TARGET-SALES = LS_SOURCE-KYF_0002.
SHIFT LS_TARGET-SALES RIGHT DELETING TRAILING SPACE.
CONDENSE LS_TARGET-SALES NO-GAPS.
APPEND LS_TARGET TO ET_TARGET.
*---------- END OF TRANSFORMATION CODE ------------------------------
ENDFORM
Hi Loed,
Could you please share some sample data how its looks like.
Thank you,
Nanda
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Loed,
Please check this thread, it solved.
if link not open, here is the logic
Dear all,
I was trying to get values in an ALV grid recently and I noticed that the values are displayed as exponential values which didn't satisfy the client very much. So after a little research I found this function module that converted the exponential format to float format.
This form takes the exponential value in V_FLOAT variable converts it to the float value in V_CHAR P10_4 variable
FORM CONVERT CHANGING V_FLOAT V_CHAR P10_4.
IF V_FLOAT IS NOT INITIAL.
CALL FUNCTION 'CEVA_CONVERT_FLOAT_TO_CHAR'
EXPORTING
FLOAT_IMP = V_FLOAT
FORMAT_IMP = P10_4
ROUND_IMP = ' '
IMPORTING
CHAR_EXP = V_CHAR.
ENDIF.
ENDFORM.
DATA: V_FLOAT TYPE F , V_CHAR(25), P10_41(10) TYPE P DECIMALS 3. "CONVERSION OF STRING TO FLOAT STRUCTURE.
V_FLOAT = VALUE_BEFORE_CONVERSION.
PERFORM CONVERT CHANGING V_FLOAT V_CHAR P10_41.
VALUE_AFTER_CONVERSION = V_CHAR.
Hope this simple routine is useful.
If you have any doubts, please don't hesitate to ask.
Thank you,
Nanda
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.