How to insert Adobe Form Data in the SAP backend?
Hi there,
I am very new to Adobe Forms. I am supposed to come up with a working scenario of inserting few form fields into the SAP backend. Is this done through a BAPI call? Or is there any other way for this to achieve?
I have downloaded trial version of Adobe LifeCycle Designer. But I don't know how to integrate this with the SAP system. Is there anything else that I need to install in my system?
Is there a document on how to configure all the installations for both local machine and the server (if any)?
Please help.....
[I went through the forum for this, but I did not get anything]
Warm regards,
Deepak
hi,
in the livecycle designer under libary tab u have webdynpro tab--->choose submit to sap button and place it in the adobe form ur designing. u can use this button to trigger the code that u have written in webdynpro java.
for eg if u have
a value node details
and under that two value attr fname,lname
import the model (Insertdata---it has two import param fname and lname)u need for updating the data to r3 system.
in the ctrller have a method submit.Here write the code to insert fname and lname into the db.
IPrivateMyForm.IDetailsElement elem = wdContext.nodeDetails().currentDetailsElement();
Insertdata_Input input = new Insertdata_Input();
wdContext.nodeInsertdata_Input().bind(input);
input.setFname(elem.getFname());
input.setLname(elem.getLname());
try
wdContext.currentInsertdata_InputElement().modelObject().execute();
wdContext.nodeOutput().invalidate();
catch (Exception ex)
{ ex.printStackTrace();}
ul bind details to the datasource.
when u edit ur interactive ui element these attr(fname and lname) vl be visible under dataview tab u can drag and drop them to the form
now add submit to sap button in ur form.
this button correspond to the onactionSubmit dat u have written in the ctrller.
so wen u click this the data vl be inserted
Regards
Jay
Similar Messages
-
How to upload offline adobe form(PDF) to the SAP?
Hi,
I am working on adobe forms for the first time.
So I dont have much knowledge on it.
I have created the layout for the SO form in transaction SFP.
Kindly help me how to proceed further to upload the form data to the sap.
Thanks in advance,
NehaHi Neha,
The program will have the following steps:
1.Data retrieval and processing : A select statement for the pre-populated information
2.Obtain the name of the Generated Function Module of the form u2022 Start the form processing
3.Call the Generated Function Module
4.End form processing
5. Send the form to the vendor using Business communication services (BCS)
Follw this step
select single field1 field2... from table into wa where field = P_field.
call function 'FP_FUNCTION_MODULE_NAME'
call function 'FP_JOB_OPEN'
Then call the generated function module
call function fm_name
call function 'FP_JOB_CLOSE'
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
Extract the Data:
DATA: xml_data TYPE xstring,
lt_xml_data TYPE STANDARD TABLE OF xstring.
APPEND xml_data TO lt_xml_data.
lo_pdfobj->get_data( IMPORTING formdata = xml_data ).
Convert XML data from XSTRING format to STRING format DATA: lv_xml_data_string TYPE string.
CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'
EXPORTING im_xstring = xml_data
IMPORTING ex_string = lv_xml_data_string.
Thanks -
Access the adobe form data in the workflow container for further processin
HI,
I am using HCM processes and Forms. I need to access the form data in the workflow container once the workflow kicks off.
I need to access these data as would need it for further processing in the workflow.
I know that TS17900110 allows to import form conatiner to
-> WF Container in the field name and value pair. But I need to access a lot more fields than what is in the task. Is there a standard task which allow to retrieve all the fields in the form in one task or do I need to develope a custom class to do that. If so could you please provide some clue as in how to code this specific requirement as i am somewhat new to OO ABAP.
Thanks...hi,
in the livecycle designer under libary tab u have webdynpro tab--->choose submit to sap button and place it in the adobe form ur designing. u can use this button to trigger the code that u have written in webdynpro java.
for eg if u have
a value node details
and under that two value attr fname,lname
import the model (Insertdata---it has two import param fname and lname)u need for updating the data to r3 system.
in the ctrller have a method submit.Here write the code to insert fname and lname into the db.
IPrivateMyForm.IDetailsElement elem = wdContext.nodeDetails().currentDetailsElement();
Insertdata_Input input = new Insertdata_Input();
wdContext.nodeInsertdata_Input().bind(input);
input.setFname(elem.getFname());
input.setLname(elem.getLname());
try
wdContext.currentInsertdata_InputElement().modelObject().execute();
wdContext.nodeOutput().invalidate();
catch (Exception ex)
{ ex.printStackTrace();}
ul bind details to the datasource.
when u edit ur interactive ui element these attr(fname and lname) vl be visible under dataview tab u can drag and drop them to the form
now add submit to sap button in ur form.
this button correspond to the onactionSubmit dat u have written in the ctrller.
so wen u click this the data vl be inserted
Regards
Jay -
How to insert application form id into the form template
Hi,
Is there a way to set the application form id into a form template designed from the LiveCycle Designer? Here is the detail description of my question:
(1) I am using LiveCycle Design to design a form template.
(2) I go to our application to deploy this form template. During the process, a form id will be generated and it will be associated with this form template.
(3) I would like to insert this generated form id into the form template, so that later when user fills out and submits the form, I will know what's the form id the submitted data belongs to.
Appreciate you kind help!!!Hi Justin,
Yes. The form ID will be generated by our application during the form deployment process (after the form is designed, it needs to be deployed to our application before it can be used.). So I was hoping there is a way to set the form ID into the form template design at that point. So that later when end user fills out and submits this form, I will know what form ID it is related to.
If I cannot do this at the deployment point, one way I can think of is to do it at the time when end user is downloading the form. I can return a "rendered" form (instead of opening up the form template directly) with the form ID information in it. But that means for every single form user opened we need to render it at run time to fill in the form ID, which is not performing and what I was trying to avoid.
Thanks for your help!
Anita -
Adobe Form Data Integration into SAP using RFC
Hi All,
I have created a Adobe Form, there is a button Called Submit ,On clicking that button the Adobe form must call a RFC function Module and pass the data from the form to Function Module.
I have written the below code for the submit button but it is not working.Please Lemme know if u have any solutions..
Below is my code
//Submit this form to SAP using web services
var webService = xfa.resolveNode("xfa.record.WEBSERVICE");
xfa.host.messageBox ("test 3");
var response = Net.SOAP.request(
cURL: webService.value,
oRequest: {
"urn:sap-com:document:sap:rfc:functions:ZUPDATETIMESHEET":{
TIMESHEET: t_time_record,
HEADTIME: wa_head
cContentType: "text/xml"
xfa.host.messageBox ("test 4");
var success = response["urn:sap-com:document:sap:rfc:functions:ZUPDATETIMESHEET.Response"]["SUCCESS"];
var response = response["urn:sap-com:document:sap:rfc:functions:ZUPDATETIMESHEET.Response"]["RESPONSE"];
if (success == "X") {
xfa.host.messageBox(response, "Response from SAP", 3);
CONFIRMED.rawValue = "Yes";
ConfirmedLogo.presence = "visible";
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "readOnly";
if (oFields.item(nNodeCount).border.fill.color.value == "255,0,0")
oFields.item(nNodeCount).border.fill.color.value = "255,255,255";
if (oFields.item(nNodeCount).ui.oneOfChild.className == "button") //Hide all buttons
oFields.item(nNodeCount).presence = "hidden";
ZUPDATETIMESHEET is my Function Module.
t_time_record and wa_head are the parameters being passed to the function Module.
Please lemme know if i have to do any settings and configurations also...
I have attached the entire code in the below file...
Thanks in AdvanceMaruti,
1. Just use the RFC's that does the update.
2. There are update flags for each field that you would like to update. These flags should be marked be marked for update. They come along with the classes that are generated when you import the RFC's.
3 Call BAPI_TRANSACTION_COMMIT afterwards.
All the above steps have to be done in the program.
Sumit. -
JTable: HOW TO INSERT ROWS AND DATA?
I have one JFrame on screen and inside of this i have a JTable, the question is how to insert rows and data into the JTable?
[http://java.sun.com/docs/books/tutorial/uiswing/components/table.html]
In future, please post Swing questions to the [Swing Forum.|http://forums.sun.com/forum.jspa?forumID=57]
In short, your TableModel is probably a DefaultTableModel . Study its API. -
How to integrate adobe forms using webdynpro-abap
Hi All,
How to integarte adobe forms with webdynpro -abap(se80).
Thanks & Regards
SumanHi suman,
First you have insert a element interactive form in the view.
In the properties of the interactive form you have properties called datasource and pdfsource.
You have to give the data which you want to display in the datasource throught binding.
These data you have to get it from the context. For pdfsource it should be xstring.
There is one more property called templatesource, when you give a name and double click. It automatically goes to SFP and you can create the form of your purpose. While creating it will ask for context. That context will be the same which you have declared in the view or component controller.
Regards,
Arun. -
How can i submit form-data with acrobat pocket pc
how can i submit form-data (http-post) on a PPC?
how can i store the data offline?
which submit-functions are availabe for the pocket pc reader?
do i need ARES?
where can i find a documentation of of the available functions for the ppc version?
where can i fond form-samples for ppc?
from the docu on my pocket pc:
Submit form data using handheld devices over a wireless connection. If you are working offline, the data is temporarily stored, then submitted once a connection is established. Send forms by e-mail or directly to the destination server using a cradle or cableTo your question regarding the Pocket PC version of Reader, I downloaded Adobe Reader for Pocket Pc 2 and installed it on my HP iPAQ . I then loaded my test PDF file onto the iPAQ. The Reader for Pocket PC preformed an email submission fine. However, I received no indication that anything happened when I tried an HTTP Post. So I think you can only do an email submission.
In general, I have been testing to see how much I can do without the Live Cycle Reader Extensions, since for sure I will never be able to purchase them. What I have found is that for Acrobat Reader 7, the email submission works for all of the people I have asked to test it, but the HTTP Post has worked for only one of the two people who have tested it so far with Reader 7 (the one for which it worked claims that he only has Reader 7 on his computernot Acrobat). -
When a user fills up a PCR Adobe Form from the portal where does the data or information is stored?
There should be a fundamental way that SAP stores Adobe form data. I want to understand how and where this data is placed in SAP prior to it updating the employees infotypes so I can retrieve it and report on SAP and non-SAP fields.
Same concept as in interface: data is sent from a file to SAP to update the back end. The file is stored separately from the back end up date data so it can be referenced later for support or other requirements. Same for the Adobe form data it needs to be maintained the same way for future reference and current reporting.Well take the case of adobe forms based on web dynpro technology. Here the data is stored in context which are bean like structures and can store and transfer data to any system.
Thanks,
Harish -
Adobe form data not being retrieved by Web Dynpro application
Hi,
I have created an online interactive Adobe form embedded in a Web Dynpro ABAP application. The Web Dynpro application calls a function module to update data in SAP. My problem is that the ABAP code that was generated to retrieve the data from the Adobe form and call the function module does not retrieve the data if it has been typed into any of the input fields. Oddly enough, it does work if the data is entered by using the value helps that have been placed on the form.
I would appreciate any suggestions.
Thanks!
RussellUse messageboxes on various events to find out when your value dissapeears.
If you´re not sure about the binding, you can always drag/drop from data view tab onto the layout and check the binding which the system generates for you. Just to make sure.
Regards Otto -
When i do a piecewise insert operation, only data in the first piece was inserted into the column, There is no error occured. a OCI_SUCCESS returned when the last piece operation completed.
I am really puzzled now:(.
Who can get me out of this?
The data to be insert are stored in many structs:
typedef struct test_st{
char * buffer;
struct test_st * next;
} TEST_ST;
I use malloc(size) to allocate the buffer of each struct, and I use strcpy() to copy some strings to these buffers.
table mc_test is like this:
id number;
message varchar(64);
The full source_code goes there:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <oci.h>
static OCIEnv *p_env;
static OCIError *p_err;
static OCISvcCtx *p_svc;
static OCIStmt *p_sql;
static OCIDefine p_dfn = (OCIDefine ) 0;
static OCIBind p_bnd = (OCIBind ) 0;
const char * orausername="out_user";
const char * orapassword="user_out";
const char * oraserver="bigfish";
int oraOK=0;
int rc;
char errbuf[100];
int errcode;
int checkerr(OCIError *errhp, sword status);
int db_init(void);
int db_open(void);
int db_close(void);
typedef struct test_st{
char * buffer;
struct test_st * next;
} TEST_ST;
int db_save_to_test(){
char sql_str[512];
ub4 typep;
ub4 piec_status;
ub1 in_outp;
ub4 rownum;
ub4 arr;
sb2 indp;
ub2 r_code;
int t_buff_len;
int total_len=15;
int buffer_pos=0;
TEST_ST * content, * t;
content=(TEST_ST *) malloc(sizeof(TEST_ST));
content->buffer= (char *) malloc(5);
strcpy(content->buffer,"1234");
content->next=(TEST_ST *) malloc(sizeof(TEST_ST));
content->next->buffer= (char *) malloc(5);
strcpy(content->next->buffer,"5678");
content->next->next=(TEST_ST *) malloc(sizeof(TEST_ST));
content->next->next->buffer= (char *) malloc(5);
strcpy(content->next->next->buffer,"9012");
content->next->next->next=NULL;
if(!_ora_OK){
return 0;
printf("-------------------------\n");
printf("[db]save to mc_test..\n");
printf("total: %d bytes\n",total_len);
/* create sql */
sprintf(sql_str,"insert into mc_test(id,message)values(1,:x)");
//printf("%s\n",sql_str);
rc = OCIStmtPrepare(p_sql, p_err, sql_str,
(ub4) strlen(sql_str), (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT);
checkerr(p_err,rc);
rc = OCIBindByPos(p_sql, &p_bnd, p_err, (ub4) 1,
(dvoid *) content->buffer, total_len, SQLT_CHR, (dvoid *) 0,
(ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DATA_AT_EXEC);
checkerr(p_err,rc);
rc = OCIStmtExecute(p_svc, p_sql, p_err, (ub4) 1, (ub4) 0,
(CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT);
checkerr(p_err,rc);
if(rc == OCI_NEED_DATA){
printf("[pw] start........\n");
// insert next pieces
t=content;
printf("%d bytes total.\n",total_len);
while(t!=NULL){
if(t==content){
piec_status=OCI_FIRST_PIECE;
t_buff_len=strlen(t->buffer);
buffer_pos=t_buff_len+1;
printf("ready for first piece: %d bytes\n",t_buff_len+1);
printf("__________________\n%s\n__________________\n",t->buffer);
}else if(t->next==NULL){
piec_status=OCI_LAST_PIECE;
t_buff_len=strlen(t->buffer);
buffer_pos+=t_buff_len+1;
printf("ready for last piece: %d bytes\n",t_buff_len+1);
printf("__________________\n%s\n__________________\n",t->buffer);
}else{
piec_status=OCI_NEXT_PIECE;
t_buff_len=strlen(t->buffer);
buffer_pos+=t_buff_len+1;
printf("ready for next piece: %d bytes\n",t_buff_len+1);
printf("__________________\n%s\n__________________\n",t->buffer);
t_buff_len++;
rc = OCIStmtSetPieceInfo((dvoid *)p_bnd,
(ub4)OCI_HTYPE_BIND, p_err, (dvoid *)t->buffer,
& t_buff_len, piec_status, (dvoid *) 0, &r_code);
checkerr(p_err,rc);
rc = OCIStmtExecute(p_svc, p_sql, p_err, (ub4) 1, (ub4) 0,
(CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT);
checkerr(p_err,rc);
t=t->next;
if(rc==OCI_SUCCESS){
printf("All insert OK\n");
printf("-------------------------\n");
return 0;
}else if(rc==OCI_SUCCESS){
printf("Simple inserted.\n");
printf("-------------------------\n");
return 1;
}else{
checkerr(p_err,rc);
printf("-------------------------\n");
return 0;
int main(){
db_init();
db_open();
db_save_to_test();
db_close();
int db_close(){
rc = OCILogoff(p_svc, p_err); /* Disconnect */
rc = OCIHandleFree((dvoid *) p_sql, OCI_HTYPE_STMT); /* Free handles */
rc = OCIHandleFree((dvoid *) p_svc, OCI_HTYPE_SVCCTX);
rc = OCIHandleFree((dvoid *) p_err, OCI_HTYPE_ERROR);
oraOK=0;
return rc;
int db_open(){
/* Connect to database server */
rc = OCILogon(p_env, p_err, &p_svc, orausername, strlen(_ora_username), orapassword, strlen(_ora_password), oraserver, strlen(_ora_server));
if (rc != 0) {
OCIErrorGet((dvoid *)p_err, (ub4) 1, (text *) NULL, &errcode, errbuf, (ub4) sizeof(errbuf), OCI_HTYPE_ERROR);
printf("Error - %.*s\n", 512, errbuf);
return(8);
/* Allocate SQL */
rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &p_sql,
OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0);
checkerr(p_err,rc);
oraOK=1;
return rc;
int db_init(){
rc = OCIInitialize((ub4) OCI_DEFAULT, (dvoid *)0, /* Initialize OCI */
(dvoid * (*)(dvoid *, size_t)) 0,
(dvoid * (*)(dvoid *, dvoid *, size_t))0,
(void (*)(dvoid *, dvoid *)) 0 );
/* Initialize evironment */
rc = OCIEnvInit( (OCIEnv **) &p_env, OCI_DEFAULT, (size_t) 0, (dvoid **) 0 );
/* Initialize handles */
rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &p_err, OCI_HTYPE_ERROR,
(size_t) 0, (dvoid **) 0);
rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &p_svc, OCI_HTYPE_SVCCTX,
(size_t) 0, (dvoid **) 0);
checkerr(p_err,rc);
return rc;
int checkerr(OCIError *errhp, sword status){
text errbuf[512];
sb4 errcode = 0;
switch(status){
case OCI_SUCCESS:
return 0; break;
case OCI_SUCCESS_WITH_INFO:
(void) printf("Error - OCI_SUCCESS_WITH_INFO\n");
break;
case OCI_NEED_DATA:
(void) printf("Error - OCI_NEED_DATA\n");
break;
case OCI_NO_DATA:
(void) printf("Error - OCI_NODATA\n");
break;
case OCI_ERROR:
(void) OCIErrorGet((dvoid *)errhp, (ub4) 1, (text *) NULL, &errcode,
errbuf, (ub4) sizeof(errbuf), OCI_HTYPE_ERROR);
(void) printf("Error - %.*s\n", 512, errbuf);
break;
case OCI_INVALID_HANDLE:
(void) printf("Error - OCI_INVALID_HANDLE\n");
break;
case OCI_STILL_EXECUTING:
(void) printf("Error - OCI_STILL_EXECUTE\n");
break;
case OCI_CONTINUE:
(void) printf("Error - OCI_CONTINUE\n");
break;
default:
break;
return 1;
ref: http://www.oracle.com.cn/onlinedoc/appdev.920/a96584/oci05bnd.htm#427755On Windows, the Flash player plugin DLL is under C:\Windows. When everything is working correctly, Firefox finds the Flash player by checking entries under a registry key. I don't know whether this check takes place every time Firefox restarts, or at other intervals.
Other plugins may install differently, e.g., copying a DLL into a folder under c:\Program Files (x86). It's rare for a plugin to be profile-specific.
If your plugin list is not updating, the pluginreg.dat file that stores plugin information might be corrupted. This article has a section on how to delete that file so Firefox will regenerate it: [https://support.mozilla.org/en-US/kb/troubleshoot-issues-with-plugins-fix-problems#w_re-initializing-the-plugins-database]. Does that help? -
How openning of adobe forms could be faster at Enterprise portal 7.0
I wander how openning of adobe forms could be faster at Enterprise portal 7.0. We are using for ESS/MSS functionality.
I found out that firs time an form is opened it takes longer than next times. Has anyone some good documentation
Than you in advance> I wander how openning of adobe forms could be faster at Enterprise portal 7.0. We are using for ESS/MSS functionality.
> I found out that firs time an form is opened it takes longer than next times. Has anyone some good documentation
I would say that this is caused by the Adobe Reader on the PC, not by the portal itself.
Markus -
Adobe form data refresh on new action
I have a table where the first column has a data field with a link to an action, the action calls a method to execute a model and then displays a new view with an InteractiveForm to display the data for the selected field. So, select an employee in the table, model is executed, Adobe form is displayed to show the data for that employee. The manager can then click a back button to go back and select a new employee from the table and then display the Adobe form for the new employee. This all works great the 1st time, but when I go back and select a new employee the Adobe form still displays the data for the 1st employee. I have added fields mapped to the context values to verify that the data is changing each time I select a new employee, but the Adobe form does not get updated. This seems too easy, what am I missing to clear my Adobe form and populate the new data the next time in?
Thanks for any guidance.
Jeff MathiesonHi,
just try to change the mode property of the interactive form element to " generatePdf" and check.
hope it helps you.
Rergards,
ramesh
Edited by: Ramesh Babu V on Aug 20, 2010 4:10 PM -
How to insert one table data into multiple tables by using procedure?
How to insert one table data into multiple tables by using procedure?
Below is the simple procedure. Try the below
CREATE OR REPLACE PROCEDURE test_proc
AS
BEGIN
INSERT ALL
INTO emp_test1
INTO emp_test2
SELECT * FROM emp;
END;
If you want more examples you can refer below link
multi-table inserts in oracle 9i
Message was edited by: 000000 -
Hi Experts, how to copy adobe form to a Z form? see details, thanks.
Hi Experts,
how to copy adobe form to a Z form? becuase when I click copy and enter the z form name and click ok, then I got an internal error occured SAP FP API, what is wrong? can anyone tell me the correct way to copy a standard adobe form? thanks in advance!
Kind regards
DawsonHi Dawson,
I have just done the same, but i couldnt get any error, its suceesfully asking for Dev class and saving.
I suggest you to show this msg to your basis guy, he is the person who has to help you out.
Regards,
Sujatha
Maybe you are looking for
-
Dear Gurus, What needs to be done to round off the excise condition values before it hits accounts. Thanks nits
-
How do I get a Gaelic UI in OS 10.6?
I want to change the interface language to irish gaelic, but nothing changes when I put Gaeilge in System Preferences, nothing changes.
-
Scrap entry for in QA32 confirmation screen.
we r making entry of scrap in QA32 tcode wiith inspection lot origin 03 -production. when we r confirming the yield as well scrap in the same Tcode QA32 as for first time the scrap qty was 1 . then we r chking the CO11 screen the scra qty appering is
-
Hi guys, I got a strange issue on a server. The C drive is for the system. The D drive contain the file for the file server (13Gb) and is a volume of 600Gb C and D are two disks RAID mirroring. The E drive is dedicated to backup using WBS, the disk i
-
Transport movement within different environment
When moving transport/object from development to quality or production environment we often require approvals before can go live. I don't see any support or mechanism offered by SAP within for this. We are also using a third party software for this p