PWM with CompactDAQ 9174 on a DO-Module
Hi all
We did a regulation of peltier elements with PWM with a cRio over FPGA on a DO-Module 9477.
We have now a small project with a CompactDAQ 9174 where we would like to regulate such peltier elements. The Frequenze should be at least 5 kHz.
As I found in the forum and the examples, with the intern counter/timer of the cDAQ9174, it is possible to generate a digital pulse train and with the duty cycle also a PWM.
e.g.:
http://forums.ni.com/t5/Counter-Timer/Counter-Output-with-NI-cDAQ-9188/m-p/2218208#M10898
http://digital.ni.com/public.nsf/allkb/ADFC4DD8C9690232862575B70079FBD4
What I could not found, is a way to get a generatet PWM-signal out of the intern cDAQ to a DO-Module (S-Serie) such as NI7477. And I do not see the way to do it.
I have to mention, that I'm not a top-programmer, and I'm sure, that there is somone out there, who already has done this.
Thanks in advance for help
Hannes Wydler
Hi Abduelkerim
Thanks for replaying
As far as I see, the forum discussion you mention, talks about measure PWM (Digital IN).
I found an other forum input (how to pwm out on NI-9477):
http://forums.ni.com/t5/Digital-I-O/how-to-pwm-out-on-NI-9477/td-p/624448
There Application engineer Samantha says, the NI9477 is not a "corelated" digital module and therefor it cannot link to the backplane counter of the cDaq. Others DO-modules could do that (like 9401).
But what we need is the high power of the 9477 (1 Amp per channel - I would connect 3 outputs together for my need of 2.5 Amps).
I don't find in the specifications of the different DO-modules if they are "corelated" modules.
It seems, it's not possible what I want to do - a simple direct mode with the cDAQ to supply and regulate peltier elements.
Hannes
Similar Messages
-
Measure PWM with CRIO Module 9403
Hi,
I'm trying to measure a PWM signal generated by an absolute encoder. The encoder outputs a PWM with a period of approximately 1000 microseconds. This correlates to about 0.4 deg/microsecond.
When I run an FPGA code that has a counter that counts ticks while the PWM is high, the counter takes approximately 265 ticks per loop (and increases when other I/O readings are made) - according to the benchmark timer I've incorporated into the code. This means that the loop requires about 6-7 microseconds to take a reading from the DIO. This correlates to a couple of degrees in resolution which is not a good enough for our application to read from the encoder.
Is there any way to increase the speed of the FPGA? I've included a screenshot of the FPGA code as well as the project containing the test VI.
Attachments:
fpgaproblem.jpg 65 KB
testfpga.zip 21 KBHello NIo33,
Have you benchmark the rate at which the PWM signal is coming in from the NI 9403 module? What type resolution are you trying to achieve? I do not see to many ways to pipeline your FPGA code.
Paul-B
Applications Engineer
National Instruments -
How to create a trigger using 9211 modules with cDAQ-9174?
I am trying to create posttriggered acquisition with an analog trigger using 9211 modules that are reading 4 thermocouples. I would like the data aquisition to start once a temperature of 90 degrees C is reached. I am not sure what I should put for the source of my trigger in my VI. Are these modules capable of using triggers, and if so, how do I go about creating one? Attached is the VI, thanks.
Attachments:
Thermocouple.vi 151 KBThe 9211 doesn't have any analog triggering capabilities. You'll have to implement the trigger in SW (like this example).
Best Regards,
John Passiak -
Read duty cycle of a PWM with DAQ
Hi,
I am doing a test system and I have several signals that control motors. They use PWM with a max frequency of 5 kHz.
I would like to know if with a USB DAQ or a PCI DAQ for example PCI-DIO96 could I meassure the duty cycle of these PWM signals. I mean I need to meassure with 10kHz at least.
Which are the read frequency of these systems?
Due to the high number of I/O to test I am also thinking of using Compact-RIO with different I/O modules. What do you think?
Thanks in advanceIf your PWM frequency is 5 kHz and you want to measure duty cycle to 1%, then you need timing resolution of 2 microseconds or faster.
The USB-6343 has hardware timed DIO at up to 1MHz, so it might be suitable. There are other devices with hardware timed DIO at rates of 10 MHz or faster as well.
Before you buy, determine how often you need to measure the duty cycle to make sure the data transfer can keep up. USB can sometimes be a bottleneck.
Lynn -
I need to generate a PWM signal with a SCXI-1200 connected to a SCXI-1000 chassis. Any ideas of how to do it? I have a routine to generate a PWM to the PCI-6035E, but not for the SCXI.
Thank you,
GuilhermeGuilherme;
You can't do PWM with the counter that is on that module. There is only one register on the SCXI-1200 counter. Everything would be very glitchy and ill-timed.
In case you need to do that on SCXI, you will need a SCXI-1180 feedthrough module. That module allows one to access the unused counters of the DAQ device that controls the SCXI chassis.
Regards
Filipe A.
Applications Engineer
National Instruments -
How to delete the row in table control with respect to one field in module pool programming?
Hi,
Can I know the way to delete the row in table control with respect to one field in module pool programming
Regards
Darshan MSHI,
I want to delete the row after the display of table control. I have created push button as delete row. If I click on this push button, the selected row should get deleted.
I have written this code,
module USER_COMMAND_9000 input.
DATA OK_CODE TYPE SY-UCOMM.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'DELETE'.
LOOP AT lt_source INTO ls_source WHERE mark = 'X'.
APPEND LS_SOURCE TO LT_RESTORE.
DELETE TABLE LT_SOURCE FROM LS_SOURCE.
SOURCE-LINES = SOURCE-LINES - 1.
ENDLOOP.
But I'm unable to delete the selected rows, It is getting deleted the last rows eventhough I select the other row.
So I thought of doing with respect to the field. -
How to create a Sales order with ref to Contract using Function Module
How to create a Sales order with ref to Contract using Function Module BAPI_SALESDOCU_CREATEFROMDATA ?
We have a unique situation where we like change the sold-to customer of the sales order
once order has been created. These orders have been created using either by function module
BAPI_SALESDOCUMENT_COPY or using BDC (VA01, Copy with reference).
These two processes work abosolutely fine except someone might have change the sold-to
customer of the ship-to customer of the original sales order. If this the case then the new
sales order will be created with the old sold-to and with not the new sold-to.
We tried using BAPI_SALESDOCUMENT_CHANGE and commit afterwards. We checked
the returned parameteres of the BAPIs and they are all successful but sold-to remains the
same old one.
Any help would be much more appreciated. -
Howt 2 delta with the extractor created on Function Module..
hi there,
can anybody tell me how to update delta with the extractor created on Function Module..
rgds,
amolrefer to the document at the below link
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d3219af2-0c01-0010-71ac-dbb4356cf4bf
Generic Extractor using FM with Delta Logic
hope it helps,
rgs,
Parth.
Edited by: Partho Mukherjee on Jan 12, 2009 6:00 PM -
Generate two alternating PWMs with one counter of 6025E
I am using LabView 6.0.2 with a PCI-6025E card. My requirement are to put out a pwm signal with 250Hz. The problem is, that for example, first a PWM with exact 100 pulses of duty cycle 1% is needed, after that exact 5 pulses of 10% duty cycle. These two PWMs are repetetive without any big pauses between. I tried this with Pulse Train Generation with "Changing Pulse Specs.llb" from the ni libraries, but the PC based on windows is not able, to do the PWM changes in these exact time slots. Note: The second timer of the card is used for another item.
Unfortunately, you won't be able to do exactly what you want with a single counter. You'll need to use additional hardware. Here are some possibilities:
1. Analog Output:
A 1% duty cycle at 250 Hz requires a minimum of 25 kHz update rate, but your 6025E only goes up to 10 kHz. Your board is also limited by having only 1 DMA channel for Data acq buffered operations, and it may already by used by your other counter's operation.
If you had an analog board with faster output, you could try to create a buffer with 0 V and 5 V values representing the desired finite pulse train. However, if the device you're controlling with PWM requires TTL edges, the rise and fall times of your DAC output may still not be fast enough to fool it.
2.
PCI-6601/6602 Counter/Timer:
You could use two counters from a 6601 to generate the finite pulse trains you describe, but there would need to be a pause between the the two duty cycles. The pause is where your software detects the end of one finite pulse train and reprograms the counters to generate the other one. The pause might likely vary from 10 to 100 or more msec.
If that variable dead time between pause trains is acceptable, the 6601 is the cheapest solution I know of for today's application. If you need reuse for future apps, you might want to consider the 6602 for double the price, but a bit more than double the capability.
3. PCI-6533/6534:
NI's timed digital boards would allow you to define the pulse trains as a one-bit digital pattern that you could generate continuously. I suspect the 6533 would suffice for the app you describe.
Please double-check these hw suggestions with your local rep before ordering. (S)he'll know more than me about
your present-day app and potential future needs. Good luck!
-Kevin P. -
PWM with Duty Ration on three LED's - driven in sequence
Hello
I write an example of fade-out and fade-in for single LED. A hardware clock which is routed to DO is used. The Diode will constantly fade-out and fade–in where steps and times can be adjusted. For single LED this works perfect. An M or X series DAQ is predicted (USB M 6251 or USB X 6351)
The problem is that in real application (User Interface (UI) with LCD) a three LED’s will be used, which are connected on three lines and only one LED is active at a time (to reduce the cables two LED’s are connected in opposite direction). PWM frequency will be 1 kHz and each 10 ms next LED is active (cyclic trough LED each 10 ms: LED1, LED2, LED3, LED1, LED2, …………. ……). Schematic is attached and is fixed (also some pushbuttons are connected but they are not relevant at the moment).
Could you give me some hint or similar example how to transform/multiply this functionality (PWM with Duty ration) to three LED’s (which are works in sequence) with hardware clock of 1 kHz. Timing must be precise, since user should not detect any flickering on UI.
Attachments:
3x_PWM_cyclic_V1.vi 40 KB
Schematics_3xLED.PNG 26 KBDear RomanP,
I'd recomend using the X series device for this application, since the STC-3 timing chip enables you to use buffered pulse trains. The idea is that you can use a FIFOto store duty cycle information for every single PWM pulse. The device will use one sample to generate one pulse, then continue on to the next one. This allows you to have three counters working at the sae time with the same clock source, but with a different pwm data (one will always do the fade-in, fade-out routine, the other two can generate a 0 duty cycle signal).
Here's a community example you can start to work with. Let me know if you have something else in mind.
Kind regards:
Andrew Valko
National Instruments Hungary -
Is it possible with cDAQ to output PWM-Signal and Digital lines through same module?
Hello
I try to output a digital line and a PWM signal through one 9401 module. I use it for actuator control with PWm = speed and digital hig/low = direction.
In LV, I set up cDAQ/_ctr1, then use channel property outport to set it to e.g. cDAQ/module9401/PFI0.
But when I start a second task to use PFI1 as digital output on the same module, the vi fails with timeout error.
Is simultaneous useage possible or will I have to use 2 modules
Thanks for your insights.
MichaelHi,
you can upload your LV VI, because I suspect you make a mistake in you're program.
Best regards
Marko -
Measure rpm and PWM signals using digital input of NI9401 module
Hi, is there a simple way how measure rpm (to 5000 rpm) and PWM (about f=3kHz) signals using digital input of NI9401 (ultrahigh-speed digital I/O) module plugged in NI 9172 ? I will wellcome any suggestions and VI examples (bether still). I'm begginer using LView 8.2. I apologize for my poor English. Many thanks.
Hi CUA,
Since you have already the right tools, you just need to get started with the software. The NI-9401 will give you access to the counters that are inside the cDAQ chassis 9172.
You need to place the module in slots 5 or 6. You can read in how they work and how to configure them in the counters section of the user guide found here.
Now to measure rpm, you can either measure the period of the signal (seconds) and multiply by 60 to have minutes and the number of ticks per revolution. You can find a shipped example to read period called “Meas Dig Freq-Buffered-Cont-Large Range 2 Ctr.vi” found under Hardware Input and Output » DAQmx » Counter Mesurements
To measure PWM, it is similar procedure and you can read the semiperiod (high time or low time). There is also a shipped example called “Meas Semi-Period.vi” found under the same location.
There is great information for these kind of task at this page or just post back if you need to.
Hope this helps.
Gerardo O.
RF Systems Engineering
National Instruments -
I installed Premiere Pro CS 6.0 on a brand new system.
Win 8.1,
i7 3.4 GHz on an Asus Sabertooth
16 Gig memory
AMD Radeon R9 290 Graphics Board with the latest drivers and Bios.
On starting Premiere I get the (as I noticed quite frequent appearing) error message that Premiere cannot find a capable play module and the suggestion to update my video drivers.
I tried everything I found in this forum or on the web:
Installed the latest drivers
Run the program as an administrator
Updated the Graphics board Bios
Updated Premiere CS6
Started Gpusniffer in CMD-mode to find out what board it found and added that to the cuda_supported_cards.txt in the Premiere directory.
All to no avail. The app will simply not start.
The Gpusniffers report states:
Loadlibrary “n” failed
Loadlibrary “n” failed
--- OpenGL Info ---
Vendor: ATI Technologies Inc.
Renderer: AMD Radeon R9 200 series
OpenGL Version: 4.4.13084 Compatability Profile Context 14.301.1001.0
GLSL Version 4.40
Monitors: 1
Monitor 0 properties –
Size: <0, 0, 1920 1080>
Mex texture size: 16384
Support non-power of two: 1
Shaders 444 :1
Shaders 422: 1
Shaders 420: 1
--- GPU Information Info –
Did not find any devices that support GPU computation.
As I invested a lot in the CS6 Master Collection I am not considering an update tot the CC version, also because the same problem occurs in that version too.
I would be much obliged if someone has an answer that truly will work. This problem costed me the best part of two days’ work and fouled up my workflow considerably.==========
I tried to go into display settings and disable the Intel card. (this caused low resolution which is unexceptable)
==========
This makes me think it's using that graphics "card" ( probably built into mobo ? ...called 'onboard graphics ? )
This stuff gets tricky and sometimes the only way to make windows 'recognize' the pci graphics card is to actually take it out and boot, and then put it back in...
Then you get mssg " windows detected new hardware" and you install the drivers...
usually bios gives you choice of using onboard graphics or not ( but this too is wanky sometimes...sorry to say ...)
I recently ( this past year ) had a similar sort of situation but have a desktop, where its easy for me to take off side panel and pull the pci-e graphics card and boot, and get that horrible low res default screen...turn off, install card, reboot etc...
but anyway, it sounds to me like you're notebook is using that mobile graphics driver stuff and not the radeon. Somehow you've got to make it switch to that graphics card is maybe your solution.
sorry I dont have notebook but maybe someone else here does and can help more...
good luck.
ps..its always a weird fact of life...when things aren't working 'right' something has to get done fast....
edit:
I dont know how much you know about windows stuff, but after you disable that intel thing and get your low res screen.. you DID try to update the driver for that card using 'my computer / device manager ' right ?? -
Upload data from excel with vba by calling a function module
Hello all,
i have a problem with the function module "ALSM_EXCEL_TO_INTERNAL_TABLE". I will call this function module with vba to load data from excel to sap with a Buttonclick. I have copied this function module and set it remotable. But i can´t call it from excel.
Can you give me some tips how can i
upload data from excel with vba by click a button.
The problem seems the function: call method cl_gui_frontend_services=>clipboard_import in the function module, because when i comment this function call the vba-call is true but no results.
How can I call the function module correct with vba?
Thanks a lot for your tips!!!!
Chris
Message was edited by:
Christoph KirschnerHI
Uploading data directly from Excel file format
* Upload data direct from excel.xls file to SAP
REPORT ZEXCELUPLOAD.
PARAMETERS: filename LIKE rlgrap-filename MEMORY ID M01,
begcol TYPE i DEFAULT 1 NO-DISPLAY,
begrow TYPE i DEFAULT 1 NO-DISPLAY,
endcol TYPE i DEFAULT 100 NO-DISPLAY,
endrow TYPE i DEFAULT 32000 NO-DISPLAY.
* Tick don't append header
PARAMETERS: kzheader AS CHECKBOX.
DATA: BEGIN OF intern OCCURS 0.
INCLUDE STRUCTURE alsmex_tabline.
DATA: END OF intern.
DATA: BEGIN OF intern1 OCCURS 0.
INCLUDE STRUCTURE alsmex_tabline.
DATA: END OF intern1.
DATA: BEGIN OF t_col OCCURS 0,
col LIKE alsmex_tabline-col,
size TYPE i.
DATA: END OF t_col.
DATA: zwlen TYPE i,
zwlines TYPE i.
DATA: BEGIN OF fieldnames OCCURS 3,
title(60),
table(6),
field(10),
kz(1),
END OF fieldnames.
* No of columns
DATA: BEGIN OF data_tab OCCURS 0,
value_0001(50),
value_0002(50),
value_0003(50),
value_0004(50),
value_0005(50),
value_0006(50),
value_0007(50),
value_0008(50),
value_0009(50),
value_0010(50),
value_0011(50),
value_0012(50),
value_0013(50),
value_0014(50),
value_0015(50),
value_0016(50),
value_0017(50),
value_0018(50),
value_0019(50),
value_0020(50),
value_0021(50),
value_0022(50),
value_0023(50),
value_0024(50),
value_0025(50),
value_0026(50),
value_0027(50),
value_0028(50),
value_0029(50),
value_0030(50),
value_0031(50),
value_0032(50),
value_0033(50),
value_0034(50),
value_0035(50),
value_0036(50),
value_0037(50),
value_0038(50),
value_0039(50),
value_0040(50),
value_0041(50),
value_0042(50),
value_0043(50),
value_0044(50),
value_0045(50),
value_0046(50),
value_0047(50),
value_0048(50),
value_0049(50),
value_0050(50),
value_0051(50),
value_0052(50),
value_0053(50),
value_0054(50),
value_0055(50),
value_0056(50),
value_0057(50),
value_0058(50),
value_0059(50),
value_0060(50),
value_0061(50),
value_0062(50),
value_0063(50),
value_0064(50),
value_0065(50),
value_0066(50),
value_0067(50),
value_0068(50),
value_0069(50),
value_0070(50),
value_0071(50),
value_0072(50),
value_0073(50),
value_0074(50),
value_0075(50),
value_0076(50),
value_0077(50),
value_0078(50),
value_0079(50),
value_0080(50),
value_0081(50),
value_0082(50),
value_0083(50),
value_0084(50),
value_0085(50),
value_0086(50),
value_0087(50),
value_0088(50),
value_0089(50),
value_0090(50),
value_0091(50),
value_0092(50),
value_0093(50),
value_0094(50),
value_0095(50),
value_0096(50),
value_0097(50),
value_0098(50),
value_0099(50),
value_0100(50).
DATA: END OF data_tab.
DATA: tind(4) TYPE n.
DATA: zwfeld(19).
FIELD-SYMBOLS: <fs1>.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = '*.xls'
static = 'X'
CHANGING
file_name = filename.
START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = filename
i_begin_col = begcol
i_begin_row = begrow
i_end_col = endcol
i_end_row = endrow
TABLES
intern = intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
WRITE:/ 'Upload Error ', SY-SUBRC.
ENDIF.
END-OF-SELECTION.
LOOP AT intern.
intern1 = intern.
CLEAR intern1-row.
APPEND intern1.
ENDLOOP.
SORT intern1 BY col.
LOOP AT intern1.
AT NEW col.
t_col-col = intern1-col.
APPEND t_col.
ENDAT.
zwlen = strlen( intern1-value ).
READ TABLE t_col WITH KEY col = intern1-col.
IF sy-subrc EQ 0.
IF zwlen > t_col-size.
t_col-size = zwlen.
* Internal Table, Current Row Index
MODIFY t_col INDEX sy-tabix.
ENDIF.
ENDIF.
ENDLOOP.
DESCRIBE TABLE t_col LINES zwlines.
SORT intern BY row col.
IF kzheader = 'X'.
LOOP AT intern.
fieldnames-title = intern-value.
APPEND fieldnames.
AT END OF row.
EXIT.
ENDAT.
ENDLOOP.
ELSE.
DO zwlines TIMES.
WRITE sy-index TO fieldnames-title.
APPEND fieldnames.
ENDDO.
ENDIF.
SORT intern BY row col.
LOOP AT intern.
IF kzheader = 'X'
AND intern-row = 1.
CONTINUE.
ENDIF.
tind = intern-col.
CONCATENATE 'DATA_TAB-VALUE_' tind INTO zwfeld.
ASSIGN (zwfeld) TO <fs1>.
<fs1> = intern-value.
AT END OF row.
APPEND data_tab.
CLEAR data_tab.
ENDAT.
ENDLOOP.
CALL FUNCTION 'DISPLAY_BASIC_LIST'
EXPORTING
file_name = filename
TABLES
data_tab = data_tab
fieldname_tab = fieldnames.
*-- End of Program
<b>Excel Upload Alternative - KCD_EXCEL_OLE_TO_INT_CONVERT</b>
*Title : Excel Uploading
TYPES: BEGIN OF t_datatab,
col1(25) TYPE c,
col2(30) TYPE c,
col3(30) TYPE c,
col4(30) TYPE c,
col5(30) TYPE c,
col6(30) TYPE c,
col7(30) TYPE c,
col8(30) TYPE c,
col9(30) TYPE c,
col10(30) TYPE c,
col11(30) TYPE c,
END OF t_datatab.
DATA: it_datatab TYPE STANDARD TABLE OF t_datatab INITIAL SIZE 0,
wa_datatab TYPE t_datatab.
Data : p_table type t_datatab occurs 0 with header line.
DATA : gd_scol TYPE i VALUE '1',
gd_srow TYPE i VALUE '1',
gd_ecol TYPE i VALUE '256',
gd_erow TYPE i VALUE '65536'.
DATA: it_tab TYPE filetable,
gd_subrc TYPE i.
field-symbols : <fs>.
*Selection screen definition
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_file LIKE rlgrap-filename
DEFAULT 'c:test.xls' OBLIGATORY. " File Name
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
REFRESH: it_tab.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = 'Select File'
default_filename = '*.xls'
multiselection = ' '
CHANGING
file_table = it_tab
rc = gd_subrc.
LOOP AT it_tab INTO p_file.
* so_fpath-sign = 'I'.
* so_fpath-option = 'EQ'.
* append so_fpath.
ENDLOOP.
START-OF-SELECTION.
PERFORM upload_excel_file TABLES it_datatab
USING p_file
gd_scol
gd_srow
gd_ecol
gd_erow.
* END-OF-SELECTION.
END-OF-SELECTION.
LOOP AT it_datatab INTO wa_datatab.
WRITE:/ wa_datatab-col1,
wa_datatab-col2,
wa_datatab-col3,
wa_datatab-col4,
wa_datatab-col5,
wa_datatab-col6,
wa_datatab-col7,
wa_datatab-col8,
wa_datatab-col9,
wa_datatab-col10,
wa_datatab-col11.
ENDLOOP.
*& Form UPLOAD_EXCEL_FILE
* upload excel spreadsheet into internal table
* -->P_TABLE Table to return excel data into
* -->P_FILE file name and path
* -->P_SCOL start column
* -->P_SROW start row
* -->P_ECOL end column
* -->P_EROW end row
FORM upload_excel_file TABLES p_table
USING p_file
p_scol
p_srow
p_ecol
p_erow.
DATA : lt_intern TYPE kcde_cells OCCURS 0 WITH HEADER LINE.
* Has the following format:
* Row number | Colum Number | Value
* i.e. 1 1 Name1
* 2 1 Joe
DATA : ld_index TYPE i.
* Note: Alternative function module - 'ALSM_EXCEL_TO_INTERNAL_TABLE'
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = p_file
i_begin_col = p_scol
i_begin_row = p_srow
i_end_col = p_ecol
i_end_row = p_erow
TABLES
intern = LT_INTERN
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'Error Uploading file'.
EXIT.
ENDIF.
IF lt_intern[] IS INITIAL.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'No Data Uploaded'.
EXIT.
ELSE.
SORT lt_intern BY row col.
LOOP AT lt_intern.
MOVE lt_intern-col TO ld_index.
assign component ld_index of structure
p_table to <fs>.
move : lt_intern-value to <fs>.
* MOVE lt_intern-value TO p_table.
AT END OF row.
APPEND p_table.
CLEAR p_table.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. "UPLOAD_EXCEL_FILE
Regards
Pavan -
How can you develop photo galleries with multiple pages using the web module?
Going through the web module I can see there are many options for developing a web page with a single collection of photos. How can you develop a web site with multiple pages containing different categories of photos using the Lightroom web module?
This thread will give you several ideas.
Re: How do you embed a gallery into an existing website?
Maybe you are looking for
-
Loss of functionality in 5.0.1
It seems that in the "new" version of iCal that came with Lion (iCal v5.0.1) they have made it "pretty" and taken away functionality. Specifically - No calendar pane on the left hand side No details pane on the right hand side No mini month view on t
-
8.0.5 Standard on RedHat 6.0 svrmgrl core dump
I have installed 8.0.5 Standard on RedHat 5.1 machines without problems, but when I try it on a RedHat 6.0 machine, I get: Error during action 'Running crdbROO.sql'. Command: /u01/app/oracle/product/8.0.5/bin/svrmgrl <<! @/u01/app/oracle/admin/ROO/cr
-
My WIFi is working on my IPOD but when I got my new Ipad IT will not connect. What is wrong
-
Hello please I want the solution I have in my iTunes I own $ 112 and you purchase from the game of war gold price of gold and 99.99 discount iTunes money did not come in the gold game of war and that I am two days ago, I did not find the solution ple
-
We have a document that a former employee created and password protected. He left without revealing the password to anyone and now we need to make changes to the form. Is there a way to remove the security?