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

For all entries example !

Former Member
0 Likes
776

Please gimme an example of for all entries for three tables with out using join statement !

6 REPLIES 6
Read only

Former Member
0 Likes
737

Hi,

Check out this code.

FIELD-SYMBOLS: <fs_cont> TYPE ty_cont,

<fs_contract> TYPE ty_contract.

REFRESH: lt_contract,lt_cont,lt_project1,lt_veda.

CHECK lt_project[] IS NOT INITIAL.

lt_project1[] = lt_project[].

DELETE lt_project1 WHERE aufnr IS INITIAL.

SELECT vbeln posnr netwr aufnr waerk

FROM vbap

INTO TABLE lt_contract

FOR ALL ENTRIES IN lt_project1

WHERE aufnr = lt_project1-aufnr.

IF sy-subrc = 0.

SORT lt_contract BY vbeln posnr.

SELECT vbeln kunnr vsbed auart

FROM vbak

INTO TABLE lt_cont

FOR ALL ENTRIES IN lt_contract

WHERE vbeln = lt_contract-vbeln.

IF sy-subrc = 0.

SELECT kunnr name1

FROM kna1

INTO TABLE lt_kna1

FOR ALL ENTRIES IN lt_cont

WHERE kunnr = lt_cont-kunnr.

SELECT vbeln vbegdat venddat

FROM veda

INTO TABLE lt_veda

FOR ALL ENTRIES IN lt_cont

WHERE vbeln = lt_cont-vbeln.

  • IF sy-subrc = 0.

LOOP AT lt_cont ASSIGNING <fs_cont>.

CLEAR lw_veda.

READ TABLE lt_veda INTO lw_veda WITH KEY

vbeln = <fs_cont>-vbeln.

IF sy-subrc = 0.

<fs_cont>-vbegdat = lw_veda-vbegdat.

<fs_cont>-venddat = lw_veda-venddat.

ENDIF.

CLEAR lw_kna1.

READ TABLE lt_kna1 INTO lw_kna1 WITH KEY

kunnr = <fs_cont>-kunnr.

IF sy-subrc = 0.

<fs_cont>-name1 = lw_kna1-name1.

ENDIF.

ENDLOOP.

LOOP AT lt_contract ASSIGNING <fs_contract>.

CLEAR lw_cont.

READ TABLE lt_cont INTO lw_cont WITH KEY

vbeln = <fs_contract>-vbeln.

IF sy-subrc = 0.

<fs_contract>-kunnr = lw_cont-kunnr.

<fs_contract>-vsbed = lw_cont-vsbed.

<fs_contract>-vbegdat = lw_cont-vbegdat.

<fs_contract>-venddat = lw_cont-venddat.

<fs_contract>-name1 = lw_cont-name1.

<fs_contract>-auart = lw_cont-auart.

ENDIF.

ENDLOOP.

  • ENDIF.

ENDIF.

ENDIF.

Read only

Former Member
0 Likes
737

hi jyotir,

try this one.

&----


*& Report ZSURINNERJOIN

*&

&----


*&

*&

&----


REPORT ZSURINNERJOIN message-id z_message.

TYPES: BEGIN OF TYP_STU,

Z_STUDID TYPE I,

Z_STUDENTNAME TYPE ZSTUD2-Z_STUDENTNAME,

ZADDRESS TYPE ZEMPDETAIL-ZADDRESS,

END OF TYP_STU.

TYPE-POOLS SLIS.

DATA: IT_STU TYPE STANDARD TABLE OF TYP_STU,

WA_STU TYPE TYP_STU.

DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

GT_SORT TYPE SLIS_T_SORTINFO_ALV,

GW_SORT TYPE SLIS_SORTINFO_ALV,

GT_LAYOUT TYPE SLIS_LAYOUT_ALV,

GT_HEADING TYPE SLIS_T_LISTHEADER,

GT_COLOR TYPE SLIS_SPECIALCOL_ALV,

GT_EVENT TYPE SLIS_T_EVENT.

TABLES: ZSTUD1, ZSTUD2, ZEMPDETAIL.

  • PARAMETER: STUDENT TYPE ZSTUD1-Z_STUDID.

  • INITIALIZATION.

select-options STUDENT for zstud1-z_studid.

START-OF-SELECTION.

PERFORM DISPLAY.

PERFORM SETHEADER USING GT_HEADING GT_EVENT.

  • perform get_data.

