Conversion Routines - R3 and BW
I need to create a custom InfoObject in BW to map to an R3 field in an InfoSource. The R3 field has the ABPSP converions routine applied to it. As a rule of thumb is it always best to apply the same conversion routine to the matching BW InfoObject? Is there a time that I wouldn't want to match the conversion routine of the R3 field to the matching BW InfoObject? Your help is appreciated.
Hi David,
Conversion routines in BW will aid in eliminating the technical differences of data format to be acceptable by the BW system. You cannot directly map R/3 Conversion routine to BW Conversion routine as far as my knowledge goes. Please map the infoobject in BW with the R/3 field directly and check if the converted data is directly coming into BW from the R/3 system as you said there is a conversion already existing in R/3. If this doesnot solve your problem, then you can create your own conversion routines using SM37 t.code wherein you will create your conversion rule specifying CONVERSION_EXIT_XXXXX_INPUT and CONVERSION_EXIT_XXXXX_OUTPUT. Where XXXXX is a 5 letter user-specified name of the Conversion. INPUT code is written for converting sourcesystem data to be acceptable into BW tables. OUTPUT is written to converting the BW data into acceptable reporting display. You need to activate both the function modules created in order to use them during infoobject property settings. While using them you can directly see the XXXXX (user-specific) conversion during infoobject conversion settings.
Hope this might be helpful to you. Award points if useful.
Thanks
Kishore Kumar
Similar Messages
-
Conversion Routines and Function Modules
Hi All,
I have to write the Conversion Routines and Transformation Process for below Fields,
I have a situation, where am having text files with the data having below fields, and before uploading the data to Database i have to do conversion.
So anybody Plz help me regarding this conversion topic how to write the process and how to write the code.
Table Field Name Type Length Short Text
BKPF BLART CHAR 2 Document Type
BKPF BUKRS CHAR 4 Company Code
BSEG BUKRS CHAR 4 Company Code
BSEG HKONT CHAR 10 General Ledger Account
BSEG KOSTL CHAR 10 Cost Center
BSEG VERTN CHAR 13 Contract Number
KNA1 KUNNR CHAR 10 Customer NumberHi Bala
Supposing all the fields exist in internal table itab. You can add the code simple as below:
loop at itab.
perform conv_fld changing: itab-bukrs,
itab-blart,
itab-hkont,
itab-kostl,
itab-vertn,
itab-kunnr.
endloop.
*& Form conv_fld
FORM conv_fld CHANGING fld.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = fld
IMPORTING
OUTPUT = fld.
ENDFORM. " conv_fld
So for each field depending on its length the conversion routine acts and gives the right output. Please make sure, that your internal table if defined with the right field references or length.
Kind Regards
Eswar -
Problem in conversion routine in CGPL_PROJECT and CPGL TEXT Tables
Hi experts...
I have a requirement in Project planning module for audit monitor report...
Based on the External ID (is nothing but a CAPA Number)in CGPL_PROJECT i need to display description(CAPA Description) from CPGL_TEXT Table..
But there is a One conversion routine in CPGL_TEXT Table i.e CONVERSION_EXIT_CGPLP_INPUT
here input is COR-08-0000000291( CAPA number) and i am getting output as 48D9ED5BE8430069E10080000A8C681D.
In CPGL_TEXT table fields are GUID , TEXT_GUID,TEXT1.....
If i give the guid as COR-08-0000000291 out put is
GUID TEXT_GUID TEXT
48D9ED5BE8430069E1008000 48D9ED81E8430069E10080000A8C681D CAPA - Review of Requests
1) IF we compare GUID value here and conversion out put last 8 digits are missing.....(coz in domain of that field len gth and conversion lenght are difff)
2) IF we compare TEXT_GUID and conversion out put both values are entirely diff .....
In select query how can i get text Value......
Can any body please solve me out........
Regards,
Praveena.solved
-
WBS element conversion routines
Hey guys,
I recently added PS_PSP_PNR to 2LIS_11_VAHDR in order to extract the WBS element from the sales document header. So far so good and everything works fine. In the extractor checker I get the data as expected e.g. 'S-00017.02.09'.
The problem occurs as soon as the data is transferred to BW. In the transfer structure I see that PS_PSP_PNR har conversion routine ABPSP that converts the WBS from external format CHAR(24) to internal NUMC(8). And this is what is causing me the trouble! In the PSA the WBS from above is converted to '00029788'.
I tried several different approaches. If the field is mapped directly to 0WBS_ELEMT the value '00029788' is obviously also written to the DSO and further up the data flow.
I tried coding an ABAP routine in the transfer rules which does not seem to work:
call function 'CONVERSION_EXIT_ABPSP_OUTPUT'
exporting
input = TRAN_STRUCTURE-ps_psp_pnr
importing
output = RESULT.
RETURNCODE = 0.
ABORT = 0.
Since the routine above did not help me at all I tested the FM in SE37 and it does not return any values for '00029788'.
Any clues on this? How to proceed?
BR
Stefan.Well... Didn't want to wait any further for an answer, so I appended PS_POSID to the extract structure and filled this field in ZXRSAU01. In the exit I used 'CONVERSION_EXIT_ABPSP_OUTPUT' to convert to the correct format.
BR
Stefan -
What is use of Conversion Routine in Abap dictionary
Hi,
Can any body please tell me the proper use of <b>Conversion Routine in Abap dictionary.</b>
Please give me a practical example where it has been used.
Thanks
prabhuduttahi,
here is help for conversion routine
Conversion takes place when converting the contents of a screen field from display format to SAP-internal format and vice versa and when outputting with the ABAP statement WRITE, depending on the data type of the field.
If standard conversion is not suitable, it can be overridden by specifying a conversion routine in the underlying domain.
A conversion routine is identified by its five-place name and is stored as a group of two function modules. The function modules have a fixed naming convention. The following function modules are assigned to conversion routine xxxxx:
CONVERSION_EXIT_xxxxx_INPUT
CONVERSION_EXIT_xxxxx_OUTPUT
The INPUT module performs the conversion from display format to internal format. The OUTPUT module performs the conversion from internal format to display format.
If a screen field refers to a domain with a conversion routine, this conversion routine is executed automatically each time an entry is made in this screen field or when values are displayed with this screen field.
regards,
Raghavendra -
How to write conversion routine for key figure?
Our customer has this requirment:
we need to know the last time of some TV program in BEx report, If a TV program last 500 seconds, we need show the key figure like this: 00:08:20, If a TV program last 100000 seconds, we need show the key figure like 27:46:40 (27 hours and 46 minitues and 27 seconds), If we define a key figure as time, BW system will report a error that say it is not acceptable time. If we want to define a integer, but we need display it like hhmmss format. We know we can write conversion routine for char. but I don't how to write conversion routine for key figure. Please give me any hint if any other solutions?
Edited by: SY DONG on Dec 2, 2010 3:36 AMIf you want to do in Transformation Layer :
You can use routine ...break up the seconds into minute hour and seconds
you will have to handle few cases in this:
let say your variable lv_seconds holds the number of seconds you want to convert to hour min and seconds
DATA: lv_seconds type i,
lv_hrs type i,
lv_sec type i,
lv_min type i.
lv_hrs = lv_seconds / 3600
if lv_hrs >= 1.
lv_min = (lv_hrs - trunc(lv_hrs))*60
here again handle seconds if min >60.
else.
lv_hrs = '00'.
lv_min = lv_hrs*60
It is just hint ..how you can manipulate the seconds to get it...you will have to think about the complete algorithm
Regards,
RK -
PRODU Conversion Routines in APO ABAP
Hi Folks,
I am new to APO..
I wanted to change PRODU conversion routines for Product , Could you please let me know is there any user-exits or Badis avaialble..
I wanted to change both Input, output routines..
my req is :
Material number is .1234
when ever we create any material starting with (.) it should change to(0) 01234..
and internal format also should be only 01234 not all other leading zeros( as 40 is length).. and display format is as 01234
Thanks,
Smriti..Hi Smriti,
Can you use the Replace command for the above issue.
Command
REPLACE ALL OCCURRENCES OF '.' IN matnr WITH `0`.
Regards
Rajkumar Narasimman -
Info Object conversion routine
Hello,
I have a very simple question.
I have an infoObject which suppose to save texts. I dont care which kind of text is it. It can be anything. in the infoObject i removed the conversion routine and didnt put an X in the "lowercase letters" checkbox but still when i load data into the ODS the data cant be activated just because this infoObject have wrong charactaristics.
Please Advice,
DavidHi David,
allow lowercase letters or check out this one: /people/siegfried.szameitat/blog/2005/07/18/text-infoobjects-part-1
regards
Siggi -
Warning in PDF "Field FS -BELNR has a conversion routine"
Hii
i hav converted a existing smartform to PDF..
in PDF its showing Warnings
Form ZSF_BANK_PAYMENT , Node BELNR
' Field <FS>-BELNR has a conversion routine (see sap note 796755) '
Form ZSF_BANK_PAYMENT , Node EBELN
' Field <FS>-EBELN has a conversion routine (see sap note 796755) '
plz help me out how to solve this...
Thanks in Advance
SatyaHi,
I think the messages displayed are warnings, not errors.
They won't effect the functionality and you can ignore them.
Thanks. -
Conversion Routine... plz help
Dear Gurus,
There is a text field in R3 called as SGTXT related to some finance table... some of the records in this field directly start with '#' character and then the details.. Well here is the problem.. I m loading to ODS 0FIAR_O04 and it ends up in error due to the above mentioned problem.. the infoobject which carry the data from SGTXT field is 0POSTXT...
I decided to go for a conversion routive in transfer rule for this field.. but i dont know how to write routines.. can you plz help me with the steps as well as the code to remove '#' from SGTXT.... Thanks.
For more help i m attaching the conversion routine with is automatically generated by system... only i hv to add code to remove '#' character... kindly go thru it and suggest me where to add and what to add...
here it is
PROGRAM CONVERSION_ROUTINE.
Type pools used by conversion program
TYPE-POOLS: RS, RSARC, RSARR, SBIWA, RSSM.
Declaration of transfer structure (selected fields only)
TYPES: BEGIN OF TRANSFER_STRUCTURE ,
InfoObject 0POSTXT: CHAR - 000050
SGTXT(000050) TYPE C,
END OF TRANSFER_STRUCTURE .
Global code used by conversion rules
$$ begin of global - insert your declaration only below this line -
TABLES: ...
DATA: ...
$$ end of global - insert your declaration only before this line -
FORM COMPUTE_POSTXT
Compute value of InfoObject 0POSTXT
in communication structure /BIC/CS0FI_AR_4
Technical properties:
field name = POSTXT
data element = /BI0/OIPOSTXT
data type = CHAR
length = 000060
decimals = 000000
ABAP type = C
ABAP length = 000120
reference field =
Parameters:
--> RECORD_NO Record number
--> TRAN_STRUCTURE Transfer structure
<-- RESULT Return value of InfoObject
<-> G_T_ERRORLOG Error log
<-- RETURNCODE Return code (to skip one record)
<-- ABORT Abort code (to skip whole data package)
FORM COMPUTE_POSTXT
USING RECORD_NO LIKE SY-TABIX
TRAN_STRUCTURE TYPE TRANSFER_STRUCTURE
G_S_MINFO TYPE RSSM_S_MINFO
CHANGING RESULT TYPE /BI0/OIPOSTXT
G_T_ERRORLOG TYPE rssm_t_errorlog_int
RETURNCODE LIKE SY-SUBRC
ABORT LIKE SY-SUBRC. "set ABORT 0 to cancel datapackage
$$ begin of routine - insert your code only below this line -
DATA: l_s_errorlog TYPE rssm_s_errorlog_int.
RESULT = .
returncode 0 means skip this record
RETURNCODE = 0.
abort 0 means skip whole data package !!!
ABORT = 0.
$$ end of routine - insert your code only before this line -
ENDFORM.
FORM INVERT_POSTXT
Inversion of selection criteria for InfoObject 0POSTXT
This subroutine needs to be implemented only for SAP RemoteCubes
(for better performance) and for the Report/Report Interface
(drill through).
--> I_RT_CHAVL_CS Ranges table for current InfoObject
--> I_THX_SELECTION_CS Selection criteria for all other InfoObjects
<-- C_T_SELECTION Selection criteria for fields of
transfer structure
<-- E_EXACT Flag: Inversion was exact
FORM INVERT_POSTXT
USING I_RT_CHAVL_CS TYPE RSARC_RT_CHAVL
I_THX_SELECTION_CS TYPE RSARC_THX_SELCS
CHANGING C_T_SELECTION TYPE SBIWA_T_SELECT
E_EXACT TYPE RS_BOOL.
$$ begin of inverse routine - insert your code only below this line-
DATA:
L_S_SELECTION LIKE LINE OF C_T_SELECTION.
An empty selection means all values
CLEAR C_T_SELECTION.
L_S_SELECTION-FIELDNM = 'SGTXT'.
Selection of all values may be not exact
E_EXACT = RS_C_FALSE.
$$ end of inverse routine - insert your code only before this line -
ENDFORM.It has been solved.. thanks everyone for inputs.. points awarded to concerened.. thanks.
-
ORA-03120: two-task conversion routine: integer overflow
Hello DB Gurus!!
Need your comments and help once again...
I am trying to import a DUMP file into My Local Database ie. Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
The file exported was by different user on different Dabase of Oracle 10g i.e. Oracle Database 10g Enterprise Edition Release 10.2.0.3.0
but while I am trying to import, I getting the following error..
Please help.. and suggest the alternate..
Warning: the objects were exported by XYZABC , not by you
import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
import server uses WE8ISO8859P1 character set (possible charset conversion)
IMP-00008: unrecognized statement in the export file:
. importing NEXOS_ADMIN_OLTP_API's objects into SHRICHANDRA_ABC123
IMP-00003: ORACLE error 3120 encountered
ORA-03120: two-task conversion routine: integer overflow
. importing NEXOS_ADMIN_OLTP_TAB's objects into SHRICHANDRA_XYZ123
IMP-00003: ORACLE error 3120 encountered
ORA-03120: two-task conversion routine: integer overflow
Thanks in advance..Thank Rajneesh,
I suspect the same issue as you did, But unfortunately I don't have much option available, as other side all are production DB so All I can do is pull from there that is export and import to my local where I am stuck!!!
Thanks.. -
Conversion routine for time key figure
Hi,
i have a filed in datasource which has length 5 ( of numeric char ).it may be coz time can be represented as "hh:mm" which has of course of length 5.
this particular field is mapped to a key figure of type time ( which is only 4 numc ).
because of this mismatches transfer rules are not getting activated.
what i need to do now? is it neccessary to write a conversion routine again?if yes, can any body write here the code required for it?
thanks,
RaviHi Ravi,
Assuming time comes in 'HH:MM' , colon placed explicitly , Code should look like ...
bwtime(2) = r3time+1(2) .
bwtime2(2) = r3time3(2).
Where BW_Time stands for info object.
R3time stands for transfer structure field.
Normally time field is of type numc lenght 6 ( HHMMSS) and inthat case should not be any issue when used in BW system.
Hope that helps.
Regards
Mr Kapadia
***Assigning points is the way to say thanks in SDN.*** -
How to use conversion routine?
hi,
in my z-table i have a field called matnr for the material number say.
its domain defines it as 18 char.
say i have created an entry say 200.
so it will be saved may be as 000000000000000200.
i want it should be displayed with as 200.
and if i search for say 200.
so it should not look for the proceeding zero's.
it should not give me an error that record doesn't exists.
please tell me how to use exaclty conversion routine.
thanks
ektahi all,
the problem has been solved.
CONVERSION_EXIT_MATN1_OUTPUT this FM module can only be used where the z-table has matnr of the type MATNR the standard matnr of the table mara.
so in my program it was not working.
my data element was not matnr.
i had used a popup for position finder.
so it could not read the material number which had zeros as prefixes.
thanks for all the help
thanks
ekta
below the code is mentioned...................
*******************************C O D E*******************************************
WHEN '&POS'.
popup_title = 'Choose The Material Number'.
CLEAR it_fields.
it_fields-tabname = 'Z10ET_TAB_MAT01'.
it_fields-fieldname = 'MATNR'.
it_fields-field_attr = ' '.
it_fields-field_obl = 'X'.
APPEND it_fields.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
no_value_check = 'X'
popup_title = popup_title
start_column = '5'
start_row = '5'
IMPORTING
returncode = returncode
TABLES
fields = it_fields
EXCEPTIONS
error_in_fields = 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.
IF returncode = ' '.
MESSAGE i036 WITH it_fields-value.
SORT it_material_data BY matnr.
READ TABLE it_material_data INTO wa_material_data
WITH KEY matnr = it_fields-value.
IF sy-subrc = 0.
tab_ctrl1-top_line = sy-tabix.
REFRESH it_fields.
CLEAR returncode.
CLEAR ok_code_0101.
ELSE.
CONCATENATE concat it_fields-value INTO v_matnr.
READ TABLE it_material_data INTO wa_material_data
WITH KEY matnr = v_matnr.
IF sy-subrc = 0.
tab_ctrl1-top_line = sy-tabix.
REFRESH it_fields.
CLEAR returncode.
CLEAR ok_code_0101.
ELSE.
MESSAGE i037 WITH it_fields-value.
REFRESH it_fields.
CLEAR returncode.
CLEAR ok_code_0101.
ENDIF.
ENDIF.
ENDIF. -
How to remove conversion routine "ABPSN"
Dear gurus,
In my transfer rules, under the tab "DataSource/Trans. Structure", I have a field PSPID whose "Conversion Routine" has the value "ABPSN". This conversion routine converts the external format to the SAP format which, however, is not what I want. I want to remain the original format so I need to remove this "ABPSN" conversion routine. When I double clicked it, it linked to the InfoObject 0PROJECT maintanace screen. On that screen, I removed the conversion routine "PROJ" for 0PROJECT, but still ABPSN remains and the data loaded into the InfoCube have been converted.
So how can I remove this ABPSN convertion routine?
Thanks in advance.
Jin MingHi Jin Ming,
Conversion Exit ABSPN is related to WBS element and not project at R/3 side.
But at BW side this routine internally calls Project routine .
The Process is,
1. Delete all transactional data , from related ODS & Cube wherever 0PRoject is used .
2. Delete master data from 0Project.
3. Change object 0Project remove the conversion using Tcode RSD1.
4. Load master data for 0Project.
5. Load transaction data.
Hope that helps.
Regards
Mr Kapadia -
How to "Custom conversion routine" in BW
Hi team,
The R3 table level field has converion routine which stores the value as "A" .
When you display this in application (or) using ALV, it shows as "AB". There are custom function modules behind this conversion routine.
In BW, when we extract until PSA, we are getting "A".
I see the option at Info object level to write" conversion routine" but how and where to start this conversion routine in BW.
In BW, we want to show "AB"
Thanks
AngeloHi,
this problem is solved in transformation PSA to InfoObject using formula or routine.
Regards,
Conrado
www.forosap.com
Spanish SAP Forum Administrator
Edited by: Conrado Linquet on Mar 29, 2010 5:54 PM
Maybe you are looking for
-
Getting confirmation mail after sending PO to a supplier
Is there any fuctionalality of getting confirmation mail after the vendor receives a purchase order (output condition is set for the PO medium is external send).If yes, who will get this confirmation mail , the creator of the PO or the buyer of the
-
How do I transfer my iTunes account to a new computer?
I'm trying to use Home Sharing to transfer my iTunes account from one computer to another. Home Sharing is turned "on" on both computers, but I cannot find any way to import my account on the new computer. How is this done? Thanks!!
-
Error message while trying to connect to Facebook chat via Thunderbird.
I have read multiple forums and watched YouTube video's on how to connect to Facebook Chat via Thunderbird however, I am unable to connect. I have gone into Facebook to verify and re-verify my password and have also tried multiple variations of my "u
-
Hi All, I want to understand the behaviour of transient attribute in Read-only VO. 1. I have created a read only VO (Read-only access through SQL query). 2. Added a transient boolean attribute to the read only VO with always updatable. 3. Created a t
-
How do I delete iPhoto 2 to install iPhoto 6
I don't want to miss anything when I take iPhoto 2 out. I will save all my pics on a CD and/or keep them all on my SD card where they are now and have been put in iPhoto 2. So, what I'm saying is that I don't need to save any pics in iPhoto 2 since t