Editing Data in modal form
I have an mxml for my project, in which I have a DataGrid with a few fields, just enough to locate a desired record. When I double click on the item in the DataGrid, a modal form pops up, populated with the data in all the fields of the same record. So far, so good. However, now when I try to edit any data in any field, I get an error message:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.containers::TabNavigator/keyDownHandler()[E:\dev\gumbo_beta2\frameworks\projects\frame work\src\mx\containers\TabNavigator.as:904]
I don't have a keyDownHandler on my TabNavigator.
My project is fairly small and a knowledgable person would probably be able to see my mistake in 10 seconds or less if they reviewed my code. A zip file with my code is attached.
If some one could take a look, and post the errorneous line in the reply... then everyone in the forum could benefit.
I am making progress thanks to the excellent examples and instructions provided at:
http://sujitreddyg.wordpress.com/flash-builder-4/
I got a little demo of my own working just like in the instructions. I had to rebuild my test project from scratch several times.. I think the FB 4 b 1 stuff was interfering with the FB 4 b2 way of doing things. However now, I am trying to build my test project in the way that my real project will work.. and that is... all detail forms will be opened in a modal window, edited, commited and then closed.
PROBLEM: MODAL "frmSBJ" FORM crashes when I try to edit the text in a TextInput. (See exact error text in previous post)
In the baa_ria.mxml: ------------------------------------------------------
<fx:Script>
<![CDATA[
import components.*;
import mx.managers.PopUpManager;
protected function grdSBJs_itemDoubleClickHandler(event:ListEvent):void
show_frmSBJ();
public function show_frmSBJ():void
var pop:frmSBJ = frmSBJ(PopUpManager.createPopUp(this, frmSBJ, true));
pop.bAA_SBJ = grdSBJs.selectedItem as BAA_SBJ;
PopUpManager.centerPopUp(pop);
In the "components" folder, frmSBJ.mxml: ---------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
width="600" height="506"
xmlns:valueObjects="valueObjects.*"
xmlns:baa_data_svc="services.baa_data_svc.*">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
protected function btnDone_clickHandler(event:MouseEvent):void
// TODO: Refresh the grdSBJs somehow
PopUpManager.removePopUp(this);
protected function btnCommit_clickHandler(event:MouseEvent):void
updt_SBJResult.token = baa_data_svc.updt_SBJ(bAA_SBJ);
]]>
</fx:Script>
<fx:Declarations>
<valueObjects:BAA_SBJ id="bAA_SBJ"/>
<mx:DateFormatter id="dfISO" formatString="YYYY-MM-DD"/>
<mx:DateFormatter id="tfHMS" formatString="HH:MM:SS"/>
<s:CallResponder id="updt_SBJResult"/>
<baa_data_svc:Baa_data_svc id="baa_data_svc" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
</fx:Declarations>
<s:Panel x="15" y="9" width="564" height="465" id="pnlMain" title="Subject Name">
<s:Group x="10" y="377" width="544" height="41" id="grpButtonBar">
<s:Button x="309" y="10" label="Commit" id="btnCommit" click="btnCommit_clickHandler(event)" />
<s:Button x="386" y="10" label="Undo" id="btnUndo"/>
<s:Button x="464" y="10" label="Done" click="btnDone_clickHandler(event)" id="btnDone"/>
</s:Group>
<mx:TabNavigator x="6" y="8" width="548" height="361" id="tnvSBJ" creationPolicy="all">
<s:NavigatorContent label="Properties" width="100%" height="100%" id="nvcProperties">
<mx:Form x="126" y="5">
<mx:FormItem label="SBJ_NM">
<s:TextInput id="sBJ_NMTextInput" text="@{bAA_SBJ.SBJ_NM}"/>
</mx:FormItem>
<mx:FormItem label="SBJ_DOB">
<mx:DateField id="sBJ_DOBDateField" selectedDate="@{bAA_SBJ.SBJ_DOB}"/>
</mx:FormItem>
<mx:FormItem label="SBJ_ID">
<s:TextInput id="sBJ_IDTextInput" text="@{bAA_SBJ.SBJ_ID}"/>
</mx:FormItem>
<mx:FormItem label="NOTE">
<s:TextArea id="nOTETextInput" text="@{bAA_SBJ.NOTE}"/>
</mx:FormItem>
</mx:Form>
</s:NavigatorContent>
<s:NavigatorContent label="Meta-data" width="100%" height="100%" id="nvcMetaData">
<mx:Form x="117" y="25">
<mx:FormItem label="SRC_SYS_NM">
<mx:Text id="sRC_SYS_NMText" text="{bAA_SBJ.SRC_SYS_NM}"/>
</mx:FormItem>
<mx:FormItem label="SRC_SYS_GUID">
<mx:Text id="sRC_SYS_GUIDText" text="{bAA_SBJ.SRC_SYS_GUID}"/>
</mx:FormItem>
<mx:FormItem label="OBJ_GUID">
<mx:Text id="oBJ_GUIDText" text="{bAA_SBJ.OBJ_GUID}"/>
</mx:FormItem>
<mx:FormItem label="CDT">
<mx:Text id="cDTText" text="{dfISO.format(bAA_SBJ.CDT)}"/>
</mx:FormItem>
<mx:FormItem label="CTM">
<mx:Text id="cTMText" text="{tfHMS.format(bAA_SBJ.CTM)}"/>
</mx:FormItem>
<mx:FormItem label="CBY">
<mx:Text id="cBYText" text="{bAA_SBJ.CBY}"/>
</mx:FormItem>
<mx:FormItem label="MDT">
<mx:Text id="mDTText" text="{dfISO.format(bAA_SBJ.MDT)}"/>
</mx:FormItem>
<mx:FormItem label="MTM">
<mx:Text id="mTMText" text="{tfHMS.format(bAA_SBJ.MTM)}"/>
</mx:FormItem>
<mx:FormItem label="MBY">
<mx:Text id="mBYText" text="{bAA_SBJ.MBY}"/>
</mx:FormItem>
</mx:Form>
</s:NavigatorContent>
</mx:TabNavigator>
</s:Panel>
</s:Group>
Thanks for your help pointing out where in this code I am going wrong.
Similar Messages
-
How to save the edit data temporarily in tabular form while pagination
Hi,
I need to hold the edit data temporarily before final submitting the page in apex 4.0 tabular form while navigating the row pagination.
well i am expecting some easiest method.
SarojI think you have to read about apex collection.
-
Hi,
For a long time I am trying to find anything related to implementation of modal popup windows into Apex and so far no luck.
Here is a link:
[http://jqueryui.com/demos/dialog/#modal-form]
and that is close to whatever I want to get. I have a page with lots of items and buttons, by clicking on one of the buttons I want modal window to popup and value from Parent Page (stored in hiden item) passed to modal window. In modal window I want to enter some data and by clicking "submit" data will go to the table and window shold be closed after that. In the same time I need Parent Page to get just entered data from modal (or just simply be refreshed)............ so it is all just basic stuff of popups and modals.....but I can not get this working.
Anyone has done it before? Any resuls?
Thanks a lotHi All,
I have outlined the steps to achieve the modal form below ......
Include the below in your page template header section :
Latest Jquery JS , ui.core.js ,ui.dialog.js,
ui.draggable.js,ui.resizable.js // optional
(You can download these JS files from the Jquery website)
1) Create a Region with the items you wish to see in the modal dialog form
2) Place the following in the region header section
<div id="dialog" title"Create New User"> 3)In the region footer add
</div>Add the following Javascript in your page template :
<script>
$(document).ready(function(){
$("#dialog").dialog({
bgiframe: true,
autoOpen: false, // hides the window by default and you will use function $("#dialog").dialog('open'); to open it
height: 300,
modal: true
</script>For the Create button to open the dialog, call a javascript fucntion :
function f_show_dialog()
$("#dialog").dialog('open');
}For the Modal form Submit button which inserts a row :
function f_insert_row()
doSubmit('SUBMIT');
Create a Pl/sql Process that executes with the condition
Request=expression1 where expression1 is SUBMIT
Include a branch to the same page for this SUBMIT button.
Phew ! Hope this was helpful.I will try to put an example on OTN soon....
Thanks,
Dippy
Edited by: Dippy on Feb 19, 2010 9:45 AM -
Can't Edit Data in Access 2013 Web App
I have an Office 365 P1 account that I have been using to create apps in Access 2010. I tried Access 2013. But when I launch an app, it loads in my Office 365, but editing data is not enabled (the Add and Edit buttons are displayed, but not enabled).
I have tried creating a new custom web app with one simple table and a view, as well as creating one using a Microsoft pre-built template, and simply creating the app and launching it. In both cases, the app displays, but I cannot add or edit data.
Is there something with my Office 365 account that is limiting my ability to work with Access 2013 web apps?
Thank you!Hi KrisMarshall7,
In regarding of the issue, please provide us more information to assist you better.
What the file format is your Access 2007 file? MDB or ACCDB?
Where do you want to add the columns? Table, form or query?
As far as I know,
the limitation of columns in a table is 250. Thus, I suppose that the database had some hidden columns. Please try to check it. Steps:
Right-click any field title, then select Unhide Fields. A dialog box will appear. Click the check boxes of any fields you would like to be visible again, then click Close.
Hope it's helpful.
Regards,
George Zhao
TechNet Community Support
It's recommended to download and install
Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
programs.
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected] -
Here's how to do ALV (OO) with dynamic fcat, int table and editable data
Hi everybody
Here's a more useful approach to ALV grid with OO using dynamic table, data NOT from DDIC, dynamic FCAT and how to get changed lines from the grid when ENTER key is pressed.
It's really not too dificult but I think this is more useful than the ever present SFLIGHT methods from the demos.
This also defines a subclass of cl_gui_alv_grid so you can access the protected attributes / methods of that class.
You don't need to add the class via SE24 -- done fron this ABAP.
When you run it click Edit for the first time.
After editing data press ENTER and the break point should bring you into the relevant method.
Code developed on NW2004S trial version but also works on rel 6.40 on a "Real" system.
The code should work without any changes on any system >=6.40.
All you need to do is to create a blank screen 100 via SE51 with a custom container on it called CCONTAINER1.
The rest of the code can just be uploaded into your system using the SE38 upload facility.
When running the program click on the EDIT button to enable the edit functionality of the grid.
Change your data and when you press ENTER you should get the break-point where you can see the original table and changed rows.
This program is actually quite general as it covers Dynamic tables, building a dynamic fcat where your table fields are NOT in the DDIC, intercepting the ENTER key via using an event, and accessing the protected attributes of the cl_gui_alv_grid by defining a subclass of this class in the abap.
I've seen various questions relating to all these functions but none in my view ever answers the questions in a simple manner. I hope this simple program will answer all these and show how using OO ALV is actually quite easy and people shouldn't be scared of using OO.
Have fun and award points if useful.
Cheers
Jimbo.
<b>PROGRAM zdynfieldcat.
Simple test of dynamic ITAB with user defined (not ddic) fields
Build dynamic fcat
use ALV grid to display and edit.
*When edit mode set to 1 toolbar gives possibility of adding and
*deleting rows.
*Define subclass of cl_gui_alv_grid so we can use protected attributes
*and methods.
Add event handler to intercept user entering data and pressing the
*ENTER key.
When enter key is pressed get actual value of NEW table (all rows)
rather than just the changed data.
*use new RTTI functionality to retrieve internal table structure
*details.
Create a blank screen 100 with a custom container called CCONTAINER1.
James Hawthorne
include <icon>.
define any old internal structure NOT in DDIC
types: begin of s_elements,
anyfield1(20) type c,
anyfield2(20) type c,
anyfield3(20) type c,
anyfield4(20) type c,
anyfield5(11) type n,
end of s_elements.
types: lt_rows type lvc_t_roid.
Note new RTTI functionality allows field detail retrieval
at runtime for dynamic tables.
data: wa_element type s_elements ,
wa_data type s_elements,
c_index type sy-index,
c_dec2 type s_elements-anyfield5,
wa_it_fldcat type lvc_s_fcat,
it_fldcat type lvc_t_fcat,
lr_rtti_struc TYPE REF TO cl_abap_structdescr, "RTTI
lt_comp TYPE cl_abap_structdescr=>component_table,"RTTI
ls_comp LIKE LINE OF lt_comp, "RTTI
zog like line of lr_rtti_struc->components, "RTTI
struct_grid_lset type lvc_s_layo,
l_valid type c,
new_table type ref to data.
field-symbols: <dyn_table> type standard table,
<actual_tab> type standard table,
<fs1> type ANY,
<FS2> TYPE TABLE.
data: grid_container1 type ref to cl_gui_custom_container.
class lcl_grid_event_receiver definition deferred.
data: g_event_receiver type ref to lcl_grid_event_receiver.
data: ls_modcell type LVC_S_MODI,
stab type ref to data,
sdog type s_elements. .
class lcl_grid_event_receiver definition.
public section.
methods:
handle_data_changed
for event data_changed of cl_gui_alv_grid
importing er_data_changed,
toolbar for event toolbar of cl_gui_alv_grid
importing e_object
e_interactive,
user_command for event user_command of cl_gui_alv_grid
importing e_ucomm.
endclass.
*implementation of Grid event-handler class
class lcl_grid_event_receiver implementation.
method handle_data_changed.
code whatever required after data entry.
various possibilites here as you can get back Cell(s) changed
columns or the entire updated table.
Data validation is also possible here.
perform check_data using er_data_changed.
endmethod.
Method for handling all creation/modification calls to the toolbar
method toolbar.
data : ls_toolbar type stb_button.
Define Custom Button in the toolbar
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'EDIT' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Edit' to ls_toolbar-text.
move icon_change_text to ls_toolbar-icon.
move 'Click2Edit' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'UPDA' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Update' to ls_toolbar-text.
move icon_system_save to ls_toolbar-icon.
move 'Click2Update' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
clear ls_toolbar.
move 0 to ls_toolbar-butn_type.
move 'EXIT' to ls_toolbar-function.
move space to ls_toolbar-disabled.
move 'Exit' to ls_toolbar-text.
move icon_system_end to ls_toolbar-icon.
move 'Click2Exit' to ls_toolbar-quickinfo.
append ls_toolbar to e_object->mt_toolbar.
endmethod.
method user_command.
case e_ucomm .
when 'EDIT'. "From Tool bar
perform set_input.
perform init_grid.
when 'UPDA'. "From Tool bar
perform refresh_disp.
perform update_table.
when 'EXIT'. "From Tool bar
leave program.
endcase.
endmethod.
endclass.
class zcltest definition inheriting from cl_gui_alv_grid.
define this as a subclass so we can access the protected attributes
of the superclass cl_gui_alv_grid
public section.
methods: constructor, disp_tab.
endclass.
need this now to instantiate object
as we are using subclass rather than the main cl_gui_alv_grid.
class zcltest implementation.
METHOD constructor.
CALL METHOD super->constructor
exporting i_appl_events = 'X'
i_parent = grid_container1.
endmethod.
method disp_tab.
FIELD-SYMBOLS: <outtab> TYPE STANDARD TABLE.
break-point 1.
mt_outtab is the data table held as a protected attribute
in class cl_gui_alv_grid.
ASSIGN me->mt_outtab->* TO <outtab>. "Original data
do whatever you want with <outtab>
contains data BEFORE changes each time.
Note that NEW (Changed) table has been obtained already by
call to form check_data USING P_ER_DATA_CHANGED
TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.
Entered data is in table defined by <fs2>
In this method you can compare original and changed data.
Easier than messing around with individual cells.
do what you want with data in <fs2> validate / update / merge etc
endmethod.
endclass.
data :
ok_code like sy-ucomm,
save_ok like sy-ucomm,
i4 type int4,
Container Object [grid_container]
now created via method constructor
in the subclass zcltest.
Control Object [grid]
grid1 type ref to zcltest,
Event-Handler Object [grid_handler]
grid_handler type ref to lcl_grid_event_receiver.
start-of-selection.
call screen 100.
module status_0100 output.
now display it as grid
if grid_container1 is initial.
create object grid_container1
exporting
container_name = 'CCONTAINER1'.
create object grid1.
break-point 1.
create object grid_handler.
set handler:
grid_handler->user_command for grid1,
grid_handler->toolbar for grid1,
grid_handler->handle_data_changed for grid1.
perform create_dynamic_fcat.
perform create_dynamic_itab.
perform populate_dynamic_itab.
perform init_grid.
perform register_enter_event.
set off ready for input initially
i4 = 0.
call method grid1->set_ready_for_input
exporting
i_ready_for_input = i4.
endif.
endmodule.
module user_command_0100 input.
*PAI not needed in OO ALV anymore as User Commands are handled as events
*in method user_command.
*we can also get control if the Data entered and the ENTER is pressed by
*raising an event.
Control then returns to method handle_data_changed.
endmodule.
form create_dynamic_fcat.
get structure of our user table for building field catalog
Use the RTTI functionality
lr_rtti_struc ?= cl_abap_structdescr=>describe_by_data( wa_data ).
Build field catalog just use basic data here
colour specific columns as well
loop at lr_rtti_struc->components into zog.
c_index = c_index + 1.
clear wa_it_fldcat.
wa_it_fldcat-fieldname = zog-name .
wa_it_fldcat-datatype = zog-type_kind.
wa_it_fldcat-inttype = zog-type_kind.
wa_it_fldcat-intlen = zog-length.
wa_it_fldcat-decimals = zog-decimals.
wa_it_fldcat-lowercase = 'X'.
if c_index eq 2.
wa_it_fldcat-emphasize = 'C411'.
endif.
if c_index eq 3.
wa_it_fldcat-emphasize = 'C511'.
endif.
append wa_it_fldcat to it_fldcat .
endloop.
endform.
form create_dynamic_itab.
Create dynamic internal table and assign to field sysmbol.
Use dynamic field catalog just built.
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = it_fldcat
importing
ep_table = new_table.
assign new_table->* to <dyn_table>.
endform.
form populate_dynamic_itab.
load up a line of the dynamic table
c_dec2 = c_dec2 + 11.
wa_element-anyfield1 = 'Tabbies'.
wa_element-anyfield2 = 'ger.shepards'.
wa_element-anyfield3 = 'White mice'.
wa_element-anyfield4 = 'Any old text'.
wa_element-anyfield5 = c_dec2.
append wa_element to <dyn_table>.
endform.
form check_data USING P_ER_DATA_CHANGED
TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.
Get altered data back
ASSIGN p_er_data_changed->mp_mod_rows TO <FS1>.
stab = p_er_data_changed->mp_mod_rows.
ASSIGN STAB->* TO <FS2>.
LOOP AT <FS2> INTO sdog.
ALV grid display with altered data is now in <fs2>.
do any extra processing you want here
endloop.
now display new table
call method grid1->disp_tab.
endform.
form exit_program.
call method grid_container1->free.
call method cl_gui_cfw=>flush.
leave program.
endform.
form refresh_disp.
call method grid1->refresh_table_display.
endform.
form update_table.
The dynamic table here is the changed table read from the grid
after user has changed it
Data can be saved to DB or whatever.
loop at <dyn_table> into wa_element.
do what you want with the data here
endloop.
switch off edit mode again for next function
i4 = 0.
call method grid1->set_ready_for_input
exporting
i_ready_for_input = i4.
endform.
form set_input.
i4 = 1.
call method grid1->set_ready_for_input
exporting
i_ready_for_input = i4.
endform.
form switch_input.
if i4 = 1.
i4 = 0.
else.
i4 = 1.
endif.
call method grid1->set_ready_for_input
exporting
i_ready_for_input = i4.
endform.
form init_grid.
Enabling the grid to edit mode,
struct_grid_lset-edit = 'X'. "To enable editing in ALV
struct_grid_lset-grid_title = 'Jimbos Test'.
call method grid1->set_table_for_first_display
exporting
is_layout = struct_grid_lset
changing
it_outtab = <dyn_table>
it_fieldcatalog = it_fldcat.
endform.
form register_enter_event.
call method grid1->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
Instantiate the event or it won't work.
create object g_event_receiver.
set handler g_event_receiver->handle_data_changed for grid1.
endform.</b>Hi there
IE7 doesn't give me the add new page option and I get 404 error when trying to access the "How to contribute" section.
I'll load up Firefox later (this browser usually works when IE7 doesn't always work properly).
I'll copy the stuff to the wiki when I've got the browser sorted out.
Cheers
jimbp -
Issue while reflecting the data to ADF form from ADF Table
Hi All,
I have one scenario as follows:
I have to open a form in entry mode. So I have used a Method Call activity in task flow to call "Create" in method call activity.
Then form opens in a entry mode. I have a adf table in the page showing the entered data.
When form opens in entry mode, instead of entering the values in the field User selects a record in ADF table, but due to the create mode of the form it will through me a error to fill mandatory fields.
Please tell me the way so that if user selects the record(in adf table) instead of entering new record, the value would reflect in the Adf form.
If I use a roll back on selecting the row of ADF table, then it is showing me this error "Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[null ]" because there will be no row key in the cache when form opens.
Please suggest me the way to complete the task.
I am using jdeveloper 11.1.2.1.0
Thanks,
Gobi
Edited by: gobinkl on Oct 3, 2012 2:06 AMno no your are complicating yourself. :) better your should provide your usecase.
first thing: go through the books & also adf blogs learn and understand the framework. as above person said.
i hope that you had method call create as activity as default while page rendering it make your af: form empty(that is ready fir insertion format).
so if your are doing like that.am sure it will throw some mandatory errors.
error will not resolve unless without entering any data's.
coming af:table why are using af:table - immediate = true / false(switching).
immediate = true - skip over validation or by pass some validation in some phase - based on the component which you are using. (say as if you are using editable value holder,af:coomand button).
grab the information here in an more legible manner.
http://adfpractice-fedor.blogspot.in/2012/02/understanding-immediate-attribute.html
let me know your usecase.
this will assist you
https://blogs.oracle.com/shay/entry/executing_an_action_on_jsf_pag
http://tanveeroracle.blogspot.in/2009/09/adf-11g-createinsert-to-display-blank.html
Edited by: user707 on Oct 5, 2012 9:02 AM -
How do you print data from a form?
From the interactive report, there's a built in function to print to variious formats (e.g., PDF, CSV, etc).
As long as the columns do not exceed the width of a page, it's okay.
But what I want to do is when a user clicks on 'edit' from the interactive report and displays the data entry screen, I want to be able to have a 'Print' button to print the data from a form.
Don't want to manually modify the URL to change a parameter to print.
Really appreciate any help I can get on this matter!!!I want to be able to have a 'Print' button to print the data from a form.Create a Print button in the form page with an <tt>onclick</tt> attribute that calls the method<tt>print()</tt> method:
onclick="window.print();"
Don't want to manually modify the URL to change a parameter to print. Sounds like you want to be able to control which page elements are printed and how they are formatted?
This is quite straightforward using a print media style sheet.
You'll need to identify CSS selectors (usually IDs and classes) from the page HTML for the components and regions that are not to be printed: a web inspector such as that found in Safari, or the Firefox+Firebug combo is useful for this. It's also a good idea to give all of your regions a unique static region ID to assist with this identification. Using this information, you can construct the style sheet to exclude all of the unwanted content using <tt>display: none</tt> rules.
In a simplified example, say you identify that there are 4 regions on the page, and you only want to print region 3. You would add the following style sheet to the page HTML Header:
<style type="text/css" media="print">
#region-1, #region-2, #region-4 {
display: none;
</style>+{message:id=2475831}+ is a solution to a similar problem, and see this article for more enhancements that can be included in your print style sheet.
Really appreciate any help I can get on this matter!!!You'll get effective help more quickly if you include the following information upfront when posting a question. This enables others to understand, replicate and determine the most appropriate fix without wasting time asking all kinds of supplementary questions:
- APEX version
- DB version and edition
- Web server architecture (EPG, OHS or APEX listener)
- Browser(s)/version(s) used
- Theme used
- Templates used
- Region/Report/Process type
And please update your forum profile with a better handle than "846623". -
Sending Data to PDF Forms from ABAP Program.
Hi Experts,
I left ABAP Programing for a while around 1+ years Due to some personal problems
Now I have struck up with new issue. Its ADOBE PDF forms.
I am Entirely new to this topic & knows about Nothing.
My requirement is to display a report in PDF form. Its totally Independent form from NACE.
I have written a Driver program & retrieved all the DATA into a Final internal table.
Now All that I need is to display the same Internal Table data into PDF form output.
Can anyone help me how to send this data(47 records in Internal table with 8 fields in Internal table) to PDF.
Please help me out Experts with any suggestions.
Thanks & Regards,
Dileep .CHi,
if u pass your internal table to smartform we can achieve . because we can convert smartform output into pdf easily.
Regards,
karthikeyan k s,
Edited by: karthikeyanks on Nov 19, 2010 12:58 PM -
I downloaded a form to pay taxes, I compiled it inserting my dates but I wuold like to edit text: how can I do it?
thank you and excuse me for my bad englishI was going to comment yesterday and did not. I think I will chime in anyway for what it is worth. As Claudio mentioned, editing PDFs is not really recommended. If you have downloaded a government form, there may be some implications if you actually tried to change the form (to make it look better) and it could be rejected. I remember some time back I has a passport or visa form I think where the size of the field entry was rediculous. I lived with it and the limitations.
The form was also restricted from editing, that would have made it a bit more difficult and might have invalidated any submission. I do not know if there are any legal implications of making such changes, but there may be some aspects of the form not being accepted if you try to change it.
If you are talking about no fields available, you might want to recheck the source of the form to see if they have one with fields included (the IRS used to have forms with and without fields). If the form allows adding fields and that is the issue, then simply select the TOOLS>Advanced editing and use the form tools you need. If the form is locked, it is probably best to print the form and start using a pen.
Another option in the latter case is to print the form and then fill is in using a word processor, playing around with the placement of the text until the two line up. Then you just print the form and then reprint the text on top of it. That used to be the method folks used. -
How to print the data on the form (smartform)...
Hi,
i got a requirement that i have to create a selection screen and from that i process the data according to the inputs in the selection screen, and after i collect the entire data in an internal table, now i want that data to be displayed in the form ,
what is the process for this, can anybody explain me in detail.
Regards,
RamHi!
To create new smartform
How to create a New smartfrom, it is having step by step procedure
http://sap.niraj.tripod.com/id67.html
Here is the procedure
1. Create a new smartforms
Transaction code SMARTFORMS
Create new smartforms call ZSMART
2. Define looping process for internal table
Pages and windows
First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
Here, you can specify your title and page numbering
&SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
Main windows -> TABLE -> DATA
In the Loop section, tick Internal table and fill in
ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
3. Define table in smartforms
Global settings :
Form interface
Variable name Type assignment Reference type
ITAB1 TYPE Table Structure
Global definitions
Variable name Type assignment Reference type
ITAB2 TYPE Table Structure
4. To display the data in the form
Make used of the Table Painter and declare the Line Type in Tabstrips Table
e.g. HD_GEN for printing header details,
IT_GEN for printing data details.
You have to specify the Line Type in your Text elements in the Tabstrips Output options.
Tick the New Line and specify the Line Type for outputting the data.
Declare your output fields in Text elements
Tabstrips - Output Options
For different fonts use this Style : IDWTCERTSTYLE
For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
5. Calling SMARTFORMS from your ABAP program
REPORT ZSMARTFORM.
Calling SMARTFORMS from your ABAP program.
Collecting all the table data in your program, and pass once to SMARTFORMS
SMARTFORMS
Declare your table type in :-
Global Settings -> Form Interface
Global Definintions -> Global Data
Main Window -> Table -> DATA
Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
http://sapr3.tripod.com
TABLES: MKPF.
DATA: FM_NAME TYPE RS38L_FNAM.
DATA: BEGIN OF INT_MKPF OCCURS 0.
INCLUDE STRUCTURE MKPF.
DATA: END OF INT_MKPF.
SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
MOVE-CORRESPONDING MKPF TO INT_MKPF.
APPEND INT_MKPF.
ENDSELECT.
At the end of your program.
Passing data to SMARTFORMS
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZSMARTFORM'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
if sy-subrc <> 0.
WRITE: / 'ERROR 1'.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
call function FM_NAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
GS_MKPF = INT_MKPF
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
for Smartforms material
http://www.sap-basis-abap.com/sapsf001.htm
http://www.sap-press.com/downloads/h955_preview.pdf
http://www.ossincorp.com/Black_Box/Black_Box_2.htm
http://www.sap-img.com/smartforms/sap-smart-forms.htm
http://www.sap-img.com/smartforms/smartform-tutorial.htm
http://www.sapgenie.com/abap/smartforms.htm
How to trace smartform
http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
http://www.sap-img.com/smartforms/smart-006.htm
http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
check most imp link
http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html
step by step good ex link is....
http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
Or an another one:
just check it step by step with lots of screen shots.
http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
Reward all helpfull answers
Regards
Tamá -
Error editing data file, unable to load Region Definition
Hello
I'm getting a parseException when I try to edit a data file from UCM.
The steps followed are:
1- Create an element definition at Site Studio
2 - Create a Region Definition refering to the Element Definition
3 - Create a Content in UCM. Double checked that the region definition and the web site are set. The content of the primary file is:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wcm:root xmlns:wcm="http://www.stellent.com/wcm-data/ns/8.0.0" version="8.0.0.0">
</wcm:root>
4 - Open the content info and click "Edit data file". Then two pop-up window are showed:
A. The contributor pop-up displays a blank page with title containing "'idcService' parameter not found"
B. new Page displays the next message:
Unable to perform the action due to the following reasons:
[+] The Region Definition could not be loaded. The Region Definition 'RD_REGION_ID' could not be loaded. [...] The markup in the document preceding the root element must be well-formed. org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.
I've checked the region definition and everything seems correct to me:
Web browser displays the xml correctly when I open it from "Web Location".
I've checked the syntax with Notepad++ XML Tools plugin and the result is "No error detected".
I've also checked the file with hex editor and everything seems to be right.
Same tests for the primary file
Both contents, the region definition and the dataFile, are accesible and editable from Site Studio.
UCM server LOG:
-translated-
Could not load 'RD_REGION_ID' of Region Definition. Error parsing Region Definition at line 1, column 2.
-end of translated log-
Error: The markup in the document preceding the root element must be well-formed. org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.. [ Detalles ]
!csSSWebsiteObjectLoadError,Region Definition,RD_REGION_ID!csSSWebsiteObjectSaxParseException,Region Definition,1,2,The markup in the document preceding the root element must be well-formed.!syJavaExceptionWrapper,org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.
org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1414)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:925)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:225)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
at weblogic.xml.jaxp.RegistryDocumentBuilder.parse(RegistryDocumentBuilder.java:163)
Server:
Version:11gR1-11.1.1.4.0-idcprod1-101229T001824 (Build:7.3.0.180)
Database Type:Oracle
Database Version:11.2.0.2.0 ---Oracle Database 11g Enterprise Edition Release --- - Production With the Partitioning,
Site Studio Info:
Component Build Version: 11.0.0.648
Disable Contribution: False
Web Site Object Type Field: xWebsiteObjectType
Web Sites Field: xWebsites
Web Site Section Field: xWebsiteSection
Do not Show In Lists For Web Sites Field: xDontShowInListsForWebsites
Region Definition Field: xRegionDefinition
Contributor Console Enabled: True
Designer Version: 11.1.1.4.0Hi,
I've tested to obtain the content of the UCM from a webcenter portal server, I create a new Navigation Item of type "Content Item", when I choose any document from the UCM I'm getting the next trace:
java.lang.NullPointerException
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyStringRecurse(RegionUtils.java:675)
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyStringRecurse(RegionUtils.java:700)
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyStringRecurse(RegionUtils.java:700)
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyStringRecurse(RegionUtils.java:715)
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyString(RegionUtils.java:647)
at oracle.adf.controller.internal.binding.RegionUtils.getTaskFlowId(RegionUtils.java:577)
oracle.adf.controller.ControllerException: ADFC-14014: Task flow binding active attribute evaluated to null, binding='pickerWrapper1'.
at oracle.adf.controller.internal.binding.DCTaskFlowBinding.getConditionalActivationValue(DCTaskFlowBinding.java:974)
at oracle.adf.controller.internal.binding.TaskFlowRegionController.refreshRegion(TaskFlowRegionController.java:84)
at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3211)
at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2883)
java.lang.NullPointerException
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyStringRecurse(RegionUtils.java:675)
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyStringRecurse(RegionUtils.java:700)
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyStringRecurse(RegionUtils.java:700)
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyStringRecurse(RegionUtils.java:715)
at oracle.adf.controller.internal.binding.RegionUtils.getRegionHierarchyString(RegionUtils.java:647)
at oracle.adf.controller.internal.binding.RegionUtils.getTaskFlowId(RegionUtils.java:577)
I don't know if the reason for this error is the same or there are other causes involved
Regards,
Rafa -
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
-
Dear All,
Please let me know how can I make a form as Modal Form ?
Regards,
Noor hussainHi Noor,
I think there are two possible design.
The modal form can be mobal for the application or for a parent form.
If you want an application modal form, you simply need to test all the events coming from a form different from the modal one and interrupts the event coming from the other forms.
In the ItemEvent Handler you can write:
If Not (FormUID = "YourModalFormUID") Then
oModalForm.Select() ' oModalForm contains the reference to your Modal Form
BubbleEvent = False ' Interrupts the events chain
End If
In the code above, if an event comes from a different forms, simply select the modal form and interrups the events chain
If you would make a form modal for a parent form, you simply need to test if the event comes from the parent form:
If FormUID = "MyParentFormUID" Then
oModalForm.Select()
BubbleEvent = False
End If
Hope this helps
Carmine
Edited by: Carmine Cairo on Feb 19, 2010 5:20 PM -
Hyperion Financial reporting - edit data mode?
Does anyone know if you can edit data in a cell in a financial reporting report - displayed in HTML view? Source is regular block storage essbase. version 11.1.2.3. I can't seem to get it to work. Maybe there is a setting in some properties file I need to turn on. I am connecting as olap db administrator and don't have any security filters in place assuming admin has write access to the whole thing. It works in Smart-View (I can submit data) but not in FR.
Thanks - TucoFinancial Reporting is a tool for data retrieval, not for submitting/updating data in Essbase. The alternative to Smart View for entering data into a BSO cube (such as Hyperion Planning) would be a Web Form. Are you trying to setup a Web Form to enter data in to Planning?
Link to the FR users guide:
http://docs.oracle.com/cd/E10530_01/doc/epm.931/fr_user.pdf -
How to save edited data Workbook in Excel Web Access web part?
Hello All, I have one Workbook which is displayed on Excel Web Access web part in SharePoint 2013. If I edit data in workbook it is not getting saved. Am i missing anything here? please help.
ThanksHi,
We can click “OPEN IN EXCEL” to open and save the Excel file, then the edited data will be saved.
If you display a chart in Excel, we can create a InfoPath form to edit the excel Workbook, here is a blog for your reference:
http://go.limeleap.com/community/bid/295022/How-to-Edit-an-Excel-Workbook-Using-an-InfoPath-Form-in-SharePoint
More information:
http://office.microsoft.com/en-us/sharepoint-server-help/introduction-to-excel-web-access-web-part-HA010377880.aspx
http://office.microsoft.com/en-001/sharepoint-server-help/excel-web-access-web-part-summary-HA010105454.aspx
Best Regards
Dennis Guo
TechNet Community Support
Maybe you are looking for
-
Copy InlineGraphicElement as text
Hello, I have a chat with the support of smiles: When I copy the contents to clipboard I get the following output: User1 19:59Lorem ipsum 19:59Lorem ipsum User2 19:59Lorem ipsum Is it possible to define alternative text for graphic element a
-
I am having trouble sending emails, I can receive them and access safari. The error message I am getting is "the recipient 'persons email address' was rejected by the server. I use a company email so its not one of the selections so I set the email a
-
PB shuts itself down when connect/disconnect the AC Adapter plug!
Have a difficult problem with my powerbook these days. The machine works perfectly fine with the AC Adapter or on the battery alone. But strange thing happens when I plug in the Ac Adapter to the machine, or unplug the connect from the machine, the P
-
M9177c: No sound through headphones
Hardware: HP Pavilion Elite m9177c, connected via HDMI (audio and video) to HP w2408h (LCD Panel). Sound is currently coming out of the LCD panel's speakers via the HDMI cable. I'd like to be able to use headphones through the desktop's front jack. W
-
We recently upgraded from CRM 2011 to 2015. When users pick a queue item to work on, and check "Also remove item from Queue" - where does it go? I cannot find a view that lists these items anywhere???