PERFORM GETSORT.

PERFORM GETLAYOUT.

perform get_fieldcatlog.

perform display_list.

TOP-OF-PAGE .

WRITE / 'STUDENT DETAILS'.

ULINE.

FORM DISPLAY.

SELECT AZ_STUDID BZ_STUDENTNAME C~ZADDRESS

INTO TABLE IT_STU

FROM ( ( ZSTUD1 AS A

INNER JOIN ZSTUD2 AS B

ON AZ_STUDID = BZ_STUDID )

INNER JOIN ZEMPDETAIL AS C

ON AZ_STUDID = CZEMPID

AND CZEMPID = BZ_STUDID )

WHERE A~Z_STUDID IN STUDENT.

IF SY-SUBRC <> 0.

MESSAGE E001.

ELSE.

LOOP AT IT_STU INTO WA_STU.

WRITE : / WA_STU-Z_STUDID, WA_STU-Z_STUDENTNAME, WA_STU-ZADDRESS.

ENDLOOP.

ENDIF.

ENDFORM.

END-OF-PAGE.

&----


*& Form SETHEADER

&----


  • text

----


  • -->P_GT_HEADING text

  • -->P_GT_EVENT text

----


FORM SETHEADER USING P_GT_HEADING

P_GT_EVENT.

DATA : GW_HEADING TYPE SLIS_LISTHEADER,

GW_EVENT TYPE SLIS_ALV_EVENT.

CLEAR : GW_HEADING,

GW_EVENT.

GW_HEADING-TYP = 'H'.

GW_HEADING-INFO = 'A SIMPLE GRID DISPLAY'.

APPEND GW_HEADING TO GT_HEADING.

CLEAR GW_HEADING.

GW_HEADING-TYP = 'S'.

GW_HEADING-KEY = 'Program Name : '.

GW_HEADING-INFO = SY-REPID.

APPEND GW_HEADING TO GT_HEADING.

CLEAR GW_HEADING.

GW_HEADING-TYP = 'S'.

GW_HEADING-KEY = 'User Name : '.

GW_HEADING-INFO = SY-UNAME.

APPEND GW_HEADING TO GT_HEADING.

CLEAR GW_HEADING.

GW_HEADING-TYP = 'S'.

GW_HEADING-KEY = 'Date : '.

*GW_HEADING-INFO = SY-DATUM.

WRITE SY-DATUM TO GW_HEADING-INFO.

APPEND GW_HEADING TO GT_HEADING.

CLEAR GW_HEADING.

GW_HEADING-TYP = 'S'.

GW_HEADING-KEY = 'Time : '.

GW_HEADING-INFO = SY-UZEIT.

APPEND GW_HEADING TO GT_HEADING.

CLEAR GW_EVENT.

GW_EVENT-NAME = SLIS_EV_TOP_OF_PAGE .

GW_EVENT-FORM = 'TOP_OF_PAGE'.

APPEND GW_EVENT TO GT_EVENT.

ENDFORM. " SETHEADER

  • &---------------------------------------------------------------------

*& Form GETSORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETSORT .

CLEAR GT_SORT.

GW_SORT-FIELDNAME = 'ZADDRESS'.

GW_SORT-TABNAME = '1'.

GW_SORT-SPOS = '1'.

GW_SORT-UP = 'X'.

GW_SORT-SUBTOT = 'X'.

APPEND GW_SORT TO GT_SORT.

ENDFORM. " GETSORT

&----


*& Form get_fieldcatlog

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_fieldcatlog .

data: v_fieldcat type slis_fieldcat_alv.

data: pos type i value 1.

define field_cat.

clear v_fieldcat.

v_fieldcat-col_pos = pos.

v_fieldcat-fieldname = &1.

v_fieldcat-ref_fieldname = &2.

v_fieldcat-ref_tabname = &3.

v_fieldcat-key = &4.

  • V_FIELDCAT-DO_SUM = 'X'.

append v_fieldcat to it_fieldcat.

pos = pos + 1.

end-of-definition.

FIELD_CAT:

  • 'Z_STUDID' 'Z_STUDID' 'ZSTUD1' 'X',

'Z_STUDENTNAME' 'Z_STUDENTNAME' 'ZSTUD2' 'X'.

  • 'ZADDRESS' 'ZADDRESS' 'ZEMPDETAIL' SPACE.

CLEAR V_FIELDCAT.

