Skip the last page - Smartform - abap

I have a Smartform with 2 pages:
FIRST > NEXT
NEXT > NEXT.
I want to skip the last page according to a condition. How can I do this?
Thanks.

Wrap the last page context into a subform (folder element). The subform must be shown if the condition is true.

Related

PageNumber / TotalPages on group header in report .rdlc

I have a .rdlc report where I have no header (I have group headers)
I want to put the PageNumber on the group header.
If I use Globals!PageNumber I get this error:
The Value expression for the textrun 'Textbox12.Paragraphs[0].TextRuns[3]' refers to the global variable PageNumber or TotalPages. These global variables can be used only in the page header and page footer
Is there any way I could do this?
If there is no possibility to put this data on a group header...is there any possibility of overlap a header with the group header on a same line?
Global variables can't be used outside of the header/footer, as there is no relationship between the header/footer and body areas. Therefore, there is no easy and precise way to display the page number in the body area.
However, as suggested by user Raymond-Lee in the second link, you can try to calculate it yourself by dividing a given row number by the total number of rows per page (and adding one if the page number will always be the first row). Nonetheless, this would take a bit of effort.
First you need to have the Page Header/Footer showing, then you can add items to it. To show it, right click in the pale yellow area of the Layout view. Then select Page Header and/or Page Footer, this will create another section on your report where you can add items. Or, you can go to the Report menu option and enable the Page Header/Footer from there.
link

qtp unable to call proper Action depending on the input from excel sheet for "yes" status

I'm trying to call some Actions depending the "Yes" status and using Column names, e.g Login, Header,Footer etc. as below sheet (link)
Below is the code: (skipping the excel load and other part) and Action for each Column name are present e.g Login, Header, Footer etc
iRowCount= DataTable.GetSheet("Main").GetRowCount()
iColumnCount=DataTable.GetSheet("Main").GetParameterCount
For iR = 1 To iRowCount
DataTable.SetCurrentRow iR
bRun=Datatable.Value("Run","Main")
If UCase(bRun)= "YES" Then
For iC = 5 To iColumnCount
bComponent= Datatable.Value(iC,"Main")
If ucase(bComponent) ="YES" Then
sModule=DataTable.GetSheet("Main").GetParameter(iC).Name
print sModule
RunAction sModule, oneIteration
End If
Next
End If
Next
Even though the Footer in second row is not "Yes" still the action is been called
I have use Print Statement to show the Action names
the output is
Login
Header
Footer
SecondaryNavigation
Login
Header
Footer
SecondaryNavigation
However when i dont use
RunAction sModule, oneIteration
then the output changes to
Login
Header
Footer
SecondaryNavigation
Login
Header
Cookiemessage
SecondaryNavigation
I'm not able to find out what is wrong, when i don't call the actions, the code works fine, however when i use Action call to execute, it follows the 1st row status not the 2nd row status
You have hidden column C.
So the index for the "footer" column actually is 6, not 5.
So your loop should iterate from 6 to column count, not 5.
Experience from many many IT years in the Windows field: Keep looking for Excel columns with width = 0, or you will waste your life looking for bugs which are in reality missing information or wrong column assumptions :O
Even though the Footer in second row is not "Yes" still the action is
been called
This is because actually, due to the quirk just outlined, the "Header" cell value is being used, and it is "Yes" for that row.

Removing the last item in a listbox? vb 2008

I have a simple question. I have a listbox called listbox1. I want to add a button that removes the last item on the bottom whatever it maybe, when the button is clicked.
But I don't know how to finish it. something simple like listbox1.removeitem(some number?)
What could I add to remove whatever item that is on the bottom on the list?
This will remove the last item in your ListBox. Using the RemoveAt method.
ListBox1.Items.RemoveAt(ListBox1.Items.Count - 1)
Using the RemoveAt method, we remove the item at the Index provided. Since we get the full length of items in your current ListBox (and subtract 1 because it is zero based) we get the last item.
Use the RemoveAt method and get the last element by it's count - 1 since it's zero based array.
Listbox1.Items.RemoveAt(Listbox1.Items.Count - 1)

Hide row if it is not on the first page

I want to hide a row of a table if it is not rendered on the first page of a report. The table (tablix) is in the header nor in the footer area.
I have tried to set an expression for the RowVisibility-property, something like:
(hidden) =Globals!PageNumber<>1
however, this leads to an exception saying that the PageNumber can only be used from within the header or the footer area.
Is there a possibility to check (in an expression) if an element is located on the first page of a report?
Not a precise answer to my question, but maybe it helps someone with a similar issue:
For the tablix activate the repeat row header option
In the advance row group options, activate the option RepeatOnNewPage
For the rows that should not be shown on the next page, disable the option KeepWithGroup
I don't understand why I can not set RepeatOnNewPage only for some but not for all rows, but with the KeepWithGroup option, it seems to work like I desired.
If someone has a more precise answer to my original question, please post it. I will the change the accept to your answer!
Set this in the visibility property and the row will rendered or not depeding of the YourDatasetField value.
=IIF(True = Fields!YourDatasetField.Value, False, True)

MS Access 2003 - Automatically show last records in list box on a form rather than first

So I have a form that has a listbox that shows like a ledger. My question is how can I make it display the last records (or have the scroll bar default to the bottom instead of the top), instead of the first few as the default.
Now I don't mean reversing the order from bottom to top instead of top to bottom (though that would be a cool thing to learn how to do), just simply having the bottom of the list (in terms of the scroll bar) shown and the default, so that it is always showing the last 10 or so records (based on the size that I made the list box).
So i think this is simple, but then again, I obviously do not know?!?!
Thanks!
In a suitable event, such as the current event:
Me.ListX.Selected(Me.ListX.ListCount - 1) = True
You could add some code to the form load event so that it will do this:
YourListBox.SetFocus
YourListBox.ListIndex = YourListBox.ListCount - 1
YourListBox.Selected(YourListBox.ListCount - 1) = False
It basically selects the last item in the list box so it will scroll down to it, and then unselects it.
I know this is later but maybe this will help someone in the future who comes upon this thread. This is the code I used to go to the last record then unselect the last record.
YourListBox.SetFocus
YourListBox.Selected(YourListBox.ListCount - 1) = True
YourListBox.Selected(YourListBox.ListCount - 1) = False
How did you set the listbox items? Are they from a database? If yes, then you need to update the SQL statement with an "order by columnName".