Conversion Exit is called twice
Hi all,
I have a database table which I load into my context and display in an ALV.
For one of the field, it seems that the conversion exit is called twice.
Once when the data is loaded into the context, and once when it is displayed in the ALV. Is there are way to tell the ALV that is shall ignore conversion exists at all?
Best regards,
Daniel
hi,
just ignore the binding to the dictionary of the special field in the context and make it as type string or something else...
Similar Messages
-
Short Dump DYNPRO_MSG_IN_HELP in Conversion Exit
Hi Gurus,
I've written the following conversion exit:
FUNCTION CONVERSION_EXIT_ZBZEI_INPUT.
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(INPUT)
*" EXPORTING
*" VALUE(OUTPUT)
*" EXCEPTIONS
*" INPUT_NOT_VALID
DATA : CPI_OUT(4) type n, CPI_IN(5), cpi_in2(5), cpi_in3(5).
DATA : CPI_YEAR(4), CPI_PERIOD(3).
DATA : CPI_NUM2(2) TYPE N.
DATA : CPI_NUM3(2) TYPE N,
index(2) type n,
index2(2) type n,
merker(1).
DATA : CPI_C8, CPI_C7, CPI_C6, CPI_C5.
DATA: SONDERZ. "nimmt das Trennungszeichen auf
*-initializations-----------------------------------------------------*
check not input is initial.
CPI_IN2 = INPUT.
CLEAR : cpi_in, cpi_in3, cpi_out, OUTPUT, index, index2, merker,
cpi_num2, cpi_num3.
do.
if cpi_in2+index(1) co '0123456789' and merker ne 'X'.
cpi_in+index2(1) = cpi_in2+index(1).
add 1 to index2.
endif.
if cpi_in2+index(1) = ':'.
merker = 'X'.
clear index2.
endif.
if cpi_in2+index(1) co '0123456789' and merker = 'X'.
cpi_in3+index2(1) = cpi_in2+index(1).
add 1 to index2.
endif.
add 1 to index.
if index = 5.
exit.
endif.
enddo.
if cpi_in3 is initial.
cpi_out = cpi_in.
else.
cpi_num2 = cpi_in.
cpi_num3 = cpi_in3.
cpi_out(2) = cpi_num2.
cpi_out+2(2) = cpi_num3.
endif.
if cpi_out(2) > 23.
message e000 raising input_not_valid.
endif.
if cpi_out+2(2) > 59.
message e001 raising input_not_valid.
endif.
output = cpi_out.
* output+2(2) = cpi_in+3(2).
endfunction.
The problem is when the user inputs an invalid value and presses directly after this F4 the conversion exit will call and I get the short dump DYNPRO_MSG_IN_HELP when I trigger the error message.
Is there any way to know that the program is in value-request? Maybe a system field? Can I catch this error?
Thanks for help.
LarsHello Lars,
refering to OSS 84510 SAP does not allow error messages in this environment. However, to find out if you are in a F4- context you can use the kernel function 'DY_GET_DYNPRO_EVENT'
data: event(3).
"check if we are in F4 environment
call 'DY_GET_DYNPRO_EVENT' id 'EVENT' field event.
if sy-subrc <> 0 or ( event <> 'PAI'
and event <> 'INP' )."PAI also POV
" not F4 help
message e000 raising input_not_valid.
else.
"F4 help -> only S message
message s000 display like 'E' raising input_not_valid.
endif.
Kind regards, miro -
Web Dynpro ABAP: Assigning of Conversion Exits in ALV
Hi,
We are currently developing a generic data display application using ALV technology in Web Dynpro ABAP. "Generic" means that the structure of the data is created dynamically during runtime (using RTTS) and that even the contained data elements are created dynamically without any relation to DDIC. The generation is based on metadata like field name, data type, length, decimals, conversion exit.
Our problem is that we were not able to find a way to assign the conversion exit of a data element ("column") in Web Dynpro ALV. Without this feature, no output conversions will take place since the data elements have no relation to DDIC. In the "classical" ALV, this could be easily done using method SET_EDIT_MASK of class CL_SALV_COLUMN.
Is there a similar method in WebDynpro ALV or at least an alternative approach to assign a conversion exit to a column or cell?
Thanks for your help in advance.
Best Regards,
SvenHello Sven Hader,
As you said you are generatiing the metadata like field name, data type, length, decimals, conversion exit dynamically.
Can you please let me know how you are diong this?
Meanwhile, you can try this approach to assign a Conversion exit to ALV Table column attribute dynamically.
DATA: lv_data TYPE dd04v,
lv_mode_ext2int type ESEBOOLE. "Conversion mode that you are in
read the data from the database
CALL FUNCTION 'DDIF_DTEL_GET'
EXPORTING
name = lv_ddobjname
state = iv_object_state
langu = iv_langu
IMPORTING
dd04v_wa = lv_data
EXCEPTIONS
illegal_input = 1
OTHERS = 2.
CHECK NOT lv_data-convexit IS INITIAL.
CONCATENATE 'CONVERSION_EXIT_' lv_data-convexit '_INPUT'
INTO cl_im_imp_ehs_material_erp=>mv_conversion_exit_input.
CONCATENATE 'CONVERSION_EXIT_' lv_data-convexit '_OUTPUT'
INTO cl_im_imp_ehs_material_erp=>mv_conversion_exit_output.
IF lv_mode_ext2int = 'X'.
ASSIGN cl_im_imp_ehs_material_erp=>mv_conversion_exit_input
TO <lv_funcname>.
ELSE.
ASSIGN cl_im_imp_ehs_material_erp=>mv_conversion_exit_output
TO <lv_funcname>.
ENDIF.
(3) call the conversion exit
CHECK <lv_funcname> IS ASSIGNED.
TRY.
CALL FUNCTION <lv_funcname>
EXPORTING
input = iv_value
IMPORTING
output = ev_value.
IF sy-subrc <> 0.
ENDIF.
CATCH cx_sy_dyn_call_illegal_func
cx_sy_dyn_call_illegal_type
cx_sy_dyn_call_param_missing
cx_sy_dyn_call_param_not_found. "#EC NO_HANDLER
ENDTRY.
Endif.
I hope it should work.
Thanks,
Bharath.K
Edited by: Bharath Komarapalem on Dec 16, 2008 2:47 PM -
ECC6 - ALV Grid Output Conversion Exit
Hi,
I'm creating a program in ECC6 to display the report in ALV grid by called FM: REUSE_ALV_GRID_DISPLAY.
EG: Select field (TPLNR) from table IFLOT. Value retrieved are: ?0100000000000000029. However, the output doesnt do the conversion exit to change the TPLNR value to format MY.FO.001.
I did the same in 4.6C system, the ALV report able to display the correct value of TPLNR. Eg: MY.FO.001 instead of
?0100000000000000029.
If anyone encountered the same issues in ECC6 system which In an ALV grid, it doesnt to display data that is based on a domain with a conversion exit?Hi Simone,
Check this NO_CONVEXT in the Structure LVC_S_FCAT. Populate with SPACE in the FCAT Build.
If you have conversion Exit to that field then use the CONVEXIT in the same structure while building Field Catalog. sometimes you have Z converions so you need to check this.
If you a Table field in the FCAT then you dont need all these things. because conversion exits are automatically done. Also COL_OPT = 'X' this will align the ALV in the correct format for output. hope this helps. -
Function Module to retrive conversion exit function module names based on conversion routine
Hi All,
Can you people help me out in finding a function module, which takes conversion routine name as input and gives all the conversion exit function modules as output.
Thanks and Regards,
Shivaraj Naik.Curious, I looked for the way SAP do the job in SE11, and they also use the CONCATENATE option...
From Include LSD11F01 Form OBJ_GOTO
* Objektspezifische Navigationsziele
* --> GOTOID Kennung für Navigationsziele
* --> DDNAME Dictonary-Name
form obj_goto using gotoid type gotoid
ddname.
case gotoid.
when 'CNVE'. "Konvertierungsexit zu Domäne
data: wb_request type ref to cl_wb_request.
data: fb_name like tfdir-funcname
value 'CONVERSION_EXIT_'.
concatenate fb_name ddname '*' into fb_name.
condense fb_name.
* Request für Infosystem erzeugen
class cl_wb_infosystem definition load.
call method cl_wb_infosystem=>create_request
exporting
p_object_type = 'FF'
p_object_name = fb_name
p_operation = swbm_c_op_search
p_suppress_selection = 'X'
p_show_as_popup = 'X'
importing
p_wb_request = wb_request
exceptions
action_cancelled = 1
execute_in_batch = 2
error_occured = 3.
Regards,
Raymond -
Hi all
In my report program, i am calling a conversion exit dynamically(i.e) the name of the conversion exit for a particular data type is generated accordingly.
The data is converted by the conversion exit to the specified format( i used MATNR)
for a value 3 it converted to 000000000000000003 (which is the proper format for MATNR).
but still i am not able to fetch values on the basis of this.
But if in my select option i pass the value of MATNR as 000000000000000003 directly, the correct data is fetched.
Note: For all other fields (such as ebeln, correct data is fetched, so it rules out any problems with the select query)
Plz help.
Thanks & Regards
Ravish Garg<b>* select statement to get the conversion exit name for the field *</b>
select convexit
into varconv_exit
from dd01l
where domname = vardomname.
endselect.
<b>
if conversion exit found for a field *</b>
concatenate 'CONVERSION_EXIT_'
varconv_exit
'_INPUT'
into
varconv_exit.
perform f_conversion_exit
using p_table
p_field
varconv_exit:
changing s_range-low,
s_range-high.
<b>&----
*& Form f_conversion_exit
text
<--P_S_RANGE_LOW text
<--P_S_RANGE_HIGH text
----</b>
form f_conversion_exit using p_tabname
p_fname
p_convexit
changing p_value1.
call function p_convexit
exporting
input = p_value1
importing
output = p_value1
exceptions
length_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.
endform. " f_conversion_exit
<b>&----
*& Form get_data
text
--> p1 text
<-- p2 text
form get_data .</b>
select * into corresponding fields of table <dyn_table>
from (p_table) where (it_where) .
if sy-dbcnt = 0.
write :/ 'No Data matching Your Criteria!'.
leave program.
endif.
endform. " get_data
When i put matnr in the filed name and a value for it,
it gets the right conversion exit name : "CONVERSION_EXIT_MATN1_INPUT" for matnr. -
Hi all,
Can anyone send me a example having 'CONVERSION_EXIT_ALPHA_INPUT'
and 'CONVERSION_EXIT_ALPHA_OUTPUT' functions.So i can understnad how to use it.
Regards,
Swati gargHi Swathi,
I f you go through this report you can get to know the usage of the conversion exit for the asset number field (anln1) in table ANLA.
*& Report ZASSET_MASTER *
*& Purpose : Report to display the master details of Assets
REPORT zasset_master LINE-SIZE 1023
NO STANDARD PAGE HEADING.
TABLES: anla, anlz, zasset_master, zasset_transfer.
TYPE-POOLS: slis.
DATA : fieldcat TYPE slis_fieldcat_alv, " FIELD CATOLOG
fieldcat_t TYPE slis_t_fieldcat_alv, " FIELD CATOLOG
pos TYPE sy-tabix, " POSITION FOR FIELDCAT
name TYPE sy-repid, " NAME OF THE REPORT
sort TYPE slis_sortinfo_alv, " SORTING ITAB
sort_t TYPE slis_t_sortinfo_alv, " SORTING ITAB
top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE',
user_command TYPE slis_formname VALUE 'USER_COMMAND'.
DATA : BEGIN OF it_main OCCURS 0,
bukrs TYPE anla-bukrs, " Company Code
anln1 TYPE anla-anln1, " Asset Number
txt50 TYPE anla-txt50, " Asset Description
anlkl TYPE anla-anlkl, " Asset Class
ktogr TYPE anla-ktogr, " Account Determination
aktiv TYPE anla-aktiv, " Capitalization Date
ord41 TYPE anla-ord41, " Evaluation Group1
ord42 TYPE anla-ord42, " Evaluation Group2
lifnr TYPE anla-lifnr, " Vendor Code
menge TYPE anla-menge, " Quantity
meins TYPE anla-meins, " Unit of measure
invnr TYPE anla-invnr, " Inventory No.
sernr TYPE anla-sernr, " Serial No.
ernam TYPE anla-ernam, " Created By
erdat TYPE anla-erdat, " Created Date
aenam TYPE anla-aenam, " Changed By
aedat TYPE anla-aedat, " Changed Date
gsber TYPE anlz-gsber, " Business Area
kostl TYPE anlz-kostl, " Cost Center
bondno TYPE zasset_master-bondno, " Master Bond No.
boeno TYPE zasset_master-boeno, " Bill of Entry No.
grnno TYPE zasset_master-grnno, " GR No.
zeile TYPE zasset_master-zeile, " GR Line Item No.
pono TYPE zasset_master-pono, " PO No.
prno TYPE zasset_master-prno, " PO No.
currplant TYPE zasset_transfer-currplant, " Curr Plant
currloc TYPE zasset_transfer-currloc, " Curr Location
currseatid TYPE zasset_transfer-currseatid, " Curr seatID
curruser TYPE zasset_transfer-curruser, " Current UserID
sbondno TYPE zasset_transfer-sbondno, " Shift Bond No.
transferdate TYPE zasset_transfer-transferdate," Transfer Date
anlgr TYPE anlb-anlgr, " Group Asset
END OF it_main.
DATA: it_anlz TYPE anlz OCCURS 0 WITH HEADER LINE,
it_zasset_transfer TYPE zasset_transfer OCCURS 0 WITH HEADER LINE,
wa_zasset_master TYPE zasset_master.
DATA: asset_no TYPE zasset_master-assetno.
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_anln1 FOR anla-anln1,
s_anlkl FOR anla-anlkl,
s_bukrs FOR anla-bukrs,
s_gsber FOR anlz-gsber NO INTERVALS NO-EXTENSION,
s_kostl FOR anlz-kostl NO INTERVALS NO-EXTENSION,
s_bondno FOR zasset_master-bondno NO INTERVALS
NO-EXTENSION,
s_boeno FOR zasset_master-bondno NO INTERVALS
NO-EXTENSION,
s_plant FOR zasset_transfer-currplant NO INTERVALS
NO-EXTENSION,
s_loc FOR zasset_transfer-currloc NO INTERVALS
NO-EXTENSION,
s_seat FOR zasset_transfer-currseatid,
s_user FOR zasset_transfer-curruser NO INTERVALS
NO-EXTENSION,
s_ord41 FOR anla-ord41 NO INTERVALS NO-EXTENSION,
s_ord42 FOR anla-ord42 NO INTERVALS NO-EXTENSION,
s_lifnr FOR anla-lifnr,
s_ernam FOR anla-ernam NO INTERVALS NO-EXTENSION,
s_erdat FOR anla-erdat,
s_aenam FOR anla-aenam NO INTERVALS NO-EXTENSION,
s_aedat FOR anla-aedat.
SELECTION-SCREEN END OF BLOCK block1.
START-OF-SELECTION.
SELECT * FROM anla INTO CORRESPONDING FIELDS OF TABLE it_main
WHERE bukrs IN s_bukrs
AND anln1 IN s_anln1
AND anlkl IN s_anlkl
AND ord41 IN s_ord41
AND ord42 IN s_ord42
AND lifnr IN s_lifnr
AND ernam IN s_ernam
AND erdat IN s_erdat
AND aenam IN s_aenam
AND aedat IN s_aedat.
LOOP AT it_main.
select single anlgr from anlb into it_main-anlgr
where anln1 eq it_main-anln1.
SELECT * FROM anlz INTO TABLE it_anlz
WHERE anln1 EQ it_main-anln1.
SORT it_anlz DESCENDING BY adatu.
READ TABLE it_anlz INDEX 1.
IF it_anlz-gsber IN s_gsber AND it_anlz-kostl IN s_kostl
AND it_anlz-werks IN s_plant AND it_anlz-stort IN s_loc
AND it_anlz-raumn IN s_seat AND it_anlz-pernr IN s_user.
MOVE : it_anlz-gsber TO it_main-gsber,
it_anlz-kostl TO it_main-kostl,
it_anlz-werks TO it_main-currplant,
it_anlz-stort TO it_main-currloc,
it_anlz-raumn TO it_main-currseatid,
it_anlz-pernr TO it_main-curruser.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = it_main-anln1
IMPORTING
output = asset_no.
SELECT SINGLE pbondno pboeno pgrnno pzeile ppono pprno
fsbondno ftransferdate
INTO CORRESPONDING FIELDS OF it_main
FROM ( zasset_master AS p INNER JOIN
zasset_transfer AS f ON passetno = fassetno )
WHERE p~assetno EQ asset_no
AND f~transferdate EQ it_anlz-adatu.
IF it_main-bondno in s_bondno and it_main-boeno in s_boeno.
MODIFY it_main.
ELSE.
DELETE it_main WHERE anln1 EQ it_anlz-anln1.
ENDIF.
ELSE.
DELETE it_main WHERE anln1 EQ it_anlz-anln1.
ENDIF.
clear : asset_no, it_anlz.
refresh : it_anlz.
endloop.
SORT it_main BY anln1.
CLEAR : fieldcat_t,pos.
CLEAR fieldcat.
fieldcat-fieldname = 'ANLN1'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Asset No'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'TXT50'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Asset Description'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'ANLKL'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Asset Class'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'MENGE'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Quantity'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'MEINS'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Unit'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'ORD41'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Evaluation Group1'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'ORD42'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Evaluation Group2'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'INVNR'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Inventory No.'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'SERNR'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Serial No'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'BONDNO'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Master Bond No'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'SBONDNO'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Shift Bond No'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'BOENO'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Bill of Entry No'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'AKTIV'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Capitalization Date'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'ANLGR'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Group Asset'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'CURRPLANT'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Plant'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'CURRLOC'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Location'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'CURRSEATID'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Seat ID'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'CURRUSER'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Employee ID'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'BUKRS'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Company Code'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'GSBER'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Business Area'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'KOSTL'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Cost Center'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'LIFNR'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Vendor'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'PRNO'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Purchase Requisition'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'PONO'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Purchase Order'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'GRNNO'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Goods Receipt Note'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'ZEILE'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'GR Line Item No'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
fieldcat-no_zero = 'X'.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'ERNAM'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Created By'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'ERDAT'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Created Date'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'AENAM'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Changed By'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'AEDAT'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Changed Date'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CLEAR fieldcat.
fieldcat-fieldname = 'TRANSFERDATE'.
fieldcat-tabname = 'IT_MAIN'.
fieldcat-seltext_l = 'Last Transfer Date'.
fieldcat-just = 'L'.
fieldcat-col_pos = pos.
pos = pos + 1.
APPEND fieldcat TO fieldcat_t.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_top_of_page =
i_callback_pf_status_set = pf_status_set
i_callback_user_command = user_command
i_grid_title = 'Asset Master Details'
is_layout = layout
it_fieldcat = fieldcat_t
it_sort = sort_t
TABLES
t_outtab = it_main.
*& Form USERCOMMAND
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
CASE ucomm.
WHEN '&IC1'.
READ TABLE it_main INDEX selfield-tabindex.
SET PARAMETER ID 'AN1' FIELD it_main-anln1.
SET PARAMETER ID 'BUK' FIELD it_main-bukrs.
CALL TRANSACTION 'AS03' AND SKIP FIRST SCREEN.
ENDCASE.
ENDFORM. "user_command3
Reward points if the example is useful.
Regards,
Radhu -
Hi,
I have an InfoObject ZPRODUCT1 with ALPHA Conversion Exit in RSD1 definition.In the Infosource and in the DataSource/Trans. Structure TAB when i check for the corresponding field it has some other Conversion exit called 'PRID1' and i couldn't change it.
When i load the data i get the error at the PSA level itself and the message is,
InfoObject /BIC/ZPRODUCT1 does not contain alpa-conforming value 80001909.
How to fix this problem?
Thank you
arunThanks,
I already did that and it worked properly.
Can you explain how come the conversion exit in Data source transfer structure and the InfoObject can be different?How did this worked?
Will i be able to modify the Conversion exit assignment in the infoobject or Data Source/Trans. Structure TAB? How do i do this, it looks display only in RSD1?
Thank you
arun -
Hi All,
I am updating a custom table with insert statement.
The table contains a field which is of type KUNNR which will have conversion exit in the domain level. I am populating that field in the workarea with padded zeros, even then it is updating that field in the table with zeros.
Awaiting your replies..
Thanks,
RaveeHi,
Please check with the below code
tables: ztest.
data: kunnr type kunnr.
kunnr = '0000100008'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = kunnr "pass your internal table
IMPORTING
OUTPUT = kunnr
ztest-kunnr = kunnr.
if sy-subrc = 0.
insert into ZTEST values ztest.
endif.
write:/ kunnr.
Regards,
Sandhya -
Osr calls from bpel are getting called twice in case of error
Hi,
I have a child process that does simple cancatenation of input and a string and reply back.
I have deployed it and published its wsdl in OSR.
I created another bpel process parent that will call the child process through OSR.
When there is error in child process, the parent process is invoking the child process twice.
oracle weblogic server version : 10.3.4
OSR: 11.1.1.4
soa suite: 11.1.1.4
I'm not able to understand why the child process is getting called twice. Ideal scenario should be to raise an error and exit. Also if there are multiple calls like parent1 process have osr call to parent process and parent process have osr call to child process,repetition is happening in a 2x ratio.
Please provide some solution for this.
Thanks.Hi Vijay,
Fault management is not implemented explicitly.
Also, i do not observe this issue when there is no OSR i.e if I have direct wsdl call to child process other than OSR, this issue of repeating twice is not coming.
Is there any configuration changes required in OSR?
Thanks,
Indu -
BPS - No alpha conversion exit or similar provision?
Dear BPS Experts,
In the Flat File that we are loading to BPS Cube (using the HOW-TO Paper in SDN), if User is having a value 100000006 for Customer and value 10200058 for Material then the flat file upload exit fails. It works only when user changes the value for Customer to 000000000100000006 and value for Material to 0010200058.
I believe, you must have understood my point.
PROBLEM 1
In BW, we have Conversion Exits like ALPHA that take care of internal to external format conversion and vice-versa. Unfortunately, in BPS, it seems system expects users to enter values as they exist in the master data tables like P Tables for Characteristics.
QUE 1: Is my above understanding correct?
We have many characteristics (25-30) in our file and I do not want to write a separate Exit to do any conversion like ALPHA, that would really slow down the performance.
PROBLEM 2
We have a field in the file called 'Manager Name'. Now this field can really have any value. It is not possible for us to load master data in BW for this field. If BPS is suffering from this basic limitation then I am afraid, we can not use it for loading flat file. We have to use only BW
QUE 2: Is there any way, by which I can make BPS accept and load transaction data in BPS Cube even if some master data in that file does not exist. If so, then what is the way to go about it?
I am aware of BW means to load Flat File data to BW/BPS Cubes. But we have many compelling reasons to use Planning Folder to load Flat File. Hence, if some expert can advice about overcoming these limitations with BPS then it would be highly appreciated.
PS: I understand, functionally it does not make sense to plan for something which does not exist in master data. Having said so, there can be some exceptional situations and BPS being the sibling of BW, I expected it to have that capacity.
Regards,
Adi
Edited by: Adi Kulkarni on Aug 13, 2009 3:13 PMHi Deepti,
I appreciate your link. That document is very good although it does not solve my problem.
Please note that I am talking about loading a flat file to BPS Cube here and there may be hundreds of values which still do not exist in master data. Your suggested HOW-TO document will be helpful when someone tries to enter data in a planning layout as we do not expect users to enter so many records in planning layout.
I am also aware that we can simply create a Z-Transaction Code (similar to RSD1) to update master data values for a particular InfoObject and Users can be given access to this code. But that is not what I intend to do.
I am looking for a broader and generic solution.
When we load a flat file to BW, we have an option in InfoPackage "Load Transaction Data even if no Master Data exists".. that kind of option or setting really along with something similar to ALPHA Conversion Exits.
Hope my requirement is clearer.
Regards,
Adi
Edited by: Adi Kulkarni on Aug 13, 2009 3:32 PM -
CONVERSION EXIT to remove thousand separator from quantity field
HI
NEED HELP
do u know any FM or CONVERSION EXIT which remove thousand separator from quantity field.
Eg. 1,234,567.11 SHOULD be displayed as 1234567.11Hi Chetanpatil.
Try this:
If your quantity has thousand separator as comma:
translate lv_quantity using ', '.
condense lv_quantity.
If your quantity has thousand separation as dot:
translate lv_quantity using '. '.
translate lv_quantity using ',.'.
condense lv_quantity.
You'll need to check for the user thousand separator configuration in table USR01 field DCPFM or by calling BAPI_USER_GET_DETAIL and act accordingly.
Regards,
Andres. -
Hi,
I am looking for conversion exit to convert menge (Quantity) from 80.000 to
0000000080.000.
regards
arunHi arun,
split lv_qty at '.' into lv_qty13
lv_qty3.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = lV_qty13
IMPORTING
OUTPUT = lV_qty13.
concatenate lv_qty13 lv_qty3 into lv_qty
separated by '.'.
Finally lv_qty will have your required value. plz use the above code. If your problem is solved reward points. don't forget.
Thanks,
Suma. -
Conversion exit for project definition
Hi
I have created a generic extractor to get some data of table PRPS. The project-definition number in this table is in field PSPHI. When you display the result of the extractor in the extractor checker (RSA3) the correct number (e.g. PG5707) is showing, however, when it comes into BW, it is showing the internal number (e.g. 000002). In BW I use this field to populate 0PROJECT, but due to the internal number being sent, I cant use it.
Can anyone please tell me what conversion exit I can call in my extractor to get the external number?
I also notice in SE16 for this table there is a selection in the user parameters to tick under the "Format" section in the data browser tab. If it is not selected, it shows the internal number, but if selected, the external number is displayed. I want to do this in my extractor.
Thanks
KarinHello Karin,
Have a look at these OSS
SAP Note 776990 Conversion exits with string parameters
SAP Note 756662 RSAR 196:InfoObj. contains val. which is not conversion exit
SAP Note 925589 P8:SDL:New DS:Possible problems w/
SAPI conversion exit call
SAP Note 843164 P27:SDL: Problems with conversion exits in the selection tab
SAP Note 557148 Executing conversion exits
SAP Note 497043 P6:SDL:Scheduler selections in fields with conversion exits
SAP Note 1034798 P13:SDL:New DataSource uses incorrect conversion exit
SAP Note 681931 Error due to conversion exits during the file upload
SAP Note 1003431 Error in target fields with conversion exits
SAP Note 374997 SDL: Conversion exits: ABPSN, ABPRJ, ABPSP and MATN1
[Thanks|http://chandranonline.blogspot.com/]
[Chandran|http://chandranonline.blogspot.com/] -
I want to know about the following setting...
SE16 -->settings --> User Parameters --> check conversion exit (check box)
what is this? how it is useful?hi
We use a conversion exit to define a jump to a conversion routine for a column of your output table. As the exit we specify the <conv> part of a function module called CONVERSION_EXIT_ <conv> _OUTPUT .
For example, you can use conversion exit ALPHA (see function module CONVERSION_EXIT_ALPHA_OUTPUT ) to suppress leading zeros of account numbers.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = '00000123'
IMPORTING
OUTPUT = data
Dta will contain 123 as output .
hope this helps
regards
Aakash Banga
Maybe you are looking for
-
TO Display the row data as column in ALV
Hi experts , Need to display the row data in ALV as column. The column of an ALV has the fieldnames of a table , this needs to be displayed as row data , that is as single row. How can this can be achieved?
-
Can no longer send/receive MMS from Non-iPhones
Just recently (after I updated my iPhone 4S to the iOS 7.0.4), I have been unable to send or receive MMS messages from anyone who does not have an iPhone. I've tried to restart my phone and reset my network settings (temporary fix - it'll let me send
-
Can't boot into safe mode or prompt login window, need help.
Hello all, This is cross-posted from the installations and set-up list. Can anyone suggest a remedy for what's ailing this powerbook. its a g4 powerbook, i don't have much more info other than that. all indications are that it is running 10.2.6, alth
-
Adobe Acrobat 9.5.5 Merging Word Files
When I try to merge or (combine supported files in Acrobat..) I get an error, Create Adobe PDF - Missing PDFMaker FIles. Do you want to run the installer in repair mode. Attempted the following to fix the issue without luck... I have tried to run the
-
Error 1935 when installing LabVIEW on Windows 7
Hello, everyone. I'm new to Windows 7 and I need to install LabVIEW 8.5.1 and 2010. The problem is that the installation process (for both versions) gives me a lot of errors related to Microsoft Visual C (code 1935), like the popups attached. What co