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

IW33

Former Member
0 Likes
1,231

How to make a report on service orders using the tables

AFKO, AUFK, AFVC, ADRC ,AFIH and etc.

I mean the linkages.

Thanks.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,064

You have standard reports like I<b>W38, IW43</b>, etc. Please have a look at them as they can be very useful.

If you could specify your requirement a bit in brief, we could give better options.

Regards

Kathirvel

6 REPLIES 6
Read only

Former Member
0 Likes
1,064

Please clarify what report you are looking for exactly.

Read only

0 Likes
1,064

I have to make a report using these tables to print a particular order no.

I have to print the customer details as well as all other data.

I got the tables related, but not getting the exact linkages used .

Thanks

Read only

Former Member
0 Likes
1,065

You have standard reports like I<b>W38, IW43</b>, etc. Please have a look at them as they can be very useful.

If you could specify your requirement a bit in brief, we could give better options.

Regards

Kathirvel

Read only

Former Member
0 Likes
1,064

Could you please provide the selection parameter details, and output parameter details?

So that I can explain in better.

Regards

Kathirvel

Read only

0 Likes
1,064

Select-options will have order number as the field.

Also plz tell me how to debug the transaction.

Regards,

Martina

Read only

Former Member
0 Likes
1,064

You goto the source code and PUT a break point. Or before pressing F8 type /H in the command prompt and the press F8. IN custom programs you can use BREAK-POINT, or BREAK <SAP User ID> or put a break point using the UTILITIES -> BREAK POINTS -> SET.

Here is the code,

REPORT zkb_order_selection.

TYPES: BEGIN OF t_aufk,

aufnr TYPE aufk-aufnr,

auart TYPE aufk-auart,

ktext TYPE aufk-ktext,

bukrs TYPE aufk-bukrs,

werks TYPE aufk-werks,

adrnra TYPE aufk-adrnra,

END OF t_aufk.

TYPES: BEGIN OF t_afko,

aufnr TYPE afko-aufnr,

gltrp TYPE afko-gltrp,

gstrp TYPE afko-gstrp,

aufpl TYPE afko-aufpl,

END OF t_afko.

TYPES: BEGIN OF t_afih,

aufnr TYPE afih-aufnr,

artpr TYPE afih-artpr,

priok TYPE afih-priok,

equnr TYPE afih-equnr,

bautl TYPE afih-bautl,

iloan TYPE afih-iloan,

END OF t_afih.

TYPES: BEGIN OF t_adrc,

addrnumber TYPE adrc-addrnumber,

title TYPE adrc-title,

name1 TYPE adrc-name1,

city1 TYPE adrc-city1,

home_city TYPE adrc-home_city,

post_code1 TYPE adrc-post_code1,

street TYPE adrc-street,

tel_number TYPE adrc-tel_number,

END OF t_adrc.

TYPES: BEGIN OF t_afvc,

aufpl TYPE afvc-aufpl,

aplzl TYPE afvc-aplzl,

vornr TYPE afvc-vornr,

steus TYPE afvc-steus,

END OF t_afvc.

TYPES: BEGIN OF t_order,

aufnr TYPE aufk-aufnr,

auart TYPE aufk-auart,

vornr TYPE afvc-vornr,

steus TYPE afvc-steus,

ktext TYPE aufk-ktext,

bukrs TYPE aufk-bukrs,

werks TYPE aufk-werks,

adrnra TYPE aufk-adrnra,

gltrp TYPE afko-gltrp,

gstrp TYPE afko-gstrp,

aufpl TYPE afko-aufpl,

artpr TYPE afih-artpr,

priok TYPE afih-priok,

equnr TYPE afih-equnr,

bautl TYPE afih-bautl,

iloan TYPE afih-iloan,

name1 TYPE adrc-name1,

city1 TYPE adrc-city1,

home_city TYPE adrc-home_city,

post_code1 TYPE adrc-post_code1,

street TYPE adrc-street,

tel_number TYPE adrc-tel_number,

END OF t_order.

  • Internal Tables

DATA: i_aufk TYPE TABLE OF t_aufk,

i_afko TYPE TABLE OF t_afko,

i_afih TYPE TABLE OF t_afih,

i_afvc TYPE TABLE OF t_afvc,

i_adrc TYPE TABLE OF t_adrc,

i_order TYPE TABLE OF t_order.

  • Work Areas

DATA: w_aufk TYPE t_aufk,

w_afko TYPE t_afko,

w_afih TYPE t_afih,

w_afvc TYPE t_afvc,

w_adrc TYPE t_adrc,

w_order TYPE t_order.

SELECT-OPTIONS: s_aufnr FOR w_aufk-aufnr,

s_auart FOR w_aufk-auart.

START-OF-SELECTION.

