Read Dynamic Selection contents of a Variant for QE51N
Hi Folks,
Need your help here !
In my report, I wish to read the Variants along with their contents created for transaction QE51N.
I tried using function module RS_VARIANT_CONTENTS and its working good, but not to my requirements. The function module returns only the selection screen contents of a given variant. It does not return the contents in 'Dynamic Selection' (Free Selection).
I read somewhere that the function module returns dynamic selection contents only if the report use Logical Database. To my understanding, the program for QE51N (SAPLQEES) do not use LDB.
So is there any way by which I can get dynamic selection contents of a variant?
Any suggestions / pointers would be a great help.
Thank you.
Regards,
Sud.
Hi,
Did you find somethings? I have the same issue.
I would like to add some new fields on Dynamic Selection screen of QE51N.
Thanks in advance.
KR,
Arnaud
Similar Messages
-
Read Dynamic Selections for LDB ADA
Hi,
I have a report program using Logical Database ADA, but for performance reasons needed to include a wrapper program , so that the wrapper program schedules a job in case the report is run for huge volume comp codes.
Now the actual program uses the logical database ADA, which gives them the option of dynamic selections,So needed to add it to the wrapper also, since we they need to have the option to be able to enter conditions in Dynamic selections also. Now How do I pass the dynamic selections made in the wrapper to the actual program.Was planning to export the selection to memory and then import it.
I schedule the job or run it in foreground based on the selection made using the SUBMIT functionality.
Would be great if someone can let me know how to read the dynamic selections entered.
Thank you
LalithaHi,
You have to use SUBMIT statement with FREE SELECTIONS. Declare RSDS structure and fill them.
Just refer this block, similar type of code
Re: Reg: SUBMIT WITH Free Selections
Thanks & Regards
Bala Krishna -
Hi Guru,
I have a requirement to add a selection criteria from dynamic selection to selection screen in transaction QE51N
It is posible to use transaction variant in this.
Please advice..
Thanks in advance.
MikeHi,
Create a new transaction using SE93 (Say ZTEST)
select transaction type as "Transaction with Variant"
Give the T-code as QE51N
Transaction variant as (What you created using SHD0)
Save & use the New transaction (ZTEST)
Hope you find it usefull... if so Kindly be generous with points
Regards,
Gaurav -
Dynamic Selections in T-code RSRT2 for Broadcast e-mail
I have some issue with dynamic inputs for my BI report (created by query designer)...
Issue 1 : How I should do for create variants in T-code RSRT2 ?
Issue 2 : I want the variant to pick date at least the current system date by default (selection screen). How to make it happen?
Issue 3 : Can I use dynamic variant (variant from issue 2) in Bex broadcaster setting ( T-code RSRT2 )
Thank you for your repliesHi,
In version 6 u can enhace the particular program...u have the enhance icon behind check icon....
there u can enhance standard program add ur field in selection screen... -
How to save a variant with dynamic selections parameters
Anybody knows how to save a variant for an ABAP that uses a Logical database with Dynamic Selections?
Have a look for example to the following:
SE38 - DEMO_PROGRAM_GET - Execute - Shift F4 - Connection Number.
How to save 0820 as Connection Number?
Function Group SVAR seems good but FREE SELECTIONs are not easy to manage...Hello,
I tried to save the variant of DEMO_PROGRAM_GET with dynamic selection field (Connection Number) filled. It gets saved without any problem. Just click 'SAVE' and enter the variant name and description.
Thanks,
Venu -
Transaction Variant for T. Code - FBL1N
Hi,
I want to create a Transaction Variant for T. Code - FBL1N.
Actually, My requirement is that I want to give a Dynamic Selection "Reconciliation acct-XXXXXX"... After Create the variant for this, i want to disable the Dynamic Selections Icon. I want both things at a time..
Please tell...
Regards....Hi,
Even though question is already marked as answered, I think that Pince Kummar requirement was not fulfilled.
Those are the steps that you should execute:
1. Create a Selection Variant:
In FBL1N transaction, enter your required field values, and click on the save icon. Maintain variant attributes as you need. Assign to your selection variant a name beginning with CUS&. With that prefix you specify that is a customer system variant.
2. Assign the created selection variant as default for tcode FBL1N.
Go to SE93 and change FBL1N, on "Start with variant" field select your created CUS& variant and save.
At this time you can notice that FBL1N transaction always begin with your selection variant.
3. If you also want to disable Dynamic selections function, you should create a Standard transaction variant.
Go to SHD0, enter the transaction code name (FBL1N). In the Standard Variants tab enter a name and choose create function. Automatically FBL1N selection image will be showed, click back button to return. In the screen that now is showed, choose "Menu Functions" and enter Program "RSSYSTDB" and gui status "%_00" and click Menu Functions, then in the tree that come out, find and select Dyamic Selections function (%_00->Edit->DYNS), next click disable button and then continue button.
Now you return to Transaction variants maintenance screen. Make sure that in deactive functions list, for Dynamic selections function is only active "For Transaction" check box. Now save and activate your transaction variant. -
Dynamic Selection on report not working
Dear all,
I have several reports on which the dynamic selection is not working. For instance, the report CN43N. The report is outputting all data in a year i.e it is disregarding the condition I specified in the dynamic selection fields.
Is there some configuration to make to this report so that the dynamic selection works?
Thanks for ur help.
NasAlso Nelmaz,
I have just checked OSS notes and found below note helpful to you:
Note 1059465 - CN43N: Dynamic selections for scheduling data of WBS elemnts
Symptom
You cannot use transaction CN43N to create dynamic selections for scheduling data of WBS elements (table PRTE). You can use transaction CNS43 to do so.
Hope this helps.
Please assign points as way to say thanks -
Dynamic Selection option in the selection screen
Hi ,
I have a requirement like this ....
The user wants some fields to be default available in the selection screen. But they also want to be able to select the data based on additional fields (all the remaining fields ) which they want to see in the dynamic selection .
The basic list for selections should be limited to the fields listed in the specifications provided to me and the remaining fields should be made available through the dynamic selection option.
In the transaction FBL3N , this facility is provided.
Kindly help me with this..
thanks,
Sumit .Hi Sumit,
To include dynamic selection check this sample code.
TYPE POOLS DECLARATIONS FOR VALUE REQUEST MANAGER AND ICONS
TYPE-POOLS : vrm,
icon.
*SELECTION SCREEN FIELDS
TABLES : sscrfields.*GLOBAL DECLARATIONS
DATA : flag TYPE c,
tablename(10),
mmtable LIKE dd02l-tabname,
sdtable LIKE dd02l-tabname,
hrtable LIKE dd02l-tabname.*DECLARATIONS FOR SELECTION SCREEN STATUS
DATA it_ucomm TYPE TABLE OF sy-ucomm.***********SELECTION-SCREENS**********************
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.*FOR DYNAMIC DISPLAY OF MODULES
PARAMETERS : pa RADIOBUTTON GROUP rad USER-COMMAND com MODIF ID mod,
pb RADIOBUTTON GROUP rad MODIF ID rad,
pc RADIOBUTTON GROUP rad MODIF ID cad.SELECTION-SCREEN SKIP.**TO INCLUDE DYNAMIC ICONS
SELECTION-SCREEN COMMENT 2(6) text_001.*DYNAMIC LIST BOX BASED ON USER SELECTIONS
PARAMETERS one AS LISTBOX VISIBLE LENGTH 20 MODIF ID mod.
PARAMETERS two AS LISTBOX VISIBLE LENGTH 20 MODIF ID rad.
PARAMETERS three AS LISTBOX VISIBLE LENGTH 20 MODIF ID cad.SELECTION-SCREEN END OF BLOCK blk1.*DISPLAY DYNAMIC PUSHBUTTON ON APP TOOLBAR ON USER CLICKS
SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2,
FUNCTION KEY 3.**EVENT ON SELECTION SCREEN FOR OUTPUT DISPLAY
AT SELECTION-SCREEN OUTPUT.*CLICK OF FIRST RADIO BUTTON
IF pa = 'X'.
sscrfields-functxt_01 = 'Materials Management'.
WRITE icon_plant AS ICON TO text_001.
*CODE TO GET DYNAMICS BASED ON THE SELECTED RADIO
LOOP AT SCREEN.
IF screen-group1 = 'MOD'.
screen-intensified = '1'.
screen-active = 1.
screen-display_3d = '1'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'RAD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'CAD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.*CLICK OF SECOND RADIO
IF pb = 'X'.
sscrfields-functxt_02 = 'Sales And Distribution'.
WRITE icon_ws_ship AS ICON TO text_001.
LOOP AT SCREEN.
IF screen-group1 = 'RAD'.
screen-intensified = '1'.
screen-active = 1.
screen-display_3d = '1'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'MOD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'CAD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.*CLICK OF THIRD RADIO
IF pc = 'X'.
sscrfields-functxt_03 = 'Human Resources'.
WRITE icon_new_employee AS ICON TO text_001.
LOOP AT SCREEN.
IF screen-group1 = 'RAD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'MOD'.
screen-intensified = '0'.
screen-active = 0.
screen-display_3d = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'CAD'.
screen-intensified = '1'.
screen-active = 1.
screen-display_3d = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.*CUSTOMISING THE TOOLBARS OF THE SELECTION SCREEN
*WITH F8 BUTTON DISABLED APPEND : 'PRIN' TO it_ucomm,
'SPOS' TO it_ucomm,
'ONLI' TO it_ucomm. CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
EXPORTING
p_status = sy-pfkey
TABLES
p_exclude = it_ucomm.
**EVENT ON THE SELECTION
AT SELECTION-SCREEN.* LIST BOX ONE VALUES
CASE one.
WHEN '1'.
mmtable = 'MARC'.
WHEN '2'.
mmtable = 'MARA'.
WHEN '3'.
mmtable = 'MARD'.
WHEN '4'.
mmtable = 'MARM'.
ENDCASE.* LIST BOX TWO VALUES
CASE two.
WHEN '1'.
sdtable = 'VBAK'.
WHEN '2'.
sdtable = 'VBAP'.
WHEN '3'.
sdtable = 'VBUK'.
WHEN '4'.
sdtable = 'VBUP'.
ENDCASE.* LIST BOX THREE VALUES
CASE three.
WHEN '1'.
hrtable = 'PA0001'.
WHEN '2'.
hrtable = 'PA0006'.
WHEN '3'.
hrtable = 'PA0022'.
WHEN '4'.
hrtable = 'PA0008'.
ENDCASE.*VALUES FOR CLICK OF THE PUSHBUTTON ON APP TOOLBAR
*AND ENABLING THE BUTTONS TO PERFORM F8
CASE sscrfields-ucomm.
WHEN 'FC01'.
tablename = mmtable.
sscrfields-ucomm = 'ONLI'.
WHEN 'FC02'.
tablename = sdtable.
sscrfields-ucomm = 'ONLI'.
WHEN 'FC03'.
tablename = hrtable.
sscrfields-ucomm = 'ONLI'.
ENDCASE.*INITIALIZATION EVENT
INITIALIZATION.*VALUES ASSIGNED TO DROPDOWNLISTS IN THE SUBROUTINES
PERFORM f4_value_request_pa.
PERFORM f4_value_request_pb.
PERFORM f4_value_request_pc.*START OF SELECTION EVENT
START-OF-SELECTION.*SUBROUTINE FOR OUTPUT
PERFORM output.*&----------------------------------------------------------------*
*& Form f4_value_request_PA
* text
*SUBROUTINE TO PROVIDE DROPDOWN VALUES TO LIST1
FORM f4_value_request_pa. DATA: l_name TYPE vrm_id,
li_list TYPE vrm_values,
l_value LIKE LINE OF li_list. l_value-key = '1'.
l_value-text = 'Plant Data for Material'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '2'.
l_value-text = 'General Material Data'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '3'.
l_value-text = 'Storage Location Data for Material'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '4'.
l_value-text = 'Units of Measure for Material'.
APPEND l_value TO li_list.
CLEAR l_value.
l_name = 'ONE'. CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = l_name
values = li_list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.ENDFORM. " f4_value_request_tabname*&----------------------------------------------------------------*
*& Form f4_value_request_PB
* text
*SUBROUTINE TO PROVIDE DROPDOWN VALUES TO LIST2FORM f4_value_request_pb. DATA: l_name TYPE vrm_id,
li_list TYPE vrm_values,
l_value LIKE LINE OF li_list. l_value-key = '1'.
l_value-text = 'Sales Document: Header Data'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '2'.
l_value-text = 'Sales Document: Item Data'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '3'.
l_value-text = 'Sales Document:Header Status'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '4'.
l_value-text = 'Sales Document: Item Status'.
APPEND l_value TO li_list.
CLEAR l_value.
l_name = 'TWO'.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = l_name
values = li_list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " f4_value_request_PB*&----------------------------------------------------------------*
*& Form f4_value_request_PC
* text
*SUBROUTINE TO PROVIDE DROPDOWN VALUES TO LIST3FORM f4_value_request_pc. DATA: l_name TYPE vrm_id,
li_list TYPE vrm_values,
l_value LIKE LINE OF li_list. l_value-key = '1'.
l_value-text = 'HR Master :Infotype 0001 (Org. Assignment)'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '2'.
l_value-text = 'Address Infotype 0006'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '3'.
l_value-text = 'Education Infotype 0022'.
APPEND l_value TO li_list.
CLEAR l_value. l_value-key = '4'.
l_value-text = 'Basic Pay Infotype 0008'.
APPEND l_value TO li_list.
CLEAR l_value.
l_name = 'THREE'.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = l_name
values = li_list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " f4_value_request_PC
*& Form OUTPUT
* text
* -->P_TABLENAME text
*fINAL OUTPUT
FORM output. DATA p_table(10). p_table = tablename.*popup to display teh selected table and
*Continue button is clicked
CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
EXPORTING
titel = 'User Selections '
textline1 = p_table
textline2 = 'is the Selected table'
start_column = 25
start_row = 6.*assigning the table value in p_table to the
* Table in SE16 transaction by explicitly calling
SET PARAMETER ID 'DTB' FIELD p_table.
CALL TRANSACTION 'SE16'.
ENDFORM. "OUTPUT
Regards,
Manoj Kumar P -
RE: (forte-users) dynamic select & maxrowsparameter
I thing this code should help:
** Accepts command string for dynamic query and **
** an empty array of BC to which the results **
** should be appended. Returns the filled BC **
** array. **
l_dynamicStatement : DBStatementHandle;
l_inputDescriptor : DBDataSet;
l_outputDescriptor : DBDataSet;
l_outputData : DBDataSet;
l_intStatementType : integer;
l_intRowType : integer;
l_intNumRows : integer;
l_intRowCount : integer = 0;
l_result : BusinessClass = new;
BEGIN
-- Prepare SQL statement for query given command string
l_dynamicStatement = self.GetDBSession().Prepare(
commandString = p_strSql,
inputDataSet = l_inputDescriptor,
cmdType = l_intStatementType);
-- Open Cursor
l_intRowType = GetDBSession().OpenCursor(
statementHandle = l_dynamicStatement,
inputDataSet = l_inputDescriptor,
resultDataSet = l_outputDescriptor);
-- Fetch first row
l_intNumrows = GetDBSession().FetchCursor(
statementHandle = l_dynamicStatement,
resultDataSet = l_outputData);
WHILE l_intNumRows > 0 DO -- If prev fetch returned a row
-- Increment count of rows fetched
l_intRowCount = l_intRowCount + 1;
-- Check for excessive number of rows retrieved
-- Then it checks if you want to throw a exception or
-- just exit and return the result set.
IF l_introwCount > p_intMaxRow THEN
IF p_bThrowExcept THEN
-- Shut the cursor down and remove prepared
statement
GetDBSession().CloseCursor(l_dynamicStatement);
GetDBSession().RemoveStatement(l_dynamicStatement);
// Raise exception
-- Have to put code
ELSE
EXIT;
END IF;
END IF;
-- Parse result from DBDataSet to subclass
-- of BusinessClass
l_result = parseResult(l_outputData);
// Add row to array
p_aryBC.AppendRow(l_result.Clone(deep=TRUE));
// Fetch next row
l_intNumrows = GetDBSession().FetchCursor(
statementHandle = l_dynamicStatement,
resultDataSet = l_outputData);
END WHILE;
-- Shut the cursor down and remove prepared statement
GetDBSession().CloseCursor(l_dynamicStatement);
GetDBSession().RemoveStatement(l_dynamicStatement);
EXCEPTION
when e: GenericException do
GetDBSession().CloseCursor(l_dynamicStatement);
GetDBSession().RemoveStatement(l_dynamicStatement);
raise e;
END;
return p_aryBC;
ka
Kamran Amin
Framework, Inc.
303 South Broadway
Tarrytown, NY 10591
(914) 631-2322x121
[email protected]
http://www.frameworkinc.com/
-----Original Message-----
From: Matthew Middleton [mailto:[email protected]]
Sent: Thursday, December 09, 1999 11:15 PM
To: Will Chris
Cc: [email protected]
Subject: RE: (forte-users) dynamic select & maxrows parameter
Think there's a mis-understanding. The maxrows I refer to is not SQL but a
forte method parameter as in the following:
dynStatement = self.DefaultDBSession.Prepare(commandString = sqlStatement
,inputDataSet = inputDescriptor
,cmdType = commandType);
rowType = self.DefaultDBSession.Select(statementHandle = dynStatement
,inputDataSet = inputDescriptor
,resultDataSet = outputDescriptor
,maxrows = 100);
the variable sqlStatement holds the "dynamic" select string.
If I don't set maxrows I get a runtime error, as mentioned, it is running
against Oracle.
At 14:47 10/12/99 +1100, you wrote:
We use Oracle and Rdb and we have dynamic and non-dynamic SQL. No
combination of
these demand a max rows clause.
For example the following query works on both databases :
lvLanguageCodesList : Array of LanguageCodes = new();
begin transaction
sql select Language_Code LanguageCode,
Language_Nm LanguageNm,
System_Control_YN SystemControlYN,
Other_Language_YN OtherLanguageYN
into :lvLanguageCodesList
from SRD_LANGUAGE_CODES
order by Language_Nm
on session StudentRegistryDBSession;
end transaction;
if lvLanguageCodesList.items = 0 then
return Nil;
else
return lvLanguageCodesList;
end if;
Indeed if we wanted to use max rows its a bit of a pain in the bum because
Oracle and
Rdb use different syntax to define the row limit. So our dynamic SQL
'builder class'
has to detect the database flavour and configure max rows accordingly(where
we want to use
it).
I can only guess that the error you are getting is not assoicated to therow
limit or is caused because of the database you are using ?
Regards,
Chris Will, Sydney, Australia
-----Original Message-----
From: Matthew Middleton [mailto:[email protected]]
Sent: Friday, 10 December 1999 14:33
To: [email protected]
Subject: (forte-users) dynamic select & maxrows parameter
the help for DBSession.Select method says that the maxrows
parameter is not
required. Leaving it out does not give a compile error.
However at runtime
an error is got saying maxrows must be > 0.
I am using a method that accepts a where clause as a
parameter and am not
really interested in what the number of rows will be.
Should I be?
Does anyone have any knowledge they can share on this one.
Thanks.
Regards,
Matthew Middleton Ph: +61 2 9239 4972
Oryx Software Consultant Fax: +61 2 9239 4900
Lawpoint Pty. Ltd. E-mail [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,
send in a new
email the word: 'Unsubscribe' to: [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]
Regards,
Matthew Middleton Ph: +61 2 9239 4972
Oryx Software Consultant Fax: +61 2 9239 4900
Lawpoint Pty. Ltd. E-mail [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]I thing this code should help:
** Accepts command string for dynamic query and **
** an empty array of BC to which the results **
** should be appended. Returns the filled BC **
** array. **
l_dynamicStatement : DBStatementHandle;
l_inputDescriptor : DBDataSet;
l_outputDescriptor : DBDataSet;
l_outputData : DBDataSet;
l_intStatementType : integer;
l_intRowType : integer;
l_intNumRows : integer;
l_intRowCount : integer = 0;
l_result : BusinessClass = new;
BEGIN
-- Prepare SQL statement for query given command string
l_dynamicStatement = self.GetDBSession().Prepare(
commandString = p_strSql,
inputDataSet = l_inputDescriptor,
cmdType = l_intStatementType);
-- Open Cursor
l_intRowType = GetDBSession().OpenCursor(
statementHandle = l_dynamicStatement,
inputDataSet = l_inputDescriptor,
resultDataSet = l_outputDescriptor);
-- Fetch first row
l_intNumrows = GetDBSession().FetchCursor(
statementHandle = l_dynamicStatement,
resultDataSet = l_outputData);
WHILE l_intNumRows > 0 DO -- If prev fetch returned a row
-- Increment count of rows fetched
l_intRowCount = l_intRowCount + 1;
-- Check for excessive number of rows retrieved
-- Then it checks if you want to throw a exception or
-- just exit and return the result set.
IF l_introwCount > p_intMaxRow THEN
IF p_bThrowExcept THEN
-- Shut the cursor down and remove prepared
statement
GetDBSession().CloseCursor(l_dynamicStatement);
GetDBSession().RemoveStatement(l_dynamicStatement);
// Raise exception
-- Have to put code
ELSE
EXIT;
END IF;
END IF;
-- Parse result from DBDataSet to subclass
-- of BusinessClass
l_result = parseResult(l_outputData);
// Add row to array
p_aryBC.AppendRow(l_result.Clone(deep=TRUE));
// Fetch next row
l_intNumrows = GetDBSession().FetchCursor(
statementHandle = l_dynamicStatement,
resultDataSet = l_outputData);
END WHILE;
-- Shut the cursor down and remove prepared statement
GetDBSession().CloseCursor(l_dynamicStatement);
GetDBSession().RemoveStatement(l_dynamicStatement);
EXCEPTION
when e: GenericException do
GetDBSession().CloseCursor(l_dynamicStatement);
GetDBSession().RemoveStatement(l_dynamicStatement);
raise e;
END;
return p_aryBC;
ka
Kamran Amin
Framework, Inc.
303 South Broadway
Tarrytown, NY 10591
(914) 631-2322x121
[email protected]
http://www.frameworkinc.com/
-----Original Message-----
From: Matthew Middleton [mailto:[email protected]]
Sent: Thursday, December 09, 1999 11:15 PM
To: Will Chris
Cc: [email protected]
Subject: RE: (forte-users) dynamic select & maxrows parameter
Think there's a mis-understanding. The maxrows I refer to is not SQL but a
forte method parameter as in the following:
dynStatement = self.DefaultDBSession.Prepare(commandString = sqlStatement
,inputDataSet = inputDescriptor
,cmdType = commandType);
rowType = self.DefaultDBSession.Select(statementHandle = dynStatement
,inputDataSet = inputDescriptor
,resultDataSet = outputDescriptor
,maxrows = 100);
the variable sqlStatement holds the "dynamic" select string.
If I don't set maxrows I get a runtime error, as mentioned, it is running
against Oracle.
At 14:47 10/12/99 +1100, you wrote:
We use Oracle and Rdb and we have dynamic and non-dynamic SQL. No
combination of
these demand a max rows clause.
For example the following query works on both databases :
lvLanguageCodesList : Array of LanguageCodes = new();
begin transaction
sql select Language_Code LanguageCode,
Language_Nm LanguageNm,
System_Control_YN SystemControlYN,
Other_Language_YN OtherLanguageYN
into :lvLanguageCodesList
from SRD_LANGUAGE_CODES
order by Language_Nm
on session StudentRegistryDBSession;
end transaction;
if lvLanguageCodesList.items = 0 then
return Nil;
else
return lvLanguageCodesList;
end if;
Indeed if we wanted to use max rows its a bit of a pain in the bum because
Oracle and
Rdb use different syntax to define the row limit. So our dynamic SQL
'builder class'
has to detect the database flavour and configure max rows accordingly(where
we want to use
it).
I can only guess that the error you are getting is not assoicated to therow
limit or is caused because of the database you are using ?
Regards,
Chris Will, Sydney, Australia
-----Original Message-----
From: Matthew Middleton [mailto:[email protected]]
Sent: Friday, 10 December 1999 14:33
To: [email protected]
Subject: (forte-users) dynamic select & maxrows parameter
the help for DBSession.Select method says that the maxrows
parameter is not
required. Leaving it out does not give a compile error.
However at runtime
an error is got saying maxrows must be > 0.
I am using a method that accepts a where clause as a
parameter and am not
really interested in what the number of rows will be.
Should I be?
Does anyone have any knowledge they can share on this one.
Thanks.
Regards,
Matthew Middleton Ph: +61 2 9239 4972
Oryx Software Consultant Fax: +61 2 9239 4900
Lawpoint Pty. Ltd. E-mail [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,
send in a new
email the word: 'Unsubscribe' to: [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected]
Regards,
Matthew Middleton Ph: +61 2 9239 4972
Oryx Software Consultant Fax: +61 2 9239 4900
Lawpoint Pty. Ltd. E-mail [email protected]
For the archives, go to: http://lists.sageit.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: [email protected] -
How to read trace file content
Hi,
DB :11.2
How to read trace file content.It's only for ORACLE SUPPORT?
calling
call
entry
argument values in hex
location
type
point
(? means dubious value)
ksedst()+31
call
ksedst1()
000000000 ? 000000001 ?
7FFF19B98CA0 ? 7FFF19B98D00 ?
7FFF19B98C40 ? 000000000 ?
ksedmp()+610
call
ksedst()
000000000 ? 000000001 ?
7FFF19B98CA0 ? 7FFF19B98D00 ?
7FFF19B98C40 ? 000000000 ?
ksfdmp()+21
call
ksedmp()
000000003 ? 000000001 ?
7FFF19B98CA0 ? 7FFF19B98D00 ?
7FFF19B98C40 ? 000000000 ?
kgerinv()+161
call
ksfdmp()
000000003 ? 000000001 ?
7FFF19B98CA0 ? 7FFF19B98D00 ?
7FFF19B98C40 ? 000000000 ?
kgeasnmierr()+163
call
kgerinv()
0069107E0 ? 011F80370 ?
7FFF19B98D00 ? 7FFF19B98C40 ?
000000000 ? 000000000 ?
kssmov()+502
call
kgeasnmierr()
0069107E0 ? 011F80370 ?
7FFF19B98D00 ? 7FFF19B98C40 ?
000000029 ? 0D3F1C600 ?
kfncInitSlavePool() call
kssmov()
0D3F1C5D0 ? 000000000 ?
+203
7FFF19B98D00 ? 7FFF19B98C40 ?
000000029 ? 0D3F1C600 ?
kfncWorkMsgAlloc()+ call
kfncInitSlavePool() 0D3F1C5D0 ? 000000000 ?
83
7FFF19B98D00 ? 7FFF19B98C40 ?
000000029 ? 0D3F1C600 ?
kfncFileUnidentify( call
kfncWorkMsgAlloc() 0D3F1C5D0 ? 7FFF19B99AD0 ?
)+635
7FFF19B98D00 ? 7FFF19B98C40 ?
000000029 ? 0D3F1C600 ?
kffmRequestFree()+1 call
kfncFileUnidentify( 7FFF19B99BC8 ? 7FFF19B99BC0 ?
Br,
RajOne needs to know the meaning of the kernel functions and their working within the oracle database. I guess, oracle support can do the analysis more easily as they have access to the software code as well necessary tools to interpret these internal routines.
Aman.... -
Create Dynamic variant for date field
Hello all,
I need to have the current month year displayed in my selection screen in format MM.YYYY and the field is of type SPMON (Period to analyze - month).
and while saving the variant it is showing only 'T' (entries from TVARVC table) in "selection variable" field and not showing 'D' (Dynamic selection) for the above field.
So,please help me in resolving this issue.
Thanks in advance.hi
good
go through this code,i hope this ll help you to create the dynamic variant.
Please find the sample using RS_CREATE_VARIANT (FM).
It make use of other FM also , just have a look .
Hope this may help you.
REPORT ZEXAMPLE.
DATA: JVARI_DESC LIKE VARID,
RC LIKE SY-SUBRC,
VARIANT_TEXT LIKE VARIT-VTEXT,
JVT LIKE VARIT OCCURS 0 WITH HEADER LINE,
SELPA LIKE RSPARAMS OCCURS 0 WITH HEADER LINE,
PARMS LIKE RSPARAMS OCCURS 0 WITH HEADER LINE,
OBJS LIKE VANZ OCCURS 0 WITH HEADER LINE.
PARAMETERS: P_VAR LIKE RSVAR-VARIANT. "NAME OF VARIANT
JVARI_DESC-REPORT = SY-REPID.
JVARI_DESC-VARIANT = P_VAR.
JVARI_DESC-ENAME = 'EXAMPLES'.
JVT-REPORT = SY-REPID.
JVT-VARIANT = P_VAR.
JVT-LANGU = SY-LANGU.
JVT-VTEXT = 'FUNCTION EXAMPLES'.
APPEND JVT.
CLEAR SELPA.
SELPA-SIGN = 'I'.
SELPA-OPTION = 'EQ'.
SELPA-KIND = 'P'.
SELPA-SELNAME = 'P_VAR'.
SELPA-LOW = P_VAR.
APPEND SELPA.
CHECK IF VARIANT EXISTS
CALL FUNCTION 'RS_VARIANT_EXISTS'
EXPORTING
REPORT = JVARI_DESC-REPORT
VARIANT = P_VAR
IMPORTING
R_C = RC
EXCEPTIONS
NOT_AUTHORIZED = 1
NO_REPORT = 2
REPORT_NOT_EXISTENT = 3
REPORT_NOT_SUPPLIED = 4
OTHERS = 5.
IF RC = 0 AND SY-SUBRC EQ 0.
DELETE OLD VARIANT
CALL FUNCTION 'RS_VARIANT_DELETE'
EXPORTING
REPORT = JVARI_DESC-REPORT
VARIANT = P_VAR
FLAG_CONFIRMSCREEN = 'X'
EXCEPTIONS
NOT_AUTHORIZED = 1
NOT_EXECUTED = 2
NO_REPORT = 3
REPORT_NOT_EXISTENT = 4
REPORT_NOT_SUPPLIED = 5
VARIANT_LOCKED = 6
VARIANT_NOT_EXISTENT = 7
NO_CORR_INSERT = 8
VARIANT_PROTECTED = 9
OTHERS = 10.
IF SY-SUBRC NE 0.
WRITE: 'UNABLE TO DELETE VARIANT:', P_VAR ,'STATUS=', SY-SUBRC.
EXIT.
ELSE.
WRITE:/ P_VAR, 'DELETED'.
ENDIF.
ELSE.
WRITE:/ P_VAR, 'DOES NOT EXIST'.
ENDIF. " ALREADY EXISTS
CALL FUNCTION 'RS_CREATE_VARIANT'
EXPORTING
CURR_REPORT = JVARI_DESC-REPORT
CURR_VARIANT = P_VAR
VARI_DESC = JVARI_DESC
TABLES
VARI_CONTENTS = SELPA
VARI_TEXT = JVT
EXCEPTIONS
ILLEGAL_REPORT_OR_VARIANT = 1
ILLEGAL_VARIANTNAME = 2
NOT_AUTHORIZED = 3
NOT_EXECUTED = 4
REPORT_NOT_EXISTENT = 5
REPORT_NOT_SUPPLIED = 6
VARIANT_EXISTS = 7
VARIANT_LOCKED = 8
OTHERS = 9.
IF SY-SUBRC EQ 0.
WRITE:/ 'VARIANT', P_VAR, 'CREATED FOR PROGRAM', JVARI_DESC-REPORT.
ELSE.
WRITE:/ 'VARIANT', P_VAR, 'NOT CREATED FOR PROGRAM', JVARI_DESC-REPORT.
EXIT.
ENDIF.
CALL FUNCTION 'RS_VARIANT_CONTENTS'
EXPORTING
REPORT = JVARI_DESC-REPORT
VARIANT = P_VAR
TABLES
VALUTAB = PARMS
OBJECTS = OBJS
EXCEPTIONS
VARIANT_NON_EXISTENT = 1
VARIANT_OBSOLETE = 2
OTHERS = 3.
IF SY-SUBRC NE 0.
WRITE : / 'ERROR READING VARIANT CONTENTS.'.
ELSE.
CALL FUNCTION 'RS_VARIANT_TEXT'
EXPORTING
LANGU = SY-LANGU
CURR_REPORT = JVARI_DESC-REPORT
VARIANT = P_VAR
IMPORTING
V_TEXT = VARIANT_TEXT.
WRITE:/ 'VARIANT DESCRIPTION:', VARIANT_TEXT.
LOOP AT PARMS.
CHECK PARMS-LOW NE SPACE OR PARMS-HIGH NE SPACE.
READ TABLE OBJS WITH KEY NAME = PARMS-SELNAME.
WRITE : /2 PARMS-SELNAME, OBJS-TEXT,
45 PARMS-KIND,
PARMS-SIGN,
PARMS-OPTION,
PARMS-LOW,
PARMS-HIGH.
NEW-LINE.
ENDLOOP.
SKIP.
ENDIF.
some other approach....
This function module selects the Selection Screen contents
CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
EXPORTING
curr_report = sy-repid
TABLES
selection_table = loc_int_tab
EXCEPTIONS
not_found = 1
no_report = 2
OTHERS = 3.
IF sy-subrc NE 0.
MESSAGE i000 WITH 'Error in RS_REFRESH_FROM_SELECTOPTIONS'(029).
LEAVE LIST-PROCESSING.
ENDIF.
Craete the variant VAR1
CALL FUNCTION 'RS_CREATE_VARIANT'
EXPORTING
curr_report = sy-repid
curr_variant = wf_variant
vari_desc = loc_varid
TABLES
vari_contents = loc_int_tab
vari_text = loc_varit
EXCEPTIONS
illegal_report_or_variant = 1
illegal_variantname = 2
not_authorized = 3
not_executed = 4
report_not_existent = 5
report_not_supplied = 6
variant_exists = 7
variant_locked = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE i000 WITH 'Error while creating dynamic variant'(028).
LEAVE LIST-PROCESSING.
ENDIF.
reward point if helpful.
thanks
mrutyun^ -
Hi,
I have selection options for field as defined as TIME . I need to set dynamic variant for this field as
TIME should be "from"='current time-30 minutes' and "to"='24:59:59'.
This report going to run in 00 hours and 30 hours (48 times ie 24 X 2)
PS : Pl. remember this is for a SAP standard report
Any Info?
a®Naimesh Patel wrote:
> I digged more deeper and found one FM RS_VARI_V_INIT_TIME which fill the options like Current Time, Current Time +/- ???, From Start of Day to Now etc. and Surprisinly all 3 options are hardcoded in it..!!
As you suggested due to hardcoded values here , we could not able to do much on this.
So i came in round away solution. Whenever program A called ( program with TIME selection input) i have called another custom program C . (This custom program will using the following function module RS_VARIANT_CONTENTS, and RS_VARIANT_CHANGE , So get the DEFAULT variant content of program A and change the variant content with LOW as current time - 30 and HIGH with 24:59:59) as preceding job.
In PI 7.01 system program A always called in JOB mode
Thanks for info.
a® -
To read a fields from a Dynamic selections.. In LDB PNP
Dear All,
I need a suggestion from you, Please inform how to go about this.
We have created our own Dynamic Selection (Extended the PNP_DEFAULT with IT 0008 fields) and this button is comming next to variant and when we click we are able to see the fields from IT 0008 and we are entering the TRFGB as '06' and this is all working fine .
Now, We would like to retrtieve the data entered in Dynamic selection into our own local variable as we need to read some other (own own tables) with TRFGB and this needs to be done before GET PERNR event.
Please inform me how to read the data entered in the Dynamic selections to our own local variables in ABAP Program.
Thanks and have a nice day ahead.
Regards,
Mangalagi S VDear Suresh,
Thanks for your Suggestion.
Sorry, I am not able to award a Points for you , I am getting 'Error'.
Regards,
Mangalagi S V -
Hi,
How to put current date in report output through variants.
I should not use events, when user selects variants then i should place the current date in my selection-screen.
help full information will be appreciated.Hi Rams,
U have to create a dynamic variant for this.
Fallow these steps.
1. Fill all the selection screen values including date(Current date).
2. Save it as variant(ctrl+S), give variant name and description.
3. In the same screen u can see some check boxes corrosponding to each selection screen parameter.
Now for the date field select the check box under
L Selection variable and then press the push button selection variables in the tool bar.
4. Now u will get the date range in the next screen.
5. Here press the yellow light under D, it will become green colour.
5. Next press drop down(Small arrow pointing down at the end of date)
6. Now u will get a list of options for calculations.
7. Here select current date.
8. Now save the variant.
This completes setting up of dynamic variant.
Now when ever u select this variant it will populate the selection screen with current date and remaining fields with the data u save while creating the variant.
Hope this will solve ur problem.
Thanks,
Vinod. -
Selection Variant for Standard transaction
Hi,
The requirement is that, On starting a standard transaction the initial selection screen should appear with a default selection variant selected in it.
Regards,
Prabaharan.GSudhir,
Are you sure about that ? I think the the SHD0 transaction creates screen variants only for "normal" screens, dialog boxes, and subscreens . Not for List display (and selection screens) ..
I read this at - <a href="http://help.sap.com/saphelp_nw04/helpdata/en/7d/f639fe015111d396480000e82de14a/content.htm">http://help.sap.com/saphelp_nw04/helpdata/en/7d/f639fe015111d396480000e82de14a/content.htm</a>
For example try and create a transaction variant for standard transaction FBL1N (make the Company code field Output only) .. is it possible ?
Will someone please verify.
Maybe you are looking for
-
I had a hard drive failure in windows xp and have reinstalled windows xp and dreamweaver 3. I have a backup of all my dreamweaver 3 files from the old machine, for example &sitename.dws, &sitename Changed.txt, &sitename Live.dws, &sitename Changed.t
-
Files disappeared while selecting/deselecting them in Bridge CC.
Hi all! I was selecting/deselecting a number of files on a SD card from my camera. It was attached via a card reader. All of a sudden a message appeared quickly so I could not read it fast enough and all the files are now gone! Any ideas? Seems Adobe
-
Moving aperture 3 (upgrade version) to a new laptop, need aperture 2 licens
I just got a new macbook pro and I used the migration assistant to move absolutely everything over from my old macbook. When I tried starting Aperture on my new macbook, it asked for the serial number. I entered it. Aperture then told me it was an up
-
Why cant i use 3.6 still i like this verison
cmon firefox i like this verison i dont want to upgrade :((( this best version ever made for font to, i dont like 4 and up..... i cant see why we cant keep browser for years.
-
HCM Process&Forms EHhP5 "proces is currently not released for execution"
Hallo! After changing the system to EHP5 i got a new error: Process XYZ is currently not released for execution I didn't change the customizing! What should i do? I cannot rember that a process is to activate anywhere. The form and the interface are