OTF TO PDF IN SCREEN PROGRAMMING
in module pool it is showing that, "OTF end command // missing in OTF "
when iam running my program
IF OK_CODE = 'BACK' .
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
ARCHIVE_INDEX = ' '
COPYNUMBER = 0
ASCII_BIDI_VIS2LOG = ' '
IMPORTING
BIN_FILESIZE = w_line
BIN_FILE =
TABLES
otf = IT_ITCOO
lines = IT_TLINE
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.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = W_LINE
CODEPAGE = ' '
FILENAME = 'd:\test.PDF'
FILETYPE = 'BIN'
MODE = ' '
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
COL_SELECT = ' '
COL_SELECTMASK = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH = W_LINE1
TABLES
data_tab = IT_ITCOO
FIELDNAMES =
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
NO_AUTHORITY = 10
OTHERS = 11
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF .
Hi,
Check this program for reference :RSTXPDFT and check the contents of the IT_ITCOO table , the contents will start like below format in IT_ITCOO .
TDPRINTCOM TDPRINTPAR
// XXXXXXXXX - first line
// XXXXXXXXX - last line.
Laxman
Similar Messages
-
Converting Script from OTF to PDF format
Hi Experts,
Using FM CONVERT_OTF in SAP Script print program I am converting data of Script from OTF to PDF format but the data in PDF document srinks and looks like slightly overlapping one leter on the other, can any ony please tell me that how can I avaoid this.
Thanks in Advance
Best Regards
VenkatDear Venkatesh,
I have the same scenario. I have to convert Script to PDF and then write it to FTP Server.
Could you please provide me the code which you have used?
Regards,
Chaitanya A -
OTF to PDF - Getting blank PDF Internal table with CONVERT_OTF func module
All
i've captured OTF from smartforms and tried converting to PDF through 'CONVERT_OTF_2_PDF' FUNCTIOn module and after emailing to external email id, i found logo is completely disturbed (characters in logo got mixed up)..... later i tried converting with ''CONVERT_OTF' function module, but here i'm getting blank PDF internal table....
what am i missing in both ?
my intention is converting otf to pdf and emailing...though there are thousands of similar threads are available , none of them are related to my exact problem, which is logo is getting mixed up or disturbed.... any suggestions ?
Thanks in advanceHi,
You need to use the function module SX_OBJECT_CONVERT_OTF_PDF to create the PDF from OTF ..
Here is an example program
report ZPDFPRNT no standard page heading.
TABLES: TST05.
DATA: BEGIN OF ITAB OCCURS 0,
TLINE(255),
END OF ITAB.
DATA: BEGIN OF ITAB2 OCCURS 0,
TLINE(255),
END OF ITAB2.
DATA: BEGIN OF ITAB3 OCCURS 0,
TLINE(255),
END OF ITAB3.
DATA: BEGIN OF OTF_TAB OCCURS 0,
TLINE(255),
END OF OTF_TAB.
DATA: LEN_OUT LIKE SOOD-OBJLEN.
DATA: LEN_IN LIKE SOOD-OBJLEN.
DATA: BEGIN OF DATA_SET OCCURS 200,
DATA_LENGTH(5),
PRECOL(1),
DATA_LINE(1000),
END OF DATA_SET.
DATA: BEGIN OF OTF_PAGE OCCURS 200.
INCLUDE STRUCTURE ITCOO.
DATA: END OF OTF_PAGE,
OTF_PAGES TYPE P,
OTF_MAX_PAGES TYPE P VALUE 10.
DATA: BEGIN OF OTF_CONTROL.
INCLUDE STRUCTURE ITCPP.
DATA: END OF OTF_CONTROL,
FORCE_RAW_OTF VALUE ' ',
L100_EXCLUDE(4) VALUE 'OTFJ',
BEGIN OF OTF_PAGE_INDEX OCCURS 20,
LINE_NUM TYPE P,
END OF OTF_PAGE_INDEX,
CUR_OTF_PAGE VALUE 1.
DATA: DATA_SET_LINECOUNT TYPE P,
DATA_SET_MAX_LINES TYPE P VALUE 100000,
DATA_SET_VALID TYPE C VALUE ' ',
DATA_SET_IS_OTF TYPE C VALUE ' ',
DATA_SET_LENGTH(5) TYPE C,
LINE_SPECIAL LIKE DATA_SET-DATA_LINE,
NEED_LINE_SPECIAL TYPE C,
DSN_TYPE(8) TYPE C.
DATA: FCODE(4) TYPE C,
DATE TYPE D,
TIME TYPE T,
RC(10) TYPE C,
ERRMSG(100) TYPE C,
PRINTJOB_CREATED(1) TYPE C,
PRINTJOB_CLEARED(1) TYPE C,
PRINTJOB_LIST(1) TYPE C,
DISPLAY_MODE(1) TYPE C,
LINE_MAX TYPE P VALUE '100000',
NEW_SCREEN_300(1) TYPE C,
MULTI_PRINT_300(1) TYPE C,
PRINT_ALL_300(1) TYPE C,
PRINT_COUNT_300 TYPE I,
SHOW_USER_100 TYPE C VALUE ' ',
ERROR_DISPLAY_LEVEL TYPE C VALUE '9',
NEXT_ERROR_DISPLAY_LEVEL TYPE C,
PREV_ERROR_DISPLAY_LEVEL TYPE C,
START_300(5) TYPE C, END_300(5) TYPE C,
SEP LIKE SY-VLINE,
DEFAULT_PRI,
TSP01_BUF LIKE TSP01,
TSP01_CURLINE LIKE SY-STARO,
TSP01_CURCOL LIKE SY-CUCOL,
TSP01_CURROW LIKE SY-CUROW.
DATA: BEGIN OF DATA_SET_LINE,
DATA_LENGTH(5),
PRECOL(1),
DATA_LINE(1000),
END OF DATA_SET_LINE.
DATA: STATUS LIKE SY-SUBRC.
DATA: WGF_MESSAGE(80).
DATA: H_PATH(20) TYPE C.
DATA: H_MASK(20) TYPE C VALUE ',.pdf ,.pdf. '.
DATA: FILE_NAME(20).
DATA: FILENAME LIKE RLGRAP-FILENAME.
DATA: IMPORT(132).
PARAMETERS: IDENT(5) TYPE C.
PERFORM GET_OTF_TAB.
LOOP AT OTF_PAGE.
OTF_TAB-TLINE = OTF_PAGE.
APPEND OTF_TAB.
ENDLOOP.
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
FORMAT_SRC = 'OTF'
FORMAT_DST = 'PDF'
DEVTYPE = 'ASCIIPRI'
LEN_IN = LEN_IN
IMPORTING
LEN_OUT = LEN_OUT
TABLES
CONTENT_IN = OTF_TAB
CONTENT_OUT = ITAB2
EXCEPTIONS
ERR_CONV_FAILED = 1
OTHERS = 2.
PERFORM GET_PATH USING 'PDF_FILE'.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = FILENAME
FILETYPE = 'BIN'
BIN_FILESIZE = LEN_OUT
TABLES
DATA_TAB = ITAB2
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
OTHERS = 8.
*& Form GET_OTF_TAB
FORM GET_OTF_TAB.
DATA: PART(4) VALUE '0001',
BEGIN OF MSG,
A(40),
B(40),
C(40),
END OF MSG.
REFRESH DATA_SET.
DATA_SET_LINECOUNT = 0.
DATA_SET_IS_OTF = ' '.
OTF_PAGES = 0.
REFRESH OTF_PAGE_INDEX.
CALL 'RSPOACSD'.
SELECT * FROM TST05 WHERE DTHREAD = 'X'.
CALL 'RSPOAOSD'
ID 'ID' FIELD IDENT
ID 'TYPE' FIELD TST05-DTYPE
ID 'RECTYP' FIELD 'VYL----'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
IF STATUS = 0.
DSN_TYPE = TST05-DTYPE.
IF DSN_TYPE(3) = 'OTF'.
DATA_SET_IS_OTF = 'X'.
ENDIF.
ENDIF.
IF STATUS <> 24. EXIT. ENDIF.
ENDSELECT.
DATA_SET_VALID = 'X'.
DATA_SET_MAX_LINES = ( LINE_MAX * '1.1' ) + 100.
DO.
CLEAR: DATA_SET_LINE, DATA_SET_LENGTH.
CALL 'RSPOARSD'
ID 'BUFF' FIELD DATA_SET_LINE+5
ID 'DATALEN' FIELD DATA_SET_LENGTH
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
IF STATUS = 36.
WHILE STATUS = 36.
CALL 'RSPOACSD'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
ADD 1 TO PART.
IF DATA_SET_IS_OTF = ' '.
CALL 'RSPOAOSD'
ID 'ID' FIELD IDENT
ID 'TYPE' FIELD DSN_TYPE
ID 'PART' FIELD PART
ID 'RECTYP' FIELD 'VYL----'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
ELSE.
CALL 'RSPOAOSD'
ID 'ID' FIELD IDENT
ID 'PART' FIELD PART
ID 'TYPE' FIELD DSN_TYPE
ID 'RECTYP' FIELD 'VYL----'
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
ENDIF.
IF SY-SUBRC NE 0. EXIT. ENDIF.
CLEAR: DATA_SET_LINE, DATA_SET_LENGTH.
CALL 'RSPOARSD'
ID 'BUFF' FIELD DATA_SET_LINE+5
ID 'DATALEN' FIELD DATA_SET_LENGTH
ID 'RC' FIELD RC
ID 'ERRMSG' FIELD ERRMSG.
STATUS = SY-SUBRC.
ENDWHILE.
ENDIF.
IF STATUS <> 0 AND STATUS <> 40. EXIT. ENDIF.
DATA_SET = DATA_SET_LINE.
IF NOT ( DATA_SET_LENGTH IS INITIAL ).
DATA_SET-DATA_LENGTH = DATA_SET_LENGTH - 1.
ENDIF.
APPEND DATA_SET.
ADD 1 TO DATA_SET_LINECOUNT.
IF DATA_SET_IS_OTF = ' '.
IF DATA_SET_LINECOUNT >= DATA_SET_MAX_LINES.
CLEAR DATA_SET.
APPEND DATA_SET.
MOVE '----
' TO DATA_SET-DATA_LINE.
APPEND DATA_SET.
CLEAR DATA_SET.
APPEND DATA_SET.
WRITE: 'Abbruch nach'(029) TO MSG-A.
WRITE: DATA_SET_MAX_LINES TO MSG-B.
WRITE: 'Zeilen.'(030) TO MSG-C.
CONDENSE MSG.
DATA_SET-DATA_LINE = MSG.
APPEND DATA_SET.
EXIT.
ENDIF.
ELSE.
MOVE DATA_SET_LINE-DATA_LINE TO OTF_PAGE.
APPEND OTF_PAGE.
IF OTF_PAGE(2) = 'EP'.
ADD 1 TO OTF_PAGES.
IF OTF_PAGES >= OTF_MAX_PAGES.
MESSAGE S229(PO) WITH OTF_MAX_PAGES.
EXIT.
ENDIF.
ELSEIF OTF_PAGE(2) = 'OP'.
OTF_PAGE_INDEX-LINE_NUM = DATA_SET_LINECOUNT.
APPEND OTF_PAGE_INDEX.
ENDIF.
ENDIF.
ENDDO.
IF STATUS <> 0 AND STATUS <> 12.
CALL 'RSPOACSD'.
MESSAGE E112(PO) WITH STATUS RC ERRMSG.
ENDIF.
CALL 'RSPOACSD'.
STATUS = SY-SUBRC.
IF STATUS <> 0.
MESSAGE E112(PO) WITH STATUS RC ERRMSG.
ENDIF.
ENDFORM. " GET_OTF_TAB
*& Form GET_PATH
FORM GET_PATH USING P_FILENAME.
CLEAR: H_PATH, FILE_NAME.
FILE_NAME = P_FILENAME.
CALL FUNCTION 'WS_QUERY'
EXPORTING
QUERY = 'CD' "// Current Directory
IMPORTING
RETURN = H_PATH.
CONCATENATE FILE_NAME '.pdf' INTO FILE_NAME.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = FILE_NAME
DEF_PATH = H_PATH
MASK = H_MASK
MODE = 'O'
IMPORTING
FILENAME = FILENAME"dbname
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
ENDFORM. " GET_PATH
Regards
Sudheer -
How call FM otf to pdf in a report
Hi,
I am working on a code of a sapscript and i am facing the problem when i execute it does not shows the line in it and i want to use the FM converting OTF TO PDF. i know there is a system program RSTXPDFT4 which performs the same functionality but i have to assign a seperate tcode for it and tell the user how to generate the spool request for it and then download it. Thats why i want to use the FM for it so that the user can able to have the proper print out of it.
plzz provide me guidelines for solving this problem.hi,
i am usig the code for converting the otf to pdf in my code. but i don't know how to make exact functionlity of it as i execute in the normal way . Here's the code:-
FORM close_form .
CALL FUNCTION 'CLOSE_FORM'
TABLES
OTFDATA = DATAB
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
codepage = 5
OTHERS = 6
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. " CLOSE_FORM
FORM PDF.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
IMPORTING
BIN_FILESIZE = BINFILESIZE
TABLES
OTF = DAtab[]
LINES = PDFtab[].
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
CHANGING
filename = FILE_NAME
path = FILE_PATH
fullpath = FULL_PATH.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = binfilesize
FILENAME = full_path
FILETYPE = 'BIN'
tables
data_tab = PDFTAB[]
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.
ENDFORM.
please provide me guidelines to solve this problem .
Edited by: ricx .s on May 22, 2009 5:19 AM
Edited by: ricx .s on May 22, 2009 10:17 AM -
Image Distortion when viewing PDF on screen
I work for a company that puts together presentations for clients. In the past we've always used PowerPoint, but are looking into pdfs as a cleaner, more elegant end product.
While experimenting with this process, I've noticed that images I use on my pages look distorted on screen. Images with transparency often have black lines between transparent and opaque parts of the image. Also, outlines do not have consistent thicknesses. These problems only seem to occur when viewing the pdf on screen. Everything looks perfect in the authoring program (InDesign) as well as printed, but our finished product is intended for on-screen viewing so that's where it needs to look its best.
I'm using Illustrator CS4 to create most of the illustrations and graphics, then placing them into a multipage InDesign CS4 document and export that as a pdf. Then I finish things up in Acrobat 9. I've tried saving the graphics in every format I can think of (that allows for transparency) and have not yet found one that reliably looks good in full-screen mode as a pdf.
I'm curious if anyone else has run into this problem or might be able to help me. Thanks!We're having the same problem with legal documents that contain underlining. The underlining looks fine in the source document and the printed PDF. But, when the PDF is viewed online, some of the underlining looks much thicker than it's supposed to be. If the document is viewed at 175% zoom, it looks fine, but anything less than that displays the distorted underlining.
Our internal client is not happy about this, so we're looking for answers, too. -
Cannot print to any printer, or to pdf, from any program
I have successfully installed 2 different printers (Canon iRC2880 and Epson DBAA77) but when I choose to print to either, or to PDF in any program a dialogue box says that it can not print due to an 'unknown problem'. I have deleted and re-installed printers and I have tried all the stages here:
http://support.apple.com/kb/TS3140
including the reset printer systemHopefully some of this may help:
Tutorial: Resolving common printer problems
Mac OS X offers a robust printing system with built-in support for hundreds of devices from a wide body of manufacturers. It's not without flaws, however, and printers often become unrecognized or non-functional after a significant Mac OS X update. Printers connected through hubs or AirPort base stations can also exhibit some frustrating issues.
Below is a run-down of the most generally successful printer workarounds. Keep trying until one of them sticks.
Use Printer Setup Repair This tool lets you verify properties of the root user, the Printing Services (lp) user, and Print Operators (lp) groups, reset the printing system, perform CUPS maintenance and more. Run through its set of maintenance tasks before delving into further printer troubleshooting.
See how to use it in this article.
Re-install CUPS If you are experiencing printer issues after applying an incremental Mac OS X update, problems may have occurred with your CUPS installation during the update process.
The file is available from this Web site: http://www.cups.org/software.php, and you should use the latest file with a .dmg extension.
Delete then re-add printers/Reset printing system Open Printer Setup Utility, located in Applications/Utilities and look at the "Printer List" Highlight and delete all entries.
Alternatively, go to the "Printer Setup Utility" menu at the top of the screen and select "Reset Printing System".
Click the "Add" button and re-add your printer(s).
Gutenprint and usbtb Some users have been able to resolve printer communication issues by installing the excellent open-source Epson printer drivers available as part of the Gutenprint package (formerly known as Gimp-print) and usbtb, a CUPS back-end for USB printing.
Remove non-required drivers Removing extraneous drivers from /Library/Printers(name of manufacturer) can sometimes resolve printer issues. Remove files that are for other models than your own.
Re-install drivers Re-installation of printer drivers from original media or from a Web download (either directly through the manufacturers site or via a search by model/manufacturer on VersionTracker) can resolve some printer issues.
Try disconnecting from network In some cases, LAN-connected printer, seemingly broken by the Mac OS X update can restored to normal operation by simply disconnecting the device from the network then re-connecting it.
"Communicator Error" -- try power cycling If you receive a "Communication Error" message when attempting to print after updating to Mac OS X 10.4.5, the first workaround you should try is power cycling the printer, as well as disconnecting then re-connecting it to the Mac.
Connecting directly to the Mac If you are having printer problems and are using an external USB hub, try connecting the printer directly to your Mac.
One reader who had success with this method writes:
"Unfortunately the update to Mac OS X 10.4.6 has eliminated the ability to use my Lexmark Z600 series USB printer on my iMac G5 20" iSight (rev C).
"I resolved the problem via the following: I unplugged my external USB hub and plugged the printer directly to my computer."
Disconnect from AirPort and reset For those who are using printers connected to an AirPort Express, Extreme or another wireless device with USB connections, you might want to try the following:
1. Disconnect the printer from the AirPort unit (or other router)
2. Wait a few minutes
3. Plug it back in
4. Restart the base station unit
5. Check for your printer to appear in AirPort Admin Utility (located in Applications/Utilities)
Print one copy In some cases, using print one copy instead of the standard print command can result in elimination of crashes that occur during printing.
Try IP printing instead of AppleTalk Some Macs are unable to see AppleTalk printers that are located on the local AirPort (or other wireless) network. Several users have been able to workaround this issue by using IP printing instead of AppleTalk. Delete .plist files Though this workaround will erasing current printer settings, try deleting the following files from ~/Library/Preferences:
• com.apple.print.custompresets.plist
• com.apple.print.PrintingPrefs.plist
• com.apple.print.PrinterProxy.plist
• com.apple.print.PrintCenter.plist
• com.apple.print.favorites.plist
then re-establishing your printer in Printer Setup Utility (located in /Applications/Utilities/ by clicking the "Add..." button and following the on-screen steps.
Re-apply combo updater Try re-applying the current version of the Mac OS X combination updater, available from Apple's download page. Certain printer-related components can be damaged during the Mac OS X update process, or otherwise, and re-installing the combo updater may replace these faulty parts.
Last resort -- Archive and Install As a last resort, try performing the somewhat tedious Archive and Install process, then re-upgrading to the current version of Mac OS X. -
EnjoySAP + Screen Programming
Hello Friends,
I have few confusion and would be great if some one help me to solve them
1)What is basically EnjoySAP, is it an alternative technology to do Screen Programming ?
2)Is dialog programming and screen programming is same, or they have different approach, if different, what is the difference between dialog programming and screen programming.
Would be appriciated if some one point out any resource in this regard,
With Regards,
Haider Syed.Hi Haider
I see you got some answers, however here is my explanation.
EnjoySAP is the new face of SAP in a design aspect. With this new design perspective SAP developed a new user interface and new programs whereas keeping old ones for backward compatibility (e.g. ME21 and ME21N).
Moreover, with EnjoySAP, SAP delivered <b>EnjoySAP controls</b> (ALV Grid, ALV Tree, Data Provider, HTML viewer, picture viewer, etc...) providing flexibility, user-friendliness, reusability and visuality based on CFW Control FrameWork developeed by SAP architects.
There are some number of books you can refer to:
e.g.
<a href="http://www.sap.info/index.php4?ACTION=noframe&url=http://www.sap.info/public/en/bookstore.php4/page/0/book/Book-157663c97181f97cf4">Programming with Controls in ABAP Controls Technology 4.6</a>
<a href="http://www.buch.de/buch/00906/835_dialogprogrammierung_mit_enjoysap_controls.html">Dialogprogrammierung mit EnjoySAP Controls (Deutsch)</a>
The standard SAP course relevant to EnjoySAP Controls is <b>BC412 (ABAP Dialog Programming using EnjoySAP Controls)
</b>
For example, you can refer to the tutorial <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/an%20easy%20reference%20for%20alv%20grid%20control.pdf">"An Easy Reference for ALV Grid Control"</a> to look for features of ALV Grid Control.
For your second question, screen programming is dialog programming. You can use both in place of eachother. The names differs just when you look from different aspects.
Hope this musch helps...
Regards
*--Serdar
[email protected] -
Complete abap pdf file & screen shots
hi abapers iam beginner to abap where can i get pdf files & screen shots to become good abaper
Hi,
Goto transaction ABAPDOCU . You can see a lot of demo programs for almost everything in SAP ABAP.
press F1 on each keyword to know more about that
And help.sap may also help you.
Regards,
Pankaj -
Issue with Uploading OTF converted PDF file on application server...
Hello Gurus,
I want to download otf converted pdf data on application server. I am using following but it does not work ?
data: i_pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE,
wa_pdf_tab like tline,
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
max_linewidth = 132
IMPORTING
BIN_FILESIZE = w_bin_filesize
TABLES
OTF = I_OTFDATA
LINES = i_pdf_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.
concatenate './' 'ARCH_' SY-DATUM '_' SY-UZEIT INTO FILENAME.
OPEN DATASET FILENAME FOR output in text mode encoding default.
loop at i_pdf_tab INTO wa_pdf_tab.
TRANSFER wa_pdf_tab TO FILENAME .
ENDLOOP.
CLOSE DATASET FILENAME.
After this I am using CG3Y to downlaod the file created on application server to front end with "Transfer format data" as BIN.
But it dos not work.
Please hlep.
Regards,
Rajesh.Instead of CG3Y use this code.
DATA : p_sour TYPE string VALUE '\\usr\sap\trans\tmp\test.pdf',
p_dest TYPE string VALUE 'c:\test.pdf'.
CALL METHOD cl_gui_frontend_services=>file_copy
EXPORTING
SOURCE = p_sour
destination = p_dest
overwrite = SPACE -
FIle path in Screen Programming
Hi I am new to screen programming.
My program would pick a file from desktop and process it.
I am a bit confused how would I give the file path. Should it be a input/output field??
I want something like,
PARAMETERS: filename TYPE text255 OBLIGATORY.
ANy suggestions.
Ster.Hi,
Try this code ..
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME.
SELECTION-SCREEN: END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
field_name = p_file
CHANGING
file_name = p_file.
DATA : lv_file TYPE string.
IF P_FILE IS NOT INITIAL.
lv_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
DAT_MODE = ' '
tables
data_tab = LT_ITAB
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
Regards,
Saran -
How to view pdf when screen is black
Still unable to view pdf because screen is black. Have gotten rid of library plug ins and done restart but still unable to view pdf files.
Is this in Safari or Preview?
You really need to use the "AdobePDFViewerNPAPI.plugin" for Safari which comes with the Adobe Reader installation. Then you'll be able to see PDF files in Safari just find. I would also select Adobe Reader as your default application for opening and viewing PDF files. Preview just does a bad job with some PDF files.
Good luck,
Clinton -
Version 8.1 Can't Activate, Can't Update, Can't create/export NX *.prt Files to 3D PDF. Screen Capture feature does not properly represent Model/Bodies. Printing from NX does not recognize Adobe Acrobat 3D as a printer to try and export.
I was able to register it though.Not a surprise. The Acrobat 8 product family passed into End of Support back in 2011.
Be well... -
What are methods for converting otf to pdf format in sap script
Hi,
I have a requirement in script i have to convert that that otf file to pdf format,when i use function modules its corrupting that pdf file,So i want convert otf to pdf using class method any one can help me for that.If any sample coding for class method.
Thanks.ok
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
* max_linewidth = 255
IMPORTING
bin_filesize = lv_bin_filesize
* bin_file = pdf_xstring
TABLES
otf = lt_otf
lines = lt_pdf_table
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
OTHERS = 5.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = lv_bin_filesize
filename = c_name
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 = ' '
* WRITE_LF_AFTER_LAST_LINE = ABAP_TRUE
* SHOW_TRANSFER_STATUS = ABAP_TRUE
* VIRUS_SCAN_PROFILE = '/SCET/GUI_DOWNLOAD'
* IMPORTING
* FILELENGTH =
TABLES
data_tab = lt_pdf_table
* 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.
TRY.
GET PARAMETER ID 'RECEIPTENT' FIELD lvs_recipient1.
send_request = cl_bcs=>create_persistent( ).
* lt_attach_bin = cl_document_bcs=>xstring_to_solix( ip_xstring = lt_solix ).
APPEND 'Test message' TO lt_text.
l_sub_50 = lc_test1.
document = cl_document_bcs=>create_document( i_type = 'RAW'
i_text = lt_text
i_subject = l_sub_50 ).
document->add_attachment( i_attachment_type = 'PDF'
i_attachment_subject = 'script.pdf'
i_att_content_hex = lt_attach_bin ).
l_sub_line = lc_test1.
TRY.
* Build subject line for email.
CALL METHOD send_request->set_message_subject
EXPORTING
ip_subject = l_sub_line.
CATCH cx_send_req_bcs INTO loref_obj_error.
PERFORM sub_catch_error1 USING loref_obj_error.
ENDTRY.
send_request->set_document( document ).
* sender = cl_cam_address_bcs=>create_internet_address( '[email protected]' ).
recipient1 = lvs_recipient1-objkey.
recipient = cl_cam_address_bcs=>create_internet_address( '[email protected]' ).
* send_request->set_sender( sender ).
send_request->add_recipient( i_recipient = recipient
i_express = 'X' ).
sent_to_all = send_request->send( i_with_error_screen = 'X' ).
COMMIT WORK.
CATCH cx_bcs INTO bcs_exception.
MESSAGE 'eee' TYPE 'S'.
EXIT.
ENDTRY. -
I am using Adobe XI Pro for educators.
Every time I try to change a document into a PDF document the program asks me to sign up for a monthly fee. What’s going on???Hi Peter,
Are you still facing this issue.
I am not able to see any product registered under the email id using you are registered here.
Regards,
Ajlan Hulda. -
Hi everyone,
I am currently testing a report in our acceptance box. The report is converting a sapscript form output to OTF. Then the OTF result will be converted to PDF that will be sent to external email address as attachment. However, when I checked the PDF result in acceptance box, it is not of ASCII type. In development box, the PDF result is ASCII. Does this mean that the OTF, PDF settings in the 2 SAP boxes are not the same.
As you can see, this is the converted PDF in dev box. This is working okay.
--> %PDF-1.3##%aaDO##2 0 obj##<<##/Length 3 0 R##/Filter /ASCIIHexDecode##/Length1 5866##/Length2 29788##/Length3 544##>>##stream##25215
But in acceptance box, the codes are different. This one is not working.
--> %PDF-1.3##%aaDO##2 0 obj##<<##/Type /FontDescriptor##/Ascent 720##/CapHeight 660##/Descent -270##/Flags 32##/FontBBox [-177 -269 112
Does this have to do with the OTF, PDF settings defined in the systems? Where should we check the settings of these 2 formats?
Thanks!Hi,
Try to use function module SX_OBJECT_CONVERT_OTF_PDF as shown below:
We had a similar requirement and we need to send email with attachment as the output of SMARTFORM in to PDF.
IF lv_kschl EQ 'Z300'.
*Call function for sales order or return order
CALL FUNCTION lf_fm_name
EXPORTING
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = ls_control_param
mail_recipient = ls_recipient
mail_sender = ls_sender
output_options = ls_composer_param
user_settings = ' '
znast = nast
zvbdka = vbdka
zaddres = addr_key
IMPORTING
document_output_info = document_output_info
job_output_info = job_output_info
job_output_options = job_output_options
TABLES
ztvbdpa = tvbdpa
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
retcode = sy-subrc.
PERFORM protocol_update.
* get SmartForm protocoll and store it in the NAST protocoll
PERFORM add_smfrm_prot.
ENDIF.
IF ls_control_param-getotf = 'X'.
zzotfdata[] = job_output_info-otfdata.
LOOP AT zzotfdata INTO wa_otfdata.
CONCATENATE wa_otfdata-tdprintcom wa_otfdata-tdprintpar INTO wa_pdf.
APPEND wa_pdf TO i_context_txt.
ENDLOOP.
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = 'OTF'
format_dst = 'PDF'
devtype = 'PRINTER'
CHANGING
transfer_bin = wa_tranfer_bin
content_txt = i_context_txt
content_bin = i_content_bin
objhead = i_objhead
len = v_len_in
* EXCEPTIONS
* ERR_CONV_FAILED = 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.
ELSE.
v_size = v_len_in.
EXPORT i_content_bin[] TO MEMORY ID 'ABCD'.
ENDIF.
ENDIF.
KR Jaideep,
Maybe you are looking for
-
When using Cover Flow the image preview in the main window (not the thumbnail list at the bottom) images appear but only use about 1/2 of the window space available. It is also showing black/blank preview images as I scroll through the files even th
-
How to update my ibook G4 with out itunes
how to update my ibook G4 with out itunes
-
HT4236 edited event name will not change on iPad
I edited the spelling of an event name in my Iphoto App., but it will not change after syncing with my Ipad. I tried deselecting the event and then sync the Ipad to delete the event on the Ipad. Then I selected the edited event and then synced the I
-
Using output from pwd in current directory
Hi, I'm new to EEM in IOS-XR or EEM in general. I'm looking to use the output from the CLI in the current vty session and use it as a argument to a TCL-script. Example: RP/0/RSP0/CPU0:Router(config)#router isis 1 RP/0/RSP0/CPU0:Router(config-isis)
-
Help i reset my pc by mistake but have my tunes on my nano
Can anyone tell me is there a way to have my tunes on my ipod placed onto my pc again, or will i lose everything the next time i connect?