PERFORM select_data.

PERFORM build_display_table.

PERFORM display_data.

&----


*& Form select_data

&----


FORM select_data .

  • Clear Tables & Work Area

CLEAR: i_aufk, i_afko, i_afih, i_afvc, i_adrc,

w_aufk, w_afko, w_afih, w_afvc, w_adrc.

  • Select AUFK

SELECT aufnr auart ktext bukrs werks adrnra

FROM aufk

INTO CORRESPONDING FIELDS OF TABLE i_aufk

WHERE aufnr IN s_aufnr

AND auart IN s_auart.

  • Select AFKO

SELECT aufnr gltrp gstrp aufpl

FROM afko

INTO CORRESPONDING FIELDS OF TABLE i_afko

FOR ALL ENTRIES IN i_aufk

WHERE aufnr = i_aufk-aufnr.

  • Select AFIH

SELECT aufnr artpr priok equnr bautl iloan

FROM afih

INTO CORRESPONDING FIELDS OF TABLE i_afih

FOR ALL ENTRIES IN i_aufk

WHERE aufnr = i_aufk-aufnr.

  • Select ADRC

SELECT addrnumber title name1 city1 home_city

post_code1 street tel_number

FROM adrc

INTO CORRESPONDING FIELDS OF TABLE i_adrc

FOR ALL ENTRIES IN i_aufk

WHERE addrnumber = i_aufk-adrnra.

  • Select AFVC

SELECT aufpl aplzl vornr steus

FROM afvc

INTO CORRESPONDING FIELDS OF TABLE i_afvc

FOR ALL ENTRIES IN i_afko

WHERE aufpl = i_afko-aufpl.

ENDFORM. " select_data

&----


*& Form build_display_table

&----


FORM build_display_table .

LOOP AT i_aufk INTO w_aufk.

w_order-aufnr = w_aufk-aufnr.

w_order-auart = w_aufk-auart.

w_order-ktext = w_aufk-ktext.

w_order-bukrs = w_aufk-bukrs.

w_order-werks = w_aufk-werks.

w_order-adrnra = w_aufk-adrnra.

READ TABLE i_afko INTO w_afko

WITH KEY aufnr = w_aufk-aufnr.

IF sy-subrc EQ 0.

w_order-gltrp = w_afko-gltrp.

w_order-gstrp = w_afko-gstrp.

w_order-aufpl = w_afko-aufpl.

ENDIF.

READ TABLE i_afih INTO w_afih

WITH KEY aufnr = w_aufk-aufnr.

IF sy-subrc EQ 0.

w_order-artpr = w_afih-artpr.

w_order-priok = w_afih-priok.

w_order-equnr = w_afih-equnr.

w_order-bautl = w_afih-bautl.

w_order-iloan = w_afih-iloan.

ENDIF.

READ TABLE i_adrc INTO w_adrc

WITH KEY addrnumber = w_aufk-adrnra.

IF sy-subrc EQ 0.

w_order-name1 = w_adrc-name1.

w_order-city1 = w_adrc-city1.

w_order-home_city = w_adrc-home_city.

w_order-post_code1 = w_adrc-post_code1.

w_order-street = w_adrc-street.

w_order-tel_number = w_adrc-tel_number.

ENDIF.

LOOP AT i_afvc INTO w_afvc

WHERE aufpl = w_afko-aufpl .

w_order-vornr = w_afvc-vornr.

w_order-steus = w_afvc-steus.

IF NOT w_order IS INITIAL.

APPEND w_order TO i_order.

ENDIF.

ENDLOOP.

CLEAR w_order.

ENDLOOP.

ENDFORM. " build_display_table

&----


*& Form display_data

&----


FORM display_data .

DATA: lo_salv_table TYPE REF TO cl_salv_table,

lo_cx_salv_msg TYPE REF TO cx_salv_msg,

lw_bal_s_msg TYPE bal_s_msg.

TRY.

CALL METHOD cl_salv_table=>factory

IMPORTING

r_salv_table = lo_salv_table

CHANGING

t_table = i_order.

CATCH cx_salv_msg INTO lo_cx_salv_msg.

lo_cx_salv_msg->if_alv_message~get_message(

RECEIVING

r_s_msg = lw_bal_s_msg ).

MESSAGE ID lw_bal_s_msg-msgid

TYPE lw_bal_s_msg-msgty

NUMBER lw_bal_s_msg-msgno

WITH lw_bal_s_msg-msgv1 lw_bal_s_msg-msgv2

lw_bal_s_msg-msgv3 lw_bal_s_msg-msgv4.

ENDTRY.

lo_salv_table->display( ).

ENDFORM. " display_data

Note: Plz reward point if this solved your problem.

Regards

Kathirvel