How to group together same field values in a internal table.
Hi Gurus,
Case:1
Using AUFNR, i am retrieving data from RESB table.
Fields (RSPOS, ALPGR, ALPRF,KZAUS, MATNR).
If RESB-ALPGR (Alternate material group) is not initial, sort those values with ALPFR (Priority) after that group together same ALPGR values.
1) Top most priority (ALPRF) value MATNR populate to IDOC field.
2). Next top priority (ALPRF) value MATNR populate to IDOC field.
Case2:
using AUFNR, check RESB-KZAUS if it has a value '1'.
then, check to see if there are RESB-RSPOS that has the same (repeated RSPOS values) Ex: RSPOS value 0002,0002.
if yes, place the first RSPOS with KZAUS = 1. MATNR move to IDOC next RSPOS-MATNR value move to IDOC field.
Points will be awarded for useful answers.
Thanks in Advance.
Sashi.
Hi,
Check this Example..
DATA:BEGIN OF ITAB OCCURS 0,
NAME(15) TYPE C,
END OF ITAB.
ITAB-NAME = 'peter'.
APPEND ITAB.
CLEAR ITAB.
ITAB-NAME = 'john'.
APPEND ITAB.
CLEAR ITAB.
ITAB-NAME = 'abrahm'.
APPEND ITAB.
CLEAR ITAB.
ITAB-NAME = 'daneyal'.
APPEND ITAB.
CLEAR ITAB.
LOOP AT ITAB.
WRITE:/ ITAB-NAME.
ENDLOOP.
Reward Points if found helpfull..
Cheers,
Chandra Sekhar.
Similar Messages
-
How to add one more field to an exist internal table
hi abapers
i am a very new abap programmer and just started learning it.
i want to know How to add one more field to an exist internal table.
lemme me put my question in a very simple way.
i have a internal table having fields f1,f2,f3 and which also that internal also contains some data.
now i want to add two more fields (mm & nn) to that internal table now.
how can i do that.
and i wanna know the websites names where i can find some brain teasing questions in abap programming.
eagerly waiting for ur reply
regards,
Maqsood A KhanHi, MAQSOOD.
You can insert more fields in your internal table like this.
refer this code snippet.
DATA : BEGIN OF tbl_itab OCCURS 0.
INCLUDE STRUCTURE zsdtc009.
DATA : vkorg LIKE vbak-vkorg, "inserted one
vtweg LIKE vbak-vtweg, "inserted one
vkbur LIKE vbak-vkbur, "inserted one
vkgrp LIKE vbak-vkgrp, "inserted one
END OF tbl_itab.
you can also read the book "Teach yourself abap in 21 days"
at http://cma.zdnet.com/book/abap/
but that book is just about basic concept of abap and report program.
it doesn't give a lecture for on-line program.
you can get pdf version books(about abap, sap...things) from sap.
http://help.sap.com/printdocu/core/Print46c/en/Data/htm/english.htm
I wish I could help you.
Regards
Kyung Woo. -
How to Print the same field value in a single row
Hi,
I need to print the same field values in a single row
For Examble
in a table TestTable
ID Name Value
1 AB 120
1 BC 150
1 CD 130
2 AB 111
2 BC 112
2 CD 113
I need the query like if the Name contains BC and CD then i need to print like ID, BC Value, CD Value as below
ID BC'Value CD'Value
1 150 130
2 112 113
Kindly suggest me...
Thanks in Advance
AnuHi,
Since you're on 9i some available functionality unfortunatly isn't at your disposal.
This should work, however, using your sample data:
MHO%xe> create table t as ( -- generating sample data:
2 select 1 cid, 'AB' cname, 120 cvalue from dual union all
3 select 1, 'BC', 150 from dual union all
4 select 1, 'CD', 130 from dual union all
5 select 2, 'AB', 111 from dual union all
6 select 2, 'BC', 112 from dual union all
7 select 2, 'CD', 113 from dual
8 );
Tabel is aangemaakt.
MHO%xe> select cid
2 , max(decode(cname, 'BC', cvalue, null)) BC_value
3 , max(decode(cname, 'CD', cvalue, null)) CD_value
4 from t
5 group by cid;
CID BC_VALUE CD_VALUE
1 150 130
2 112 113For reference and future challenges, see:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:419593546543
http://www.oracle-base.com/articles/10g/StringAggregationTechniques.php -
How to check a field value within an Internal table
Hi Friends,
My requirement is:
I have a line item of PO records, in that each line item of Plant field should not diffe with other line items. If it differs or say the records have different plant values line items, then I have to throw an error message.
Below example for better understanding.
lineitem Plant
010 ABC
020 ABC
030 XYZ
040 LKG
So, my report will throw an error like "All line items must be identical'.
How to do proceed it.Please advise.
Thanks & Regards
Sankar.Hi Sankar
first you need to fetch all the values in one internal table from your PO.
After that create an internal table with only plant field and move all the plan values in this table.
let assume ITAB is a table with all the values. and ITAB1 with plant only.
wa_itab is the work area for ITAB and wa_itab1 is WA for ITAB1.
ITAB has all the values and ITAB1 has all the values only for plant.
delete adjacent duplicate from itab1 compairing plant.
loop at itab1 into wa_itab1. " this will fetch all the plant values in workarea.
read table itab into wa_itab where wa_itab-plant = wa_itab1-plant. " this will fetch only the values matching to the table itab1
if su-subrc <> 0.
message 'plants are not similar' TYPE 'E'.
elseif sy-subrc = 0.
write your code*.
endif.
endloop.
hope this will help you.
Thanks
Lalit Gupta -
Hi All,
I have written BDC, in which when i pass value for second screen "Description type field" it's passing '*************************' instead of internal table value.
It's picking correct value for first internal table value. Could anyone please give an idea why it's happening?
Please find the code:
LOOP AT it_record.
header data for BDC
AT NEW CLASS.
IF sy-tabix <> 1.
perform bdc_dynpro using 'SAPLCLMO' '7777'.
perform bdc_field using 'BDC_OKCODE'
'=SAVE'.
CALL TRANSACTION 'CLWM' USING bdcdata
MODE p_mode
UPDATE 'S'
MESSAGES INTO messtab.
clear : bdcdata[],bdcdata.
ENDIF.
perform bdc_dynpro using 'SAPLCLMO' '0200'.
perform bdc_field using 'BDC_CURSOR'
'RMCLM-CLASS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RMCLM-CLASS'
it_record-class.
perform bdc_dynpro using 'SAPLCLMO' '7777'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'RMCLM-KLBEZ'.
perform bdc_field using 'RMCLM-KLBEZ'
it_record-klbez.
perform bdc_field using 'RMCLM-STATU'
'1'.
perform bdc_dynpro using 'SAPLCLMO' '7777'.
perform bdc_field using 'BDC_OKCODE'
'=MERK'.
perform bdc_field using 'BDC_CURSOR'
'RMCLM-KLBEZ'.
perform bdc_field using 'RMCLM-KLBEZ'
it_record-klbez.
perform bdc_field using 'RMCLM-STATU'
'1'.
MOVE 1 TO IDX.
ENDAT.
line item data for BDC
perform bdc_dynpro using 'SAPLCLMO' '7777'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'RMCLM-RELEV(02)'.
CONCATENATE 'RMCLM-MERKMA(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
it_record-merkma.
CONCATENATE 'RMCLM-RELEV(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
it_record-relev.
IDX = IDX + 1.
ENDLOOP.
Thanks,
UjjwalHi Ujjwal
The reason behind this is that you are using AT NEW.... ENDAT block in your coding.
When you use AT NEW field statements, the fields in the work area after the field get converted into ********.
Check values in your work area I_RECORD in debugging inside AT NEW statement and you will understand what I am saying.
In your case all the fields from header line of I_RECORDS which come after field CLASS are getting converted into *******,
hence the error.
Try using a temporary work area, say w_record. Pass value of I_record to w_record before AT NEW statement.
And use w_record-fields instead of I_record-fields. And your program should work. -
How to retrieve a column field value from an ADF table ?
All,
I have a backing bean where I have bounded a field of an ADF table.
I would like, in the bean, to read the value of that field so that I can use it inside a task flow router.
The question: how to read a value from a ADF table column field ?
In the bean I have the getter and setter of the RichInputText ADF table field. But when I type:
System.out.println("the name is: " + this.getName().getValue());
or
System.out.println("the name is: " + this.Name().getValue());
I get a null pointer exception.
Thanks in advance,
Sergio.Thanks Marvin, but this is not really what I'm looking for. Or at least, it does not sounds like to be :)
I need to get the value contained in a row cell of an ADF table.
Let's say the table (two rows, three cells) contains these values:
"table_A", "123", "John"
"table_B", "456", "Peter"
When I click on the first row, I need the value: "table_A". Once I got that value, I extract the last char, in this case: "A", and then I call a specific task flow from a task flow router (specified in the task flow router Cases property).
When I click on the second row, the same process applies, only the router now points to another flow view.
So to summarize, I need to get the value of a row cell in an ADF table. How to do that from within a javaBean in JDeveloper 11g Release 2 ?
This is what I have in the bean; so far I've bounded the related row cell (herkunft) to the bean. Each time I select a row on the ADF table, the function setHerkunft() runs - I see that from within the JDeveloper console - but when I try to get its value, I get a null value - hence the surrounding if statement.
package bean;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import oracle.adf.view.rich.component.rich.input.RichInputText;
+public class taskFlowBean {+
public RichInputText herkunft;
public static String taskFlowView = "C";
+public taskFlowBean() {+
System.out.println("taskFlowBean constructor call");
+}+
+public void setHerkunft(RichInputText herkunft) {+
System.out.println("set herkunft");
this.herkunft = herkunft;
if (this.getHerkunft().getValue() != null )
System.out.println("herkunft is: " + this.getHerkunft().getValue());
+//here taskFlowView will set accordingly with the herkunft value.+
+}+
+public RichInputText getHerkunft() {+
System.out.println("get herkunft");
return herkunft;
+}+
+public String getTaskFlowView() {+
System.out.println("get taskFlowView ! : " this.taskFlowView);+
return this.taskFlowView;
+}+
+}+
Regards,
Sergio. -
How To Read Field Values Form Dynamic Internal Table
Hi,
I Created a dynamic internal table using.
FIELD-SYMBOLS: <gt_table> TYPE STANDARD TABLE,
<wa_gt_table>,
<l_fvalue> TYPE ANY.
This Interanl table is working well, and all values are populated to an ALV.
Now I try to set a link
for that I am using below code
READ TABLE <gt_table> ASSIGNING <l_fvalue> index rs_selfield-tabindex.
IF sy-subrc EQ 0.
insplot = <l_fvalue>-prueflos.
Now it is showing a syntax error :
the data object <l_fvalue> has no structure and there for no component called prueflos
Regards
NausalHi,
Refere following code
Local Field Symbol
FIELD-SYMBOLS: <lf_any> TYPE ANY. "Changed data
LOOP AT <gf_dyna_table> ASSIGNING <gf_dyna>.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <gf_dyna> TO <lf_any>.
IF sy-subrc NE 0.
EXIT.
ENDIF.
IF ls_attach-line IS INITIAL.
ls_attach-line = <lf_any>.
ELSE.
CONCATENATE ls_attach-line <lf_any> INTO ls_attach-line
SEPARATED BY lc_tab.
ENDIF.
ENDDO.
CONCATENATE lc_cret ls_attach-line INTO ls_attach-line.
Append Changed Data to attachement table
APPEND ls_attach TO gt_attach.
Clear
CLEAR : ls_attach.
ENDLOOP.
Regards,
Prashant -
How to create our own fields in workarea in internal tables
hai
can u help me out in creating our own fields in workarea in an internal table (without header line..................)what kinda theory do u want???
* Internal table with HEADER LINE
DATA : BEGIN OF it_output occurs 0 with header line,
c_icon TYPE icon-id,
bukrs TYPE anla-bukrs,
anln1 TYPE anla-anln1,
anln2 TYPE anla-anln2,
grufl TYPE anla-grufl,
grufl_n TYPE anla-grufl,
leabg TYPE sy-datum,
leabg_n TYPE sy-datum,
message TYPE bapiret2-message,
END OF it_output.
The above declaration is same as the below declaration in relation to the previous thread.
* Data declarations for ty_output
DATA : it_output TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0, " Internal table declaration
is_output TYPE ty_output." Work Area declaration
Please reward for useful answers with appropriate points
Regards
Gopi
" Internal table without HEADER LINE
DATA : BEGIN OF it_output occurs 0,
c_icon TYPE icon-id,
bukrs TYPE anla-bukrs,
anln1 TYPE anla-anln1,
anln2 TYPE anla-anln2,
grufl TYPE anla-grufl,
grufl_n TYPE anla-grufl,
leabg TYPE sy-datum,
leabg_n TYPE sy-datum,
message TYPE bapiret2-message,
END OF it_output.
Message was edited by:
Gopi Narendra -
How can i read the field name in the internal table
Hi friends
i want to read the internal table filed name.
my requirement is like this:
data: begin of t_header occurs 0,
extno(12),
priotiy(5),
ecnumber(10).
end of t_header.
loop at t_header.
if the field name is priority i want to write some other
logic here.....
endloop.
Please tell me how can i do this.data: wf_fld_cat type slis_t_fieldcat_alv .
data: wf_repid like sy-repid .
data: int_tab_name type slis_tabname .
move: sy-repid to wf_repid ,
'INT_OUTPUT' to int_tab_name .
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = wf_repid
i_internal_tabname = int_tab_name
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = wf_repid
i_bypassing_buffer = 'X'
I_BUFFER_ACTIVE =
changing
ct_fieldcat = wf_fld_cat[]
exceptions
inconsistent_interface = 1
program_error = 2
others = 3
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
wf_fld_cat[] will hold the itab definition.
Regards
Raja -
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. -
How to search for a field and its value in an internal table
Hi,
I want to search for a field(which i dont know whether it exists or not) in an internal table and on finding that field, I have to update the value of that field. How do I do it? I think its similar to how SEARCH works but i wanted to know the internal table eqivalent of it.Hi Sujay,
this code will help ful to u, just gi through it,
TABLES : KNA1,VBAK,VBAP.
***********INTERNAL TABLE DECLARATIONS****************
DATA : IT_KNA1 TYPE TABLE OF KNA1,
WA_KNA1 TYPE KNA1.
DATA : IT_VBAK TYPE TABLE OF VBAK,
WA_VBAK TYPE VBAK.
DATA : IT_VBAP TYPE TABLE OF VBAP,
WA_VBAP TYPE VBAP.
START-OF-SELECTION.
SELECT * FROM KNA1
INTO TABLE IT_KNA1
WHERE KUNNR = P_CUST.
IF NOT IT_KNA1 IS INITIAL.
SELECT * FROM VBAK
INTO TABLE IT_VBAK
FOR ALL ENTRIES IN IT_KNA1
WHERE KUNNR = IT_KNA1-KUNNR.
IF NOT IT_VBAK IS INITIAL.
SELECT * FROM VBAP
INTO TABLE IT_VBAP
FOR ALL ENTRIES IN IT_VBAK
WHERE VBELN = IT_VBAK-VBELN.
ELSE.
WRITE : / 'Customer',P_CUST,'does not exist ......'.
ENDIF.
ELSE.
WRITE: / 'sales order does not exist for',P_CUST.
ENDIF.
Rewards points plz if useful
Ganesh. -
How can i transfer a field value in the main report to its sub-report?
<p><font face="Arial" size="2">How can i transfer a field value in the main report to its sub-report?</font></p><p><font face="Arial" size="2">Please eloberate with example if possible!</font></p><p><font face="Arial" size="2">Thanks...</font></p><p> </p>
<p>You can do a couple of things - one would be to pass the information using the data linking expert. Right click on the subreport, choose 'Change Subreport Links' and select the field(s) you are wanting to pass to the subreport. CRW will build parameters and a record selection formula for you in the subreport, and if that's what you want, then great. But you can also remove the selection formula from the subreport and work with the parameter fields in the subreport however you would like.</p><p>Alternatively, you can look to passing Shared variables back and forth from the main and subreport. this link talks about the method to do this: http://diamond.businessobjects.com/node/251</p><p> </p>
-
How to update field values in a database table using module pool prg?
hi
how to update field values in a database table using module pool prg?
we created a customized table, and we put 2 push buttons in screen painter update and display.
but update is not working?
data is enter into screen fields and to internal table, but it is not updated in database table.
thanks in adv
vidyaHI,
we already used the update statement. but its not working.
plz check this.
*& Module Pool ZCUST_CALL_REC
PROGRAM ZCUST_CALL_REC.
TABLES: ZCUST_CALL_REC,ZREMARKS.
data: v_kun_low like ZCUST_CALL_REC-kunnr ,
v_kun_high like ZCUST_CALL_REC-kunnr,
v_bud_low like ZCUST_CALL_REC-budat,
v_bud_high like ZCUST_CALL_REC-budat.
ranges r_kunnr for ZCUST_CALL_REC-kunnr .
ranges r_budat for zcust_call_rec-budat.
DATA: ITAB TYPE STANDARD TABLE OF ZCUST_CALL_REC WITH HEADER LINE,
JTAB TYPE STANDARD TABLE OF ZREMARKS WITH HEADER LINE.
*data:begin of itab occurs 0,
MANDT LIKE ZCUST_CALL_REC-MANDT,
kunnr like ZCUST_CALL_REC-kunnr,
budat like ZCUST_CALL_REC-budat,
code like ZCUST_CALL_REC-code,
remarks like ZCUST_CALL_REC-remarks,
end of itab.
*data:begin of Jtab occurs 0,
MANDT LIKE ZCUST_CALL_REC-MANDT,
kunnr like ZCUST_CALL_REC-kunnr,
budat like ZCUST_CALL_REC-budat,
code like ZCUST_CALL_REC-code,
remarks like ZCUST_CALL_REC-remarks,
end of Jtab.
CONTROLS:vcontrol TYPE TABLEVIEW USING SCREEN '9001'.
CONTROLS:vcontrol1 TYPE TABLEVIEW USING SCREEN '9002'.
*start-of-selection.
*& Module USER_COMMAND_9000 INPUT
text
MODULE USER_COMMAND_9000 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
SET SCREEN 0.
LEAVE SCREEN.
CLEAR sy-ucomm.
WHEN 'ENQUIRY'.
perform multiple_selection.
perform append_CUSTOMER_code.
PERFORM SELECT_DATA.
call screen '9001'.
WHEN 'UPDATE'.
perform append_CUSTOMER_code.
PERFORM SELECT_DATA.
call screen '9002'.
perform update on commit.
WHEN 'DELETE'.
perform append_CUSTOMER_code.
PERFORM SELECT_DATA.
call screen '9002'.
ENDCASE.
ENDMODULE. " USER_COMMAND_9000 INPUT
*& Module STATUS_9000 OUTPUT
text
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS 'ZCUSTOMER'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_9000 OUTPUT
*& Module USER_COMMAND_9001 INPUT
text
MODULE USER_COMMAND_9001 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
SET SCREEN 0.
LEAVE SCREEN.
CLEAR sy-ucomm.
endcase.
ENDMODULE. " USER_COMMAND_9001 INPUT
*& Module STATUS_9001 OUTPUT
text
MODULE STATUS_9001 OUTPUT.
SET PF-STATUS 'ZCUSTOMER'.
SET TITLEBAR 'xxx'.
move itab-MANDT to zcust_call_rec-MANDT.
move itab-kunnr to zcust_call_rec-kunnr.
move itab-budat to zcust_call_rec-budat.
move itab-code to zcust_call_rec-code.
move itab-remarks to zcust_call_rec-remarks.
vcontrol-lines = sy-dbcnt.
ENDMODULE. " STATUS_9001 OUTPUT
*& Module USER_COMMAND_9002 INPUT
text
module USER_COMMAND_9002 input.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
SET SCREEN 0.
LEAVE SCREEN.
CLEAR sy-ucomm.
WHEN 'UPDATE'.
perform move_data.
UPDATE ZCUST_CALL_REC FROM TABLE ITAB.
IF SY-SUBRC = 0.
MESSAGE I000(0) WITH 'RECORDS ARE UPDATED'.
ELSE.
MESSAGE E001(0) WITH 'RECORDS ARE NOT UPDATED'.
ENDIF.
WHEN 'DELETE'.
perform move_data.
DELETE ZCUST_CALL_REC FROM TABLE ITAB.
IF SY-SUBRC = 0.
MESSAGE I000(0) WITH 'RECORDS ARE DELETED'.
ELSE.
MESSAGE E001(0) WITH 'RECORDS ARE NOT DELETED'.
ENDIF.
endcase.
endmodule. " USER_COMMAND_9002 INPUT
*& Module STATUS_9002 OUTPUT
text
module STATUS_9002 output.
SET PF-STATUS 'ZCUSTOMER1'.
SET TITLEBAR 'xxx'.
endmodule. " STATUS_9002 OUTPUT
*& Module update_table OUTPUT
text
module update_table output.
move itab-MANDT to zcust_call_rec-MANDT.
move itab-kunnr to zcust_call_rec-kunnr.
move itab-budat to zcust_call_rec-budat.
move itab-code to zcust_call_rec-code.
move itab-remarks to zcust_call_rec-remarks.
vcontrol-lines = sy-dbcnt.
endmodule. " update_table OUTPUT
***Selection Data
FORM SELECT_DATA.
SELECT mandt kunnr budat code remarks FROM zcust_call_rec INTO
table itab
WHERE kunnr IN r_kunnr AND BUDAT IN R_BUDAT.
ENDFORM.
****append vendor code
FORM APPEND_CUSTOMER_CODE.
clear r_kunnr.
clear itab.
clear r_budat.
refresh r_kunnr.
refresh itab.
refresh r_kunnr.
IF r_kunnr IS INITIAL
AND NOT v_kun_low IS INITIAL
AND NOT v_kun_high IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kun_low
IMPORTING
OUTPUT = r_kunnr-low.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kun_high
IMPORTING
OUTPUT = r_kunnr-high.
r_kunnr-option = 'BT'.
r_kunnr-sign = 'I'.
append r_kunnr.
PERFORM V_BUDAT.
ELSEIF r_kunnr IS INITIAL
AND NOT v_kun_low IS INITIAL
AND v_kun_high IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kun_low
IMPORTING
OUTPUT = r_kunnr-low.
r_kunnr-SIGN = 'I'.
r_kunnr-OPTION = 'EQ'.
APPEND r_kunnr.
PERFORM V_BUDAT.
ELSEIF r_kunnr IS INITIAL
AND v_kun_low IS INITIAL
AND NOT v_kun_high IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kun_low
IMPORTING
OUTPUT = r_kunnr-low.
r_kunnr-SIGN = 'I'.
r_kunnr-OPTION = 'EQ'.
APPEND r_kunnr.
PERFORM V_BUDAT.
ELSEIF r_kunnr IS INITIAL
AND v_kun_low IS INITIAL
AND v_kun_high IS INITIAL.
IF SY-SUBRC = 0.
MESSAGE I003(0) WITH 'ENTER CUSTOMER NUMBER'.
CALL SCREEN '9000'.
ENDIF.
PERFORM V_BUDAT.
ENDIF.
ENDFORM.
FORM V_BUDAT.
IF R_BUDAT IS INITIAL
AND NOT v_BUD_low IS INITIAL
AND NOT v_BUD_high IS INITIAL.
r_budat-low = v_bud_low.
r_budat-high = v_bud_high.
r_budat-option = 'BT'.
r_budat-sign = 'I'.
append r_budat.
ELSEIF R_BUDAT IS INITIAL
AND NOT v_BUD_low IS INITIAL
AND v_BUD_high IS INITIAL.
r_budat-low = v_bud_low.
r_budat-high = v_bud_high.
r_budat-option = 'EQ'.
r_budat-sign = 'I'.
append r_budat.
ELSEIF R_BUDAT IS INITIAL
AND v_BUD_low IS INITIAL
AND NOT v_BUD_high IS INITIAL.
r_budat-HIGH = v_bud_HIGH.
r_budat-option = 'EQ'.
r_budat-sign = 'I'.
append r_budat.
ELSEIF R_BUDAT IS INITIAL
AND v_BUD_low IS INITIAL
AND v_BUD_high IS INITIAL.
IF SY-SUBRC = 0.
MESSAGE I002(0) WITH 'ENTER POSTING DATE'.
CALL SCREEN '9000'.
r_budat-low = ''.
r_budat-option = ''.
r_budat-sign = ''.
ENDIF.
ENDIF.
ENDFORM.
*& Form update
text
--> p1 text
<-- p2 text
form update .
commit work.
endform. " update
*& Form move_data
text
--> p1 text
<-- p2 text
form move_data .
clear itab.
refresh itab.
move-corresponding zcust_call_rec to itab.
MOVE ZCUST_CALL_REC-MANDT TO ITAB-MANDT.
MOVE ZCUST_CALL_REC-KUNNR TO ITAB-KUNNR.
MOVE ZCUST_CALL_REC-BUDAT TO ITAB-BUDAT.
MOVE ZCUST_CALL_REC-CODE TO ITAB-CODE.
MOVE ZCUST_CALL_REC-REMARKS TO ITAB-REMARKS.
APPEND ITAB.
delete itab where kunnr is initial.
endform. " move_data
thanks in adv
vidya -
How to add field value to the standard table
Hi,
How to add field value to the standard table?
for example:
when we go to TCODE SE16-> VBAK table -> on the selection screen if we press F4 against VBTYP we get all the available values for that field. How to add a new document Category value to this field so that it shows up in F4 help for that field.Hi Asif,
I don't think it is possible and feasible for adding new field value to the field VBTYP because it is not possible through SPRO.
If u see the domain of this field VBTYP we have fixed values provided by SAP. There is no value table for this. If u have value table then it will be updated through SPRO. But still if u really want to add some value u can do that by getting access key and add the value in the fixed values of the domain. But of no use other than simply displaying in F4. Because for what ever value u created here there will be no documents in VBAK or any table using this domain.
Hope this is clear for u.
Thanks,
Vinod. -
How to pass the FORM Fields value by Form Personalization
Hi ALL,
I want to pass form filds values in to procedure. I am calling this procedure through form personalization of that form..... But it's not accepting any form field's value there... when i am passing hardcoded vales procedure is executing fine...
can any one suggest what to do???
i tried with these syntax
TEST_EMP_FP(:ADDR.ADDRESS_ID,'ABC')
TEST_EMP_FP(${item.ADDR.ADDRESS_ID.value},'ABC')
Regards
RaviHi,
Iam calling an SRS from forms personlization. Can any body tell me how to pass the Form field values as parameters to the Reports. (Example when they call this Concurrent request from Transact5ions screen, The invoice number should be defaulted in the report parameter).
Regards,,
Anil.
Maybe you are looking for
-
RAM upgrade and other queries for 13" Macbook (Late 2006)
Hi everyone, I have read many posts on these forums (very informative I must add) but I need your help in clarifying a few issues. I have a 13.3" white Macbook which I purchased in May 2007 - 2 GHz Core 2 Duo, 1 GB 667 MHz DDR2 SDRAM, 80 GB HDD. I pl
-
Problem trying to make a LC Designer ES4 form "Reader Extended" in Acrobat XI Pro
I have a form that I created in LC Designer ES4 that I was able to successfully "Reader Extend" using Acrobat XI Pro. I added a script to the form to allow for the deselecting of radio buttons (which I found on this forum), and now I cannot Reader E
-
Oracle 8i NIS+ client support
What are the implications of introducing NIS+ naming service in Oracle 8i, Solaris 7 environment? Does oracle support this? --Saro.
-
I am using iOS 5.0.1. Wifi only. 32 gig model.
-
I updated InDesign CC. Now when I try to open it, I get multiple error messages.
The first error message reads "Startup Alert. Cannot load Assignment UI.InDesignPlugin because it requires version 9.3 or later of the Username UI.InDesignPlugin plug-in. Please contact vendor for compatible version of Usrname UI.InDesignPlugin." Wha