Copy sapscript form
Hi all.
I like to know how to copy an existing sapscript form to another new form within the same client.
Is this easy to do or i have to recreate a new form ?
thanks
Joyce
Hi a@s,
It worked and copied to a new form. I assume this copies exactly all text and variables between the two forms,
thanks
Joyce
Similar Messages
-
Copy sapscript form to different language
Hi All,
I'm trying to copy a form that was created in hebrew to the same form name but with language english.
(the original language and the language key are the same now).
I can't find a way to do this.
Does any one have any idea ?
Thanks,
Michal.Go to SE71, enter the form name and the language in which you want to copy to. Click Create. At the next screen, click Form, Copy From. A dialog will appear which you can enter the form name and langauge to copy from. Enter the values and click green check.
Regards,
Rich Heilman -
Copying sapscript form in different languages...
Hi,
I want to use your suggested solutions for my program, then test and only then I can award the points and close the issue . Till then please bear with me ***
I am stuck up with duplicating my medruck program. I choose from menu Utilies--> Copy from client to create a copy, but the original language of medruck is german !! I want a duplicate copy in EN so that i can add a cover page and add my own elements !!
I tried creating a copy, but when I am in EN i am not able to add any new pages !!
why ?? is there any way to solve my problem ??
thanksHi Rad,
Please tru to copy the script with out selecting "Original Language only". Then it will caopy it in to all languages and change the respective layout set as you want.
If you copied Original language only then use T/Code SE71 and Utilities--> convert original language -
Copy SapScript Window to another Form?
Hello,
is it possible to copy a window from an existing SapScript form to another form (on the same client)?
If so, how can this be managed?
Thanks in advance,
Arne SchultzHi Frnds,
We can accomplish this task by following below steps:
1: Go to source window in Script. Click on change editor and make it to New editor then copy the whole/ ur wish .
2. Come to Target window (In Some other script) do as like above and paste here.
Regards
Yuva Thulasi -
Addint new field to the standard sapscript form.
FOR SALES INVOICE DOCUMENT FORM PRINTING
TRANSACTION CODE: VF01
OUTPUT TYPE : FJCI
PROGRAM NAME: RVADAUS1
SAPSCRIPT FORM NAME: SD_EXPORT_FJCI
ENTRY ROUTINE: ENTRY_FJCI.
STRUCTURE USED FOR THIS OUTPUT TYPE = V55EFJCI
THE QUERY IS AS FOLLOWS:
I WANT TO ADD DATA MODE OF TRANSPORT FROM THE INVOICE DOCUMENT. THE TABLE AND FIELD IS T618-BEZEI.
SO I COPIED THE STANDARD FORM TO ZSD_EXPORT_FJCI AND THE STANDARD PROGRAM TO ZRVADAUS1.
I SUCCESSFULLY FETCHED THAT FIELD DATA.
I APPEND THE STRUCTURE 'ZAV55EFJCI' TO ADD THE ADDITIONAL T618-BEZEI FIELD.
AND WRITE MY SELECT QUERY IN THE ENTRY_FJCI FORM ROUTINE.
THE CODE IS AS FOLLOWS:
data: begin of it_mode_of_tp occurs 1,
bezei type t618t-bezei,
end of it_mode_of_tp.
select a~bezei as zzbezei into table it_mode_of_tp from t618t as a
inner join
eikp as b on aexpvz = bexpvz and aland1 = baland inner join vbrk as
c on bexnum = cexnum
where cvbeln = nast-objky and aspras = nast-spras .
loop at it_mode_of_tp.
v55efjci-zzbezei = it_mode_of_tp-bezei.
endloop.
BUT THE DATA FOR THAT IS NOT GETTING DISPLAYED.
THIS WAS THE FIRST METHOD I FOLLOWD.
THE SECOND METHOD I DID WAS AS FOLLOWS:
FORM ENTRY_FJCI.
PERFORM PROCESSING.
ENDFORM
FORM PROCESSING.
PERFORM PRINT_DOCUMENT.
ENDFORM.
FORM PRINT_DOCUMENT.
CALL FUNCTION 'RV_EXPORT_DOCUMENT_PRINT'
ENDFORM.
IN THIS FUNCTION THE DATA IS GETTING FETCHED FROM THE DATABASE TABLES AND STORED IN THE STRUCURE V55EFJCI.
SO I COPIED THAT FUNCTION.
IN THIS FUNCTION , THEIR IS A INCLUDE PROGRAM 'LV55EF11' FOR FETCHING DATA FOR ENTRY_FJCI FORM ROUTINE.
I COPIED THAT PROGRAM CODE , AND CREATED MY OWN INCLUDE PROGRAM (WHICH I AM STORING IT IN ANOTHER Z PACKAGE.)
AND WRITTEN MY ABOVE CODE IN THAT PROGRAM. BUT WHEN I DO THIS, NOITHING GETS DISPLAYED , EVEN THE PREVIOUSLY COMING DATA ALSO NOT GETTING DISPLAYED.
HOW SHOULD I PROCEED.you said you copied layout(form) SD_EXPORT_FJCI to ZSD_EXPORT_FJCI,
you updated program to fetch datat & populate v55efjci-zzbezei field.
Now
- you need to modify layout(form) ZSD_EXPORT_FJCI via SE71 to insert your field in one of the windows where it has to be printed (sap script knowledge is required here).
- you need to either modify SAP output type FJCI to use your program/layout(form) or you need to create your own output type and assign your form/program to it, and in addition to that if you define your own output type - yo have to add it to output determination procedure, to access sequences, add condition records to condition table... so it's picked up by the invoice. -
Missing text elements in my sapscript form / Transaction F.17
Hello!
I'm on a sap ecc 6.0 system and have problems with a sapscript form.
My printprogram is sapf130d and my form is y_..._debi_slep.
Starting the transaction F.17 i get several lists and at last the error-list. This error-list says "in form y_..._debi_slep in the main window the following textelements are missing ...". Three elements 506, 595 and 606 are missing.
When i look into the form i couldn't see the elements. So with "/E 506", "/E 595" and "/E 606" i've inserted the elements in the main window and saved and activated the form. A new try with "F.17" raises the same errors. For my understanding the relevant elements should be in the info window in this case - i inserted them there, too ... but the errors remain the same. In the print program i can find all these textelements.
Perhaps someone out there has a solution or a hint for me?
Thanks a lot in advance.
Best regards,
IngoThe cause of error could be of any reason.
1) For driver program SAPF130D, following forms must be used, or customised by copying any of this below forms.. May be this could be one <b>reasons for the error.</b>
Forms
The following forms are used in the standard SAP R/3 System:
Form for Form name
Letter and Reply <b>F130_CONFIRM_01</b>
Check list <b>F130_LIST_01 and F130_LIST_02</b>
Results table <b>F130_RESULT_01 or F130_RESULT_02</b>
Error list <b>F130_ERROR_01 or F130_ERROR_02</b>
If you define your own forms, the form name should contain the identification code "F130".
Regards,
Sairam -
How to add new fields in sap copied standard form using itcsy structure
hi guys,
i want add some fields in sap script copied standard form using itcsy structure.
let me know the procedure with any example.
thanks,
anitha.Hii anitha
plz c code below
Syntax goes like this
/: PERFORM <form> IN PROGRAM <prog>
/: USING &INVAR1&
/: USING &INVAR2&
/: CHANGING &OUTVAR1&
/: CHANGING &OUTVAR2&
/: ENDPERFORM
INVAR1 and INVAR2 are variable symbols and may be of any of the four SAPscript symbol types.
OUTVAR1 and OUTVAR2 are local text symbols and must therefore be character strings.
Example:
In script form
/: PERFORM READ_TEXTS IN PROGRAM 'Z08M1_FORM_EKFORM1'
/: USING &EKKO-EKORG&
/: USING &EKPO-WERKS&
/: USING &EKKO-EKGRP&
/: USING &EKKO-BSTYP&
/: CHANGING &COMPNAME&
/: CHANGING &SENDADR&
/: CHANGING &INVCADR&
/: CHANGING &COMPADR&
/: CHANGING &COVERLTR&
/: CHANGING &SHIPADR&
/: CHANGING &REMINDER&
/: CHANGING &REJECTION&
/: CHANGING &POSTADR&
/: CHANGING &LOGO&
/: ENDPERFORM
In program
FORM Read_texts - To extract the standard texts from the table *
FORM READ_TEXTS TABLES IN_PAR STRUCTURE ITCSY
OUT_PAR STRUCTURE ITCSY.
DATA : L_EKORG TYPE EKORG,
L_WERKS TYPE WERKS_D,
L_BSTYP TYPE BSTYP,
L_EKGRP TYPE BKGRP.
READ TABLE IN_PAR WITH KEY 'EKKO-EKORG' .
CHECK SY-SUBRC = 0.
L_EKORG = IN_PAR-VALUE.
READ TABLE IN_PAR WITH KEY 'EKPO-WERKS' .
CHECK SY-SUBRC = 0.
L_WERKS = IN_PAR-VALUE.
READ TABLE IN_PAR WITH KEY 'EKKO-EKGRP' .
CHECK SY-SUBRC = 0.
L_EKGRP = IN_PAR-VALUE.
READ TABLE IN_PAR WITH KEY 'EKKO-BSTYP' .
CHECK SY-SUBRC = 0.
L_BSTYP = IN_PAR-VALUE.
CLEAR Z08M1_ORG_TEXTS.
SELECT SINGLE * FROM Z08M1_ORG_TEXTS WHERE EKORG = L_EKORG
AND WERKS = L_WERKS
AND EKGRP = L_EKGRP
AND BSTYP = L_BSTYP.
IF SY-SUBRC NE 0.
SELECT SINGLE * FROM Z08M1_ORG_TEXTS WHERE EKORG = L_EKORG
AND WERKS = L_WERKS
AND EKGRP = L_EKGRP
AND BSTYP = SPACE.
ENDIF.
READ TABLE OUT_PAR WITH KEY 'COMPNAME'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_COMP.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'SENDADR'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_ADRS.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'INVCADR'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_INVC.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'COMPADR'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_CPAD.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'COVERLTR'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_COVR.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'SHIPADR'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_SHIP.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'REMINDER'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_RMDR.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'REJECTION'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_RJCT.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'POSTADR'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_POST.
MODIFY OUT_PAR INDEX SY-TABIX.
READ TABLE OUT_PAR WITH KEY 'LOGO'.
OUT_PAR-VALUE = Z08M1_ORG_TEXTS-TXT_LOGO.
MODIFY OUT_PAR INDEX SY-TABIX.
ENDFORM.
reward points if useful
regards
Jaipal -
How to change the Development Class of the SAPSCRIPT FORM
Hi All,
I have transported the old form which needs to be deleted in Test System. Is that possible to create a TR for deletion and send it to Test enivronment?..
Also is it possible to change the development class for a form?
Please help me on this. Urgent!...
Regards,
Ramkumar.Yes, it is possible to change the development class for forms..
Use SE03, transport organiser tools
goto node OBJECT DIRECTORY ENTRY
select node "Change object directory entries"
Execute
goto the next text box after data element, type FORM, give your SAPSCRIPT form name and tick the check box execute... now rightclick on your form and chenge development class..
Now coming to your second question is is not possible to delete a FORM that it is already transported to QA and Production, only way to do this is by doing client copy.. basis will do it for you..
Close the thread once your question is answered.
Regards,
SaiRam -
Include PDF file in a SAPscript Form
Here is a good one. Anyone ever heard of this. I need to somehow import a PDF file into an ABAP program and include it in a sapscript form.
Requirment:
Customer sends a PDF file to our system. We need to take this PDF file and include into a "quote" sapscript form and fax it back to the customer.
If anyone has any other ideas of how I can accomplish this task........PLEASE let me know. Thanks.
Regards,
Rich Heilmani solved a similiar problem by following:
- catch the sapsript-data in otf-format by setting
itcpo-tdgetotf = 'X' at CALL FUNCTION 'OPEN_FORM'
- read the pdf-file from it's source
(i.e. content server)in an internal table
- send the fax with function-module SO_DOCUMENT_SEND_API1.
at least in 4.6c you can add attachements to the fax.
the fax-body is the otf, the attachements are
the pdf-files.
i suppose that your fax-software is able to send the pdf-attachements.
here is some coding i copied from my program. i simplified it to show the main steps, so it won't run immediatly. the form assumes that the otf is filled in table ZT_OTFDATE, the pdf in ZT_PDFDATA and the PDF-filesize is in Z_PDFSIZE.
*& Form FAX
FORM fax CHANGING pe_subrc.
DATA
: ls_docdata TYPE sodocchgi1
, ls_sadrfd TYPE sadrfd
, l_len TYPE i
, lt_packlist TYPE TABLE OF sopcklsti1 WITH HEADER LINE
, lt_head TYPE TABLE OF solisti1 WITH HEADER LINE
, lt_text TYPE TABLE OF solisti1 WITH HEADER LINE
, lt_bin TYPE TABLE OF solisti1 WITH HEADER LINE
, lt_recv TYPE TABLE OF somlreci1 WITH HEADER LINE
, l_lines TYPE i
OTF-Body
CLEAR lt_packlist.
DESCRIBE TABLE zt_otfdata LINES l_lines.
lt_packlist-transf_bin = 'X'.
lt_packlist-head_start = 1.
lt_packlist-head_num = 1.
lt_packlist-doc_type = 'OTF'.
lt_packlist-obj_name = 'Letter'.
lt_packlist-obj_descr = 'Letter'.
lt_packlist-body_start = 1.
lt_packlist-body_num = l_lines.
lt_packlist-doc_size = lt_packlist-body_num * 255.
APPEND lt_packlist.
APPEND tnapr-fonam TO lt_head.
APPEND LINES OF zt_otfdata TO lt_bin.
Attachement
CLEAR lt_packlist.
lt_packlist-transf_bin = 'X'.
lt_packlist-doc_type = 'PDF'.
lt_packlist-obj_name = 'filename'.
lt_packlist-obj_descr = 'a filedescription'.
lt_packlist-head_start = 2.
lt_packlist-head_num = 1.
DESCRIBE TABLE lt_bin LINES l_lines.
lt_packlist-body_start = l_lines + 1.
DESCRIBE TABLE zt_PDFDATA LINES l_lines.
lt_packlist-body_num = l_lines.
lt_packlist-doc_size = Z_PDFSIZE.
APPEND lt_packlist.
APPEND 'filename' TO lt_head.
APPEND LINES OF zt_pdfdata TO lt_bin.
Receiver
ls_sadrfd-rec_state = itcpo-tdteleland.
ls_sadrfd-rec_fax = itcpo-tdtelenum.
lt_recv-receiver = ls_sadrfd.
lt_recv-rec_type = 'F'. " F=FAX U=Email
APPEND lt_recv.
DOCUMENT HEADER
CLEAR ls_docdata.
ls_docdata-obj_name = 'fax name'
ls_docdata-obj_descr = 'fax description'.
ls_docdata-obj_langu = sy-langu.
ls_docdata-obj_sort = sy-datum.
ls_docdata-obj_expdat = sy-datum + 7.
ls_docdata-sensitivty = 'O'.
ls_docdata-obj_prio = '1'.
ls_docdata-NO_CHANGE = ''.
ls_docdata-priority = ls_docdata-obj_prio.
ls_docdata-expiry_dat = ls_docdata-obj_expdat.
ls_docdata-PROC_TYPE = ''.
ls_docdata-PROC_NAME = ''.
ls_docdata-PROC_SYST = ''.
ls_docdata-PROC_CLINT = ''.
ls_docdata-SKIP_SCREN = ''.
ls_docdata-TO_DO_OUT = ''.
ls_docdata-FREE_DEL = ''.
ls_docdata-doc_size = l_len.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = ls_docdata
PUT_IN_OUTBOX = ' '
SENDER_ADDRESS = SY-UNAME
SENDER_ADDRESS_TYPE = 'B'
IMPORTING
SENT_TO_ALL =
NEW_OBJECT_ID =
SENDER_ID =
TABLES
packing_list = lt_packlist
object_header = lt_head
contents_bin = lt_bin
contents_txt = lt_text
CONTENTS_HEX =
OBJECT_PARA =
OBJECT_PARB =
receivers = lt_recv
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
IF sy-subrc <> 0.
pe_subrc = sy-subrc.
PERFORM protocol_update.
ENDIF.
ENDFORM. -
Convert SAPSCRIPT forms to PDF
We need to do a report that can generate several pdfs from a payment run (SAP-FI), so we need to have one pdf for each payment in the run (they are in SAPSCRIPT form).
The program that we use is copy of "J_1AF012" and the we use "SX_OBJECT_CONVERT_OTF_PDF" function to obtain the pdf form, but the changes that we did in the standard were:
a) in the "OPEN_SAPSCRIPT"
*& Form OPEN_SAPSCRIPT
text *
FORM OPEN_SAPSCRIPT.
ITCPO-TDIMMED = '*'. " kz sofort drucken
ITCPO-TDDELETE = '*'. " kz freigbe nach Druck
ITCPO-TDLIFETIME = '7'. " verfalltage
ITCPO-TDPREVIEW = 'X'. " druckansicht
Setting the options
w_options-tdcopies = 1 ."Number of copies
w_options-tdnoprev = c_x."No print preview
w_options-tdgetotf = c_x."Return of OTF table
w_options-tddest = c_locl."Spool: Output device
CALL FUNCTION 'OPEN_FORM' " open form for output
EXPORTING FORM = S_FORM
DIALOG = 'X'
LANGUAGE = 'S'
OPTIONS = ITCPO
OPTIONS = w_options
DEVICE = 'PRINTER'
DEVICE = c_printer
IMPORTING
RESULT = W_RES.
ENDFORM. " OPEN_SAPSCRIPT
b) In the "CLOSE_SAPSCRIPT" :
FORM CLOSE_SAPSCRIPT.
C_ORDEN = C_ORDEN + 1.
shift C_ORDEN left deleting leading space.
CONCATENATE C_PATH C_NAME1 C_ORDEN C_EXTENSION INTO C_NAME.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
RESULT = w_res
TABLES
otfdata = i_otf
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.
c) And we added these functions:
Converting OTF data to single line
LOOP AT i_otf INTO w_otf.
CONCATENATE w_otf-tdprintcom w_otf-tdprintpar
INTO w_pdf.
APPEND w_pdf TO i_content_txt.
ENDLOOP.
Converting to PDF Format
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = c_otf
format_dst = c_pdf
devtype = c_printer
CHANGING
transfer_bin = w_transfer_bin
content_txt = i_content_txt
content_bin = i_content_bin
objhead = i_objhead
len = v_len_in
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.
v_size = v_len_in.
Downloading the PDF File
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = v_size
filename = c_name
filetype = c_bin
TABLES
data_tab = i_content_bin.
When we run the program the error is a dump with:
"DBIF_RSQL_INVALID_CURSOR
CX_SY_OPEN_SQL_DB "
and aparenttly is due to the cursor in BKPF table is closed (or missing) in some of those functions.
We use the "open_form" and "close_form" for each payment document, and we could generate only the first pdf and then the program cancel (to the second pdf) with this mentioned error.
We are on R/3 4.70, 620, and Informix Database.
Please, could you kindly help us???
Best regards,Hola Grisel!
Estoy tratando de armar en pdf las órdenes de pago, pudiste hacerlo? Como lo lograste?
Gracias de antemano por cualquier info que me puedas brindar.
Saludos
Eduardo Puricelli
Hi Grisel,
I'm trying to build in pdf payment orders, could you? As you did it?
Thanks in advance for any info you can give me.
Greetings
Eduardo Puricelli -
How Sapscript form can be send by mail
Hello all,
I want to send a Sapscript form by mail.
I think it should first be converted to PDF form and than need to be send by mail.
I have created a z form which is a copy of standard for medruck and also have changed the standard program SAPFM06P. So I need to add functionality in z program so that i can send the sapscript form by mail.
Can any body let me know the complete process how can i do it?
ThanksHi,
Just follow the below code . I am giving the code which starts from OPEN_FORM. After that one submit program is there u can see the code.
*& Form display_layout
text
--> p1 text
<-- p2 text
FORM display_layout.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX =
ARCHIVE_PARAMS =
device = 'PRINTER'
DIALOG = 'X'
form = 'YFIL_DUNN_01'
LANGUAGE = SY-LANGU
options = itcpo
MAIL_SENDER =
MAIL_RECIPIENT =
MAIL_APPL_OBJECT =
RAW_DATA_INTERFACE = '*'
IMPORTING
LANGUAGE =
NEW_ARCHIVE_PARAMS =
RESULT =
EXCEPTIONS
canceled = 1
device = 2
form = 3
options = 4
unclosed = 5
mail_options = 6
archive_error = 7
invalid_fax_number = 8
more_params_needed_in_batch = 9
spool_error = 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.
LOOP AT i_tab INTO wa_tab.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = '531'
FUNCTION = 'SET'
TYPE = 'BODY'
window = 'MAIN'
IMPORTING
pending_lines = wa_tab.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.
CALL FUNCTION 'CLOSE_FORM'
IMPORTING
result = itcpp
RDI_RESULT =
TABLES
OTFDATA =
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
OTHERS = 5.
IF sy-subrc = 0.
IF ( itcpp-userexit IS INITIAL AND
NOT itcpp-tdspoolid IS INITIAL ).
p_spool = itcpp-tdspoolid.
SUBMIT yfir_mailsend_pdf_attachment WITH p_spool = p_spool
WITH p_kunnr = p_kunnr.
ENDIF.
ENDIF.
ENDFORM. " display_layout
*& Form modify_duedate
text
--> p1 text
<-- p2 text
FORM modify_duedate.
SELECT SINGLE mat_rec_no
mat_rec_date FROM yfi_matno
INTO (v_mat_rec_no, v_mat_rec_date)
WHERE vbeln = wa_tab-vbeln.
CHECK sy-subrc EQ 0.
SELECT SINGLE zterm
FROM vbrk INTO v_zterm
WHERE vbeln EQ wa_tab-vbeln.
CHECK sy-subrc EQ 0.
SELECT SINGLE zdays
FROM yfi_payment INTO v_zdays
WHERE zterm EQ v_zterm.
IF sy-subrc EQ 0.
wa_tab-zfbdt_due = ( v_mat_rec_date + v_zdays ).
wa_tab-due_days = ( sy-datum - wa_tab-zfbdt_due ).
IF wa_tab-due_days LE 0.
wa_tab-due_days = 'N/A'.
ENDIF.
IF ( wa_tab-umskz = 'A' AND wa_tab-shkzg = 'H' ).
wa_tab-zfbdt = ' '.
wa_tab-zfbdt_due = ''.
wa_tab-due_days = ''.
ENDIF.
MODIFY i_tab FROM wa_tab INDEX sy-tabix.
CLEAR: v_mat_rec_no, v_mat_rec_date, v_zterm, v_zdays.
ENDIF.
ENDFORM. " modify_duedate
SUBMIT PROGRAM :
REPORT yfir_mailsend_pdf_attachment MESSAGE-ID yf.
*& Program Name : *
& Author :
*& Creation Date : *
*& Program Type : *
*& SAP Release : *
*& Description : *
*& Transport No : *
*& Transaction : *
*& Send document with OTF/ALI attachment from spool to externalreci-
*& pient. OTF/ALI document is converted to PDF/HTML format duringthe
*& SAPconnect send process.
*& This report serves as example documentation for the function
*& modules SO_NEW_DOCUMENT_ATT_SEND_API1 and SO_DOCUMENT_SEND_API1.
*& Following this example you should be able to develop your own
*& report to send documents with all kinds of attachments.
Creation of the entry for the compressed document
*& TABLES:
TABLES : kna1,
adr6.
*& INTERNAL TABLES:
***********PDF Declaration*******
DATA: BEGIN OF i_spool OCCURS 0,
rqident LIKE tsp01-rqident,
rqo1name LIKE tsp01-rqo1name,
rqclient LIKE tsp01-rqclient,
END OF i_spool.
*& VARIABLES :
DATA: client LIKE tst01-dclient,
name LIKE tst01-dname,
objtype LIKE rststype-type,
type LIKE rststype-type.
DATA: spoolno LIKE tsp01-rqident,
download TYPE c VALUE 'X', "AS CHECKBOX DEFAULT 'X',
p_file LIKE rlgrap-filename
VALUE 'C:\Invoice.pdf', "#EC NOTEXT
otf LIKE itcoo OCCURS 100 WITH HEADER LINE,
cancel,
pdf LIKE tline OCCURS 100 WITH HEADER LINE,
doctab LIKE docs OCCURS 1 WITH HEADER LINE,
numbytes TYPE i,
arc_idx LIKE toa_dara,
pdfspoolid LIKE tsp01-rqident,
jobname LIKE tbtcjob-jobname,
jobcount LIKE tbtcjob-jobcount,
is_otf.
Data Declaration
DATA: docdata LIKE sodocchgi1,
objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objhex LIKE solix OCCURS 10 WITH HEADER LINE,
reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
*objpack-head_start = 1.
*objbin = ' | '. APPEND objbin.
*DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
DATA: tab_lines TYPE i,
doc_size TYPE i,
att_type LIKE soodk-objtp.
objpack-head_start = 1.
*& PARAMETERS:
PARAMETERS : p_spool LIKE tsp01-rqident NO-DISPLAY,
p_kunnr LIKE kna1-kunnr NO-DISPLAY.
*& M A I N P R O C E S S
*& START OF SELECTION.
START-OF-SELECTION.
SELECT SINGLE
adr6~addrnumber
adr6~smtp_addr
FROM adr6
INNER JOIN kna1
ON kna1~adrnr = adr6~addrnumber
INTO CORRESPONDING FIELDS OF adr6
WHERE kna1~kunnr = p_kunnr.
IF sy-subrc = 0.
Create receiver list
reclist-receiver = adr6-smtp_addr. "<-- customer address
reclist-rec_type = 'U'.
APPEND reclist.
ENDIF.
***Convert Spool request to PDF
PERFORM pdf_convert.
docdata-obj_name = 'MAIL_AEIW'.
docdata-obj_descr = 'Dunning'.
Main Text
objtxt = 'Hi,'.
APPEND objtxt.
objtxt = 'Dunning'.
APPEND objtxt.
objtxt = 'Regards'.
APPEND objtxt.
Write Packing List (Main)
DESCRIBE TABLE objtxt LINES tab_lines.
READ TABLE objtxt INDEX tab_lines.
docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
CLEAR objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'RAW'.
APPEND objpack.
Create Message Attachment
Write Packing List (Attachment)
att_type = 'PDF'.
DESCRIBE TABLE objbin LINES tab_lines.
READ TABLE objbin INDEX tab_lines.
*objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
objpack-doc_size = tab_lines * 255.
objpack-transf_bin = 'X'.
objpack-head_start = 1.
objpack-head_num = 1.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = att_type.
objpack-obj_name = 'ATTACHMENT'.
objpack-obj_descr = 'Attached Document'.
APPEND objpack.
*check for not maintaining customer address
IF reclist IS INITIAL.
MESSAGE e000 WITH 'Please Maintain Customer e-Mail ID'.
LEAVE LIST-PROCESSING.
ELSE.
Send Message
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = docdata
put_in_outbox = 'X'
commit_work = 'X' "used from rel.6.10
IMPORTING
SENT_TO_ALL =
NEW_OBJECT_ID =
TABLES
packing_list = objpack
object_header = objhead
contents_bin = objbin
contents_txt = objtxt
CONTENTS_HEX = objhex
OBJECT_PARA =
OBJECT_PARB =
receivers = reclist
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
IF sy-subrc <> 0.
MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
WITH docdata-obj_name.
ELSE.
WRITE 'Mail sent successfully'.
ENDIF.
ENDIF.
WRITE: / 'End of Program'.
*& Form pdf_convert
text
--> p1 text
<-- p2 text
FORM pdf_convert.
DATA: date1 LIKE sy-datum,
time1 LIKE sy-uzeit,
period1 LIKE tsp01-rqcretime.
date1 = sy-datum.
time1 = sy-uzeit.
date1 = date1 - 1.
CONCATENATE date1 time1 INTO period1.
SELECT rqident
rqo1name
rqclient FROM tsp01 INTO TABLE i_spool
WHERE rqowner = sy-uname AND
rqclient = sy-mandt AND
rqident = p_spool.
IF sy-subrc <> 0.
WRITE: / 'No Spool Request created today'(003)
COLOR COL_NEGATIVE.
EXIT.
ENDIF.
SORT i_spool DESCENDING BY rqident.
READ TABLE i_spool INDEX 1.
CALL FUNCTION 'RSTS_GET_ATTRIBUTES'
EXPORTING
authority = 'SP01'
client = i_spool-rqclient
name = i_spool-rqo1name
part = 1
IMPORTING
CHARCO =
CREATER =
CREDATE =
DELDATE =
MAX_CREDATE =
MAX_DELDATE =
NON_UNIQ =
NOOF_PARTS =
RECTYP =
SIZE =
STOTYP =
type = type
objtype = objtype
EXCEPTIONS
fb_error = 1
fb_rsts_other = 2
no_object = 3
no_permission = 4.
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = i_spool-rqident
no_dialog = ' '
DST_DEVICE =
PDF_DESTINATION =
IMPORTING
pdf_bytecount = numbytes
pdf_spoolid = pdfspoolid
OTF_PAGECOUNT =
btc_jobname = jobname
btc_jobcount = jobcount
TABLES
pdf = pdf
EXCEPTIONS
err_no_otf_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_dstdevice = 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.
CASE sy-subrc.
WHEN 0.
WHEN 1.
WRITE: / 'Error On Spool Job'(002)
COLOR COL_NEGATIVE.
EXIT.
WHEN 2.
WRITE: / 'No Permission'(003)
COLOR COL_NEGATIVE.
EXIT.
WHEN 3.
WRITE: / 'Conversion Not Possible'(004)
COLOR COL_NEGATIVE.
EXIT.
WHEN OTHERS.
WRITE: / 'Incorrect Destination Device'(005)
COLOR COL_NEGATIVE.
EXIT.
ENDCASE.
CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
EXPORTING
line_width_src = 134
line_width_dst = 255
TABLES
content_in = pdf
content_out = objbin
EXCEPTIONS
err_line_width_src_too_long = 1
err_line_width_dst_too_long = 2
err_conv_failed = 3
OTHERS = 4.
ENDFORM. " pdf_convert -
How to create a transport for SAPscript form
Hi Gurus,
Good day!
I would like seek an expertise from you guys on how i'll be able to create a transport for the SAPscript form. The form has already been copied from the other boxes by running the program RSTXSCRP.
Appreciate your help. Thanks in advance!
Cheers,
Virgiliohi,
First u create the driver program of the sapscript...ok..
then go to the SE93 and create the T_code of that driver program..
Hope This helps
Regards
RItesh J -
Sending sapscript form to an external mail
i need to send sapscript form to an external mail like for example a yahoo mail from SAP. i need an ABAP code that performs this function. its urgent, please
1) REPORT PROGRAM - RSTXPDFT4 ,
FIRST GENERATE SPOOL REQUEST THEN DOWNLOAD SAPSCRIPT TO PDF FILE ON LOCAL PC.
2) copy this code to send this downloaded form to external mail -
*& Report ZGILL_SENDMAIL_PDF *
REPORT ZGILL_SENDMAIL_PDF .
INCLUDE ZGILL_INCMAIL. "SEE BELOW FOR INCLUDE PROGRAM CODE.
* DATA
DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
DATA : file_name TYPE string.
data : path like PCFILE-PATH.
data : extension(5) type c.
data : name(100) type c.
* SELECTION SCREEN
PARAMETERS : receiver TYPE somlreci1-receiver lower case DEFAULT '[email protected]'.
PARAMETERS : p_file LIKE rlgrap-filename
OBLIGATORY DEFAULT 'C:TEMPSALARY_SLIP1.PDF'.
* AT SELECTION SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CLEAR p_file.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_file.
* START-OF-SELECTION
START-OF-SELECTION.
PERFORM ml_customize USING 'Tst' 'Testing'.
PERFORM ml_addrecp USING receiver 'U'.
PERFORM upl.
PERFORM doconv TABLES itab objbin.
PERFORM ml_prepare USING 'X' extension name.
PERFORM ml_dosend.
SUBMIT rsconn01
WITH mode EQ 'INT'
AND RETURN.
* FORM
FORM upl.
file_name = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = file_name
filetype = 'BIN'
TABLES
data_tab = 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.
path = file_name.
CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
EXPORTING
complete_filename = path
* CHECK_DOS_FORMAT =
IMPORTING
* DRIVE =
EXTENSION = extension
NAME = name
* NAME_WITH_EXT =
* PATH =
EXCEPTIONS
INVALID_DRIVE = 1
INVALID_EXTENSION = 2
INVALID_NAME = 3
INVALID_PATH = 4
OTHERS = 5
ENDFORM. "upl
**********************iNCLUDE pROGRAM*********************************************
*& Include ZGILL_INCMAIL *
* Data
DATA: docdata LIKE sodocchgi1,
objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objhex LIKE solix OCCURS 10 WITH HEADER LINE,
reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
DATA: tab_lines TYPE i,
doc_size TYPE i,
att_type LIKE soodk-objtp.
DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
* FORM
FORM ml_customize USING objname objdesc.
*----------- Clear Variables
CLEAR docdata.
REFRESH objpack.
CLEAR objpack.
REFRESH objhead.
REFRESH objtxt.
CLEAR objtxt.
REFRESH objbin.
CLEAR objbin.
REFRESH objhex.
CLEAR objhex.
REFRESH reclist.
CLEAR reclist.
REFRESH listobject.
CLEAR listobject.
CLEAR tab_lines.
CLEAR doc_size.
CLEAR att_type.
*--------- Set Variables
docdata-obj_name = objname.
docdata-obj_descr = objdesc.
ENDFORM. "ml_customize
* FORM
FORM ml_addrecp USING preceiver prec_type.
CLEAR reclist.
reclist-receiver = preceiver.
reclist-rec_type = prec_type.
APPEND reclist.
ENDFORM. "ml_customize
* FORM
FORM ml_addtxt USING ptxt.
CLEAR objtxt.
objtxt = ptxt.
APPEND objtxt.
ENDFORM. "ml_customize
* FORM
FORM ml_prepare USING bypassmemory whatatt_type whatname.
IF bypassmemory = ''.
*--------- Fetch List From Memory
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = listobject
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE ID '61' TYPE 'E' NUMBER '731'
WITH 'LIST_FROM_MEMORY'.
ENDIF.
CALL FUNCTION 'TABLE_COMPRESS'
* IMPORTING
* COMPRESSED_SIZE =
TABLES
in = listobject
out = objbin
EXCEPTIONS
OTHERS = 1
IF sy-subrc <> 0.
MESSAGE ID '61' TYPE 'E' NUMBER '731'
WITH 'TABLE_COMPRESS'.
ENDIF.
ENDIF.
* Header Data
* Already Done Thru FM
* Main Text
* Already Done Thru FM
* Packing Info For Text Data
DESCRIBE TABLE objtxt LINES tab_lines.
READ TABLE objtxt INDEX tab_lines.
docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
CLEAR objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'TXT'.
APPEND objpack.
* Packing Info Attachment
att_type = whatatt_type..
DESCRIBE TABLE objbin LINES tab_lines.
READ TABLE objbin INDEX tab_lines.
objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
objpack-transf_bin = 'X'.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = att_type.
objpack-obj_name = 'ATTACHMENT'.
objpack-obj_descr = whatname.
APPEND objpack.
* Receiver List
* Already done thru fm
ENDFORM. "ml_prepare
* FORM
FORM ml_dosend.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = docdata
put_in_outbox = 'X'
commit_work = 'X' "used from rel. 6.10
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
TABLES
packing_list = objpack
object_header = objhead
contents_bin = objbin
contents_txt = objtxt
* CONTENTS_HEX = objhex
* OBJECT_PARA =
* object_parb =
receivers = reclist
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
IF sy-subrc <> 0.
MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
WITH docdata-obj_name.
ENDIF.
ENDFORM. "ml_customize
* FORM
FORM ml_spooltopdf USING whatspoolid.
DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.
*-------------- Call Function
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = whatspoolid
TABLES
pdf = pdf
EXCEPTIONS
err_no_otf_spooljob = 1
OTHERS = 12.
*------------- Convert
PERFORM doconv TABLES pdf objbin.
ENDFORM. "ml_spooltopdf
* FORM
FORM doconv TABLES
mypdf STRUCTURE tline
outbin STRUCTURE solisti1.
*-------- Data
DATA : pos TYPE i.
DATA : len TYPE i.
*------------ Loop And Put Data
LOOP AT mypdf.
pos = 255 - len.
IF pos > 134. "length of pdf_table
pos = 134.
ENDIF.
outbin+len = mypdf(pos).
len = len + pos.
IF len = 255. "length of out (contents_bin)
APPEND outbin.
CLEAR: outbin, len.
IF pos < 134.
outbin = mypdf+pos.
len = 134 - pos.
ENDIF.
ENDIF.
ENDLOOP.
IF len > 0.
APPEND outbin.
ENDIF.
ENDFORM. "doconv
***********************INCLUDE END********************************* -
How to upload / download sapscript forms
Hi,
Is it possible to upload / download sapscript forms to pc?
Thanks in advanceHello,
Across clients we can copy scripts by Tx. SCC1. Please keep in mind that you have to give the task ID and NOT the Transport Request ID if the Script/Std. Txt has to be ported across the clients.
Regards, Murugesh AS -
SAPScript form an rogram for "Invoice for Payment"
Hi Friends,
Please tell me the Program Name and SAPScript form name for following condition -
<b>
Customer service receives the order from the customer and place the order (document "Invoce for payment"). </b>
Thanks & Regards
KishorIf you want to change the standard script format, then you have copy program and form. And attach the same in config.
Form : ZF110_PRENUM_CHCK
Program : ZRFFOUS_C
Regds
Manohar
Maybe you are looking for
-
I just got a new iPad 2 and I have lot of questions. I was able to wirelessly link my iPad and iTunes on my PC. I was able to SYNC my email and calendar (new entries only no history), however I have not been able to SYNC Outlook contacts. Outlook has
-
Problem in printing OCR B font.
Hello All, We are trying to print text in the font OCR B , we are gettting the correct output in the spool request but the print output is not exactly matching the spool output. The text which is printed in font OCR B is getting shrinked in size in t
-
My script doesn't work, any ideas? Help please
This is my script: import-module activedirectory $computers = @(Get-ADComputer -Filter * -SearchBase 'OU=Desktop Machines,OU=Computers,OU=MyBusiness,DC=primrose,DC=office') $result = @() $computers | ForEach-Object { $result += (Get-WmiObject win32_n
-
How to change pdf to jpeg in pages?
How do I change pdf to jpeg in pages?
-
Distributed Objects over the internet
I'm hoping that someone can help me out here. I'm trying to get distributed objects to work on a game I'm developing. I can make it work if I run both the 'server' and the 'client' on the same machine, but when I try to set it up for use over a netwo