Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Report

Former Member
0 Likes
822

I was trying this report:

DATA: BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

LAND1 LIKE LFA1-LAND1,

NAME1 LIKE LFA1-NAME1,

END OF ITAB.

DATA : FNAM(10),FVAL(10).

*PROVIDE THE EVENT INITIALIZATION

INITIALIZATION.

VENDOR-LOW = 1000.

VENDOR-HIGH = 3000.

VENDOR-SIGN = 'I'.

VENDOR-OPTION = 'BT'.

APPEND VENDOR

*APPLY THE EVENT AT SELECTION SCREEN FOR VALIDATING INPUT VALUES WHICH

*WE DEFINED AT INITIALIZATION

AT SELECTION-SCREEN ON VENDOR.

IF VENDOR-LOW<1000 OR.

VENDOR-HIGH>3000.

MESSAGE EOOO(O) WITH 'ENTER BETWEEN 1000 AND 3000'.

END IF.

*PROVIDE THE EVENT START-OF-SELECTION FOR DISPLAY OUTPUT

START-OF-SELECTION.

SELECT LFNR LAND1 NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFRN IN VENDOR.

LOOP AT ITAB.

WRITE:/ITAB-LIFNR,ITAB-LAND1,ITAB-NAME1.

ENDLOOP.

Getting syntax-error at the Initiliazation statement....Please let me know where I am wrong....Also can someone please list commonly used statements in Reports...Thank you

1 ACCEPTED SOLUTION
Read only

raja_thangamani
Active Contributor
0 Likes
792

Hi,

I corrected your code..Its syntactically its correct now. You didnt mention what is VENDOR. For Testing purpose i used VENDOR as follows:

SELECT-OPTIONS: vendor FOR FNAM.

DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
LAND1 LIKE LFA1-LAND1,
NAME1 LIKE LFA1-NAME1,
END OF ITAB.
DATA : FNAM(10),FVAL(10).

SELECT-OPTIONS: vendor FOR FNAM.
*PROVIDE THE EVENT INITIALIZATION
INITIALIZATION.

VENDOR-LOW = 1000.
VENDOR-HIGH = 3000.
VENDOR-SIGN = 'I'.
VENDOR-OPTION = 'BT'.
APPEND VENDOR.

*APPLY THE EVENT AT SELECTION SCREEN FOR VALIDATING INPUT VALUES WHICH
*WE DEFINED AT INITIALIZATION
AT SELECTION-SCREEN ON VENDOR.
IF VENDOR-LOW < 1000 OR VENDOR-HIGH > 3000.
MESSAGE 'ENTER BETWEEN 1000 AND 3000' TYPE 'E'.
ENDIF.
*PROVIDE THE EVENT START-OF-SELECTION FOR DISPLAY OUTPUT
START-OF-SELECTION.
SELECT LIFNR LAND1 NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN VENDOR.
LOOP AT ITAB.
WRITE:/ ITAB-LIFNR,ITAB-LAND1,ITAB-NAME1.
ENDLOOP.

Raja T

9 REPLIES 9
Read only

Former Member
0 Likes
792

Hi

In ur query, wht is vendor? have u declare?

Read only

0 Likes
792

How do I declare vendor here...

Read only

0 Likes
792

You can declare as follows:

DATA: V_VENDOR TYPE LIFNR.
SELECT-OPTIONS: VENDOR FOR V_VENDOR.

<i>* Reward each useful answer</i>

Raja T

Message was edited by:

Raja Thangamani

Read only

raja_thangamani
Active Contributor
0 Likes
793

Hi,

I corrected your code..Its syntactically its correct now. You didnt mention what is VENDOR. For Testing purpose i used VENDOR as follows:

SELECT-OPTIONS: vendor FOR FNAM.

DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
LAND1 LIKE LFA1-LAND1,
NAME1 LIKE LFA1-NAME1,
END OF ITAB.
DATA : FNAM(10),FVAL(10).

SELECT-OPTIONS: vendor FOR FNAM.
*PROVIDE THE EVENT INITIALIZATION
INITIALIZATION.

VENDOR-LOW = 1000.
VENDOR-HIGH = 3000.
VENDOR-SIGN = 'I'.
VENDOR-OPTION = 'BT'.
APPEND VENDOR.

*APPLY THE EVENT AT SELECTION SCREEN FOR VALIDATING INPUT VALUES WHICH
*WE DEFINED AT INITIALIZATION
AT SELECTION-SCREEN ON VENDOR.
IF VENDOR-LOW < 1000 OR VENDOR-HIGH > 3000.
MESSAGE 'ENTER BETWEEN 1000 AND 3000' TYPE 'E'.
ENDIF.
*PROVIDE THE EVENT START-OF-SELECTION FOR DISPLAY OUTPUT
START-OF-SELECTION.
SELECT LIFNR LAND1 NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN VENDOR.
LOOP AT ITAB.
WRITE:/ ITAB-LIFNR,ITAB-LAND1,ITAB-NAME1.
ENDLOOP.

Raja T

Read only

0 Likes
792

Hi Raja thanx for the changes could you explain the changes you have done....

Read only

0 Likes
792

I mentioned the change with *--->

DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
LAND1 LIKE LFA1-LAND1,
NAME1 LIKE LFA1-NAME1,
END OF ITAB.
DATA : FNAM(10),FVAL(10).

* --> VENDOR was not declared
DATA: V_VENDOR TYPE LIFNR.
SELECT-OPTIONS: VENDOR FOR V_VENDOR.
*PROVIDE THE EVENT INITIALIZATION
INITIALIZATION.

  VENDOR-LOW = 1000.
  VENDOR-HIGH = 3000.
  VENDOR-SIGN = 'I'.
  VENDOR-OPTION = 'BT'.
* --> Here DOT was missing.  
  APPEND VENDOR.

*APPLY THE EVENT AT SELECTION SCREEN FOR VALIDATING INPUT VALUES WHICH
*WE DEFINED AT INITIALIZATION
AT SELECTION-SCREEN ON VENDOR.
* --> I corrected below statements  
  IF VENDOR-LOW < 1000 OR VENDOR-HIGH > 3000.
* --> ERror message syntax was wrong    
    MESSAGE 'ENTER BETWEEN 1000 AND 3000' TYPE 'E'.
  ENDIF.
*PROVIDE THE EVENT START-OF-SELECTION FOR DISPLAY OUTPUT
START-OF-SELECTION.
  SELECT LIFNR LAND1 NAME1 FROM LFA1 INTO TABLE ITAB WHERE LIFNR IN VENDOR.
  LOOP AT ITAB.
    WRITE:/ ITAB-LIFNR,ITAB-LAND1,ITAB-NAME1.
  ENDLOOP.

<b>* Reward each answer if its useful..</b>

Raja T

Read only

0 Likes
792

The report when executed display all vendors..But If I want to see range of vendors..like between 1000 and 3000... What are the modifications done...

Read only

0 Likes
792

Hi,

The below code will show vendors between 1000 & 3000.

 VENDOR-LOW = 1000.
  VENDOR-HIGH = 3000.
  VENDOR-SIGN = 'I'.
  VENDOR-OPTION = 'BT'.
  APPEND VENDOR.

Raja T

Read only

0 Likes
792

hi,

in the select option enter the Range from 1000 to 3000.

Raja T