V_FIELDCAT-FIELDNAME = 'Z_STUDID'.

V_FIELDCAT-DO_SUM = 'X'.

V_FIELDCAT-REF_FIELDNAME = 'Z_STUDID'.

V_FIELDCAT-REF_TABNAME = 'ZSTUD1'.

**V_FIELDCAT-SELTEXT_L = 'STUDENT ID'.

**V_FIELDCAT-SELTEXT_M = 'STUDENT ID'.

**V_FIELDCAT-SELTEXT_S = 'STUDENT ID'.

APPEND V_FIELDCAT TO IT_FIELDCAT.

CLEAR V_FIELDCAT.

V_FIELDCAT-FIELDNAME = 'ZADDRESS'.

V_FIELDCAT-SELTEXT_L = 'Employee Address'.

V_FIELDCAT-SELTEXT_M = 'Employee Address'.

V_FIELDCAT-SELTEXT_S = 'Employee Address'.

APPEND V_FIELDCAT TO IT_FIELDCAT.

ENDFORM. " get_fieldcatlog

&----


*& Form GETLAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETLAYOUT .

GT_LAYOUT-NO_INPUT = 'X'.

GT_LAYOUT-ZEBRA = 'X'.

GT_LAYOUT-WINDOW_TITLEBAR = 'STUDENTS INFORMATION'.

ENDFORM. " GETLAYOUT

&----


*& Form display_list

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display_list .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

  • 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 = 'SIMPLE GRID DISPLAY'

  • I_GRID_SETTINGS =

IS_LAYOUT = GT_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = GT_SORT

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = GT_EVENT

  • 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

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_STU

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.

ENDFORM. " display_list

FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = GT_HEADING

  • I_LOGO =

  • I_END_OF_LIST_GRID =

  • I_ALV_FORM =

.

ENDFORM.

rgds,

guna.

Read only

George_Lioumis
Active Participant
0 Likes
737

Hi.

Check this.

data: begin of i_matnr occurs 0,

matnr type matnr,

end of i_matnr,

i_marc like marc occurs 0 with header line.

select matnr from mara

into corresponding fields of table i_matnr.

if not i_matnr[] is initial.

select * from marc

for all entries in i_matnr

into corresponding fields of table i_marc

where matnr = i_matnr-matnr.

endif.

...and so ... on....

NOTE that IF I_MATNR table is empty, the select in MARC will return EVERYTHING as in this case the "for all entries " will be executed as if you had the following:

select-options: s_matnr for mara-matnr.

select * from marc

into corresponding fields of table i_marc

where matnr = s_matnr.

Reward if helpful,

Regards,

George

Read only

Former Member
0 Likes
737

Hi,

Below given simple example for your reqt.

************************************************************

REPORT zstemp_qty2_ .

TABLES:mara.

DATA:it_makt LIKE makt OCCURS 0 WITH HEADER LINE.

DATA:it_ekko LIKE ekko OCCURS 0 WITH HEADER LINE.

DATA:it_ekpo LIKE ekpo OCCURS 0 WITH HEADER LINE.

START-OF-SELECTION.

SELECT * FROM ekko INTO TABLE it_ekko

UP TO 100 ROWS.

IF NOT it_ekko[] IS INITIAL.

SELECT * FROM ekpo INTO TABLE it_ekpo

FOR ALL ENTRIES IN it_ekko

WHERE ebeln = it_ekko-ebeln.

ENDIF.

SORT it_ekpo BY ebeln.

DELETE ADJACENT DUPLICATES FROM it_ekpo COMPARING ebeln.

IF NOT it_ekpo[] IS INITIAL.

SELECT * FROM makt INTO TABLE it_makt

FOR ALL ENTRIES IN it_ekpo

WHERE matnr = it_ekpo-matnr.

ENDIF.

LOOP AT it_makt.

WRITE:/ it_makt-matnr,it_makt-maktx.

ENDLOOP.

****************************************

Regds

Sivaparvatrhi

Please dont forget to reward points if helpful

Read only

arpit_shah
Contributor
0 Likes
737

check this...

SELECT vbeln

posnr

bstkd

bstdk

inco1

inco2

zterm

lcnum

prsdt

FROM vbkd

INTO TABLE i_vbkd

FOR ALL ENTRIES IN i_vbak1

WHERE vbeln EQ i_vbak1-vbeln.

SELECT spras

zterm

