Convert Data date Type
I wanna convert a date from format yyyy/mm/dd to dd/mm/yyyy
and make this code :
Date v_fd = wdContext.currentContextElement().getV_fechadesde();
Date v_fh = wdContext.currentContextElement().getV_fechahasta();
String v_fechadesde = v_fd.toString();
String v_fechahasta = v_fd.toString();
v_fechadesde = v_fechadesde.substring(8,10) + '-' + v_fechadesde.substring(5,7) + '-' + v_fechadesde.substring(0,4) ;
v_fechahasta = v_fechadesde.substring(8,10) + '-' + v_fechahasta.substring(5,7) + '-' + v_fechahasta.substring(0,4) ;
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date d;
try {
d = dateFormat.parse(v_fechadesde);
dateFormat.applyPattern("dd/MM/yyyy");
v_fechadesde = dateFormat.format(d);
} catch (Exception e) {
e.printStackTrace();
java.sql.Date date = java.sql.Date.valueOf(v_fechadesde);
wdContext.currentZhr_Rfc_Pce_Get_Object_InputElement().setI_Begda(date);
wdContext.currentZhr_Rfc_Pce_Get_Object_InputElement().setI_Endda(date);
example
enter
01-06-2007
result
0006-11-28
Any idea please ?
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainClass {
public static void main(String[] args) {
String dateIn = "01-06-2007";
String dateIn2 = "1/6/2007";
try {
System.out.println("Test Correct Input:"+convertDate(dateIn));
} catch (Exception e) {
System.out.println(e.getMessage());
try {
System.out.print("Test Wrong Input:");
System.out.println(convertDate(dateIn2));
} catch (Exception e) {
System.out.println(e.getMessage());
* @param inDate
* @return
* @throws Exception
public static String convertDate(String inDate) throws Exception {
String inPattern = "dd-mm-yyyy";
String outPattern = "yyyy-mm-dd";
String dateOut = null ;
SimpleDateFormat dateFormatter = new SimpleDateFormat(inPattern);
Date date = null;
try {
date = dateFormatter.parse(inDate);
} catch (ParseException e) {
throw new Exception("Wrong Format");
SimpleDateFormat formatter = new SimpleDateFormat(outPattern);
dateOut = formatter.format(date);
return dateOut;
If the format is incorrect i.e. not in inPattern : dateFormatter.parse(inDate); throws exception.
Go via links i given in first post. You can have more information on date formats there.
Regards,
Ashwani Kr Sharma
Similar Messages
-
Converting data volume type from LINK to FILE on a Linux OS
Dear experts,
I am currently running MaxDB 7.7.04.29 on Red Hat Linux 5.1. The file types for the data volumes were
initially configured as type LINK and correspondingly made links at the OS level via "ln -s" command.
Now (at the OS level) we have replaced the link with the actual file and brought up MaxDB. The system
comes up fine without problems but I have a two part question:
1) What are the ramifications if MaxDB thinks the data volumes are links when in reality they are files.
(might we encounter a performance problem).
2) In MaxDB, what is the best way to convert a data volume from type LINK to type FILE?
Your feedback is greatly appreciated.
--Erick> 1) What are the ramifications if MaxDB thinks the data volumes are links when in reality they are files.
> (might we encounter a performance problem).
Never saw any problems, but since I don't have a linux system at hand I cannot tell you for sure.
Maybe it's about how to open a file with special options like DirectIO if it's a link...
> 2) In MaxDB, what is the best way to convert a data volume from type LINK to type FILE?
There's no 'converting'.
Shutdown the database to offline.
Now logon to dbmcli and list all parameters there are.
You'll get three to four parameters per data volume, one of them called
DATA_VOLUME_TYPE_0001
where 0001 is the number of the volume.
open a parameter session and change the value for the parameters from 'L' to 'F':
param_startsession
param_put DATA_VOLUME_TYPE_0001 F
param_put DATA_VOLUME_TYPE_0002 F
param_put DATA_VOLUME_TYPE_0003 F
param_checkall
param_commitsession
After that the volumes are recognizes as files.
regards,
Lars
Edited by: Lars Breddemann on Apr 28, 2009 2:53 AM -
How to convert Oracle data types to ABAP types.
Hi,
I have this oracle table table:
Type of col.
Char(6)
Number
Number
Number
Number
Date
I dont know how to convert column of number to abap types. I use exec sgl syntax and I try to insert value to abap structure. But structure <dyn_wa> is wrong.
EXEC SQL PERFORMING loop_output.
SELECT *
INTO :<dyn_wa>
FROM BIND_VAT_CB_SUM_VIEW@DTRTST1
ENDEXEC.
ENDFORM. "get_data
ThanksHI,
REPORT demo_native_sql.
DATA: BEGIN OF wa,
connid TYPE spfli-connid,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
END OF wa.
DATA c1 TYPE spfli-carrid VALUE 'LH'.
EXEC SQL PERFORMING loop_output.
SELECT connid, cityfrom, cityto
INTO :wa
FROM spfli
WHERE carrid = :c1
ENDEXEC.
FORM loop_output.
WRITE: / wa-connid, wa-cityfrom, wa-cityto.
ENDFORM.
See the below SAP link for more info
http://help.sap.com/saphelp_nw2004s/helpdata/en/fc/eb3b8b358411d1829f0000e829fbfe/content.htm
Thanks
Sudheer -
How to convert high_value to date data type on dba_tab_partitions
I just want to query and get the max date available on the dba_tab_partitions for the high_value field.
high_value data type is LONG it has the value for Partition bound value expression.
For example on my partition table the expression is like TO_DATE(' 2012-03-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')
I just want to convert the high_value to date data type.we had the same problem and we used a function for that purpose. I am not going to share our function here but Tom has all the gear you need : )
http://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:665224430110 -
Converting premitive data types into strings
Hello everybody,
I have a small doubt. Is it possible to convert all data types like int, boolean etc to strings. I know it is possible to convert them individually. But I would like to have it a common method to convert them all. Because I am reading the whole line, so it is taking as strings. I am unable to read their original data types, all are reading as strings.
Can anybody tell me how to solve this problem?
Thank you in advance,
Kashi.Hi all,
Thanx for your answers. But as I told you before I don't know the exact data type of those. Because I am reading whole file by using DataInputStream's readLine() method. It returns the whole line as String. If there are any integer or boolean etc, it converts them as strings. So I could not read the exact data type of them.
for example:
int a = 10;
boolean b = true;
String str = "The Values are" + a + b;
this code is in one file. If I read this file from another file, the line
String str = "The Values are" + a + b;
reads as a string, but I couldn�t get the 'a' as ineger and 'b' as boolean. it gives they are of strings.
Thanx,
Kashi. -
How can i convert the date from M to MM ?
Dear Guru ,
I need to upload my list to SAP table , and in the list , we are using YYYY/M/D format ( Eg. 2010/5/20 , 2010/10/1 ) .
And now i want to convert all date format to YYYY/MM/DD , Is it possibile to do that ?
Here is my code , but it doesn't work . It returned "2009//3//5" format .
data: ld_date_int type datum.
data : test(10) type c.
test = '2009/3/5' .
ld_date_int = test .
WRITE : SY-SUBRC , LD_DATE_int .
Does SAP provide a standard function can convert the date format ?
Thanks .
Best Regards,
Carlos ZhangHi Dear
You can try in this way :::
data: ld_date_int type string.
DATA : ld_string TYPE string.
data : test(10) type c,
ld_res1(4) TYPE c,
ld_res2(2) TYPE c,
ld_res3(2) TYPE c.
DATA : ll_res2 TYPE i,
ll_res3 TYPE i.
test = '2009/03/5' .
ld_date_int = test .
ld_string = strlen( ld_date_int ).
CASE ld_string.
WHEN 10.
WRITE : SY-SUBRC , LD_DATE_int.
WHEN OTHERS.
SPLIT ld_date_int at '/' INTO ld_res1 ld_res2 ld_res3 in CHARACTER MODE.
ll_res2 = strlen( ld_res2 ).
ll_res3 = strlen( ld_res3 ).
IF NOT ll_res2 eq 2 and not ll_res3 eq 2.
CONCATENATE: '0' ld_res2 INTO ld_res2.
CONCATENATE: '0' ld_res3 INTO ld_res3.
CONCATENATE ld_res1 '/' ld_res2 '/' ld_res3 INTO ld_date_int.
WRITE : SY-SUBRC , LD_DATE_int.
ENDIF.
IF ll_res2 eq 2 and not ll_res3 eq 2.
CONCATENATE '0' ld_res3 INTO ld_res3.
CONCATENATE ld_res1 '/' ld_res2 '/' ld_res3 INTO ld_date_int.
WRITE : SY-SUBRC , LD_DATE_int.
ENDIF.
IF NOT ll_res2 eq 2 and ll_res3 eq 2.
CONCATENATE: '0' ld_res2 INTO ld_res2.
CONCATENATE ld_res1 '/' ld_res2 '/' ld_res3 INTO ld_date_int.
WRITE : SY-SUBRC , LD_DATE_int.
ENDIF.
ENDCASE. -
"Date / Date Time" type parameters in crystal reports 2008
i am using parameters in crystal report to select records. one of the parameters is "From Date" of type Date Time.
i mapped this parameter to a field "DateIn" of type smalldatetime in my sql table.
Now, when i open the report it asks for "From Date" but b y default it sets the time to current time so i have to change it to 00:00:00 manually. i want it to show 00:00:00 by default. which means i don't want time here.
For this if i select the datatype of parameter "From Date" as Date only then i am not able to map it to the "DateIn" field of the sql table.
Please help me out of this.
Edited by: rohit0825 on Jun 2, 2010 2:25 PM>
Deepravs wrote:
> Hi Rohit,
>
> Change the Parameter to Date Datatype and use this formula in the "Record Selection Formula " (Report Tab -> Selection Formulas -> Record)
>
> = CDateTime ({?From Date})
>
> Though the parameter is date datatype it converts to datetime datatype amd maps to the desired column.
>
>
> Thanks,
Great !!!
this is working.
i found another way, i changed the datatype of parameter to Date and click ok and everything was good, it doesn't require any conversion to date time.
Thank You so much. All Points You.
Edited by: rohit0825 on Jun 3, 2010 10:47 AM -
Converting binary data into pdf and placing into application server
Hi Friends,
I am able to get PO details in binary format and then using GUI_DOWNLOAD with file type with 'bin' and file name with 'sample.pdf' extension , got PO in pdf format.
But i need to get with pdf extension in application server without using GUI_DOWNLOAD.
Is there any functional modules for it?
With Warm Regards,
Madhu!!!Hi Madhu,
Check this code.
*& Report ZSPOOLTOPDF *
*& Converts spool request into PDF document and emails it to *
*& recipicant. *
*& Execution *
*& This program must be run as a background job in-order for the write *
*& commands to create a Spool request rather than be displayed on *
*& screen *
REPORT zspooltopdf.
PARAMETER: p_email1 LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_sender LIKE somlreci1-receiver
DEFAULT '[email protected]',
p_delspl AS CHECKBOX.
*DATA DECLARATION
DATA: gd_recsize TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des.
Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
*START-OF-SELECTION.
START-OF-SELECTION.
Write statement to represent report output. Spool request is created
if write statement is executed in background. This could also be an
ALV grid which would be converted to PDF without any extra effort
WRITE 'Hello World'.
new-page.
commit work.
new-page print off.
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
Alternative way could be to submit another program and store spool
id into memory, will be stored in sy-spono.
*submit ZSPOOLTOPDF2
to sap-spool
spool parameters %_print
archive parameters %_print
without spool dynpro
and return.
Get spool id from program called above
IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
PERFORM convert_spool_to_pdf.
PERFORM process_email.
if p_delspl EQ 'X'.
PERFORM delete_spool.
endif.
IF sy-sysid = c_dev.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDIF.
ELSE.
SKIP.
WRITE:/ 'Program must be executed in background in-order for spool',
'request to be created.'.
ENDIF.
FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> '0000000000'
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
FORM get_job_details *
FORM get_job_details.
Get current job details
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
CHECK gd_recsize > 0.
PERFORM send_email USING p_email1.
perform send_email using p_email2.
ENDFORM.
FORM send_email *
--> p_email *
FORM send_email USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = 'Attachname'.
CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
it_mess_bod = 'Message Body text, line 1'.
APPEND it_mess_bod.
it_mess_bod = 'Message Body text, line 2...'.
APPEND it_mess_bod.
If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
using p_email
'Example .xls documnet attachment'
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
FORM delete_spool *
FORM delete_spool.
DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
ld_spool_nr = gd_spool_nr.
CHECK p_delspl <> c_no.
CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
EXPORTING
spoolid = ld_spool_nr.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables it_message
it_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
data: t_packing_list like sopcklsti1 occurs 0 with header line,
t_contents like solisti1 occurs 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
t_attachment like solisti1 occurs 0 with header line,
t_object_header like solisti1 occurs 0 with header line,
w_cnt type i,
w_sent_all(1) type c,
w_doc_data like sodocchgi1.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'.
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
Hope this resolves your query.
<b>Reward all the helpful answers.</b>
Regards -
How to convert the date in mm/dd/yyyy.
hi,
I am working with tcurr tables when i go in se16 and see the table i see the field gdatu in '79929474'.
if i double click on the that particular row the format of gdatu changes to '25.05.2007'.
I am working on an extract and the date is coming in '79929474'. I need to convert it to mm/dd/yyyy format.
I need ur help and guidence.
KamleshHi Kamlesh
Try to execute the program and see the result.The same logic can be used for solving your date issue.
TABLES :tcurr.
TYPES:BEGIN OF g_ty_tcurr.
INCLUDE STRUCTURE tcurr.
TYPES: date TYPE sy-datum.
TYPES: END OF g_ty_tcurr.
DATA : it_tcurr TYPE TABLE OF g_ty_tcurr,
wa_tcurr LIKE LINE OF it_tcurr.
SELECT * FROM tcurr INTO CORRESPONDING FIELDS OF TABLE it_tcurr.
LOOP AT it_tcurr INTO wa_tcurr.
DATA:wrk_date(10) TYPE c.
CALL FUNCTION 'CONVERSION_EXIT_INVDT_OUTPUT'
EXPORTING
input = wa_tcurr-gdatu
IMPORTING
output = wrk_date.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = wrk_date
IMPORTING
date_internal = wrk_date
EXCEPTIONS
date_external_is_invalid = 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.
DATA: wrk_date1 TYPE sy-datum.
CONCATENATE wrk_date4(2) wrk_date6(2) wrk_date+0(4) INTO wrk_date1. " to get teh date in mmddyyyy format.
wa_tcurr-date = wrk_date1.
MODIFY it_tcurr FROM wa_tcurr TRANSPORTING date.
ENDLOOP. -
Which Function Module is used for converting the DATE in BDC
HI,
Which Function Module is used for converting the DATE Format in BDC for Uploading purpose please help me.data : date like sy-datum.
data : odate(10) type c.
date = sy-datum. " in format YYYYMMDD
CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT'
EXPORTING
input = date
IMPORTING
OUTPUT = odate .
write:/ odate. "in ur format '.
1.
In ur itab make a field for date as 10 characters and use this Fm to store the date .
2. Pass the date as the charcter field to the screen and now check . -
How to convert raw data into pdf ?
Hi everyone,
I have a requirement where I have to print the document present in application server.
I used below code to do this
* Open the file in binary mode
OPEN DATASET gv_filepath FOR INPUT IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORS.
DO.
TRY.
* Since the file is opened in Binary mode, the entire contents of the
* file is read in one go!
READ DATASET gv_filepath INTO gv_filedata.
IF sy-subrc <> 0.
EXIT.
ENDIF.
CATCH cx_sy_conversion_codepage.
ENDTRY.
APPEND gv_filedata TO gt_file_table.
CLEAR gv_filedata.
ENDDO.
CLOSE DATASET gv_filepath.
DESCRIBE TABLE gt_file_table LINES lv_lines.
lv_pages = lv_lines.
lv_dest = 'LP01'.
lv_spoolname = 'LOCW'.
CALL FUNCTION 'RSPO_SX_OUTPUT_TEXTDATA'
EXPORTING
* NAME = lv_spoolname
DEST = lv_dest
ROWS = lv_lines
STARTROW = 1
PAGES = 99
RQTITLE = 'Print Spool'
RQCOPIES = 1
RQOWNER = sy-uname
IMMEDIATELY = ' '
IMPORTING
RQID = lv_spoolid
TABLES
TEXT_DATA = gt_file_table
EXCEPTIONS
NAME_MISSING = 1
NAME_TWICE = 2
NOT_FOUND = 3
ILLEGAL_LAYOUT = 4
INTERNAL_ERROR = 5
SIZE_MISMATCH = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
Passed the spool id generated to below FM but it is not converting into pdf
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = lv_spoolid
NO_DIALOG = ' '
DST_DEVICE = 'LOCW'
PDF_DESTINATION = 'X'
* NO_BACKGROUND =
* GET_SIZE_FROM_FORMAT =
* USE_CASCADING = ' '
* IMPORTING
* PDF_BYTECOUNT = lv_bytecount
* PDF_SPOOLID = lv_pdf1
* LIST_PAGECOUNT =
* BTC_JOBNAME =
* BTC_JOBCOUNT =
* BIN_FILE = lv_pdf
TABLES
PDF = lt_pdf
EXCEPTIONS
ERR_NO_ABAP_SPOOLJOB = 1
ERR_NO_SPOOLJOB = 2
ERR_NO_PERMISSION = 3
ERR_CONV_NOT_POSSIBLE = 4
ERR_BAD_DESTDEVICE = 5
USER_CANCELLED = 6
ERR_SPOOLERROR = 7
ERR_TEMSEERROR = 8
ERR_BTCJOB_OPEN_FAILED = 9
ERR_BTCJOB_SUBMIT_FAILED = 10
ERR_BTCJOB_CLOSE_FAILED = 11
OTHERS = 12
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
When I go to SP01 and check the spool generated it is in raw document type.
How can I convert this raw document to pdf type ??
Please help me to resolve this.
Regards,
KrishnaOk, since I can't edit the post anymore, here the new version of code, without the use of SCMS_XSTRING_TO_BINARY for intermediate table. Reasons: effectively doubles the memory use and I don't want to check if the kernel is cutting off the hexdecimal nulls when the last spool line is written, or to relay of that behaviour.
Matthew Billingham, and other mods: it would be really nice if you could hide the old version please (this post here). The number of google results for that FM is scary and I really don't want to contribute to promoting its use...
REPORT zjbtst2.
PARAMETERS: p_file TYPE string
LOWER CASE
DEFAULT '/usr/sap/....'
OBLIGATORY.
PARAMETERS: p_dest TYPE rspopname
DEFAULT 'LP01'
OBLIGATORY .
PERFORM main USING p_file p_dest.
*& Form main
FORM main
USING
i_file TYPE string
i_dest TYPE rspopname.
DATA: lo_handle TYPE REF TO cl_rspo_spool_handle .
DATA: l_spoolid TYPE rspoid.
DATA: l_content TYPE xstring .
DATA: l_message_text TYPE string .
PERFORM get_file USING i_file CHANGING l_content .
PERFORM new_spool USING i_dest CHANGING lo_handle l_spoolid.
PERFORM write_spool USING lo_handle l_spoolid l_content .
l_message_text = |Spool { l_spoolid } created| .
MESSAGE l_message_text TYPE 'I' .
ENDFORM . "main
*& Form get_file
FORM get_file
USING i_file TYPE string
CHANGING c_content TYPE xstring.
DATA: l_message_text TYPE string .
CLEAR c_content .
OPEN DATASET i_file FOR INPUT IN BINARY MODE
MESSAGE l_message_text.
IF sy-subrc NE 0 .
MESSAGE l_message_text TYPE 'E' .
ELSE.
READ DATASET i_file INTO c_content .
CLOSE DATASET i_file.
ENDIF .
ENDFORM . "get_file
*& Form new_spool
FORM new_spool
USING
i_destination TYPE rspopname
CHANGING
co_handle TYPE REF TO cl_rspo_spool_handle
c_spoolid TYPE rspoid .
cl_rspo_spool_handle=>open(
EXPORTING
dest = i_destination
name = 'Test'
layout = 'G_RAW'
doctype = 'BIN'
IMPORTING
ref = co_handle
spoolid = c_spoolid
EXCEPTIONS
device_missing = 1
name_twice = 2
no_such_device = 3
operation_failed = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM . "new_spool
*& Form WRITE_SPOOL
FORM write_spool
USING
io_handle TYPE REF TO cl_rspo_spool_handle
i_spoolid TYPE rspoid
i_content TYPE xstring .
DATA: l_buffer(128) TYPE x ."Hmm, 128 does work, 4096 doesn't...
DATA: l_buffer_length TYPE i .
DATA: l_full_buffers_count TYPE i .
DATA: l_part_buffer_length TYPE i .
DATA: l_offset TYPE i .
DATA: l_length TYPE i .
l_buffer_length = xstrlen( l_buffer ) .
l_full_buffers_count = xstrlen( i_content ) DIV l_buffer_length .
l_part_buffer_length = xstrlen( i_content ) MOD l_buffer_length .
DO l_full_buffers_count + 1 TIMES .
IF sy-index LE l_full_buffers_count .
l_length = l_buffer_length .
ELSEIF l_part_buffer_length GT 0 .
l_length = l_part_buffer_length .
ELSE.
EXIT .
ENDIF .
l_buffer = i_content+l_offset(l_length) .
ADD l_length TO l_offset .
io_handle->write_binary(
EXPORTING
data = l_buffer
length = l_length
EXCEPTIONS
not_open = 1
operation_failed = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDDO .
io_handle->close(
EXPORTING
final = 'X'
EXCEPTIONS
operation_failed = 1
already_closed = 2
OTHERS = 3
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 . "write_spool -
Data Conversion Type C - Type D (and Type T)
Hello,
I would know how to convert a data Type C (char) to a data Type D (dats) or a data Type T (time).
In fact I've got datas in char representing Dates(20060818) and Time (060126) and I want to convert them in BW in Dats and Time.
Do you know how to convert in routines?
Thanks for your help!!!HI vince,
data : v_char(8) type c value '20060909', v_dats type dats. v_dats = v_char.
check out this also,
Re: FM to convert char to dats type
Regards,
San! -
Converting binary data to cluster
Hello,
I have a problem converting binary data to a cluster. I have to create a VI that reads out some parameter from a device, which is connected via RS232. I get an array of 128 Byte from the device. The data has the following (C-)structure:
struct PARAM
char cVersion[64];
float fDeviceID;
float fChannels;
float fSensor;
float fTrigger;
float fConst[5];
char cReserved[28];
How can I convert the binary array to a cluster? I created a cluster (see attachment), but I couldn't connect it with the "Type Cast" VI. Has anyone an idea how to solve this problem?
Thanks, Martin
Attachments:
cluster.jpg 16 KBIt is tedious to convert binary data to LabVIEW data when you have arrays. You have to typecast the data with clusters of the same fixed length as in the structure. Large clusters are easily created on the diagram using Array to Cluster primitive. See the attavhed picture.
LabVIEW, C'est LabVIEW
Attachments:
conversion.gif 11 KB -
Stored Procedures with Date data types and Oracle
This should be easy.... But i keep getting the error:
[Macromedia][Oracle JDBC Driver][Oracle]ORA-06550: line 1,
column 7: PLS-00306: wrong number or types of arguments in call to
'RETRIEVE_TS' ORA-06550: line 1, column 7: PL/SQL: Statement
ignored
And I got it worked out to where i know it is a problem with
the way i am using the date data types in a stored procedure....
In the past i usually avoided calling procedures in Oracle
with date as the in type.... It is always easiest to let oracle
convert the string to a date.... Unfortunately now i am stuck with
having a date type in the procedure call.... So the question is:
WHAT IS THE PROPER WAY TO SUBMIT DATE/TIME STAMP IN A STORED
PROCEDURE?
The Oracle Procedure looks like this:
PROCEDURE retrieve_ts (
p_at_tsv_rc IN OUT sys_refcursor,
p_units IN OUT VARCHAR2,
p_officeid IN VARCHAR2,
p_timeseries_desc IN VARCHAR2,
p_start_time IN DATE,
p_end_time IN DATE,
p_timezone IN VARCHAR2 DEFAULT 'GMT',
p_trim IN NUMBER DEFAULT false_num,
p_inclusive IN NUMBER DEFAULT NULL,
p_versiondate IN DATE DEFAULT NULL,
p_max_version IN NUMBER DEFAULT true_num
AND the stored procedure call looks like this:
<cfset ed = Now()>
<cfset sd = #DateAdd("d",-lbt,Now())#>
<cfstoredproc datasource="CWMS"
procedure="cwms.cwms_ts.retrieve_ts"
returncode="no">
<cfprocparam type="inout" variable="unit" value="#unit#"
dbvarname="@p_units"
cfsqltype="cf_sql_varchar">
<cfprocparam type="in" value="MVS"
dbvarname="@p_officeid"
cfsqltype="cf_sql_varchar">
<cfprocparam type="in" value=#id.cwms_ts_id#
dbvarname="@p_timeseries_desc"
cfsqltype="cf_sql_varchar">
<cfprocparam type="in" value="#sd#"
dbvarname="@p_start_time"
cfsqltype="cf_sql_date">
<cfprocparam type="in" value="#ed#"
dbvarname="@p_end_time"
cfsqltype="cf_sql_date">
<cfprocparam type="in" value="#tz#"
dbvarname="@p_time_zone"
cfsqltype="cf_sql_varchar">
<cfprocparam type="in" value="0"
dbvarname="@p_trim"
cfsqltype="cf_sql_numeric">
<cfprocparam type="in" value=""
null = "yes"
dbvarname="@p_inclusive"
cfsqltype="cf_sql_numeric">
<cfprocparam type="in" value=""
null="yes"
dbvarname="@p_versiondate"
cfsqltype="cf_sql_date">
<cfprocparam type="in" value="1"
dbvarname="@p_max_version"
cfsqltype="cf_sql_numeric">
<cfprocresult name="ts_dat">
</cfstoredproc>
TextYeah.... One is a type INOUT ref cursor.... which is denoted
by the cfprocresult....
By the way:
Phil - the code example with a little tweaking worked fine on
my machine....
<<cfstoredproc procedure="test_pkg.test"
datasource="myDSN" returncode="no">
<cfprocparam type="IN" cfsqltype="cf_sql_timestamp"
value="15-JUN-2005">
<cfprocparam type="OUT" cfsqltype="cf_sql_varchar"
variable="v_out">
<cfprocresult name="rs1">
</cfstoredproc>
PROCEDURE test(
v3_out OUT ref_cur_type,
v1_in IN date default null,
v2_out OUT varchar2
IS
BEGIN
v2_out := TO_CHAR(v1_in, 'mm/dd/yyyy');
OPEN v3_out
FOR
SELECT *
FROM user
WHERE activation_date >= v1_in;
END test;
Why do i still get this error......
Here is what it looks like now:
PROCEDURE retrieve_ts (
p_at_tsv_rc IN OUT sys_refcursor,
p_units IN OUT VARCHAR2,
p_officeid IN VARCHAR2,
p_timeseries_desc IN VARCHAR2,
p_start_time IN DATE,
p_end_time IN DATE,
p_timezone IN VARCHAR2 DEFAULT 'GMT',
p_trim IN NUMBER DEFAULT false_num,
p_inclusive IN NUMBER DEFAULT NULL,
p_versiondate IN DATE DEFAULT NULL,
p_max_version IN NUMBER DEFAULT true_num
<cfstoredproc datasource="CWMS"
procedure="cwms.cwms_ts.retrieve_ts"
returncode="no">
<cfprocparam type="INOUT" variable="p_units"
value="#unit#" <!---p_units--->
cfsqltype="cf_sql_varchar">
<cfprocparam type="IN" value="MVS"
<!---p_officeid--->
cfsqltype="cf_sql_varchar">
<cfprocparam type="IN" value=#id.cwms_ts_id#
<!---p_timeseries_desc--->
cfsqltype="cf_sql_varchar">
<cfprocparam type="IN" value="#sd#"
<!---p_start_time--->
cfsqltype="cf_sql_timestamp">
<cfprocparam type="IN" value="#ed#"
<!---p_end_time--->
cfsqltype="cf_sql_timestamp">
<cfprocparam type="IN" value="#tz#"
<!---p_timezone--->
cfsqltype="cf_sql_varchar">
<cfprocparam type="IN" value="0" <!---p_trim--->
cfsqltype="cf_sql_integer">
<cfprocparam type="IN" value=""
<!---p_inclusive--->
null = "yes"
cfsqltype="cf_sql_numeric">
<cfprocparam type="IN" value=""
<!---p_versiondate--->
null="yes"
cfsqltype="cf_sql_timestamp">
<cfprocparam type="IN" value="1"
<!---p_max_version--->
cfsqltype="cf_sql_integer">
<cfprocresult name="ts_dat">
<!---sys_refcursor--->
</cfstoredproc>
If I truly am short a parameter, How do you specify the INOUT
sys_refcursor? -
How to convert base64 data to an image
Hello, my enterprise application is receiving base64 enocoded image data in an xml file. Now I need to convert it to a native image formats like jpeg/jpg/tiff/pdf etc. Does anybody know if there are any Java apis (both free/paid) which let you do this. Actually I would not have any idea of what type of image it was when it was initially encoded to base64 format. I am looking for an API/technique that can convert base64 data to any image depending on what I want at runtime.
Thanks a lot in advance.
RHi there,
I've had to deal with exactly the same problem myself. The images I had to deal with were all TIFF files, and that was okay, I'd say one of your first steps would be to find out what format these images are in.
I used a SAX Content Handler to pull the base 64 image data out of the XML into a String, and then converted the Base 64 String into a byte array. From there I could either simply write the byte array to a file, or if I wanted use ImageIO to create an Image object, work with the metadata or even save it in a different format, though I never actually did that.
Anyway, here is some code I whipped up to convert the String to a byte array, then write the byte array to disk. Let us know how you get along!
* Writes a byte array to a file.
* @param result String containing base64 image data
* @param fileName File name to write the converted image to
public static void writeTiff(byte[] result, String fileName) throws IOException {
FileOutputStream out = new FileOutputStream(fileName, true);
out.write(result);
out.close();
* Converts a String of base 64 image data, captured from XML, into a byte array.
* @param image A Base 64 String
* @return byte[]
public static byte[] convertTiff(String image) throws IOException {
byte[] result = new sun.misc.BASE64Decoder().decodeBuffer(image);
return result;
}
Maybe you are looking for
-
How can I use an iPad Mini as a external display for any new Vixia Series Camcorder?
Hey Everyone, I've worked with Vixia's previously and am looking to purchace one of my own, a G20 or G30 most likely. I'm very interested in using an iPad Mini as an external display and wondering if anyone has had luck with this. Cheers and thank y
-
My new tabs keep startying up with imesh, a website I don't want and haven't made a homepage. Firefox options don't show this is in your tab start-up system. How can I get rid of it?
-
Usage of a specific infoobject in Queris/Workbooks
Hi everybody. I'm going to add some nav. attribute to 0vendor infobject, and than I need to update many queries in which 0vendor exists by replacing the 0vendor by the new nav. attribute. I need to now in which workbooks/queries that are in use (in t
-
ECM - no status update of IT0759 to "approved"
Dear all We are using the new iView "Planning Overview" in MSS for the higher-level Managers to review the planning of their subordinate organizational units. When an organizational unit is completed and the higher-level Manager reviews this organiza
-
Is it possible to do In Line RegEx
I know this is probably not possible, but want to throw it out there to see if anyone was able to accomplish this. I am writing automation scripts to add users to different AD Groups and SCCM User Collections. The command I am having an issue with in