‎2006 Nov 24 7:13 AM
How to make a report on service orders using the tables
AFKO, AUFK, AFVC, ADRC ,AFIH and etc.
I mean the linkages.
Thanks.
‎2006 Nov 24 7:19 AM
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
‎2006 Nov 24 7:16 AM
‎2006 Nov 24 7:25 AM
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
‎2006 Nov 24 7:19 AM
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
‎2006 Nov 24 7:41 AM
Could you please provide the selection parameter details, and output parameter details?
So that I can explain in better.
Regards
Kathirvel
‎2006 Nov 24 8:09 AM
Select-options will have order number as the field.
Also plz tell me how to debug the transaction.
Regards,
Martina
‎2006 Nov 24 9:15 AM
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