vtext

FROM tvzbt

INTO TABLE i_tvzbt

FOR ALL ENTRIES IN i_vbkd

WHERE zterm EQ i_vbkd-zterm

AND spras EQ 'EN'.

Read only

Former Member
0 Likes
737

Hi,

Please chk the following code. In Form get_data routine you find the FOR ALL ENTRIES .

&----


*& Report Z_50797_SD_REPT_ASSIGNMENT1

&----


REPORT Z_50797_SD_REPT_ASSIGNMENT1 LINE-SIZE 85

NO STANDARD PAGE HEADING

MESSAGE-ID ZKVS.

*-----TABLES DECLARATION

TABLES : KNA1. "Customer Master

  • VBAK, "Sales Document Header

  • VBAP, "Sales Document Item

  • SSCRFIELDS. "Screen Field Table

&----


*& TYPES DECARATION *

&----


*----- Types declaration for kna1

TYPES : BEGIN OF ST_KNA1,

KUNNR TYPE KNA1-KUNNR, "Customer Number

LAND1 TYPE KNA1-LAND1, "Country Key

NAME1 TYPE KNA1-NAME1, "Name

ORT01 TYPE KNA1-ORT01, "City

END OF ST_KNA1.

*------ Types declaration for kna2

TYPES : BEGIN OF ST_KNA2,

KUNNR TYPE KNA1-KUNNR, "Customer Number

LAND1 TYPE KNA1-LAND1, "Country Key

NAME1 TYPE KNA1-NAME1, "Name

ORT01 TYPE KNA1-ORT01, "City

END OF ST_KNA2.

*----- Types declaration for vbak

TYPES : BEGIN OF ST_VBAK,

KUNNR TYPE VBAK-KUNNR, "Customer Number

VBELN TYPE VBAK-VBELN, "Sales Document

ERDAT TYPE VBAK-ERDAT, "Date

ERNAM TYPE VBAK-ERNAM, "Name of Person

AUART TYPE VBAK-AUART, "Sales Document Type

END OF ST_VBAK.

*----- Types declaration for vbap

TYPES : BEGIN OF ST_VBAP,

VBELN TYPE VBAP-VBELN, "Sales Document

POSNR TYPE VBAP-POSNR, "Sales Document Item

MATNR TYPE VBAP-MATNR, "Material Number

MATKL TYPE VBAP-MATKL, "Material group

END OF ST_VBAP.

*----- Internal Table Declaration

DATA : IT_KNA1 TYPE STANDARD TABLE OF ST_KNA1,

IT_KNA2 TYPE STANDARD TABLE OF ST_KNA2,

IT_VBAP TYPE STANDARD TABLE OF ST_VBAP,

IT_VBAK TYPE STANDARD TABLE OF ST_VBAK.

*------ Work Area Declaration

DATA : WA_KNA1 LIKE LINE OF IT_KNA1,

WA_KNA2 LIKE LINE OF IT_KNA2,

WA_VBAK LIKE LINE OF IT_VBAK,

WA_VBAP LIKE LINE OF IT_VBAP.

*----- Constants Declaration

DATA : V_COUNT TYPE INT4, "Current Row Index

V_LINE LIKE SY-LISEL, "Contents of selected line

V_LINE1 LIKE SY-LISEL, "Contents of selected line

v_lilli like sy-lilli, "Line no where the action is fired

V_KUNNR(10),

V_VBELN(10),

V_FLD(20).

*----- Selection Screen

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS : SO_KUNNR FOR KNA1-KUNNR OBLIGATORY.

PARAMETERS : P_HITS(3) TYPE C.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : R2 RADIOBUTTON GROUP G1.

SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.

SELECTION-SCREEN END OF LINE.

PARAMETERS: P_FILE TYPE RLGRAP-FILENAME DEFAULT 'c:\test'.

SELECTION-SCREEN PUSHBUTTON /33(10) CUSTL USER-COMMAND PUSH1.

SELECTION-SCREEN PUSHBUTTON 58(10) CUSTD USER-COMMAND PUSH2.

SELECTION-SCREEN END OF BLOCK B1.

*-----Initialization

INITIALIZATION.

MOVE 'LOAD' TO CUSTL.

MOVE 'DISP' TO CUSTD.

*------At Selection screen

AT SELECTION-SCREEN.

PERFORM VALIDATE_KUNNR.

*------At Selection Screen on Value Request

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

