Convert date in words
Hi All,
Is there any FM that will convert a date yyyymmdd to words. i.e. 20080101 to January 1, 2008?
Please help tnx!!!
Regards,
Mark
Hi,
Do you need a FM to do this. I think you can do it using a code of your own.
Example :
data : w_date type sy-datum,
w_mon(2) type c,
w_date1(15) type c.
w_date = sy-datum.
w_mon = w_date+4(2).
w_date10(2) = w_date6(2) " Assigns the date
w_date17(4) = w_date0(4) " Assigns the year
Case w_mon.
when '01'.
w_date1+3(3) = 'Jan'.
when '02'.
w_date1+3(3) = 'Feb'.
When '12'.
w_date1+3(3) = 'Dec'.
So when date is today : 20081014
It will show 14 Oct 2008
Hope it helps,
Regards,
Pramod
Similar Messages
-
FUNCTION MODULE TO CONVERT DATE / TIME INTO WORDS.
HI EXPERTS,
FUNCTION MODULE TO CONVERT DATE / TIME INTO WORDS.
PLS DO HELP.....Hiii gita
we have another FM SPELL_AMOUNT
regards
Jaipal -
Convert data in table to mix case
Hi All,
I have a table that contains data.
This table has to columns, an id and description.
I would like to update my table to convert data to mix case.
As of now, all of my data in the table are lower case.
What I mean by mix case is first letter for each word is uppercase and the rest are lower case.
is there a function i can use ?
example:
Amended/Resentence, Type UnknownThanksYou can use the INITCAP function.
update table
set description = INITCAP(description);Example:
create table test (description varchar(50));
Table created
insert into test values ('amended/resentence, type unknown');
1 row inserted
select * from test;
DESCRIPTION
amended/resentence, type unknown
update test set description = initcap(description);
1 row updated
select * from test;
DESCRIPTION
Amended/Resentence, Type Unknown -
I do not get a readable or editable PDF file that has been converted to Microsoft Word.
In the past I have been able to convert PDF files to MicroSoft Word, and Edit and Save the Documents. Now, the converted files are unreadable and uneditable. How do I correct this problem?
Thanks for the email, Stacy!
I don't have an old PDF file that I converted to MicroSoft Word, however the new file that I am trying to convert and edit is the same kind of file that I've converted and edited before; An Invoice from the same Company. Is there a possibility that a download, MicroSoft Compatibility Pack for the 2007 Office System, onto MicroSoft Windows XP Home Edition Version 2002 computer might be causing the problem? Should I download to (.doc) or (.docx)? Any help will be greatly appreciated!
Thanks,
Joseph Renn Little
Date: Fri, 21 Mar 2014 08:48:32 -0700
From: [email protected]
To: [email protected]
Subject: I do not get a readable or editable PDF file that has been converted to Microsoft Word.
Re: I do not get a readable or editable PDF file that has been converted to Microsoft Word.
created by StacySison in Adobe ExportPDF - View the full discussion
Hi Joseph,
I'd like to assist!
Have you tried converting one of your old PDF's that have worked in the past to see if it still works?
Are these files scanned to PDF files?
You may want to try utilizing the OCR solution.
Let me know if that works.
Looking forward to hearing back from you!
Kind regards, Stacy
Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/6231210#6231210
Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/6231210#6231210
To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/6231210#6231210. In the Actions box on the right, click the Stop Email Notifications link.
Start a new discussion in Adobe ExportPDF at Adobe Community
For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0. -
What are the new terms for renewal of payment for converting pdf to word?
What are the new terms for renewal of payment for converting pdf to word?
Hi joannep59572680,
The terms haven't changed recently. ExportPDF subscriptions renew annually, unless your turn off Auto Renewal before your renewal date.
Do you have a specific concern about your subscription?
Best,
Sara -
Convert data to MSWORD, MSEXCEL or PDF
Hi,
I have a requirement of sending SAP std report output as an attachment via email. I am thinking of using SUBMIT TO MEMORY or SPOOL and then get the data from there and convert and send as file attachment using SO_DOCUMENT_SEND_API1 or class CL_BCS. The file is required to be sent as MSWORD or MSEXCEL or PDF which can be decided by having a parameter on selection screen..
But I am not sure on how to convert data after retrieving it back from Memory or spool. There are a few function modules to convert. Can anyone give me the names please in each case like
For Spool to PDF function CONVERT_ABAPSPOOLJOB_2_PDF can be used
For Spool to Excel ?
For Spool to Word ?
For memory to PDF ?
For memory to Word ?
For memory to Excel ?
Regards,
VinHi,
I just had the same reuirement and i did it few days back . here is the code ...juz modify it accordingly.
The program will send my ABAP report as a PDF attachment to the USER>
REPORT ZRMM0055 NO STANDARD PAGE HEADING
MESSAGE-ID ZZ
LINE-SIZE 255
LINE-COUNT 65.
TABLES DECLARATION *
TABLES : MARD, " Storage Location Data for Material
MARC, " Plant Data for Material
MSEG,
SSCRFIELDS. " Fields on selection screens
Internal Tables declaration. *
*---Internal Table to hold the MARD table data
DATA : BEGIN OF IT_MARD OCCURS 0,
MATNR LIKE MARD-MATNR, " Material Number
WERKS LIKE MARD-WERKS, " Plant
LGORT LIKE MARD-LGORT, " Storage Location
LMINB LIKE MARD-LMINB, " Reorder Point
LABST LIKE MARD-LABST, " Stock at storage loc
END OF IT_MARD.
*---Internal table to hold data from MSEG, MKPF, MAKT
DATA : BEGIN OF IT_MSEG OCCURS 0,
MATNR LIKE MARD-MATNR, " Material Number
WERKS LIKE MARD-WERKS, " Plant
LGORT LIKE MARD-LGORT, " Storage Location
MENGE LIKE MSEG-MENGE, " Quantity
MEINS LIKE MSEG-MEINS, " UOM
LIFNR LIKE MSEG-LIFNR, " Account Number of Vendor
SHKZG LIKE MSEG-SHKZG, " Credit/Debit Indicator
EBELN LIKE EKPO-EBELN,
MENGE1 LIKE EKPO-MENGE, " Open PO qty
EINDT LIKE EKET-EINDT,
DISPO LIKE MARC-DISPO, " MRP controller
EKGRP LIKE MARC-EKGRP, " Purchasing Group
MAKTX LIKE MAKT-MAKTX,
END OF IT_MSEG.
*----Internal table to hold the data from EKPO and EKET table
DATA : BEGIN OF IT_EKPO OCCURS 0,
EBELN LIKE EKPO-EBELN, " PO document
EBELP LIKE EKPO-EBELP, " Item
MATNR LIKE MARD-MATNR, " Material Number
WERKS LIKE MARD-WERKS, " Plant
LGORT LIKE MARD-LGORT, " Storage Location
MENGE LIKE EKPO-MENGE, " Quantity
EINDT LIKE EKET-EINDT, " Delivery Date
END OF IT_EKPO.
*--Internal Table to hold the final data
DATA : BEGIN OF IT_FINAL OCCURS 0,
MATNR LIKE MARD-MATNR, " Material Number
MAKTX LIKE MAKT-MAKTX, " Material Description
LMINB LIKE MARD-LMINB, " Reorder Point
MEINS LIKE MSEG-MEINS, " UOM
LABST LIKE MARD-LABST, " On hand inventory at storageloc
TOT_LABST LIKE MARD-LABST, " Total On hand at plant
ISSUE LIKE MSEG-MENGE, " YTD issue
RECEIPT LIKE MSEG-MENGE, " YTD receipts
DISPO LIKE MARC-DISPO, " MRP controller
EKGRP LIKE MARC-EKGRP, " Purchasing Group
MENGE LIKE EKPO-MENGE, " Open PO Quantity
EINDT LIKE EKET-EINDT, " Next Delivery Date
LIFNR LIKE MSEG-LIFNR, " Vendor
EBELN LIKE MSEG-EBELN, " PO number
END OF IT_FINAL.
*----Internal table to hold YTD data
DATA : BEGIN OF IT_YTD OCCURS 0,
MENGE LIKE MSEG-MENGE,
MEINS LIKE MSEG-MEINS,
SHKZG LIKE MSEG-SHKZG,
END OF IT_YTD.
DATA : BEGIN OF X_MSEG,
MBLNR LIKE MSEG-MBLNR,
MJAHR LIKE MSEG-MJAHR,
MATNR LIKE MARD-MATNR, " Material Number
WERKS LIKE MARD-WERKS, " Plant
LGORT LIKE MARD-LGORT, " Storage Location
MENGE LIKE MSEG-MENGE, " Quantity
MEINS LIKE MSEG-MEINS, " UOM
LIFNR LIKE MSEG-LIFNR, " Account Number of Vendor
SHKZG LIKE MSEG-SHKZG, " Credit/Debit Indicator
EBELN LIKE EKPO-EBELN,
MENGE1 LIKE EKPO-MENGE, " Open PO Qty
EINDT LIKE EKET-EINDT,
DISPO LIKE MARC-DISPO, " MRP controller
EKGRP LIKE MARC-EKGRP, " Purchasing Group
MAKTX LIKE MAKT-MAKTX,
END OF X_MSEG.
DATA: V_LMINB(16) TYPE C,
S_LABST(16) TYPE C,
V_TOT_LABST(16) TYPE C,
S_ISSUE(16) TYPE C,
S_RECEIPT(16) TYPE C,
V_MENGE(16) TYPE C,
V_EINDT(8) TYPE C.
DATA: T_PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
VARIABLES DECLARATION *
DATA : V_SUM TYPE MSEG-MENGE, " Variable for adding GI's to Stock
V_TEMP TYPE MSEG-MENGE, " Variable for adding GI's to Stock
V_TABIX TYPE SY-TABIX, " Loop count
V_ISSUE LIKE MSEG-MENGE, " Variable for calculating YTD issues
V_RECEIPT LIKE MSEG-MENGE, " Var for Calculating YTD Receipts
V_LABST LIKE MARD-LABST, " Var for Total On hand inv at plant
V_MJAHR LIKE MSEG-MJAHR, " Variable for holding the Year
f_color.
*----Declaration to send Email
DATA: IT_PDF LIKE TLINE OCCURS 10 WITH HEADER LINE,
IT_XI_PDF LIKE TLINE OCCURS 0 WITH HEADER LINE,
IT_HTML LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
IT_XI_TEMP LIKE BAPIQCMIME OCCURS 0 WITH HEADER LINE,
IT_XI_MIME(255) TYPE C OCCURS 0 WITH HEADER LINE.
DATA:
LS_DOCDATA TYPE SODOCCHGI1,
LT_OBJPACK TYPE TABLE OF SOPCKLSTI1 WITH HEADER LINE,
LT_OBJHEAD TYPE TABLE OF SOLISTI1 WITH HEADER LINE,
LT_OBJTXT TYPE TABLE OF SOLISTI1 WITH HEADER LINE,
LT_OBJBIN TYPE TABLE OF SOLISTI1 WITH HEADER LINE,
LT_RECLIST TYPE TABLE OF SOMLRECI1 WITH HEADER LINE,
LT_LISTOBJECT TYPE TABLE OF ABAPLIST WITH HEADER LINE,
LT_LISTOBJECTLN(1000) TYPE C,
L_TAB_LINES TYPE I,
L_ATT_TYPE LIKE SOODK-OBJTP.
DATA: IT_OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
Internal table for Single List with Column Length 255
DATA : IT_OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
Internal table for Single List with Column Length 255
DATA : IT_OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
Internal table for Structure of the API Recipient List
DATA : IT_RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
Structure of the API Recipient List
DATA: X_DOC_CHNG LIKE SODOCCHGI1.
SELECTION-SCREEN *
SELECTION-SCREEN BEGIN OF BLOCK S1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
P_WERKS LIKE MARD-WERKS OBLIGATORY. " Plant
SELECT-OPTIONS:
S_BUKRS for mseg-bukrs, " Company code
S_LGORT FOR MARD-LGORT OBLIGATORY, " Storage Location
S_MATNR FOR MARD-MATNR, " Material Number
S_DISPO FOR MARC-DISPO, " MRP Controller
S_DATE FOR SY-DATUM DEFAULT SY-DATUM OBLIGATORY. " Date Range
SELECTION-SCREEN END OF BLOCK S1.
SELECTION-SCREEN BEGIN OF BLOCK S2 WITH FRAME TITLE TEXT-002.
PARAMETERS:
P_MAIL TYPE C AS CHECKBOX. " Mail to user Group
SELECT-OPTIONS:
S_UNAME FOR SY-UNAME NO INTERVALS. " Usergroup id
SELECTION-SCREEN END OF BLOCK S2.
Initialization
INITIALIZATION.
AT S E L E C T I O N - S C R E E N
AT SELECTION-SCREEN.
CHECK SSCRFIELDS-UCOMM EQ 'ONLI'.
PERFORM VALIDATE_MAIL.
PERFORM VALIDATE_DATA.
START-OF-SELECTION *
START-OF-SELECTION.
PERFORM FETCH_DATA.
END-OF-SELECTION *
END-OF-SELECTION.
IF NOT IT_FINAL[] IS INITIAL.
PERFORM DOWNLOAD_DISPLAY_REPORT.
ENDIF.
TOP-OF-PAGE *
TOP-OF-PAGE.
PERFORM PAGE_HEADER.
*& Form Fetch_DATA
Pick data
FORM FETCH_DATA .
DATA : V_EBELN LIKE EKPO-EBELN,
V_EBELP LIKE EKPO-EBELP,
V_MENGE LIKE EKPO-MENGE,
V_EINDT LIKE EKET-EINDT,
V_DISPO LIKE MARC-DISPO,
V_EKGRP LIKE MARC-EKGRP,
V_MAKTX LIKE MAKT-MAKTX.
*----Select data from MARD Table
SELECT MATNR " Material Number
WERKS " Plant
LGORT " Storage Location
LMINB " Reorder Point Level
LABST " Stock with unrestricted use
INTO TABLE IT_MARD
FROM MARD
WHERE MATNR IN S_MATNR AND
WERKS = P_WERKS . "AND
LGORT IN S_LGORT.
D~LMINB <> SPACE .
IF SY-SUBRC = 0.
LOOP AT IT_MARD.
CLEAR : V_EBELN, V_EBELP, V_MENGE, V_EINDT.
*---select data from EKPO table
SELECT EBELN
EBELP
MENGE
UP TO 1 ROWS
FROM EKPO
INTO (V_EBELN, V_EBELP, V_MENGE)
WHERE MATNR = IT_MARD-MATNR AND
WERKS = IT_MARD-WERKS AND
LGORT = IT_MARD-LGORT AND
BUKRS IN S_BUKRS AND
ELIKZ = SPACE.
ENDSELECT.
IF SY-SUBRC = 0.
X_MSEG-EBELN = V_EBELN.
X_MSEG-MENGE1 = V_MENGE.
SELECT EINDT
UP TO 1 ROWS
FROM EKET
INTO V_EINDT
WHERE EBELN = V_EBELN AND
EBELP = V_EBELP.
ENDSELECT.
IF SY-SUBRC = 0.
X_MSEG-EINDT = V_EINDT.
ENDIF.
ENDIF.
*---Select Data from MARC table.
CLEAR : V_DISPO, V_EKGRP.
SELECT DISPO
EKGRP
UP TO 1 ROWS
FROM MARC
INTO (V_DISPO, V_EKGRP)
WHERE MATNR = IT_MARD-MATNR AND
WERKS = IT_MARD-WERKS AND
DISPO IN S_DISPO.
ENDSELECT.
IF SY-SUBRC = 0.
X_MSEG-DISPO = V_DISPO.
X_MSEG-EKGRP = V_EKGRP.
else.
continue.
ENDIF.
*---select Material Description from MAKT
CLEAR V_MAKTX.
SELECT SINGLE MAKTX
FROM MAKT
INTO V_MAKTX
WHERE MATNR = IT_MARD-MATNR AND
SPRAS = SY-LANGU.
IF SY-SUBRC = 0.
X_MSEG-MAKTX = V_MAKTX.
ENDIF.
*----Select data from MSEG Table
SELECT MBLNR
MJAHR
MATNR " Material Number
WERKS " Plant
LGORT " Storage Location
MENGE " Quantity
MEINS " UOM
LIFNR " Account No of Vendor
SHKZG " Credit/Debit Indicator
FROM MSEG
INTO X_MSEG
WHERE MATNR = IT_MARD-MATNR AND
WERKS = IT_MARD-WERKS AND
LGORT = IT_MARD-LGORT AND
BUKRS IN S_BUKRS.
*---Subroutine to check whether the document is in the given date range
PERFORM CHECK_DATE.
ENDSELECT.
ENDLOOP.
ELSE.
STOP.
ENDIF.
*----Select YTD receipts and Issues to date from MSEG
CLEAR : V_MJAHR, V_ISSUE, V_RECEIPT.
IF S_DATE[] IS NOT INITIAL.
V_MJAHR = S_DATE+3(4).
ELSE.
V_MJAHR = SY-DATUM+0(4).
ENDIF.
SELECT MENGE
MEINS
SHKZG
FROM MSEG
INTO TABLE IT_YTD
WHERE WERKS = P_WERKS AND
MJAHR = V_MJAHR.
*--Calculating YTD receipts and Issues
IF SY-SUBRC = 0.
LOOP AT IT_YTD.
IF IT_YTD-SHKZG = 'S'.
V_ISSUE = V_ISSUE + IT_YTD-MENGE.
ELSE.
V_RECEIPT = V_RECEIPT + IT_YTD-MENGE.
ENDIF.
ENDLOOP.
IT_FINAL-ISSUE = V_ISSUE.
IT_FINAL-RECEIPT = V_RECEIPT.
ENDIF.
*-----Logic for printing the material
LOOP AT IT_MSEG.
V_TABIX = SY-TABIX.
AT NEW MATNR.
*----Logic for calculation of Total On hand inv at plant.
*---Sum of all MARD-LABST.
CLEAR V_LABST.
LOOP AT IT_MARD WHERE MATNR = IT_MSEG-MATNR.
V_LABST = V_LABST + IT_MARD-LABST.
ENDLOOP.
IT_FINAL-TOT_LABST = V_LABST.
ENDAT.
AT NEW LGORT.
CLEAR : V_SUM.
ENDAT.
READ TABLE IT_MARD WITH KEY MATNR = IT_MSEG-MATNR
WERKS = IT_MSEG-WERKS
LGORT = IT_MSEG-LGORT.
IF SY-SUBRC = 0 AND IT_MARD-LMINB > 0.
*---Logic for adding/Subtracting GR/GI
IF V_TABIX = 1.
IF IT_MSEG-SHKZG = 'S'.
V_TEMP = IT_MARD-LABST + IT_MSEG-MENGE.
ELSE.
V_TEMP = IT_MARD-LABST - IT_MSEG-MENGE.
ENDIF.
ENDIF.
IF IT_MARD-LABST < IT_MARD-LMINB. "Stock < Reorder Point
*---Check for any goods receipts on the given day. SHKZG = 'S'
IF IT_MSEG-SHKZG = 'S' .
IF V_TABIX = 1.
V_SUM = V_TEMP.
ELSE.
V_SUM = V_SUM + IT_MSEG-MENGE.
ENDIF.
IF V_SUM < IT_MARD-LMINB.
IT_FINAL-MATNR = IT_MARD-MATNR.
IT_FINAL-MAKTX = IT_MSEG-MAKTX.
IT_FINAL-LMINB = IT_MARD-LMINB.
IT_FINAL-MEINS = IT_MSEG-MEINS.
IT_FINAL-LABST = IT_MARD-LABST.
IT_FINAL-DISPO = IT_MSEG-DISPO.
IT_FINAL-EKGRP = IT_MSEG-EKGRP.
IT_FINAL-LIFNR = IT_MSEG-LIFNR.
IT_FINAL-ISSUE = V_ISSUE.
IT_FINAL-RECEIPT = V_RECEIPT.
IT_FINAL-TOT_LABST = V_LABST.
IT_FINAL-EBELN = IT_MSEG-EBELN.
IT_FINAL-MENGE = IT_MSEG-MENGE1.
IT_FINAL-EINDT = IT_MSEG-EINDT.
APPEND IT_FINAL.
CLEAR IT_FINAL.
ENDIF.
ELSE.
*--- If there is no Goods receipt mov't type on the given day, then
*---add all the goods issues to the storage location stock.
*---Goos Receipt = 'S' , Goods Issue = 'H'.
IF V_TABIX = 1.
V_SUM = V_TEMP.
ELSE.
V_SUM = V_SUM - IT_MSEG-MENGE.
ENDIF.
IF V_SUM < IT_MARD-LMINB.
IT_FINAL-MATNR = IT_MARD-MATNR.
IT_FINAL-MAKTX = IT_MSEG-MAKTX.
IT_FINAL-LMINB = IT_MARD-LMINB.
IT_FINAL-MEINS = IT_MSEG-MEINS.
IT_FINAL-LABST = IT_MARD-LABST.
IT_FINAL-DISPO = IT_MSEG-DISPO.
IT_FINAL-EKGRP = IT_MSEG-EKGRP.
IT_FINAL-LIFNR = IT_MSEG-LIFNR.
IT_FINAL-ISSUE = V_ISSUE.
IT_FINAL-RECEIPT = V_RECEIPT.
IT_FINAL-TOT_LABST = V_LABST.
IT_FINAL-EBELN = IT_MSEG-EBELN.
IT_FINAL-MENGE = IT_MSEG-MENGE1.
IT_FINAL-EINDT = IT_MSEG-EINDT.
APPEND IT_FINAL.
CLEAR IT_FINAL.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " Fetch_DATA
*& Form check_date
text
FORM CHECK_DATE .
DATA: LV_BLDAT LIKE MKPF-BLDAT.
SELECT SINGLE BLDAT
FROM MKPF
INTO LV_BLDAT
WHERE MBLNR = X_MSEG-MBLNR AND
MJAHR = X_MSEG-MJAHR AND
BLDAT IN S_DATE.
IF SY-SUBRC = 0.
MOVE : X_MSEG-MATNR TO IT_MSEG-MATNR,
X_MSEG-WERKS TO IT_MSEG-WERKS,
X_MSEG-LGORT TO IT_MSEG-LGORT,
X_MSEG-MENGE TO IT_MSEG-MENGE,
X_MSEG-MEINS TO IT_MSEG-MEINS,
X_MSEG-LIFNR TO IT_MSEG-LIFNR,
X_MSEG-SHKZG TO IT_MSEG-SHKZG,
X_MSEG-EBELN TO IT_MSEG-EBELN,
X_MSEG-MENGE1 TO IT_MSEG-MENGE1,
X_MSEG-EINDT TO IT_MSEG-EINDT,
X_MSEG-DISPO TO IT_MSEG-DISPO,
X_MSEG-EKGRP TO IT_MSEG-EKGRP,
X_MSEG-MAKTX TO IT_MSEG-MAKTX.
APPEND IT_MSEG.
CLEAR IT_MSEG.
ENDIF.
ENDFORM. " check_date
*& Form PAGE_HEADER
To Print page header and other details
FORM PAGE_HEADER . "#EC CALLED
*---Page header
ULINE AT /1(150).
FORMAT COLOR COL_BACKGROUND INTENSIFIED ON .
WRITE:/ 'Run Date:'(t08), SY-DATUM, 50 'Stanley Works'(t07),
110 'Page No:'(t09), SY-PAGNO LEFT-JUSTIFIED.
WRITE:/ 'Run Time:'(t10), SY-UZEIT, 47 SY-TITLE, 110 SY-UNAME.
WRITE:/ 'Source :'(t11), SY-SYSID, 110 SY-CPROG .
ULINE AT /1(150).
WRITE :/1 'Safety Stock Report for Plant :'(t13),P_WERKS.
ENDFORM. "PAGE_HEADER
*& Form VALIDATE_DATA
Subroutine to Validate selection screen data
FORM VALIDATE_DATA .
DATA V_TEMP(20) TYPE C. "#EC NEEDED
*--Validation for Plant.
CLEAR V_TEMP.
SELECT SINGLE WERKS
INTO V_TEMP
FROM T001W
WHERE WERKS = P_WERKS.
IF SY-SUBRC NE 0.
MESSAGE E001(ZZ) WITH 'Invalid Plant'(t03). "#EC *
ENDIF.
*--Validation for Storage Location.
CLEAR V_TEMP.
IF NOT S_LGORT[] IS INITIAL.
SELECT LGORT INTO V_TEMP UP TO 1 ROWS
FROM T001L
WHERE LGORT IN S_LGORT.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E001(ZZ) WITH 'Invalid Storage Location'(t04).
ENDIF.
ENDIF.
*--Validation for Material Number.
CLEAR V_TEMP.
IF NOT S_MATNR[] IS INITIAL.
SELECT MATNR
INTO V_TEMP
UP TO 1 ROWS
FROM MARA
WHERE MATNR IN S_MATNR.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E001(ZZ) WITH 'Invalid Material Number'(t05).
ENDIF.
ENDIF.
*--Validation for MRP controller.
CLEAR V_TEMP.
IF NOT S_DISPO[] IS INITIAL.
SELECT DISPO INTO V_TEMP UP TO 1 ROWS
FROM T024D
WHERE DISPO IN S_DISPO.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE E001(ZZ) WITH 'Invalid MRP Controller'(t06).
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_DATA
*& Form validate_mail
Validate user id
FORM VALIDATE_MAIL .
IF P_MAIL = 'X' AND S_UNAME[] IS INITIAL.
MESSAGE E001(ZZ) WITH 'Enter User Mail id'(t01).
ENDIF.
ENDFORM. " validate_mail
*& Form SEND_MAIL
Send email to SAP inbox
FORM SEND_MAIL .
Structures and internal tables for the send data
DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE,
OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE,
OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE,
RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
DATA: DOC_CHNG LIKE SODOCCHGI1,
TAB_LINES LIKE SY-TABIX.
Data for the status output after sending
DATA: SENT_TO_ALL LIKE SONV-FLAG.
CLEAR: IT_RECLIST, IT_RECLIST[],
IT_OBJTXT , IT_OBJTXT[],
IT_OBJPACK, IT_OBJPACK[],
IT_OBJBIN , IT_OBJBIN[],X_DOC_CHNG.
LOOP AT IT_HTML.
OBJBIN-LINE = IT_HTML-LINE.
APPEND OBJBIN.
CLEAR OBJBIN.
ENDLOOP.
Create the document which is to be sent
DOC_CHNG-OBJ_NAME = 'List'(012).
DOC_CHNG-OBJ_DESCR = 'Mail'(m05).
Heading
OBJTXT-LINE = 'Safety Stock Report attached'(014).
APPEND OBJTXT.
CLEAR OBJTXT.
Size
DESCRIBE TABLE OBJTXT LINES TAB_LINES.
READ TABLE OBJTXT INDEX TAB_LINES.
DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).
Fill the fields of the packing_list for the main document:
CLEAR OBJPACK-TRANSF_BIN.
The document needs no header (head_num = 0)
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
Body
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'RAW'(m02).
APPEND OBJPACK.
Create the attachment (the list itself)
DESCRIBE TABLE OBJBIN LINES TAB_LINES.
Fill the fields of the packing_list for the attachment:
OBJPACK-TRANSF_BIN = 'X'.
Header
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
Body
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'PDF'(m01).
OBJPACK-OBJ_NAME = 'Attachment'(m03).
OBJPACK-OBJ_DESCR = 'Mail with pdf Attachment'(018).
OBJPACK-DOC_SIZE = TAB_LINES * 255.
APPEND OBJPACK.
*-Fill the mail recipient list
LOOP AT S_UNAME.
RECLIST-RECEIVER = S_UNAME-LOW.
RECLIST-REC_TYPE = 'B'.
APPEND RECLIST.
CLEAR: RECLIST.
ENDLOOP.
*-Send the document by calling the SAPoffice API1 module for sending
*-documents with attachments
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
IMPORTING
SENT_TO_ALL = SENT_TO_ALL
TABLES
PACKING_LIST = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
OTHERS = 99.
CASE SY-SUBRC .
WHEN 0.
MESSAGE s001 WITH 'Mail has been sent successfully'(003).
WHEN OTHERS.
MESSAGE s001 WITH 'Problem in sending the mail'(004).
ENDCASE.
ENDFORM. " SEND_MAIL
*& Form download_display_report
Download and dispaly report
FORM DOWNLOAD_DISPLAY_REPORT .
DATA: X_PARAMS TYPE PRI_PARAMS,
V_VALID.
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
IMMEDIATELY = ' '
LAYOUT = 'X_65_255'
NO_DIALOG = 'X'
IMPORTING
OUT_PARAMETERS = X_PARAMS
VALID = V_VALID.
IF V_VALID <> SPACE.
NEW-PAGE PRINT ON PARAMETERS X_PARAMS NO DIALOG.
PERFORM DISPLAY_REPORT.
NEW-PAGE PRINT OFF.
PERFORM CONV_TO_PDF_DOWNLOAD.
ENDIF.
PERFORM DISPLAY_REPORT.
ENDFORM. " download_display_report
*& Form DISPLAY_REPORT
Display the report
FORM DISPLAY_REPORT .
ULINE AT /0(204).
write:/1 sy-vline no-gap, (10)'Material'(032),
sy-vline no-gap, (40)'Description'(031),
sy-vline no-gap, (15)'Reorder pt'(030),
sy-vline no-gap, (03)'BUn'(029),
sy-vline no-gap, (13)'OnHandQty'(023),
sy-vline no-gap, (13)'OnHandPlnt'(024),
sy-vline no-gap, (13)'YTD issues'(025),
sy-vline no-gap, (13)'YTD Receipts'(026),
sy-vline no-gap, (08)'MRPcntrl'(027),
sy-vline no-gap, (04)'POgrp'(028),
sy-vline no-gap, (13)'POqty'(019),
sy-vline no-gap, (10)'NextDelvDt'(020),
sy-vline no-gap, (10)'Vendor'(021),
sy-vline no-gap, (10)'PO#'(022),
sy-vline no-gap.
ULINE AT /0(204).
loop at it_final.
PERFORM COLOR_SWAP.
write:/1 sy-vline no-gap, (10)it_final-matnr,
sy-vline no-gap, (40)it_final-maktx,
sy-vline no-gap, (15)it_final-lminb, "#EC UOM_IN_MES
sy-vline no-gap, (03)it_final-meins,
sy-vline no-gap, (13)it_final-labst, "#EC UOM_IN_MES
sy-vline no-gap, (13)it_final-tot_labst, "#EC UOM_IN_MES
sy-vline no-gap, (13)it_final-issue, "#EC UOM_IN_MES
sy-vline no-gap, (13)it_final-receipt, "#EC UOM_IN_MES
sy-vline no-gap, (08)it_final-dispo,
sy-vline no-gap, (04)it_final-ekgrp,
sy-vline no-gap, (13)it_final-menge, "#EC UOM_IN_MES
sy-vline no-gap, (10)it_final-eindt,
sy-vline no-gap, (10)it_final-lifnr,
sy-vline no-gap, (10)it_final-ebeln,
sy-vline no-gap.
endloop.
ULINE AT /0(204).
skip 2.
WRITE:/ '******End of Report*******'.
ENDFORM. " DISPLAY_REPORT
*& Form CONV_TO_PDF_DOWNLOAD
Convert to PDF
FORM CONV_TO_PDF_DOWNLOAD .
DATA: V_NUMBYTES TYPE I,
V_SPOOLNO TYPE TSP01-RQIDENT.
CLEAR IT_PDF.
REFRESH IT_PDF.
WAIT UP TO 2 SECONDS.
V_SPOOLNO = SY-SPONO.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = V_SPOOLNO
NO_DIALOG = ' '
IMPORTING
PDF_BYTECOUNT = V_NUMBYTES
TABLES
PDF = IT_PDF.
IF SY-SUBRC = 0. "#EC *
PERFORM PAGE_FORMAT.
ENDIF.
ENDFORM. " CONV_TO_PDF_DOWNLOAD
*& Form page_format
Format the page
FORM PAGE_FORMAT .
DATA : L_LINES TYPE I,
L_TEMP(500) TYPE C,
L_OFFSET TYPE P,
L_LINESLEN(2) TYPE P,
L_MIMELEN(2) TYPE P,
L_TABIX LIKE SY-TABIX.
CLEAR : IT_XI_PDF,
IT_XI_TEMP.
REFRESH : IT_XI_PDF,
IT_XI_TEMP.
IT_XI_PDF[] = IT_PDF[].
Reformat the line to 255 characters wide (code from SAP)
CLEAR: L_TEMP, L_OFFSET, IT_XI_TEMP.
DESCRIBE TABLE IT_XI_PDF LINES L_LINES.
DESCRIBE FIELD IT_XI_PDF LENGTH L_LINESLEN IN CHARACTER MODE.
DESCRIBE FIELD IT_XI_TEMP LENGTH L_MIMELEN IN CHARACTER MODE.
LOOP AT IT_XI_PDF.
L_TABIX = SY-TABIX.
MOVE IT_XI_PDF TO L_TEMP+L_OFFSET.
IF L_TABIX = L_LINES.
L_LINESLEN = STRLEN( IT_XI_PDF ).
ENDIF.
L_OFFSET = L_OFFSET + L_LINESLEN.
IF L_OFFSET GE L_MIMELEN.
CLEAR IT_XI_TEMP.
IT_XI_TEMP = L_TEMP(L_MIMELEN).
APPEND IT_XI_TEMP.
SHIFT L_TEMP BY L_MIMELEN PLACES.
L_OFFSET = L_OFFSET - L_MIMELEN.
ENDIF.
IF L_TABIX = L_LINES.
IF L_OFFSET GT 0.
CLEAR IT_XI_TEMP.
IT_XI_TEMP = L_TEMP(L_OFFSET).
APPEND IT_XI_TEMP.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR : IT_XI_MIME,
IT_XI_MIME[].
LOOP AT IT_XI_TEMP.
IT_XI_MIME(255) = IT_XI_TEMP-LINE.
APPEND IT_XI_MIME.
CLEAR IT_XI_MIME.
ENDLOOP.
Final Data
CLEAR : IT_HTML,
IT_HTML[].
IT_HTML[] = IT_XI_MIME[].
For sending mail
PERFORM SEND_MAIL .
ENDFORM. " page_format
Form : color_swap
Description : Subroutine for color
form color_swap.
if flag is set
if f_color eq 'X'.
clear f_color.
switch off the intensity
format color col_normal intensified off.
else.
if flag is not set.
f_color = 'X'.
switch on the intensity
format color col_normal intensified on.
endif.
endform. " color_swap -
Convert SmartForm to Word File or EXCEL,POSSIBLE?
Hi,
I have a requirement to convert a SmartForm to Word File or EXCEL because they need to do some changes in the form.I know how to convert it to PDF but I don't know how to convert it to WORD or EXCEL.I've searched the forum and know i have to use the FM:CONVERT_ITF_TO_RTF.I'm a newbie and can anyone tell me how to use this FM or give me a example.Will it loose all the formatting?Thanks.CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = w_formname
IMPORTING
fm_name = w_fmname.
CALL FUNCTION w_fmname
EXPORTING
control_parameters = cparam
output_options = outop
user_settings = space
IMPORTING
job_output_info = tab_otf_data
TABLES
IT_VBRP = IT_VBAP[].
if sy-subrc IS INITIAL.
ENDIF.
tab_otf_final[] = tab_otf_data-otfdata[] .
*--Start of PDF--
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'DOC''
MAX_LINEWIDTH = 255
ARCHIVE_INDEX = ' '
COPYNUMBER = 0
ASCII_BIDI_VIS2LOG = ' '
PDF_DELETE_OTFTAB = ' '
IMPORTING
BIN_FILESIZE = BIN_FILESIZE
BIN_FILE =
TABLES
OTF = tab_otf_final
LINES = doc_tab
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 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.
DATA : FNAME TYPE STRING .
FNAME = PATH.
concatenate FNAME VBELN '.doc' into FNAME .
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = bin_filesize
FILENAME = fname
FILETYPE = 'BIN'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH = file_size
TABLES
DATA_TAB = doc_tab
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. -
Uable to convert PDF to Word?
Uable to convert PDF to Word. The following error is given: "an error occured while signing in"?
Hello,
I'm sorry you're having trouble. Unfortunately, I'll have to report that the nature of a PDF file is to be uneditable and unchangeable - you may want to think of it as a printed document that's viewable on your screen. As such, it is relatively difficult to convert it to other file formats (since it's really just an image, not data). That being said, you may want to consider trying Adobe Acrobat Pro desktop software, which allows you to convert some PDF files to editable formats or to make certain changes to PDF documents. If you're using Windows, you can find a free 30-day trial of Adobe Acrobat Pro 9 right here:
http://www.adobe.com/products/acrobatpro/tryout.html
(Unfortunately, there is no Mac trial available at this time.)
Best of luck!
Kind regards,
Rebecca -
Problems with converting date in one calendar into another.
I am trying to convert, say, today's date into a Hebrew or Japanese calendar and put it into a form so it can be printed. I can convert date components but I can't get it so that I can use it with NSDateFormatter to print the date - it comes out as a Gregorian date even though printed from an NSDate object derived from a Hebrew calendar object.
Is there any sample code I can look at?I have a compaq 3900 which I sync with ical. I use PocketmacPro.
It is the smoothest sync give it a try.
Isync all my callendars, contacts, transfer word and excell docs.
There tech support is good to -
Convert number to words - eg: 1 should come as "first"
Hi,
Is there any function module which would convert numbers to words in a particular format.
for eg: if input is 2, output should be "second".
if input is twenty, output should be "twentieth".
and likewise...
Thanks in advance,
VishnuHi,
Check this program.
DATA : gv_words TYPE spell.
DATA : n TYPE i.
DATA : BEGIN OF itab OCCURS 0,
split(100),
END OF itab.
PARAMETERS : a TYPE i.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = a
IMPORTING
in_words = gv_words.
WRITE: gv_words-word.
SPLIT gv_words-word AT space INTO TABLE itab.
DESCRIBE TABLE itab LINES n.
READ TABLE itab INDEX n.
PERFORM change_num.
CLEAR: gv_words.
LOOP AT itab.
IF sy-tabix EQ 1.
CONCATENATE gv_words-word itab-split INTO gv_words-word.
ELSE.
CONCATENATE gv_words-word itab-split INTO gv_words-word
SEPARATED BY space.
ENDIF.
ENDLOOP.
WRITE: gv_words-word.
*& Form change_num
* text
* --> p1 text
* <-- p2 text
FORM change_num .
IF itab-split CS 'ONE'.
REPLACE 'ONE' IN itab-split WITH 'FIRST'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'TWO'.
REPLACE 'TWO' IN itab-split WITH 'SECOND'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'THREE'.
REPLACE 'THREE' IN itab-split WITH 'THIRD'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'FOUR'.
REPLACE 'FOUR' IN itab-split WITH 'FOURTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'FIVE'.
REPLACE 'FIVE' IN itab-split WITH 'FIFTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'SIX'.
REPLACE 'SIX' IN itab-split WITH 'SIXTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'SEVEN'.
REPLACE 'SEVEN' IN itab-split WITH 'SEVENTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'EIGHT'.
REPLACE 'EIGHT' IN itab-split WITH 'EIGHTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'NINE'.
REPLACE 'NINE' IN itab-split WITH 'NINTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'TEN'.
REPLACE 'TEN' IN itab-split WITH 'TENTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'ELEVEN'.
REPLACE 'ELEVEN' IN itab-split WITH 'ELEVENTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'TWELVE'.
REPLACE 'TWELVE' IN itab-split WITH 'TWELFTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'TEEN'.
REPLACE 'TEEN' IN itab-split WITH 'TEENTH'.
MODIFY itab INDEX n.
ELSEIF itab-split CS 'TY'.
REPLACE 'TY' IN itab-split WITH 'TIETH'.
MODIFY itab INDEX n.
ELSE. "IF itab-split CS 'D'.
CONCATENATE itab-split 'TH' INTO itab-split.
MODIFY itab INDEX n.
ENDIF.
ENDFORM. " change_num
Your requirement is definitley solved with above program
Regards,
Bhupal -
Just downloaded adobe XI trial and can not convert pdf to word, says trial is period over
just downloaded adobe XI trial and can not convert pdf to word, says trial is period over. what can i do
For some reason this seems to happen to some. It may be that you have a date issue on the machine and Acrobat noted it. By the way, Adobe is the name of the company, not a product.
I have no idea how Adobe sets and tracks the trial information. It may be there is something else that has caused an issue and Acrobat thinks you have already had the trial on the system and uninstalled it. As far as I know, there is nothing you can do. You might be able to check with sales to see if there is a work-around, but users can do nothing to help you.
Sorry, hope you can find a way to test the product. It might also be related to the version of Windows that you did not state. -
Hi,
I want to convert number in words and get the output through a query.
For example :if the value in row is 1311 then I want the query to return it like one thousand three hundreds and eleven.
Any help is highly appreciated.
CheersIt could be better indeed, scope is larger, but problem with 0 still exists.
SQL> select to_char(to_date(0,'J'), 'JSP') as converted_form from dual;
select to_char(to_date(0,'J'), 'JSP') as converted_form from dual
ERROR at line 1:
ORA-01854: julian date must be between 1 and 5373484
SQL> Better to build function as showed by Tom Kyte in the link given earlier.
Nicolas. -
Need to convert Date from calendar to String in the format dd-mom-yyyy
Need to convert Date from calendar to String in the format dd-mom-yyyy+..
This is absolutely necessary... any help plz..
Rgds
ArwinderLook up the SimpleDateFormat class: http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html
Arwinder wrote:
This is absolutely necessary... any help plz..For you maybe, not others. Please refrain from trying to urge others to answer your queries. They'll do it at their own pace ( if at all ).
People on the forum help others voluntarily, it's not their job.
Help them help you.
Learn how to ask questions first: http://faq.javaranch.com/java/HowToAskQuestionsOnJavaRanch
(Yes I know it's on JavaRanch but I think it applies everywhere)
---------------------------------------------------------------- -
Convert multiple files (word docs) to multiple pdf
Hi,
Is there a script I can use in batch processing to convert about 1500 word documents into pdf? I know it's possible to convert multiple files into one pdf, but this is no good to me. Doing these conversions one by one is going to take forever!
I've tried selecting a few documents at a time and then selecting "convert to pdf" from the right-click menu, but each one requires that you tell it where to save, and then opens the file when it is done.
I need to convert Word files on a regular basis for work, and could really use a batch process for this with so many to do!
I have Acrobat 7 Pro (version 7.1.0) on XP Pro SP 2 at work, and Acrobat 8 Pro (Version 8.1.2) on XP Pro SP 3 at home.
If there is anyway it's possible to do this via a batch process I would really appreciate knowing how!!
Apologies if this has been covered in another thread, I searched but couldn't find anything.
Thanks in advance :)I have Acrobat 9 Pro. I can batch convert Word docs to PDFs by doing this:
1. Open Acrobat Pro. Click File > Create PDF > Batch Create Multiple Files...
2. A window will open prompting you to add files. Click Add Files > Add Files... OR Add Folders... If adding a folder, navigate to it, and click OK to add it to the list. You can also select a bunch of files and drag & drop them into the Add Files window.
3. Once you have all the files listed that you want to convert, click OK. A new window called Output Options will open. In this window, select your preferred settings. For me, I want all the new PDFs to have the same filename and be in the same folder as the Word docs, so I choose these settings:
4. Click OK, and then the batch process will begin running. You will see Word opening and closing. However, you won't have to click Save or anything. You can run it unattended. The process takes a little while, so I usually set up a batch to run, then go to lunch. Once finished, you should have all your new PDFs:
Hope that helps someone! -
What is the best way to load and convert data from a flat file?
Hi,
I want to load data from a flat file, convert dates, numbers and some fields with custom logic (e.g. 0,1 into N,Y) to the correct format.
The rows where all to_number, to_date and custom conversions succeed should go into table STG_OK. If some conversion fails (due to an illegal format in the flat file), those rows (where the conversion raises some exception) should go into table STG_ERR.
What is the best and easiest way to archive this?
Thanks,
Carsten.Hi,
thanks for your answers so far!
I gave them a thought and came up with two different alternatives:
Alternative 1
I load the data from the flat file into a staging table using sqlldr. I convert the data to the target format using sqlldr expressions.
The columns of the staging table have the target format (date, number).
The rows that cannot be loaded go into a bad file. I manually load the data from the bad file (without any conversion) into the error table.
Alternative 2
The columns of the staging table are all of type varchar2 regardless of the target format.
I define data rules for all columns that require a later conversion.
I load the data from the flat file into the staging table using external table or sqlldr without any data conversion.
The rows that cannot be loaded go automatically into the error table.
When I read the data from the staging table, I can safely convert it since it is already checked by the rules.
What I dislike in alternative 1 is that I manually have to create a second file and a second mapping (ok, I can automate this using OMB*Plus).
Further, I would prefer using expressions in the mapping for converting the data.
What I dislike in alternative 2 is that I have to create a data rule and a conversion expression and then keep the data rule and the conversion expression in sync (in case of changes of the file format).
I also would prefer to have the data in the staging table in the target format. Well, I might load it into a second staging table with columns having the target format. But that's another mapping and a lot of i/o.
As far as I know I need the data quality option for using data rules, is that true?
Is there another alternative without any of these drawbacks?
Otherwise I think I will go for alternative 1.
Thanks,
Carsten.
Maybe you are looking for
-
How can I add social media icons to my email signature in thunderbird?
Hi there, I have already a signature with my logo but I would also like to add some social media icons. Do you know how can I do that? Thanks K.
-
Firefox 3.6 allowed me to play games, Firefox 4 upgrade doesn't.Question After updating to Firefox 4, I have lost 4 plugins/add ons due to their NOT being compatible. I can no longer play my bejewelled game. Please help me here. Can I get Firefx 3.6
-
Withholding tax details - mass change
Hi All, We have the requirement of changing the customer/vendor master withholding tax details (tables LFBW / KNBW). we have tried using XD99. however XD99 does not update table KNBW. For vendors, we tried XK99 which can be used for changing fields o
-
Can't see shared iPhoto library
Computer A can't see Computer B's shared iPhoto library, but B can see A's. Both are running identical versions of iPhoto. Both can see each other's iTunes library. Both can connect to each other over the network and transfer files to and fro (they'r
-
Badly needed please help.
i dont have browser configuration service book entries. how can i enable browser on my blackberry 8520?