Cl_abap_typedescr= describe_by_name and field length
Hello,
When I run the method cl_abap_typedescr=>describe_by_name('MARA') on ECC6, the method works properly but the type definition for the field is wrong.
For example the method returns <b>mara-mandt type c length 6 instead of 3</b>. <i></i>
Is this normal ?
Hello Sudha,
I don't see any output_lenght parameter, here is my code
table ?=
cl_abap_typedescr=>describe_by_name( p_table ).
tableDetails[] = ref_table_des->components[].
p_table is a selection parameter.
Do you see anything wrong ?
Similar Messages
-
Hello,
I have to make some form validation, and wanted to know if isvalid is enough to prevent buffer overflow errors, or should I check length of form field server side.
Thanks!You can also use the IsNumeric() function to make sure that your form data that is numbers is a correct number.
This actually can go a long way to preventing the dreaded SQL Injection attack on your web application. You can also use the IsValid() function to validate that a number is an integer, and also use IsValid with the range option to restrict your numeric types to a specified range, which helps prevent a buffer overflow attack on your web application.
Use the IsDefined() function as well to verify that the form element actually exists after the Submit. IsDefined works a little differently than IsNumeric, here are the valid ways to use these functions, note that with IsDefined the variable name must be enclosed in Quotes.
IsNumeric(FORM.Name) - correct
IsDefined("FORM.Name") - correct
IsNumeric("FORM.Name") - not correct
IsDefined(FORM.Name) - not correct
As a general rule, web forms should be validated on the client side first with Javascript, and also on the server side with your scripting language when the form is submitted, with server side languages like ColdFusion, ASP.NET, or PHP. Having both client and server validation goes along way to protect your website from malicious activities.
Michael G. Workman
[email protected] -
Hi,
I am using cl_abap_typedescr=>describe_by_name to get the length and field names of a table. But it is returning incorrect values for length. For example, all character fields and numc fields contain double the correct length
REPORT ZCA_BOB_CL_ABAP_STRUCTDESCR.
PARAMETERS P_TABNAM type TABNAME OBLIGATORY.
Data: wa_spfli type spfli,
r_descr type REF TO cl_abap_structdescr,
wa_comp TYPE abap_compdescr.
** Create references to the needed ALV Global Classes
data: lr_events type ref to cl_salv_events_table.
data: gr_table type ref to cl_salv_table.
Data: r_grid TYPE REF TO cl_salv_table.
data: r_title_text TYPE REF TO cl_alv_variant,
r_grid_title TYPE LVC_TITLE.
Data: abap_compdescr_tab TYPE STANDARD TABLE OF abap_compdescr
WITH KEY name.
START-OF-SELECTION.
** ?= means cast
** r_descr ?= cl_abap_typedescr=>describe_by_data( wa_spfli ).
r_descr ?= cl_abap_typedescr=>describe_by_name( P_TABNAM ).
Loop at r_descr->components into wa_comp.
* write:/ wa_comp-name, wa_comp-type_kind, wa_comp-length,
* wa_comp-decimals.
append wa_comp to abap_compdescr_tab.
EndLoop.Hello Bob
Below is the output of your report run on a 4.6c system:
Structure WA_SPFLI:
MANDT C 3 0
CARRID C 3 0
CONNID N 4 0
COUNTRYFR C 3 0
CITYFROM C 20 0
AIRPFROM C 3 0
COUNTRYTO C 3 0
CITYTO C 20 0
AIRPTO C 3 0
FLTIME I 4 0
DEPTIME T 6 0
ARRTIME T 6 0
DISTANCE P 5 4
DISTID C 3 0
FLTYPE C 1 0
PERIOD b 1 0
4.6c = non-Unicode
Your system = Unicode
Thus, the length is apprently the length in bytes.
Simply check and RFC destination (SM59) using button "Unicode Test". You will get the following message on an Unicode system:
Target is a unicode system (character size 2)
Regards
Uwe -
Dears :
i use cl_abap_typedescr=>describe_by_name( tabname ) to create a new structure type. The parameter tabname could be 'MARA' .
and now i want to append a new field such as 'ZTEST' to this structure, is this possible ?
ths in advance!Hi,
This is possible, Use get_components method to get the list of components
Then once yout get this list add one more component to this list.
Then use this list to create your strucutre using the method create.
See the below code.
DATA: lr_rtti_struc TYPE REF TO cl_abap_structdescr.
DATA: lt_comp TYPE cl_abap_structdescr=>component_table.
DATA: ls_comp LIKE LINE OF lt_comp.
lr_rtti_struc ?= cl_abap_structdescr=>describe_by_data( wa_data ).
lt_comp = lr_rtti_struc->get_components( ).
LOOP AT it_elements INTO wa_element.
ls_comp-name = wa_element.
ls_comp-type = cl_abap_elemdescr=>get_string( ).
APPEND ls_comp TO lt_comp.
ENDLOOP.
CALL METHOD cl_abap_structdescr=>create
EXPORTING
p_components = lt_comp
p_strict = abap_false
RECEIVING
p_result = lr_rtti_struc.
Regards,
Sesh
Message was edited by:
Seshatalpasai Madala -
Sender File Adapter. Fixed Lengths and Field Separator
Hello guys,
I have a doubt in Sender File Adapter with Content Conversion.
I have a text file like:
a,b,c,,e
I have the configuration in the adapter:
Register.fieldNames: a,b,c,d,e
Register.fieldSeparator: ,
The question I have is can I format the length of the text when i create the XML?
I woul like to create the XML like:
<Row>
<Register>
<a>a </a>
<a>b </a>
<a>c </a>
<a> </a>
<a>e </a>
</Register>
</Row>
I would like that when I create the file in Field A I have length = 4, but I have only 1 in the entry, and I want to fill the rest of the length with spaces.
I tried with FieldFixedLengths but when I test it the fields are not being formatted and take the commas as part of the field.
I know that this can be done in Receiver File Adapter, you leave for example one field of 5 length and you format it to 12 length with spaces.
Is this possible for Sender File ADapter?
Many thanks.
Regards,
Xavi.hi,
See the example given in this bog, in this blog the string has been splited into different fields as per the field length, so you may use the same concept to get your output.
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
I hope it helps you.
Regards,
Sarvesh -
i am trying to generate purchase order and i create a BAPI also which is active.
But when i call the BAPI from SYbase Mobile Object RFC then after calling it gives an Error "Conflict when calling a Function Module (Field Length)".Hi,
Yeah i tried my Z_BAPI in R3 and then giving some ERROR.
This is my CODE-
FUNCTION ZBAPIPOTV2.
*"*"Local Interface:
*" IMPORTING
*" VALUE(POHD) TYPE ZPOHD OPTIONAL
*" VALUE(POITEM) TYPE ZPOITEM OPTIONAL
*" TABLES
*" RETURN STRUCTURE BAPIRET1 OPTIONAL
data: ls_pohd type bapimepoheader,
ls_pohdx TYPE bapimepoheaderx,
lt_poit TYPE TABLE OF bapimepoitem,
lt_poitx TYPE TABLE OF bapimepoitemx,
ls_poit TYPE bapimepoitem,
ls_poitx TYPE bapimepoitemx.
MOVE-CORRESPONDING pohd to ls_pohd.
MOVE-CORRESPONDING poitem to ls_poit.
ls_pohdx-comp_code = 'x'.
ls_pohdx-doc_type = 'x'.
ls_pohdx-vendor = 'x'.
ls_pohdx-purch_org = 'x'.
ls_pohdx-pur_group = 'x'.
ls_poit-po_item = '00010'.
APPEND ls_poit to lt_poit.
ls_poitx-po_item = '00010'.
ls_poitx-po_itemx = 'x'.
ls_poitx-material = 'x'.
ls_poitx-plant = 'x'.
ls_poitx-quantity = 'x'.
APPEND ls_poitx to lt_poitx.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
POHEADER = ls_pohd
POHEADERX = ls_pohdx
* POADDRVENDOR =
* TESTRUN =
* MEMORY_UNCOMPLETE =
* MEMORY_COMPLETE =
* POEXPIMPHEADER =
* POEXPIMPHEADERX =
* VERSIONS =
* NO_MESSAGING =
* NO_MESSAGE_REQ =
* NO_AUTHORITY =
* NO_PRICE_FROM_PO =
* PARK_COMPLETE =
* PARK_UNCOMPLETE =
* IMPORTING
* EXPPURCHASEORDER =
* EXPHEADER =
* EXPPOEXPIMPHEADER =
TABLES
RETURN = return
POITEM = lt_poit
POITEMX = lt_poitx
* POADDRDELIVERY =
* POSCHEDULE =
* POSCHEDULEX =
* POACCOUNT =
* POACCOUNTPROFITSEGMENT =
* POACCOUNTX =
* POCONDHEADER =
* POCONDHEADERX =
* POCOND =
* POCONDX =
* POLIMITS =
* POCONTRACTLIMITS =
* POSERVICES =
* POSRVACCESSVALUES =
* POSERVICESTEXT =
* EXTENSIONIN =
* EXTENSIONOUT =
* POEXPIMPITEM =
* POEXPIMPITEMX =
* POTEXTHEADER =
* POTEXTITEM =
* ALLVERSIONS =
* POPARTNER =
* POCOMPONENTS =
* POCOMPONENTSX =
* POSHIPPING =
* POSHIPPINGX =
* POSHIPPINGEXP =
* SERIALNUMBER =
* SERIALNUMBERX =
* INVPLANHEADER =
* INVPLANHEADERX =
* INVPLANITEM =
* INVPLANITEMX =
ENDFUNCTION.
i am trying to generate purchase order and i create a BAPI also which is active. But when i call the BAPI from SYbase Mobile Object RFC then after calling it gives an Error "Conflict when calling a Function Module (Field Length)". -
I am trying to extend the field length for colun lei_information 3 from 16 characters to 30 characters in the table hr_location_extra_info_lei, but cannot seem to do this. Can the length be changed and if so how?
Many thanks
LouiseHi Louise,
All the "lei_informationX" columns in hr_location_extra_info table are of size VARCHAR2(150) (Oracle EBS R12).
So I understand why you're saying it's limited to 16 characters.
May it's only a question of your setup limiting it to 16 car., in which case you can easily change it to 30 by unfreezing the DFF and modifying it.
Regards,
Rajen -
CL_ABAP_TYPEDESCR - DESCRIBE_BY_DATA field length is doubled
I have a custom program developed on Non Unicode system, that is using CL_ABAP_TYPEDESCR -> DESCRIBE_BY_DATA to get field lengths of the fields in a structure. The code works perfectly file on Non Unicode system where it is developed, However when the same code is imported on a UNICODE system the field lengths of the fields in the same structure are exactly doubled. Anybody has any idea, why this may be happening?
> However when the same code is imported on a UNICODE system the field lengths of the fields in the same structure are exactly doubled. Anybody has any idea, why this may be happening?
Yes - because Unicode uses two bytes to represent ONE character.
Markus -
Field lengths in unicode system.
Hi gurus,
I am creating a dynamic internal table. To get the structure of DDIC table at run time i use the following code to create field catalog:
DATA : idetails TYPE abap_compdescr_tab,
xdetails TYPE abap_compdescr.
DATA : xfc TYPE lvc_s_fcat,
ifc TYPE lvc_t_fcat.
ref_table_des ?=
cl_abap_typedescr=>describe_by_name( p_ztab_name ).
idetails[] = ref_table_des->components[].
LOOP AT idetails INTO xdetails.
CLEAR xfc.
xfc-fieldname = xdetails-name .
xfc-datatype = xdetails-type_kind.
xfc-inttype = xdetails-type_kind.
xfc-intlen = xdetails-length.
xfc-decimals = xdetails-decimals.
APPEND xfc TO ifc.
ENDLOOP.
The xdetails-length is doubled in a unicode system.
However it is correct as field length of table in non-unicode system.
I am then writing the data from internall table to file using
OPEN DATASET ld_fullpath FOR OUTPUT IN TEXT MODE ENCODING UTF-8
For ex. a numeric field in the file are written as 00 when its actual value in table is 0.
Please suggest how to solve this problem?
Should i build field catalog in some other way.
Assured points for helpful answers.
Regards,
AbhishekHi,
use this function module to get the filed info.
DATA:lta_dfies type dfies occurs 0 with header line.
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
TABNAME = TABLE
TABLES
DFIES_TAB = lta_dfies.
loop at lta_dfies.
if (condition to get required).
perform build_fcat.
endif.
endloop.
form build_fcat.
CLEAR xfc.
xfc-fieldname = lta_dfies-FIELDNAME .
xfc-datatype = lta_dfies-DATATYPE.
xfc-inttype = lta_dfies-inttype.
xfc-intlen = lta_dfies-INTLEN.
xfc-decimals = lta_dfies-decimals.
APPEND xfc TO ifc.
endform.
rgds,
bharat.
Message was edited by:
Bharat Kalagara -
Hello Everyone,
Can somebody explain what is happening
in this part of the code. Below the complete code.
ref_descr ?= cl_abap_typedescr=>describe_by_name( p_table ).
it_details[] = ref_descr->components[].
One more request, what are these structures
abap_compdescr_tab, abap_compdescr, cl_abap_structdescr, lvc_s_fcat are these tables? Please kindly let me know
data : it_details type abap_compdescr_tab,
wa_details type abap_compdescr.
data : ref_descr type ref to cl_abap_structdescr.
data: new_table type ref to data,
new_line type ref to data,
wa_it_fldcat type lvc_s_fcat.
ref_descr ?= cl_abap_typedescr=>describe_by_name( p_table ).
it_details[] = ref_descr->components[].
loop at it_details into wa_details.
clear wa_it_fldcat.
if wa_details-name = 'TIMESTMP'.
wa_it_fldcat-fieldname = wa_details-name.
wa_it_fldcat-datatype = wa_details-type_kind.
wa_it_fldcat-inttype = wa_details-type_kind.
wa_it_fldcat-intlen = r.
wa_it_fldcat-decimals = wa_details-decimals.
append wa_it_fldcat to it_fldcat.
append wa_it_fldcat-fieldname to it1.
else.
wa_it_fldcat-fieldname = wa_details-name.
wa_it_fldcat-datatype = wa_details-type_kind.
wa_it_fldcat-inttype = wa_details-type_kind.
wa_it_fldcat-intlen = wa_details-length.
wa_it_fldcat-decimals = wa_details-decimals.
append wa_it_fldcat to it_fldcat.
append wa_it_fldcat-fieldname to it1.
endif.
endloop.
Thanks
KrishnaHello Krishna
The static method cl_abap_typedescr=>describe_by_name returns an instance of type CL_ABAP_TYPEDESCR.
This class is a superclass of CL_ABAP_STRUCTDESCR (the inheritance hierarchy is:
CL_ABAP_TYPEDESCR -> CL_ABAP_DATADESCR -> CL_ABAP_COMPLEXDESCR -> CL_ABAP_STRUCTDESCR).
In the statement
ref_descr ?= cl_abap_typedescr=>describe_by_name( p_table ).
it_details[] = ref_descr->components[].
we have a widening cast ('?=') from CL_ABAP_TYPEDESCR (returned value) to CL_ABAP_STRUCTDESCR (descr_ref variable).
Now <i>p_table</i> represents a structure (like 'SFLIGHT'). The components of this structure, i.e. the table fields, are found in the public attribute ref_descr->components.
Please note that it is unnecessary to write
ref_descr->components<b>[]</b>
because in ABAP-OO it is not allowed to use itabs with header lines but exclusively table types.
The other classes (like cl_abap_typedescr, cl_abap_compdescr) are used to get the runtime type information (RTTI) of different DDIC objects.
Regards
Uwe -
The type and the length of the members of the structures
I am making the BC-XAL program.
Reading `XAL_Interface_Documentation_11.pdf', now I succeeded in "Reading All Saved Monitor Sets" and "Reading All Monitors of a Monitor Set". but I can't find the type and the length of the member of the Structure BAPITNDEXT, so I cannot get the Monitoring Tree of a Monitor.
where can I get any documents or information ?This is how it looks in my 46c system.
MTSYSID SYSYSID CHAR 8 0R/3 System, name of R/3 System
MTMCNAME ALMCNAME CHAR 40 0Alert: name of monitoring context
MTNUMRANGE ALTIDNUMRG CHAR 3 0Alert: monitoring type number range (perm., temp, ...)
MTUID ALTIDUID CHAR 10 0ALert: Unique Identifier for Monitoring Types (used in TID)
MTCLASS ALTIDMTCL CHAR 3 0Alert: monitoring type class (perf., single msg.,...)
MTINDEX ALTIDINDEX CHAR 10 0Alert: internal handle for TID
EXTINDEX ALTIDINDEX CHAR 10 0Alert: internal handle for TID
ALTREENUM ALTREENUM INT4 10 0Alert: MT Tree info: Number of tree
ALIDXINTRE ALIDXINTRE INT4 10 0Alert: Tree Info: Index of MT in Tree
ALLEVINTRE ALLEVINTRE INT4 10 0Alert: Tree Info: Level of MTE in Tree
ALPARINTRE ALPARINTRE INT4 10 0Alert: Tree Info: Index of Parent of MT in Tree
OBJECTNAME ALMOBJECT CHAR 40 0Alert: Name of Monitoring Object
MTNAMESHRT ALMTNAMESH CHAR 40 0Alert: Short Name of Monitoring Type
CUSGRPNAME ALCUSGROUP CHAR 40 0Alert: Customization: Name of Customization Group
DELIVERSTA ALDELIVSTA INT4 10 0Alert: MT Val: Delivery Status
HIGHALVAL ALVALUE INT4 10 0Alert: alert value (1 = green, 2 = yellow, ....)
HIGHALSEV ALSEVERITY INT4 10 0Alert: severity (alerts, monitoring type custom..)
ALSYSID SYSYSID CHAR 8 0R/3 System, name of R/3 System
MSEGNAME ALMSEGNAME CHAR 40 0Alert: name of monitoring segment
ALUNIQNUM ALAIDUID CHAR 10 0Alert: Unique Identifier to be used in AID (char10)
ALINDEX ALINDEX CHAR 10 0Alert: internal handle
ALERTDATE ALDATE DATS 8 0Alert: date
ALERTTIME ALTIME TIMS 6 0Alert: Time value in timeformat
DUMMYALIGN ALDUMMYC2 CHAR 2 0Alert: Dummy field. Purpose: Alignment of date/time 16 byte
LASTVALDAT ALDATE DATS 8 0Alert: date
LASTVALTIM ALTIME TIMS 6 0Alert: Time value in timeformat
LASTVALDUM ALDUMMYC2 CHAR 2 0Alert: Dummy field. Purpose: Alignment of date/time 16 byte
ACTUALVAL ALVALUE INT4 10 0Alert: alert value (1 = green, 2 = yellow, ....)
ACTUALSEV ALSEVERITY INT4 10 0Alert: severity (alerts, monitoring type custom..)
VALSYSID SYSYSID CHAR 8 0R/3 System, name of R/3 System
VMSEGNAME ALMSEGNAME CHAR 40 0 Alert: name of monitoring segment
VALUNIQNUM ALAIDUID CHAR 10 0 Alert: Unique Identifier to be used in AID (char10)
VALINDEX ALINDEX CHAR 10 0 Alert: internal handle
VALERTDATE ALDATE DATS 8 0 Alert: date
VALERTTIME ALTIME TIMS 6 0 Alert: Time value in timeformat
VALERTDUM ALDUMMYC2 CHAR 2 0 Alert: Dummy field. Purpose: Alignment of date/time 16 byte
COUNTOFACT ALCNTACTAL INT4 10 0 Alert: MT Val: Count of active Alerts
COUNTSUM ALCNTSUMAL INT4 10 0 Alert: MT Val: Sum of Alerts in MT
VISUSERLEV ALVISILEVL INT4 10 0 Alert: MTE type dev cust: Visible on user level (op,exp,dev)
TDSTATUS ALTDSTATUS INT4 10 0
Alert: MT: Type Def Status
Welcome to SDN.
Regards,
Rich Heilman -
Output field length issue in OO ALV
Hello Experts,
I have an requirement to download ALV grid output into Excel but some of columns having more than 128 characters, as per standard SAP will not support so I have included one more button and I have written the below code.
field-symbols: <fs_table> type standard table,
<fs_wa>.
* Get the current fields of the layout
CALL METHOD ALV_GRID->GET_FRONTEND_FIELDCATALOG
IMPORTING
ET_FIELDCATALOG = it_fcat.
* Generate dynamic internal table
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = it_fcatn
IMPORTING
EP_TABLE = dyn_table
assign dyn_table->* to <fs_table>.
create data dyn_line like line of <fs_table>.
assign dyn_line->* to <fs_wa>.
loop at lt_final into ls_final.
if ls_final-EBELP is not INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = ls_final-EBELP
IMPORTING
OUTPUT = ls_final-EBELP.
endif.
MOVE-CORRESPONDING ls_final to <fs_wa>.
append <fs_wa> to <fs_table>.
endloop.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = FULLPATH
FILETYPE = 'DAT'
WRITE_FIELD_SEPARATOR = 'X'
CONFIRM_OVERWRITE = 'X'
TABLES
DATA_TAB = <fs_table>
FIELDNAMES = LT_HEADING
Now my problem is some of field output value getting truncated(in excel) but it displayed in Grid output.
eg.
lt_final having one text field(Doc. Type description) and the length is 20, actually printing 17 characters but we are not defining the output length.
Can you please anyone faced the problem earlier? Basically the SAP version is R/3 4.7.
Regards,
Vadamalai AHello All,
Before calling CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
we can define the length
WHEN 'BATXT'. wa_fcatn-OUTPUTLEN =
20.
Regards,
Vadamalai A.
We can close this thread. -
Changing field length of a standard field in standard table VBEP
Hi,
Please advice the possibility and the possible repercussions of changing field lengths in a standard table. Table in concern is VBEP.
Thanks & Rgds,
PradeepNo you cannot change the field length
thanks
G. Lakshmipathi -
R/3 Field length 80, BW field max allowed 60
Hi all,
Field ABC is in R/3 production system.
Its length is 80(CHAR).
This field data is now to be extracted to BW.
It is used in extract program and updated to an extract table(R/3), then this has be loaded into a master load(BW).
But in BW the field length allowed is 60(Max).
So how to get in this 80 char data into BW??
Please let me know in detail.
Also please share links pertaining to this if possible.
Thanks,
SowrabhHi Sowrabh,
Create two Infoobjects one with length 60 and one with length 20.
Now in transfer rules write routines for both.
IOB1 = <r/3 field>+0(60)
IOB2 = <r/3 field>+60(20)
Regards,
Mansi
Edited by: mansi dandavate on Apr 23, 2009 6:23 PM -
CATT - vendor/customer master address field length over
Dear all,
when use CATT to record vendor/customer master,the address some fields length are over recorded field length(ex. ADDR1_DATA-NAME4,ADDR1_DATA-STR_SUPPL3...etc)
is there any config in CATT to solve this kind of problem?When you are doing your LSMW batch input recording, on selection screen (where you specify the sales org, distribution channel, division, account group, etc) please put a flag on "Use central address management" checkbox (SAPMF02D 0100 > USE_ZAV).
In this case you should be able to see and fill the desired fields.
Maybe you are looking for
-
Can´t connect to database
I am using windows XP and SQL developer 1,5 and I cant connect to any database. When I start SQL developer the error message I get is: Exception initializing 'oracle.dbtools.raptor.RaptorDBAddin' in extension 'Oracle SQL Developer': java.lang.Excepti
-
Purchase Requisition Release Strategy ---- help required urgently.
Hello all, I have one severe problem in PR release strategy. Whenever we create a PR the Release is triggering but the name of the processer who will release this PR is not triggering. I have done the PO13, where the HR positions are maintained as pe
-
Color settings between the Mini and Dell monitor
I got my new Mac Mini Intel Solo yesterday and hooked it up to my Dell 20" widescreen flat-panel. As soon as my screen popped up, the color scheme was waaaay off. It was too red. So I messed with all different kinds of color settings on the monitor i
-
How to delete game data in game center Mac OS X?
I have been playing the game Kim Kardashian Hollywood in my iPhone and long before that I had downloaded it on my computer and played a while but deleted it. This month I installed it in my phone again and started over. I decided to install it in my
-
I am trying to update my plugin so I can open CR2 Raw files from a Canon G15 in photoshop. How do I do this? I followed the updates under the help drop down and eventually I was brought here. Sub question: Will updating this plug in actually help me