In interactive how to use AT LINE-SELECTION WITH SET PF-STATUS
Hi all,
I am developing an interactive report in which i am using gui status (pf-status ) for AT USER-COMMAND and AT LINE-SELECTION event .But when i used at line-selection event is not working with pf-status even though i use PICK function code .
plz help me to work with both the event i.e.
AT USER-COMMAND.
AT LINE-SELECTION.
Thanks a lot in Advance .
Regards,
Tarak
hi,
In PBO of Module Pool, Please Write in this way
MODULE status_9001 OUTPUT.
Set the PF-STATUS
SET PF-STATUS '9001'.
To Set the Title of Screen
SET TITLEBAR 'TITLE'.
ENDMODULE
Setting PF status to the (SAP) system default
set pf-status 'BASIC'.
How to check for pf-status
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'ART'.
PERFORM STYR_ARTSKONTI.
WHEN 'PST'.
PERFORM STYR_POSTER.
WHEN 'BIL'.
PERFORM VIS_BILAG.
ENDCASE..
Similar Messages
-
Can not use 'AT LINE-SELECTION' with SET PF-STATUS
Hi experts,
my code is like below:
PARAMATERS: .....
SET PF-STATUS 'st_nam'.
Perform Load_data . ' For list display
START-OF-SELECTION.
AT LINE-SELECTION.
Perform list_detail.
AT USER-COMMAND.
CALL SCREEN '1001'.
END-OF-SELECTION.
When I execute the report , the basic was displayed , but when then i double click on the list to call the next screen '1001'. It did not work , but if i omit the SET PF-STATUS m AT LINE-SELECTION worked week , so in this case what has happened i how can i solve this problem,
Thaks,
PS: Reward immediatelyHi,
Thank you very much for your helpful answers, I have copied the report downto my system and test it , When i used SET PF-STATUS , i can not use AT LINE-SELECTION to capture events ...May be we can not use these 2 statements in parallel,...:D
Thanks, -
How to use at-line selection in ALV
Can someone help me about how to use at-line selection in an ALV
u can try in user_command
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
IT_FIELDCAT = GT_FIELDCATALOG
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
I_CALLBACK_HTML_END_OF_LIST = G_HTML_END_OF_LIST
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_GRID_SETTINGS = GS_SETTINGS
IS_LAYOUT = GS_LAYOUT
I_SAVE = G_SAVE
IS_VARIANT = GS_VARIANT
IT_EVENTS = GT_EVENTS[]
* I_SCREEN_START_COLUMN = 0 "Use coordinates for
* I_SCREEN_START_LINE = 0 "display as dialog box
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER = G_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = GS_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB = I_REP
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
FORM USER_COMMAND USING R_UCOMM TYPE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
CASE RS_SELFIELD-FIELDNAME.
WHEN 'XXXXX'.
READ TABLE I_xxx INTO V_xxx
WITH KEY XXX = RS_SELFIELD-VALUE.
IF SY-SUBRC = 0.
ENDIF.
WHEN OTHERS
ENDCASE.
ENDCASE.
ENDFORM. -
How to Use At line-Selection Functionality in dialog programming or mpp .
hi
i had created customized Transaction ,
in that notification field is there , their when they place notification number ,after that when they double click on that, it have to go to iw23 .(so that they will get confirm that notification number is write )
i have tried to use AT LINE-SELECTION event it showing error ,
where i have to write and which event i have to use ?
may i know how can i resolve this ?
Thanks a lot
Edited by: raghu111 on Dec 3, 2011 6:14 AMhi sharin.
Thanks for ur reply
i followed ur steps
WHEN 'PICK'.
DATA : dc_scrfield TYPE zmotor-qmnum.
GET CURSOR FIELD dc_scrfield.
CHECK NOT dc_scrfield IS INITIAL.
IF dc_scrfield = zmotor-qmnum.
IF NOT zmotor-qmnum IS INITIAL .
set PARAMETER ID 'IQM' FIELD zmotor-qmnum.
call TRANSACTION 'IW23'.
ENDIF. .
ENDIF.
its not working
but i already tried like this .
WHEN 'PICK'.
if field name =tablename-fieldname
set PARAMETER ID 'IQM' FIELD zmotor-qmnum
call transaction 'IW23'
endif
i written in pai event ." i have dought here also whether i have to write here r not
HERE ITS WORKING BUT PROBLEM IS FOR ANOTHER FIELDS ALSO ITS RESPONDING . how to stop the responding .
as per my knowledge in condition only prob but i tried i didnt solve
please send me one example or tell me how to solve
for better understanding only i pasted coding
thanks a lot
Edited by: raghu111 on Dec 5, 2011 12:21 PM -
How to use AT LINE-SELECTION and AT USER-COMMAND in one report????
Dear all,
I have a problem in reports I want to use AT USER-COMMAND.and AT LINE-SELECTION.both in the one report.
But as soon as I use SET PF-STATUS my AT LINE-SELECTION event stop workingand only AT USER-COMMAND is working.
How can I use both of them in one report for your reference I am giving my test program below.
REPORT ZTEST111 .
SET PF-STATUS '100'.
DO 10 TIMES.
WRITE:/ SY-INDEX.
HIDE SY-INDEX.
ENDDO.
START-OF-SELECTION.
AT LINE-SELECTION.
MESSAGE I002(SY) WITH SY-INDEX.
AT USER-COMMAND.
MESSAGE I002(SY) WITH 'USER COMMAND'.
END-OF-SELECTION.
Thanks in advance
Sachin Gautamhi
Syntax
AT USER-COMMAND.
Effect
This statement defines an event block whose event is triggered by the ABAP runtime environment if, during the display of a screen list, a function with a self-defined function code was chosen.
Note
Self-defined function codes are all those that include character combinations, except for the following:
The function codes PICK and PF## ("##" stands for 01 to 24) do not cause the event AT USER-COMMAND, but the events AT LINE-SELECTION and AT PF##.
All function codes that start with the character "%" are interpreted as system functions and do not cause the event AT USER-COMMAND. The system functions for lists are listed in the following table 1.
The function codes in the following table 2, likewise, do not cause the event AT USER-COMMAND, but are handled by the list processor.
Table 1
Function code Function
%CTX Call a context menu
%EX Exit
%PC Save to file
%PRI Print
%SC Search for ...
%SC+ Find next
%SL Search in office
%ST Save to report tree
Table 2
Function code Function
BACK Back
P- Scroll to previous page
P-- Scroll to first page
P+ Scroll to next page
P++ Scroll to last page
PFILE name Store list lines in a text file named abap.lst in standard character representation in the standard directory of the application server. If a name is entered using name, this is converted to lowercase letters and used as the file name.
PL- Scroll to first line of the page
PL-n Scroll n lines back
PL+ Scroll to last line of the page
PL+n Scroll n lines up
PNOP No effect
PP- Scroll back one page
PP-n Scroll n pages back
PP+ Scroll one page forward
PP+n Scroll n pages forwad
PPn Scroll to beginning of page n
PRI, PRINT Print
PS-- Scroll to first column
PS++ Scroll to last column
PS- Scroll one column to the left
PS-n Scroll n columns to the left
PS+ Scroll one column to the right
PS+n Scroll n columns to the right
PSn Scroll to column n
PZn Scroll to line n
RW Cancel -
How to use enumeration method deal with sets?
hi,
friends, i have some troubles to compile my program on deal with Set.
here is the problem:
A:\>javac Set.java
Set.java:145: Reference to variable set2 in class Set as if it were a method.
if (set1.contains(elem) != set2(elem))
^
Set.java:189: Wrong number of arguments in method.
loadResult(set1.complement(set2));
^
Set.java:191: Wrong number of arguments in method.
loadResult(set1.symmetricComplement(set2));
^
3 errors
i marked the related part with ???. please help.
thank you very much.
my program as following:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
import java.io.*;
public class Set extends Applet implements ActionListener, ItemListener{
Button add, union, intersect, clear, complement,symmetricComplement;
List set1List, set2List, activeList, resultList;
Checkbox set1Selector, set2Selector;
CheckboxGroup selectorGroup;
TextField value;
Set set1, set2, activeSet;
Vector vector;
private Button makeButton(String label, Color color) {
Button b = new Button(label);
b.setBackground(color);
b.setFont(new Font("Courier", Font.BOLD, 10));
return b;
private Panel makePanel(LayoutManager lm, Color c) {
Panel p = new Panel();
p.setLayout(lm);
p.setBackground(c);
return p;
public void init () {
set1 = new Set();
set2 = new Set(); //componets
setLayout(new BorderLayout());
//checkboxes
set1Selector = new Checkbox("Set 1");
set1Selector.addItemListener(this);
set2Selector = new Checkbox("Set 2");
set2Selector.addItemListener(this);
selectorGroup = new CheckboxGroup();
set1Selector.setCheckboxGroup(selectorGroup);
set2Selector.setCheckboxGroup(selectorGroup);
Panel p = new Panel();
p.add(set1Selector);
p.add(set2Selector);
add("North", p);
//Lists
set1List = new List();
set1List.setBackground(Color.white);
set2List = new List();
set2List.setBackground(Color.white);
resultList = new List();
resultList.setBackground(Color.white);
p = new Panel();
p.add(new Label("Set1"));
p.add(set1List);
p.add(new Label("Set2"));
p.add(set2List);
p.add(new Label("Result"));
p.add(resultList);
add("Center", p);
//Buttons
add = new Button("Add:");
add.addActionListener(this);
value = new TextField(5);
clear = new Button("Clear");
clear.addActionListener(this);
union = new Button("Union");
union.addActionListener(this);
intersect = new Button("Intersect");
intersect.addActionListener(this);
complement = new Button("Complement");
complement.addActionListener(this);
symmetricComplement = new Button("SymmetricComplement");
symmetricComplement.addActionListener(this);
p = new Panel();
p.add(add);
p.add(value);
p.add(clear);
p.add(union);
p.add(intersect);
p.add(complement);
p.add(symmetricComplement);
add("South", p);
//set active checkbox
selectorGroup.setSelectedCheckbox(set1Selector);
setActive();
public Set() {
vector = new Vector();
public boolean isEmpty() {
return vector.isEmpty();
//public size() {
//return vector.size();
public boolean contains(Object o) {
Enumeration enum = vector.elements();
while (enum.hasMoreElements()) {
Object elem = enum.nextElement();
if (elem.equals(o))
return true;
return false;
public void addElement(Object o) {
if (!contains(o))
vector.addElement(o);
public Object copy() {
Set destSet = new Set();
Enumeration enum = vector.elements();
while (enum.hasMoreElements())
destSet.addElement(enum.nextElement());
return destSet;
public Set union(Set s) {
Set unionSet = (Set)s.copy();
Enumeration enum = vector.elements();
while (enum.hasMoreElements())
unionSet.addElement(enum.nextElement());
return unionSet;
public Set intersection(Set s) {
Set interSet = new Set();
Enumeration enum = this.vector.elements();
while (enum.hasMoreElements()) {
Object elem = enum.nextElement();
if (s.contains(elem))
interSet.addElement(elem);
return interSet;
public Set complement (Set set1, Set set2) { //???
Set complementSet = new Set();
Enumeration enum = this.vector.elements();
while (enum.hasMoreElements()) {
Object elem = enum.nextElement();
if (set1.contains(elem) != set2(elem))
complementSet.addElement(elem);
return complementSet;
public Set symmetricComplement (Set set1, Set set2) { //???
Set symmetricComplementSet = new Set();
Enumeration enum = this.vector.elements();
while (enum.hasMoreElements()) {
Object elem = enum.nextElement();
if (elem != set1.set2)
symmetricComplementSet.addElement(elem);
return symmetricComplementSet;
void removeAllElements() {
vector.removeAllElements(); //differ
Enumeration elements() {
return vector.elements();
public void print(PrintStream ps) {
String PrintStream;
Enumeration enum = vector.elements();
while (enum.hasMoreElements()) {
ps.print(enum.nextElement().toString());
ps.print(" ");
//handles action events generated by the buttons
public void actionPerformed(ActionEvent ae){
if (ae.getSource() == add) {
addElement();
repaint();
else if (ae.getSource() == union)
loadResult(set1.union(set2));
else if (ae.getSource() == intersect)
loadResult(set1.intersection(set2));
else if (ae.getSource() == complement)
loadResult(set1.complement(set2)); //???
else if (ae.getSource() == symmetricComplement)
loadResult(set1.symmetricComplement(set2)); //???
else if (ae.getSource() == clear) {
activeSet.removeAllElements();
activeList.removeAll();
//handles item events generated by the Checkboxes
public void itemStateChanged(ItemEvent ie) {
setActive();
private void addElement() {
int i = Integer.parseInt (value.getText());
activeSet.addElement (new Integer(i));
activeList.addItem (Integer.toString(i));
private void setActive() {
List newActiveList;
if (selectorGroup.getSelectedCheckbox() == set1Selector){
activeList = set1List;
activeSet = set1;
else {
activeList = set2List;
activeSet = set2;
private void loadResult(Set resultSet){
resultList.removeAll();
Enumeration enum = resultSet.elements();
while (enum.hasMoreElements())
resultList.addItem (enum.nextElement().toString());
repaint();public Set complement (Set set1, Set set2) {
Set complementSet = new Set();
Enumeration enum = this.vector.elements();
while (enum.hasMoreElements()) {
Object elem = enum.nextElement();
if (set1.contains(elem) != set2(elem))
complementSet.addElement(elem);
return complementSet;
}I'm not sure what you think you are doing with the set2(elem) call. You are treating a variable as if it were a method.
All you have to do is change set2(elem) to set2.contains(elem) and things would be fine. This is especially weird since you knew that for set1. -
How to go to previous pages using AT LINE-SELECTION
Using AT LINE-SELECTION we can move on to next page up to 20 pages.
Is it possible to go navigate to the previous pages?
Letu2019s say, now I am in 15th page. I have to go to 5th page from 15th.
Any comments appreciated.Hi,
set your list index = 5 when u reach list 15.
case:
when Sy-lsind = 15.
sy-lsind = 5.
thanks, -
Hi guru's i am learning ,iknow alv classical ,interactive how to use oops.
hi guru's i know alv classical ,interactive how to use oops concept in that ,
some one is telling oops using of oops to dovelope alv grid , actually i don't know alv grid,
plz explain to me brefley diffrence between alv and alv grid...plz...Hi,
This is the sample report for the oops concept. kindly go through that one. U will get some idea about that one.
REPORT YMS_CHECKBOXOOPSALV NO STANDARD PAGE HEADING.
TYPE-POOLS: slis.
DATA: BEGIN OF i_data OCCURS 0,
qmnum LIKE qmel-qmnum,
qmart LIKE qmel-qmart,
qmtxt LIKE qmel-qmtxt,
ws_row TYPE i,
ws_char(5) TYPE c,
chk,
END OF i_data.
DATA: report_id LIKE sy-repid.
DATA: ws_title TYPE lvc_title VALUE 'An ALV Report'.
DATA: i_layout TYPE slis_layout_alv.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv.
DATA: i_events TYPE slis_t_event.
DATA: i_header TYPE slis_t_listheader.
DATA: i_extab TYPE slis_t_extab.
SELECT qmnum
qmart
qmtxt
INTO TABLE i_data
FROM qmel
WHERE qmnum <= '00030000010'.
LOOP AT i_data.
i_data-ws_row = sy-tabix.
i_data-ws_char = 'AAAAA'.
MODIFY i_data.
ENDLOOP.
report_id = sy-repid.
PERFORM f1000_layout_init CHANGING i_layout.
PERFORM f2000_fieldcat_init CHANGING i_fieldcat.
PERFORM f3000_build_header CHANGING i_header.
PERFORM f4000_events_init CHANGING i_events.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
i_callback_program = report_id
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
i_structure_name = ' '
I_BACKGROUND_ID = ' '
i_grid_title = ws_title
I_GRID_SETTINGS =
is_layout = i_layout
it_fieldcat = i_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'A'
IS_VARIANT =
it_events = i_events
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_ADD_FIELDCAT =
IT_HYPERLINK =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = i_data
EXCEPTIONS
program_error = 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.
*& Form F1000_Layout_Init
FORM f1000_layout_init USING i_layout TYPE slis_layout_alv.
CLEAR i_layout.
i_layout-colwidth_optimize = 'X'.
i_layout-edit = 'X'.
ENDFORM. " F1000_Layout_Init
*& Form f2000_fieldcat_init
FORM f2000_fieldcat_init CHANGING i_fieldcat TYPE slis_t_fieldcat_alv.
DATA: line_fieldcat TYPE slis_fieldcat_alv.
CLEAR line_fieldcat.
line_fieldcat-fieldname = 'QMNUM'. " The field name and the table
line_fieldcat-tabname = 'I_DATA'. " name are the two minimum req.
line_fieldcat-key = 'X'. " Specifies the column as a key (Blue)
line_fieldcat-seltext_m = 'Notification No.'. " Column Header
APPEND line_fieldcat TO i_fieldcat.
CLEAR line_fieldcat.
line_fieldcat-fieldname = 'QMART'.
line_fieldcat-ref_tabname = 'I_DATA'.
line_fieldcat-hotspot = 'X'. " Shows the field as a hotspot.
line_fieldcat-seltext_m = 'Notif Type'.
APPEND line_fieldcat TO i_fieldcat.
CLEAR line_fieldcat.
line_fieldcat-fieldname = 'QMTXT'.
line_fieldcat-tabname = 'I_DATA'.
line_fieldcat-seltext_m = 'Description'.
APPEND line_fieldcat TO i_fieldcat.
CLEAR line_fieldcat.
line_fieldcat-fieldname = 'WS_ROW'.
line_fieldcat-tabname = 'I_DATA'.
line_fieldcat-seltext_m = 'Row Number'.
APPEND line_fieldcat TO i_fieldcat.
CLEAR line_fieldcat.
line_fieldcat-fieldname = 'WS_CHAR'.
line_fieldcat-tabname = 'I_DATA'.
line_fieldcat-seltext_l = 'Test Character Field'.
line_fieldcat-datatype = 'CHAR'.
line_fieldcat-outputlen = '15'. " You can specify the width of a
APPEND line_fieldcat TO i_fieldcat. " column.
CLEAR line_fieldcat.
line_fieldcat-fieldname = 'CHK'.
line_fieldcat-tabname = 'I_DATA'.
line_fieldcat-seltext_l = 'Checkbox'.
line_fieldcat-checkbox = 'X'. " Display this field as a checkbox
line_fieldcat-edit = 'X'. " This option ensures that you can
" edit the checkbox. Else it will
" be protected.
APPEND line_fieldcat TO i_fieldcat.
ENDFORM. " f2000_fieldcat_init
*& Form f3000_build_header
FORM f3000_build_header USING i_header TYPE slis_t_listheader.
DATA: gs_line TYPE slis_listheader.
CLEAR gs_line.
gs_line-typ = 'H'.
gs_line-info = 'This is line of type HEADER'.
APPEND gs_line TO i_header.
CLEAR gs_line.
gs_line-typ = 'S'.
gs_line-key = 'STATUS 1'.
gs_line-info = 'This is line of type STATUS'.
APPEND gs_line TO i_header.
gs_line-key = 'STATUS 2'.
gs_line-info = 'This is also line of type STATUS'.
APPEND gs_line TO i_header.
CLEAR gs_line.
gs_line-typ = 'A'.
gs_line-info = 'This is line of type ACTION'.
APPEND gs_line TO i_header.
ENDFORM. " f3000_build_header
*& Form f4000_events_init
FORM f4000_events_init CHANGING i_events TYPE slis_t_event.
DATA: line_event TYPE slis_alv_event.
CLEAR line_event.
line_event-name = 'TOP_OF_PAGE'.
line_event-form = 'F4100_TOP_OF_PAGE'.
APPEND line_event TO i_events.
CLEAR line_event.
line_event-name = 'PF_STATUS_SET'.
line_event-form = 'F4200_PF_STATUS_SET'.
APPEND line_event TO i_events.
ENDFORM. " f3000_events_init
FORM F4100_TOP_OF_PAGE *
FORM f4100_top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_header.
ENDFORM.
FORM F4200_PF_STATUS_SET *
FORM f4200_pf_status_set USING i_extab TYPE slis_t_extab.
REFRESH i_extab.
PERFORM f4210_exclude_fcodes CHANGING i_extab.
SET PF-STATUS 'STANDARD' OF PROGRAM 'SAPLSALV' EXCLUDING i_extab.
ENDFORM.
*& Form f4210_exclude_fcodes
FORM f4210_exclude_fcodes USING i_extab TYPE slis_t_extab.
DATA: ws_fcode TYPE slis_extab.
CLEAR ws_fcode.
ws_fcode = '&EB9'. " Call up Report.
APPEND ws_fcode TO i_extab.
ws_fcode = '&ABC'. " ABC Analysis.
APPEND ws_fcode TO i_extab.
ws_fcode = '&NFO'. " Info Select.
APPEND ws_fcode TO i_extab.
ws_fcode = '&LFO'. " Information.
APPEND ws_fcode TO i_extab.
ENDFORM. " f4210_exclude_fcodes
Thanks,
Sankar M -
How to use Hierarchy Filter Selection?
Hi, experts !
Could anyone give me a detail for how to use hierarchy filter selection ?
When i locate a Hier filter selection in the template and execute it, a false info
accured while filtering data,and the IE inferred the hier node object was missing.
Then i add another hier filter in the same template, and the secend runs well, however the first one didn't.
At last, i hide the first one, but the second one can't either.
Help me !!!
Thx in advance!Thanks Toja !
Sorry to reply so late !
The error is line: 51. error:'document.HIERARCHY_MENU_1.NODEID' is null or is not the object.
The code on line of 51 says:document.HIERARCHY_MENU_1.NODEID.value = i_node;
Could you please give me some documents on the topic of Hierarchy Filter Selection ? -
How to handle at line-selection event for 2 different fields
Hi,
The requirement is there are 2 fields in a report output.
One is Material number
and the other is Material document number.
On clicking the material number, the user should be taken to MM03 screen.
On clicking the Material document number, the user should be taken to MB03 screen.
I am able to take care of the first one by putting a HOTSPOT on material number and I am using at line-Selection event, call transaction MM03 and it is working fine
I want to know how can I handle similarly for the document number?
Thanks,
Kumar.Hi,
chk this sample code.
Some part of code is higlighted which meets ur rewuirement.
REPORT z50871sd_rept_interactiverept NO STANDARD PAGE HEADING.
STRUCTURE DECLARATIONS*
INTERNAL TABLE DECLARATIONS*
WORKAREA DECLARATIONS*
TYPES : BEGIN OF st_kna1,
kunnr TYPE kna1-kunnr, "CUSTOMER NUMBER
name1 TYPE kna1-name1, "CUSTOMER NAME
END OF st_kna1.
TYPES : BEGIN OF st_vbak,
kunnr TYPE kna1-kunnr,
vbeln TYPE vbak-vbeln, "SALES DOCUMENT NUMBER
erdat TYPE vbak-erdat, "DATE ON WHICH THE RECORD WAS CREATED
audat TYPE vbak-audat, "DOCUMENT DATE
auart TYPE vbak-auart, "SALES DOCUMENT TYPE
ernam TYPE vbak-ernam, "NAME OF PERSON WHO CREATED THE OBJECT.
augru TYPE vbak-augru, "ORDER REASON
END OF st_vbak.
TYPES : BEGIN OF st_vbap,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr, "SALES DOCUMENT ITEM
matnr TYPE vbap-matnr, "MATERIAL NUMBER
charg TYPE vbap-charg, "BATCH NUMBER
matkl TYPE vbap-matkl, "MATERIAL GROUP
posar TYPE vbap-posar, "ITEM TYPE
END OF st_vbap.
DATA : it_kna1 TYPE STANDARD TABLE OF st_kna1,
it_vbak TYPE STANDARD TABLE OF st_vbak,
it_vbap TYPE STANDARD TABLE OF st_vbap,
wa_kna1 TYPE st_kna1,
wa_vbak TYPE st_vbak,
wa_vbap TYPE st_vbap.
DATA : v_fld(15),
v_kunnr TYPE kna1-kunnr,
v_vbeln TYPE vbak-vbeln.
SELECT-OPTIONS*
PARAMETERS*
SELECT-OPTIONS so_kunnr FOR v_kunnr. "CUSTOMER NUMBER
PARAMETERS : p_max TYPE i. "NUMBER OF HITS
START-OF-SELECTION*
START-OF-SELECTION.
PERFORM get_customerdata.
SET PF-STATUS 'MENU1'.
AT LINE-SELECTION**
*AT LINE-SELECTION.*
*IF sy-lsind = 1.*
*PERFORM get_salesheader.*
*ELSEIF sy-lsind = 2.*
*PERFORM get_salesitemdata.*
*ENDIF.*
AT USER-COMMAND*
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'DISP'.
PERFORM get_salesheader.
WHEN 'ITEM'.
PERFORM get_salesitemdata.
WHEN 'VA03'.
SET PARAMETER ID 'AUN' FIELD wa_vbak-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDCASE.
TOP-OF-PAGE*
TOP-OF-PAGE.
ULINE AT /1(56).
WRITE : /1 sy-vline ,
2(15) text-004 COLOR 1 ,
sy-vline ,
20(35) text-005 COLOR 1 ,
sy-vline.
ULINE AT /1(56).
TOP-OF-PAGE DURING LINE-SELECTION.*
TOP-OF-PAGE DURING LINE-SELECTION.
CASE sy-lsind.
WHEN 1.
PERFORM get_topofpage1.
WHEN 2.
PERFORM get_topofpage2.
ENDCASE.
FORM GET_CUSTOMERDATA*
FORM get_customerdata.
SELECT kunnr name1
FROM kna1
INTO TABLE it_kna1
UP TO p_max ROWS
WHERE kunnr IN so_kunnr.
IF sy-subrc EQ 0.
LOOP AT it_kna1 INTO wa_kna1.
WRITE : / sy-vline,
2(15) wa_kna1-kunnr ,
sy-vline ,
20 wa_kna1-name1,
sy-vline.
HIDE : wa_kna1-kunnr , wa_kna1-name1.
CLEAR wa_kna1.
ENDLOOP.
ULINE AT : /1(56).
ELSE.
MESSAGE w000(z50871msg).
ENDIF.
ENDFORM. "GET_CUSTOMERDATA
FORM GET_SALESHEADER*
FORM get_salesheader.
SET PF-STATUS 'MENU2'.
GET CURSOR FIELD v_fld VALUE v_kunnr.
IF v_fld = 'WA_KNA1-KUNNR'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kunnr
IMPORTING
output = v_kunnr.
SELECT kunnr vbeln erdat audat auart ernam augru
FROM vbak
INTO TABLE it_vbak
WHERE kunnr = v_kunnr.
IF sy-subrc EQ 0.
LOOP AT it_vbak INTO wa_vbak.
WRITE : / sy-vline ,
2(22) wa_vbak-vbeln ,
sy-vline,
27(25) wa_vbak-erdat ,
sy-vline ,
55(15) wa_vbak-audat ,
sy-vline ,
73(15) wa_vbak-auart ,
sy-vline,
91(16) wa_vbak-ernam ,
sy-vline,
109(13) wa_vbak-augru,
123 sy-vline.
HIDE : wa_vbak-vbeln.
CLEAR wa_vbak.
ENDLOOP.
*ULINE AT : /1(123).*
ELSE.
MESSAGE i015(z50871msg).
ENDIF.
ELSE.
MESSAGE i013(z50871msg).
ENDIF.
ENDFORM. "GET_SALESHEADER
FORM GET_SALESITEMDATA
FORM get_salesitemdata.
SET PF-STATUS space.
GET CURSOR FIELD v_fld VALUE v_vbeln.
IF v_fld = 'WA_VBAK-VBELN'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_vbeln
IMPORTING
output = v_vbeln.
SELECT vbeln posnr matnr charg matkl posar
FROM vbap
INTO TABLE it_vbap
WHERE vbeln = v_vbeln.
LOOP AT it_vbap INTO wa_vbap.
WRITE : /1 sy-vline,
2(13) wa_vbap-posnr ,
sy-vline,
18(18) wa_vbap-matnr ,
sy-vline,
40(13) wa_vbap-charg ,
sy-vline,
56(16) wa_vbap-matkl ,
sy-vline,
75 wa_vbap-posar,
112 sy-vline.
CLEAR wa_vbap.
ENDLOOP.
ULINE AT : /1(112).
ELSE.
MESSAGE i014(z50871msg).
ENDIF.
ENDFORM. "GET_SALESITEMDATA
FORM GET_TOPOFPAGE1
FORM get_topofpage1.
ULINE AT : /1(123).
WRITE : / sy-vline ,
2 text-000 ,
wa_kna1-kunnr ,
75 text-001 ,
wa_kna1-name1,
123 sy-vline.
ULINE AT : /1(123).
WRITE : / sy-vline ,
2(22) text-006 COLOR 1,
sy-vline,
27(25) text-007 COLOR 1 ,
sy-vline ,
55(15) text-008 COLOR 1 ,
sy-vline ,
73(15) text-009 COLOR 1 ,
sy-vline,
91(16) text-010 COLOR 1 ,
sy-vline,
109(13) text-011 COLOR 1,
123 sy-vline.
ULINE AT : /1(123).
ENDFORM. "GET_TOPOFPAGE1
FORM GET_TOPOFPAGE2
FORM get_topofpage2.
ULINE AT : /1(112).
WRITE : / sy-vline ,
2 text-000 ,
wa_kna1-kunnr ,
35 text-001 ,
wa_kna1-name1 ,
85 text-003 ,
wa_vbak-vbeln ,
112 sy-vline.
ULINE AT : /1(112).
WRITE : /1 sy-vline,
2(13) text-012 COLOR 1,
sy-vline,
18(18) text-013 COLOR 1 ,
sy-vline,
40(13) text-014 COLOR 1 ,
sy-vline,
56(16) text-015 COLOR 1 ,
sy-vline,
75 text-016 COLOR 1 ,
112 sy-vline.
ULINE AT : /1(112).
ENDFORM. "GET_TOPOFPAGE2
Regards
Sandeep Reddy -
Unable to double click after using at line-selection
hi all...
unable to double click after using at line-selection. But if i comment set pf-status, i can double click on the line but on first double click everytime i just get last record i.e. 200th and after second double click i'm not getting output. what is the problem? plz reply...
REPORT YP2 line-count 10(2).
tables: lfa1, LFB1.
data: itab like lfa1 occurs 0 with header line,
JTAB LIKE LFB1 OCCURS 0 WITH HEADER LINE.
SELECT-OPTIONS: vendor_n for lfa1-lifnr.
*SET PF-STATUS 'MENU'.
INITIALIZATION.
vendor_n-low = '1'.
vendor_n-high = '200'.
vendor_n-option = 'BT'.
APPEND vendor_n.
clear vendor_n.
At selection-screen.
IF VENDOR_N-LOW < 1.
MESSAGE w000(sabapdocu).
clear vendor_n.
ELSEIF vendor_n-HIGH > 200.
MESSAGE S001(sabapdocu).
ENDIF.
START-OF-SELECTION.
SELECT * FROM lfa1 INTO TABLE ITAB WHERE lifnr IN vendor_n.
WRITE:5 SY-ULINE(72).
LOOP AT ITAB.
WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
ENDLOOP.
top-of-page.
WRITE:/5 SY-ULINE(72).
WRITE: /5 SY-VLINE, 'Vendor_code', 20 SY-VLINE, 28 'Name' ,58 SY-VLINE, 60 'Phone', 76 SY-VLINE.
WRITE:/5 SY-ULINE(72).
end-of-page.
WRITE:5 SY-ULINE(72).
WRITE:/ 'THE PAGE NO IS',SY-PAGNO.
WRITE:/5 SY-ULINE(72).
END-OF-SELECTION.
WRITE: /5 sy-uline(72),/ 'THE RECORD IS CLOSED'.
AT LINE-SELECTION.
IF SY-LSIND = 1.
SELECT * FROM LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
LOOP AT ITAB.
WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(72).
ELSEIF SY-LSIND = 2.
WRITE:/5 SY-VLINE,6 'Vendor No.',17 SY-VLINE,18 'Company code',28 SY-VLINE, 29 'Created by',39 SY-VLINE.
SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
LOOP AT JTAB.
WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(72).
ENDIF.
AT PF7.
IF SY-LSIND = 1.
SELECT * FROM LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
LOOP AT ITAB.
WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(72).
ELSEIF SY-LSIND = 2.
SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
LOOP AT JTAB.
WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(72).
ENDIF.
AT USER-COMMAND.
IF SY-UCOMM = '0001'.
IF SY-LSIND = 1.
SELECT * FROM LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
LOOP AT ITAB.
WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(72).
ELSEIF SY-LSIND = 2.
SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
LOOP AT JTAB.
WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(72).
ENDIF.
ENDIF.Hi,
copy and paste the code given below it works....
START-OF-SELECTION.
SELECT * FROM lfa1 INTO TABLE ITAB WHERE lifnr IN vendor_n.
WRITE:5 SY-ULINE(72).
LOOP AT ITAB.
WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
hide : itab-lifnr.
ENDLOOP.
clear itab.
top-of-page.
WRITE:/5 SY-ULINE(72).
WRITE: /5 SY-VLINE, 'Vendor_code', 20 SY-VLINE, 28 'Name' ,58 SY-VLINE, 60 'Phone', 76 SY-VLINE.
WRITE:/5 SY-ULINE(72).
end-of-page.
WRITE:5 SY-ULINE(72).
WRITE:/ 'THE PAGE NO IS',SY-PAGNO.
WRITE:/5 SY-ULINE(72).
END-OF-SELECTION.
WRITE: /5 sy-uline(72),/ 'THE RECORD IS CLOSED'.
AT LINE-SELECTION.
IF itab-lifnr is not initial.
IF SY-LSIND = 1.
SELECT * FROM LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
LOOP AT ITAB.
WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
HIDE ITAB-LIFNR.
ENDLOOP.
CLEAR ITAB.
WRITE:/5 SY-ULINE(72).
ELSEIF SY-LSIND = 2.
WRITE:/5 SY-VLINE,6 'Vendor No.',17 SY-VLINE,18 'Company code',28 SY-VLINE, 29 'Created by',39 SY-VLINE.
SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = ITAB-LIFNR.
LOOP AT JTAB.
WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
ENDLOOP.
CLEAR ITAB.
WRITE:/5 SY-ULINE(72).
ENDIF.
ENDIF.
AT PF7.
IF itab-lifnr is not initial.
IF SY-LSIND = 1.
SELECT * FROM LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
LOOP AT ITAB.
WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
HIDE ITAB-LIFNR.
ENDLOOP.
CLEAR ITAB.
WRITE:/5 SY-ULINE(72).
ELSEIF SY-LSIND = 2.
SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
LOOP AT JTAB.
WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
ENDLOOP.
CLEAR ITAB.
WRITE:/5 SY-ULINE(72).
ENDIF.
ENDIF.
AT USER-COMMAND.
IF SY-UCOMM = '0001' and itab-lifnr is not initial.
IF SY-LSIND = 1.
SELECT * FROM LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
LOOP AT ITAB.
WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
HIDE ITAB-LIFNR.
ENDLOOP.
clear ITAB.
WRITE:/5 SY-ULINE(72).
ELSEIF SY-LSIND = 2.
SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
LOOP AT JTAB.
WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
ENDLOOP.
CLEAR ITAB.
WRITE:/5 SY-ULINE(72).
ENDIF.
ENDIF.
Regards,
Siddarth -
How to use offset for select-option parameter ?
Hi experts
could anybody please let me know how to use offset for select-option parameter. i can able to use offset for table fields, variabiles and all , but don't know how to use for parameters.
following is my code
SELECT-OPTIONS: s_prctr FOR vbsegs-prctr OBLIGATORY.
here "prctr" length is 10.
i'm using two tables 1. vbsegd-bupla
2. vbsegs-prctr
here prctr+6(4) = bupla.
"Bupla" length is 4
SELECT belnr gjahr bukrs bupla sgtxt buzei FROM vbsegd INTO CORRESPONDING FIELDS OF TABLE it_vbsegd FOR ALL ENTRIES IN it_vbkpf
WHERE belnr = it_vbkpf-belnr
AND gjahr = it_vbkpf-gjahr
AND bukrs = it_vbkpf-bukrs
AND bupla IN s_prctr.
the above statement is not working as prctr and bupla lenths are different. here i want to use offset.
SELECT belnr gjahr bukrs prctr sgtxt buzei FROM vbsegs INTO CORRESPONDING FIELDS OF TABLE it_vbsegs FOR ALL ENTRIES IN it_vbkpf
WHERE belnr = it_vbkpf-belnr
AND gjahr = it_vbkpf-gjahr
AND bukrs = it_vbkpf-bukrs
AND prctr IN s_prctr.
this is working as prctr and s_prctr lengths are equal.
could anybody please help me out in this.
Thanks in advance.
regards
satishBelow code will work for you.
SELECT-OPTIONS: s_prctr FOR vbsegs-prctr OBLIGATORY.
RANGES: s_bupla FOR vbsegd-bupla.
s_bupla[] = s_prctr[].
DELETE ADJACENT DUPLICATES FROM s_bupla.
SELECT belnr gjahr bukrs bupla sgtxt buzei FROM vbsegd INTO CORRESPONDING FIELDS OF TABLE it_vbsegd FOR ALL ENTRIES IN it_vbkpf
WHERE belnr = it_vbkpf-belnr
AND gjahr = it_vbkpf-gjahr
AND bukrs = it_vbkpf-bukrs
AND bupla IN s_bupla. -
Query: how to use structure and selection and what's the difference between
Query: how to use structure and selection and what's the difference between these two?
Would be appreciated if some experts here give examples to demenstrate on how to use structure and selection in query and what's the difference between these two?
Thanks in advance!Hi Kevin,
1. Well by default all the KF that you include in your query go into a Key Figure Structure. You can additionally have another structure for defining how your chars are laid out. A common example is a Calmonth structure where you have selections for 12 months, quarers and YTD values. This would be a char structure with different selections (for each month, qtr etc)
2. Yes, a selection with a KF is the same as restricting a KF. You can use am RKF is you have one on the left hand side, or if you need to do this locally in the query, right click the structure and choose New Selection, then proceed to choose your KF and reqd char values.
Hope this helps... -
How To Use Your Own Router with Out Loosing Verizon's FIOS Services
How to use your own router with Verizon’s FIOS Service
First, you need a basic understanding of how FIOS works but unfortunately there are two types of FIOS systems out there. All of the systems utilize a fiber optic cable to bring TV, phone and internet to your location over one optic cable. In addition these systems provide interactivity including widgets, remote DVR, movies on demand and so forth via an IP (Internet Protocol) signal. Your STB (Set Tip Box) requires both a video and IP signal. The IP signal is necessary for all of the aforementioned interactivity. The fiber cable terminates at the Optical Network Terminal or ONT for short. The ONT converts the optics into a digital signal that can be utilized by ones equipment. From the ONT your video, phone and internet are provided to the location. This is where things can differ as the internet signal can be provided via a coaxial (MoCA or Multimedia over Coax Alliance) or RJ45 Cat5 (Ethernet) cable. It is important to identify and understand the differences of these two setups. In my case I have my internet entering via Ethernet cable, which in my humble opinion makes things a heck of a lot easier.
How does one tell the difference? In most cases it’s rather simple; just look at the Verizon’s router WAN (Wide Area Network) Port. Does it have a RJ45 (Ethernet) or Coax (TV cable Cord) going to it? If the router’s WAN port doesn’t have a coaxial connector then one will need to convert the MoCA signal into a usable Ethernet signal that routers understand. The easiest way is to use Verizon’s router as a bridge. In this method the Verizon’s router simply converts the signal and passes it along to your own router. The challenge is to try to maintain the interactivity that FIOS TV provides. Because of this one needs to supply the IP routed signal back to the FIOS router. There are multiple methods for doing this and I would recommend investigates which one make the most sense.
In my particular case the IP signal was provided by Ethernet. Again there are various ways of installing one’s own router. The hardest is to utilize Verizon’s router as a bridge. This setup requires configuring Verizon’s router as a bridge and also creating a VLAN (Virtual Local Area Networks). In addition one needs to set up their own router so it will work with the various routing tables and networks. For me this is too complex for the average person and it can be difficult to trouble shoot if something goes wrong. Please consider that Verizon will not support utilizing third party routers.
The easier method is to request an Ethernet signal (if you don’t already have one) from their ONT. I would highly recommend getting your hands on a NIM or Network Interface Module. This device is used to convert Ethernet to Coaxial so it can be fed back to your STBs. These can be purchased online and Verizon technicians can be a valuable resource with these sorts of acquisition. At the very least they can point you to the right direction. Once you have a NIM the rest is rather simple.
Log into the current Verizon Router.
Located the router’s MAC address and copy it down.
Go to the port forwarding section and copy down the Applied Rules.
Example:
Network Computer/Device: 192.168.1.100:63145
Application & Ports Forward: Application UDP Any -> 6347
Note: There may be up to three entries for each one of your Set Top Boxes.
Look at your current device list, typically found on the home screen. Copy down your STB MAC and IP address.
Example:
IP-STB1
Connection Type: Ethernet
* IP Address: 192.168.1.100
IP Address Allocation: DHCP
*MAC Address: 07:73:fFe:ad:8b:3f
* Things you will need to write down
Go to the network section and look for the main Ethernet connection. Select this and then select more setting, typically found at the bottom. Release the current lease.
Remove the Verizon router
Install your router
Connect the NIM by plugging in an Ethernet from one of the routers LAN (Local Area Network) ports to your NIM. Then connect the coax cable, the same cable that was used by Verizon router.
Set you DHCP routing IP pool to accommodate Verizon’s STB IP’s (note their IP’s start at 192.168.1.100)
Go to DHCP section and reserve the STB IP’s by inserting the IP’s and MAC addresses. This shall ensure that nothing else utilizes the same IPs as the STBs thereby preventing IP address conflict.
Add the port forwards from Step 5 above.
Clone Verizon’s Mac Address utilizing the info from step 2
Finish setting up the router in typical fashion.
Unplug and re-plugin your STB’s and test functionality. It’s best to try using a widget or Movie on demand function.
Note: if the new router can net get an internet signal contact Verizon’s support and have them release the IP and reset the ONT.
EVERYTHING should be working at this point.3 Go to the port forwarding section and copy down the Applied Rules.
Example:
Network Computer/Device: 192.168.1.100:63145
Application & Ports Forward: Application UDP Any -> 6347
Note: There may be up to three entries for each one of your Set Top Boxes.G
Your display obviously is not like mine as mine does not dosplay the port associated with the ip address
whatever, the STB's start at 192.168.1.100 and icement by 1 for each
the port addr's will be 63145 alo incrementing by 1
there is 1 entry for each in my pf list
however each ip addr also has a port entry starting at 35000 also incrementing by 1 for each ip addr
For some unknow reason these are duplicated e.g I appear to have 11 entries exaactly the same for each stb and as the fios services rules have no action switc there is nowhere to delete the extraneous garbage.
Why do you clone the mac addr?? -
Hi,
Am creating a FM where all data declaration,subroutines and selection screen will be in separate includes.Delivary order number is fetched based on sales order number given as input by the user.
Output is displayed using ALV.
Interactive List:Now in the list,when i click on sales document number it should take me to the trasaction VA03 and when i double click on delivary document number it should take me to VL03.
AT LINE-SELECTION is not working.where should i insert at line-selection?
INCLUDE ZSU_3TOP
INCLUDE ZSU_SELECTION_SCREEN.
INCLUDE ZSU_FORMS2.
START-OF-SELECTION.
PERFORM DISPLAY.
PERFORM BUILD_ALV.
PERFORM ALV_GRID.
AT LINE-SELECTION.
SET PARAMETER ID 'SAL' FIELD S_VBELN.
CALL TRANSACTION 'VA03'.
s_vbeln is the selection option for sales order number as input.Hi,
I am helping u with just a part of my code with similar to ur requirement, in this my code dynamic Subrubroutines are being called u can work accordingly i hope it will help u out .and u can call as other transactions also.
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
DATA : wa_out LIKE LINE OF it_output.
CASE ucomm.
Double click => launches whatever you want
WHEN '&IC1'.
CHECK sy-lsind = 1.
CLEAR wa_output2.
READ TABLE it_output INDEX SELFIELD-TABINDEX INTO wa_out.
LOOP AT it_output2 INTO wa_output2 WHERE matnr EQ wa_out-matnr AND
vstel EQ wa_out-vstel.
IF wa_output2-lsmeng NE wa_output2-kwmeng.
CLEAR wa_output2.
CONTINUE.
ENDIF.
FORMAT INTENSIFIED ON COLOR 3.
wa_orders-vbeln = wa_output2-vbeln.
wa_orders-audat = wa_output2-audat.
wa_orders-kunnr = wa_output2-kunnr.
SELECT SINGLE * FROM kna1 WHERE kunnr = wa_orders-kunnr.
wa_orders-name1 = kna1-name1.
wa_orders-vstel = wa_output2-vstel.
wa_orders-kwmeng = wa_output2-kwmeng.
PERFORM get_dqty.
wa_orders-lsmeng = n_dqty.
APPEND wa_orders TO it_orders.
CLEAR wa_orders.
CLEAR wa_output2.
ENDLOOP.
FORMAT RESET.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = SY-REPID
i_structure_name = 'IT_ORDERS'
it_fieldcat = FIELD_CAT2
i_callback_user_command = 'CALL_VA02'
TABLES
t_outtab = IT_ORDERS
EXCEPTIONS
program_error = 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.
REFRESH IT_ORDERS.
ENDCASE.
ENDFORM.
*& Form call_va02
text
-->SELFIELD text
FORM call_va02 USING ucom TYPE sy-ucomm
selfield TYPE slis_selfield.
DATA : wa_out2 LIKE LINE OF it_orders.
READ TABLE it_orders INDEX SELFIELD-TABINDEX INTO wa_out2.
SET PARAMETER ID 'AUN' FIELD WA_OUT2-VBELN.
CALL TRANSACTION 'VA02' .
ENDFORM. "call_va02
FORM build_fldcat2 CHANGING ix_fldcat TYPE slis_t_fieldcat_alv.
field_cat-fieldname = 'VBELN'.
field_cat-tabname = 'IT_ORDERS'.
field_cat-col_pos = 1.
field_cat-seltext_m = 'Order No.'.
field_cat-ddictxt = 'M'.
field_cat-outputlen = 15.
APPEND field_cat TO ix_fldcat.
CLEAR field_cat.
field_cat-fieldname = 'AUDAT'.
field_cat-tabname = 'IT_ORDERS'.
field_cat-col_pos = 2.
field_cat-seltext_m = 'Date'.
field_cat-ddictxt = 'M'.
field_cat-outputlen = 10.
APPEND field_cat TO ix_fldcat.
CLEAR field_cat.
field_cat-fieldname = 'KUNNR'.
field_cat-tabname = 'IT_ORDERS'.
field_cat-col_pos = 3.
field_cat-seltext_m = 'Dealer'.
field_cat-ddictxt = 'M'.
field_cat-outputlen = 10.
APPEND field_cat TO ix_fldcat.
CLEAR field_cat.
field_cat-fieldname = 'NAME1'.
field_cat-tabname = 'IT_ORDERS'.
field_cat-col_pos = 4.
field_cat-seltext_m = 'Name'.
field_cat-ddictxt = 'M'.
field_cat-outputlen = 25.
APPEND field_cat TO ix_fldcat.
CLEAR field_cat.
field_cat-fieldname = 'VSTEL'.
field_cat-tabname = 'IT_ORDERS'.
field_cat-col_pos = 5.
field_cat-seltext_m = 'Plant'.
field_cat-ddictxt = 'M'.
field_cat-outputlen = 5.
APPEND field_cat TO ix_fldcat.
CLEAR field_cat.
field_cat-fieldname = 'KWMENG'.
field_cat-tabname = 'IT_ORDERS'.
field_cat-col_pos = 6.
field_cat-seltext_m = 'Order Qty'.
field_cat-ddictxt = 'M'.
field_cat-outputlen = 10.
APPEND field_cat TO ix_fldcat.
CLEAR field_cat.
field_cat-fieldname = 'LSMENG'.
field_cat-tabname = 'IT_ORDERS'.
field_cat-col_pos = 7.
field_cat-seltext_m = 'Delivered Qty'.
field_cat-ddictxt = 'M'.
field_cat-outputlen = 15.
APPEND field_cat TO ix_fldcat.
CLEAR field_cat.
ENDFORM.
FORM get_dqty.
CLEAR n_dqty.
SELECT vbeln
posnn
vbelv
vbtyp_n
FROM vbfa
INTO TABLE it_delivery
WHERE vbelv = wa_output2-vbeln AND
vbtyp_n = 'J' AND
posnv = wa_output2-posnr.
LOOP AT it_delivery INTO wa_delivery.
SELECT vbeln
matnr
lfimg
FROM lips
INTO TABLE it_link
WHERE vbeln = wa_delivery-vbeln AND
posnr = wa_delivery-posnn.
LOOP AT it_link INTO wa_link.
n_dqty = n_dqty + wa_link-lfimg.
ENDLOOP.
ENDLOOP.
REFRESH: it_delivery, it_link.
ENDFORM.
Regards,
Chandresh.
Maybe you are looking for
-
Issue in free goods(inclusive method),urgent
i have raised sales order for free goods inclusive method.for 11items (10+1).but system showing price for tann item also.it should not show free of chrge item(tann),pls help me out on this. regards prasad
-
Terms of Payment (45) days
Hi Guyz, We are facing a problem in calculation of days Payment Terms. We are using PT (T45B - T/T 45 days from B/L date), the problem is system is not calculating 45 days from the Document day. In TC (OBB8) the configuration of (T45B) is configured
-
Import music from iPhone to Macbook after operating system reinstall
My Macbook Pro recently crashed and I had to reinstall the operating system. I lost all the music in itunes that I had ripped from cds. However all the music is still on my iphone. Why can't I just import all the music from my iphone back to itunes o
-
currently have a form that users will fill out using adobe reader 8 or 9. I am using acrobat 7 pro, and am aware as far as i know that i cannot extend rights to readers to sign, and save. (if you know a way this would be ideal please let me know) is
-
Reasons why Micro is better than the r
Having an argument wiht a friend. Help me out?