CHAR_FLTP_CONVERSION
OK, I'm having a brain freeze. I have a character type value of 26000 that I want to convert to float type. I know there is the function CHAR_FLTP_CONVERSION, but I cannot get this to output the number as I want to see it (2.6000000000000000E+04). Can anyone point out what I may be doing wrong? I input 26000 as the input value and leave everything else default.
This doesn't works?
data: l_float type float,
l_string type string.
l_string = '2600'.
l_float = l_string.
write l_float.
Similar Messages
-
Problem in Batch Export Report
Hi all,
I have developed a report in PP module for Batch exports.
Here iam providing the input as plant, material no & batch and the output will be Orderwise material no, batch, mat desc, density and Quantity.
While executing the report the output is coming exactly for the first order while for the second order the values are not fetching correctly.
Pls suggest me.
*& Report ZPP_EXPORTBATCH
REPORT ZPP_EXPORTBATCH.
TABLES: MSEG,MKPF,AUFK,AFPO. "
TYPE-POOLS SLIS.
DATA: IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE SLIS_ALV_EVENT,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
LIST_LAYOUT TYPE SLIS_LAYOUT_ALV, "#EC *
GS_KEYINFO TYPE SLIS_KEYINFO_ALV, "#EC *
W_PROG TYPE SY-REPID,
P_RS_LINEINFO TYPE SLIS_LINEINFO.
Internal Tables**********************************
TYPES: TY_SCLASS TYPE STANDARD TABLE OF SCLASS.
TYPES: TY_OBJECTDATA TYPE STANDARD TABLE OF CLOBJDAT.
TYPES: BEGIN OF T_MSEG,
BWART LIKE MSEG-BWART,
MATNR LIKE MSEG-MATNR,
MAKTX LIKE MAKT-MAKTX,
CHARG LIKE MSEG-CHARG,
MENGE LIKE MSEG-MENGE,
ERFME LIKE MSEG-ERFME,
AUFNR LIKE MSEG-AUFNR,
AUSP1 LIKE CLOBJDAT-AUSP1,
ERROR(30),
END OF T_MSEG.
TYPES: INT_MSEG_FINAL TYPE STANDARD TABLE OF T_MSEG .
TYPES: BEGIN OF TY_MENGE1,
MATNR TYPE MSEG-MATNR,
CHARG TYPE MSEG-CHARG,
MENGE TYPE MSEG-MENGE,
ERFME TYPE MSEG-ERFME,
MBLNR TYPE MSEG-MBLNR,
ZEILE TYPE MSEG-ZEILE,
END OF TY_MENGE1.
TYPES: TY_MENGE TYPE STANDARD TABLE OF TY_MENGE1.
DATA : LENGTH TYPE I,
DIFFERENCE TYPE I,
IT_CLASS TYPE TY_SCLASS,
IT_OBJECTDATA TYPE TY_OBJECTDATA,
WA_CLASS TYPE SCLASS,
WA_OBJECTDATA TYPE CLOBJDAT,
L_MATNR TYPE MATNR,
INT_MSEG_FINAL TYPE INT_MSEG_FINAL,
WA_MSEG_FINAL TYPE T_MSEG,
WA_MSEG TYPE MSEG,
WA_WEMNG TYPE AFPO-WEMNG,
WA_PSMNG TYPE AFPO-PSMNG,
WA_AMEIN TYPE AFPO-AMEIN,
BAL_QTY TYPE AFPO-WEMNG,
INT_MSEG_TEMP1 TYPE INT_MSEG_FINAL,
WA_CALCULATED1 TYPE AFPO-WEMNG,
IT_MENGE TYPE TY_MENGE,
WA_MENGE1 TYPE TY_MENGE1,
WA_MAKTX TYPE MAKT-MAKTX,
WA_HSDAT TYPE MCH1-HSDAT,
WA_MAKTX_MAIN TYPE MAKT-MAKTX,
MAIN_DEN TYPE STRING,
DENSITY TYPE STRING,
MDENSITY TYPE STRING,
IDENSITY TYPE STRING.
data : tqty like mseg-menge.
data:INT_MSEG_TEMP2 LIKE MSEG OCCURS 0 WITH HEADER LINE.
data:INT_MSEG_TEMP3 LIKE MSEG OCCURS 0 WITH HEADER LINE.
**************Initialization********************************************
INITIALIZATION.
**************Input Parameters List*************************************
SELECTION-SCREEN SKIP 3.
SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-T01 . "#EC
SELECT-OPTIONS : S_WERKS FOR MSEG-WERKS OBLIGATORY, "PLANT
S_MATNR FOR MSEG-MATNR OBLIGATORY, "MATERIAL NUMBER
S_CHARG FOR MSEG-CHARG, "BATCH
S_BUDAT FOR MKPF-BUDAT. "POSTING DATE
SELECTION-SCREEN END OF BLOCK BLOCK1.
START-OF-SELECTION.
PERFORM READ_DATA.
PERFORM SUB_PREPARE_FIELDCATALOG.
PERFORM FILL_EVENTS_TABLE.
END-OF-SELECTION.
PERFORM DISPLAY_DATA_USING_GRID.
*& Form READ_DATA
text
--> p1 text
<-- p2 text
FORM READ_DATA .
DATA :INT_AFPO LIKE AFPO OCCURS 0 WITH HEADER LINE.
DATA :INT_MSEG LIKE MSEG OCCURS 0 WITH HEADER LINE,
INT_MSEG_TEMP LIKE MSEG OCCURS 0 WITH HEADER LINE.
SELECT SINGLE MAKTX
INTO WA_MAKTX_MAIN
FROM MAKT
WHERE MATNR IN S_MATNR.
DATA : WA_MENGE LIKE MSEG-MENGE.
SELECT SINGLE *
FROM AFPO
INTO INT_AFPO
WHERE MATNR IN S_MATNR
AND CHARG IN S_CHARG
AND DWERK IN S_WERKS.
MOVE INT_AFPO-WEMNG TO WA_WEMNG.
MOVE INT_AFPO-PSMNG TO WA_PSMNG.
MOVE INT_AFPO-AMEIN TO WA_AMEIN.
SELECT *
INTO TABLE INT_MSEG
FROM MSEG
WHERE AUFNR = INT_AFPO-AUFNR
AND BWART IN ('261' , '262' )
AND WERKS IN S_WERKS.
REFRESH INT_AFPO.
int_mseg_temp3[] = int_mseg[].
LOOP AT INT_MSEG.
clear tqty.
loop at int_mseg_temp3 WHERE MATNR = INT_MSEG-MATNR
and charg = int_mseg-charg
AND AUFNR = INT_MSEG-AUFNR
if int_mseg_temp3-bwart = '261' .
tqty = tqty + int_mseg_temp3-menge.
elseif int_mseg_temp3-bwart = '262'.
tqty = tqty - int_mseg_temp3-menge.
endif.
endloop.
int_mseg-menge = tqty.
SELECT SINGLE *
FROM AFPO
INTO INT_AFPO
WHERE MATNR = INT_MSEG-MATNR
AND CHARG = INT_MSEG-CHARG
AND DWERK IN S_WERKS.
IF SY-SUBRC EQ 0 AND INT_AFPO-AUFNR <> ' '.
SELECT * FROM MSEG
INTO TABLE INT_MSEG_TEMP
WHERE AUFNR = INT_AFPO-AUFNR
AND BWART IN ('261' , '262' )
AND WERKS IN S_WERKS.
LOOP AT INT_MSEG_TEMP.
WA_CALCULATED1 = ( INT_MSEG_TEMP-MENGE / INT_AFPO-WEMNG ) * INT_MSEG-MENGE.
WA_MENGE1-MENGE = WA_CALCULATED1.
WA_MENGE1-MATNR = INT_MSEG_TEMP-MATNR.
WA_MENGE1-CHARG = INT_MSEG_TEMP-CHARG.
WA_MENGE1-ERFME = INT_MSEG_TEMP-ERFME.
WA_MENGE1-MBLNR = INT_MSEG_TEMP-MBLNR.
WA_MENGE1-ZEILE = INT_MSEG_TEMP-ZEILE.
APPEND WA_MENGE1 TO IT_MENGE.
CLEAR: WA_CALCULATED1, WA_MENGE1.
ENDLOOP.
SORT IT_MENGE BY MBLNR ZEILE MATNR CHARG.
ENDLOOP.
CLEAR INT_MSEG.
MODIFY TABLE INT_MSEG FROM INT_MSEG_TEMP.
LOOP AT INT_MSEG_TEMP.
MOVE-CORRESPONDING INT_MSEG_TEMP TO INT_MSEG.
READ TABLE IT_MENGE INTO WA_MENGE1
WITH KEY MATNR = INT_MSEG_TEMP-MATNR
CHARG = INT_MSEG_TEMP-CHARG
MBLNR = INT_MSEG_TEMP-MBLNR
ZEILE = INT_MSEG_TEMP-ZEILE.
INT_MSEG-MENGE = WA_MENGE1-MENGE.
APPEND INT_MSEG.
CLEAR INT_MSEG.
*Added for Changes given by anup ART:09MAR08
CLEAR WA_MENGE1-MENGE.
*End of for Changes given by anup ART:09MAR08
ENDLOOP.
REFRESH INT_MSEG_TEMP.
CLEAR INT_AFPO.
ELSE.
MOVE: INT_MSEG-MATNR TO WA_MSEG_FINAL-MATNR,
INT_MSEG-CHARG TO WA_MSEG_FINAL-CHARG,
INT_MSEG-MENGE TO WA_MSEG_FINAL-MENGE,
INT_MSEG-ERFME TO WA_MSEG_FINAL-ERFME,
INT_MSEG-BWART TO WA_MSEG_FINAL-BWART .
APPEND WA_MSEG_FINAL TO INT_MSEG_FINAL.
CLEAR WA_MSEG_FINAL.
CLEAR INT_AFPO.
ENDIF.
ENDLOOP.
INT_MSEG_TEMP1[] = INT_MSEG_FINAL[].
REFRESH INT_MSEG_FINAL.
SORT INT_MSEG_TEMP1 BY MATNR CHARG.
LOOP AT INT_MSEG_TEMP1 INTO WA_MSEG_FINAL.
ON CHANGE OF WA_MSEG_FINAL-MATNR
OR WA_MSEG_FINAL-CHARG.
IF WA_MSEG_FINAL-BWART = '261'.
WA_MENGE = WA_MENGE + WA_MSEG_FINAL-MENGE.
ELSEIF WA_MSEG_FINAL-BWART = '262'.
WA_MENGE = WA_MENGE - WA_MSEG_FINAL-MENGE.
ENDIF.
WA_MSEG_FINAL-MENGE = WA_MENGE.
CLEAR WA_MENGE.
APPEND WA_MSEG_FINAL TO INT_MSEG_FINAL.
CLEAR WA_MSEG_FINAL.
ENDON.
ENDLOOP.
LOOP AT INT_MSEG_FINAL INTO WA_MSEG_FINAL.
SELECT SINGLE MAKTX
INTO WA_MAKTX
FROM MAKT
WHERE MATNR = WA_MSEG_FINAL-MATNR.
WA_MSEG_FINAL-MAKTX = WA_MAKTX.
MODIFY INT_MSEG_FINAL FROM WA_MSEG_FINAL TRANSPORTING MAKTX.
CLEAR WA_MAKTX.
****************CHGS BY MURALI.C FOR
DATA: WA_OBJECT(50) TYPE C.
LENGTH = STRLEN( WA_MSEG_FINAL-MATNR ).
IF LENGTH LT 18.
DIFFERENCE = 18 - LENGTH.
DO DIFFERENCE TIMES.
CONCATENATE WA_MSEG_FINAL-MATNR SPACE INTO L_MATNR.
ENDDO.
ENDIF.
CONCATENATE L_MATNR WA_MSEG_FINAL-CHARG INTO WA_OBJECT RESPECTING
BLANKS.
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
CLASS = ' '
CLASSTEXT = 'X'
CLASSTYPE = '023'
CLINT = 0
FEATURES = 'X'
LANGUAGE = SY-LANGU
OBJECT = WA_OBJECT
OBJECTTABLE = 'MCH1'
KEY_DATE = SY-DATUM
INITIAL_CHARACT = 'X'
NO_VALUE_DESCRIPT = NO_VALUE_DESCRIPT
CHANGE_SERVICE_CLF = 'X'
INHERITED_CHAR = ' '
CHANGE_NUMBER = ' '
TABLES
T_CLASS = IT_CLASS
T_OBJECTDATA = IT_OBJECTDATA
I_SEL_CHARACTERISTIC = I_SEL_CHARACTERISTIC
T_NO_AUTH_CHARACT = T_NO_AUTH_CHARACT
EXCEPTIONS
NO_CLASSIFICATION = 1
NO_CLASSTYPES = 2
INVALID_CLASS_TYPE = 3
OTHERS = 4
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
read TABLE IT_OBJECTDATA INTO wa_objectdata
with KEY SMBEZ = 'Density'.
if wa_objectdata-ausp1 <> '?'.
perform density_calc using wa_objectdata-ausp1 changing idensity.
WA_MSEG_FINAL-AUSP1 = idensity.
else.
WA_MSEG_FINAL-ERROR = 'classification value missing'.
endif.
MODIFY INT_MSEG_FINAL FROM WA_MSEG_FINAL TRANSPORTING AUSP1 ERROR.
CLEAR :WA_MSEG_FINAL-MATNR,WA_MSEG_FINAL-CHARG,WA_MSEG_FINAL-AUSP1,WA_OBJECT,WA_OBJECTDATA-AUSP1.
ENDLOOP.
ENDFORM. " READ_DATA
*& Form SUB_PREPARE_FIELDCATALOG
text
--> p1 text
<-- p2 text
FORM SUB_PREPARE_FIELDCATALOG .
X_FIELDCAT-FIELDNAME = 'MATNR'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'MATERIAL NUMBER'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 10.
X_FIELDCAT-KEY = 'X'.
X_FIELDCAT-KEY_SEL = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'MAKTX'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'MATERIAL DESCRIPTION'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 17.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'CHARG'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'BATCH'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 10.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'AUSP1'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'DENSITY'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 6.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'MENGE'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'QUANTITY'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 9.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'ERFME'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'UOM'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 9.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
*X_FIELDCAT-FIELDNAME = 'EDATU1'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'CONFIRMED QUANTITY DATED'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 9.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'ETENR1'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'CONFIRM SL NO'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 9.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'LFIMG'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'DELIVERED QUANTITY'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 18.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
X_FIELDCAT-FIELDNAME = 'ERDAT'.
X_FIELDCAT-TABNAME = 'INT_MSEG_FINAL'.
X_FIELDCAT-SELTEXT_M = 'DELIVERED DATE'. "#EC NOTEXT
X_FIELDCAT-JUST = 'C'.
X_FIELDCAT-OUTPUTLEN = 18.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
ENDFORM. " SUB_PREPARE_FIELDCATALOG
*& Form FILL_EVENTS_TABLE
text
--> p1 text
<-- p2 text
FORM FILL_EVENTS_TABLE .
WA_EVENTS-NAME = 'TOP_OF_PAGE'.
WA_EVENTS-FORM = 'PRINT_HEADING'.
APPEND WA_EVENTS TO IT_EVENTS.
ENDFORM. " FILL_EVENTS_TABLE
FORM PRINT_HEADING. "#EC CALLED
DATA IT_HEADINGS TYPE SLIS_T_LISTHEADER.
DATA WA_HEADINGS LIKE LINE OF IT_HEADINGS.
CLEAR WA_HEADINGS.
WA_HEADINGS-TYP = 'H'.
WA_HEADINGS-INFO = ' '.
WA_HEADINGS-TYP = 'H'.
WA_HEADINGS-INFO = ' BATCH EXPORT DETAILS REPORT '.
APPEND WA_HEADINGS TO IT_HEADINGS.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_HEADINGS
I_LOGO = 'APARLOGO' .
ENDFORM. "PRINT_HEADING
*& Form DISPLAY_DATA_USING_GRID
text
--> p1 text
<-- p2 text
FORM DISPLAY_DATA_USING_GRID .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-CPROG
IT_FIELDCAT = IT_FIELDCAT
I_SAVE = 'A'
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = INT_MSEG_FINAL
IF SY-SUBRC <> 0. "#EC *
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISPLAY_DATA_USING_GRID
*& Form density_calc
text
-->P_WA_OBJECTDATA_AUSP1 text
<--P_IDENSITY text
FORM density_calc USING WA_OBJECTDATA_AUSP1
CHANGING DENSITY.
data: den type float,density1(8).
density1(8) = wa_objectdata-ausp1.
call function 'CHAR_FLTP_CONVERSION'
exporting
DYFLD = ' '
MASKN = ' '
MAXDEC = '16'
MAXEXP = '59+'
MINEXP = '60-'
string = density1
MSGTYP_DECIM = 'W'
importing
DECIM =
EXPON =
flstr = den
IVALU =
EXCEPTIONS
EXPONENT_TOO_BIG = 1
EXPONENT_TOO_SMALL = 2
STRING_NOT_FLTP = 3
TOO_MANY_DECIM = 4
OTHERS = 5
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
if den gt 0.
density = 1 / den.
density = density(5).
density = density / 10.
den = strlen( density ).
if den ge 6.
density = density(6).
clear: den.
den = strlen( density ).
elseif den lt 6.
density = density.
clear: den.
den = strlen( density ).
endif.
else.
density = '0.000'.
endif.
den = strlen( density ).
data: den3(5) type c.
if den gt 3.
case den.
when '6'.
clear: den3.
compute den3 = 10000 * ( density(6) - density(5) ).
if den3 between 6 and 9.
clear: den3.
compute den3(2) = 10000 * ( density(5) - density(4) ).
compute den3 = den3(1) + 1.
compute den3 = den3 / 1000.
compute density = density(4) + den3.
endif.
when '5'.
clear: den3.
compute den3 = 1000 * ( density(5) - density(4) ).
if den3 between 6 and 9.
clear: den3.
compute den3(2) = 1000 * ( density(4) - density(3) ).
compute den3 = den3(1) + 1.
compute den3 = den3 / 100.
compute density = density(3) + den3.
endif.
endcase.
endif.
density = density(5).
ENDFORM. " density_calcHello,
I haven't checked the code but from the symptom you describe it could be possible that some fields used to calculate valeus are not getting cleared between calculations. This could result in some values from order the first order one being used in the calculation for values in the second order.
Regards,
Steve. -
Exponential to Numeric Conversion in ABAP
Hi,
This is regrardng the conversion of Exponential to Numeric values in ABAP.I have an exponential Value 4.8E+47 .I want to convert to numerical .If i use the Exponential Function ,It is agian yielding another Exponent value.
If the Power is more than 47,then there could be multiple steps and In all the case ,it is giving exponent values only.
But I need the numeric value which later should rounded off to 3 decimals.
Please guide me if there is any Function module or a way to resolve this issue.
Regards,
Kranti Yamparala.Hey Vikas,
did you ever try the given FM there? First of all there is no FM called "QSS0_FLTP_TO_CHAR_CONVERSION" in every system, as you maybe take notice of the prefix. There are just these FMs called " CHAR_FLTP_CONVERSION" or "FLTP_CHAR_CONVERSION". Maybe you mean them. But, nevertheless these are not easy to use FM. Maybe you should try and read the other postings in advance.
As I said in my post - and this is the fastest way - you just have to move. That's all. No FM, no Method no nothing ...
Just:
e_output = l_float = i_input.
Yavuz -
Conversion Exit for data type FLTP
Can someone suggest me a conversion Exit for data type FLTP?
Hi,
CHAR_FLTP_CONVERSION
FLTP_CHAR_CONVERSION
Have a look at the function module documentation.
Regards,
Reema.
PS. pl. award points to useful answers. -
Character format to currency format conversion?
Hai,
I have a field (char16) with value in the form 9800.50. How do I convert it into standard SAP currency type ( of the format 9.800,50 ) Is there any function module available ?
I have tried the FM "CHAR_FLTP_CONVERSION". But it can't convert decimals (like 9800.50)
Kindly help me. Thanks in advance..
Deepak.Hi,
Try this.
Call function 'BAPI_CURRENCY_CONV_TO_INTERNAL '
Exporting
currency = 'USD'
Amount External = V_Amount
Importing
Amount External = V_Amt
Reward if helpful.
Regards,
ramya -
Reg : CHAR to FLTP conversion
Hi All,
I want to convert char value '55.5' to floating point value.
I tried using the below function modules. These two function modules does not accept the decimals .
CHAR_FLTP_CONVERSION
CHAR_FLTP_CONVERSION_TO_SI
can any one suggest how can i convert the decimal char values ('55.55') to floating point values.
thanks
Vijayhi
data:pack type p deimals 2.
first pass char value to pack and then from pack pass it to floting point variable.
Regards
Neha -
Conversion exit for German umlots
Hello,
Do we have any conversion exit for changing internal format of German umlots ( ÜÄÖ ) to external formats.
Regards,
satyaHi,
CHAR_FLTP_CONVERSION
FLTP_CHAR_CONVERSION
Have a look at the function module documentation.
Regards,
Reema.
PS. pl. award points to useful answers. -
How to convert flat to deep structure ?
hi all, i hava a problem. this is my code:
TYPES: BEGIN OF mytype,
f1(14) TYPE C,
f2(24) TYPE C,
f3(9) TYPE C,
f4(6) TYPE C,
f5(4) TYPE N,
f6(5) TYPE N,
Myfield (8) TYPE F,
END OF mytype.
DATA: mylocaltable TYPE TABLE OF mytype WITH HEADER LINE.
read data from CSV file and put it to mylocaltable, it works fine ))), but next:
DATA: OUTPUT TYPE TABLE OF DEEP_STRUCTURE_TYPE WITH HEADER LINE.
DATA: deepstructure LIKE LINE OF OUTPUT-message_type-line.
LOOP AT mylocaltable.
MOVE-CORRESPONDING mylocaltable to deepstructure.
APPEND deepstructure TO OUTPUT-message_type-line.
ENDLOOP.
TRY.
CREATE OBJECT PROXY.
CALL METHOD PROXY->Message_Out
EXPORTING
OUTPUT = OUTPUT.
COMMIT WORK.
ENDTRY.
there is a error message on line "Myfield (8) TYPE F,":
"Myfield" must be a character like data object (data type C, N, D, T or STRING) .
in the DEEP structure OUTPUT the field "Myfield" has XSD:DOUBLE type (in XI).
Please help me to solve this problem. Thanks.
P.S. the data for "Myfield" can be like "12345678,12345678" - i mean it's float and has max length - 16.Hi, thanks for reply, but i've solved this problem by other way:
1.
i've changed
Myfield (8) TYPE F, to Myfield (16) TYPE С,
2.
then i've changed
LOOP AT mylocaltable.
MOVE-CORRESPONDING mylocaltable to deepstructure.
APPEND deepstructure TO OUTPUT-message_type-line.
ENDLOOP.
to
DATA: Float type F.
LOOP AT mylocaltable.
deepstructure-f1 = mylocaltable-f1.
deepstructure-f2 = mylocaltable-f2.
deepstructure-f3 = mylocaltable-f3.
deepstructure-f4 = mylocaltable-f4.
deepstructure-f5 = mylocaltable-f5.
deepstructure-f6 = mylocaltable-f6.
CALL FUNCTION 'CHAR_FLTP_CONVERSION'
EXPORTING
STRING = mylocaltable-Myfield
IMPORTING
FLSTR = Float
EXCEPTIONS
EXPONENT_TOO_BIG = 1
EXPONENT_TOO_SMALL = 2
STRING_NOT_FLTP = 3
TOO_MANY_DECIM = 4
OTHERS = 5.
deepstructure-Myfield = Float.
APPEND deepstructure TO OUTPUT-message_type-line.
ENDLOOP.
Anyway thanks to all !!!!! )))). -
Need some info about Bappi's !!!
Friends can anybody tell me a little bit about these BAPI's or Function Modules
CHAR_FLTP_CONVERSION
CONVERSION_EXIT_CUNIT_OUTPUT
BAPI_TRANSACTION_COMMIT
BAPI_PROCESS_MESSAGE_CREATEMLT and finallly
BAPI_PRODORDCONF_CREATE_TT In this one is the production order being confirmed partially or fully and can we add some logic to make it do conversion in the unit of measure we want?
Please help !!!BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
Maybe you are looking for
-
Gnome 3 issues - transparency, settings lost
Hi! I'm not much of a Linux-expert, although I try my best becoming one, so please be patient with me. Yesterday I tried Ubuntu 11.04 beta and I was just shocked from the new GUI. I read somewhere that Ubuntu's Unity or something made the new Gnome G
-
VM stuck on Running (provisioning) after 3 days and 3 attempts at creating a new server
We have created 2 virtual machines successfully, one is a domain controller and DNS server and the 2nd is a web server. We used Powershell scripts to achieve this. We are trying to create a 3rd web server using the same powershell scripts as prevousl
-
More than 1 column in the group by clause
DB Version:10gR2 I understand the basics of GROUP BY clause. I have a question on why we have on more than 1 columns in GROUP BY clause. In the below example, the course name by itself does not make up a group. A Course name plus its BeginDate make u
-
I am upgrading from Developer Studio 2004 SP12 to SP17. I am still kind of new to this, where can I get SP17 and what steps do I need to do to upgrade? Will my projects and source code show up after the upgrade? How do I save them and bring them back
-
How to configure Dynamic Reloading?
The Java Developer's Guide of iAS 6.0 describes the Dynamic Reloading feature can be turn on/off by the registry entry: SYSTEM_JAVA\Versioning\Disable Would you mind let us know the full path of this entry? We cannot find it from kregedit. Thanks! An