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

map the two fields

Former Member
0 Likes
1,073

How can i map the two fields kna1-kunnr(10)and ihpa-parnr(12) ,these fields have different field lengths.

thanks in advance.

Ramreddy.

8 REPLIES 8
Read only

Former Member
0 Likes
1,005

you can do like this ,

field1 = field2+0(10).

regards,

venkat.

Edited by: venkat appikonda on Feb 25, 2008 4:36 PM

Read only

0 Likes
1,005

but , its giving worning error.

will it give any problem, when i run that program?

Read only

0 Likes
1,005

post the code, so we can know what you're trying to get

Read only

0 Likes
1,005

&----


*& Report Z_ALV_EQUIMENT

*&

&----


*&

*&

&----


REPORT z_alv_equiment.

TABLES : equi, afko, qmel, vbap, ihpa, kna1, knvp, knvv, jcds.

TYPE-POOLS : slis.

&----


*& OUTPUT STRUCTURE DECLARATION.

*&

&----


TYPES : BEGIN OF ty_output,

eqart TYPE eqart,

matnr TYPE matnr,

ANLNR TYPE ANLN1,

gltrp TYPE co_gltrp,

NETPR TYPE NETPR,

PARNR TYPE I_PARNR,

vbeln TYPE kdauf,

name1 TYPE name1,

stras TYPE stras_gp,

katr6 TYPE katr6,

parvw TYPE parvw,

vkbur TYPE vkbur,

STAT TYPE J_STATUS,

END OF ty_output.

TYPES : BEGIN OF ty_equi,

eqart TYPE eqart,

matnr TYPE matnr,

ANLNR TYPE ANLN1,

ILOAN TYPE ILOAN,

objnr type j_objnr,

END OF ty_equi.

TYPES : BEGIN OF TY_AFKO,

GLTRP TYPE CO_GLTRP,

END OF TY_AFKO.

TYPES : BEGIN OF TY_QMEL,

VBELN TYPE KDAUF,

END OF TY_QMEL.

TYPES : BEGIN OF TY_VBAP,

NETPR TYPE NETPR,

END OF TY_VBAP.

TYPES : BEGIN OF TY_IHPA,

PARNR TYPE I_PARNR,

END OF TY_IHPA.

TYPES : BEGIN OF ty_kna1,

name1 TYPE name1,

stras TYPE stras_gp,

katr6 TYPE KATR6,

END OF ty_kna1.

TYPES : BEGIN OF TY_KNVP,

PARVW TYPE PARVW,

END OF TY_KNVP.

TYPES : BEGIN OF TY_KNVV,

VKBUR TYPE VKBUR,

vkorg type vkorg,

END OF TY_KNVV.

types : begin of ty_jcds,

STAT TYPE J_STATUS,

END OF TY_JCDS.

&----


*& INTERNAL TABLE DECLARATION.

*&

&----


DATA : i_output TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0,

i_equi TYPE STANDARD TABLE OF ty_equi INITIAL SIZE 0,

i_AFKO TYPE STANDARD TABLE OF ty_AFKO INITIAL SIZE 0,

i_QMEL TYPE STANDARD TABLE OF ty_QMEL INITIAL SIZE 0,

i_VBAP TYPE STANDARD TABLE OF ty_VBAP INITIAL SIZE 0,

i_IHPA TYPE STANDARD TABLE OF ty_IHPA INITIAL SIZE 0,

i_kna1 TYPE STANDARD TABLE OF ty_kna1 INITIAL SIZE 0,

i_KNVP TYPE STANDARD TABLE OF ty_KNVP INITIAL SIZE 0,

i_KNVV TYPE STANDARD TABLE OF ty_KNVV INITIAL SIZE 0,

i_JCDS TYPE STANDARD TABLE OF ty_JCDS INITIAL SIZE 0.

&----


*& WORK AREA DECLARATION.

*&

&----


DATA: wa_output TYPE ty_output,

wa_equi TYPE ty_equi,

WA_AFKO TYPE AFKO,

WA_QMEL TYPE TY_QMEL,

WA_VBAP TYPE TY_VBAP,

WA_IHPA TYPE TY_IHPA,

wa_kna1 TYPE ty_kna1,

WA_KNVP TYPE TY_KNVP,

WA_KNVV TYPE TY_KNVV,

WA_JCDS TYPE TY_JCDS.

DATA: i_FCAT TYPE slis_t_fieldcat_alv.

data : is_fcat type slis_fieldcat_alv.

  • data : cat type slis_fieldcat_alv.

*

DATA: LAYOUT TYPE slis_layout_alv.

DATA: EVE TYPE slis_t_event WITH HEADER LINE.

DATA: HEAD TYPE slis_t_listheader WITH HEADER LINE.

DATA: SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.

&----


*&SELECTION-SCREEN

*&

&----


SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text_001.

SELECT-OPTIONS : s_eqart FOR equi-eqart,

s_matnr FOR equi-matnr,

s_netpr FOR vbap-netpr,

s_anlnr FOR wa_equi-anlnr,

s_vbeln FOR qmel-vbeln,

s_gltrp FOR afko-gltrp,

s_parnr FOR ihpa-parnr,

s_name1 FOR kna1-name1,

s_katr6 FOR kna1-katr6,