*------Function module to get flle from presentation server

*

  • CALL FUNCTION 'F4_FILENAME'

  • EXPORTING

  • PROGRAM_NAME = SYST-CPROG

  • DYNPRO_NUMBER = SYST-DYNNR

  • FIELD_NAME = ' '

  • IMPORTING

  • FILE_NAME = P_FILE.

*------ Start of Selection

START-OF-SELECTION.

*SET PF-STATUS 'KVS2'.

PERFORM GET_DATA.

IF SY-SUBRC = 0.

LOOP AT IT_KNA2 INTO WA_KNA2.

WRITE : /1 SY-VLINE,

2 WA_KNA2-KUNNR,

14 SY-VLINE,

16 WA_KNA2-LAND1,

25 SY-VLINE,

26 WA_KNA2-NAME1,

42 SY-VLINE,

43 WA_KNA2-ORT01,

60 SY-VLINE.

ULINE AT :/1(60).

ENDLOOP.

CLEAR WA_KNA2.

ELSE.

MESSAGE 'NO RECORDS FOUND'(020) TYPE 'I'.

ENDIF.

*------ Top of Page

TOP-OF-PAGE.

*------Function Module to get title

CALL FUNCTION 'ZLINE_PARAMETER'

EXPORTING

P_LINEWIDTH = 85

P_TITLE = SY-TITLE.

  • EXCEPTIONS

  • INVALID_LINE_SIZE = 1

  • OTHERS = 2

FORMAT COLOR COL_HEADING.

ULINE AT :/1(60).

WRITE: /1 SY-VLINE,

2 'Cust Number'(006),

14 SY-VLINE,

16 'Country'(007),

25 SY-VLINE,

26 'City'(008),

42 SY-VLINE,

43 'Region'(009),

60 SY-VLINE.

ULINE AT :/1(60).

FORMAT COLOR COL_HEADING OFF.

*------- Top of page during line selection

TOP-OF-PAGE DURING LINE-SELECTION.

IF SY-LSIND EQ 1.

FORMAT COLOR COL_HEADING.

SKIP 2.

WRITE : /1 'SALES ORDER HEADER DETAILS'.

ULINE AT :/1(60).

WRITE : /1 SY-VLINE,

2 'Customer No'(010),

13 SY-VLINE,

14 'Sales Order'(011),

26 SY-VLINE,

27 'Date'(012),

38 SY-VLINE,

39 'Name'(013),

52 SY-VLINE,

53 'DType'(014),

60 SY-VLINE.

ULINE AT :/1(60).

ELSEIF

SY-LSIND EQ 2 OR SY-UCOMM EQ 'Sales'(019).

SET PF-STATUS SPACE.

FORMAT COLOR COL_HEADING.

SKIP 2.

WRITE : /1 'SALES ORDER ITEM DETAILS'.

ULINE AT : /1(60).

WRITE : /1 SY-VLINE,

2 'Docu No.'(015),

14 SY-VLINE,

16 'Sales Item'(021),

26 SY-VLINE,

27 'Mat No'(022),

42 SY-VLINE,

43 'Mat Grp'(018),

60 SY-VLINE.

ULINE AT :/1(60).

ENDIF.

*----- At line selection

AT LINE-SELECTION.

IF SY-LSIND = 1.

SET PF-STATUS 'KVS1'.

PERFORM SALES_HEADER.

ELSEIF

SY-LSIND = 2.

SET PF-STATUS SPACE.

GET CURSOR FIELD V_FLD VALUE V_VBELN.

IF V_FLD = 'WA_VBAK-VBELN'.

PERFORM SALES_ITEM.

ELSE.

MESSAGE 'Please choose Sales Document'(016) TYPE 'I'.

ENDIF.

ENDIF.

*-------At user-command

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'SALES'.

GET CURSOR FIELD V_FLD VALUE V_VBELN.

IF V_FLD = 'WA_VBAK-VBELN'.

PERFORM SALES_ITEM.

ELSE.

MESSAGE 'Please choose Sales Document'(017) TYPE 'I'.

ENDIF.

WHEN 'DISP'.

GET CURSOR FIELD V_FLD VALUE V_VBELN.

IF V_FLD = 'WA_VBAK-VBELN'.

PERFORM DISP_DOCU.

ELSE.

MESSAGE 'Please choose Sales Document'(017) TYPE 'I'.

ENDIF.

