Purchase Request.txt

download Purchase Request.txt

If you can't read please download the document

description

Purchase Request abap

Transcript of Purchase Request.txt

REPORT ZPP_DR19_REVIEW_UPDATE_ZMRPDUM.*&------------------------------------------------------------------------**& Program : ZPP_DR19_REVIEW_UPDATE_ZMRPDUM **& Created by : Rajkumar **& Requester : karunamoorthy **& Created on : 04/11/2013 **& " Project : Project CRIS_ICF (Railways SAP Implementation)**& Ticket No : **& WIMS No : **& Workbenc Req: **&------------------------------------------------------------------------**& Description : (a) To print Review document **&------------------------------------------------------------------------**& Program Change History **&------------------------------------------------------------------------**& Date WIMS No TR# Name Description of Change **&------------------------------------------------------------------------**&MM-DD-YY XXXXXXXX **&*&------------------------------------------------------------------------*TABLES : mara,t024d." Modified Output Tables : zpp_mrp_spar_dum , zpp_mrp_zonl_dum , zpp_mrp_hdr_dum , zpp_mrp_itm_dumTYPE-POOLS:slis.************************************************************************* INTERNAL TABLES/WORK AREAS/VARIABLES *************************************************************************TYPES : BEGIN OF ty_zpp_mpo_master, werks TYPE werks_d, gjahr TYPE gjahr, matnr TYPE matnr, zaqty TYPE zfqty, END OF ty_zpp_mpo_master, BEGIN OF ty_zpp_mpo_chg, werks TYPE werks_d, gjahr TYPE gjahr, matnr TYPE matnr, quantity TYPE zpp_mpo_ltr_det-quantity, END OF ty_zpp_mpo_chg, BEGIN OF ty_zpp_pm_hdr1, pm_id TYPE zreviewid_pm, zdate TYPE zdate_pm, matnr TYPE matnr, END OF ty_zpp_pm_hdr1, BEGIN OF reqplan_struc, gjahr TYPE zpp_req_his_hdr-gjahr, zreqplan TYPE zpp_req_his_hdr-zreqplan, zreqplver TYPE zpp_req_his_hdr-zreqplver, aedat TYPE aedat, END OF reqplan_struc, BEGIN OF zpp_req_his_itm_struc, zreqplver TYPE zpp_req_his_itm-zreqplver, zrmat TYPE zpp_req_his_itm-zrmat, "material number zrcoco TYPE zpp_req_his_itm-zrcoco, "coach code zrcotyp TYPE zpp_req_his_itm-zrcotyp, plqty01 TYPE zpp_req_his_itm-plqty01, plqty02 TYPE zpp_req_his_itm-plqty02, plqty03 TYPE zpp_req_his_itm-plqty03, plqty04 TYPE zpp_req_his_itm-plqty04, plqty05 TYPE zpp_req_his_itm-plqty05, plqty06 TYPE zpp_req_his_itm-plqty06, plqty07 TYPE zpp_req_his_itm-plqty07, plqty08 TYPE zpp_req_his_itm-plqty08, plqty09 TYPE zpp_req_his_itm-plqty09, plqty10 TYPE zpp_req_his_itm-plqty10, plqty11 TYPE zpp_req_his_itm-plqty11, plqty12 TYPE zpp_req_his_itm-plqty12, END OF zpp_req_his_itm_struc, BEGIN OF zpp_req_his_itm_struc1, zrmat TYPE zpp_req_his_itm-zrmat, "material number zrcoco TYPE zpp_req_his_itm-zrcoco, "coach code plqty TYPE zpp_req_his_itm-plqty01, END OF zpp_req_his_itm_struc1, BEGIN OF makt_struc, maktx TYPE makt-maktx, END OF makt_struc, BEGIN OF stb_struc, idnrk TYPE zpp_req_his_itm-zrmat, zrmat TYPE zpp_req_his_itm-zrmat, mngko TYPE stpox-mngko, zrcoco TYPE zpp_req_his_itm-zrcoco, zrcotyp TYPE zpp_req_his_itm-zrcotyp, tot TYPE zpp_req_his_itm-plqty09, mtart TYPE stpox-mtart, stufe TYPE stpox-stufe, menge TYPE stpox-menge, mmein TYPE stpox-mmein, dismm TYPE dismm, alpos TYPE alpos, alpos1 TYPE alpos, stlnr TYPE stnum, ewahr TYPE ewahr, ewahr1 TYPE ewahr, xtlnr TYPE cs_e_xstnr, potx2 TYPE potx2, werks TYPE werks_d, END OF stb_struc, BEGIN OF stb_struc1, zrmat TYPE zpp_req_his_itm-zrmat, idnrk TYPE zpp_req_his_itm-zrmat, mngko TYPE stpox-mngko, zrcoco TYPE zpp_req_his_itm-zrcoco, zrcotyp TYPE zpp_req_his_itm-zrcotyp, tot TYPE zpp_req_his_itm-plqty09, mtart TYPE stpox-mtart, stufe TYPE stpox-stufe, menge TYPE stpox-menge, mmein TYPE stpox-mmein, dismm TYPE dismm, alpos TYPE alpos, alpos1 TYPE alpos, stlnr TYPE stnum, ewahr TYPE ewahr, ewahr1 TYPE ewahr, xtlnr TYPE cs_e_xstnr, potx2 TYPE potx2, END OF stb_struc1, BEGIN OF eban_struc, banfn TYPE eban-banfn, frgdt TYPE eban-erdat, ebeln TYPE eban-ebeln, END OF eban_struc, BEGIN OF main_struc, matnr TYPE zpp_req_his_itm-zrmat, zrmat TYPE zrmat, sno TYPE zpp_mrp_main1-sno, zreqplver TYPE zreqplver, coach TYPE twewt-ewbez, ibmcode TYPE zpp_req_his_itm-zrcoco, pcrt TYPE cs_e_mngko, c11_12 TYPE cs_e_mngko, qty1 TYPE cs_e_mngko, c12_13 TYPE cs_e_mngko, qty2 TYPE cs_e_mngko, prev_year TYPE sortp, curr_year TYPE sortp, alpos TYPE alpos, stlnr TYPE stnum, ewahr TYPE ewahr, qty_ded TYPE zpcrt, END OF main_struc, BEGIN OF alv_struc, reviewid TYPE zreviewid, zdate TYPE zdate, matnr TYPE matnr, maktx TYPE maktx, mtart TYPE mtart, zreqplver TYPE zreqplver, END OF alv_struc, BEGIN OF vbak_struc, vbeln TYPE vbak-vbeln, posnr TYPE vbak-ps_psp_pnr, erdat TYPE erdat, END OF vbak_struc, BEGIN OF f4_plan, gjahr TYPE zpp_req_his_hdr-gjahr, zreqplan TYPE zpp_req_his_hdr-zreqplan, zreqplver TYPE zpp_req_his_hdr-zreqplver, END OF f4_plan, BEGIN OF f4_gjahr, gjahr TYPE zpp_req_his_hdr-gjahr, END OF f4_gjahr, BEGIN OF f4_nplan, zreqplan TYPE zpp_req_his_hdr-zreqplan, zreqplver TYPE zpp_req_his_hdr-zreqplver, END OF f4_nplan, BEGIN OF f4_dispo, dispo TYPE dispo, dsnam TYPE dsnam, dstel TYPE dstel, ekgrp TYPE ekgrp, END OF f4_dispo, BEGIN OF vbap_struc, matnr TYPE vbap-matnr, kwmeng TYPE vbap-kwmeng, vbeln TYPE vbeln_va, posnr TYPE posnr_va, END OF vbap_struc, BEGIN OF ty_zsd_rsp_cmeltno, zvbeln TYPE zvbeln, auart TYPE auart, END OF ty_zsd_rsp_cmeltno, BEGIN OF ty_vbap_tst, vbeln TYPE vbeln_va, posnr TYPE posnr_va, END OF ty_vbap_tst, BEGIN OF ty_aufk_tst, aufnr TYPE aufnr, kdauf TYPE kdauf, loekz TYPE aufloekz, END OF ty_aufk_tst, BEGIN OF ty_afko, rsnum TYPE rsnum, aufnr TYPE aufnr, END OF ty_afko, BEGIN OF ty_resb, rsnum TYPE rsnum, "Reservation No. rspos TYPE rspos, "Item Number of reservation kdauf TYPE kdauf, "Sales Order Number kdpos TYPE kdpos, "Item Number in Sales Order aufnr TYPE aufnr, "Order Number matnr TYPE matnr, "Material Number bdmng TYPE bdmng, "Requirement Quantity meins TYPE meins, "Base Unit of Measure END OF ty_resb, BEGIN OF x_marc, matnr TYPE matnr, werks TYPE werks_d, dismm TYPE dismm, lvorm TYPE lvowk, END OF x_marc, BEGIN OF ty_matnr, matnr TYPE matnr, matnr1 TYPE zpp_pm_hdr1-matnr1, mrp_cont TYPE zpp_pm_hdr1-mrp_cont, mtart TYPE zpp_pm_hdr1-mtart, maktx TYPE zpp_pm_hdr1-maktx, END OF ty_matnr.****************************Changes made by vinodh.m sse/icf*****************************************************TYPES:BEGIN OF x_qty. INCLUDE STRUCTURE zpp_mpo_ltr_det.TYPES: zfixed TYPE zpp_mpo_ltr_det-quantity, ztool TYPE zpp_mpo_ltr_det-quantity, zded TYPE zpp_mpo_ltr_det-quantity, zaddl TYPE zpp_mpo_ltr_det-quantity, END OF x_qty.DATA : fieldcatlog TYPE slis_t_fieldcat_alv WITH HEADER LINE, g_index TYPE sytabix, g_index_nw TYPE sytabix, g_stufe TYPE stufe, g_x_stufe_nw TYPE stufe, g_x_date1 TYPE dats, g_x_date2 TYPE dats, i_gjahr1 TYPE zpp_req_his_hdr-gjahr, i_gjahr2 TYPE zpp_req_his_hdr-gjahr, g_x_ewahr TYPE ewahr, g_x_offded TYPE zpcrt_offded, g_x_offded1 TYPE zpcrt_offded, g_x_offded2 TYPE zpcrt_offded, g_x_offded3 TYPE zpcrt_offded, g_x_offded4 TYPE zpcrt_offded, g_x_offded5 TYPE zpcrt_offded, g_x_zoff_per TYPE int1, g_x_zonal TYPE zpcrt_zonal, g_x_zonal1 TYPE zpcrt_zonal, G_NAME TYPE THEAD-TDNAME, LV_TDNAME TYPE THEAD-TDNAME, g_x_spares TYPE z_spares, g_x_spares1 TYPE z_spares, g_x_pm_id1 TYPE zreviewid_pm, g_x_pm_id2 TYPE zreviewid_pm, g_x_ewahr1 TYPE ewahr, g_x_zoff_per1 TYPE int1, wa_zpp_mrp_spares TYPE zpp_mrp_spar_dum, wa_zpp_mrp_zonal TYPE zpp_mrp_zonl_dum, it_zpp_pm_hdr1 TYPE TABLE OF ty_zpp_pm_hdr1, wa_zpp_pm_hdr1 TYPE ty_zpp_pm_hdr1, it_zpp_pm_hdr2 TYPE TABLE OF ty_zpp_pm_hdr1, wa_zpp_pm_hdr2 TYPE ty_zpp_pm_hdr1, it_zpp_pm_hdr3 TYPE TABLE OF ty_zpp_pm_hdr1, it_zpp_pm_hdr4 TYPE TABLE OF ty_zpp_pm_hdr1,* it_zpp_mpo_master_tst TYPE TABLE OF ty_zpp_mpo_master, it_zpp_mpo_master_tst TYPE TABLE OF ty_zpp_mpo_chg,* wa_zpp_mpo_master_tst TYPE ty_zpp_mpo_master, wa_zpp_mpo_master_tst TYPE ty_zpp_mpo_chg,* it_zpp_mpo_master_tst1 TYPE TABLE OF ty_zpp_mpo_master, it_zpp_mpo_master_tst1 TYPE TABLE OF ty_zpp_mpo_chg, g_x_calc_c TYPE cs_e_mngko, g_x_calc_c1 TYPE cs_e_mngko, g_x_calc_c2 TYPE cs_e_mngko, s_no TYPE int2, g_c11_12_tot TYPE zreqschqty, g_c12_13_tot TYPE zreqschqty, g_qty1_tot TYPE zpcrt, g_qty2_tot TYPE zpcrt, pl_itab TYPE STANDARD TABLE OF reqplan_struc, wa_pl_itab LIKE LINE OF pl_itab, pl_itab_n TYPE STANDARD TABLE OF reqplan_struc, wa_pl_itab_n LIKE LINE OF pl_itab, it_his_itm TYPE STANDARD TABLE OF zpp_req_his_itm_struc, it_his_itm2 TYPE STANDARD TABLE OF zpp_req_his_itm_struc, wa_his_itm LIKE LINE OF it_his_itm, wa_his_itm2 LIKE LINE OF it_his_itm2,* INTERNAL TABLE TO UPDATE THE TABLE ZPP_MRP_HDR AND ZPP_MRP_ITM w_ewahr TYPE ewahr, w_alpos TYPE alpos, it_mrp_hdr TYPE STANDARD TABLE OF zpp_mrp_hdr_dum, wa_mrp_hdr LIKE LINE OF it_mrp_hdr, it_mrp_itm TYPE STANDARD TABLE OF zpp_mrp_itm_dum, it_mrp_itm1 TYPE STANDARD TABLE OF zpp_mrp_itm_dum, it_matnr TYPE STANDARD TABLE OF ty_matnr, x_matnr TYPE ty_matnr, wa_mrp_itm LIKE LINE OF it_mrp_itm, it_alv TYPE STANDARD TABLE OF alv_struc, wa_alv LIKE LINE OF it_alv, p_gjahr TYPE zpp_req_his_hdr-gjahr, it_eban TYPE STANDARD TABLE OF eban_struc, wa_eban LIKE LINE OF it_eban, wa_eban1 LIKE LINE OF it_eban, lines TYPE STANDARD TABLE OF tline, wa_text LIKE LINE OF lines, stb TYPE STANDARD TABLE OF stpox, stb1 TYPE STANDARD TABLE OF stpox, stb2 TYPE STANDARD TABLE OF stpox, wa_stb LIKE LINE OF stb, wa_stb1 LIKE LINE OF stb, it_stb TYPE STANDARD TABLE OF stb_struc, it_stb_off TYPE STANDARD TABLE OF stb_struc, wa_stb_off LIKE LINE OF it_stb_off, it_stb_off1 TYPE STANDARD TABLE OF stb_struc, wa_stb_off1 LIKE LINE OF it_stb_off, it_stb1 TYPE STANDARD TABLE OF stb_struc, wa_it_stb1 LIKE LINE OF it_stb1, wa_it_stb2 LIKE LINE OF it_stb1, it_stb_sort TYPE STANDARD TABLE OF stb_struc, it_stb_sort1 TYPE STANDARD TABLE OF stb_struc, wa_it_stb_sort1 LIKE LINE OF it_stb_sort1, it_stb_sort2 TYPE STANDARD TABLE OF stb_struc1, wa_it_stb_sort2 LIKE LINE OF it_stb_sort2, wa_stb_val LIKE LINE OF it_stb, wa_it_stb LIKE LINE OF it_stb, wa_it_stb_sort LIKE LINE OF it_stb, s_number TYPE zpp_mrp_main1-sno, s_numb TYPE zpp_mrp_main1-sno,* Internal table for MC.No it_mcno TYPE TABLE OF zpp_mcno, x_mcno TYPE zpp_mcno,* Internal table for buffer percentage and quantity wa_bismt TYPE mara-bismt, wa_maktx TYPE makt-maktx, itab_main TYPE TABLE OF zpp_mrp_main1, itab_main_n TYPE TABLE OF zpp_mrp_main1, wa_main TYPE zpp_mrp_main1,"main_struc, wa_main_n TYPE zpp_mrp_main1,"main_struc, wa_main_n1 TYPE zpp_mrp_main1,"main_struc, wa_main_c TYPE zpp_mrp_main1,"main_struc, wa_main_tst TYPE zpp_mrp_main1,"main_struc, itab_main_c TYPE TABLE OF zpp_mrp_main1, itab_main_c1 TYPE TABLE OF zpp_mrp_main1, itab_main_n1 TYPE TABLE OF zpp_mrp_main1, itab_main_tst TYPE TABLE OF zpp_mrp_main1, c11_12_tot TYPE zpp_req_his_itm-plqty01, c12_13_tot TYPE zpp_req_his_itm-plqty01, n_gjahr TYPE zpp_req_his_hdr-gjahr, "next year x_to_all_dedn TYPE zpcrt, gv_cnt TYPE i, wa_mat1 TYPE string, wa_mat2 TYPE string, wa_mat3 TYPE string, wa_mat4 TYPE string, wa_matnr TYPE string, wa_total_main TYPE zpp_req_his_itm-plqty01, w_month(10) TYPE c, month3(3) TYPE c, year2(2) TYPE c, day2(2) TYPE c, p_year(2) TYPE c, n_year(2) TYPE c, year4(4) TYPE c, wa_ferth TYPE mara-ferth, wa_inspect TYPE mara-extwg, year_n(2) TYPE n, year_n1(2) TYPE n, name1 TYPE thead-tdname, name2 TYPE thead-tdname,* MAIN STRUCTURE DECLATRATION it TYPE STANDARD TABLE OF zpp_review_mrp,* vb LIKE LINE OF it, vb TYPE zpp_review_mrp , mat_len TYPE i, it_marc TYPE TABLE OF x_marc, wa_marc TYPE x_marc, lines_remarks TYPE STANDARD TABLE OF tline, wa_text_remarks LIKE LINE OF lines_remarks, lines_special TYPE STANDARD TABLE OF tline, wa_text_special LIKE LINE OF lines_special, wa_text_special_tdline1 TYPE tline-tdline, wa_text_special_tdline2 TYPE tline-tdline, wa_text_special_tdline3 TYPE tline-tdline, wa_text_remarks_tdline1 TYPE tline-tdline, wa_text_remarks_tdline2 TYPE tline-tdline, wa_text_remarks_tdline3 TYPE tline-tdline, wa_text_remarks_tdline4 TYPE tline-tdline, wa_text_remarks_tdline5 TYPE tline-tdline, wa_desc1 TYPE tline-tdline, wa_desc2 TYPE tline-tdline, wa_desc3 TYPE tline-tdline, wa_desc4 TYPE tline-tdline, wa_desc5 TYPE tline-tdline, wa_desc6 TYPE tline-tdline, wa_desc7 TYPE tline-tdline, wa_desc8 TYPE tline-tdline, wa_desc9 TYPE tline-tdline, wa_desc10 TYPE tline-tdline, wa_desc11 TYPE tline-tdline, wa_desc12 TYPE tline-tdline, wa_desc13 TYPE tline-tdline, wa_desc14 TYPE tline-tdline, wa_desc15 TYPE tline-tdline, wa_frgdt TYPE eban-frgdt,* FOR REQUIREMENT PART year_next(4) TYPE n, frgdt_day(2) TYPE c, frgdt_month(2) TYPE c, frgdt_year(4) TYPE c, aedat_day(2) TYPE c, aedat_month(2) TYPE c, aedat_year(4) TYPE c, x_qty_ded TYPE zpcrt, x_qty_ded1 TYPE zpcrt, wa_pl_itab_aedat(10) TYPE c, wa_eban_frgdt(10) TYPE c, p_year_6 TYPE sortp, c_year_6 TYPE sortp, p_gjhar_next(4) TYPE n, p_gjhar_nx(4) TYPE n, p_gjahr_n(4) TYPE n, p_gjahr_nn(4) TYPE n, wa_main_curr_year TYPE sortp, wa_main_prev_year TYPE sortp,* FEILS FOR FIXED AND TOOL ROOM QNTY wa_ztqty_c TYPE zpp_mpo_master-ztqty,* wa_zfqty_c TYPE zpp_mpo_master-ztqty, wa_zfqty_c TYPE zpp_mpo_master-zfqty, wa_ztqty_p TYPE zpp_mpo_master-ztqty,* wa_zfqty_p TYPE zpp_mpo_master-ztqty, wa_zfqty_p TYPE zpp_mpo_master-zfqty, s_stb TYPE STANDARD TABLE OF stpox, was_stb LIKE LINE OF s_stb, spares_qnty TYPE zpp_req_his_itm-plqty01, zonal_qnty TYPE zpp_req_his_itm-plqty01, w_count TYPE i, w_count_n TYPE i, w_pcrt TYPE zpp_req_his_itm-plqty01, it_zsd_rsp_cmeltno TYPE TABLE OF ty_zsd_rsp_cmeltno, it_vbap_tst TYPE TABLE OF ty_vbap_tst, it_aufk_tst TYPE TABLE OF ty_aufk_tst, it_afko TYPE TABLE OF ty_afko, it_resb TYPE TABLE OF ty_resb, it_zsd_rsp_cmeltno_1 TYPE TABLE OF ty_zsd_rsp_cmeltno, it_vbap_tst_1 TYPE TABLE OF ty_vbap_tst, it_aufk_tst_1 TYPE TABLE OF ty_aufk_tst, it_afko_1 TYPE TABLE OF ty_afko, it_resb_1 TYPE TABLE OF ty_resb, wa_zsd_rsp_cmeltno TYPE ty_zsd_rsp_cmeltno, wa_vbap_tst TYPE ty_vbap_tst, wa_aufk_tst TYPE ty_aufk_tst, wa_afko TYPE ty_afko, wa_resb TYPE ty_resb, it_vbak TYPE STANDARD TABLE OF vbak_struc, it_vbak_tst TYPE STANDARD TABLE OF vbak_struc, wa_vbak LIKE LINE OF it_vbak, it_vbap TYPE STANDARD TABLE OF vbap_struc, it_vbap_tst1 TYPE STANDARD TABLE OF vbap_struc, wa_vbap LIKE LINE OF it_vbap, it_f4plan TYPE STANDARD TABLE OF f4_plan, wa_f4plan LIKE LINE OF it_f4plan, it_f4gjahr TYPE STANDARD TABLE OF f4_gjahr, wa_f4gjhar LIKE LINE OF it_f4gjahr, it_f4nplan TYPE STANDARD TABLE OF f4_nplan, wa_f4nplan LIKE LINE OF it_f4nplan, it_f4dispo TYPE STANDARD TABLE OF f4_dispo, wa_f4dispo LIKE LINE OF it_f4dispo, it_dyn TYPE TABLE OF dynpread WITH HEADER LINE, makt_itab TYPE STANDARD TABLE OF makt, itab_makt TYPE STANDARD TABLE OF makt, wa_it_makt LIKE LINE OF itab_makt, makt_wa LIKE LINE OF makt_itab, mara_itab TYPE STANDARD TABLE OF mara, mara_wa LIKE LINE OF mara_itab, marc_itab TYPE STANDARD TABLE OF marc, marc_wa LIKE LINE OF marc_itab, zyear TYPE gjahr, zcyear TYPE gjahr, nplan TYPE gjahr, x_strrg1 TYPE string, x_strrg2 TYPE string, x_str_allow_c TYPE string, x_str_allow_n TYPE string, x_str1 TYPE string, zdate(6) TYPE c, zmm(2) TYPE c, zdd(2) TYPE c, zyy(2) TYPE c, zsno(5) TYPE c, znum(2) TYPE n, zplant TYPE c, zyear_2(2) TYPE c, znyear_2(2) TYPE c, znnyear_2(2) TYPE c, g_x_zreqplver_c TYPE zpp_req_his_hdr-zreqplver, g_x_zreqplver TYPE zpp_req_his_hdr-zreqplver, it_zpp_mpo_master TYPE STANDARD TABLE OF zpp_mpo_master, it_zpp_mpo_master_qty TYPE STANDARD TABLE OF x_qty, it_zpp_mpo_master_qty1 TYPE STANDARD TABLE OF x_qty WITH HEADER LINE, wa_zpp_mpo_master LIKE LINE OF it_zpp_mpo_master, wa_zpp_mpo_master_qty LIKE LINE OF it_zpp_mpo_master_qty, it_zmpo_buf_allo TYPE STANDARD TABLE OF zmpo_buf_allo, wa_zmpo_buf_allo LIKE LINE OF it_zmpo_buf_allo, it_t006a TYPE STANDARD TABLE OF t006a, wa_t006a LIKE LINE OF it_t006a, x_qty_ded_offc TYPE zpcrt, x_qty_ded_offn TYPE zpcrt, c_flag, c_flag1.* Internal table for deduction* DVPK913438 - Start - Declaration of Int tab to hold complete set of STB entries & Count variableTYPES : BEGIN OF ty_stb_comp. INCLUDE STRUCTURE stpox.TYPES : matnr_p TYPE mara-matnr, END OF ty_stb_comp, BEGIN OF ty_matcat. INCLUDE TYPE cscmat.TYPES : matnr_p1 TYPE mara-matnr, END OF ty_matcat.DATA : it_stb_comp TYPE TABLE OF ty_stb_comp, x_stb_comp TYPE ty_stb_comp, x_stb_halb TYPE ty_stb_comp.* Start of change 295233 04/04/2013TYPES: BEGIN OF ty_review_text. INCLUDE STRUCTURE zpp_revw_txt_dum.TYPES: matnr TYPE matnr, END OF ty_review_text.TYPES: BEGIN OF ty_review_text1.* INCLUDE STRUCTURE ZPP_RVW_TEXTS. INCLUDE STRUCTURE ZPP_LONGDESC_SPL.TYPES: matnr1 TYPE matnr, END OF ty_review_text1.DATA : it_texts TYPE TABLE OF ty_review_text, x_texts TYPE ty_review_text, it_texts1 TYPE TABLE OF ty_review_text1, x_texts1 TYPE ty_review_text1, x_text_final TYPE zpp_revw_txt_dum.* End of change 295233 04/04/2013 Types : begin of ty_master, werks type werks, gjahr type gjahr, zdqty type num7, matnr type matnr, end of ty_master. DATA : it_master type table of ty_master, wa_master type ty_master, line type i. DATA: IT_FILEPATH TYPE STANDARD TABLE OF ZFILEDBASE, WA_FILEPATH TYPE ZFILEDBASE. DATA: IT_DRG TYPE STANDARD TABLE OF ZPP_MRP_HDR_DUM, WA_DRG TYPE ZPP_MRP_HDR_DUM.* DVPK913438 - End************************************************************************* SELECTION SCREEN *************************************************************************SELECTION-SCREEN: BEGIN OF BLOCK order WITH FRAME TITLE text-001.PARAMETERS : p_werks TYPE t001w-werks, i_gjahr TYPE zpp_req_his_hdr-gjahr, p_plan TYPE zpp_req_his_hdr-zreqplan, n_plan TYPE zpp_req_his_hdr-zreqplan.SELECT-OPTIONS : p_matnr FOR mara-matnr, p_dispo FOR t024d-dispo.SELECTION-SCREEN END OF BLOCK order.************************************************************************* AT SELECTION SCREEN *************************************************************************AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_plan. PERFORM f4help_cplan.AT SELECTION-SCREEN ON VALUE-REQUEST FOR i_gjahr. PERFORM f4help_gjahr.AT SELECTION-SCREEN ON VALUE-REQUEST FOR n_plan. PERFORM f4help_nplan.AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dispo-high. PERFORM f4help_dispo.AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dispo-low. PERFORM f4help_dispo.************************************************************************* PROCESS *************************************************************************START-OF-SELECTION.* Restrict Processing to Background mode* IF sy-batch IS INITIAL AND sy-uname NE 'PPCPRG'. MESSAGE text-002 TYPE 'I' DISPLAY LIKE 'E'. EXIT. ENDIF.* Validate whether the Review ID is already generatedSELECT SINGLE * FROM zpp_mrp_hdr_dum INTO wa_mrp_hdr WHERE werks = p_werks AND gjahr = i_gjahr AND c_zreqplan = p_plan AND n_zreqplan = n_plan AND DEL_FLAG IS NULL AND zdate = sy-datum AND matnr IN p_matnr. "#EC ** if sy-uname+2(1) = 'C' or sy-uname+2(1) = 'E'.**** SELECT SINGLE * FROM zpp_mrp_hdr_dum INTO wa_mrp_hdr WHERE werks = 'FURN' "p_werks* AND gjahr = i_gjahr* AND c_zreqplan = p_plan* AND n_zreqplan = n_plan* AND zdate = sy-datum* AND matnr IN p_matnr. "#EC **else. IF sy-subrc IS INITIAL. MESSAGE s170(zicf) DISPLAY LIKE 'E'. EXIT. ENDIF.****************************Current Year******************************************** p_gjahr = i_gjahr. n_gjahr = p_gjahr + 1. REFRESH : it_stb_comp. " DVPK913438 PERFORM f0001_spare_quantity_new. PERFORM f0002_spare_quantity_new1. PERFORM FILEPATH."CHANGES MADE FOR FILEPATH. PERFORM f0003_first_calc_current. PERFORM f0004_first_calc_next. PERFORM f0005_main_part. PERFORM f0006_table_update_part.END-OF-SELECTION. IF it_stb_sort IS INITIAL. MESSAGE s169(zicf). EXIT. ENDIF. IF it_alv[] IS INITIAL. MESSAGE s168(zicf) DISPLAY LIKE 'E'. ELSE. PERFORM f0007_field_cat. PERFORM f0008_alv_call. ENDIF.*&---------------------------------------------------------------------**& Form F0005_main_part*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM f0005_main_part. REFRESH: lines_remarks,lines_special,lines,makt_itab,it_marc. REFRESH: makt_itab, mara_itab, marc_itab, it_zpp_mpo_master, it_zmpo_buf_allo, it_t006a, it_marc. IF p_matnr IS NOT INITIAL AND p_dispo IS INITIAL. LOOP AT it_stb1 INTO wa_it_stb1 WHERE idnrk IN p_matnr. READ TABLE it_stb INTO wa_it_stb WITH KEY idnrk = wa_it_stb1-idnrk zrmat = wa_it_stb1-zrmat. IF sy-subrc NE 0. MOVE-CORRESPONDING wa_it_stb1 TO wa_it_stb2. APPEND wa_it_stb2 TO it_stb. ENDIF. CLEAR : wa_it_stb, wa_it_stb1, wa_it_stb2. ENDLOOP. ELSE. LOOP AT it_stb1 INTO wa_it_stb1. READ TABLE it_stb INTO wa_it_stb WITH KEY idnrk = wa_it_stb1-idnrkzrmat = wa_it_stb1-zrmat. IF sy-subrc NE 0. MOVE-CORRESPONDING wa_it_stb1 TO wa_it_stb2. APPEND wa_it_stb2 TO it_stb. ENDIF. CLEAR : wa_it_stb, wa_it_stb1, wa_it_stb2. ENDLOOP. ENDIF. "This is for Current Year: IF it_stb[] IS NOT INITIAL. SELECT * FROM makt INTO TABLE makt_itab FOR ALL ENTRIES IN it_stb WHERE matnr = it_stb-idnrk. SELECT * FROM mara INTO TABLE mara_itab FOR ALL ENTRIES IN it_stb WHERE matnr = it_stb-idnrk.* Fetch MC.No from ZPP_MCNO SELECT * FROM zpp_mcno INTO TABLE it_mcno FOR ALL ENTRIES IN it_stb WHERE matnr = it_stb-idnrk AND werks = it_stb-werks. SELECT * FROM marc INTO TABLE marc_itab FOR ALL ENTRIES IN it_stb WHERE matnr = it_stb-idnrk AND werks = p_werks. SELECT * FROM zpp_mpo_master INTO TABLE it_zpp_mpo_master FOR ALL ENTRIES IN it_stb WHERE matnr = it_stb-idnrk AND werks = p_werks. SELECT * FROM zpp_mpo_ltr_det INTO TABLE it_zpp_mpo_master_qty FOR ALL ENTRIES IN it_stb WHERE matnr = it_stb-idnrk AND werks = p_werks. SELECT * FROM zmpo_buf_allo INTO TABLE it_zmpo_buf_allo FOR ALL ENTRIES IN it_stb WHERE matnr = it_stb-idnrk AND werks = p_werks. SELECT * FROM t006a BYPASSING BUFFER INTO TABLE it_t006a FOR ALL ENTRIES IN it_stb WHERE msehi = it_stb-mmein. SELECT matnr werks dismm lvorm FROM marc INTO TABLE it_marc FOR ALL ENTRIES IN it_stb WHERE matnr EQ it_stb-idnrk AND werks EQ p_werks AND dismm EQ 'PD' AND lvorm EQ ' '. ENDIF. IF p_matnr IS NOT INITIAL AND p_dispo IS INITIAL. REFRESH : itab_main, it. CLEAR : wa_it_stb. "If there is no data for a matnr in current year, and if there is data only in a next year. "That data will be appended in this loop: "Processing all the data to a final table: LOOP AT it_marc INTO wa_marc WHERE matnr IN p_matnr. READ TABLE it_stb INTO wa_it_stb WITH KEY idnrk = wa_marc-matnr. IF sy-subrc EQ 0 AND wa_it_stb IS NOT INITIAL. PERFORM print_form_part. ENDIF. CLEAR : wa_it_stb. ENDLOOP. CLEAR : wa_marc. ELSE. REFRESH: itab_main, it. CLEAR : wa_it_stb. LOOP AT it_marc INTO wa_marc. READ TABLE it_stb INTO wa_it_stb WITH KEY idnrk = wa_marc-matnr. IF sy-subrc EQ 0 AND wa_it_stb IS NOT INITIAL. PERFORM print_form_part. ENDIF. CLEAR : wa_it_stb. ENDLOOP. CLEAR : wa_marc. ENDIF.ENDFORM. "F0005_main_part*&---------------------------------------------------------------------**& Form print_form_part*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM print_form_part. CLEAR :wa_maktx, wa_ferth, wa_bismt, vb-wa_inspect1, vb-wa_inspect2, vb-wa_psection, wa_matnr, c11_12_tot, c12_13_tot, wa_main-c12_13, vb-c11_12, vb-qty1_tot, vb-qty2_tot, vb-wa_ferth, zyear_2, znyear_2, znnyear_2, makt_wa, marc_wa, mara_wa. CLEAR : w_month, day2, month3, year2, year4, vb-wa_date, vb-wa_stock, makt_wa.* to get the month name CALL FUNCTION 'ISP_GET_MONTH_NAME' EXPORTING date = sy-datum language = sy-langu IMPORTING longtext = w_month. day2 = sy-datum+6(2). month3 = w_month+0(3). year2 = sy-datum+2(2). year4 = sy-datum+0(4). CONCATENATE day2 month3 year2 INTO vb-wa_date SEPARATED BY '-'. CONCATENATE '01' '04' year4 INTO vb-wa_stock SEPARATED BY '.'.* Select material description from makt READ TABLE makt_itab INTO makt_wa WITH KEY matnr = wa_it_stb-idnrk. IF sy-subrc EQ 0. MOVE makt_wa-maktx TO vb-wa_maktx. ENDIF.* Populating MC.No from Table - ZPP_MCNO READ TABLE it_mcno INTO x_mcno WITH KEY matnr = wa_it_stb-idnrk werks = wa_it_stb-werks. IF sy-subrc EQ 0. MOVE x_mcno-zferth TO vb-wa_ferth. ENDIF. "select old material number from mara & INSPECTION AGENCY READ TABLE mara_itab INTO mara_wa WITH KEY matnr = wa_it_stb-idnrk. IF sy-subrc EQ 0. MOVE mara_wa-matkl TO vb-matkl. MOVE mara_wa-bismt TO vb-wa_bismt. MOVE mara_wa-normt TO vb-wa_inspect1. MOVE mara_wa-groes TO vb-groes. MOVE mara_wa-extwg TO wa_inspect. ENDIF. READ TABLE marc_itab INTO marc_wa WITH KEY matnr = wa_it_stb-idnrk. IF sy-subrc EQ 0. MOVE marc_wa-ekgrp TO vb-wa_psection. MOVE marc_wa-dispo TO vb-mrp_cont. ENDIF. SELECT SINGLE ewbez FROM twewt INTO vb-wa_inspect2 WHERE extwg = wa_inspect. "#EC * CONCATENATE wa_pl_itab-zreqplan wa_pl_itab-zreqplver wa_pl_itab_aedat INTO vb-wa_prog_ref SEPARATED BY '/'. year_n1 = sy-datum+2(2). year_n = year_n1 + 1. p_gjhar_next = p_gjahr - 1. p_gjhar_nx = p_gjahr + 1.* MOVING UNIT OF MEASURE CLEAR wa_t006a. READ TABLE it_t006a INTO wa_t006a WITH KEY msehi = wa_it_stb-mmein. IF sy-subrc EQ 0. MOVE wa_t006a-mseht TO vb-mseht. ENDIF. MOVE wa_it_stb-mmein TO vb-mmein. CLEAR wa_frgdt. CONCATENATE p_gjhar_nx '0331' INTO wa_frgdt. CLEAR: vb-wa_prnumber, vb-wa_prnumber_1. SELECT banfn frgdt ebeln FROM eban INTO TABLE it_eban WHERE banfn LIKE '%' AND matnr = wa_it_stb-idnrk. " AND FRGDT LE WA_FRGDT.. SORT it_eban DESCENDING BY frgdt. READ TABLE it_eban INTO wa_eban INDEX 1. READ TABLE it_eban INTO wa_eban1 INDEX 1. zyear_2 = i_gjahr+2(2). znyear_2 = zyear_2 + 1. znnyear_2 = znyear_2 + 1. CONCATENATE zyear_2 '-' znyear_2 '/' wa_eban-banfn INTO vb-wa_prnumber. CLEAR wa_eban. READ TABLE it_eban INTO wa_eban INDEX 2. IF sy-subrc EQ 0. frgdt_day = wa_eban-frgdt+6(2). frgdt_month = wa_eban-frgdt+4(2). frgdt_year = wa_eban-frgdt+0(4). CONCATENATE frgdt_day frgdt_month frgdt_year INTO wa_eban_frgdt SEPARATED BY '.'. ENDIF. CLEAR wa_eban. vb-c_year_6 = p_plan+2(6). vb-n_year_6 = n_plan+2(6). CONCATENATE wa_pl_itab-zreqplan wa_his_itm-zreqplver INTO vb-wa_reqnumber. CLEAR mat_len. mat_len = STRLEN( wa_it_stb-idnrk ). IF mat_len = 13. CONCATENATE wa_it_stb-idnrk+0(1) wa_it_stb-idnrk+1(8) wa_it_stb-idnrk+9(2) wa_it_stb-idnrk+11(2) INTO vb-wa_matnr SEPARATED BY space. ELSEIF mat_len = 14. CONCATENATE wa_it_stb-idnrk+0(2) wa_it_stb-idnrk+2(8) wa_it_stb-idnrk+10(2) wa_it_stb-idnrk+12(2) INTO vb-wa_matnr SEPARATED BY space. ELSE. wa_mat1 = wa_it_stb-idnrk+4(2). wa_mat2 = wa_it_stb-idnrk+6(8). wa_mat3 = wa_it_stb-idnrk+14(2). wa_mat4 = wa_it_stb-idnrk+16(2). CONCATENATE wa_mat1 wa_mat2 wa_mat3 wa_mat4 INTO vb-wa_matnr SEPARATED BY space. ENDIF. CLEAR: name1. REFRESH lines. MOVE wa_it_stb-idnrk TO name1. "DESCRIPTION CALL FUNCTION 'READ_TEXT' EXPORTING client = sy-mandt id = 'BEST' language = sy-langu name = name1 object = 'MATERIAL' TABLES lines = lines EXCEPTIONS id = 1 language = 2 name = 3 not_found = 4 object = 5 reference_check = 6 wrong_access_to_archive = 7 OTHERS = 8. IF sy-subrc IS INITIAL. CLEAR : wa_desc1,wa_desc2,wa_desc3,wa_desc4,wa_desc5,wa_desc6,wa_desc7,wa_desc8,wa_desc9,wa_desc10, wa_desc11,wa_desc12,wa_desc13,wa_desc14,wa_desc15. LOOP AT lines INTO wa_text. IF sy-tabix = 1. MOVE wa_text-tdline TO wa_desc1. ELSEIF sy-tabix = 2. MOVE wa_text-tdline TO wa_desc2. ELSEIF sy-tabix = 3. MOVE wa_text-tdline TO wa_desc3. ELSEIF sy-tabix = 4. MOVE wa_text-tdline TO wa_desc4. ELSEIF sy-tabix = 5. MOVE wa_text-tdline TO wa_desc5. ELSEIF sy-tabix = 6. MOVE wa_text-tdline TO wa_desc6. ELSEIF sy-tabix = 7. MOVE wa_text-tdline TO wa_desc7. ELSEIF sy-tabix = 8. MOVE wa_text-tdline TO wa_desc8. ELSEIF sy-tabix = 9. MOVE wa_text-tdline TO wa_desc9. ELSEIF sy-tabix = 10. MOVE wa_text-tdline TO wa_desc10. ELSEIF sy-tabix = 11. MOVE wa_text-tdline TO wa_desc11. ELSEIF sy-tabix = 12. MOVE wa_text-tdline TO wa_desc12. ELSEIF sy-tabix = 13. MOVE wa_text-tdline TO wa_desc13. ELSEIF sy-tabix = 14. MOVE wa_text-tdline TO wa_desc14. ELSEIF sy-tabix = 15. MOVE wa_text-tdline TO wa_desc15. ENDIF. ENDLOOP. CONCATENATE wa_desc1 wa_desc2 wa_desc3 INTO vb-wa_desc_1 SEPARATED BY space. CONCATENATE wa_desc4 wa_desc5 wa_desc6 INTO vb-wa_desc_2 SEPARATED BY space. CONCATENATE wa_desc7 wa_desc9 wa_desc9 INTO vb-wa_desc_3 SEPARATED BY space. CONCATENATE wa_desc10 wa_desc11 wa_desc12 INTO vb-wa_desc_4 SEPARATED BY space. CONCATENATE wa_desc13 wa_desc14 wa_desc15 INTO vb-wa_desc_5 SEPARATED BY space. ENDIF. n_year = year2 + 1. p_year = year2 - 1. CONCATENATE p_gjahr '-' n_year INTO vb-prev_year. CONCATENATE year2 '-' n_year INTO vb-wa_main_curr_year. CONCATENATE p_year '-' year2 INTO vb-wa_main_prev_year. CLEAR : x_qty_ded,x_qty_ded1.* calculating the values for PCRT total quantity "***************************FOR NEXT YEAR*************************** CLEAR: s_number,vb-c12_13_tot,vb-c11_12_tot. REFRESH itab_main_c. s_number = 0. "First Loop: SORT it_stb_sort ASCENDING BY idnrk zrmat. LOOP AT it_stb_sort INTO wa_it_stb_sort WHERE idnrk = wa_it_stb-idnrk. ADD 1 TO s_number. MOVE s_number TO wa_main-sno. MOVE wa_it_stb_sort-zrmat TO wa_main-zrmat. MOVE wa_it_stb_sort-zrcotyp TO wa_main-coach. MOVE wa_it_stb_sort-zrcoco TO wa_main-ibmcode. MOVE wa_it_stb_sort-mngko TO wa_main-pcrt. "changed on 10/12/2011 MOVE wa_it_stb_sort-tot TO wa_main-c11_12. MOVE wa_it_stb-idnrk TO wa_main-matnr. MOVE wa_it_stb-alpos TO wa_main-alpos. MOVE wa_it_stb-stlnr TO wa_main-stlnr. MOVE wa_it_stb-ewahr TO wa_main-ewahr. IF wa_it_stb_sort-alpos EQ 'X'. IF wa_it_stb_sort-ewahr IS NOT INITIAL. wa_it_stb_sort-ewahr = 100 - wa_it_stb_sort-ewahr. g_x_calc_c = ( wa_it_stb_sort-mngko * wa_it_stb_sort-tot * ( wa_it_stb_sort-ewahr / 100 ) ). x_qty_ded = x_qty_ded + g_x_calc_c. ENDIF. ENDIF. MOVE g_x_calc_c TO wa_main-qty_ded_c. APPEND wa_main TO itab_main_c1. CLEAR : g_x_calc_c. ENDLOOP.*************************************************************************** CLEAR : wa_main, wa_it_stb_sort1, g_x_calc_c. gv_cnt = 1. s_no = 1. "Second Loop: SORT itab_main_c1 ASCENDING BY matnr zrmat. LOOP AT itab_main_c1 INTO wa_main. gv_cnt = gv_cnt + 1. g_x_calc_c = g_x_calc_c + wa_main-pcrt. g_x_calc_c1 = g_x_calc_c1 + wa_main-qty_ded_c. READ TABLE itab_main_c1 INTO wa_main_c INDEX gv_cnt. IF wa_main-zrmat NE wa_main_c-zrmat. MOVE s_no TO wa_main_tst-sno. MOVE wa_main-zrmat TO wa_main_tst-zrmat. MOVE wa_main-coach TO wa_main_tst-coach. MOVE wa_main-ibmcode TO wa_main_tst-ibmcode. MOVE wa_main-matnr TO wa_main_tst-matnr. MOVE wa_main-alpos TO wa_main_tst-alpos. MOVE wa_main-stlnr TO wa_main_tst-stlnr. MOVE wa_main-ewahr TO wa_main_tst-ewahr. MOVE wa_main-c11_12 TO wa_main_tst-c11_12. MOVE g_x_calc_c TO wa_main_tst-pcrt. MOVE g_x_calc_c1 TO wa_main_tst-qty_ded_c. wa_main_tst-qty1 = wa_main_tst-c11_12 * wa_main_tst-pcrt. APPEND wa_main_tst TO itab_main_c. s_no = s_no + 1. CLEAR : g_x_calc_c, g_x_calc_c1, g_x_calc_c2. ENDIF. CLEAR : wa_main, wa_main_tst, wa_main_c. ENDLOOP. s_number = 0. "Third Loop: SORT it_stb_sort1 ASCENDING BY idnrk zrmat. LOOP AT it_stb_sort1 INTO wa_it_stb_sort1 WHERE idnrk = wa_it_stb-idnrk. ADD 1 TO s_number. MOVE s_number TO wa_main_n-sno. MOVE wa_it_stb_sort1-zrmat TO wa_main_n-zrmat. MOVE wa_it_stb_sort1-zrcotyp TO wa_main_n-coach. MOVE wa_it_stb_sort1-zrcoco TO wa_main_n-ibmcode. MOVE wa_it_stb_sort1-mngko TO wa_main_n-pcrt. "changed on 10/12/2011 MOVE wa_it_stb_sort1-tot TO wa_main_n-c12_13. MOVE wa_it_stb-idnrk TO wa_main_n-matnr. MOVE wa_it_stb-alpos TO wa_main_n-alpos. MOVE wa_it_stb-stlnr TO wa_main_n-stlnr. MOVE wa_it_stb-ewahr TO wa_main_n-ewahr. IF wa_it_stb_sort1-alpos EQ 'X'. IF wa_it_stb_sort1-ewahr IS NOT INITIAL. wa_it_stb_sort1-ewahr = 100 - wa_it_stb_sort1-ewahr. g_x_calc_c = ( wa_it_stb_sort1-mngko * wa_it_stb_sort1-tot * ( wa_it_stb_sort1-ewahr / 100 ) ). x_qty_ded1 = x_qty_ded1 + g_x_calc_c. ENDIF. ENDIF. MOVE g_x_calc_c TO wa_main_n-qty_ded_n. APPEND wa_main_n TO itab_main_n1. CLEAR : g_x_calc_c, wa_it_stb_sort1, wa_main_n. ENDLOOP. gv_cnt = 1. s_no = 1. "Fourth Loop: SORT itab_main_n1 ASCENDING BY matnr zrmat. LOOP AT itab_main_n1 INTO wa_main_n1. gv_cnt = gv_cnt + 1. g_x_calc_c = g_x_calc_c + wa_main_n1-pcrt. g_x_calc_c1 = g_x_calc_c1 + wa_main_n1-qty_ded_n. READ TABLE itab_main_n1 INTO wa_main_n INDEX gv_cnt. IF wa_main_n-zrmat NE wa_main_n1-zrmat. MOVE s_no TO wa_main_tst-sno. MOVE wa_main_n1-zrmat TO wa_main_tst-zrmat. MOVE wa_main_n1-coach TO wa_main_tst-coach. MOVE wa_main_n1-ibmcode TO wa_main_tst-ibmcode. MOVE wa_main_n1-matnr TO wa_main_tst-matnr. MOVE wa_main_n1-alpos TO wa_main_tst-alpos. MOVE wa_main_n1-stlnr TO wa_main_tst-stlnr. MOVE wa_main_n1-ewahr TO wa_main_tst-ewahr. MOVE wa_main_n1-c12_13 TO wa_main_tst-c12_13. MOVE g_x_calc_c TO wa_main_tst-pcrt. MOVE g_x_calc_c1 TO wa_main_tst-qty_ded_n. wa_main_tst-qty2 = wa_main_tst-c12_13 * wa_main_tst-pcrt. APPEND wa_main_tst TO itab_main_tst. s_no = s_no + 1. CLEAR : g_x_calc_c, g_x_calc_c1, g_x_calc_c2. ENDIF. CLEAR : wa_main_n, wa_main_n1, wa_main_tst. ENDLOOP. "Newly Added on 21.06.2012: gv_cnt = 0. DESCRIBE TABLE itab_main_c LINES gv_cnt. LOOP AT itab_main_tst INTO wa_main_tst WHERE matnr = wa_it_stb-idnrk. IF wa_main_tst IS NOT INITIAL. READ TABLE itab_main_c INTO wa_main_c WITH KEY zrmat = wa_main_tst-zrmat pcrt = wa_main_tst-pcrt. IF sy-subrc EQ 0. wa_main-c12_13 = wa_main_tst-c12_13. wa_main-qty_ded_n = wa_main_tst-qty_ded_n. wa_main-qty2 = wa_main_tst-qty2. MODIFY itab_main_c INDEX sy-tabix FROM wa_main TRANSPORTING c12_13 qty_ded_n qty2. ELSE. gv_cnt = gv_cnt + 1. MOVE gv_cnt TO wa_main-sno. MOVE wa_main_tst-zrmat TO wa_main-zrmat. MOVE wa_main_tst-coach TO wa_main-coach. MOVE wa_main_tst-ibmcode TO wa_main-ibmcode. MOVE wa_main_tst-pcrt TO wa_main-pcrt. MOVE wa_main_tst-c12_13 TO wa_main-c12_13. MOVE wa_main_tst-matnr TO wa_main-matnr. "Added omn 26.06.2012: "************************************* MOVE wa_main_tst-qty2 TO wa_main-qty2. MOVE wa_main_tst-qty_ded_n TO wa_main-qty_ded_n. "************************************* MOVE wa_main_tst-alpos TO wa_main-alpos. MOVE wa_main_tst-stlnr TO wa_main-stlnr. MOVE wa_main_tst-ewahr TO wa_main-ewahr. APPEND wa_main TO itab_main_c. ENDIF. ENDIF. CLEAR : wa_main, wa_main_c, wa_main_tst. ENDLOOP.************************************************************************* CLEAR : w_count,w_count_n,s_numb,x_qty_ded_offn,x_qty_ded_offc. REFRESH itab_main_n. LOOP AT itab_main_c INTO wa_main. g_c11_12_tot = g_c11_12_tot + wa_main-c11_12. g_qty1_tot = g_qty1_tot + wa_main-qty1. g_c12_13_tot = g_c12_13_tot + wa_main-c12_13. g_qty2_tot = g_qty2_tot + wa_main-qty2.* offload deduction part - current year CLEAR wa_stb_off. READ TABLE it_stb_off INTO wa_stb_off WITH KEY zrmat = wa_it_stb-zrmat alpos1 = 'X' zrcotyp = wa_main-coach. "#EC * IF sy-subrc = 0 AND wa_main-qty1 GT 0 AND wa_stb_off-ewahr1 GT 0. wa_main-qty_ded_offc = ( wa_main-qty1 * ( wa_stb_off-ewahr1 / 100 ) ). x_qty_ded_offc = x_qty_ded_offc + wa_main-qty_ded_offc. ENDIF.* offload deduction part - next year CLEAR wa_stb_off1. READ TABLE it_stb_off1 INTO wa_stb_off1 WITH KEY zrmat = wa_it_stb-zrmat alpos1 = 'X' zrcotyp = wa_main-coach. "#EC * IF sy-subrc = 0 AND wa_main-qty2 GT 0 AND wa_stb_off1-ewahr1 GT 0. wa_main-qty_ded_offn = ( wa_main-qty2 * ( wa_stb_off1-ewahr1 / 100 ) ). x_qty_ded_offn = x_qty_ded_offn + wa_main-qty_ded_offn. ENDIF. APPEND wa_main TO itab_main. CLEAR: wa_main_c,w_pcrt,wa_main. ENDLOOP. vb-c11_12_tot = g_c11_12_tot. vb-c12_13_tot = g_c12_13_tot.* Select werks gjahr zdqtotal matnr from zpp_mpo_master1 into table it_master* for ALL ENTRIES IN itab_main_c* where matnr = itab_main_c-matnr.** Describe Table it_master lines line.* Read Table it_master into wa_master index line. vb-qty1_tot = g_qty1_tot. " wa_master-zdqtotal. vb-qty2_tot = g_qty2_tot. CLEAR : g_c11_12_tot, g_c12_13_tot, g_qty1_tot, g_qty2_tot. vb-tot_ded_qty_c = x_qty_ded. vb-tot_ded_qty_n = x_qty_ded1. vb-tot_off_dedc = x_qty_ded_offc. vb-tot_off_dedn = x_qty_ded_offn. PERFORM quantity_addl. PERFORM fixed_toolroom. CLEAR: vb-wa_deduction, vb-wa_deduction_p. CLEAR: vb-wa_requirement,vb-wa_requirement_p. PERFORM require_part_zroh.* PERFORM spare_quantity. READ TABLE it_vbap INTO wa_vbap WITH KEY matnr = wa_it_stb-idnrk. IF sy-subrc EQ 0. MOVE wa_vbap-kwmeng TO vb-zonal_qnty. ENDIF. CLEAR wa_vbap-kwmeng. CLEAR: vb-werks,vb-matnr,vb-zbper,vb-zaper, vb-wa_allo_qnty_p,vb-wa_allo_qnty,vb-wa_allo_qnty,vb-wa_allo_qnty_p, vb-wa_buff_qnty,vb-wa_total1,vb-wa_total2,wa_total_main. SELECT SINGLE matnr werks zbper zaper FROM zmpo_buf_allo INTO CORRESPONDING FIELDS OF vb WHERE werks = p_werks AND matnr = wa_it_stb-idnrk. "Getting the Buffer and Allowance from the ZMPO_BUF_ALLO table: READ TABLE it_zmpo_buf_allo INTO wa_zmpo_buf_allo WITH KEY werks = p_werks matnr = wa_it_stb-idnrk. IF sy-subrc EQ 0. MOVE wa_zmpo_buf_allo-zbper TO vb-zbper. MOVE wa_zmpo_buf_allo-zaper TO vb-zaper. ENDIF. vb-wa_buff_qnty = vb-zbper / 100 * vb-wa_requirement_p. vb-wa_allo_qnty_p = vb-zaper / 100 * vb-wa_requirement_p. vb-wa_allo_qnty = vb-zaper / 100 * vb-wa_requirement. vb-mtart = wa_it_stb_sort-mtart. vb-wa_total2 = vb-wa_buff_qnty + vb-wa_allo_qnty_p + vb-wa_deduction_p + vb-wa_requirement_p + vb-wa_ztqty_p + vb-wa_zfqty_p + vb-spares_qnty + vb-zonal_qnty. vb-wa_total1 = vb-wa_allo_qnty + vb-wa_requirement + vb-wa_deduction + vb-wa_ztqty_c + vb-wa_zfqty_c. vb-wa_total_main = vb-wa_total1 + vb-wa_total2. SHIFT vb-zbper LEFT DELETING LEADING '0'. SHIFT vb-zaper LEFT DELETING LEADING '0'. SHIFT vb-wa_ztqty_c LEFT DELETING LEADING '0'.* SHIFT vb-wa_zfqty_c LEFT DELETING LEADING '0'.* SHIFT vb-wa_zfqty_p LEFT DELETING LEADING '0'. SHIFT vb-wa_ztqty_p LEFT DELETING LEADING '0'. MOVE wa_it_stb-idnrk TO vb-matnr. PERFORM special_remarks_para. APPEND vb TO it. CLEAR vb. CLEAR : wa_zmpo_buf_allo, wa_it_stb_sort2. REFRESH : it_stb_sort2, itab_main_tst, itab_main_n1, itab_main_c1.ENDFORM. "print_form_part*&---------------------------------------------------------------------**& Form SPECIAL_REMARKS_PARA*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* p1 text* p1 text* p1 text* p1 text* RT_EXTAB text*----------------------------------------------------------------------*FORM set_pf_status1 USING rt_extab TYPE slis_t_extab. "#EC CALLED SET PF-STATUS 'ZSTANDARD3'.ENDFORM. "SET_PF_STATUS*&---------------------------------------------------------------------**& Form F4HELP_CPLAN*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* p1 text* p1 text* p1 text* p1 text* p1 text* p1 text* p1 text* p1 text*