Calling second step of transaction of r3 through web dynpro
Hi all
We are calling a particular transaction and passing paramter to it through web dynpro.We have successfully implemented it.but we are facing problem in calling second step of transaction and passing parameter required at second step.
pls tell me if any one has any ideas how to do it ???
regards
zaid
Does the second step involve a new function module or does it make use of the same one? Regardless the second call shouldn't be any different than the subsequent calls. Maybe you could provide more details.
/Greg
Similar Messages
-
Calling a Standard SAP transaction VA03 from another web dynpro application
Hi All,
I have a requirement wherein I need to call the standard SAP transaction VA03 whenever a sales order is selected in some other we dynpro application so that the sales order gets displayed.
No regarding usage of OBN for the above functionality I have certain queries:
1. In order to call VA03 do I need to create a transactional iview for it or is there any direct method.Also how to pass this sales order number as parameter to the T.Code.
2. Can we use standard business object BUS2032 for OBN or a new Business object is created.What exactly is the purpose of these standard business objects in portal and when should they be used.
Thanks in advance
Aman GuptaHi Aman - Do you have a portal team in your project or you have to create the IVIEWS yourself?
I do have a portal team and I dont know how they create the IVIEWs but for example, I will go to my portal team and I will ask them to create an IVIEW for TCODE VA03, they will created and they will tell me the input parameters they entered for the IVIEW so I can call OBN and display in webdynpro.
SAP in SRM has webdynpro e.g. for BUS2121 and they have an IVIEW already implemented in the portal context pointing to the webdynpro of BUS2121 so we can used the IVIEW by calling OBN and passing the parameters; in my case the object_type will be 'shc' and the operation will be 'display' and the paremeters itab will be the GUID of my shopping cart, that way the OBN can understand which Shopping cart open and in which operation mode.
I also did something like your requirement, I need it to display a specific case in Records Management but SAP has a standard IVIEW for records management 'RMREGEDIT' that didn't work for my requirement so I went to SE38 created a program that displayed the case based on GUID and I created a TCODE of my custom program. Portal team created a custom IVIEW of my custom TCODE and they told me the input parameters to call the TCODE in OBN and I pass in the itab parameter the GUID of the case using the FM that I post before.
The action to call the OBN is in the event handler ON_CLICK of my ALV and the action is getting trigger when the user actually clicks a HYPERLINK in the ALV.
Hope this helps you!
Please feel free to ask me more details if you need.
Jason PV -
Mass upload through Web Dynpro application possible?
We want to develop a custom aplication with Web Dynpro ABAP for master data maintenance. About 90 % will be done manually but we also want to have the possibility to do mass uploads (comparable with LSMW's in SAP R3 for win gui transactions: users send us a spreadsheet and we load it for them using a LSMW). I found one option by building Adobe Interactive form offline scenario using xml messages but I don't want to be forced to use Adobe only to enable mass uploads that will only happen in 10 % of the cases.
I am loking forward to your suggestions!
kind regards
Angelique HeutinckI got a very useful answer from Thomas Jung (SAP) via a site he did setup with a couple of other SAP experts, also see http://enterprisegeeks.com/blog/2009/03/31/abap-freak-show-april-1st-acf-updownload-in-web-dynpro-abap/comment-page-1/
My question:
I think this new UI element ACFUpDownload cannot be used to do mass uploads/updates of data that need to be stored in SAP tables?
Answer Thomas:
This UI element is just about the transfer of data from the client machine to the server. It has nothing to do with how the data is used or processed after upload. Think of it as the equal to the CL_GUI_FRONTEND_SERVICES class and methods GUI_UPLOAD and GUI_DOWNLOAD.
My question:
Is there a tool like LSMW, CATT, eCATT that we can use for recording webenabled transactions (applications developed in Web Dynpro ABAP)?
Answer Thomas:
You shouldnu2019t need a tool like LSMW, CATT, eCATT that is tied to the user interface. With WDA you should be using MVC to design your application. This is part of the reason for MVC so that you have a clear separation of the model - business logic. You should always have a reusable class that can be called to input and create data with the same validations without going through the user interface. This is the process that SAP is following as we create new WDA screens. We use the enterprise services and their implementation classes as the Model for the WD Components. This ensures that you always have a clear API to use to mass import data.
Although we wouldnu2019t recommend doing any kind of mass data load via the user interface any longer - eCATT will be supported for automated testing of Web Dynpro ABAP applications as of NetWeaver 7.0 Enhancement Package 2. -
Exploring the possibility of running a BW query through Web Dynpro
Hi,
I would like to extract data from BW query and its output of should populate into the selection screen which is developed in Web Dynpro.
Can anyone please help me out .....
Regards
Padma NI got a very useful answer from Thomas Jung (SAP) via a site he did setup with a couple of other SAP experts, also see http://enterprisegeeks.com/blog/2009/03/31/abap-freak-show-april-1st-acf-updownload-in-web-dynpro-abap/comment-page-1/
My question:
I think this new UI element ACFUpDownload cannot be used to do mass uploads/updates of data that need to be stored in SAP tables?
Answer Thomas:
This UI element is just about the transfer of data from the client machine to the server. It has nothing to do with how the data is used or processed after upload. Think of it as the equal to the CL_GUI_FRONTEND_SERVICES class and methods GUI_UPLOAD and GUI_DOWNLOAD.
My question:
Is there a tool like LSMW, CATT, eCATT that we can use for recording webenabled transactions (applications developed in Web Dynpro ABAP)?
Answer Thomas:
You shouldnu2019t need a tool like LSMW, CATT, eCATT that is tied to the user interface. With WDA you should be using MVC to design your application. This is part of the reason for MVC so that you have a clear separation of the model - business logic. You should always have a reusable class that can be called to input and create data with the same validations without going through the user interface. This is the process that SAP is following as we create new WDA screens. We use the enterprise services and their implementation classes as the Model for the WD Components. This ensures that you always have a clear API to use to mass import data.
Although we wouldnu2019t recommend doing any kind of mass data load via the user interface any longer - eCATT will be supported for automated testing of Web Dynpro ABAP applications as of NetWeaver 7.0 Enhancement Package 2. -
Upload and Attach file to Service Notificacion through Web Dynpro
Hi,
I need to upload and attach a file (Word, PDF, TXT ...) to Service Notificacion (TX - IW53) through Web Dynpro.
I have used the integration component "File Upload" to obtain the "fileName" atribute. Also, I have used the functions SO_OBJECT_UPLOAD, SO_INSERT_OBJECT and BINARY_RELATION_CREATE_COMMIT.
But have a problem, because the function SO_OBJECT_UPLOAD use the class "cl _ gui _ frontend _ services" and that clash with Web Dynpro.
My question is: how could I resolve that problem?
I look forward to your response.
ThanksIV_NAME Importing Type STRING
IV_CONTENT Importing Type STRING
IV_CONTENT_HEX Importing Type XSTRING
IS_LPORB Importing Type SIBFLPORB
IV_OBJTP Importing Type SO_OBJ_TP
RT_MESSAGES Returning Type BAPIRETTAB
method save.
data ls_message type bapiret2.
data:
filename type string,
filefullname type string,
mime_type type string,
size type i,
offset type i,
offset_old type i,
temp_len type i,
objname type string,
l_obj_type type so_obj_tp,
hex_null type x length 1 value '20',
l_document_title type so_text255,
file_ext type string,
lt_objcont type standard table of solisti1 initial size 6,
objcont like line of lt_objcont,
lt_ls_doc_change type standard table of sodocchgi1,
ls_doc_change like line of lt_ls_doc_change,
lt_data type soli_tab,
ls_data type soli,
lt_xdata type solix_tab,
ls_xdata type solix,
l_folder_id type sofdk,
ls_object_id type soodk,
l_object_id_fol type so_obj_id,
l_object_id type so_obj_id,
l_doc_info TYPE sofolenti1,
l_object_hd_change type sood1,
l_tab_size type int4,
l_retype type breltyp-reltype,
lt_urltab type standard table of sood-objdes.
get foler
l_folder_id = 'FOL29000000000004'.
call function 'SO_FOLDER_ROOT_ID_GET'
exporting
owner = sy-uname
region = 'B'
importing
folder_id = l_folder_id
tables
path_table =
if iv_objtp = gc_type_file.
size = xstrlen( iv_content_hex ).
get file name and extension
call method split_path
exporting
iv_path = iv_name
importing
E_PATH =
ev_filename = filename
E_PSERVER =
call method split_file_extension
exporting
iv_filename_with_ext = filename
importing
ev_filename = objname
ev_extension = file_ext.
ls_doc_change-obj_name = objname.
ls_doc_change-obj_descr = objname.
ls_doc_change-obj_langu = sy-langu.
ls_doc_change-sensitivty = 'F'.
ls_doc_change-doc_size = size.
offset = 0.
while offset <= size.
offset_old = offset.
offset = offset + 255.
if offset > size.
temp_len = xstrlen( iv_content_hex+offset_old ).
clear ls_xdata-line with hex_null in byte mode.
ls_xdata-line = iv_content_hex+offset_old(temp_len).
else.
ls_xdata-line = iv_content_hex+offset_old(255).
endif.
append ls_xdata to lt_xdata.
endwhile.
set object type relation type and other header info
l_retype = 'ATTA'.
l_obj_type = 'EXT'.
l_object_hd_change-objnam = ls_doc_change-obj_name.
l_object_hd_change-objdes = ls_doc_change-obj_descr.
l_object_hd_change-objsns = ls_doc_change-sensitivty.
l_object_hd_change-objla = ls_doc_change-obj_langu.
l_object_hd_change-objlen = ls_doc_change-doc_size.
l_object_hd_change-file_ext = file_ext.
prepare header
data lt_obj_header type standard table of solisti1.
data ls_header type solisti1.
concatenate '&SO_FILENAME=' filename into ls_header.
append ls_header to lt_obj_header.
clear ls_header.
ls_header = '&SO_FORMAT=BIN'.
append ls_header to lt_obj_header.
change hex data to text data
call function 'SO_SOLIXTAB_TO_SOLITAB'
exporting
ip_solixtab = lt_xdata
importing
ep_solitab = lt_data.
else.
for note
size = strlen( iv_content ).
objname = iv_name.
ls_doc_change-obj_descr = objname.
ls_doc_change-sensitivty = 'O'.
ls_doc_change-obj_langu = sy-langu.
put content into table
offset = 0.
if iv_objtp = gc_type_note.
it's a note
l_retype = 'NOTE'.
l_obj_type = 'RAW'.
l_object_hd_change-file_ext = 'TXT'.
read note content into table
while offset <= size.
offset_old = offset.
offset = offset + 255.
if offset > size.
temp_len = strlen( iv_content+offset_old ).
clear ls_data-line.
ls_data-line = iv_content+offset_old(temp_len).
else.
ls_data-line = iv_content+offset_old(255).
endif.
append ls_data to lt_data.
endwhile.
get title from content , if it's initial
if objname is initial.
read table lt_data index 1 into l_document_title.
while l_document_title+49 <> ' '.
shift l_document_title right.
endwhile.
shift l_document_title left deleting leading ' '.
ls_doc_change-obj_descr = l_document_title.
endif.
else.
it's url (not note)
l_retype = 'URL'.
l_obj_type = 'URL'.
if objname is initial.
split iv_content at '/' into table lt_urltab.
describe table lt_urltab lines l_tab_size.
read table lt_urltab index l_tab_size into ls_doc_change-obj_descr.
endif.
while offset <= size.
offset_old = offset.
offset = offset + 250.
if offset > size.
temp_len = strlen( iv_content+offset_old ).
clear ls_data-line.
ls_data-line = iv_content+offset_old(temp_len).
else.
ls_data-line = iv_content+offset_old(250).
endif.
concatenate '&KEY&' ls_data-line into ls_data-line.
append ls_data to lt_data.
endwhile.
endif.
ls_doc_change-doc_size = size.
l_object_hd_change-objnam = ls_doc_change-obj_name.
l_object_hd_change-objdes = ls_doc_change-obj_descr.
l_object_hd_change-objsns = ls_doc_change-sensitivty.
l_object_hd_change-objla = ls_doc_change-obj_langu.
l_object_hd_change-objlen = ls_doc_change-doc_size.
endif.
save object
call function 'SO_OBJECT_INSERT'
exporting
folder_id = l_folder_id
OBJECT_FL_CHANGE = OBJECT_FL_CHANGE
object_hd_change = l_object_hd_change
object_type = l_obj_type
ORIGINATOR_ID = OWNER_ID
OWNER = USER-USRNAM
importing
OBJECT_FL_DISPLAY = OBJECT_FL_DISPLAY
OBJECT_HD_DISPLAY = OBJECT_HD_DISPLAY
object_id = ls_object_id "l_doc_info-object_id
tables
objcont = lt_data
objhead = lt_obj_header
OBJPARA = OBJECT_PARA
OBJPARB = OBJECT_PARB
exceptions
component_not_available = 01
folder_not_exist = 06
folder_no_authorization = 05
object_type_not_exist = 17
operation_no_authorization = 21
parameter_error = 23
others = 1000.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into ls_message-message.
ls_message-type = sy-msgty.
ls_message-id = sy-msgid.
ls_message-number = sy-msgno.
ls_message-message_v1 = sy-msgv1.
ls_message-message_v2 = sy-msgv2.
ls_message-message_v3 = sy-msgv3.
ls_message-message_v4 = sy-msgv4.
append ls_message to rt_messages.
return.
endif.
create relation
data l_obj_rolea type borident.
data l_obj_roleb type borident.
MOVE-CORRESPONDING wd_this->ms_lporb to l_obj_rolea.
l_obj_rolea-objkey = is_lporb-instid.
l_obj_rolea-objtype = is_lporb-typeid.
l_obj_rolea-logsys = is_lporb-catid.
l_object_id_fol = l_folder_id.
l_object_id = ls_object_id.
concatenate l_object_id_fol l_object_id into l_obj_roleb-objkey respecting blanks.
l_obj_roleb-objtype = 'MESSAGE'.
clear l_obj_roleb-logsys.
call function 'BINARY_RELATION_CREATE'
exporting
obj_rolea = l_obj_rolea
obj_roleb = l_obj_roleb
relationtype = l_retype
exceptions
others = 1.
if sy-subrc = 0.
commit work and wait.
wd_this->MV_UPDATE_FLAG = 'X'.
else.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into ls_message-message.
ls_message-type = sy-msgty.
ls_message-id = sy-msgid.
ls_message-number = sy-msgno.
ls_message-message_v1 = sy-msgv1.
ls_message-message_v2 = sy-msgv2.
ls_message-message_v3 = sy-msgv3.
ls_message-message_v4 = sy-msgv4.
append ls_message to rt_messages.
return.
endif.
endmethod.
Edited by: Reyleene Hunt on May 26, 2009 10:05 AM -
How to send a mail through web dynpro application
Hi
How to send a mail through web dynpro application?
ThanksHi ,
Please post some more details about your query .
One way is to can use LinkToUrl UI element and in the reference property of the UI element , give it as mailto:mail addess
Thanks.
aditya. -
Search for users in a particular LDAP through Web Dynpro code...
Hi Experts,
Let me try explaining my problem. In my project we are using two ADAM LDAPs. One for storing internal users and the other for storing external users. I have configured the portal to connect to both the LDAPs. I am able to search for the users created in both the LDAPs through portal Indentity Management.
I am trying to search for the users in a specific LDAP through Web Dynpro coding... I am not lucky enough to get it done. Let me explain you what I did.
I created a custom attribute for UME through config tool. Gave a physical mapping for the custom attribute in dataSourceConfig_xxx.xml to the LDAP attribute distinguishedName which returns the distinguished Name for the user in ADAM LDAP.
For Example: Custom attribute in UME is ldapuser which is mapped to distinguishedName attribute in ADAM LDAP in dataSourceConfig_xxx.xml.
When I do a search for the users in a particular LDAP, I am trying to put a filter to the newly created ldapuser attribute to distinguish between the two LDAPs.
The search will result if I pass the value as '*'. If I try to specify the user path for the LDAP in this attribute it doesnt result any data.
For example:
userSearchFilter.setSearchAttribute(
"com.sap.com.cust.admn",
"ldapuser",
"OU=16482515,OU=Members",
ISearchAttribute.LIKE_OPERATOR,
false);
The above code will not return the data, whereas
userSearchFilter.setSearchAttribute(
"com.sap.com.cust.admn",
"ldapuser",
ISearchAttribute.LIKE_OPERATOR,
false);
Will result with user list from both the LDAPs.
If anyone tried searching for users in a particular LDAP through code, please help me with this issue.
Thank you in advance.
Regards,
Rekha MalavathuI just figured it out. Under "group-policy GroupPolicy_COMPANY_SSL_VPN attributes", I had to add "vpn-simultaneous-logins 15". Apparently, it was using the value "vpn-simultaneous-logins 0" under the NOACCESS group policy.
-
Adobe Forms - Table control data Saved in Database table through Web Dynpro
Hello Friends,
I Am facing a Problem in Adobe Forms through Web Dynpro.
i Want to Make Interactive online Adobe Forms - In Table Control user enter the multiple entry in the table control and after that Click on SAVE button , entry will saved in Database table.
Please guide me.
Thanks in advance.
Gaurav.Hi Gaurabh,
For interactive form you have to check the property DisplayType = native and PdfSource should be a Context Attribute of type 'Xstring'.
For data retrieval, create a NODE and have all the required attributes within that node of AOBE form.
Fetch the data in WDDOINIT.
Also check, that the offline senario for this form is working.
Hope it helps you. -
Calling session bean's business method through web dynpro component
Hi All,
Can anybody tell me how to call a session bean's methods through a web dynpro WITHOUT java-model or web service model ??
I have following scenario:-
1. Stateless Session bean having two business methods
2. Web Dynpro component
3.Now i want to call business methods without using any model. I have got following piece of code but I dont know how to go about it.
4.Where do i have to set JNDI name for session bean? which interface will be looked for?
5. Do I have to declare public part for EJB DC? If yes, how?
//This is inside web dynpro component
InitialContext context = new InitialContext();
o = context.lookup(JNDIName);
TestSessionbeanHome homeRef = (TestSessionbeanHome) PortableRemoteObject.narrow( o,
TestSessionbeanHome.class);
TestSessionbean beanRef = homeRef.create();
<returnValue> = beanRef.<ejb method name>
Please help to get a step-by-step approach to this case.
Thanks and regards,
Amey MogareHi,
If I comment out the part that is using session bean's business method, DC is building fine.
And if I uncomment, then compiler is unabl eto resolve business method(s).
And i would like to mention that my EJB + J2EE App DC is building properly, but it havent yet deployed properly as I am waiting for data-source-alias name prefix to be configured by ERP team. So will this be a reason why Web Dynpro DC is not able to resolve business methods ??
Because Web Dynpro DC is able to resolved all interfaces of Session bean and entity bean. But when it comes to business method, its not able to resolve.
Any more ideas why it is not happening?
Pls help.
Now i went through some forum posts regarding this and found that we also need to add EJB DC to Java Build Path for WebDynproDC>Properties>Java Build Path.
I did this and now it is able to resolve business methods and DTOs as well. So to summarize I did following:-
1. Added EJB DC (complete DC) as a Used DC to Web Dynpro DC with Buid-n-Deploy-n-Run time dependency
2. Added Sharing reference of J2EE application DC to Web Dynpro DC -->Properties
This reference I constructed as follows:-
<vendorname>/<name of j2ee application as appearing under display name tag in application.xml (replacing '/' with '~')>
So my Sharing Reference becomes:- <vendorname>/reqpstapscreqpstapja_reqid
3. Added EJB DC to Java Build Path in Web Dynpro DC's properties
4. Then I added following piece of code to get object of SessionBean class
InitialContext context = new InitialContext();
Object o = context.lookup("java:comp/env/ejb/SessionRequestIDBean");
SessionRequestIDHome homeRef = (SessionRequestIDHome) PortableRemoteObject.narrow(o, SessionRequestIDHome.class);
SessionRequestID beanRef = homeRef.create();
beanRef.<business method>
But After doing this I am facing another problem :-
The build fails saying it is not able find the package for DTOs. But when I see the Component Controller's code it is not showing any red or yellow marks.
Can anybody pls help me out here?
Thanks and regards,
Amey Mogare -
Problem in calling abap editor with the program name in Web Dynpro ABAP
Hi,
I have to caal ABAP Editor screen with the display of program after clicking a button from web dynpro abap application.
I am able to call the ABAP Editor initial screen, but i want the editor display screen with a program.
How to do that?
Please find my code below:
DATA : FINAL_URL TYPE STRING,
URL TYPE STRING.
DATA: LV_HOST TYPE STRING,
LV_PORT TYPE STRING.
DATA V_TCODE TYPE TCODE.
DATA: LO_WINDOW_MANAGER TYPE REF TO IF_WD_WINDOW_MANAGER.
DATA: LO_API_COMPONENT TYPE REF TO IF_WD_COMPONENT.
DATA: LO_WINDOW TYPE REF TO IF_WD_WINDOW.
DATA: LD_URL TYPE STRING.
V_TCODE = 'SE38'.
*Call below method to get host and port
CL_HTTP_SERVER=>IF_HTTP_SERVER~GET_LOCATION(
IMPORTING
HOST = LV_HOST
PORT = LV_PORT ).
CONCATENATE 'http'
'://' LV_HOST ':' LV_PORT '/sap/bc/gui/sap/its/webgui/?sap-client=&transaction=' V_TCODE '&OKCODE=SHOW'
INTO URL.
LO_API_COMPONENT = WD_COMP_CONTROLLER->WD_GET_API( ).
LO_WINDOW_MANAGER = LO_API_COMPONENT->GET_WINDOW_MANAGER( ).
LD_URL = URL.
CALL METHOD LO_WINDOW_MANAGER->CREATE_EXTERNAL_WINDOW
EXPORTING
URL = LD_URL
RECEIVING
WINDOW = LO_WINDOW.
LO_WINDOW->OPEN( ).
Now, how to pass my Zprogram name into the URL.
I need to get the editor screen with the display of the program.
Thanks,
RadhikaHi Kiran,
Please find my code below:
DATA : URL TYPE STRING.
DATA: LV_HOST TYPE STRING,
LV_PORT TYPE STRING.
DATA: LO_WINDOW_MANAGER TYPE REF TO IF_WD_WINDOW_MANAGER.
DATA: LO_API_COMPONENT TYPE REF TO IF_WD_COMPONENT.
DATA: LO_WINDOW TYPE REF TO IF_WD_WINDOW.
DATA: LD_URL TYPE STRING.
*Call below method to get host and port
CL_HTTP_SERVER=>IF_HTTP_SERVER~GET_LOCATION(
IMPORTING
HOST = LV_HOST
PORT = LV_PORT ).
CONCATENATE 'http'
'://' LV_HOST ':' LV_PORT '/sap/bc/gui/sap/its/webgui/?&transaction=se38&RS38M-PROGRAMM=Y2PSOLTREE&~okcode=shop'
INTO URL.
LO_API_COMPONENT = WD_COMP_CONTROLLER->WD_GET_API( ).
LO_WINDOW_MANAGER = LO_API_COMPONENT->GET_WINDOW_MANAGER( ).
LD_URL = URL.
CALL METHOD LO_WINDOW_MANAGER->CREATE_EXTERNAL_WINDOW
EXPORTING
URL = LD_URL
RECEIVING
WINDOW = LO_WINDOW.
LO_WINDOW->OPEN( ).
Here,, Y2PSOLTREE is the program, that should show in SE38 screen.
I used the above code, but still it is showing the SE38 initial screen.
Thanks,
Radhika -
Send pdf file to workflow through web dynpro.
Hi All,
I have a web dynpro component, with this component i am raising a request, which will go to multiple level of approvals(for this triggering workflow from web dynpro).
Now i want to send a pdf file as an attachment to approvers work items.
For this i have used File Upload UI element, and i have binded data property of this upload UI element with an attribute of type Xstring.
Now can you please help me to send this file to workflow.
I am able to send a pdf file as an attachment through executable report (SE38), but same functionality is not working from web dynpro.
Code used in executable report is as below:
DATA: t_data_tab TYPE TABLE OF x255,
bin_size TYPE i,
buffer_x TYPE xstring,
buffer_zip TYPE xstring,
filename TYPE string VALUE 'C:\Documents and Settings\My Documents\Downloads\IT.pdf'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = filename
filetype = 'BIN'
IMPORTING
filelength = bin_size
HEADER =
TABLES
data_tab = t_data_tab.
**get xstring
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = bin_size
IMPORTING
buffer = buffer_x
TABLES
binary_tab = t_data_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.
ZSWR_ATT_HEADER-FILE_TYPE = 'B'.
ZSWR_ATT_HEADER-FILE_NAME = 'FORM-407'.
ZSWR_ATT_HEADER-FILE_EXTENSION = 'PDF'.
ZSWR_ATT_HEADER-LANGUAGE = 'EN'.
WORKITEMID = '000000401208'.
CALL FUNCTION 'SAP_WAPI_ATTACHMENT_ADD'
EXPORTING
WORKITEM_ID = WORKITEMID
ATT_HEADER = ZSWR_ATT_HEADER
ATT_TXT =
ATT_BIN = buffer_x
DOCUMENT_OWNER = SY-UNAME
LANGUAGE = SY-LANGU
DO_COMMIT = 'X'
IMPORTING
RETURN_CODE =
ATT_ID = ZSWR_ATT_ID
TABLES
MESSAGE_LINES = SWR_MESSAG
*MESSAGE_STRUCT =
if sy-subrc = 0.
else.
endif.
But function "GUI_UPLOAD" is not working in web dynpro.
Regards,
AmarHI,
Try out this code :
FileInputStream is = new FileInputStream(file);
long length = file.length();
byte[] bytes = new byte[(int)length];
long bytesRead = is.read(bytes);
if (bytesRead < length)
throw new IOException("Could not completely read file "+file.getName());
is.close();
element.setDocumentContent(bytes);
Create a context attribute of binary type and assign the read data to it and bind the dataSource property of your File Upload and Download properties to this context Attribute.
Regards
Sid -
File DownLoad from R/3 to Local Disk through Web Dynpro
Hi,
I have a zebra print spool, to be saved in the local disk. For this, I have an RFC which will store the document in Portal Server KM folder and will give the file name for web dynpro app. The web dynpro app will search the KM Directory, and will enable the user to save the file on the local disk.
Is it right approach? Is there any other approaches which would be efficient. BTW, I have files from 4k to 12k size. Can I directly attach it to the context variable and store it directly onto the local disk.
I am running Netweaver2004 SP16. I cant use Input stream, does this affect the performance?.
Thanks, I appreciate your time.Hi Raj,
you have the name and the full path of the file you can access the file through FILE IO as the file is on portal server only and then you can use the File Download UI in web dynpro to download the file
Ninad -
Create a DB-Table through Web Dynpro
Hi everybody,
how can i create a new DB-Table on my Database (oracle) through a Web Dynpro Application. In my Web Dynpro Application i create in the dictionary area a table with some colums. After deploying it into my WAS i opened the SQL-Developer but i could not see the new table which i have create in my Web Dynpro Application. Should i restart the WAS?
regards
SidHi,
It will not create a table in a outside database. When you create table through Dictionary project, it creates table in the database associated with server instance which can be MAX DB or Oracle database. Just check with your basis team about the connection parameters and then check the table through the SQL-Developer. Provided that you have done everything correctly.
Regards,
Manoj -
Searching TREX Index through Web Dynpro
Hi experts,
I'm trying to search through my TREX indexes with Web Dynpro. I have found some sources on this website and they seem to work, but when I test my Application, the table I want to fill stays empty.
The strange thing is that the "getNumberResultKeys()" variable is returning a correct value, but that the "ISearchResultList" stays empty.
I'm a newbie in Web Dynpro, so any help will be appreciated!
I wrote the following code:
try{
com.sap.security.api.IUser nwUser = UMFactory.getAuthenticator().getLoggedInUser();
com.sapportals.portal.security.usermanagement.IUser user;
user = WPUMFactory.getUserFactory().getEP5User(nwUser);
ResourceContext resourseContext = new ResourceContext(user);
IIndexService indexService = (IIndexService)ResourceFactory.getInstance().getServiceFactory().getService ( "IndexmanagementService");
IFederatedSearch federatedSearch = (IFederatedSearch)indexService.getObjectInstance("federatedSearchInstance");
List indexlist=indexService.getActiveIndexes();
SearchQueryListBuilder sqb = new SearchQueryListBuilder();
sqb.setSearchTerm("SomeSearchTerm");
IQueryEntryList qel = sqb.buildSearchQueryList();
ISearchSession session = federatedSearch.searchWithSession(qel, indexlist,resourseContext);
ISearchResultList results = session.getSearchResults(1, session.getTotalNumberResultKeys());
ISearchResultListIterator iter = results.listIterator();
while (iter.hasNext())
ISearchResult result = iter.next();
IPrivateDetailView.IPracticeDataElement PracticeData = wdContext.createPracticeDataElement();
PracticeData.setContentSnippet(result.getContentSnippet());
PracticeData.setResource(result.getResource().toString());
wdContext.nodePracticeData().addElement(PracticeData);
} catch (ResourceException e1) {
throw new WDRuntimeException(e1);
} catch (UserManagementException e2) {
throw new WDRuntimeException(e2);
} catch (WcmException e3) {
throw new WDRuntimeException(e3);
Thanks in advance for you help,
Edwin
nullMy context:
value node - PracticeData
value attribute - Resource
value attribute - ContentSnippet
The results are written to the context here (inside the while - statement):
IPrivateDetailView.IPracticeDataElement PracticeData = wdContext.createPracticeDataElement();
PracticeData.setContentSnippet(result.getContentSnippet());
PracticeData.setResource(result.getResource().toString());
wdContext.nodePracticeData().addElement(PracticeData);
I created a table with databinding to the value node (and value attributes). -
Creating dynamic file through web Dynpro
Hai All,
Please tell information about my question.
HOW TO FETCH CLLIENT MACHINE ADDRESS IN WEB DYNPRO.
Best Regards,
S.V.Selva Bala.Hi Saravanan,
Go through Re: IP problem in UME this thread. It might help you.
Regards,
Satyajit.
Message was edited by: Satyajit Chakraborty
Message was edited by: Satyajit Chakraborty
Maybe you are looking for
-
Itunes 10.6.1.7 Bug?
Ever since I updated Itunes to 10.6.1.7, it will not reconize my Iphone 4s. I keep getting the "this iphone cannot be used because the apple mobile device is not started" message. I've tried every solution that was on the support page about this topi
-
Fix for "iPod shows up in Windows but not in iTunes"
This is a possible fix for those with the "iPod shows up in Windows but not in iTunes" problem. This also fixes those have the update/restore problem (ipod disconnects after clicking update/restore in itunes) SOLUTION SOLUTION I had the exact same pr
-
Crystal Reports in JSP web application
Hi, I am using crystal report in my jsp application... Now there is a problem with me. I want use more than one tables in the report. The report is working with single table when i am calling from jsp. When i am using two or three queries i cannot pu
-
A stranger is showing up under "Shared" in my network
A stranger is showing up under "Shared" in my network. "Frank's Macbook Pro." I don't know anyone named Frank and my internet connection (comcast) is secured. I looked under "preferences/sharing" and didn't find a way to "Frank's Macbook Pro" from
-
Anyone knows if Apple will make keyboards like their laptops?
I recently got my Power Mac G5 and noticed right away how different the keyboard is when compared to my PowerBook G4. The PowerBook was the best keyboard I've ever used both on PC and Mac. I believe the reason I like the laptop's keyboard so much is