s_parvw FOR knvp-parvw,

s_vkbur FOR knvv-vkbur,

s_stat FOR jcds-stat.

SELECTION-SCREEN END OF BLOCK b1.

SELECT EQUIEQART EQUIMATNR EQUZILOAN ILOAANLNR

INTO TABLE I_EQUI FROM EQUI INNER JOIN EQUZ ON

EQUIEQUNR = EQUZEQUNR

INNER JOIN ILOA ON

EQUZILOAN = ILOAILOAN

WHERE EQART IN S_EQART AND ANLNR IN S_ANLNR and SUBMT in s_matnr.

select parnr

from

ihpa

into table i_ihpa for all entries in i_equi

where objnr = i_equi-objnr AND PARNR IN S_PARNR.

  • select

  • parvw

  • from knvp

  • into table i_knvp for all entries in i_ihpa

  • where parvw = i_ihpa-parvw.

*

select kunnr

name1

stras

katr6

from kna1

into table i_kna1 for all entries in i_ihpa

where kunnr = i_ihpa-parnr+0(10).

select

vkbur

from knvv

into table i_knvv for all entries in i_ihpa

where kunnr = i_ihpa-parnr+0(10).

select

parvw

from knvp

into table i_knvp for all entries in i_knvv

where vkorg = i_knvv-vkorg.

is_fcat-fieldname = 'EQART'.

is_fcat-seltext_m = 'EQUIPMENT TYPE'.

is_fcat-col_pos = '1'.

is_fcat-outputlen = '10'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'MATNR'.

is_fcat-seltext_m = 'MATERIAL NUMBER'.

is_fcat-col_pos = '2'.

is_fcat-outputlen = '18'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'ANLNR'.

is_fcat-seltext_m = 'Name'.

is_fcat-col_pos = '3'.

is_fcat-outputlen = '12'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'GLTRP'.

is_fcat-seltext_m = 'PLACEMENT DATE'.

is_fcat-col_pos = '4'.

is_fcat-outputlen = '8'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'VBELN'.

is_fcat-seltext_m = 'SALES DOCMENT NUMBER'.

is_fcat-col_pos = '5'.

is_fcat-outputlen = '10'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'NETPR'.

is_fcat-seltext_m = 'NET PRICE'.

is_fcat-col_pos = '6'.

is_fcat-outputlen = '12'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'PARNR'.

is_fcat-seltext_m = 'PARTNER CODE'.

is_fcat-col_pos = '7'.

is_fcat-outputlen = '12'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'NAME1'.

is_fcat-seltext_m = 'CUSTOMER NAME'.

is_fcat-col_pos = '8'.

is_fcat-outputlen = '35'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'STRAS'.

is_fcat-seltext_m = 'STREET'.

is_fcat-col_pos = '9'.

is_fcat-outputlen = '35'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'KATR1'.

is_fcat-seltext_m = 'CHANNEL CODE'.

is_fcat-col_pos = '10'.

is_fcat-outputlen = '3'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'PARVW'.

is_fcat-seltext_m = 'BNAME'.

is_fcat-col_pos = '11'.

is_fcat-outputlen = '2'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'VKBUR'.

is_fcat-seltext_m = 'Name'.

is_fcat-col_pos = '12'.

is_fcat-outputlen = '4'.

append is_fcat to i_fcat.

clear is_fcat.

is_fcat-fieldname = 'STAT'.

is_fcat-seltext_m = 'EQUIPMENT STATUS'.

is_fcat-col_pos = '13'.

is_fcat-outputlen = '5'.

append is_fcat to i_fcat.

clear is_fcat.

Read only

0 Likes
1,005

You could do it, its just a warning.

what kind of warning are you getting?

Read only

0 Likes
1,005

Its giving error in german langauge i.e.

Bei der Verwendung von FOR ALL ENTRIES wird die Längenangabe für

"PARNR" in dieser Bedingung ignoriert.

Read only

0 Likes
1,005

I don't know if its possible to use offset and lenght in a select query... Anyone knows about it?

I would suggest to add a 10 character field to your internat table i_hpa, do a loop after the select to ihpa to put parn in the 10 character field and then just use that field in the next wheres

like this


TYPES : BEGIN OF TY_IHPA,
PARNR TYPE I_PARNR,
fparn(10) type c,
END OF TY_IHPA.

and then after


select parnr
from
ihpa
into table i_ihpa for all entries in i_equi
where objnr = i_equi-objnr AND PARNR IN S_PARNR.

do


loop at i_ihpa.
i_ihpa-fparn = i_ihpa-parn.
modify i_ihpa.
endloop.

And then just change all the wheres to field fparn.

Another suggestion could be to change the type to this...


TYPES : BEGIN OF TY_IHPA,
PARNR(10) TYPE C,
END OF TY_IHPA.

and then do the select


select parnr
from
ihpa
into table i_ihpa for all entries in i_equi
where objnr = i_equi-objnr AND PARNR IN S_PARNR.

But I don't know if it would cause a dump, try both and see what happens

Read only

Former Member
0 Likes
1,005

HI,


Data : name(12) type c value 'COMMUNITY'.
Data : var(5) type c.

var = name.

O/P = COMMU.

Thanks,

Sriram Ponna.