************************************************************************
* SGL Group - The Carbon Company *
*----------------------------------------------------------------------*
* Type: Report Name: ZPPPSERNR01 *
* Application: PP *
* Date: 2011-11-14 *
* Last Update: N/A *
*----------------------------------------------------------------------*
* Author: POSNIAN *
* Requester: Paul Harper *
* Ticket No: *
*----------------------------------------------------------------------*
* Description: This Report is used to display the serial numbers based*
* on related production order and corresponding values *
* of material number ,basic material number and *
* serial number using the Script *
* *
*----------------------------------------------------------------------*
* Change Log *
* *
* YYYY-MM-DD Ini Description / Reason of Change (incl. ticket no.) *
* ---------- ----- --------------------------------------------------- *
* 2011-11-14 POSNIAN Initial Development-Transport Request# S1DK992981*
* *
************************************************************************
REPORT zpppsernr01.
INCLUDE ppcoincl.
*TABLES:caufvd,TDUMMY, PRINT_CO.
DATA caufvd_p_tab LIKE SORTED TABLE OF caufvd_p WITH UNIQUE KEY
aufnr WITH HEADER LINE.
DATA afpod_p_tab LIKE SORTED TABLE OF afpod_p WITH UNIQUE KEY
aufnr posnr WITH HEADER LINE.
DATA affld_p_tab LIKE SORTED TABLE OF affld_p WITH UNIQUE KEY
aufnr plnfl WITH HEADER LINE.
DATA afvgd_p_tab LIKE SORTED TABLE OF afvgd_p WITH UNIQUE KEY
aufnrd aplfl vornr WITH HEADER LINE.
DATA safvgd_p_tab LIKE SORTED TABLE OF afvgd_p WITH UNIQUE KEY
aufnrd aplfl vornr uvorn WITH HEADER LINE.
DATA resbd_p_tab LIKE SORTED TABLE OF resbd_p WITH UNIQUE KEY
posnr matnr rspos rsart WITH HEADER LINE.
DATA affhd_p_tab LIKE SORTED TABLE OF affhd_p WITH UNIQUE KEY
aufpl psnfh pzlfh WITH HEADER LINE.
DATA rserob_tab LIKE rserob OCCURS 0 WITH HEADER LINE.
TYPES: BEGIN OF t_ser05,
obknr TYPE objknr,
ppaufnr TYPE aufnr,
END OF t_ser05.
DATA: subrc LIKE sy-subrc.
DATA:it_objk TYPE TABLE OF zls_lstsernr,
wa_objk TYPE zls_lstsernr,
it_objk2 TYPE TABLE OF objk,
wa_objk2 TYPE objk,
wa_mara TYPE mara,
lv_wrkst type wrkst,
wa_ser05 TYPE t_ser05,
it TYPE TABLE OF zls_lstsernr.
* DATA: PRLST_TMP LIKE PRINT_CO.
* DATA PRINT_OPTS LIKE ITCPO.
DATA: lv_rowcnt TYPE i,
lv_colcnt TYPE i,
lv_rlno(3) TYPE n,
lv_cnt TYPE i,
lv_cnt1 TYPE i,
lv_left TYPE i,
lv_rem TYPE i,
sno(2) TYPE n ,
empty TYPE c VALUE ' ',
var1(18) TYPE c VALUE '__________________',
var2(30) TYPE c VALUE '______________________________'.
PERFORM import_data CHANGING subrc.
PERFORM get_info_list.
CLEAR subrc.
CALL FUNCTION 'CO_PRINT_GET_ORD'
EXPORTING
aufnr_imp = print_co-aufnr
flg_prtbl_opr = on
flg_prtbl_sop = on
flg_prtbl_cmp = on
flg_prtbl_prt = on
CHANGING
caufvd_p_tab_exp = caufvd_p_tab[]
EXCEPTIONS
entry_not_found = 1
OTHERS = 2.
LOOP AT caufvd_p_tab.
caufvd_p = caufvd_p_tab.
CLEAR wa_mara.
SELECT SINGLE * FROM mara INTO wa_mara
WHERE matnr = caufvd_p-matnr.
endloop.
perform zwe_sernr.
*PARAMETERS: p_aufnr TYPE ser05-ppaufnr.
FORM zwe_sernr.
SELECT SINGLE obknr ppaufnr FROM ser05
INTO wa_ser05 WHERE ppaufnr = print_co-aufnr.
SELECT obknr matnr sernr FROM objk
INTO CORRESPONDING FIELDS OF TABLE it_objk2
WHERE obknr = wa_ser05-obknr.
LOOP AT it_objk2 INTO wa_objk2.
wa_objk-obknr = wa_objk2-obknr.
wa_objk-matnr = wa_objk2-matnr.
wa_objk-sernr = wa_objk2-sernr.
SELECT SINGLE wrkst FROM mara
INTO lv_wrkst
WHERE matnr = wa_objk2-matnr.
wa_objk-wrkst = wa_mara-wrkst.
wa_objk-sno = sno.
wa_objk-null = empty.
APPEND wa_objk TO it.
ENDLOOP.
* open and start form
PERFORM open_form USING 'OBJLST'.
* CALL FUNCTION 'OPEN_FORM'
* EXPORTING
* form = 'ZPP_LSTSERNR01'.
*
* CALL FUNCTION 'START_FORM'
* EXPORTING
* form = 'ZPP_LSTSERNR01'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'LOGO'
window = 'LOGO'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'SAP'
window = 'PLANNED'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'PO WINDOW'
window = 'POWINDOW'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'SAP INTERNALLY'
window = 'SAPIN'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'SERIAL'
window = 'SERIAL'.
LOOP AT it_objk2 INTO wa_objk2.
sno = sno + 1.
lv_colcnt = lv_colcnt + 1.
lv_rlno = lv_rlno + 1.
wa_objk-row1 = lv_rowcnt.
wa_objk-column1 = lv_colcnt.
wa_objk-obknr = wa_objk2-obknr.
wa_objk-matnr = wa_objk2-matnr.
wa_objk-sno = sno.
wa_objk-sernr = wa_objk2-sernr.
wa_objk-null = empty.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'MAIN'
window = 'MAIN'.
APPEND wa_objk TO it_objk.
CLEAR wa_objk.
ENDLOOP.
DESCRIBE TABLE it_objk LINES lv_cnt1.
lv_rem = lv_cnt1 MOD 22.
lv_left = 22 - lv_rem.
DO lv_left TIMES.
sno = sno + 1.
lv_rowcnt = lv_rowcnt + 1.
wa_objk-sno = sno.
wa_objk-row1 = lv_rowcnt.
wa_objk-column1 = 1.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'MAIN'
window = 'MAIN'.
ENDDO.
CALL FUNCTION 'END_FORM'.
CALL FUNCTION 'CLOSE_FORM'.
* ENDDO.
* ENDDO.
ENDFORM. "zwe_sernr.
*&---------------------------------------------------------------------*
*& Form open_form
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->STARTPAGE text
*----------------------------------------------------------------------*
FORM open_form USING startpage.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
dialog = space
form = print_co-forml
language = print_co-spras
OPTIONS = print_opts
EXCEPTIONS
canceled = 01
device = 02
form = 03
OPTIONS = 04
unclosed = 05.
CALL FUNCTION 'START_FORM'
EXPORTING
startpage = startpage.
* reset counter for page numbers
print_co-actpage = 1.
ENDFORM. "open_form
*&---------------------------------------------------------------------*
*& Form IMPORT_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_SUBRC text
*----------------------------------------------------------------------*
form IMPORT_DATA changing subrc LIKE sy-subrc.
CALL FUNCTION 'CO_PRINT_IMPORT_DATA'
EXCEPTIONS
memory_id_ppt_not_exist = 1
memory_id_ppi_not_exist = 2
memory_id_pps_not_exist = 3
OTHERS = 4.
subrc = sy-subrc.
endform. " IMPORT_DATA
*&---------------------------------------------------------------------*
*& Form GET_INFO_LIST
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form GET_INFO_LIST .
CALL FUNCTION 'CO_PRINT_GET_INFO_LIST'
IMPORTING
print_co_exp = print_co
print_opts_exp = print_opts
EXCEPTIONS
OTHERS = 0.
* print-type
CASE print_co-drart.
WHEN reprint.
MOVE text-dup TO print_co-drtxt.
WHEN OTHERS.
MOVE text-org TO print_co-drtxt.
ENDCASE.
endform. " GET_INFO_LIST
* SGL Group - The Carbon Company *
*----------------------------------------------------------------------*
* Type: Report Name: ZPPPSERNR01 *
* Application: PP *
* Date: 2011-11-14 *
* Last Update: N/A *
*----------------------------------------------------------------------*
* Author: POSNIAN *
* Requester: Paul Harper *
* Ticket No: *
*----------------------------------------------------------------------*
* Description: This Report is used to display the serial numbers based*
* on related production order and corresponding values *
* of material number ,basic material number and *
* serial number using the Script *
* *
*----------------------------------------------------------------------*
* Change Log *
* *
* YYYY-MM-DD Ini Description / Reason of Change (incl. ticket no.) *
* ---------- ----- --------------------------------------------------- *
* 2011-11-14 POSNIAN Initial Development-Transport Request# S1DK992981*
* *
************************************************************************
REPORT zpppsernr01.
INCLUDE ppcoincl.
*TABLES:caufvd,TDUMMY, PRINT_CO.
DATA caufvd_p_tab LIKE SORTED TABLE OF caufvd_p WITH UNIQUE KEY
aufnr WITH HEADER LINE.
DATA afpod_p_tab LIKE SORTED TABLE OF afpod_p WITH UNIQUE KEY
aufnr posnr WITH HEADER LINE.
DATA affld_p_tab LIKE SORTED TABLE OF affld_p WITH UNIQUE KEY
aufnr plnfl WITH HEADER LINE.
DATA afvgd_p_tab LIKE SORTED TABLE OF afvgd_p WITH UNIQUE KEY
aufnrd aplfl vornr WITH HEADER LINE.
DATA safvgd_p_tab LIKE SORTED TABLE OF afvgd_p WITH UNIQUE KEY
aufnrd aplfl vornr uvorn WITH HEADER LINE.
DATA resbd_p_tab LIKE SORTED TABLE OF resbd_p WITH UNIQUE KEY
posnr matnr rspos rsart WITH HEADER LINE.
DATA affhd_p_tab LIKE SORTED TABLE OF affhd_p WITH UNIQUE KEY
aufpl psnfh pzlfh WITH HEADER LINE.
DATA rserob_tab LIKE rserob OCCURS 0 WITH HEADER LINE.
TYPES: BEGIN OF t_ser05,
obknr TYPE objknr,
ppaufnr TYPE aufnr,
END OF t_ser05.
DATA: subrc LIKE sy-subrc.
DATA:it_objk TYPE TABLE OF zls_lstsernr,
wa_objk TYPE zls_lstsernr,
it_objk2 TYPE TABLE OF objk,
wa_objk2 TYPE objk,
wa_mara TYPE mara,
lv_wrkst type wrkst,
wa_ser05 TYPE t_ser05,
it TYPE TABLE OF zls_lstsernr.
* DATA: PRLST_TMP LIKE PRINT_CO.
* DATA PRINT_OPTS LIKE ITCPO.
DATA: lv_rowcnt TYPE i,
lv_colcnt TYPE i,
lv_rlno(3) TYPE n,
lv_cnt TYPE i,
lv_cnt1 TYPE i,
lv_left TYPE i,
lv_rem TYPE i,
sno(2) TYPE n ,
empty TYPE c VALUE ' ',
var1(18) TYPE c VALUE '__________________',
var2(30) TYPE c VALUE '______________________________'.
PERFORM import_data CHANGING subrc.
PERFORM get_info_list.
CLEAR subrc.
CALL FUNCTION 'CO_PRINT_GET_ORD'
EXPORTING
aufnr_imp = print_co-aufnr
flg_prtbl_opr = on
flg_prtbl_sop = on
flg_prtbl_cmp = on
flg_prtbl_prt = on
CHANGING
caufvd_p_tab_exp = caufvd_p_tab[]
EXCEPTIONS
entry_not_found = 1
OTHERS = 2.
LOOP AT caufvd_p_tab.
caufvd_p = caufvd_p_tab.
CLEAR wa_mara.
SELECT SINGLE * FROM mara INTO wa_mara
WHERE matnr = caufvd_p-matnr.
endloop.
perform zwe_sernr.
*PARAMETERS: p_aufnr TYPE ser05-ppaufnr.
FORM zwe_sernr.
SELECT SINGLE obknr ppaufnr FROM ser05
INTO wa_ser05 WHERE ppaufnr = print_co-aufnr.
SELECT obknr matnr sernr FROM objk
INTO CORRESPONDING FIELDS OF TABLE it_objk2
WHERE obknr = wa_ser05-obknr.
LOOP AT it_objk2 INTO wa_objk2.
wa_objk-obknr = wa_objk2-obknr.
wa_objk-matnr = wa_objk2-matnr.
wa_objk-sernr = wa_objk2-sernr.
SELECT SINGLE wrkst FROM mara
INTO lv_wrkst
WHERE matnr = wa_objk2-matnr.
wa_objk-wrkst = wa_mara-wrkst.
wa_objk-sno = sno.
wa_objk-null = empty.
APPEND wa_objk TO it.
ENDLOOP.
* open and start form
PERFORM open_form USING 'OBJLST'.
* CALL FUNCTION 'OPEN_FORM'
* EXPORTING
* form = 'ZPP_LSTSERNR01'.
*
* CALL FUNCTION 'START_FORM'
* EXPORTING
* form = 'ZPP_LSTSERNR01'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'LOGO'
window = 'LOGO'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'SAP'
window = 'PLANNED'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'PO WINDOW'
window = 'POWINDOW'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'SAP INTERNALLY'
window = 'SAPIN'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'SERIAL'
window = 'SERIAL'.
LOOP AT it_objk2 INTO wa_objk2.
sno = sno + 1.
lv_colcnt = lv_colcnt + 1.
lv_rlno = lv_rlno + 1.
wa_objk-row1 = lv_rowcnt.
wa_objk-column1 = lv_colcnt.
wa_objk-obknr = wa_objk2-obknr.
wa_objk-matnr = wa_objk2-matnr.
wa_objk-sno = sno.
wa_objk-sernr = wa_objk2-sernr.
wa_objk-null = empty.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'MAIN'
window = 'MAIN'.
APPEND wa_objk TO it_objk.
CLEAR wa_objk.
ENDLOOP.
DESCRIBE TABLE it_objk LINES lv_cnt1.
lv_rem = lv_cnt1 MOD 22.
lv_left = 22 - lv_rem.
DO lv_left TIMES.
sno = sno + 1.
lv_rowcnt = lv_rowcnt + 1.
wa_objk-sno = sno.
wa_objk-row1 = lv_rowcnt.
wa_objk-column1 = 1.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'MAIN'
window = 'MAIN'.
ENDDO.
CALL FUNCTION 'END_FORM'.
CALL FUNCTION 'CLOSE_FORM'.
* ENDDO.
* ENDDO.
ENDFORM. "zwe_sernr.
*&---------------------------------------------------------------------*
*& Form open_form
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->STARTPAGE text
*----------------------------------------------------------------------*
FORM open_form USING startpage.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
dialog = space
form = print_co-forml
language = print_co-spras
OPTIONS = print_opts
EXCEPTIONS
canceled = 01
device = 02
form = 03
OPTIONS = 04
unclosed = 05.
CALL FUNCTION 'START_FORM'
EXPORTING
startpage = startpage.
* reset counter for page numbers
print_co-actpage = 1.
ENDFORM. "open_form
*&---------------------------------------------------------------------*
*& Form IMPORT_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_SUBRC text
*----------------------------------------------------------------------*
form IMPORT_DATA changing subrc LIKE sy-subrc.
CALL FUNCTION 'CO_PRINT_IMPORT_DATA'
EXCEPTIONS
memory_id_ppt_not_exist = 1
memory_id_ppi_not_exist = 2
memory_id_pps_not_exist = 3
OTHERS = 4.
subrc = sy-subrc.
endform. " IMPORT_DATA
*&---------------------------------------------------------------------*
*& Form GET_INFO_LIST
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form GET_INFO_LIST .
CALL FUNCTION 'CO_PRINT_GET_INFO_LIST'
IMPORTING
print_co_exp = print_co
print_opts_exp = print_opts
EXCEPTIONS
OTHERS = 0.
* print-type
CASE print_co-drart.
WHEN reprint.
MOVE text-dup TO print_co-drtxt.
WHEN OTHERS.
MOVE text-org TO print_co-drtxt.
ENDCASE.
endform. " GET_INFO_LIST