ZMM_GPR_PRINT
*&---------------------------------------------------------------------*
*& Report
ZMM_GPR_PRINT
*&
*&---------------------------------------------------------------------*
*& To Print the Gate Pass Request Details
*& Developer: Mounika.M
*&---------------------------------------------------------------------*
REPORT zmm_gpr_print
MESSAGE-ID zmm_gpr_msg.
INCLUDE zmm_gpr_print_top. "Data Declarations"
INCLUDE zmm_gpr_print_s01. "Selection Screen"
INCLUDE zmm_gpr_print_d01. "Fetching Data"
INCLUDE zmm_gpr_print_f01. "Subroutines"
*************************************************************************************************************
*&---------------------------------------------------------------------*
*& Include ZMM_GPR_PRINT_TOP
*&---------------------------------------------------------------------*
TYPE-POOLS: slis, icon.
TABLES:zmm_gp_it_det, zmm_gprh, zmm_gp_ot_det.
TYPES: BEGIN OF
gty_zmm_gprh,
gpr_no TYPE
zzm_gpr_no, "GPR
Number
zyear TYPE
zzm_year,
"Year of Creation
sy_created_by TYPE zzm_crt_by, "Created By (SAP ID)
created_by TYPE zzm_usr_crt_by, "Created By (user fills it)
created_on TYPE zzm_crt_dt, "Creation Date
created_ph TYPE zzm_crt_ph, "Phone number of the person
released TYPE
zzm_released,
"Released Status
released_by TYPE zzm_released_by, "Released By (HOD) - SAP Login ID
text TYPE zzm_text, "Reason Code Text
END OF
gty_zmm_gprh,
BEGIN OF
gty_zmm_gpit,
gpr_no TYPE
zzm_gpr_no, "GPR
Number
zyear TYPE
zzm_year,
"Year of Creation
posnr TYPE
zzm_posnr,
"Item number of the SD document
lgort TYPE
lgort_d,
"Storage Location
kostl TYPE
kostl,
"Cost Center
wo_ref TYPE
zzm_wo_ref,
"Work Order Reference
wo_ref_dt TYPE zzm_wo_ref_dt, "WO Reference Date
mo_no TYPE
zzm_mo_no,
"Maintenance Order Number
mo_dt TYPE
zzm_mo_dt,
"Maintenance Order Date
matnr TYPE
matnr,
"Material Number
quan_iss TYPE
zzm_quan_iss,
"Quantity Issued (Weight)
wt_unit TYPE
meins,
"Base Unit of Measure
apprx_value TYPE zzm_apprx_value, "Approximate Value
END OF
gty_zmm_gpit,
BEGIN OF
gty_zmm_gpot,
gpr_no TYPE
zzm_gpr_no, "GPR
Number
zyear TYPE
zzm_year,
"Year of Creation
returnable TYPE zzm_returnable, "Returnable
exp_ret_date TYPE zzm_ret_date, "Expected Return Date
werks TYPE
werks_d,
"Plant
lifnr TYPE
lifnr,
"Account Number of Vendor or Creditor
name1 TYPE
name1,
"Vendor Name
stras TYPE stras, "Address
ort01 TYPE
ort01_gp,
"City
ort02 TYPE
ort01_gp,
"District
pstlz TYPE
pstlz,
"Postal Code
region TYPE
regio,
"Region (State, Province, County)
land1 TYPE
land1,
"Country Key
tel_number TYPE ad_tlnmbr1, "First telephone no.:
dialling code+number
tel_extn TYPE
ad_tlxtns1,
"First Telephone No.: Extension
fax_number TYPE ad_fxnmbr1, "First fax no.: dialling
code+number
fax_extn TYPE
ad_fxxtns1,
"First fax no.: extension
v_cst_no TYPE
j_1icstno,
"Central Sales Tax Number
v_gst_no TYPE
j_1icstno,
"Central Sales Tax Number
v_vat TYPE
stceg, "VAT
Registration Number
mode_of_trans TYPE
zzm_mode_of_trans,
"Mode of Transport
mat_rec TYPE
zzm_mat_rec,
"Material Received By
freight TYPE
zzm_freight,
"Freight payer
insu_payer TYPE zzm_insu, "Insurance payer
octr_payer TYPE zzm_octr, "Octrio payer
END OF
gty_zmm_gpot,
BEGIN OF
gty_makt,
matnr TYPE
matnr,
"Material Number
maktx TYPE
maktx,
"Material Description
END OF
gty_makt,
BEGIN OF
gty_t001l,
lgort TYPE
lgort_d,
"Storage Location
lgobe TYPE
lgobe,
"Storage Description
END OF
gty_t001l,
BEGIN OF
gty_cskt,
kostl TYPE
kostl,
"Cost Centre
ltext TYPE
ltext,
"Text
END OF
gty_cskt,
BEGIN OF
gty_t001w,
werks TYPE
werks_d,
"Material Description
name1 TYPE
name1,
"Vendor Name
END OF
gty_t001w,
BEGIN OF
gty_output,
gv_sel TYPE char4, "Radio Button
gpr_no TYPE zzm_gpr_no, "GPR Number
created_on TYPE zcrt_dt, "Creation Date
created_by TYPE
zzm_usr_crt_by, "Created
By (user fills it)
werks TYPE werks_d, "Plant
werks_desc TYPE name1, "Plant Description
returnable TYPE
zzm_returnable,
"Returnable
released TYPE zzm_released, "Released Status
released_by TYPE zzm_released_by, "Released By (HOD) - SAP Login
ID
lgort TYPE lgort_d, "Storage Location
lgobe TYPE lgobe, "Storage Location
Description
lifnr TYPE lifnr, "Account Number of
Vendor or Creditor
name1 TYPE name1, "Vendor Name
END OF
gty_output.
DATA:
wa_funcnm TYPE funcname,
fp_outputparams TYPE
sfpoutputparams,
fp_docparams TYPE
sfpdocparams,
fp_formoutput TYPE
fpformoutput,
output_file TYPE string,
data_tab TYPE TABLE OF x255,
filename TYPE string,
path TYPE string,
fullpath TYPE string,
wt_file TYPE filetable,
default_extension TYPE string
VALUE 'PDF',
lv_filelength TYPE i,
lt_rawtab TYPE TABLE OF
char255,
wa_data_tab LIKE LINE OF
lt_rawtab,
wa_data_tab1 TYPE xstring,
lo_fp TYPE REF TO if_fp VALUE IS
INITIAL,
lo_fpex TYPE REF TO cx_fp_runtime VALUE IS
INITIAL,
lo_pdfobj TYPE REF TO if_fp_pdf_object VALUE IS
INITIAL,
pdf_data TYPE xstring,
xml_data TYPE xstring,
lt_xml_data TYPE STANDARD
TABLE OF xstring,
lv_xml_data_string TYPE string,
t_return TYPE STANDARD TABLE OF bapiret2,
t_per_info TYPE STANDARD
TABLE OF smum_xmltb,
tag_open TYPE tdsfflag,
s_struct TYPE zmm_gpr_struct,
gi_zmm_gpit TYPE TABLE OF
gty_zmm_gpit, "Internal Table for Item Table
li_zmm_gpit TYPE TABLE
OF gty_zmm_gpit, "Internal Table for Item Table
gs_zmm_gpit TYPE
gty_zmm_gpit, "Work
Area for Item Table
gi_zmm_gpot TYPE TABLE OF
gty_zmm_gpot, "Internal
Table for Others Table
li_zmm_gpot TYPE TABLE OF
gty_zmm_gpot, "Internal
Table for Others Table
gs_zmm_gpot TYPE
gty_zmm_gpot, "Work
Area for Others Table
gi_zmm_gprh TYPE TABLE OF gty_zmm_gprh, "Internal Table for GPR Header
Table
gs_zmm_gprh TYPE
gty_zmm_gprh, "Work
Area for GPR Header Table
gi_final TYPE zmm_gpr_ttype, "Internal Table to
display item details in the form
gs_final LIKE LINE OF gi_final, "Work Area to display item
details
gi_output TYPE TABLE OF
gty_output, "Internal
Table to display Header and Other table details in the form
gs_output LIKE LINE OF
gi_output, "Work Area to
display Header and Other table details
i_fieldcat TYPE
slis_t_fieldcat_alv,
"Internal Table for Fieldcatalog
gs_fieldcat TYPE
slis_fieldcat_alv , "Work
Area For Fieldcatalog
gs_makt TYPE gty_makt, "Work Area for
Material Descriptions
gs_t001l TYPE gty_t001l, "Work Area for
Storage Locations
gs_t001w TYPE gty_t001w, "Work Area for Plant
Details
gs_cskt TYPE gty_cskt, "Work Area for Cost
Centre Texts
gi_makt TYPE TABLE OF gty_makt, "Internal Table for Material
Descriptions
gi_t001l TYPE TABLE OF gty_t001l, "Internal Table for Storage
Locations
gi_cskt TYPE TABLE OF gty_cskt, "Internal Table for Cost
Centre Texts
gi_t001w TYPE TABLE OF gty_t001w, "Internal Table for Plant
Details
gs_user_data TYPE
soudatai1,
gs_user TYPE soudnamei1,
gs_tline TYPE tline,
i_tline LIKE TABLE OF gs_tline,
e_header TYPE thead,
BEGIN OF
wa_tab,
tdline TYPE tline-tdline, "Text Lines
END OF wa_tab,
td_tab LIKE STANDARD TABLE OF wa_tab,
s_output TYPE zmm_gpr_output,
str TYPE string,
var TYPE string,
gv_name TYPE t005t-landx,
gv_region_name TYPE
t005u-bezei,
v_gpr_no TYPE zzm_gpr_no,
v_zyear TYPE zzm_year,
v_create TYPE zzm_crt_dt,
v_werks TYPE werks_d,
v_lgort TYPE t001l-lgort,
v_name TYPE string,
v_name1 TYPE string,
v_name2 TYPE string,
v_stras TYPE string,
v_stras1 TYPE string,
v_stras2 TYPE string,
v_stras3 TYPE string,
v_stras4 TYPE string,
v_stras5 TYPE string,
v_ort01 TYPE string,
v_pstlz TYPE string,
v_ortpstl TYPE string,
v_region TYPE string,
v_land1 TYPE string,
v_regland1 TYPE string,
dd07v_tab_a TYPE TABLE OF
dd07v,
dd_tab TYPE TABLE OF dd07v,
ds_tab TYPE dd07v.
FIELD-SYMBOLS:
<fs_table> LIKE
i_fieldcat,
<fs> LIKE
gs_fieldcat,
<fs_gi_output> LIKE
gi_output,
<fs_gs_output> LIKE
gs_output.
CONSTANTS:
c_gi_output TYPE
slis_tabname VALUE 'GI_OUTPUT',
c_gpr_print TYPE
trdir-name VALUE
'ZMM_GPR_PRINT_TOP',
c_struc_name TYPE
dd02l-tabname VALUE 'ZMM_GPR_OUTPUT',
c_sel(7) TYPE c VALUE 'GV_SEL',
c_pf_status TYPE slis_formname VALUE 'PF_STATUS',
c_inter TYPE slis_formname VALUE 'INTER',
c_print(7) TYPE c VALUE 'PRINT',
c_menu TYPE GUI_STATUS VALUE 'ZMM_GPR_MENU',
c_back(5) TYPE c VALUE 'BACK',
c_z_gate LIKE e_header-tdobject VALUE
'Z_GATE',
c_zgpr LIKE e_header-tdid VALUE 'ZGPR',
c_tilt TYPE c VALUE '~',
c_sep TYPE c VALUE '-',
c_coma TYPE c VALUE ',',
c_x TYPE c VALUE 'X',
c_adobe TYPE fpname VALUE 'ZMM_GPR_ADOBE',
c_s TYPE c VALUE 'S',
c_e TYPE c VALUE 'E',
c TYPE c VALUE '.',
c_10 TYPE c VALUE '/',
c_frieght TYPE
dd01l-domname VALUE 'YFREIGHT',
c_insu TYPE dd01l-domname VALUE 'YINSU',
c_octr TYPE dd01l-domname VALUE 'Y0CTR'.
***************************************************************************************************************
*&---------------------------------------------------------------------*
*& Include ZMM_GPR_PRINT_S01
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE
text-a00.
SELECT-OPTIONS:s_gpr_no FOR
v_gpr_no ,
s_zyear FOR v_zyear NO INTERVALS OBLIGATORY,
s_create FOR v_create,
s_werks FOR v_werks,
s_lgort FOR v_lgort.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN.
"Validating Gate pass request number, year of creation and created
on
SELECT gpr_no FROM
zmm_gprh INTO v_gpr_no UP TO 1 ROWS WHERE gpr_no IN s_gpr_no
AND zyear IN s_zyear
AND created_on IN s_create.
ENDSELECT.
IF sy-subrc
<> 0.
MESSAGE e100
DISPLAY LIKE c_s.
ENDIF.
AT SELECTION-SCREEN ON s_werks. "Validating Plant
SELECT werks FROM
t001w INTO v_werks UP TO 1 ROWS WHERE werks IN s_werks.
ENDSELECT.
IF sy-subrc
<> 0.
MESSAGE e103
DISPLAY LIKE c_s.
ENDIF.
AT SELECTION-SCREEN ON s_lgort. "Validating Storage Location
SELECT lgort FROM
t001l INTO v_lgort UP TO 1 ROWS WHERE lgort IN s_lgort.
ENDSELECT.
IF sy-subrc
<> 0.
MESSAGE e104
DISPLAY LIKE c_s.
ENDIF.
***************************************************************************
*&---------------------------------------------------------------------*
*& Include ZMM_GPR_PRINT_D01
*&---------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM zmm_get_data_f01. "Fetching data
PERFORM zmm_combine_data_f02. "Moving data into single internal
table
PERFORM zmm_display_data_f03. "Display data
*********************************************************************************************************************
*&---------------------------------------------------------------------*
*& Include ZMM_GPR_PRINT_F01
*&---------------------------------------------------------------------*
FORM zmm_get_data_f01.
SELECT gpr_no
zyear
sy_created_by
created_by
created_on
created_ph
released
released_by
text
FROM
zmm_gprh INTO
TABLE gi_zmm_gprh WHERE gpr_no IN s_gpr_no
AND zyear IN
s_zyear
AND created_on IN
s_create
AND deleted NE
c_x.
IF sy-subrc = 0.
IF gi_zmm_gprh IS
NOT INITIAL.
SORT
gi_zmm_gprh BY gpr_no.
SELECT gpr_no
zyear
posnr
lgort
kostl
wo_ref
wo_ref_dt
mo_no
mo_dt
matnr
quan_iss
wt_unit
apprx_value
FROM zmm_gp_it_det INTO TABLE gi_zmm_gpit
FOR ALL
ENTRIES IN gi_zmm_gprh WHERE gpr_no = gi_zmm_gprh-gpr_no
AND zyear IN s_zyear
AND lgort IN s_lgort.
IF sy-subrc
<> 0.
MESSAGE s106
DISPLAY LIKE c_e.
LEAVE
LIST-PROCESSING.
ENDIF.
SELECT gpr_no
zyear
returnable
exp_ret_date
werks
lifnr
name1
stras
ort01
ort02
pstlz
region
land1
tel_number
tel_extn
fax_number
fax_extn
v_cst_no
v_gst_no
v_vat
mode_of_trans
mat_rec
freight
insu_payer
octr_payer
FROM
zmm_gp_ot_det INTO TABLE gi_zmm_gpot
FOR ALL
ENTRIES IN gi_zmm_gprh WHERE gpr_no = gi_zmm_gprh-gpr_no
AND zyear IN s_zyear
AND werks IN s_werks.
IF sy-subrc
<> 0.
MESSAGE s106
DISPLAY LIKE c_e.
LEAVE
LIST-PROCESSING.
ENDIF.
ENDIF.
ELSE.
MESSAGE s106
DISPLAY LIKE c_e.
LEAVE
LIST-PROCESSING.
ENDIF.
IF gi_zmm_gpit IS
NOT INITIAL.
li_zmm_gpit[] =
gi_zmm_gpit[].
SORT gi_zmm_gpit
BY lgort.
DELETE ADJACENT DUPLICATES FROM li_zmm_gpit
COMPARING lgort.
SELECT lgort
lgobe FROM t001l INTO TABLE gi_t001l
FOR ALL
ENTRIES IN li_zmm_gpit
WHERE
lgort = li_zmm_gpit-lgort.
REFRESH
li_zmm_gpit[].
li_zmm_gpit[] =
gi_zmm_gpit[].
SORT gi_zmm_gpit
BY kostl.
DELETE ADJACENT
DUPLICATES FROM li_zmm_gpit COMPARING kostl.
SELECT kostl
ltext FROM cskt INTO TABLE gi_cskt
FOR ALL
ENTRIES IN li_zmm_gpit
WHERE
kostl = li_zmm_gpit-kostl
AND
spras = sy-langu.
REFRESH
li_zmm_gpit[].
li_zmm_gpit[] =
gi_zmm_gpit[].
SORT gi_zmm_gpit
BY matnr.
DELETE ADJACENT
DUPLICATES FROM li_zmm_gpit COMPARING matnr.
SELECT matnr
maktx FROM makt INTO TABLE gi_makt
FOR ALL
ENTRIES IN li_zmm_gpit
WHERE
matnr = li_zmm_gpit-matnr
AND
spras = sy-langu.
ENDIF.
IF gi_zmm_gpot IS
NOT INITIAL.
li_zmm_gpot[] =
gi_zmm_gpot.
SORT li_zmm_gpot
BY werks.
DELETE ADJACENT
DUPLICATES FROM li_zmm_gpot COMPARING werks.
SELECT werks
name1 FROM t001w INTO TABLE gi_t001w
FOR ALL ENTRIES IN li_zmm_gpot
WHERE werks = li_zmm_gpot-werks.
ENDIF.
ENDFORM.
"get_data
*&---------------------------------------------------------------------*
*& Form combine_data
*&---------------------------------------------------------------------*
* Moving data
into single internal table
*----------------------------------------------------------------------*
FORM zmm_combine_data_f02.
SORT
gi_zmm_gpit BY gpr_no.
SORT
gi_zmm_gpot BY gpr_no.
SORT gi_t001l BY lgort.
SORT gi_t001w BY werks.
SORT
gi_zmm_gprh BY gpr_no.
LOOP AT gi_zmm_gpot INTO gs_zmm_gpot.
READ TABLE
gi_zmm_gprh INTO gs_zmm_gprh WITH KEY gpr_no = gs_zmm_gpot-gpr_no BINARY
SEARCH.
IF sy-subrc = 0.
READ TABLE
gi_zmm_gpit INTO gs_zmm_gpit WITH KEY gpr_no = gs_zmm_gprh-gpr_no BINARY
SEARCH.
IF sy-subrc = 0.
gs_output-gpr_no =
gs_zmm_gprh-gpr_no.
gs_output-created_on =
gs_zmm_gprh-created_on.
gs_output-created_by =
gs_zmm_gprh-created_by.
gs_output-released =
gs_zmm_gprh-released.
gs_output-released_by = gs_zmm_gprh-released_by.
gs_output-lgort =
gs_zmm_gpit-lgort.
gs_output-werks =
gs_zmm_gpot-werks.
gs_output-lifnr =
gs_zmm_gpot-lifnr.
gs_output-name1 =
gs_zmm_gpot-name1.
gs_output-returnable =
gs_zmm_gpot-returnable.
READ TABLE
gi_t001l INTO gs_t001l WITH KEY lgort = gs_zmm_gpit-lgort BINARY SEARCH.
IF sy-subrc =
0.
gs_output-lgobe =
gs_t001l-lgobe.
ENDIF.
READ TABLE
gi_t001w INTO gs_t001w WITH KEY werks = gs_zmm_gpot-werks BINARY SEARCH.
IF sy-subrc =
0.
gs_output-werks_desc = gs_t001w-name1.
ENDIF.
gs_output-gv_sel = icon_wd_radio_button_empty.
APPEND gs_output
TO gi_output.
CLEAR:gs_output, gs_zmm_gprh, gs_zmm_gpit, gs_zmm_gpot, gs_t001l,
gs_t001w.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
"combine_data
*&---------------------------------------------------------------------*
*& Form display_data
*&---------------------------------------------------------------------*
* Display the
Data
*----------------------------------------------------------------------*
FORM zmm_display_data_f03.
PERFORM
zmm_alv_fcat. "FieldCatalog FM
IF sy-subrc
<> 0.
MESSAGE ID
sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH
sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ASSIGN i_fieldcat
TO <fs_table>.
ASSIGN gs_fieldcat
TO <fs>.
SORT
<fs_table> BY fieldname.
READ TABLE
<fs_table> ASSIGNING <fs> WITH KEY fieldname = c_sel BINARY SEARCH.
IF sy-subrc = 0.
<fs>-hotspot = c_x.
<fs>-icon = c_x.
ENDIF.
PERFORM
zmm_alv_grid.
"ALV Grid FM
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_data
*&---------------------------------------------------------------------*
*& Form
INTER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
*
-->UCOMM Function code
that PAI triggered
*
-->SELFIELD Information
cursor position ALV
*----------------------------------------------------------------------*
FORM inter USING ucomm TYPE sy-ucomm
selfield TYPE slis_selfield.
IF sy-ucomm =
c_print.
EXIT.
ENDIF.
CASE
selfield-fieldname.
WHEN c_sel.
ASSIGN:
gi_output TO <fs_gi_output>,
gs_output TO <fs_gs_output>.
SORT
<fs_gi_output> BY gv_sel gpr_no.
READ TABLE
<fs_gi_output> ASSIGNING <fs_gs_output> WITH KEY gv_sel =
icon_radiobutton BINARY SEARCH.
IF sy-subrc =
0.
<fs_gs_output>-gv_sel = icon_wd_radio_button_empty.
SORT
gi_output BY gpr_no.
READ TABLE
<fs_gi_output> ASSIGNING <fs_gs_output> INDEX selfield-tabindex.
<fs_gs_output>-gv_sel = icon_radiobutton.
ELSE.
READ TABLE
<fs_gi_output> ASSIGNING <fs_gs_output> INDEX selfield-tabindex.
<fs_gs_output>-gv_sel = icon_radiobutton.
ENDIF.
ENDCASE.
selfield-refresh =
c_x.
ENDFORM.
"user_command
*&---------------------------------------------------------------------*
*& Form PF_STATUS
*&---------------------------------------------------------------------*
* Interactive
Subroutine
*----------------------------------------------------------------------*
*
-->UT_EXTAB Excluding Table
*----------------------------------------------------------------------*
FORM pf_status USING ut_extab TYPE slis_t_extab. "#EC CALLED
SET PF-STATUS
c_menu .
CASE sy-ucomm.
WHEN c_back.
LEAVE TO SCREEN
0.
WHEN c_print.
CLEAR:
s_struct, gs_zmm_gpot, gs_zmm_gprh.
SORT gi_output
BY gv_sel.
READ TABLE
gi_output INTO gs_output WITH KEY gv_sel = icon_radiobutton BINARY SEARCH.
IF sy-subrc =
0.
PERFORM
get_data_to_finalstruct. "Moving
header and other data to the structure
PERFORM
get_data_to_finaltab. "Moving
Item data to final internal table
PERFORM
calling_form. "Calling
the Adobe Form
ELSE.
MESSAGE i105
DISPLAY LIKE c_e.
ENDIF.
ENDCASE.
SORT gi_output BY
gpr_no.
ENDFORM.
"PF_STATUS
*&---------------------------------------------------------------------*
*& Form SUB3
*&---------------------------------------------------------------------*
* Item Details
*----------------------------------------------------------------------*
*
-->P_1222 Item
*
-->P_gs_zmm_gpr_MATNR
Material Details
*
-->P_gs_zmm_gpr_WT_UNIT
Units of Measure
*
-->P_gs_zmm_gpr_QUAN_ISS
Quantity Issued
*
-->P_gs_zmm_gpr_LGORT
Storage Location Details
*
-->P_gs_zmm_gpr_KOSTL Cost
Centre Details
*
-->P_gs_zmm_gpr_WO_REF
Workorder Reference Details
*
-->P_gs_zmm_gpr_MO_NO
Maintainence Order Deatils
*
-->P_gs_zmm_gpr_APPRX_VALUE Approximate Value
*----------------------------------------------------------------------*
FORM sub3 USING value(p_1222)
p_gs_zmm_gpr_matnr
p_gs_zmm_gpr_wt_unit
p_gs_zmm_gpr_quan_iss
p_gs_zmm_gpr_lgort
p_gs_zmm_gpr_kostl
p_gs_zmm_gpr_wo_ref
p_gs_zmm_gpr_mo_no
p_gs_zmm_gpr_apprx_value.
gs_final-item_no =
p_1222.
gs_final-material =
p_gs_zmm_gpr_matnr.
gs_final-uom = p_gs_zmm_gpr_wt_unit.
gs_final-quantity =
p_gs_zmm_gpr_quan_iss.
gs_final-storage =
p_gs_zmm_gpr_lgort.
gs_final-cost_center =
p_gs_zmm_gpr_kostl.
IF
p_gs_zmm_gpr_wo_ref IS NOT INITIAL.
WRITE
p_gs_zmm_gpr_wo_ref TO gs_final-wo_ref.
ENDIF.
IF
p_gs_zmm_gpr_mo_no IS NOT INITIAL.
WRITE
p_gs_zmm_gpr_mo_no TO
gs_final-maint_order.
ENDIF.
gs_final-approximate_value =
p_gs_zmm_gpr_apprx_value.
APPEND gs_final TO
gi_final.
CLEAR gs_final.
ENDFORM.
" SUB3
*&---------------------------------------------------------------------*
*& Form ZMM_SUB1_F05
*&---------------------------------------------------------------------*
* To get the
description from domain level
*----------------------------------------------------------------------*
* -->P_DOMAIN Domain name
*
<--P_TAB View on fixed
values and domain texts
*----------------------------------------------------------------------*
FORM zmm_sub1_f05
USING p_domain LIKE
dd01l-domname
p_dom
CHANGING p_tab TYPE dd07v.
CALL FUNCTION
'DD_DOMA_GET'
EXPORTING
domain_name = p_domain
TABLES
dd07v_tab_a = dd07v_tab_a
dd07v_tab_n = dd_tab
EXCEPTIONS
illegal_value =
1
op_failure = 2
OTHERS = 3.
IF sy-subrc
<> 0.
ENDIF.
READ TABLE dd_tab
INTO p_tab WITH KEY domvalue_l = p_dom.
ENDFORM.
" ZMM_SUB1_F05
*&---------------------------------------------------------------------*
*& Form READ_TEXT_F06
*&---------------------------------------------------------------------*
* Long Text
*----------------------------------------------------------------------*
FORM read_text_f06 .
REFRESH i_tline.
e_header-tdobject
= c_z_gate.
e_header-tdid = c_zgpr.
e_header-tdspras =
sy-langu.
e_header-tdlinesize
= 132.
e_header-tdname =
gs_zmm_gprh-gpr_no.
CALL FUNCTION
'READ_TEXT'
EXPORTING
client = sy-mandt
id = e_header-tdid
language = e_header-tdspras
name = e_header-tdname
object = c_z_gate
TABLES
lines = i_tline
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive
= 7
OTHERS = 8.
ENDFORM.
" READ_TEXT_F06
*&---------------------------------------------------------------------*
*& Form FM_REGION_F07
*&---------------------------------------------------------------------*
* Calling FM
for Region Descripton
*----------------------------------------------------------------------*
FORM fm_region_f07 .
CALL FUNCTION
'HRWPC_RFC_BLAND_TEXT_GET'
EXPORTING
land = gs_zmm_gpot-land1 " eg: IN
bland = gs_zmm_gpot-region " eq: 06
langu = sy-langu
IMPORTING
bland_text =
gv_region_name.
ENDFORM.
" FM_REGION_F07
*&---------------------------------------------------------------------*
*& Form FM_COUNTRY_F08
*&---------------------------------------------------------------------*
* Calling FM
for Country Description
*----------------------------------------------------------------------*
FORM fm_country_f08 .
CALL FUNCTION
'DR_GET_COUNTRY_NAME'
EXPORTING
country = gs_zmm_gpot-land1 " Country key
language =
sy-langu
IMPORTING
name = gv_name.
ENDFORM.
" FM_COUNTRY_F08
*&---------------------------------------------------------------------*
*& Form FM_USER_READ_F09
*&---------------------------------------------------------------------*
* Calling FM
for User full name
*----------------------------------------------------------------------*
FORM fm_user_read_f09 .
CALL FUNCTION 'SO_USER_READ_API1'
EXPORTING
user = gs_user
prepare_for_folder_access = space
IMPORTING
user_data = gs_user_data
EXCEPTIONS
user_not_exist = 1
parameter_error = 2
x_error = 3
OTHERS = 4.
ENDFORM.
" FM_USER_READ_F09
*&---------------------------------------------------------------------*
*& Form GET_DATA_TO_FINALTAB
*&---------------------------------------------------------------------*
* Moving Item
data to final internal table
*----------------------------------------------------------------------*
FORM get_data_to_finaltab .
SORT gi_makt BY matnr.
SORT gi_t001l BY
lgort.
SORT gi_cskt BY kostl.
SORT gi_zmm_gpit BY
posnr.
REFRESH gi_final[].
LOOP AT gi_zmm_gpit
INTO gs_zmm_gpit WHERE gpr_no = gs_output-gpr_no.
READ TABLE
gi_makt INTO gs_makt WITH KEY matnr = gs_zmm_gpit-matnr BINARY SEARCH.
READ TABLE
gi_t001l INTO gs_t001l WITH KEY lgort = gs_zmm_gpit-lgort BINARY SEARCH.
READ TABLE
gi_cskt INTO gs_cskt WITH KEY kostl = gs_zmm_gpit-kostl BINARY SEARCH.
PERFORM sub3
USING space gs_zmm_gpit-matnr gs_zmm_gpit-wt_unit gs_zmm_gpit-quan_iss
gs_zmm_gpit-lgort gs_zmm_gpit-kostl gs_zmm_gpit-wo_ref gs_zmm_gpit-mo_no
gs_zmm_gpit-apprx_value.
PERFORM sub3
USING gs_zmm_gpit-posnr gs_makt-maktx space space gs_t001l-lgobe gs_cskt-ltext
gs_zmm_gpit-wo_ref_dt
gs_zmm_gpit-mo_dt space.
ENDLOOP.
CLEAR: gi_makt,
gs_makt, gi_t001l, gs_t001l, gi_cskt, gs_cskt, gs_zmm_gpit.
ENDFORM.
" GET_DATA_TO_FINALTAB
*&---------------------------------------------------------------------*
*& Form GET_DATA_TO_FINALSTRUCT
*&---------------------------------------------------------------------*
* Moving header
and other data to the structure
*----------------------------------------------------------------------*
FORM get_data_to_finalstruct .
SORT gi_zmm_gprh BY
gpr_no.
READ TABLE
gi_zmm_gprh INTO gs_zmm_gprh WITH KEY gpr_no = gs_output-gpr_no BINARY SEARCH.
IF sy-subrc = 0.
s_struct-gpr_no = gs_zmm_gprh-gpr_no.
s_struct-sy_created_by =
gs_zmm_gprh-sy_created_by.
s_struct-gpr_created_uname =
gs_zmm_gprh-created_by.
IF
gs_zmm_gprh-created_on IS NOT INITIAL.
WRITE
gs_zmm_gprh-created_on TO s_struct-gpr_date.
ENDIF.
s_struct-gpr_created_phone =
gs_zmm_gprh-created_ph.
s_struct-gpr_released_by =
gs_zmm_gprh-released_by.
s_struct-reason_for_movement =
gs_zmm_gprh-text.
PERFORM
read_text_f06. "Reading
long text
IF sy-subrc = 0.
LOOP AT i_tline
INTO gs_tline.
var = str.
CONCATENATE
var gs_tline-tdline INTO str.
ENDLOOP.
s_struct-long_text = str.
ENDIF.
ENDIF.
SORT gi_zmm_gpot BY
gpr_no.
READ TABLE
gi_zmm_gpot INTO gs_zmm_gpot WITH KEY gpr_no = gs_zmm_gprh-gpr_no BINARY SEARCH
.
IF sy-subrc = 0.
s_struct-plant =
gs_zmm_gpot-werks.
s_struct-vendor_account = gs_zmm_gpot-lifnr.
v_name = gs_zmm_gpot-name1.
SPLIT v_name AT
c_tilt INTO v_name1 v_name2.
s_struct-vendor_name1 = v_name1.
s_struct-vendor_name2 = v_name2.
v_stras = gs_zmm_gpot-stras.
SPLIT v_stras AT
c_tilt INTO v_stras1 v_stras2 v_stras3 v_stras4 v_stras5.
s_struct-v_addrline1 = v_stras1.
s_struct-v_addrline2
= v_stras2.
s_struct-v_addrline3 = v_stras3.
s_struct-v_addrline4 = v_stras4.
s_struct-v_addrline5 = v_stras5.
s_struct-v_addrline6 = gs_zmm_gpot-ort02.
v_ort01 = gs_zmm_gpot-ort01.
v_pstlz = gs_zmm_gpot-pstlz.
IF v_ort01 IS NOT
INITIAL AND v_pstlz IS NOT INITIAL.
CONCATENATE
v_ort01 v_pstlz INTO v_ortpstl SEPARATED BY c_sep.
ELSEIF v_ort01 IS
NOT INITIAL OR v_pstlz IS NOT INITIAL.
IF v_ort01 IS
INITIAL.
v_ortpstl =
v_pstlz.
ELSEIF v_pstlz
IS INITIAL.
v_ortpstl =
v_ort01.
ENDIF.
ENDIF.
s_struct-v_addrline7 = v_ortpstl.
PERFORM
fm_region_f07. "
Calling FM for Region Descripton
IF sy-subrc = 0.
v_region = gv_region_name.
ENDIF.
PERFORM
fm_country_f08. "
Calling FM for Country Description
IF sy-subrc = 0.
v_land1 = gv_name.
ENDIF.
v_region = gv_region_name.
v_land1 = gv_name.
IF v_region IS
NOT INITIAL AND v_land1 IS NOT INITIAL.
CONCATENATE
v_region v_land1 INTO v_regland1 SEPARATED BY c_coma.
ELSEIF v_region
IS NOT INITIAL OR v_land1 IS NOT INITIAL.
IF v_region IS
INITIAL.
v_regland1 =
v_land1.
ELSEIF v_land1
IS INITIAL.
v_regland1 =
v_region.
ENDIF.
ENDIF.
s_struct-v_addrline8 = v_regland1.
CONCATENATE
gs_zmm_gpot-tel_number gs_zmm_gpot-tel_extn INTO s_struct-tel_extn SEPARATED BY
c_10.
CONCATENATE
gs_zmm_gpot-fax_number gs_zmm_gpot-fax_extn INTO s_struct-fax_extn SEPARATED BY
c_10.
s_struct-cst_no =
gs_zmm_gpot-v_cst_no.
s_struct-lst_no =
gs_zmm_gpot-v_gst_no.
s_struct-vat_no =
gs_zmm_gpot-v_vat.
IF
gs_zmm_gpot-returnable = c_x.
s_struct-returnable = text-a01.
ELSE.
s_struct-returnable = text-a02.
ENDIF.
IF
gs_zmm_gpot-exp_ret_date IS NOT INITIAL.
WRITE
gs_zmm_gpot-exp_ret_date TO s_struct-exp_return_date.
ENDIF.
PERFORM zmm_sub1_f05 USING c_frieght "Reading text from Freight
Domain
gs_zmm_gpot-freight
CHANGING ds_tab.
s_struct-freight =
ds_tab-ddtext.
CLEAR:ds_tab,dd_tab.
PERFORM zmm_sub1_f05 USING c_insu "Reading text from
Insurance Domain
gs_zmm_gpot-insu_payer
CHANGING ds_tab.
s_struct-insurance =
ds_tab-ddtext.
CLEAR:ds_tab,dd_tab.
PERFORM
zmm_sub1_f05 USING c_octr
"Reading text from Octroi Domain
gs_zmm_gpot-insu_payer
CHANGING ds_tab.
s_struct-octroi =
ds_tab-ddtext.
CLEAR:ds_tab,dd_tab.
s_struct-mot = gs_zmm_gpot-mode_of_trans.
s_struct-mat_rec =
gs_zmm_gpot-mat_rec.
s_struct-sy_created_by =
gs_zmm_gprh-sy_created_by.
gs_user-sapname =
sy-uname.
PERFORM
fm_user_read_f09.
"Calling FM for User full name
IF sy-subrc
<> 0.
ENDIF.
s_struct-gpr_rel_name = gs_user_data-fullname.
ENDIF.
SORT gi_t001w BY
werks.
READ TABLE gi_t001w
INTO gs_t001w WITH KEY werks = gs_zmm_gpot-werks BINARY SEARCH.
IF sy-subrc = 0.
s_struct-description = gs_t001w-name1.
clear gs_t001w.
ENDIF.
CLEAR: var, str,
v_name1, v_name2, v_stras1, v_stras2, v_stras3, v_stras4, v_stras5,
v_name,
v_ort01, v_pstlz, v_ortpstl, v_region, gv_region_name, v_land1, gv_name,
v_regland1.
ENDFORM.
" GET_DATA_TO_FINALSTRUCT
*&---------------------------------------------------------------------*
*& Form CALLING_FORM
*&---------------------------------------------------------------------*
* Calling the
Adobe Form
*----------------------------------------------------------------------*
FORM calling_form .
CALL FUNCTION
'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = c_adobe
IMPORTING
e_funcname =
wa_funcnm.
fp_outputparams-reqnew = c_x.
CALL FUNCTION
'FP_JOB_OPEN'
CHANGING
ie_outputparams
= fp_outputparams
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
IF sy-subrc
<> 0.
MESSAGE ID
sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH
sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
fp_docparams-langu = sy-langu.
fp_docparams-fillable = c_x.
fp_docparams-dynamic = c_x.
CALL FUNCTION
wa_funcnm
EXPORTING
/1bcdwb/docparams = fp_docparams
gi_final = gi_final
s_struct = s_struct
IMPORTING
/1bcdwb/formoutput = fp_formoutput
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc
<> 0.
MESSAGE ID
sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH
sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION
'FP_JOB_CLOSE'
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error
= 3
OTHERS = 4.
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.
" CALLING_FORM
*&---------------------------------------------------------------------*
*& Form ZMM_ALV_FCAT
*&---------------------------------------------------------------------*
* FieldCatalog
FM
*----------------------------------------------------------------------*
FORM zmm_alv_fcat .
CALL FUNCTION
'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname =
c_gi_output
i_inclname = c_gpr_print
i_structure_name =
c_struc_name
i_bypassing_buffer = c_x
CHANGING
ct_fieldcat = i_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
ENDFORM.
" ZMM_ALV_FCAT
*&---------------------------------------------------------------------*
*& Form ZMM_ALV_GRID
*&---------------------------------------------------------------------*
* ALV Grid FM
*----------------------------------------------------------------------*
FORM zmm_alv_grid .
CALL FUNCTION
'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program =
sy-repid
i_callback_pf_status_set = c_pf_status
i_callback_user_command = c_inter
it_fieldcat =
i_fieldcat
TABLES
t_outtab = gi_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
" ZMM_ALV_GRID
INPUT:


No comments:
Post a Comment