ENDCASE.

&----


*& Form VALIDATE_KUNNR

&----


FORM VALIDATE_KUNNR .

SELECT KUNNR

FROM KNA1

INTO TABLE IT_KNA1

WHERE KUNNR = SO_KUNNR.

ENDFORM. " VALIDATE_KUNNR

&----


*& Form SALES_HEADER

&----


FORM SALES_HEADER .

GET CURSOR LINE V_LILLI VALUE V_LINE.

V_KUNNR = V_LINE+1(10).

*----- This FM Converts the value

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = V_KUNNR

IMPORTING

OUTPUT = V_KUNNR.

LOOP AT IT_VBAK INTO WA_VBAK WHERE KUNNR = V_KUNNR.

WRITE : /1 SY-VLINE,

2 WA_VBAK-KUNNR,

13 SY-VLINE,

14 WA_VBAK-VBELN,

26 SY-VLINE,

27 WA_VBAK-ERDAT,

38 SY-VLINE,

39 WA_VBAK-ERNAM,

52 SY-VLINE,

53 WA_VBAK-AUART,

60 SY-VLINE.

ULINE AT :/1(60).

ENDLOOP.

IF SY-SUBRC <> 0.

MESSAGE 'NO SALES DOCUMENT FOR THE CUSTOMER'(031) TYPE 'I'.

ENDIF.

ENDFORM. " SALES_HEADER

&----


*& Form SALES_ITEM

&----


FORM SALES_ITEM.

GET CURSOR LINE V_LILLI VALUE V_LINE1.

V_VBELN = V_LINE1+13(10).

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = V_VBELN

IMPORTING

OUTPUT = V_VBELN.

LOOP AT IT_VBAP INTO WA_VBAP WHERE VBELN = V_VBELN.

WRITE : /1 SY-VLINE,

2 WA_VBAP-VBELN,

14 SY-VLINE,

16 WA_VBAP-POSNR,

26 SY-VLINE,

27 WA_VBAP-MATNR,

42 SY-VLINE,

43 WA_VBAP-MATKL,

60 SY-VLINE.

ULINE AT :/1(60).

ENDLOOP.

CLEAR WA_VBAP.

IF SY-SUBRC <> 0.

MESSAGE 'SALES ITEM DOESNOT EXIST' TYPE 'I'.

ENDIF.

ENDFORM. " SALES_ITEM

&----


*& Form DISP_DOCU

&----


FORM DISP_DOCU.

GET CURSOR LINE V_LILLI VALUE V_LINE.

V_KUNNR = V_LINE+1(10).

V_VBELN = V_LINE+13(10).

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = V_KUNNR

IMPORTING

OUTPUT = V_KUNNR.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = V_VBELN

IMPORTING

OUTPUT = V_VBELN.

READ TABLE IT_VBAK INTO WA_VBAK WITH KEY VBELN = V_VBELN.

SET PARAMETER ID 'AUN' FIELD WA_VBAK-VBELN.

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

ENDFORM. " DISP_DOCU

&----


*& Form get_data

&----


FORM GET_DATA.

SELECT KUNNR LAND1 NAME1 ORT01

FROM KNA1

INTO TABLE IT_KNA1

WHERE KUNNR IN SO_KUNNR.

IF SY-SUBRC <> 0.

MESSAGE 'NO DATA FOR THE SELECTION' TYPE 'I'.

ELSE.

LOOP AT IT_KNA1 INTO WA_KNA1.

V_COUNT = V_COUNT + 1.

IF V_COUNT <= P_HITS.

MOVE WA_KNA1 TO WA_KNA2.

APPEND WA_KNA2 TO IT_KNA2.

ELSE.

EXIT.

ENDIF.

ENDLOOP.

ENDIF.

IF NOT IT_KNA2[] IS INITIAL.

SELECT KUNNR VBELN ERDAT ERNAM AUART

FROM VBAK

INTO TABLE IT_VBAK

FOR ALL ENTRIES IN IT_KNA2

WHERE KUNNR = IT_KNA2-KUNNR.

IF NOT IT_VBAK[] IS INITIAL.

SELECT VBELN POSNR MATNR MATKL

FROM VBAP

INTO TABLE IT_VBAP

FOR ALL ENTRIES IN IT_VBAK

WHERE VBELN = IT_VBAK-VBELN.

ENDIF.

ENDIF.

ENDFORM. "GET_DATA