FIELD-SYMBOLS validation with MARA Table values
Hi,
FIELD-SYMBOLS: <itab> TYPE STANDARD TABLE.
I want to validate mara-matnr with <itab>. The values in <itab> is coming at runtime, so i want to validate first field values in <itab> for all the records with mara-matnr.
The values which are coming at runtime in <itab> is matnr, bukrs, lgort. I want to validate only matnr with mara-matnr.
I don't know about field-symbols validations?
anybody has an idea?
Thanks in advance,
Fractal
Hi,
use ASSIGN COMPONENT OF STRUCTURE.
Example.
LOOP AT <FS> ASSIGNING <FS_STRUCT>.
<b> ASSIGN COMPONENT 'MATNR' OF STRUCTURE <FS_STRUCT>
TO <FS_RESULT>.</b>
IF SY-SUBRC = 0.
SELECT SINGLE * FROM MARA WHERE MATNR = <FS_RESULT>.
CHECK SY-SUBRC = 0.
ENDIF.
ENDLOOP.
Thanks,
Naren
Similar Messages
-
How to modify field symbol of type Index Table with other field symbol of type any.
Hello Experts,
How is it possible to update an filed symbol table of type Index table with other filed symbol table.
e.g.
Field symbol : <lt_table1> type Index table.
Field symbol : <lt_table2> type Index table.
after some code...at run time these table filled like following.
<lt_tabel1 > has value fore column like c11 , c12 , c13
<lt_table2> has value for column like C11 , C12 , C13 , C14 , C15 . some extra values from <lt_table1>
Now I want to be modify <table1> one entires like C12 with <table2 > col C12.
how I can achieve this.
Regards,
Chetan.Hi,
did you try ASSIGN COMPONENT xx OF STRUCTURE <IT_TABEL1> TO <IT_TABLE2>.
xx will contain the number of the column
or maybe, if you have the description with a field catalog or other, that will be easier ..
regards
Fred -
Are field symbols and Dynamic internal tables consistant?
Hi,
Are field symbols and Dynamic internal tables
always consistent?
In my program I m creating a dynamic itab and assignig values to it using <FS>, sometimes the program fails to execute assign <Fs> statement...
this happens once in 3 to 4 runs
any solution...
I have proper clear and refresh statements in program.
Thanks,
HardikAnurag,
Thanks for a quick reply. Here I am sending a small piece of my code.
MOVE-CORRESPONDING OUTTAB TO DYNTAB.
CLEAR IT_UDATE.
CLEAR : T_KBETR .
READ TABLE IT_UDATE WITH KEY UDATE = OUTTAB-UDATE.
CONCATENATE 'DYNTAB-KBETR' IT_UDATE-CO_POS INTO T_KBETR.
ASSIGN (T_KBETR) TO <FS> .
SUBRC5 = SY-SUBRC .
IF SUBRC5 = 0 .
<FS> = OUTTAB-KBETR .
ENDIF .
read statement will always return CO_POS .
while debuging this code a few times
<b>ASSIGN (T_KBETR) TO <FS> .</b>
returns sy-subrc = 4
and that was leading the program to short dump earlier.
now, as I have a check DYNTAB-KBETR holds no value on display.
this happens very few times. (most of the times report is displaying desired output)
Thanks,
Hardik -
Data from field symbol into an internal table or workarea
Hi Experts,
I have field symbol in which i get the data. I want to get this data into an internal table of type any or into an work area. How is this possible.
My declaration for field symbol is as follow:
FIELD-SYMBOLS: <l_t_data> TYPE any.
DATA l_r_data TYPE REF TO data.
CREATE DATA l_r_data type STANDARD TABLE OF (l_local_tab).
ASSIGN l_r_data->* TO <l_t_data>.
I get the data in this field symbol <l_t_data>. by passing into a funtion module. and I get the data into it. Now i have to assign the values of this field symbol to any internal table or to a work are how do i do it. Please help.
Regards,
Prashant.Not exactly sure what you need here, but.....
FIELD-SYMBOLS: <l_t_data> TYPE TABLE. "<<-- Change this
FIELD-SYMBOLS: <l_s_data> TYPE ANY. "<<---Add This
DATA l_r_data TYPE REF TO data.
CREATE DATA l_r_data type STANDARD TABLE OF (l_local_tab).
ASSIGN l_r_data->* TO <l_t_data>.
Loop at <l_t_data> assigning <l_s_data>.
* Do what ever using <l_s_data>
Endloop.
Regards,
Rich Heilman
Edited by: Rich Heilman on Feb 28, 2008 2:42 PM -
How to use FIELD-SYMBOLS to declare a table
How to use FIELD-SYMBOLS to declare a table?
hi yong,
this will be very general:
FIELD-SYMBOLS : <gf_table> TYPE ANY TABLE.
or
to do like a specific table from your program
FIELD-SYMBOLS : <gf_table> TYPE itab.
itab is of course your internal table from your program.
ec -
Field Symbols and dinamicaly selecting tables
I want to be able to select dinamicaly witch table to print.
their structure is the very similar but not equal (the order of the elements change)
so far im getting a "The data object "<WA_T>" has no structure and therefore no component ..." error
how can give it a structure?
FIELD-SYMBOLS: <t> TYPE STANDARD TABLE,
<wa_t> TYPE ANY.
IF r1 = 'X'.
ASSIGN ('TABI') TO <t>.
ASSIGN ('WA_TABI') TO <wa_t>.
ELSEIF r2 = 'X'.
ASSIGN ('TABI2') TO <t>.
ASSIGN ('WA_TABI2') TO <wa_t>.
ELSEIF r3 = 'X'.
ASSIGN ('TABI3') TO <t>.
ASSIGN ('WA_TABI3') TO <wa_t>.
ENDIF.
LOOP AT <t> INTO <wa_t>.
WRITE:/ <wa_t>-vkorg,
<wa_t>-name1,
<wa_t>-vbeln,
<wa_t>-audat,
<wa_t>-vbeln_d,
<wa_t>-wadat_ist,
<wa_t>-vbeln_b,
<wa_t>-fkdat,
<wa_t>-gbstk.
ENDLOOP.
Edited by: RagnaRock on Apr 8, 2010 12:18 PMThe fields to be printed can not be directly referred in the field symbol. Use 'ASSIGN COMPONENT' statement to access the fileds.
Modified the above program as per your requirements....
FIELD-SYMBOLS: <t> TYPE STANDARD TABLE,
<wa_t> TYPE ANY,
<field> TYPE ANY.
TYPES : BEGIN OF ty_tab,
vbeln TYPE vbeln,
erdat TYPE erdat,
END OF ty_tab.
DATA : tabi TYPE STANDARD TABLE OF ty_tab,
wa_tabi TYPE ty_tab.
SELECT vbeln erdat FROM vbak
INTO TABLE tabi
UP TO 10 ROWS.
ASSIGN ('TABI') TO <t>.
ASSIGN ('WA_TABI') TO <wa_t>.
LOOP AT <t> ASSIGNING <wa_t>.
ASSIGN COMPONENT 'VBELN' OF STRUCTURE <wa_t> TO <field>. "Refer a particular field
WRITE:/ <field>.
ENDLOOP.
Edited by: Satyajit on Apr 8, 2010 4:21 PM -
Move Field symbol data to Internal table
Dear All,
Please suggest how to move field symbol data to internal table. The requirement is I have dynamic data in Field symbol which to move to table parameter of a function module.
Thanks in Advance
Rams.Dear All,
In need to pass tabular data i.e. multiple entries from field symbol to the table parameter of the custom function module.
Field symbol is declared as below:
FIELD-SYMBOLS: <FS_EXCEL_TAB> TYPE STANDARD TABLE,
<FS_TABLE_HEADER> .
DATA WA_PD LIKE PRICE_DOWNLOAD.
APPEND <FS_TABLE_HEADER> TO <FS_EXCEL_TAB>.
CLEAR <FS_TABLE_HEADER>.
WA_PD-VKORG = <FS_EXCEL_TAB>-VKORG.u201D Problem while using this statement
APPEND WA_PD TO PRICE_DOWNLOAD.
CLEAR WA_PD.
Field symbol <FS_EXCEL_TAB> is populated like this.
VKORG | KUNNR_SH | KUNNR_SP |
0015 | 102105 | 102105 |
Now I need to move this data to table in tables parameter of custom fucntion module.
Thanks in advance,
Rams -
Need Help in Field Symbol for Dynamically passing table field value
Hi All,
In my internal table I am having data.
I am dynamically forming table field name and substitute for the another table field name to pass DATA.
but I am getting the Variable name insted of Value ie Data.
I am using Field Symbol for this.
data:
Field-symbols <TS> type any.
field1 type string.
LOOP AT TABLEFIELDS INTO WA_TABLEFIELDS.
READ TABLE TEST WITH KEY NAME = WA_TABLEFIELDS-FIELDNAME.
IF SY-SUBRC = 0.
CONCATENATE 'WA_' WA_TABLEFIELDS-TABNAME '-' WA_TABLEFIELDS-FIELDNAME INTO Field1.
Assign Field1 to <TS>.
ALL_VAL-VALUE = <TS>
"After substituting the <TS> into ALL_VAL-VALUE field I need a DATA to be passed but the variable name is appending"*
APPEND ALL_VAL.
ENDIF.
ENDLOOP.
kindly how to pass the value into the table.
Thanks in advance.
SanHi,
pls assign a break point in
CONCATENATE 'WA_' WA_TABLEFIELDS-TABNAME '-' WA_TABLEFIELDS-FIELDNAME INTO Field1.
Assign Field1 to <TS>.
ALL_VAL-VALUE = <TS>
" Put a break point here and check for the value in <TS>.
if <TS> contains value then create a work area for ALL_VAL AND PASS the Field-Symbol to that and then append thw wa into the table...
Hope this works out!!
thanks -
Accessing the variable in field symbol of nested internal table
Hi,
I am unable to access the variable in field symbol.
The data in field symbol has nested structure. We need to access a variable in nested structure.
Please find the code below:
LOOP AT <i_fincorp> into <fs_fincorp>.
l_madefor = <FS_FINCORP>-data_UI-ZZ0010.
ENDLOOP.
datatype of <i_fincorp> is type any table and <fs_fincorp> is type any.
there is a structure 'data_ui' in <i_fincorp> and we need value of field 'ZZ0010' in data_ui structure.
But, we are getting syntax error for statement in loop stating "There is no component like 'data_ui' in <fs_fincorp>".
Can anyone please help me solving this issue.
Regards,
SantoshSo simply access it dynamically
data: nested_field type c length 50.
field-symbols <nested_field> type any.
"build the nested field name dynamically
concatenate
'DATA_UI' "first give structure name
'ZZ0010' "then give field name (all in uppercase!)
into nested_field
separated by '-'. "now you have DATA_UI-ZZ0010
"so assing this nested field
LOOP AT <i_fincorp> into <fs_fincorp>.
assign component (nested_field) of structure <fs_fincorp> into <nested_field>.
ENDLOOP.
Regards
Marcin -
How to Copy data from field symbol to Dynamic Internal Table
Hi,
I want to copy the data between two dynamic Internal tables . Following is the code were I have data in the field symbol wanted to transfer it to the other Internal table :
REPORT ztest.
DATA:
gd_dref TYPE REF TO data,
gd_dref1 TYPE REF TO data.
FIELD-SYMBOLS: <fs1> TYPE any,
<fs_wa> TYPE any,
<field> TYPE any,
<fs_wa1> TYPE ANY TABLE. * Contains data from p_src
*Copy data from p_src to p_dest*
PARAMETERS: p_src LIKE dd02l-tabname . * Name of Dynamic Internal table *
p_dest LIKE dd02l-tabname . * Name of Dynamic Internal table*
*DATA : lt_csks LIKE p_dest WITH HEADER LINE.
START-OF-SELECTION.
CREATE DATA gd_dref TYPE (p_src).
CREATE DATA gd_dref1 TYPE TABLE OF (p_src).
ASSIGN gd_dref->* TO <fs_wa>.
ASSIGN gd_dref1->* TO <fs_wa1>.
SELECT * FROM (p_src) INTO TABLE <fs_wa1>.
*Write out data from FIELD SYMBOLS TO Table.
loop at <fs_wa1> into <fs_wa>.
do.
assign component sy-index
of structure <fs_wa> to <field>.
if sy-subrc <> 0.
exit.
endif.
if sy-index = 1.
write:/ <field>.
else.
write: / <field>.
endif.
enddo.
endloop.
*Need Logic To Copy the Data to p_dest table from <fs_wa1>.
*p_dest is a table having a similar structure to table p_src .
*Need Logic To Copy the Data to p_dest table from <fs_wa1>.
EXIT.
Thanks in Advance.try this...
I have extended your source code and just used vbak/vbap as an example as they have some common fields like vbeln/erdat etc which corresponds with your requirement of 'similar structure' i.e. shared/common fields in both.
Cheers...
report ztest.
data:
gd_dref type ref to data,
gd_dref1 type ref to data,
gd_dref_str type ref to data,
gd_dref_tab type ref to data.
field-symbols:
<fs1> type any,
<fs_wa> type any,
<fs1_dest_str> type any,
<fs_dest_tab> type any table,
<field> type any,
<fs_wa1> type any table.
* contains data from p_src
*Copy data from p_src to p_dest*
parameters: p_src like dd02l-tabname default 'vbak',
* name of dynamic internal table *
p_dest like dd02l-tabname default 'vbap'.
* name of dynamic internal table*
*data : lt_csks like p_dest with header line.
start-of-selection.
create data gd_dref type (p_src).
create data gd_dref1 type table of (p_src).
assign gd_dref->* to <fs_wa>.
assign gd_dref1->* to <fs_wa1>.
select * from (p_src) into corresponding fields of table <fs_wa1>
up to 3 rows
where vbeln ne space.
create data gd_dref_str type (p_dest).
create data gd_dref_tab type standard table of (p_dest).
assign gd_dref_str->* to <fs1_dest_str>.
assign gd_dref_tab->* to <fs_dest_tab>.
*write out data from field symbols to table.
loop at <fs_wa1> into <fs_wa>.
" break-point here - can see vbeln/waers/create date/ etc move over to new structure
" the 'common' fields of your structures - the same will happen. if they not the same name you will have to do an
" explicit move i.e. if fieldname = xyz ....move fieldxyz to new field123....after the move-corre
break-point.
move-corresponding <fs_wa> to <fs1_dest_str>.
insert <fs1_dest_str> into table <fs_dest_tab>.
** do.
** assign component sy-index
** of structure <fs_wa> to <field>.
** if sy-subrc <> 0.
** exit.
** endif.
** if sy-index = 1.
** write:/ <field>.
** else.
** write: / <field>.
** endif.
** enddo.
endloop.
" write out some dest data from the dest table build from previous loop
loop at <fs_dest_tab> assigning <fs1_dest_str>.
do.
assign component sy-index of structure <fs_wa> to <field>.
if sy-subrc <> 0.
exit.
endif.
if sy-index = 1.
write:/ <field>.
else.
write: / <field>.
endif.
enddo.
endloop. -
Selecting multiple rows a table according to rows passed with a table valued parameter
Ive got a table, which looks like this:
CREATE TABLE MyTable (
MyChars CHAR(3) NOT NULL,
MyId INT NOT NULL,
CONSTRAINT PK__MyTable_MyChars_MyId PRIMARY KEY (MyChars, MyId),
CONSTRAINT FK__MyOtherTable_Id_MyTable_MyId FOREIGN KEY (MyId) REFERENCES MyOtherTable (Id)
Records look like i.e.:
Chars | Id
'AAA' | 1
'BBB' | 1
'CCC' | 1
'AAA' | 2
'BBB' | 2
'CCC' | 2
'DDD' | 2
'EEE' | 3
'FFF' | 3
'AAA' | 4
'DDD' | 4
'FFF' | 4
Now I have a SP, which takes a table valued parameter like:
CREATE TYPE dbo.MyTVP AS TABLE ( MyChars CHAR(3) )
This SP should return a set of Ids, which match all the rows of the parameter.
I.e.:
if the TVP contains 'AAA', 'BBB' & 'CCC', i get as result 1 & 2
if the TVP contains 'AAA' & 'FFF', i get as result 4
if the TVP contains 'BBB' & 'EEE', i get an empty result
What my SP is currently doing, is to build a query with string concatination, which is then executed with the EXEC statement. If we take my first example, the built query would look like this:
SELECT DISTINCT t0.MyId
FROM MyTable t0
INNER JOIN MyTable t1 ON t0.MyId = t1.MyId
INNER JOIN MyTable t2 ON t1.MyId = t2.MyId
WHERE t0.MyChars = 'AAA' AND t1.MyChars = 'BBB' AND t2.MyChars = 'CCC'
It works, but I'm not very fond of building the query. Maintaining such things is always a pain. And it also might not be the most efficient and elegant way to do this.
Since I can't think of any other way of doing this, I wanted to ask, if someone of you got an idea, if there is a better way to accomplish this.Let me give you a "cut and paste" I use in the SQL Server groups:
1) The dangerous, slow kludge is to use dynamic SQL and admit that any random future user is a better programmer than you are. It is used by Newbies who do not understand SQL or even what a compiled language is. A string is a string; it is a scalar value like
any other parameter; it is not code. Again, this is not just an SQL problem; this is a basic misunderstanding of programming principles.
2) Passing a list of parameters to a stored procedure can be done by putting them into a string with a separator. I like to use the traditional comma. Let's assume that you have a whole table full of such parameter lists:
CREATE TABLE InputStrings
(keycol CHAR(10) NOT NULL PRIMARY KEY,
input_string VARCHAR(255) NOT NULL);
INSERT INTO InputStrings
VALUES ('first', '12,34,567,896'),
('second', '312,534,997,896'),
etc.
This will be the table that gets the outputs, in the form of the original key column and one parameter per row.
It makes life easier if the lists in the input strings start and end with a comma. You will need a table of sequential numbers -- a standard SQL programming trick, Now, the query,
CREATE VIEW ParmList (keycol, place, parm)
AS
SELECT keycol,
COUNT(S2.seq), -- reverse order
CAST (SUBSTRING (I1.input_string
FROM S1.seq
FOR MIN(S2.seq) - S1.seq -1)
AS INTEGER)
FROM InputStrings AS I1, Series AS S1, Series AS S2
WHERE SUBSTRING (',' + I1.input_string + ',', S1.seq, 1) = ','
AND SUBSTRING (',' + I1.input_string + ',', S2.seq, 1) = ','
AND S1.seq < S2.seq
GROUP BY I1.keycol, I1.input_string, S1.seq;
The S1 and S2 copies of Series are used to locate bracketing pairs of commas, and the entire set of substrings located between them is extracted and cast as integers in one non-procedural step. The trick is to be sure that the right hand comma of the bracketing
pair is the closest one to the first comma. The relative position of each element in the list is given by the value of "place", but it does a count down so you can plan horizontal placement in columns.
This might be faster now:
WITH Commas(keycol, comma_seq, comma_place)
AS
(SELECT I1.keycol, S1.seq,
ROW_NUMBER() OVER (PARTITION BY I1.keycol ORDER BY S1.seq)
FROM InputStrings AS I1, Series AS S1
WHERE SUBSTRING (',' || I1.input_string || ','
FROM S1.seq
FOR 1) = ','
AND S1.seq <= CHARLENGTH (I1.input_string))
SELECT SUBSTRING(',' || I1.input_string || ','
FROM C1.comma_place +1
FOR C2.comma_place - C1.comma_place - 1)
FROM Commas AS C1, Commas AS C2
WHERE C2.comma_seq = C1.comma_seq + 1
AND C1.keycol = C2.keycol;
The idea is to get all the positions of the commas in the CTE and then use (n, n+1) pairs of positions to locate substrings. The hope is that the ROW_NUMBER() is faster than the GROUP BY in the first attempt. Since it is materialized before the body of
the query (in theory), there are opportunities for parallelism indexing and other things to speed up the works.
Hey, I can write kludges with the best of them, but I don't. You need to at the very least write a routine to clean out blanks, handle double commas and non-numerics in the strings, take care of floating point and decimal notation, etc. Basically, you must
write part of a compiler in SQL. Yeeeech! Or decide that you do not want to have data integrity, which is what most Newbies do in practice altho they do not know it.
A procedural loop is even worse. You have no error checking, no ability to pass local variables or expressions, etc.
CREATE PROCEDURE HomemadeParser(@input_string VARCHAR(8000))
AS
BEGIN
DECLARE @comma_position INTEGER;
CREATE TABLE #Slices
(slice_value INTEGER);
SET @input_string = @input_string + ','; --add sentinel comma
SET @comma_position = CHARINDEX(',', @input_string);
WHILE @comma_position > 1
BEGIN
INSERT INTO #Slices (slice_value)
VALUES(CAST(LEFT(@input_string, (@comma_position - 1)) AS INTEGER));
SET @input_string = RIGHT(@input_string, LEN(@input_string)-@comma_position)
SET @comma_position = CHARINDEX(',', @input_string)
END;
END;
Better answer:
http://www.simple-talk.com/sql/learn-sql-server/values()-and-long-parameter-lists/
http://www.simple-talk.com/sql/learn-sql-server/values()-and-long-parameter-lists---part-ii/
Do this with a long parameter list. You can pass up to 2000+ parameters in T-SQL, which is more than you probably will ever need. The compiler will do all that error checking that the query version and the procedural code simply do not have unless you write
a full parser with the standard error codes. You can now pass local variables to your procedure; you can pass other data types and get automatic conversions, etc. In short, this is just good software engineering.
CREATE PROCEDURE LongList
(@p1 INTEGER = NULL,
@p2 INTEGER = NULL,
@p3 INTEGER = NULL,
@p4 INTEGER = NULL,
@p5 INTEGER = NULL)
x IN (SELECT parm
FROM (VALUES (@p1), (@p2), (@p3), (@p4), (@p5)) AS X(parm)
WHERE parm IS NOT NULL;
You get all the advantages of the real compiler and can do all kinds of things with the values.
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL -
Problem with passing table values to RFC
Hi all,
I am passing values in table in RFC. There are no import/export parameters in RFC. We are passing only tables.
There are two tables in the RFC I_Dept and I_Subdept. Initially RFC is executed for getting the Dept which works fine as for this there is no need to set in input table value. But to get sub department I need to set the dept in I_Dept and after executing RFC I should get values in table I_Subdept. The code is as below:
wdContext.nodeOutput_I_Dept().invalidate();
wdContext.nodeOutput_I_Subdept().invalidate();
Z_Bapi_Dept_Values_Input d_Input = new Z_Bapi_Dept_Values_Input();
wdContext.nodeZ_Bapi_Dept_Values_Input().bind(d_Input);
Zdept dept = new Zdept();
dept.setZname("Sales");
d_Input.addI_Dept(dept);
try
wdContext.nodeZ_Bapi_Dept_Values_Input().currentZ_Bapi_Dept_Values_InputElement().modelObject().execute();
wdContext.nodeZ_Bapi_Dept_Values_Input().nodeOutput().invalidate();
catch (WDDynamicRFCExecuteException e)
msgManager.reportException(e.toString(), true);
Is anything wrong in this code because even after executing the RFC the size of node I_Subdept() is zero. But the RFC works fine in the backend.
Regards,
JaydeepA typical misunderstanding when populating structured input data
via code is the following:
- You have bound a WD context node hierarchy to the model say
N1 > M1
->N2 > ->M2
where N1, N2 are WD Context nodes (N2 is child of N1) and M1, M2 are
model classes bound to the context nodes. Important: M1 has a relation
to M2 on the model side, means there is some method M1.setMyM2(M2)
(assuming the target role of the relation is called "MyM2").
- You create context elements for N1 and N2 which are bound to a model
class instances of M1 and M2 respectively.
Assuming that M1 is the "executable" model class (*_Input) and M2
represents an input structure needed, the M2-input will - using the
above approach - not be available on execution. Why? The relation on the
model side (MyM2) is not available if just maintaining it via the
context, i.e. context and model are not "in sync". As RFC execution is
done via the model the M2 input will not be available.
You best create complex/nested input structures on the model
side and then bind the top-level model object to the resp context node.
In the above sample this would be:
M1 m1ModelObject = new M1();
M2 m2ModelObject = new M2();
m1ModelObject.setMyM2(m2ModelObject);
Hope it helps!
Regards,
Sangeeta -
How to populate field on page with Primary Key value from previous page
I am trying to create a patient tracking system for a group of doctors. There is an add patient form based on the Patient table (which has Patient_Id as its primary key) which branches to a pre-operative assessment form. I would like to populate the pre-op assessment Patient_Id field with the Patient_Id generated by the Add Patient page during processing, which comes from the Patient_seq sequence. How can I do this? I have tried using a computation on the Pre-Op Assessment form, but no matter what I put in, the field remains blank.
Hi,
If I understand you correctly, once patient record is created you branching to next page (pre-operative assessment form). First create a static hidden item in patient form *:PX_PATIENT_ID_COPY*.
Create an On submit after computation and validation process in patient form to get the inserted patient_id from patient table. Here is the code -
SELECT patient_id into :PX_PATIENT_ID_COPY from patient_table where rownum=1
order by patient_id descI would not use the sequence to get the current value because if the inserted record been deleted from your patient table, sequence current value would not be valid to find that record in patient table.
Basically when the record been inserted, the process get the value and put into the hidden item.
Pass the value from the hidden item to the next page by setting them in page branch. Under the Action section in the page branch, Set this items field type - *:PX_PATIENT_ID* (next page item for patient_id). Type *&PX_PATIENT_ID_COPY.* in the with these values field. Make sure you include dot(.) after *&PX_PATIENT_ID_COPY*.
Give it a try now. Hope it would helps.
Regards,
Tajuddin
Blog: http://aspblog.whitepagesbd.com
web: http://tajuddin.whitepagesbd.com -
Screen field f4 help with a table of 5*5 as a popup
hi all,
I have screen-field (location id) when the user press f4 a table with 5 rows and 5 columns should popup. When I select any of the cell in the table that value to be taken as input for the screen-field.
how to solve this requirement?Hi uday
In the following code project id, Object id and object name will display in the F4 screen but only object id will be placed in the screen field.
Constants:
c_objectid TYPE dfies-fieldname
VALUE 'OID', " Object ID for F4 help
c_fieldoid TYPE help_info-dynprofld
VALUE 'P_OID',
" To hold fieldname of object ID
c_char_s(1) TYPE c
VALUE 'S'. " Approved status - Saved
* Field-string for it_values............................................
DATA:
BEGIN OF fs_value,
pid TYPE zcl_prjid, " Project ID
oid TYPE zcl_objid, " Object ID
oname TYPE zcl_objname, " Object description
END OF fs_value.
Data:
it_values LIKE STANDARD TABLE OF fs_value,
" Table for object ID F4 help
PARAMETERS:
p_oid TYPE zcl_objects-oid.
at selection-screen on value-request for P_OID.
PERFORM f4help_objectid.
* FORM F4HELP_OBJECTID *
* This subroutine is used for F4help in object ID i.e. to get *
* corresponding object ID based on the project ID entered. *
* There are no interface parameters to be passed to this subroutine. *
FORM f4help_objectid.
GET CURSOR LINE w_lineno.
fs_sc_val-fieldname = 'FS_TIMESHEET-PID'.
fs_sc_val-stepl = w_lineno.
APPEND fs_sc_val TO it_sc_val.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = it_sc_val
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE it_sc_val INTO fs_field
WITH KEY fieldname = c_fieldname.
ENDIF. " IF sy-subrc EQ 0
SELECT projectid " Project ID
objectid " Object ID
objectname " Object Name
FROM zcl_objects
INTO TABLE it_values
WHERE projectid EQ fs_field-fieldvalue.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = c_objectid "* Here c_objectid = 'OID' and here OID is the field name in field string*
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = c_fieldoid
value_org = c_char_s
TABLES
value_tab = it_values.
CLEAR fs_timesheet-pid.
REFRESH it_values.
REFRESH it_sc_val.
ENDFORM. " F4HELP_OBJECTID
Regards,
Mahi.
Edited by: Maheswari Chegu on Nov 5, 2008 7:57 AM -
Text field spry validation over 2 table cells?
Hello,
This might be a real simple thing, but I can't figure it out. Can anyone please help?
I'm using DW CS3 and I'm building a contact form. I'm using DW's Spry validation for my text field. It's an email field. I'd like to put the label in one table cell and the input box in the adjacent cell. But I can't figure out how. I'm using the attach label using 'for' attribute.
Here is how DW writes the code:
<tr>
<td>
<span id="sprytextfield5">
<label for="email">Email</label>
<input type="text" name="emaill" id="emaill" />
<span class="textfieldInvalidFormatMsg">Invalid format.</span></span>
</td>
</tr>
As you can see, it's all in one cell.
I've tried massaging the code every which way but then the widget doesn't work.
Please help!
Thank you in advance!
ClaudiaHello,
This might be a real simple thing, but I can't figure it out. Can anyone please help?
I'm using DW CS3 and I'm building a contact form. I'm using DW's Spry validation for my text field. It's an email field. I'd like to put the label in one table cell and the input box in the adjacent cell. But I can't figure out how. I'm using the attach label using 'for' attribute.
Here is how DW writes the code:
<tr>
<td>
<span id="sprytextfield5">
<label for="email">Email</label>
<input type="text" name="emaill" id="emaill" />
<span class="textfieldInvalidFormatMsg">Invalid format.</span></span>
</td>
</tr>
As you can see, it's all in one cell.
I've tried massaging the code every which way but then the widget doesn't work.
Please help!
Thank you in advance!
Claudia
Maybe you are looking for
-
Problem with creation of follow-on activity in case, by action
Hi all, Upon creation and saving of a case, I would like an action to automatically create an activity inside this case. When setting up actions for transactions, I have called the method 'COPY_DOCUMENT'. However, when called within a case, the metho
-
XML Header Web Services 8.6
I am developing an HTML application using LabVIEW Web Services in version 8.6. I configured a VI to output data as XML. I am using the jQuery framework for javacript at this time. I noticed that when I try to get the data from this VI as XML jQuery
-
Do I have to buy the entire creative suite again for another device?
Do I have to spend another $500 on the creative suite for my new laptop or can I download it again from my account?
-
10.6.4 deleted most startup items
Hi there, I installed 10.6.4 yesterday without any error messages. After the reboot I realized that most of my startup items have vanished. How could that happen? Does anyone know the physical folder where these items are normanlly stored? Thx! Jan
-
Steam - Acewingman Glyph - Acewingman Blizzard - Acewingman DWANGO - Acewingman ... Get the idea? I play MMO sandbox games...