Form Setting using SDK
Hi,
How i will do form setting using SDK.
Regards,
Avijit
Hi,
Refer this.
Form settings using SDK
Regards,
Mahendra
Similar Messages
-
Hi Friends
I am doing on Purchase order form.i need to set visible some column of matrix visible and active (in table Format and RowFormat) with out using form setting inter face , means through code using SDK.Is it possible
Thankssorry, i haven't yet get a solution.
actually i need to position my userfield in between Quandity and UnitPrice. In Table CPRF I Changed its 'VisualIndx' and 'ExpandIndx'
Now in Table CPRF Record is Like below
ColID VisualIndx ExtendIndx
Quantity(Coulumn11) 13 13
UnitPrice(Coulnn 14) 17 257
UserField - 14 14
But still dispalying my UserField on last Column.
I did all the process after SAPB1 Application stoped
Edited by: Muna on Jul 24, 2008 12:03 PM
Edited by: Muna on Jul 24, 2008 12:05 PM -
Set value of System Matrix Form using SDK
Is is possible to set matrix value using SDK of user defined form. Plz forward code for same.
Yes it is possible. You need to get the form and into the form the item, cast it to a matrix and then set the values into it.
There is plenty of samples you can use to learn about UI API. You can download them directly from SDN. -
Set active column of matrix using SDK
Hi,
How do i set active (FormSettings>TableFormat>Active Checkbox) column of matrix in order form using SDK?
ThanksHI
replace the COLID with the id of the column, and put this code into the form_load event and beforeaction=false
oMatrix.Columns.Item("COLID").Editable = True
oMatrix.Columns.Item("COLID").Visible = True
regards,
J.
if the answer is ok, please reward. -
Problem with JFMERGE using the last set of data on all form sets
b Here is the scenario...
I have a file of data in character delimited format. Each record needs to produce the same set of forms. I used the Visual Transformation Editor to define the field nominated data file, including the ^form statements. The transformation agent processes the file of multiple records just fine. I get a file from JFTRANS that contains the set of data & form statements repeated for each record in the file.
Great so far.
b Here is the problem...
Unfortunately, the print agent is repeating the same set of data on every copy of the set of forms that is printed. It uses the data from the last set of forms to be printed.
b Additional information...
For ease of building the field nominated file by our custom client program we have standardized on using GLOBAL fields. Therefore, our DAT files contain all the ^global declarations with all the necessary ^form statements at the end. I used the transformation editor to build the same type of file. Therefore the file going to the print agent looks like:
^global name1
data1
^global name2
data2
^form form1
^form form2
^global name1
newdata1
^global name2
newdata2
^form form1
^form form2
The printed result puts "newdata1" & "newdata2" on both sets of form2. Strangely, the correct data values are showing up on both sets of form1.
The only difference between the two forms is that form1 is not defined with the fields as global where form2 does define them as global. I removed the global flag from form2 but that didn't change anything.
I think I know what is occurring. JFMERGE is putting the data elements into the global dictionary and when the same name is in the file the latest data value ends up in the dictionary (thus all the forms print using the last data put into the dictionary). I certainly didn't expect this. I thought it would load the dictionary and print the first set of forms, then reload the dictionary and print the next set of forms. At least that is the way I see it occuring based on the order of things in the DAT file. Based on what is occuring it appears that JFMERGE reads the whole DAT file, building the dictionaries and then processes all the ^form statements.
b My request for help...
Does anyone know what I can do (such as insert some command) to get the correct data on the forms?
It looks like using a fixed record format might do the trick but that isn't an option at this time. As things are right now it looks like I'm going to have to take the data file apart, and make lots of files with one line of data per file.
I have a time deadline to get this printed so if there isn't a way to make JFMERGE operate as I expected it looks like I'll be doing this by hand. Fortunately, there are only 250-300 data lines. Future jobs could have thousands of data lines so if there isn't a way to do it with a multi-line data file I'll have someone create a program for splitting the original file up (and adding the ^job line).We don't use subforms so some of what you suggest isn't effective for us. Our forms are a duplication of the paper forms and are not dynamic. We design each form separately and our custom filler software (that builds the DAT file) uses a database with the required forms for each print job defined within it.<br /><br />Since we don't have subforms, our simple method of printing is to declare as GLOBAL all the unique fields used on all the forms to be printed followed by the ^form commands. It was a simple & straightforward method for us to do better than 500 print jobs over that past couple of years. In addition, our custom filler software can easily build the DAT files.<br /><br />Because I need to manually declare all the ^form statements my experience with using ^field is that the form must be declared followed by the appropriate field commands (repeat for all the forms).<br /><br />i <many hours later I continue typing this post><br /><br />Taking the original Transformation Definition File and customizing it for how things need to be when using ^field commands was a time consuming experience (and a learning one). It did the job as I needed but it is an experience I don't want to repeat. There has got to be a better way of building the TDF properly. I'm definately leaning towards a program to split the file into multiple files.<br /><br />Here is what I went through...<br /><br />I did all the editting using Notepad. I changed all ^global to ^field. Then I had to remove the #comment lines. Next was to find any references to fields that had to be global to the top and chang ^field to ^global. Then it was moving the fields around so they were underneath the appropriate ^form statement. Then, since one of the forms was multi-page I had to add the ^page command and sort the fields so they were under the correct page. That was followed by duplicating fields that are used on multiple forms or multiple pages. Then I discovered that the print agent won't do ^page unless "inline processing" is turned off (I did not want to specify the page name as it could change over time) - so I added "^inline off" in front of every ^page. Finally it was removing unecessary field references so the log file would be clean.<br /><br />For those that are interested, the following is an example of my final file. <br /><br />^global nameA<br />data<br />^global nameB<br />data<br />^form nameX<br />^field name1<br />data<br />^field name2<br />data<br />^form nameY<br />^field name1<br />data<br />^field name3<br />data<br />^inline off<br />^page<br />^field name4<br />data<br />^field name1<br />^inline off<br />^page<br />^field name5<br />data<br />^field name6<br />data
-
Revision: 3652
Author: [email protected]
Date: 2008-10-15 10:18:08 -0700 (Wed, 15 Oct 2008)
Log Message:
Fix for SDK-17328 - Package description missing when they're set using Overviews_Base.xml
Fix for SDK-17185 - Allow HTML chars to be set for footer string
Fix for SDK-17259 - Exception name missing when generating asdoc with @throw tag
QA: Yes
Doc: No
Tests: checkintests
Ticket Links:
http://bugs.adobe.com/jira/browse/SDK-17328
http://bugs.adobe.com/jira/browse/SDK-17185
http://bugs.adobe.com/jira/browse/SDK-17259
Modified Paths:
flex/sdk/trunk/asdoc/templates/asdoc-util.xslt
flex/sdk/trunk/asdoc/templates/package-detail.xslt
flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/TopLevelClassesGenerator.ja vaI believe I have found my solution!
I can currently boot with my bios in ide mode- but my raid1 mirror is showing as independent drives (c and d)
I do a simple windows search for winload.exe on the C: drive and get nothing
that same search on the D: turns up winload.exe all over
When I look at I my BCD 'device partation=C:'
shouldnt this be D:?
If so is this just a simple bcdedit, reboot into the bios, change my bios from IDE mode to RAID mode, save to cmos then, theoretically boot into windows with my raid correct (showing as a singe drive C: )
Please someone correct me if I am wrong
C:\>bcdedit
Windows Boot Manager
identifier {bootmgr}
device partition=C:
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {8b18c20b-c12d-11db-afc2-ac36bbabc8b2}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Microsoft Windows Vista
locale en-US
inherit {bootloadersettings}
osdevice partition=C:
systemroot \Windows
resumeobject {8b18c20b-c12d-11db-afc2-ac36bbabc8b2}
nx OptIn
vga No
quietboot Yes -
Print a report in crystal Report using SDK
Hi Dear;
any body can publish a sample code how can i print a report built in crystal report using SDK?
regards;Hi Dany,
Hope the following code will help u .
before calling the function make a XML by using dataset.writexml, in which you have to pass the name of your stored procedure.
for this you have to decalre commantype as stored procedure.
first parameter of this is rpt name . asecon paramer is ur xml name which you got from DAtaset.writexml.
Sub ShowReport(ByVal rptName As String, ByVal SourceXML As String)
Try
Dim oSubReport As CrystalDecisions.CrystalReports.Engine.SubreportObject
Dim rptSubReportDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
Dim rptView As New CrystalDecisions.Windows.Forms.CrystalReportViewer
Dim rptPath As String = System.Windows.Forms.Application.StartupPath & "\" & rptName
Dim rptDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument
rptDoc.Load(rptPath)
For Each oMainReportTable As CrystalDecisions.CrystalReports.Engine.Table In rptDoc.Database.Tables
oMainReportTable.Location = System.Windows.Forms.Application.StartupPath & "\" & SourceXML
Next
For Each rptSection As CrystalDecisions.CrystalReports.Engine.Section In rptDoc.ReportDefinition.Sections
For Each rptObject As CrystalDecisions.CrystalReports.Engine.ReportObject In rptSection.ReportObjects
If rptObject.Kind = CrystalDecisions.Shared.ReportObjectKind.SubreportObject Then
oSubReport = rptObject
rptSubReportDoc = oSubReport.OpenSubreport(oSubReport.SubreportName)
For Each oSubTable As CrystalDecisions.CrystalReports.Engine.Table In rptSubReportDoc.Database.Tables
oSubTable.Location = System.Windows.Forms.Application.StartupPath & "\" & SourceXML
Next
End If
Next
Next
rptView.ReportSource = rptDoc
rptView.Show()
Dim oFrm As New System.Windows.Forms.Form
rptView.DisplayGroupTree = False
rptView.Dock = System.Windows.Forms.DockStyle.Fill
rptView.Location = New System.Drawing.Point(0, 0)
oFrm.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
oFrm.Controls.Add(rptView)
oFrm.Name = "rptForm"
oFrm.Text = "rptForm"
oFrm.ResumeLayout(False)
oFrm.WindowState = System.Windows.Forms.FormWindowState.Maximized
oFrm.TopMost = True
oFrm.ShowDialog()
Catch ex As Exception
oApplication.MessageBox(ex.Message)
End Try
End Sub -
Can you create a form not using a php script?
I need to create a contact us form on my website using DW and have researched how and understand the easiest way is using a php script. Unfortuntately, my webhost server does not support this and will charge me an arm and a leg in order to to do it. Is there another way to have a functioning contact form not using a php script?
Yes and no.
You could use a mailto link for your form action instead of a PHP script.
There are several problems with this method though. First, when you do that, you are at the mercy of the viewer's computer set-up. Mailto links use whatever email client is installed on the machine in order to send the message. Public computers (libraries, colleges, etc) almost never have an email client installed, so when a viewer on one of those machines clicks the link, nothing happens. Secondly, your email address is open for spam harvesters, so you may end up with enlargement and nigerian scam emails flooding your inbox.
Since your provider doesn't give you a way to do it the right way on your server, you may want to look into email form services online and see if they are less expensive than your current alternative. -
How do I do validation using SDK.
How do I do validation using SDK.
We have created different warehouses for the client business operations.
For eg:
1. Inspection Stores
2. Rejection Stores
3. Main Stores
In Goods Return & A/P Credit Memo, other than RejectionStores is
selected, we want to generate a warning message.
How do I do this through SDK.
I need the code sample for the following activity:
1. Reading the data available at each row of the current form (Goods
Return/ A/P Credit memo)
2. Validate the data with a paricular warehouse
3. Generate warning message.
I could not find any samples related to this.There is a method called MessageBox for the Application object. Have a look at
the documentation, everything is there. -
Large form set: Deliver in portfolio, or build one big PDF?
Greetings, all--
I am using LiveCycle to recreate a set of 24 or so forms that were originally built in Word. My users download the forms, complete them on their desktops, then print and submit the forms in hard copy. Most users are not tech savvy. The forms must be very easy for them to access, open, navigate, and print. Most also function within severe hardware limitations (slow Internet connections, old machines, etc.). On my end, I have a rusty at best command of scripting and am new to LiveCycle. I know what I want my forms to do but am very slow at figuring out how to make those things happen.
I am working first to decide on how to deliver these forms. It looks like I will have to build one big PDF to get the form behavior I want (autopopulation of like fields, field calculation, etc.). Does that sound right? Or is it possible to set up each file as a separate PDF and package them in a portfolio and still get cross-file behavior like auto field population, sequential page numbering, etc.?
Any feedback on setting up big set of files would be much appreciated.
Thank you,
VirginiaHi,
For what it is worth...
First of all consider what version of Acrobat/Reader the user population will have. Improved functionality comes with each new version. So you might end up including features in your form that won't work on the users' PC. In LC Designer 8.2 you are able to define the target version (in File/Form Properties/Defaults) and then check in the Warnings tab to make sure that the form will run OK in that version (eg no warnings);
If people don't have to save the form (or the data that they have typed in) then you don't have to worry about Reader Enabling the form. This gives the ability to users with Reader to save that (Reader Enabled) form. Useful if they are filling in the same form regurarly.
The implementation of Portfolios in version 9 is very good. However if users have older versions of Acrobat/Reader then it will revert to the previous implementation of Packages (less graphical) and users will get warning messages.
Keeping the forms separate will help performance; but may make it more difficult for users to locate the correct form. Creating one large form in LC is possible (and will make it very easy to share values across the 24 forms becuase they will be in the one XFA PDF); however if each form has multiple pages and there is dynamic hide/visible script then performance may be a problem. If the form is static (eg does not grow) then performance will not be as badly affected with the single form approach.
There is a work around to get forms to talk to each other (whether in a portfolio or not), but it requires a good bit of scripting and a cool head.
In summary, if you are working with static forms that will not grow (fields not extending to accomodate overflowing text) then I would go with one form.
You can always develop the single form for the time being and then at a later stage break it out into 24 separate forms.
Good luck,
Niall -
(Urgent)help: how to use sdk add a gif image into a pdf document
I had use sdk plus-in add a new button of mine,if I click the button,a gif image will be inserted into the current page of pdf document
My questions:
one : When I clicked the button,there was a warnning box said:the image has not enough data.I don't known why?
two : How can I be sure the position of the image which I inserted? and how to change it's position?
three: how to use sdk get the content of the document?hi Leonard:
I do it like you said, but
Why my image can not display in the pdf.
code is:
//====================================================================
const ASInt32 theImageByteSize = IMG_WIDTH * IMG_HEIGHT;
char* buff = new char[theImageByteSize];
PDEImage volatile pdeImage = NULL;
PDEImageAttrs pdeImageAttrs;
PDEColorSpace pdeColorSpace;
ASFixedMatrix imageMatrix;
memset(&pdeImageAttrs, 0, sizeof(PDEImageAttrs));
int hdl = _open(ImagePath, _O_RDONLY | _O_BINARY, _S_IWRITE | _S_IREAD);
if (hdl == -1)
AVAlertNote("[%s] create fail !!!!") ;
if (_read(hdl, buff, theImageByteSize) == -1)
AVAlertNote("read image fail!") ;
pdeImageAttrs.width = IMG_WIDTH;
pdeImageAttrs.height = IMG_HEIGHT;
pdeImageAttrs.intent = ASAtomNull;
pdeImageAttrs.bitsPerComponent = 8;
pdeImageAttrs.flags = kPDEImageExternal | kPDEImageIsIndexed;
pdeImageAttrs.decode[0] = fixedZero;
pdeImageAttrs.decode[1] = fixedOne;
pdeImageAttrs.decode[2] = fixedZero;
pdeImageAttrs.decode[3] = fixedOne;
pdeImageAttrs.decode[4] = fixedZero;
pdeImageAttrs.decode[5] = fixedOne;
ASFixedRect theMediaBox;
PDPageGetMediaBox( AVPageViewGetPage(pageView), &theMediaBox );
ASFixed theFixedWidth = (theMediaBox.right - theMediaBox.left);
ASFixed theFixedHeight = (theMediaBox.top - theMediaBox.bottom);
imageMatrix.a = ASInt16ToFixed(theFixedWidth);
imageMatrix.d = ASInt16ToFixed(theFixedHeight);
imageMatrix.b = imageMatrix.c = fixedZero;
imageMatrix.h = 0;
imageMatrix.v = 0;
const Int32 cPaletteColors = 256;
PDEIndexedColorData theIndexedData;
theIndexedData.size = sizeof(theIndexedData);
theIndexedData.baseCs = PDEColorSpaceCreateFromName(ASAtomFromString( "DeviceRGB"));
theIndexedData.hival = cPaletteColors - 1;
unsigned char data[3] = {255, 0, 0};
theIndexedData.lookup = (char *)data;
theIndexedData.lookupLen = cPaletteColors * 3;
PDEColorSpaceStruct theColorData;
theColorData.indexed = &theIndexedData;
pdeColorSpace = PDEColorSpaceCreate(ASAtomFromString( "Indexed" ), &theColorData );
pdeImage = PDEImageCreate(&pdeImageAttrs, sizeof(pdeImageAttrs), &imageMatrix,
0, pdeColorSpace, NULL, NULL, NULL, (unsigned char*)buff, theImageByteSize);
I want die, I had done this for so many days, My GIF doesn't insert into pdf,
unsigned char data[3] = {255, 0, 0};
theIndexedData.lookup = (char *)data; "
whether the data set wrong?
I confused what I do next -
How to create Invoice using SDK?
Hi Friends,
I m creating invoice using SDK functions..
Company comp = new Company();
comp.Server = "CSNSYS026";
comp.CompanyDB = "SBODemo_US";
comp.UserName = "manager";
comp.Password = "manager";
comp.Connect();
comp.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_NodesAsProperties;
SAPbobsCOM.SBObob oSBObob = (SBObob)comp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoBridge);
Documents inv = (Documents)comp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices);
inv.ManualNumber = "20000";
inv.DocDate = DateTime.Now;
inv.DocDueDate = DateTime.Now;
inv.CardCode = "C40001";
inv.CardName = "EarthshakerCorp.";
inv.DocCurrency = "USD";
inv.Lines.ItemCode = "A00001";
inv.Lines.Quantity = 10;
inv.Lines.Price = 100;
inv.DocTotal = 1000;
int i = inv.Add();
MessageBox.Show("Invoice created "+i);
<b>While i execute the above c# code,Invoice din't created,Wht's missing in the above code</b>..
Thanks in Advance
regards
Sooriyakala.PHo Sooriya,
what is the returncode from inv.add?
If you call comp.getLastErrorDescription, you get the errordescription
you should also set handwritten to true
Regards
Ad -
Where Web Dynpro Java version of Adobe Forms are used in ESS MSS
Hi, SDN Expert.
I am working on research the use of Adobe Interactive Forms in the current processes of HCM ESS MSS.
We are on ECC5.0, EP7.0, and ESS MSS SP21. We are in the midst of upgrading to ECC6.0.
Do you know where Web Dynpro Java version of Adobe Forms are used in ESS MSS are used? OR are they all in Web DYnpro ABAP version in ECC6.0?
Thanks,
KCSergio,
FYI.
I am trying to see how the form I design/modify in TCode: SPF are working together to these piece of codes I found in NWDI WD4J pcui_gpisrsap.com --> VcISRShowForm DC --> ShowForm view:
public void wdDoInit()
//@@begin wdDoInit()
InteractiveForm form =
(InteractiveForm) ((View) wdThis.wdGetAPI()).getElement("IsrForm");
form.setDynamicPDF(true);
form.bindPdfSource((IWDAttributeInfo) null);
//@@end
public static void wdDoModifyView(IPrivateShowForm wdThis, IPrivateShowForm.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
//@@begin wdDoModifyView
logger.pathT("Entering: wdDoModifyView");
// Dynamic context generation
// Bind context
if (wdContext.nodeNewGenericChildNodes().size() > 0) {
if (wdContext.currentContextElement().getContextToBeReset())
wdContext.nodeData().getContext().reset();
IWDNodeInfo genericNode = wdContext.nodeData().getNodeInfo();
IWDNodeInfo origNode =
wdThis
.wdGetVcISRShowFormController()
.wdGetContext()
.nodeGenericNode()
.getNodeInfo();
IWDNodeInfo childNode;
IWDNodeInfo deepChildNode;
for (int i = 0;
i < wdContext.nodeNewGenericChildNodes().size();
i++) {
childNode =
origNode.getChild(
wdContext
.nodeNewGenericChildNodes()
.getElementAt(i)
.getAttributeValue("name")
.toString());
deepChildNode = childNode.getChild("DATA");
genericNode.addMappedChild(
childNode.getName(),
null,
childNode.isSingleton(),
childNode.isMandatorySelection(),
childNode.isMultipleSelection(),
childNode.getPathDescription(),
false,
true);
genericNode.getChild(childNode.getName()).addMappedChild(
deepChildNode.getName(),
null,
deepChildNode.isSingleton(),
deepChildNode.isMandatorySelection(),
deepChildNode.isMultipleSelection(),
deepChildNode.getPathDescription(),
false,
true);
genericNode
.getChild(childNode.getName())
.getChild(deepChildNode.getName())
.addAttributesFromDataNode();
// Avoid another context generation - all context have been generated
wdContext.nodeNewGenericChildNodes().invalidate();
InteractiveForm form = (InteractiveForm) view.getElement("IsrForm");
//Set the template source of the form (if necessary)
if (wdContext
.currentIsrParamsElement()
.getSetTemplateSourceNecessary()) {
form.setTemplateSource(
wdContext.currentIsrParamsElement().getTemplateSource());
wdContext.currentIsrParamsElement().setSetTemplateSourceNecessary(
false);
logger.pathT("Exiting: wdDoModifyView");
//@@end -
Sending PDF forms (created using SFP) as Email Attachment
Hi,
I have created bunch of ADOBE forms using SFP. They are not interactive forms. created using ADOBE Live cycle designer.
I have the Function module and by executing I can view the PDF form in print preview mode. But I have to save this in backend and attach to email.
I have a program that have to send one of the forms created in SFP as email attachment to outside SAP.
Please advice how to achieve this.
Thanks,
SanjeevHi ,
Please find below a code sample for your requirement
*& Report ZENVOI_PDF_MAIL
REPORT zenvoi_pdf_mail MESSAGE-ID ad.
TYPE-POOLS : abap .
DATA : data_for_update TYPE zdemopdf ,
hexa TYPE solix_tab.
DATA : fm_name TYPE funcname ,
param TYPE sfpoutputparams,
doc_param TYPE sfpdocparams ,
output TYPE fpformoutput .
param-nodialog = abap_true. " suppress printer dialog popup
param-getpdf = abap_true.
doc_param-langu = sy-langu.
doc_param-country = 'FR'.
doc_param-fillable = abap_true.
doc_param-dynamic = abap_true.
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = 'ZDEMO_PDF'
IMPORTING
e_funcname = fm_name.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = param
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4.
CHECK sy-subrc EQ 0.
CALL FUNCTION fm_name
EXPORTING
/1bcdwb/docparams = doc_param
data_for_update = data_for_update
IMPORTING
/1bcdwb/formoutput = output
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3.
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = output-pdf "PDF file from function module
TABLES
binary_tab = hexa.
* Envoi du mail
** CLASS-DEFINITIONS
DATA: send_request TYPE REF TO cl_bcs.
DATA: document TYPE REF TO cl_document_bcs.
*DATA: sender TYPE REF TO cl_sapuser_bcs.
data: sender TYPE REF TO if_sender_bcs.
DATA: recipient TYPE REF TO if_recipient_bcs.
** INTERNAL TABLES
DATA: l_mailtext TYPE soli_tab.
DATA: iaddsmtp TYPE TABLE OF bapiadsmtp.
DATA: ireturn TYPE TABLE OF bapiret2.
** VARIABLES
DATA: mail_line LIKE LINE OF l_mailtext.
DATA: bapiadsmtp TYPE bapiadsmtp.
DATA: subject TYPE so_obj_des.
DATA : att_subject TYPE so_obj_des.
DATA : w_except TYPE REF TO cx_root .
CONSTANTS : c_defmail TYPE ad_smtpadr VALUE
'[email protected]' .
FIELD-SYMBOLS : <smtp> TYPE bapiadsmtp.
*Set subject of the mail
subject = 'Exemple de PDF interactif'.
* Set text of the mail
mail_line = 'Merci de remplir le formulaire et nous le retourner'.
APPEND mail_line TO l_mailtext .
att_subject = 'Template du PDF'.
TRY.
* Create persistent send request
send_request = cl_bcs=>create_persistent( ).
* Get sender object
sender = cl_sapuser_bcs=>create( sy-uname ).
* sender =
* cl_cam_address_bcs=>create_internet_address( '[email protected]' ) .
* Add sender
CALL METHOD send_request->set_sender
EXPORTING
i_sender = sender.
* Read the E-Mail address for the user
* CALL FUNCTION 'BAPI_USER_GET_DETAIL'
* EXPORTING
* username = sy-uname
* TABLES
* return = ireturn
* addsmtp = iaddsmtp.
* LOOP AT iaddsmtp ASSIGNING <smtp> WHERE std_no = 'X'.
* CLEAR bapiadsmtp.
* MOVE <smtp> TO bapiadsmtp.
* ENDLOOP.
* CASE bapiadsmtp-e_mail.
* WHEN space.
recipient =
cl_cam_address_bcs=>create_internet_address( c_defmail ).
* WHEN OTHERS.
* recipient =
* cl_cam_address_bcs=>create_internet_address( bapiadsmtp-e_mail ).
* ENDCASE.
* Add recipient with its respective attributes to send request
CALL METHOD send_request->add_recipient
EXPORTING
i_recipient = recipient
i_express = 'X'
i_copy = space
i_blind_copy = space
i_no_forward = space.
* Set that you don't need a Return Status E-mail
CALL METHOD send_request->set_status_attributes
EXPORTING
i_requested_status = 'E'
i_status_mail = 'E'.
* set send immediately flag
send_request->set_send_immediately( 'X' ).
*Build Document
document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = l_mailtext
i_subject = subject ).
* add attachment to document
CALL METHOD document->add_attachment
EXPORTING
i_attachment_type = 'PDF'
i_attachment_subject = att_subject
i_att_content_hex = hexa.
* Add document to send request
CALL METHOD send_request->set_document( document ).
* Send document
CALL METHOD send_request->send( ).
COMMIT WORK.
CATCH cx_send_req_bcs INTO w_except.
CATCH cx_address_bcs INTO w_except.
CATCH cx_document_bcs INTO w_except.
ENDTRY.
Hope this help you .
Best regards -
F-27 customer statement For progremme the default form set is missing
Hi all,
Can anybody solve me the error while running customer statement F-27 iam getting the error is for "program default form set is missing".I have checked all the configuration settings in correspondence,But i am able to identify the error.We are using SAP standard program (RFKORD10) and form also (Z140-ACC_STAT_01).For company code we have assigned program and form also.
If anybody can solve the issue really i appreciate them.
Thanks & Regards,
Vasu.Hi,
Here are answers of your questions:-
Questions:
1. How to convert PDF file per customer .
A. Get spool id per customer and use FM CONVERT_OTF_2_PDF or CONVERT_OTFSPOOLJOB_2_PDF or 'CONVERT_ABAPSPOOLJOB_2_PDF' SAPSCRIPT to PDF for conversion.
2. How to split the spool request for per customer .
A. This you have to design in your driver program and club your spools for particular customer.
3. Script converted PDF file how to place in application server.
A. You have to use destination for PDF as file name and then use Open dataset for output to keep it on application server.
Regards,
Gaurav
Maybe you are looking for
-
My Apple Mini Display Port/HDMI adapter is not working after upgrading to Maverick?
I am using my 13" Macbook Pro Purchased July 2013 on my 42" Samsung TV. I route through a HDMI adapter (purchased from Apple) to do my presentations. As a note my setup has been working great for the last year. Immediately following the upgrade to M
-
JDev vs. Eclipse wtp1.0 - something I am looking for to have in JDev
I used to using eclipse (wtp) for J2EE projects. Recently found JDev. After playing a couple of days, quite impressed. Really good stuff, and more comprehensive functions for J2EE develpment, thanks to JDev folks. However, compared to eclipse, there
-
Purchase Requisition (PR) Workflow
Hello all, I hope you can lend your thoughts/experience. I have been advised that a PR workflow (without the need of a user exit) can be designed to route notification to the approver based just on the structure in organizational management (OM). For
-
Hi GURUS, I want to extract customer general data,customer sales data,customer company code data, customer partner rolls data...so could any body suggest me BAPI available for this.....available one bapi ? Pls suggest it would be great helpfu
-
Jdbc driver deployment problem..
Hi xi Gurus... I have a scenario <b>File-XI-JDBC</b>(My Sql 5.0), i am using receiver side <u>My Sql</u>.. I downloaded the drivers for that also.. drivers are <u>mysql-connector-java-3.1.10.jar</u>.. i added this jar file to this .sda file(a