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

hi

Former Member
0 Likes
960

HI SAP GURU'S

I HAVE TO SHOW PAGE NO"S IN THE OUTPUT LIST AS CURRENT PAGE/TOTAL NO OF PAGES FOR EX 1/20,2/20/,3/30....30/30 in top of page can any body help me. i am sending my code below.

  • Modification Starts Koti Reddy

REPORT ZSDITS033_ZMATKUND1 no standard page heading LINE-SIZE 250

line-count 33(1).

  • Modification Ends Koti Reddy

----


  • Project : AFTERMARKET - DELPHI AUTOMOTIVE *

  • Component : SD *

  • Description : - *

  • *

  • Specifications : Copy of ZSDLIS033_ZMATKUND *

  • Frequency : - *

  • Data IN : - *

  • Data OUT : - *

  • *

  • Creation Author : AKUMAR *

  • Creation Date : 15/06/2005 *

  • Release : 4.6C *

***********************************************************************

  • TABLES *

***********************************************************************

TABLES: KONH ,

KONP ,

MARA ,

USR01 ,

A006 ,

A904 ,

A895 ,

A918 ,

A943 ,

A944 ,

A945 ,

A946 ,

A947 ,

A948 ,

A949 ,

A995 ,

A997 ,

A998 ,

A913 ,

KONV , "Case 164536 AKUMAR

VBAK . "Case 164536 AKUMAR

***********************************************************************

  • INCLUDES *

***********************************************************************

  • ******* EXCEL DOWNLOAD ******* *

INCLUDE ZRPWDATA_NEW.

INCLUDE ZRPWFOR2_NEW.

  • ******* EXCEL DOWNLOAD ******* *

***********************************************************************

  • SELECTION-SCREEN : PARAMETERS and SELECT-OPTIONS *

***********************************************************************

SELECTION-SCREEN BEGIN OF BLOCK BLOCK22 WITH FRAME TITLE TEXT-250.

PARAMETERS: P_PLTYP1 RADIOBUTTON GROUP PLT1,

P_PLTYP2 RADIOBUTTON GROUP PLT1,

P_PLTYP3 RADIOBUTTON GROUP PLT1.

SELECTION-SCREEN END OF BLOCK BLOCK22.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK0 WITH FRAME TITLE TEXT-102.

PARAMETERS: P_ZIP0 RADIOBUTTON GROUP COND USER-COMMAND US01,

P_ZID1 RADIOBUTTON GROUP COND ,

P_ZID2 RADIOBUTTON GROUP COND ,

P_ZID3 RADIOBUTTON GROUP COND ,

  • Modification Starts Koti Reddy

P_ZID4 RADIOBUTTON GROUP COND ,

  • Modification End Koti Reddy

P_ZIP3 RADIOBUTTON GROUP COND ,

P_ZISC RADIOBUTTON GROUP COND ,

P_ZID5 RADIOBUTTON GROUP COND ,

P_ZIPR RADIOBUTTON GROUP COND ,

P_ZIF% RADIOBUTTON GROUP COND .

  • P_ZIFR RADIOBUTTON GROUP COND ,

  • P_ZIPM RADIOBUTTON GROUP COND .

SELECTION-SCREEN END OF BLOCK BLOCK0.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-103.

PARAMETERS : VKORG LIKE A005-VKORG DEFAULT 'I010',

VTWEG LIKE A005-VTWEG DEFAULT '03',

SPART LIKE A913-SPART DEFAULT '60'.

SELECT-OPTIONS: KAPPL FOR KONH-KAPPL DEFAULT 'V' ,

  • KSCHL FOR KONH-KSCHL,

DATAB FOR KONH-DATAB.

  • ZZKATR1 FOR A904-ZZKATR1.

PARAMETERS NORMT LIKE MARA-NORMT.

SELECTION-SCREEN END OF BLOCK BLOCK1.

  • *** ZIP0,ZID1,ZID2,ZID3,ZID4,ZIP3,ZID5,ZISC

SELECTION-SCREEN BEGIN OF BLOCK BLOCK2 WITH FRAME TITLE TEXT-104.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(53) TEXT-200 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

*SELECT-OPTIONS PLTYP FOR A006-PLTYP MODIF ID 001.

SELECT-OPTIONS MATNR9 FOR A006-MATNR MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-201 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR FOR A946-MATNR MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-202 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

  • Modification Starts Koti Reddy

*SELECT-OPTIONS KUNNR FOR A947-KUNNR MODIF ID 001.

SELECT-OPTIONS KONDM3 FOR A947-KONDM MODIF ID 001.

  • Modification Ends Koti Reddy

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-203 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

  • Modification Starts Koti Reddy

*SELECT-OPTIONS KONDA1 FOR A948-KONDA MODIF ID 001.

SELECT-OPTIONS MATNR2 FOR A948-MATNR MODIF ID 001.

  • Modification Ends Koti Reddy

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-204 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS KONDM1 FOR A949-KONDM MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(60) TEXT-205 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR1 FOR A995-MATNR MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(65) TEXT-206 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS KONDM2 FOR A997-KONDM MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(57) TEXT-207 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR3 FOR A998-MATNR MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK BLOCK2.

  • ***ZIPR

SELECTION-SCREEN BEGIN OF BLOCK BLOCK3 WITH FRAME TITLE TEXT-107.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(53) TEXT-210 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR6 FOR A918-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(64) TEXT-211 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS SPART1 FOR A895-SPART MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(64) TEXT-211 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR7 FOR A895-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

*SELECTION-SCREEN BEGIN OF LINE.

*SELECTION-SCREEN COMMENT 1(55) TEXT-212 MODIF ID 004.

*SELECTION-SCREEN END OF LINE.

*SELECT-OPTIONS KONDA1 FOR A906-KONDA MODIF ID 004.

*SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(57) TEXT-212 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR4 FOR A943-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-213 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR8 FOR A006-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-214 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS KONDA2 FOR A944-KONDA MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-215 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR5 FOR A945-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK BLOCK3.

  • ***ZIF%

SELECTION-SCREEN BEGIN OF BLOCK BLOCK4 WITH FRAME TITLE TEXT-108.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(53) TEXT-217 MODIF ID 003.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS WERKS FOR A913-WERKS MODIF ID 003.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK BLOCK4.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK5 WITH FRAME TITLE TEXT-006.

PARAMETERS: A_DATBI AS CHECKBOX DEFAULT 'X',

A_DATAB AS CHECKBOX DEFAULT 'X',

A_WERT AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK BLOCK5.

  • ******* EXCEL DOWNLOAD ******* *

SELECTION-SCREEN BEGIN OF BLOCK BL3 WITH FRAME TITLE TEXT-100.

PARAMETERS P_DOWN AS CHECKBOX.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(25) TEXT-101.

PARAMETERS P_XL LIKE Z_EXCEL_FILE DEFAULT 'c:\example.xls'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BL3.

  • ******* EXCEL DOWNLOAD ******* *

  • ******************************************************************* *

  • DATA *

  • ******************************************************************* *

DATA: CPT TYPE I ,

OBJECTCLASS LIKE CDHDR-OBJECTCLAS,

OBJECTID LIKE CDHDR-OBJECTID ,

ZCOND LIKE A004-KSCHL,

V_TITEL(40),

V_PLTYP LIKE A006-PLTYP, "Case 164536 AKUMAR

V_TEXT1(50),

V_TEXT2(40).

***********************************************************************

  • INTERNAL TABLES *

***********************************************************************

DATA: BEGIN OF RESULTS OCCURS 100,

KOTAB LIKE T681-KOTAB ,

MATNR LIKE A004-MATNR ,

HIENR LIKE A904-HIENR ,

KUNNR LIKE A005-KUNNR ,

  • ZZKATR1 LIKE A903-ZZKATR1 ,

PLTYP LIKE A907-PLTYP ,

KONDA LIKE A906-KONDA ,

KONDM LIKE A999-KONDM ,

KBETR LIKE KONP-KBETR ,

KONWA LIKE KONP-KONWA ,

KPEIN LIKE KONP-KPEIN ,

KMEIN LIKE KONP-KMEIN ,

DATAB LIKE A005-DATAB ,

DATBI LIKE A005-DATBI ,

ERNAM LIKE KONH-ERNAM ,

ERDAT LIKE KONH-ERDAT ,

VKORG LIKE A005-VKORG ,

KSCHL LIKE A005-KSCHL ,

VTWEG LIKE A005-VTWEG ,

MXWRT LIKE KONP-MXWRT ,

GKWRT LIKE KONP-GKWRT ,

PKWRT LIKE KONP-PKWRT ,

KNUMH LIKE KONP-KNUMH .

DATA: END OF RESULTS.

DATA: BEGIN OF CHANGETABLE OCCURS 100.

INCLUDE STRUCTURE CDRED.

DATA: END OF CHANGETABLE.

DATA: BEGIN OF INTAB OCCURS 100,

KOTAB LIKE T681-KOTAB ,

KAPPL LIKE A005-KAPPL ,

KSCHL LIKE A005-KSCHL ,

VKORG LIKE A005-VKORG ,

VTWEG LIKE A005-VTWEG ,

SPART LIKE A946-SPART ,

MATNR LIKE A005-MATNR ,

HIENR LIKE A904-HIENR ,

WAERK LIKE A006-WAERK ,

KUNNR LIKE A005-KUNNR ,

PLTYP LIKE A907-PLTYP ,

KFRST LIKE A946-KFRST ,

KONDA LIKE A906-KONDA ,

KONDM LIKE A999-KONDM ,

DATBI LIKE A005-DATBI ,

KBSTAT LIKE A946-KBSTAT ,

DATAB LIKE A005-DATAB ,

KNUMH LIKE A005-KNUMH ,

WERKS LIKE A913-WERKS ,

KDKGR LIKE A913-KDKGR ,

AUART_SD LIKE A913-AUART_SD.

DATA: END OF INTAB.

DATA: BEGIN OF OUTAB OCCURS 100,

KOTAB LIKE T681-KOTAB ,

KAPPL LIKE A005-KAPPL ,

KSCHL LIKE A005-KSCHL ,

VKORG LIKE A005-VKORG ,

VTWEG LIKE A005-VTWEG ,

SPART LIKE A946-SPART ,

MATNR LIKE A005-MATNR ,

HIENR LIKE A904-HIENR ,

WAERK LIKE A006-WAERK ,

KUNNR LIKE A005-KUNNR ,

PLTYP LIKE A907-PLTYP ,

KFRST LIKE A946-KFRST ,

KONDA LIKE A906-KONDA ,

KONDM LIKE A999-KONDM ,

DATBI LIKE A005-DATBI ,

KBSTAT LIKE A946-KBSTAT ,

DATAB LIKE A005-DATAB ,

KNUMH LIKE A005-KNUMH ,

WERKS LIKE A913-WERKS ,

KDKGR LIKE A913-KDKGR ,

AUART_SD LIKE A913-AUART_SD,

ERNAM LIKE KONH-ERNAM ,

ERDAT LIKE KONH-ERDAT .

DATA: END OF OUTAB.

  • Begin of changes Case 164536 AKUMAR

DATA: I_VBAK LIKE VBAK OCCURS 0 WITH HEADER LINE,

V_KBETR(8) TYPE P DECIMALS 3.

DATA: BEGIN OF I_KONV OCCURS 0,

KBETR LIKE KONV-KBETR,

KDATU LIKE KONV-KDATU,

KSCHL LIKE KONV-KSCHL,

END OF I_KONV.

DATA: BEGIN OF I_RESULTS_MAN OCCURS 0,

KSCHL LIKE KONV-KSCHL,

KBETR LIKE KONV-KBETR,

DATFR LIKE KONV-KDATU,

DATTO LIKE KONV-KDATU,

END OF I_RESULTS_MAN.

DATA: BEGIN OF V_KONV,

KBETR LIKE KONV-KBETR,

KDATU LIKE KONV-KDATU,

KSCHL LIKE KONV-KSCHL,

END OF V_KONV.

DATA: BEGIN OF V_KONV1,

KBETR LIKE KONV-KBETR,

KDATU LIKE KONV-KDATU,

KSCHL LIKE KONV-KSCHL,

END OF V_KONV1.

DATA: BEGIN OF V_KONV_PRE,

KBETR LIKE KONV-KBETR,

KDATU LIKE KONV-KDATU,

KSCHL LIKE KONV-KSCHL,

END OF V_KONV_PRE.

  • End of changes Case 164536 AKUMAR

DATA: BEGIN OF OUTAB2 OCCURS 100.

INCLUDE STRUCTURE OUTAB.

DATA: END OF OUTAB2.

DATA: BEGIN OF ZA006 OCCURS 1000.

INCLUDE STRUCTURE A006.

DATA: END OF ZA006.

DATA: BEGIN OF ZA895 OCCURS 1000.

INCLUDE STRUCTURE A895.

DATA: END OF ZA895.

DATA: BEGIN OF ZA918 OCCURS 1000.

INCLUDE STRUCTURE A918.

DATA: END OF ZA918.

DATA: BEGIN OF ZA943 OCCURS 1000.

INCLUDE STRUCTURE A943.

DATA: END OF ZA943.

DATA: BEGIN OF ZA944 OCCURS 1000.

INCLUDE STRUCTURE A944.

DATA: END OF ZA944.

DATA: BEGIN OF ZA945 OCCURS 1000.

INCLUDE STRUCTURE A945.

DATA: END OF ZA945.

DATA: BEGIN OF ZA946 OCCURS 1000.

INCLUDE STRUCTURE A946.

DATA: END OF ZA946.

DATA: BEGIN OF ZA947 OCCURS 1000.

INCLUDE STRUCTURE A947.

DATA: END OF ZA947.

DATA: BEGIN OF ZA948 OCCURS 1000.

INCLUDE STRUCTURE A948.

DATA: END OF ZA948.

DATA: BEGIN OF ZA949 OCCURS 1000.

INCLUDE STRUCTURE A949.

DATA: END OF ZA949.

*

DATA: BEGIN OF ZA995 OCCURS 1000.

INCLUDE STRUCTURE A995.

DATA: END OF ZA995.

DATA: BEGIN OF ZA997 OCCURS 1000.

INCLUDE STRUCTURE A997.

DATA: END OF ZA997.

DATA: BEGIN OF ZA998 OCCURS 1000.

INCLUDE STRUCTURE A998.

DATA: END OF ZA998.

DATA: BEGIN OF ZA913 OCCURS 1000.

INCLUDE STRUCTURE A913.

DATA: END OF ZA913.

  • ******* EXCEL DOWNLOAD ******* *

  • TABLE OUTPUT

DATA: BEGIN OF EXCEL_OUTAB OCCURS 100,

KOTAB(40) TYPE C ,

MATNR(40) TYPE C ,

HIENR(40) TYPE C ,

KUNNR(40) TYPE C ,

  • ZZKATR1(40) TYPE C ,

PLTYP(40) TYPE C ,

KONDA(40) TYPE C ,

KONDM(40) TYPE C ,

KBETR(40) TYPE C ,

KONWA(40) TYPE C ,

KPEINKMEIN(40) TYPE C ,

DATAB(40) TYPE C ,

DATBI(40) TYPE C ,

ERNAM(40) TYPE C ,

ERDAT(40) TYPE C ,

VKORG(40) TYPE C ,

KSCHL(40) TYPE C ,

VTWEG(40) TYPE C ,

FNAME(40) TYPE C ,

FTEXT(40) TYPE C ,

F_OLD(40) TYPE C ,

F_NEW(40) TYPE C ,

USERNAME(40) TYPE C ,

UDATE(40) TYPE C ,

UTIME(40) TYPE C .

DATA: END OF EXCEL_OUTAB .

DATA: BEGIN OF EXCEL_OUTAB2 OCCURS 100.

INCLUDE STRUCTURE EXCEL_OUTAB .

DATA: END OF EXCEL_OUTAB2 .

DATA: BEGIN OF EXCEL_OUTAB3 OCCURS 100,

KSCHL LIKE KONV-KSCHL,

KBETR LIKE KONV-KBETR,

DATFR LIKE KONV-KDATU,

DATTO LIKE KONV-KDATU,

END OF EXCEL_OUTAB3 .

  • ******* EXCEL DOWNLOAD ******* *

***********************************************************************

INITIALIZATION.

***********************************************************************

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

***********************************************************************

AT SELECTION-SCREEN OUTPUT.

***********************************************************************

CASE 'X'.

WHEN P_ZIP0.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZID1.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZID2.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZID3.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

  • Modification Starts Koti Reddy

WHEN P_ZID4.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

  • Modification End Koti Reddy

WHEN P_ZIP3.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZID5.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZISC.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZIPR.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZIF%.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '1'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

  • WHEN P_ZIFR.

  • LOOP AT SCREEN.

  • IF SCREEN-GROUP1 = '001'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • IF SCREEN-GROUP1 = '002'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • IF SCREEN-GROUP1 = '003'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • MODIFY SCREEN.

  • ENDLOOP.

  • WHEN P_ZIPM.

  • LOOP AT SCREEN.

  • IF SCREEN-GROUP1 = '001'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • IF SCREEN-GROUP1 = '002'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • IF SCREEN-GROUP1 = '003'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • MODIFY SCREEN.

  • ENDLOOP.

ENDCASE.

AT SELECTION-SCREEN ON VKORG.

*--- Begin of Comments - DV1K935934

  • AUTHORITY-CHECK OBJECT 'Z_SD_VKORG'

  • ID 'ACTVT' FIELD '03'

  • ID 'LGORT' FIELD VKORG.

*--- End of Comments - DV1K935934

*--- Begin of insertion - DV1K935934

AUTHORITY-CHECK OBJECT 'Z_SD_VKORG'

ID 'ACTVT' FIELD '03'

ID 'VKORG' FIELD VKORG.

*--- End of insertion - DV1K935934

IF SY-SUBRC NE 0.

MESSAGE ID 'ZAUTH' TYPE 'E' NUMBER '002' WITH VKORG.

ENDIF.

AT SELECTION-SCREEN ON VTWEG.

AUTHORITY-CHECK OBJECT 'Z_SD_VTWEG'

ID 'ACTVT' FIELD '03'

ID 'VTWEG' FIELD VTWEG.

IF SY-SUBRC NE 0.

MESSAGE ID 'ZAUTH' TYPE 'E' NUMBER '007' WITH VTWEG.

ENDIF.

  • ******************************************************************* *

  • START-OF-SELECTION *

  • ******************************************************************* *

START-OF-SELECTION.

IF A_DATAB IS INITIAL AND A_DATBI IS INITIAL AND A_WERT IS INITIAL.

V_TITEL = TEXT-020.

V_TEXT1 = TEXT-021.

V_TEXT2 = TEXT-022.

CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'

EXPORTING

TITEL = V_TITEL

TEXTLINE1 = V_TEXT1

TEXTLINE2 = V_TEXT2

EXCEPTIONS

OTHERS = 1.

EXIT.

ENDIF.

IF P_PLTYP1 EQ 'X'. "Case 164536 AKUMAR

V_PLTYP = 'S0'. "Case 164536 AKUMAR

ELSEIF P_PLTYP2 EQ 'X'. "Case 164536 AKUMAR

V_PLTYP = 'S1'. "Case 164536 AKUMAR

ELSEIF P_PLTYP3 EQ 'X'. "Case 164536 AKUMAR

V_PLTYP = 'S2'. "Case 164536 AKUMAR

ENDIF. "Case 164536 AKUMAR

PERFORM FOUND_DATA.

*IF P_ZIFR NE 'X' AND P_ZIPM NE 'X'. "Case 164536 AKUMAR

LOOP AT INTAB.

MOVE-CORRESPONDING INTAB TO OUTAB.

APPEND OUTAB.

ENDLOOP.

CLEAR RESULTS.

REFRESH RESULTS.

IF NORMT NE ' '.

LOOP AT OUTAB WHERE MATNR NE SPACE.

SELECT SINGLE NORMT FROM MARA INTO MARA-NORMT

WHERE MATNR EQ OUTAB-MATNR.

IF SY-SUBRC EQ 0 AND NORMT NE MARA-NORMT.

DELETE OUTAB.

ENDIF.

ENDLOOP.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ).

LOOP AT OUTAB WHERE MATNR IN MATNR1.

MOVE-CORRESPONDING OUTAB TO OUTAB2.

APPEND OUTAB2.

ENDLOOP.

CLEAR OUTAB. REFRESH OUTAB.

OUTAB[] = OUTAB2[].

CLEAR OUTAB2. REFRESH OUTAB2.

ENDIF.

LOOP AT OUTAB WHERE MATNR CO '0123456789 '.

CALL FUNCTION 'CONVERSION_EXIT_MATN2_OUTPUT'

EXPORTING

INPUT = OUTAB-MATNR

IMPORTING

OUTPUT = OUTAB-MATNR.

MODIFY OUTAB.

ENDLOOP.

  • SORT OUTAB BY KOTAB MATNR HIENR KUNNR ZZKATR1 PLTYP KONDA KONDM.

SORT OUTAB BY KOTAB MATNR HIENR KUNNR PLTYP KONDA KONDM.

LOOP AT OUTAB.

MOVE-CORRESPONDING OUTAB TO RESULTS.

APPEND RESULTS.

ENDLOOP.

LOOP AT RESULTS.

CLEAR KONP.

SELECT KBETR KONWA MXWRT GKWRT PKWRT KPEIN KMEIN FROM KONP

INTO CORRESPONDING FIELDS OF KONP

WHERE KNUMH EQ RESULTS-KNUMH.

RESULTS-KBETR = KONP-KBETR.

RESULTS-KONWA = KONP-KONWA.

RESULTS-MXWRT = KONP-MXWRT.

RESULTS-GKWRT = KONP-GKWRT.

RESULTS-PKWRT = KONP-PKWRT.

RESULTS-KPEIN = KONP-KPEIN.

RESULTS-KMEIN = KONP-KMEIN.

MODIFY RESULTS.

ENDSELECT.

ENDLOOP.

*MODIFICATION

perform f_report_display.

*MODIFICATION ENDS

*-- Begin of Koti

if results[] is initial.

write: / 'No records found on selection date', datab-low, 'to', datab-high.

else.

write: /2 'DATA SELECTED FOR INPUT'.

write: /2 '----


'.

if P_PLTYP1 = 'X'.

write:/2 'Price List Choice: S0'.

elseif P_PLTYP2 = 'X'.

write:/2 'Price List Choice: S1'.

else.

write:/2 'Price List Choice: S2'.

endif.

if P_ZIP0 = 'X'.

write: /2 'Price Condition: ZIP0'.

elseif P_ZID1 = 'X'.

write: /2 'Price Condition: P_ZID1'.

elseif P_ZID2 = 'X'.

write: /2 'Price Condition: P_ZID2'.

elseif P_ZID3 = 'X'.

write: /2 'Price Condition: P_ZID3'.

elseif P_ZID4 = 'X'.

write: /2 'Price Condition: P_ZID4'.

elseif P_ZIP3 = 'X'.

write: /2 'Price Condition: P_ZIP3'.

elseif P_ZISC = 'X'.

write: /2 'Price Condition: P_ZISC'.

elseif P_ZID5 = 'X'.

write: /2 'Price Condition: P_ZID5'.

elseif P_ZIPR = 'X'.

write: /2 'Price Condition: P_ZIPR'.

elseif P_ZIF% = 'X'.

write: /2 'Price Condition: P_P_ZIF%'.

endif.

if not VKORG is initial .

write: /2 'Sales organization: ', VKORG .

endif .

if not VTWEG is initial.

write: /2 'Distribution channel:', VTWEG .

endif.

if not SPART is initial.

write: /2 'Division :', SPART.

endif.

if not KAPPL[] is initial.

write: /2 'Application:', KAPPL-LOW , 'TO' , KAPPL-HIGH.

endif.

if not DATAB[] is initial.

write: /2 'Valid Dates:', DATAB-LOW , 'To' , DATAB-HIGH.

endif.

if not NORMT is initial.

write: /2 'Do not use:', NORMT.

endif.

if not MATNR9[] is initial.

write: /2 'Material', MATNR9-LOW, 'TO' , MATNR9-HIGH.

endif.

if not MATNR[] is initial.

write: /2 'Material', MATNR-LOW, 'TO' , MATNR-HIGH.

endif.

*if not KUNNR[] is initial.

*write: /2 'Customer', KUNNR-LOW, 'TO' , KUNNR-HIGH.

*endif.

if not KONDA2[] is initial.

write: /2 'Price Group ( Customer )', KONDA2-LOW, 'TO' , KONDA2-HIGH.

endif.

if not KONDM1[] is initial.

write: /2 'Material Pricing Group', KONDM1-LOW, 'TO', KONDM1-HIGH .

endif.

if not MATNR1[] is initial.

write: /2 'Customer', MATNR1-LOW , 'TO', MATNR1-HIGH.

endif.

if not KONDM2[] is initial.

write: /2 'Material Pricing Group', KONDM2-LOW , 'TO' , KONDM2-HIGH.

endif.

if not MATNR3[] is initial.

write: /2 'Material', MATNR3-LOW, 'TO' , MATNR3-HIGH.

endif.

if not MATNR6[] is initial.

write: /2 'Material', MATNR6-LOW, 'TO' , MATNR6-HIGH.

endif.

if not SPART1[] is initial.

write: /2 'DIVISION', SPART1-LOW, 'TO' , SPART1-HIGH.

endif.

if not MATNR7[] is initial.

write: /2 'Material', MATNR7-LOW, 'TO' , MATNR7-HIGH.

endif.

if not MATNR4[] is initial.

write: /2 'Material', MATNR4-LOW, 'TO' , MATNR4-HIGH.

endif.

if not MATNR8[] is initial.

write: /2 'Material', MATNR8-LOW, 'TO' , MATNR8-HIGH.

endif.

if not KONDA2[] is initial.

write: /2 'Price group (customer)', KONDA2-LOW, 'TO' , MATNR2-HIGH.

endif.

if not MATNR5[] is initial.

write: /2 'Material', MATNR5-LOW, 'TO' , MATNR5-HIGH.

endif.

if not WERKS is initial.

write: /2 'Plant', WERKS.

endif.

if A_DATBI = 'X' .

write: /2 'End of Validity' .

endif.

if A_DATAB = 'X' .

write: /2 'Begin Of Validity' .

endif.

if A_WERT = 'X' .

write: /2 'Affich Value' .

endif.

if P_DOWN = 'X'.

write: /2 'Download to Excel'.

endif.

endif.

*-- End of Koti

LOOP AT RESULTS.

PERFORM CHANGEDOCUMENT_READ.

PERFORM CLEAR_DATA.

LOOP AT CHANGETABLE WHERE F_OLD <> ' ' AND F_NEW <> ' '.

ENDLOOP.

IF SY-SUBRC = 0.

PERFORM HEADER.

PERFORM AFFICH_HEADER.

PERFORM AFFICH_MODIFS.

ENDIF.

SKIP.

ENDLOOP.

*ELSE. "Case 164536 AKUMAR

  • PERFORM MANUAL_CONDITION_REPORT. "Case 164536 AKUMAR

*ENDIF. "Case 164536 AKUMAR

  • ******************************************************************* *

  • END-OF-SELECTION *

  • ******************************************************************* *

END-OF-SELECTION.

  • ******* EXCEL DOWNLOAD ******* *

IF P_DOWN EQ 'X' OR SY-BATCH EQ 'X'.

*IF P_DOWN EQ 'X' OR SY-BATCH EQ 'X' AND

  • ( P_ZIFR NE 'X' AND P_ZIPM NE 'X' ) .

PERFORM CHARGEMENT_EXCEL.

  • PERFORM EXCEL_EXE.

*ELSEIF P_DOWN EQ 'X' OR SY-BATCH EQ 'X' AND

  • ( P_ZIFR EQ 'X' OR P_ZIPM EQ 'X' ).

  • PERFORM CHARGEMENT_EXCEL1.

ENDIF.

  • ******* EXCEL DOWNLOAD ******* *

  • ******************************************************************* *

  • END *

  • ******************************************************************* *

  • ******************************************************************* *

  • Form HEADER_2 *

  • ******************************************************************* *

FORM HEADER_2.

FORMAT COLOR COL_HEADING.

WRITE: / TEXT-013 ,

11 TEXT-014 ,

72 TEXT-015 ,

93 TEXT-016 ,

114 TEXT-017 ,

127 TEXT-018 ,

138 TEXT-019 ,

145 ' '.

ENDFORM.

  • ******************************************************************* *

  • Form CHANGEDOCUMENT_READ *

  • ******************************************************************* *

FORM CHANGEDOCUMENT_READ.

CLEAR CHANGETABLE.

REFRESH CHANGETABLE.

OBJECTCLASS = 'COND_A'.

OBJECTID = RESULTS-KNUMH .

CALL FUNCTION 'CHANGEDOCUMENT_READ'

EXPORTING

OBJECTCLASS = OBJECTCLASS

OBJECTID = OBJECTID

TABLES

EDITPOS = CHANGETABLE

EXCEPTIONS

NO_POSITION_FOUND = 1

WRONG_ACCESS_TO_ARCHIVE = 2

TIME_ZONE_CONVERSION_ERROR = 3

OTHERS = 4.

ENDFORM.

  • ******************************************************************* *

  • Form AFFICH_MODIFS *

  • ******************************************************************* *

FORM AFFICH_MODIFS.

DATA : ZKPEIN(10) TYPE C,

ZKMEIN(10) TYPE C.

CLEAR : ZKPEIN,

ZKMEIN.

SORT CHANGETABLE BY UDATE UTIME.

PERFORM HEADER_2.

IF P_ZID1 = 'X' OR P_ZID3 = 'X' OR P_ZID5 = 'X' OR

P_ZIF% = 'X'.

V_KBETR = RESULTS-KBETR / 10.

ENDIF.

FORMAT COLOR COL_NORMAL.

LOOP AT CHANGETABLE WHERE F_OLD NE ' ' AND F_NEW NE ' '.

SHIFT: CHANGETABLE-F_NEW LEFT DELETING LEADING SPACE,

CHANGETABLE-F_OLD LEFT DELETING LEADING SPACE.

WRITE: / CHANGETABLE-FNAME ,

11 CHANGETABLE-FTEXT ,

72 CHANGETABLE-F_OLD(20) ,

93 CHANGETABLE-F_NEW(20) ,

114 CHANGETABLE-USERNAME ,

127 CHANGETABLE-UDATE ,

138 CHANGETABLE-UTIME .

MOVE : CHANGETABLE-FNAME TO EXCEL_OUTAB-FNAME,

CHANGETABLE-FTEXT TO EXCEL_OUTAB-FTEXT,

CHANGETABLE-USERNAME TO EXCEL_OUTAB-USERNAME,

RESULTS-KOTAB TO EXCEL_OUTAB-KOTAB,

RESULTS-MATNR TO EXCEL_OUTAB-MATNR,

RESULTS-HIENR TO EXCEL_OUTAB-HIENR,

RESULTS-KUNNR TO EXCEL_OUTAB-KUNNR,

  • RESULTS-ZZKATR1 TO EXCEL_OUTAB-ZZKATR1,

RESULTS-PLTYP TO EXCEL_OUTAB-PLTYP,

RESULTS-KONDA TO EXCEL_OUTAB-KONDA,

RESULTS-KONDM TO EXCEL_OUTAB-KONDM.

IF P_ZID1 = 'X' OR P_ZID3 = 'X' OR P_ZID5 = 'X' OR

P_ZIF% = 'X'.

MOVE V_KBETR TO EXCEL_OUTAB-KBETR.

ELSE.

MOVE RESULTS-KBETR TO EXCEL_OUTAB-KBETR.

ENDIF.

MOVE : RESULTS-KONWA TO EXCEL_OUTAB-KONWA,

RESULTS-ERNAM TO EXCEL_OUTAB-ERNAM,

RESULTS-VKORG TO EXCEL_OUTAB-VKORG,

RESULTS-KSCHL TO EXCEL_OUTAB-KSCHL,

RESULTS-VTWEG TO EXCEL_OUTAB-VTWEG,

RESULTS-KPEIN TO ZKPEIN ,

RESULTS-KMEIN TO ZKMEIN .

WRITE CHANGETABLE-UTIME TO EXCEL_OUTAB-UTIME

USING EDIT MASK '__:__:__'.

PERFORM ZDATE USING RESULTS-DATAB 1.

PERFORM ZDATE USING RESULTS-DATBI 2.

PERFORM ZDATE USING CHANGETABLE-UDATE 3.

PERFORM ZDATE USING RESULTS-ERDAT 4.

IF CHANGETABLE-FNAME EQ 'DATAB'.

PERFORM ZDATE USING CHANGETABLE-F_OLD 5.

PERFORM ZDATE USING CHANGETABLE-F_NEW 6.

ELSEIF CHANGETABLE-FNAME EQ 'DATBI'.

PERFORM ZDATE USING CHANGETABLE-F_OLD 5.

PERFORM ZDATE USING CHANGETABLE-F_NEW 6.

ELSE.

MOVE: CHANGETABLE-F_OLD TO EXCEL_OUTAB-F_OLD,

CHANGETABLE-F_NEW TO EXCEL_OUTAB-F_NEW.

ENDIF.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

EXPORTING

INPUT = ZKMEIN

LANGUAGE = SY-LANGU

IMPORTING

OUTPUT = ZKMEIN.

CONCATENATE ZKPEIN ZKMEIN INTO EXCEL_OUTAB-KPEINKMEIN

SEPARATED BY SPACE.

APPEND EXCEL_OUTAB.

ENDLOOP.

ENDFORM.

  • Begin of changes Case 164536 AKUMAR

  • ******************************************************************* *

  • Form MANUAL_CONDITION_REPORT *

  • ******************************************************************* *

FORM MANUAL_CONDITION_REPORT.

FORMAT COLOR COL_HEADING.

WRITE:/5 TEXT-251, 35 TEXT-252, 70 TEXT-253, 90 TEXT-254.

FORMAT COLOR COL_NORMAL.

LOOP AT I_RESULTS_MAN.

CLEAR EXCEL_OUTAB3.

WRITE:/ I_RESULTS_MAN-KSCHL UNDER TEXT-251,

I_RESULTS_MAN-KBETR LEFT-JUSTIFIED UNDER TEXT-252,

I_RESULTS_MAN-DATFR UNDER TEXT-253,

I_RESULTS_MAN-DATTO UNDER TEXT-254.

MOVE-CORRESPONDING I_RESULTS_MAN TO EXCEL_OUTAB3.

APPEND EXCEL_OUTAB3.

ENDLOOP.

ENDFORM.

  • End of changes Case 164536 AKUMAR

  • ******************************************************************* *

  • Form ZDATE *

  • ******************************************************************* *

FORM ZDATE USING ZDATUM ZNUM.

DATA ZZDATUM(10) TYPE C.

IF ZNUM NE 5 AND ZNUM NE 6.

CONCATENATE ZDATUM6(2) '.' ZDATUM4(2) '.' ZDATUM(4) INTO ZZDATUM.

ELSE.

IF NOT ( ZDATUM2(1) EQ '.' AND ZDATUM5(1) EQ '.' ).

CONCATENATE ZDATUM8(2) '.' ZDATUM5(2) '.' ZDATUM(4) INTO ZZDATUM.

ELSE.

MOVE ZDATUM TO ZZDATUM.

ENDIF.

ENDIF.

CASE ZNUM.

WHEN 1.

MOVE ZZDATUM TO EXCEL_OUTAB-DATAB.

WHEN 2.

MOVE ZZDATUM TO EXCEL_OUTAB-DATBI.

WHEN 3.

MOVE ZZDATUM TO EXCEL_OUTAB-UDATE.

WHEN 4.

MOVE ZZDATUM TO EXCEL_OUTAB-ERDAT.

WHEN 5.

MOVE ZZDATUM TO EXCEL_OUTAB-F_OLD.

WHEN 6.

MOVE ZZDATUM TO EXCEL_OUTAB-F_NEW.

ENDCASE.

ENDFORM.

  • ******************************************************************* *

  • Form HEADER *

  • ******************************************************************* *

FORM HEADER.

FORMAT COLOR COL_HEADING.

SKIP.

WRITE: / TEXT-001,

20 TEXT-024,

32 TEXT-002,

  • 44 TEXT-025,

44 TEXT-028,

60 TEXT-026,

80 TEXT-027,

100 TEXT-003,

116 TEXT-004,

129 TEXT-005,

137 TEXT-006,

150 TEXT-007,

165 TEXT-008,

181 TEXT-009,

194 TEXT-010,

209 TEXT-011,

220 TEXT-012,

230 ' '.

ENDFORM.

  • ******************************************************************* *

  • Form AFFICH_HEADER *

  • ******************************************************************* *

FORM AFFICH_HEADER.

IF P_ZID1 = 'X' OR P_ZID3 = 'X' OR P_ZID5 = 'X' OR

P_ZIF% = 'X'.

V_KBETR = RESULTS-KBETR / 10.

ENDIF.

FORMAT COLOR COL_KEY.

WRITE:/ RESULTS-MATNR,

20 RESULTS-HIENR,

32 RESULTS-KUNNR,

  • 44 RESULTS-ZZKATR1,

44 RESULTS-PLTYP,

60 RESULTS-KONDA,

80 RESULTS-KONDM.

IF P_ZID1 = 'X' OR P_ZID3 = 'X' OR P_ZID5 = 'X' OR

P_ZIF% = 'X'.

WRITE 100 V_KBETR LEFT-JUSTIFIED.

ELSE.

WRITE 100 RESULTS-KBETR LEFT-JUSTIFIED.

ENDIF.

WRITE: 116 RESULTS-KONWA,

129 RESULTS-KPEIN LEFT-JUSTIFIED,

132 RESULTS-KMEIN,

137 RESULTS-DATAB,

150 RESULTS-DATBI,

165 RESULTS-ERNAM,

181 RESULTS-ERDAT,

194 RESULTS-VKORG,

209 RESULTS-KSCHL,

220 RESULTS-VTWEG,

230 ' '.

ENDFORM.

  • ******************************************************************* *

  • Form CLEAR_DATA *

  • ******************************************************************* *

FORM CLEAR_DATA.

IF A_DATAB IS INITIAL.

LOOP AT CHANGETABLE WHERE FNAME EQ 'DATAB' .

DELETE CHANGETABLE.

ENDLOOP.

ENDIF.

IF A_DATBI IS INITIAL.

LOOP AT CHANGETABLE WHERE FNAME EQ 'DATBI' .

DELETE CHANGETABLE.

ENDLOOP.

ENDIF.

IF A_WERT IS INITIAL.

LOOP AT CHANGETABLE WHERE FNAME EQ 'KBETR' .

DELETE CHANGETABLE.

ENDLOOP.

ENDIF.

LOOP AT CHANGETABLE WHERE F_OLD EQ ' ' AND F_NEW EQ ' '.

DELETE CHANGETABLE.

ENDLOOP.

ENDFORM.

  • ******************************************************************* *

  • Form FOUND_DATA *

  • ******************************************************************* *

FORM FOUND_DATA.

  • READ DATA

CASE 'X'.

WHEN P_ZIP0.

MOVE 'ZIP0' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Satrts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Satrts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZID1.

MOVE 'ZID1' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZID2.

MOVE 'ZID2' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts KotiReddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends KotiReddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZID3.

MOVE 'ZID3' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

  • Modification Starts Koti Reddy

WHEN P_ZID4.

MOVE 'ZID4' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

IF NOT ( KONDM3 IS INITIAL ) .

PERFORM READ_TABLE_A947.

ENDIF.

IF NOT ( MATNR2 IS INITIAL ) .

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

  • MOdification End Koti Reddy

WHEN P_ZIP3.

MOVE 'ZIP3' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ).

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZID5.

MOVE 'ZID5' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZISC.

MOVE 'ZISC' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZIPR.

MOVE 'ZIPR' TO ZCOND.

IF NOT ( MATNR6 IS INITIAL ) .

PERFORM READ_TABLE_A918.

ENDIF.

IF NOT ( SPART1 IS INITIAL ) OR NOT ( MATNR7 IS INITIAL ).

PERFORM READ_TABLE_A895.

ENDIF.

IF NOT ( MATNR4 IS INITIAL ) .

PERFORM READ_TABLE_A943.

ENDIF.

IF NOT ( MATNR8 IS INITIAL ) .

PERFORM READ_TABLE_A006_2.

ENDIF.

IF NOT ( KONDA2 IS INITIAL ) .

PERFORM READ_TABLE_A944.

ENDIF.

IF NOT ( MATNR5 IS INITIAL ) .

PERFORM READ_TABLE_A945.

ENDIF.

WHEN P_ZIF%.

MOVE 'ZIF%' TO ZCOND.

IF NOT ( WERKS IS INITIAL ) .

PERFORM READ_TABLE_A913.

ENDIF.

  • WHEN P_ZIFR.

  • MOVE 'ZIFR' TO ZCOND.

  • PERFORM READ_MANUAL_COND.

*

  • WHEN P_ZIPM.

  • MOVE 'ZIPM' TO ZCOND.

  • PERFORM READ_MANUAL_COND.

ENDCASE.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A006 *

  • ******************************************************************* *

FORM READ_TABLE_A006.

SELECT * FROM A006 APPENDING TABLE ZA006 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND MATNR IN MATNR9

  • AND PLTYP IN PLTYP

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB.

LOOP AT ZA006.

MOVE-CORRESPONDING ZA006 TO INTAB.

MOVE 'A006' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A946 *

  • ******************************************************************* *

FORM READ_TABLE_A946.

SELECT * FROM A946 APPENDING TABLE ZA946 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND MATNR IN MATNR.

LOOP AT ZA946.

MOVE-CORRESPONDING ZA946 TO INTAB.

MOVE 'A946' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A947 *

  • ******************************************************************* *

FORM READ_TABLE_A947.

SELECT * FROM A947 APPENDING TABLE ZA947 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

  • AND KUNNR IN KUNNR.

AND KONDM IN KONDM3.

LOOP AT ZA947.

MOVE-CORRESPONDING ZA947 TO INTAB.

MOVE 'A947' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A948 *

  • ******************************************************************* *

FORM READ_TABLE_A948.

SELECT * FROM A948 APPENDING TABLE ZA948 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

  • AND KONDA IN KONDA1.

AND MATNR IN MATNR2.

LOOP AT ZA948.

MOVE-CORRESPONDING ZA948 TO INTAB.

MOVE 'A948' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A949 *

  • ******************************************************************* *

FORM READ_TABLE_A949.

SELECT * FROM A949 APPENDING TABLE ZA949 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND KONDM IN KONDM1.

LOOP AT ZA949.

MOVE-CORRESPONDING ZA949 TO INTAB.

MOVE 'A949' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A995 *

  • ******************************************************************* *

FORM READ_TABLE_A995.

SELECT * FROM A995 APPENDING TABLE ZA995 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND MATNR IN MATNR1.

LOOP AT ZA995.

MOVE-CORRESPONDING ZA995 TO INTAB.

MOVE 'A995' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A997 *

  • ******************************************************************* *

FORM READ_TABLE_A997.

SELECT * FROM A997 APPENDING TABLE ZA997 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND KONDM IN KONDM2.

LOOP AT ZA997.

MOVE-CORRESPONDING ZA997 TO INTAB.

MOVE 'A997' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A998 *

  • ******************************************************************* *

FORM READ_TABLE_A998.

SELECT * FROM A998 APPENDING TABLE ZA998 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND DATAB IN DATAB

AND MATNR IN MATNR3.

LOOP AT ZA998.

MOVE-CORRESPONDING ZA998 TO INTAB.

MOVE 'A998' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A918 *

  • ******************************************************************* *

FORM READ_TABLE_A918.

SELECT * FROM A918 APPENDING TABLE ZA918 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND DATAB IN DATAB

AND MATNR IN MATNR6.

LOOP AT ZA918.

MOVE-CORRESPONDING ZA918 TO INTAB.

MOVE 'A918' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A895 *

  • ******************************************************************* *

FORM READ_TABLE_A895.

SELECT * FROM A895 APPENDING TABLE ZA895 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB

AND SPART IN SPART1

AND MATNR IN MATNR7.

LOOP AT ZA895.

MOVE-CORRESPONDING ZA895 TO INTAB.

MOVE 'A895' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A895_1

*

  • ******************************************************************* *

FORM READ_TABLE_A895_1.

REFRESH ZA895.

SELECT * FROM A895 APPENDING TABLE ZA895 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB

AND MATNR IN MATNR7.

LOOP AT ZA895.

MOVE-CORRESPONDING ZA895 TO INTAB.

MOVE 'A895' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A943 *

  • ******************************************************************* *

FORM READ_TABLE_A943.

SELECT * FROM A943 APPENDING TABLE ZA943 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB

AND MATNR IN MATNR4.

LOOP AT ZA943.

MOVE-CORRESPONDING ZA943 TO INTAB.

MOVE 'A943' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A006_2 *

  • ******************************************************************* *

FORM READ_TABLE_A006_2.

SELECT * FROM A006 APPENDING TABLE ZA006 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

  • AND PLTYP IN PLTYP

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND MATNR IN MATNR8.

LOOP AT ZA006.

MOVE-CORRESPONDING ZA006 TO INTAB.

MOVE 'A006' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A944 *

  • ******************************************************************* *

FORM READ_TABLE_A944.

SELECT * FROM A944 APPENDING TABLE ZA944 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB.

LOOP AT ZA944.

MOVE-CORRESPONDING ZA944 TO INTAB.

MOVE 'A944' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A945 *

  • ******************************************************************* *

FORM READ_TABLE_A945.

SELECT * FROM A945 APPENDING TABLE ZA945 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB

AND MATNR IN MATNR5.

LOOP AT ZA945.

MOVE-CORRESPONDING ZA945 TO INTAB.

MOVE 'A945' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A913 *

  • ******************************************************************* *

FORM READ_TABLE_A913.

SELECT * FROM A913 APPENDING TABLE ZA913 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND DATAB IN DATAB

AND WERKS IN WERKS.

LOOP AT ZA913.

MOVE-CORRESPONDING ZA913 TO INTAB.

MOVE 'A913' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A913 *

  • ******************************************************************* *

FORM READ_MANUAL_COND.

REFRESH I_VBAK.

SELECT * FROM VBAK INTO TABLE I_VBAK WHERE VKORG = VKORG AND

VTWEG = VTWEG AND

ERDAT IN DATAB.

REFRESH I_KONV.

SORT I_VBAK BY KNUMV.

  • LOOP AT I_VBAK.

SELECT * FROM KONV INTO CORRESPONDING

FIELDS OF TABLE I_KONV FOR ALL ENTRIES IN I_VBAK

WHERE KNUMV = I_VBAK-KNUMV AND

KAPPL IN KAPPL AND

KSCHL = ZCOND.

  • ENDLOOP.

REFRESH I_RESULTS_MAN.

SORT I_KONV BY KDATU ASCENDING.

LOOP AT I_KONV.

CLEAR V_KONV1.

MOVE I_KONV TO V_KONV1.

AT NEW KBETR.

IF SY-TABIX NE 1.

CLEAR I_RESULTS_MAN.

MOVE ZCOND TO I_RESULTS_MAN-KSCHL.

MOVE V_KONV-KBETR TO I_RESULTS_MAN-KBETR.

MOVE V_KONV_PRE-KDATU TO I_RESULTS_MAN-DATFR.

I_RESULTS_MAN-DATTO = V_KONV-KDATU - 1.

APPEND I_RESULTS_MAN.

ENDIF.

CLEAR V_KONV_PRE.

MOVE V_KONV1 TO V_KONV_PRE.

ENDAT.

CLEAR V_KONV.

MOVE I_KONV TO V_KONV.

ENDLOOP.

ENDFORM.

  • ******* EXCEL DOWNLOAD ******* *

  • ******************************************************************* *

  • Form CLEAR_DATA *

  • ******************************************************************* *

FORM CHARGEMENT_EXCEL.

  • OPEN THE EXCEL FILE

PERFORM OPEN_EXCEL_FILE USING P_XL.

IF Z_SUBRC EQ '1'.

EXIT.

ENDIF.

  • CREATE THE LINES OF THE EXCEL FILE

PERFORM CHARGEMENT_EXCEL_DATA.

  • CLOSE THE EXCEL FILE

PERFORM CLOSE_EXCEL.

ENDFORM.

FORM CHARGEMENT_EXCEL1.

  • OPEN THE EXCEL FILE

PERFORM OPEN_EXCEL_FILE USING P_XL.

IF Z_SUBRC EQ '1'.

EXIT.

ENDIF.

  • CREATE THE LINES OF THE EXCEL FILE

PERFORM CHARGEMENT_EXCEL_DATA1.

  • CLOSE THE EXCEL FILE

PERFORM CLOSE_EXCEL.

ENDFORM.

  • ******************************************************************* *

  • Form CLEAR_DATA *

  • ******************************************************************* *

FORM CHARGEMENT_EXCEL_DATA.

ADD 1 TO LINE.

PERFORM TITLE_COLUMNS.

LOOP AT EXCEL_OUTAB.

PERFORM CREATE_LINE_X.

ENDLOOP.

ENDFORM.

FORM CHARGEMENT_EXCEL_DATA1.

ADD 1 TO LINE.

PERFORM TITLE_COLUMNS1.

LOOP AT EXCEL_OUTAB3.

PERFORM CREATE_LINE_X_1.

ENDLOOP.

ENDFORM.

  • ******************************************************************* *

  • Form TITLE_COLUMNS *

  • ******************************************************************* *

FORM TITLE_COLUMNS.

XL_COLOR = 7.

PERFORM CELL_UPDATE USING 1 TEXT-023 1 1 1 1.

PERFORM CELL_UPDATE USING 2 TEXT-001 1 1 1 1.

PERFORM CELL_UPDATE USING 3 TEXT-024 1 1 1 1.

PERFORM CELL_UPDATE USING 4 TEXT-002 1 1 1 1.

  • Begin of Changes AKUMAR

  • PERFORM CELL_UPDATE USING 5 TEXT-025 1 1 1 1.

  • PERFORM CELL_UPDATE USING 6 TEXT-028 1 1 1 1.

  • PERFORM CELL_UPDATE USING 7 TEXT-026 1 1 1 1.

  • PERFORM CELL_UPDATE USING 8 TEXT-027 1 1 1 1.

  • PERFORM CELL_UPDATE USING 9 TEXT-003 1 1 1 1.

  • PERFORM CELL_UPDATE USING 10 TEXT-004 1 1 1 1.

  • PERFORM CELL_UPDATE USING 11 TEXT-005 1 1 1 1.

  • PERFORM CELL_UPDATE USING 12 TEXT-006 1 1 1 1.

  • PERFORM CELL_UPDATE USING 13 TEXT-007 1 1 1 1.

  • PERFORM CELL_UPDATE USING 14 TEXT-008 1 1 1 1.

  • PERFORM CELL_UPDATE USING 15 TEXT-009 1 1 1 1.

  • PERFORM CELL_UPDATE USING 16 TEXT-010 1 1 1 1.

  • PERFORM CELL_UPDATE USING 17 TEXT-011 1 1 1 1.

  • PERFORM CELL_UPDATE USING 18 TEXT-012 1 1 1 1.

  • PERFORM CELL_UPDATE USING 19 TEXT-013 1 1 1 1.

  • PERFORM CELL_UPDATE USING 20 TEXT-014 1 1 1 1.

  • PERFORM CELL_UPDATE USING 21 TEXT-015 1 1 1 1.

  • PERFORM CELL_UPDATE USING 22 TEXT-016 1 1 1 1.

  • PERFORM CELL_UPDATE USING 23 TEXT-017 1 1 1 1.

  • PERFORM CELL_UPDATE USING 24 TEXT-018 1 1 1 1.

  • PERFORM CELL_UPDATE USING 25 TEXT-019 1 1 1 1.

PERFORM CELL_UPDATE USING 5 TEXT-028 1 1 1 1.

PERFORM CELL_UPDATE USING 6 TEXT-026 1 1 1 1.

PERFORM CELL_UPDATE USING 7 TEXT-027 1 1 1 1.

PERFORM CELL_UPDATE USING 8 TEXT-003 1 1 1 1.

PERFORM CELL_UPDATE USING 9 TEXT-004 1 1 1 1.

PERFORM CELL_UPDATE USING 10 TEXT-005 1 1 1 1.

PERFORM CELL_UPDATE USING 11 TEXT-006 1 1 1 1.

PERFORM CELL_UPDATE USING 12 TEXT-007 1 1 1 1.

PERFORM CELL_UPDATE USING 13 TEXT-008 1 1 1 1.

PERFORM CELL_UPDATE USING 14 TEXT-009 1 1 1 1.

PERFORM CELL_UPDATE USING 15 TEXT-010 1 1 1 1.

PERFORM CELL_UPDATE USING 16 TEXT-011 1 1 1 1.

PERFORM CELL_UPDATE USING 17 TEXT-012 1 1 1 1.

PERFORM CELL_UPDATE USING 18 TEXT-013 1 1 1 1.

PERFORM CELL_UPDATE USING 19 TEXT-014 1 1 1 1.

PERFORM CELL_UPDATE USING 20 TEXT-015 1 1 1 1.

PERFORM CELL_UPDATE USING 21 TEXT-016 1 1 1 1.

PERFORM CELL_UPDATE USING 22 TEXT-017 1 1 1 1.

PERFORM CELL_UPDATE USING 23 TEXT-018 1 1 1 1.

PERFORM CELL_UPDATE USING 24 TEXT-019 1 1 1 1.

  • End of Changes AKUMAR

XL_COLOR = 0.

ENDFORM.

  • ******************************************************************* *

  • Form TITLE_COLUMNS1 *

  • ******************************************************************* *

FORM TITLE_COLUMNS1.

XL_COLOR = 7.

PERFORM CELL_UPDATE USING 1 TEXT-251 1 1 1 1.

PERFORM CELL_UPDATE USING 2 TEXT-252 1 1 1 1.

PERFORM CELL_UPDATE USING 3 TEXT-253 1 1 1 1.

PERFORM CELL_UPDATE USING 4 TEXT-254 1 1 1 1.

XL_COLOR = 0.

ENDFORM.

  • ******************************************************************* *

  • Form CELL_UPDATE *

  • ******************************************************************* *

FORM CELL_UPDATE USING INDICE ZTEXT Z1 Z2 Z3 Z4.

MOVE INDICE TO COL.

ASSIGN ZTEXT TO <VALUE>.

ZFONT-FONTSTYLE = 'BOLD'.

PERFORM BORDER_CELL USING Z1 Z2 Z3 Z4.

PERFORM APPEND_TO_CELL.

PERFORM CENTER_CELL.

ENDFORM.

  • ******************************************************************* *

  • Form CREATE_LINE_X *

  • ******************************************************************* *

FORM CREATE_LINE_X.

ADD 1 TO LINE.

MOVE 0 TO COL.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KOTAB.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-MATNR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-HIENR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KUNNR.

*PERFORM ADD_OBJECT USING EXCEL_OUTAB-ZZKATR1.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-PLTYP.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KONDA.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KONDM.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KBETR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KONWA.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KPEINKMEIN.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-DATAB.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-DATBI.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-ERNAM.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-ERDAT.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-VKORG.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KSCHL.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-VTWEG.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-FNAME.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-FTEXT.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-F_OLD.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-F_NEW.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-USERNAME.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-UDATE.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-UTIME.

ENDFORM.

  • ******************************************************************* *

  • Form CREATE_LINE_X_1 *

  • ******************************************************************* *

FORM CREATE_LINE_X_1.

ADD 1 TO LINE.

MOVE 0 TO COL.

PERFORM ADD_OBJECT USING EXCEL_OUTAB3-KSCHL.

PERFORM ADD_OBJECT USING EXCEL_OUTAB3-KBETR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB3-DATFR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB3-DATTO.

ENDFORM.

  • ******************************************************************* *

  • Form ADD_OBJECT *

  • ******************************************************************* *

FORM ADD_OBJECT USING ZPARAM.

ADD 1 TO COL.

ASSIGN ZPARAM TO <VALUE>.

ZFONT-FONTSTYLE = 'BOLD'.

PERFORM BORDER_CELL USING 1 1 1 1.

PERFORM APPEND_TO_CELL.

ENDFORM.

  • ******* EXCEL DOWNLOAD ******* *

************************************************************************

  • FORM : EXCEL_EXE *

************************************************************************

  • DESCRIPTION : EXECUTE EXCEL *

************************************************************************

FORM EXCEL_EXE.

DATA L_FILENAME LIKE RLGRAP-FILENAME.

IF SY-BATCH IS INITIAL.

  • HEADER

MOVE: TEXT-023 TO EXCEL_OUTAB2-KOTAB ,

TEXT-001 TO EXCEL_OUTAB2-MATNR ,

TEXT-002 TO EXCEL_OUTAB2-KUNNR ,

TEXT-003 TO EXCEL_OUTAB2-KBETR ,

TEXT-004 TO EXCEL_OUTAB2-KONWA ,

TEXT-005 TO EXCEL_OUTAB2-KPEINKMEIN ,

TEXT-006 TO EXCEL_OUTAB2-DATAB ,

TEXT-007 TO EXCEL_OUTAB2-DATBI ,

TEXT-008 TO EXCEL_OUTAB2-ERNAM ,

TEXT-009 TO EXCEL_OUTAB2-ERDAT ,

TEXT-010 TO EXCEL_OUTAB2-VKORG ,

TEXT-011 TO EXCEL_OUTAB2-KSCHL ,

TEXT-012 TO EXCEL_OUTAB2-VTWEG ,

TEXT-013 TO EXCEL_OUTAB2-FNAME ,

TEXT-014 TO EXCEL_OUTAB2-FTEXT ,

TEXT-015 TO EXCEL_OUTAB2-F_OLD ,

TEXT-016 TO EXCEL_OUTAB2-F_NEW ,

TEXT-017 TO EXCEL_OUTAB2-USERNAME ,

TEXT-018 TO EXCEL_OUTAB2-UDATE ,

TEXT-019 TO EXCEL_OUTAB2-UTIME .

APPEND EXCEL_OUTAB2.

LOOP AT EXCEL_OUTAB.

MOVE-CORRESPONDING EXCEL_OUTAB TO EXCEL_OUTAB2.

APPEND EXCEL_OUTAB2.

CPT = CPT + 1.

ENDLOOP.

WRITE : /5 'Number of Record found to Include : ', CPT.

MOVE P_XL TO L_FILENAME.

CALL FUNCTION 'WS_EXCEL'

EXPORTING

FILENAME = L_FILENAME

TABLES

DATA = EXCEL_OUTAB2

EXCEPTIONS

OTHERS = 1.

ENDIF.

ENDFORM.

************************************************************************

  • FORM : f_report_display . *

************************************************************************

  • DESCRIPTION : PAgeno *

************************************************************************

form f_report_display .

IF sy-tcode EQ c_tcode1.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

ULINE.

WRITE: /1 sy-vline,

3 text-201,

50 text-202,

90 text-203,

AT sy-linsz sy-vline.

WRITE: /1 sy-vline,

AT sy-linsz sy-vline.

WRITE: /1 sy-vline,

90 text-208,sy-pagno,c_slash,sy-pagno,

AT sy-linsz sy-vline.

FORMAT COLOR OFF.

ULINE.

ENDIF.

  • ******************************************************************* *

  • END REPORT *

  • ******************************************************************* *

Waiting for reply,

Gautami.

HI SAP GURU'S

I HAVE TO SHOW PAGE NO"S IN THE OUTPUT LIST AS CURRENT PAGE/TOTAL NO OF PAGES FOR EX 1/20,2/20/,3/30....30/30 in top of page can any body help me. i am sending my code below.

  • Modification Starts Koti Reddy

REPORT ZSDITS033_ZMATKUND1 no standard page heading LINE-SIZE 250

line-count 33(1).

  • Modification Ends Koti Reddy

----


  • Project : AFTERMARKET - DELPHI AUTOMOTIVE *

  • Component : SD *

  • Description : - *

  • *

  • Specifications : Copy of ZSDLIS033_ZMATKUND *

  • Frequency : - *

  • Data IN : - *

  • Data OUT : - *

  • *

  • Creation Author : AKUMAR *

  • Creation Date : 15/06/2005 *

  • Release : 4.6C *

***********************************************************************

  • TABLES *

***********************************************************************

TABLES: KONH ,

KONP ,

MARA ,

USR01 ,

A006 ,

A904 ,

A895 ,

A918 ,

A943 ,

A944 ,

A945 ,

A946 ,

A947 ,

A948 ,

A949 ,

A995 ,

A997 ,

A998 ,

A913 ,

KONV , "Case 164536 AKUMAR

VBAK . "Case 164536 AKUMAR

***********************************************************************

  • INCLUDES *

***********************************************************************

  • ******* EXCEL DOWNLOAD ******* *

INCLUDE ZRPWDATA_NEW.

INCLUDE ZRPWFOR2_NEW.

  • ******* EXCEL DOWNLOAD ******* *

***********************************************************************

  • SELECTION-SCREEN : PARAMETERS and SELECT-OPTIONS *

***********************************************************************

SELECTION-SCREEN BEGIN OF BLOCK BLOCK22 WITH FRAME TITLE TEXT-250.

PARAMETERS: P_PLTYP1 RADIOBUTTON GROUP PLT1,

P_PLTYP2 RADIOBUTTON GROUP PLT1,

P_PLTYP3 RADIOBUTTON GROUP PLT1.

SELECTION-SCREEN END OF BLOCK BLOCK22.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK0 WITH FRAME TITLE TEXT-102.

PARAMETERS: P_ZIP0 RADIOBUTTON GROUP COND USER-COMMAND US01,

P_ZID1 RADIOBUTTON GROUP COND ,

P_ZID2 RADIOBUTTON GROUP COND ,

P_ZID3 RADIOBUTTON GROUP COND ,

  • Modification Starts Koti Reddy

P_ZID4 RADIOBUTTON GROUP COND ,

  • Modification End Koti Reddy

P_ZIP3 RADIOBUTTON GROUP COND ,

P_ZISC RADIOBUTTON GROUP COND ,

P_ZID5 RADIOBUTTON GROUP COND ,

P_ZIPR RADIOBUTTON GROUP COND ,

P_ZIF% RADIOBUTTON GROUP COND .

  • P_ZIFR RADIOBUTTON GROUP COND ,

  • P_ZIPM RADIOBUTTON GROUP COND .

SELECTION-SCREEN END OF BLOCK BLOCK0.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-103.

PARAMETERS : VKORG LIKE A005-VKORG DEFAULT 'I010',

VTWEG LIKE A005-VTWEG DEFAULT '03',

SPART LIKE A913-SPART DEFAULT '60'.

SELECT-OPTIONS: KAPPL FOR KONH-KAPPL DEFAULT 'V' ,

  • KSCHL FOR KONH-KSCHL,

DATAB FOR KONH-DATAB.

  • ZZKATR1 FOR A904-ZZKATR1.

PARAMETERS NORMT LIKE MARA-NORMT.

SELECTION-SCREEN END OF BLOCK BLOCK1.

  • *** ZIP0,ZID1,ZID2,ZID3,ZID4,ZIP3,ZID5,ZISC

SELECTION-SCREEN BEGIN OF BLOCK BLOCK2 WITH FRAME TITLE TEXT-104.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(53) TEXT-200 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

*SELECT-OPTIONS PLTYP FOR A006-PLTYP MODIF ID 001.

SELECT-OPTIONS MATNR9 FOR A006-MATNR MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-201 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR FOR A946-MATNR MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-202 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

  • Modification Starts Koti Reddy

*SELECT-OPTIONS KUNNR FOR A947-KUNNR MODIF ID 001.

SELECT-OPTIONS KONDM3 FOR A947-KONDM MODIF ID 001.

  • Modification Ends Koti Reddy

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-203 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

  • Modification Starts Koti Reddy

*SELECT-OPTIONS KONDA1 FOR A948-KONDA MODIF ID 001.

SELECT-OPTIONS MATNR2 FOR A948-MATNR MODIF ID 001.

  • Modification Ends Koti Reddy

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-204 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS KONDM1 FOR A949-KONDM MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(60) TEXT-205 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR1 FOR A995-MATNR MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(65) TEXT-206 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS KONDM2 FOR A997-KONDM MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(57) TEXT-207 MODIF ID 001.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR3 FOR A998-MATNR MODIF ID 001.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK BLOCK2.

  • ***ZIPR

SELECTION-SCREEN BEGIN OF BLOCK BLOCK3 WITH FRAME TITLE TEXT-107.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(53) TEXT-210 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR6 FOR A918-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(64) TEXT-211 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS SPART1 FOR A895-SPART MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(64) TEXT-211 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR7 FOR A895-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

*SELECTION-SCREEN BEGIN OF LINE.

*SELECTION-SCREEN COMMENT 1(55) TEXT-212 MODIF ID 004.

*SELECTION-SCREEN END OF LINE.

*SELECT-OPTIONS KONDA1 FOR A906-KONDA MODIF ID 004.

*SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(57) TEXT-212 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR4 FOR A943-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-213 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR8 FOR A006-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-214 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS KONDA2 FOR A944-KONDA MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(70) TEXT-215 MODIF ID 002.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS MATNR5 FOR A945-MATNR MODIF ID 002.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK BLOCK3.

  • ***ZIF%

SELECTION-SCREEN BEGIN OF BLOCK BLOCK4 WITH FRAME TITLE TEXT-108.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(53) TEXT-217 MODIF ID 003.

SELECTION-SCREEN END OF LINE.

SELECT-OPTIONS WERKS FOR A913-WERKS MODIF ID 003.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN END OF BLOCK BLOCK4.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK5 WITH FRAME TITLE TEXT-006.

PARAMETERS: A_DATBI AS CHECKBOX DEFAULT 'X',

A_DATAB AS CHECKBOX DEFAULT 'X',

A_WERT AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK BLOCK5.

  • ******* EXCEL DOWNLOAD ******* *

SELECTION-SCREEN BEGIN OF BLOCK BL3 WITH FRAME TITLE TEXT-100.

PARAMETERS P_DOWN AS CHECKBOX.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(25) TEXT-101.

PARAMETERS P_XL LIKE Z_EXCEL_FILE DEFAULT 'c:\example.xls'.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BL3.

  • ******* EXCEL DOWNLOAD ******* *

  • ******************************************************************* *

  • DATA *

  • ******************************************************************* *

DATA: CPT TYPE I ,

OBJECTCLASS LIKE CDHDR-OBJECTCLAS,

OBJECTID LIKE CDHDR-OBJECTID ,

ZCOND LIKE A004-KSCHL,

V_TITEL(40),

V_PLTYP LIKE A006-PLTYP, "Case 164536 AKUMAR

V_TEXT1(50),

V_TEXT2(40).

***********************************************************************

  • INTERNAL TABLES *

***********************************************************************

DATA: BEGIN OF RESULTS OCCURS 100,

KOTAB LIKE T681-KOTAB ,

MATNR LIKE A004-MATNR ,

HIENR LIKE A904-HIENR ,

KUNNR LIKE A005-KUNNR ,

  • ZZKATR1 LIKE A903-ZZKATR1 ,

PLTYP LIKE A907-PLTYP ,

KONDA LIKE A906-KONDA ,

KONDM LIKE A999-KONDM ,

KBETR LIKE KONP-KBETR ,

KONWA LIKE KONP-KONWA ,

KPEIN LIKE KONP-KPEIN ,

KMEIN LIKE KONP-KMEIN ,

DATAB LIKE A005-DATAB ,

DATBI LIKE A005-DATBI ,

ERNAM LIKE KONH-ERNAM ,

ERDAT LIKE KONH-ERDAT ,

VKORG LIKE A005-VKORG ,

KSCHL LIKE A005-KSCHL ,

VTWEG LIKE A005-VTWEG ,

MXWRT LIKE KONP-MXWRT ,

GKWRT LIKE KONP-GKWRT ,

PKWRT LIKE KONP-PKWRT ,

KNUMH LIKE KONP-KNUMH .

DATA: END OF RESULTS.

DATA: BEGIN OF CHANGETABLE OCCURS 100.

INCLUDE STRUCTURE CDRED.

DATA: END OF CHANGETABLE.

DATA: BEGIN OF INTAB OCCURS 100,

KOTAB LIKE T681-KOTAB ,

KAPPL LIKE A005-KAPPL ,

KSCHL LIKE A005-KSCHL ,

VKORG LIKE A005-VKORG ,

VTWEG LIKE A005-VTWEG ,

SPART LIKE A946-SPART ,

MATNR LIKE A005-MATNR ,

HIENR LIKE A904-HIENR ,

WAERK LIKE A006-WAERK ,

KUNNR LIKE A005-KUNNR ,

PLTYP LIKE A907-PLTYP ,

KFRST LIKE A946-KFRST ,

KONDA LIKE A906-KONDA ,

KONDM LIKE A999-KONDM ,

DATBI LIKE A005-DATBI ,

KBSTAT LIKE A946-KBSTAT ,

DATAB LIKE A005-DATAB ,

KNUMH LIKE A005-KNUMH ,

WERKS LIKE A913-WERKS ,

KDKGR LIKE A913-KDKGR ,

AUART_SD LIKE A913-AUART_SD.

DATA: END OF INTAB.

DATA: BEGIN OF OUTAB OCCURS 100,

KOTAB LIKE T681-KOTAB ,

KAPPL LIKE A005-KAPPL ,

KSCHL LIKE A005-KSCHL ,

VKORG LIKE A005-VKORG ,

VTWEG LIKE A005-VTWEG ,

SPART LIKE A946-SPART ,

MATNR LIKE A005-MATNR ,

HIENR LIKE A904-HIENR ,

WAERK LIKE A006-WAERK ,

KUNNR LIKE A005-KUNNR ,

PLTYP LIKE A907-PLTYP ,

KFRST LIKE A946-KFRST ,

KONDA LIKE A906-KONDA ,

KONDM LIKE A999-KONDM ,

DATBI LIKE A005-DATBI ,

KBSTAT LIKE A946-KBSTAT ,

DATAB LIKE A005-DATAB ,

KNUMH LIKE A005-KNUMH ,

WERKS LIKE A913-WERKS ,

KDKGR LIKE A913-KDKGR ,

AUART_SD LIKE A913-AUART_SD,

ERNAM LIKE KONH-ERNAM ,

ERDAT LIKE KONH-ERDAT .

DATA: END OF OUTAB.

  • Begin of changes Case 164536 AKUMAR

DATA: I_VBAK LIKE VBAK OCCURS 0 WITH HEADER LINE,

V_KBETR(8) TYPE P DECIMALS 3.

DATA: BEGIN OF I_KONV OCCURS 0,

KBETR LIKE KONV-KBETR,

KDATU LIKE KONV-KDATU,

KSCHL LIKE KONV-KSCHL,

END OF I_KONV.

DATA: BEGIN OF I_RESULTS_MAN OCCURS 0,

KSCHL LIKE KONV-KSCHL,

KBETR LIKE KONV-KBETR,

DATFR LIKE KONV-KDATU,

DATTO LIKE KONV-KDATU,

END OF I_RESULTS_MAN.

DATA: BEGIN OF V_KONV,

KBETR LIKE KONV-KBETR,

KDATU LIKE KONV-KDATU,

KSCHL LIKE KONV-KSCHL,

END OF V_KONV.

DATA: BEGIN OF V_KONV1,

KBETR LIKE KONV-KBETR,

KDATU LIKE KONV-KDATU,

KSCHL LIKE KONV-KSCHL,

END OF V_KONV1.

DATA: BEGIN OF V_KONV_PRE,

KBETR LIKE KONV-KBETR,

KDATU LIKE KONV-KDATU,

KSCHL LIKE KONV-KSCHL,

END OF V_KONV_PRE.

  • End of changes Case 164536 AKUMAR

DATA: BEGIN OF OUTAB2 OCCURS 100.

INCLUDE STRUCTURE OUTAB.

DATA: END OF OUTAB2.

DATA: BEGIN OF ZA006 OCCURS 1000.

INCLUDE STRUCTURE A006.

DATA: END OF ZA006.

DATA: BEGIN OF ZA895 OCCURS 1000.

INCLUDE STRUCTURE A895.

DATA: END OF ZA895.

DATA: BEGIN OF ZA918 OCCURS 1000.

INCLUDE STRUCTURE A918.

DATA: END OF ZA918.

DATA: BEGIN OF ZA943 OCCURS 1000.

INCLUDE STRUCTURE A943.

DATA: END OF ZA943.

DATA: BEGIN OF ZA944 OCCURS 1000.

INCLUDE STRUCTURE A944.

DATA: END OF ZA944.

DATA: BEGIN OF ZA945 OCCURS 1000.

INCLUDE STRUCTURE A945.

DATA: END OF ZA945.

DATA: BEGIN OF ZA946 OCCURS 1000.

INCLUDE STRUCTURE A946.

DATA: END OF ZA946.

DATA: BEGIN OF ZA947 OCCURS 1000.

INCLUDE STRUCTURE A947.

DATA: END OF ZA947.

DATA: BEGIN OF ZA948 OCCURS 1000.

INCLUDE STRUCTURE A948.

DATA: END OF ZA948.

DATA: BEGIN OF ZA949 OCCURS 1000.

INCLUDE STRUCTURE A949.

DATA: END OF ZA949.

*

DATA: BEGIN OF ZA995 OCCURS 1000.

INCLUDE STRUCTURE A995.

DATA: END OF ZA995.

DATA: BEGIN OF ZA997 OCCURS 1000.

INCLUDE STRUCTURE A997.

DATA: END OF ZA997.

DATA: BEGIN OF ZA998 OCCURS 1000.

INCLUDE STRUCTURE A998.

DATA: END OF ZA998.

DATA: BEGIN OF ZA913 OCCURS 1000.

INCLUDE STRUCTURE A913.

DATA: END OF ZA913.

  • ******* EXCEL DOWNLOAD ******* *

  • TABLE OUTPUT

DATA: BEGIN OF EXCEL_OUTAB OCCURS 100,

KOTAB(40) TYPE C ,

MATNR(40) TYPE C ,

HIENR(40) TYPE C ,

KUNNR(40) TYPE C ,

  • ZZKATR1(40) TYPE C ,

PLTYP(40) TYPE C ,

KONDA(40) TYPE C ,

KONDM(40) TYPE C ,

KBETR(40) TYPE C ,

KONWA(40) TYPE C ,

KPEINKMEIN(40) TYPE C ,

DATAB(40) TYPE C ,

DATBI(40) TYPE C ,

ERNAM(40) TYPE C ,

ERDAT(40) TYPE C ,

VKORG(40) TYPE C ,

KSCHL(40) TYPE C ,

VTWEG(40) TYPE C ,

FNAME(40) TYPE C ,

FTEXT(40) TYPE C ,

F_OLD(40) TYPE C ,

F_NEW(40) TYPE C ,

USERNAME(40) TYPE C ,

UDATE(40) TYPE C ,

UTIME(40) TYPE C .

DATA: END OF EXCEL_OUTAB .

DATA: BEGIN OF EXCEL_OUTAB2 OCCURS 100.

INCLUDE STRUCTURE EXCEL_OUTAB .

DATA: END OF EXCEL_OUTAB2 .

DATA: BEGIN OF EXCEL_OUTAB3 OCCURS 100,

KSCHL LIKE KONV-KSCHL,

KBETR LIKE KONV-KBETR,

DATFR LIKE KONV-KDATU,

DATTO LIKE KONV-KDATU,

END OF EXCEL_OUTAB3 .

  • ******* EXCEL DOWNLOAD ******* *

***********************************************************************

INITIALIZATION.

***********************************************************************

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

***********************************************************************

AT SELECTION-SCREEN OUTPUT.

***********************************************************************

CASE 'X'.

WHEN P_ZIP0.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZID1.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZID2.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZID3.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

  • Modification Starts Koti Reddy

WHEN P_ZID4.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

  • Modification End Koti Reddy

WHEN P_ZIP3.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZID5.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZISC.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZIPR.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '1'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN P_ZIF%.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '002'.

SCREEN-ACTIVE = '0'.

ENDIF.

IF SCREEN-GROUP1 = '003'.

SCREEN-ACTIVE = '1'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

  • WHEN P_ZIFR.

  • LOOP AT SCREEN.

  • IF SCREEN-GROUP1 = '001'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • IF SCREEN-GROUP1 = '002'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • IF SCREEN-GROUP1 = '003'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • MODIFY SCREEN.

  • ENDLOOP.

  • WHEN P_ZIPM.

  • LOOP AT SCREEN.

  • IF SCREEN-GROUP1 = '001'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • IF SCREEN-GROUP1 = '002'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • IF SCREEN-GROUP1 = '003'.

  • SCREEN-ACTIVE = '0'.

  • ENDIF.

  • MODIFY SCREEN.

  • ENDLOOP.

ENDCASE.

AT SELECTION-SCREEN ON VKORG.

*--- Begin of Comments - DV1K935934

  • AUTHORITY-CHECK OBJECT 'Z_SD_VKORG'

  • ID 'ACTVT' FIELD '03'

  • ID 'LGORT' FIELD VKORG.

*--- End of Comments - DV1K935934

*--- Begin of insertion - DV1K935934

AUTHORITY-CHECK OBJECT 'Z_SD_VKORG'

ID 'ACTVT' FIELD '03'

ID 'VKORG' FIELD VKORG.

*--- End of insertion - DV1K935934

IF SY-SUBRC NE 0.

MESSAGE ID 'ZAUTH' TYPE 'E' NUMBER '002' WITH VKORG.

ENDIF.

AT SELECTION-SCREEN ON VTWEG.

AUTHORITY-CHECK OBJECT 'Z_SD_VTWEG'

ID 'ACTVT' FIELD '03'

ID 'VTWEG' FIELD VTWEG.

IF SY-SUBRC NE 0.

MESSAGE ID 'ZAUTH' TYPE 'E' NUMBER '007' WITH VTWEG.

ENDIF.

  • ******************************************************************* *

  • START-OF-SELECTION *

  • ******************************************************************* *

START-OF-SELECTION.

IF A_DATAB IS INITIAL AND A_DATBI IS INITIAL AND A_WERT IS INITIAL.

V_TITEL = TEXT-020.

V_TEXT1 = TEXT-021.

V_TEXT2 = TEXT-022.

CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'

EXPORTING

TITEL = V_TITEL

TEXTLINE1 = V_TEXT1

TEXTLINE2 = V_TEXT2

EXCEPTIONS

OTHERS = 1.

EXIT.

ENDIF.

IF P_PLTYP1 EQ 'X'. "Case 164536 AKUMAR

V_PLTYP = 'S0'. "Case 164536 AKUMAR

ELSEIF P_PLTYP2 EQ 'X'. "Case 164536 AKUMAR

V_PLTYP = 'S1'. "Case 164536 AKUMAR

ELSEIF P_PLTYP3 EQ 'X'. "Case 164536 AKUMAR

V_PLTYP = 'S2'. "Case 164536 AKUMAR

ENDIF. "Case 164536 AKUMAR

PERFORM FOUND_DATA.

*IF P_ZIFR NE 'X' AND P_ZIPM NE 'X'. "Case 164536 AKUMAR

LOOP AT INTAB.

MOVE-CORRESPONDING INTAB TO OUTAB.

APPEND OUTAB.

ENDLOOP.

CLEAR RESULTS.

REFRESH RESULTS.

IF NORMT NE ' '.

LOOP AT OUTAB WHERE MATNR NE SPACE.

SELECT SINGLE NORMT FROM MARA INTO MARA-NORMT

WHERE MATNR EQ OUTAB-MATNR.

IF SY-SUBRC EQ 0 AND NORMT NE MARA-NORMT.

DELETE OUTAB.

ENDIF.

ENDLOOP.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ).

LOOP AT OUTAB WHERE MATNR IN MATNR1.

MOVE-CORRESPONDING OUTAB TO OUTAB2.

APPEND OUTAB2.

ENDLOOP.

CLEAR OUTAB. REFRESH OUTAB.

OUTAB[] = OUTAB2[].

CLEAR OUTAB2. REFRESH OUTAB2.

ENDIF.

LOOP AT OUTAB WHERE MATNR CO '0123456789 '.

CALL FUNCTION 'CONVERSION_EXIT_MATN2_OUTPUT'

EXPORTING

INPUT = OUTAB-MATNR

IMPORTING

OUTPUT = OUTAB-MATNR.

MODIFY OUTAB.

ENDLOOP.

  • SORT OUTAB BY KOTAB MATNR HIENR KUNNR ZZKATR1 PLTYP KONDA KONDM.

SORT OUTAB BY KOTAB MATNR HIENR KUNNR PLTYP KONDA KONDM.

LOOP AT OUTAB.

MOVE-CORRESPONDING OUTAB TO RESULTS.

APPEND RESULTS.

ENDLOOP.

LOOP AT RESULTS.

CLEAR KONP.

SELECT KBETR KONWA MXWRT GKWRT PKWRT KPEIN KMEIN FROM KONP

INTO CORRESPONDING FIELDS OF KONP

WHERE KNUMH EQ RESULTS-KNUMH.

RESULTS-KBETR = KONP-KBETR.

RESULTS-KONWA = KONP-KONWA.

RESULTS-MXWRT = KONP-MXWRT.

RESULTS-GKWRT = KONP-GKWRT.

RESULTS-PKWRT = KONP-PKWRT.

RESULTS-KPEIN = KONP-KPEIN.

RESULTS-KMEIN = KONP-KMEIN.

MODIFY RESULTS.

ENDSELECT.

ENDLOOP.

*MODIFICATION

perform f_report_display.

*MODIFICATION ENDS

*-- Begin of Koti

if results[] is initial.

write: / 'No records found on selection date', datab-low, 'to', datab-high.

else.

write: /2 'DATA SELECTED FOR INPUT'.

write: /2 '----


'.

if P_PLTYP1 = 'X'.

write:/2 'Price List Choice: S0'.

elseif P_PLTYP2 = 'X'.

write:/2 'Price List Choice: S1'.

else.

write:/2 'Price List Choice: S2'.

endif.

if P_ZIP0 = 'X'.

write: /2 'Price Condition: ZIP0'.

elseif P_ZID1 = 'X'.

write: /2 'Price Condition: P_ZID1'.

elseif P_ZID2 = 'X'.

write: /2 'Price Condition: P_ZID2'.

elseif P_ZID3 = 'X'.

write: /2 'Price Condition: P_ZID3'.

elseif P_ZID4 = 'X'.

write: /2 'Price Condition: P_ZID4'.

elseif P_ZIP3 = 'X'.

write: /2 'Price Condition: P_ZIP3'.

elseif P_ZISC = 'X'.

write: /2 'Price Condition: P_ZISC'.

elseif P_ZID5 = 'X'.

write: /2 'Price Condition: P_ZID5'.

elseif P_ZIPR = 'X'.

write: /2 'Price Condition: P_ZIPR'.

elseif P_ZIF% = 'X'.

write: /2 'Price Condition: P_P_ZIF%'.

endif.

if not VKORG is initial .

write: /2 'Sales organization: ', VKORG .

endif .

if not VTWEG is initial.

write: /2 'Distribution channel:', VTWEG .

endif.

if not SPART is initial.

write: /2 'Division :', SPART.

endif.

if not KAPPL[] is initial.

write: /2 'Application:', KAPPL-LOW , 'TO' , KAPPL-HIGH.

endif.

if not DATAB[] is initial.

write: /2 'Valid Dates:', DATAB-LOW , 'To' , DATAB-HIGH.

endif.

if not NORMT is initial.

write: /2 'Do not use:', NORMT.

endif.

if not MATNR9[] is initial.

write: /2 'Material', MATNR9-LOW, 'TO' , MATNR9-HIGH.

endif.

if not MATNR[] is initial.

write: /2 'Material', MATNR-LOW, 'TO' , MATNR-HIGH.

endif.

*if not KUNNR[] is initial.

*write: /2 'Customer', KUNNR-LOW, 'TO' , KUNNR-HIGH.

*endif.

if not KONDA2[] is initial.

write: /2 'Price Group ( Customer )', KONDA2-LOW, 'TO' , KONDA2-HIGH.

endif.

if not KONDM1[] is initial.

write: /2 'Material Pricing Group', KONDM1-LOW, 'TO', KONDM1-HIGH .

endif.

if not MATNR1[] is initial.

write: /2 'Customer', MATNR1-LOW , 'TO', MATNR1-HIGH.

endif.

if not KONDM2[] is initial.

write: /2 'Material Pricing Group', KONDM2-LOW , 'TO' , KONDM2-HIGH.

endif.

if not MATNR3[] is initial.

write: /2 'Material', MATNR3-LOW, 'TO' , MATNR3-HIGH.

endif.

if not MATNR6[] is initial.

write: /2 'Material', MATNR6-LOW, 'TO' , MATNR6-HIGH.

endif.

if not SPART1[] is initial.

write: /2 'DIVISION', SPART1-LOW, 'TO' , SPART1-HIGH.

endif.

if not MATNR7[] is initial.

write: /2 'Material', MATNR7-LOW, 'TO' , MATNR7-HIGH.

endif.

if not MATNR4[] is initial.

write: /2 'Material', MATNR4-LOW, 'TO' , MATNR4-HIGH.

endif.

if not MATNR8[] is initial.

write: /2 'Material', MATNR8-LOW, 'TO' , MATNR8-HIGH.

endif.

if not KONDA2[] is initial.

write: /2 'Price group (customer)', KONDA2-LOW, 'TO' , MATNR2-HIGH.

endif.

if not MATNR5[] is initial.

write: /2 'Material', MATNR5-LOW, 'TO' , MATNR5-HIGH.

endif.

if not WERKS is initial.

write: /2 'Plant', WERKS.

endif.

if A_DATBI = 'X' .

write: /2 'End of Validity' .

endif.

if A_DATAB = 'X' .

write: /2 'Begin Of Validity' .

endif.

if A_WERT = 'X' .

write: /2 'Affich Value' .

endif.

if P_DOWN = 'X'.

write: /2 'Download to Excel'.

endif.

endif.

*-- End of Koti

LOOP AT RESULTS.

PERFORM CHANGEDOCUMENT_READ.

PERFORM CLEAR_DATA.

LOOP AT CHANGETABLE WHERE F_OLD <> ' ' AND F_NEW <> ' '.

ENDLOOP.

IF SY-SUBRC = 0.

PERFORM HEADER.

PERFORM AFFICH_HEADER.

PERFORM AFFICH_MODIFS.

ENDIF.

SKIP.

ENDLOOP.

*ELSE. "Case 164536 AKUMAR

  • PERFORM MANUAL_CONDITION_REPORT. "Case 164536 AKUMAR

*ENDIF. "Case 164536 AKUMAR

  • ******************************************************************* *

  • END-OF-SELECTION *

  • ******************************************************************* *

END-OF-SELECTION.

  • ******* EXCEL DOWNLOAD ******* *

IF P_DOWN EQ 'X' OR SY-BATCH EQ 'X'.

*IF P_DOWN EQ 'X' OR SY-BATCH EQ 'X' AND

  • ( P_ZIFR NE 'X' AND P_ZIPM NE 'X' ) .

PERFORM CHARGEMENT_EXCEL.

  • PERFORM EXCEL_EXE.

*ELSEIF P_DOWN EQ 'X' OR SY-BATCH EQ 'X' AND

  • ( P_ZIFR EQ 'X' OR P_ZIPM EQ 'X' ).

  • PERFORM CHARGEMENT_EXCEL1.

ENDIF.

  • ******* EXCEL DOWNLOAD ******* *

  • ******************************************************************* *

  • END *

  • ******************************************************************* *

  • ******************************************************************* *

  • Form HEADER_2 *

  • ******************************************************************* *

FORM HEADER_2.

FORMAT COLOR COL_HEADING.

WRITE: / TEXT-013 ,

11 TEXT-014 ,

72 TEXT-015 ,

93 TEXT-016 ,

114 TEXT-017 ,

127 TEXT-018 ,

138 TEXT-019 ,

145 ' '.

ENDFORM.

  • ******************************************************************* *

  • Form CHANGEDOCUMENT_READ *

  • ******************************************************************* *

FORM CHANGEDOCUMENT_READ.

CLEAR CHANGETABLE.

REFRESH CHANGETABLE.

OBJECTCLASS = 'COND_A'.

OBJECTID = RESULTS-KNUMH .

CALL FUNCTION 'CHANGEDOCUMENT_READ'

EXPORTING

OBJECTCLASS = OBJECTCLASS

OBJECTID = OBJECTID

TABLES

EDITPOS = CHANGETABLE

EXCEPTIONS

NO_POSITION_FOUND = 1

WRONG_ACCESS_TO_ARCHIVE = 2

TIME_ZONE_CONVERSION_ERROR = 3

OTHERS = 4.

ENDFORM.

  • ******************************************************************* *

  • Form AFFICH_MODIFS *

  • ******************************************************************* *

FORM AFFICH_MODIFS.

DATA : ZKPEIN(10) TYPE C,

ZKMEIN(10) TYPE C.

CLEAR : ZKPEIN,

ZKMEIN.

SORT CHANGETABLE BY UDATE UTIME.

PERFORM HEADER_2.

IF P_ZID1 = 'X' OR P_ZID3 = 'X' OR P_ZID5 = 'X' OR

P_ZIF% = 'X'.

V_KBETR = RESULTS-KBETR / 10.

ENDIF.

FORMAT COLOR COL_NORMAL.

LOOP AT CHANGETABLE WHERE F_OLD NE ' ' AND F_NEW NE ' '.

SHIFT: CHANGETABLE-F_NEW LEFT DELETING LEADING SPACE,

CHANGETABLE-F_OLD LEFT DELETING LEADING SPACE.

WRITE: / CHANGETABLE-FNAME ,

11 CHANGETABLE-FTEXT ,

72 CHANGETABLE-F_OLD(20) ,

93 CHANGETABLE-F_NEW(20) ,

114 CHANGETABLE-USERNAME ,

127 CHANGETABLE-UDATE ,

138 CHANGETABLE-UTIME .

MOVE : CHANGETABLE-FNAME TO EXCEL_OUTAB-FNAME,

CHANGETABLE-FTEXT TO EXCEL_OUTAB-FTEXT,

CHANGETABLE-USERNAME TO EXCEL_OUTAB-USERNAME,

RESULTS-KOTAB TO EXCEL_OUTAB-KOTAB,

RESULTS-MATNR TO EXCEL_OUTAB-MATNR,

RESULTS-HIENR TO EXCEL_OUTAB-HIENR,

RESULTS-KUNNR TO EXCEL_OUTAB-KUNNR,

  • RESULTS-ZZKATR1 TO EXCEL_OUTAB-ZZKATR1,

RESULTS-PLTYP TO EXCEL_OUTAB-PLTYP,

RESULTS-KONDA TO EXCEL_OUTAB-KONDA,

RESULTS-KONDM TO EXCEL_OUTAB-KONDM.

IF P_ZID1 = 'X' OR P_ZID3 = 'X' OR P_ZID5 = 'X' OR

P_ZIF% = 'X'.

MOVE V_KBETR TO EXCEL_OUTAB-KBETR.

ELSE.

MOVE RESULTS-KBETR TO EXCEL_OUTAB-KBETR.

ENDIF.

MOVE : RESULTS-KONWA TO EXCEL_OUTAB-KONWA,

RESULTS-ERNAM TO EXCEL_OUTAB-ERNAM,

RESULTS-VKORG TO EXCEL_OUTAB-VKORG,

RESULTS-KSCHL TO EXCEL_OUTAB-KSCHL,

RESULTS-VTWEG TO EXCEL_OUTAB-VTWEG,

RESULTS-KPEIN TO ZKPEIN ,

RESULTS-KMEIN TO ZKMEIN .

WRITE CHANGETABLE-UTIME TO EXCEL_OUTAB-UTIME

USING EDIT MASK '__:__:__'.

PERFORM ZDATE USING RESULTS-DATAB 1.

PERFORM ZDATE USING RESULTS-DATBI 2.

PERFORM ZDATE USING CHANGETABLE-UDATE 3.

PERFORM ZDATE USING RESULTS-ERDAT 4.

IF CHANGETABLE-FNAME EQ 'DATAB'.

PERFORM ZDATE USING CHANGETABLE-F_OLD 5.

PERFORM ZDATE USING CHANGETABLE-F_NEW 6.

ELSEIF CHANGETABLE-FNAME EQ 'DATBI'.

PERFORM ZDATE USING CHANGETABLE-F_OLD 5.

PERFORM ZDATE USING CHANGETABLE-F_NEW 6.

ELSE.

MOVE: CHANGETABLE-F_OLD TO EXCEL_OUTAB-F_OLD,

CHANGETABLE-F_NEW TO EXCEL_OUTAB-F_NEW.

ENDIF.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'

EXPORTING

INPUT = ZKMEIN

LANGUAGE = SY-LANGU

IMPORTING

OUTPUT = ZKMEIN.

CONCATENATE ZKPEIN ZKMEIN INTO EXCEL_OUTAB-KPEINKMEIN

SEPARATED BY SPACE.

APPEND EXCEL_OUTAB.

ENDLOOP.

ENDFORM.

  • Begin of changes Case 164536 AKUMAR

  • ******************************************************************* *

  • Form MANUAL_CONDITION_REPORT *

  • ******************************************************************* *

FORM MANUAL_CONDITION_REPORT.

FORMAT COLOR COL_HEADING.

WRITE:/5 TEXT-251, 35 TEXT-252, 70 TEXT-253, 90 TEXT-254.

FORMAT COLOR COL_NORMAL.

LOOP AT I_RESULTS_MAN.

CLEAR EXCEL_OUTAB3.

WRITE:/ I_RESULTS_MAN-KSCHL UNDER TEXT-251,

I_RESULTS_MAN-KBETR LEFT-JUSTIFIED UNDER TEXT-252,

I_RESULTS_MAN-DATFR UNDER TEXT-253,

I_RESULTS_MAN-DATTO UNDER TEXT-254.

MOVE-CORRESPONDING I_RESULTS_MAN TO EXCEL_OUTAB3.

APPEND EXCEL_OUTAB3.

ENDLOOP.

ENDFORM.

  • End of changes Case 164536 AKUMAR

  • ******************************************************************* *

  • Form ZDATE *

  • ******************************************************************* *

FORM ZDATE USING ZDATUM ZNUM.

DATA ZZDATUM(10) TYPE C.

IF ZNUM NE 5 AND ZNUM NE 6.

CONCATENATE ZDATUM6(2) '.' ZDATUM4(2) '.' ZDATUM(4) INTO ZZDATUM.

ELSE.

IF NOT ( ZDATUM2(1) EQ '.' AND ZDATUM5(1) EQ '.' ).

CONCATENATE ZDATUM8(2) '.' ZDATUM5(2) '.' ZDATUM(4) INTO ZZDATUM.

ELSE.

MOVE ZDATUM TO ZZDATUM.

ENDIF.

ENDIF.

CASE ZNUM.

WHEN 1.

MOVE ZZDATUM TO EXCEL_OUTAB-DATAB.

WHEN 2.

MOVE ZZDATUM TO EXCEL_OUTAB-DATBI.

WHEN 3.

MOVE ZZDATUM TO EXCEL_OUTAB-UDATE.

WHEN 4.

MOVE ZZDATUM TO EXCEL_OUTAB-ERDAT.

WHEN 5.

MOVE ZZDATUM TO EXCEL_OUTAB-F_OLD.

WHEN 6.

MOVE ZZDATUM TO EXCEL_OUTAB-F_NEW.

ENDCASE.

ENDFORM.

  • ******************************************************************* *

  • Form HEADER *

  • ******************************************************************* *

FORM HEADER.

FORMAT COLOR COL_HEADING.

SKIP.

WRITE: / TEXT-001,

20 TEXT-024,

32 TEXT-002,

  • 44 TEXT-025,

44 TEXT-028,

60 TEXT-026,

80 TEXT-027,

100 TEXT-003,

116 TEXT-004,

129 TEXT-005,

137 TEXT-006,

150 TEXT-007,

165 TEXT-008,

181 TEXT-009,

194 TEXT-010,

209 TEXT-011,

220 TEXT-012,

230 ' '.

ENDFORM.

  • ******************************************************************* *

  • Form AFFICH_HEADER *

  • ******************************************************************* *

FORM AFFICH_HEADER.

IF P_ZID1 = 'X' OR P_ZID3 = 'X' OR P_ZID5 = 'X' OR

P_ZIF% = 'X'.

V_KBETR = RESULTS-KBETR / 10.

ENDIF.

FORMAT COLOR COL_KEY.

WRITE:/ RESULTS-MATNR,

20 RESULTS-HIENR,

32 RESULTS-KUNNR,

  • 44 RESULTS-ZZKATR1,

44 RESULTS-PLTYP,

60 RESULTS-KONDA,

80 RESULTS-KONDM.

IF P_ZID1 = 'X' OR P_ZID3 = 'X' OR P_ZID5 = 'X' OR

P_ZIF% = 'X'.

WRITE 100 V_KBETR LEFT-JUSTIFIED.

ELSE.

WRITE 100 RESULTS-KBETR LEFT-JUSTIFIED.

ENDIF.

WRITE: 116 RESULTS-KONWA,

129 RESULTS-KPEIN LEFT-JUSTIFIED,

132 RESULTS-KMEIN,

137 RESULTS-DATAB,

150 RESULTS-DATBI,

165 RESULTS-ERNAM,

181 RESULTS-ERDAT,

194 RESULTS-VKORG,

209 RESULTS-KSCHL,

220 RESULTS-VTWEG,

230 ' '.

ENDFORM.

  • ******************************************************************* *

  • Form CLEAR_DATA *

  • ******************************************************************* *

FORM CLEAR_DATA.

IF A_DATAB IS INITIAL.

LOOP AT CHANGETABLE WHERE FNAME EQ 'DATAB' .

DELETE CHANGETABLE.

ENDLOOP.

ENDIF.

IF A_DATBI IS INITIAL.

LOOP AT CHANGETABLE WHERE FNAME EQ 'DATBI' .

DELETE CHANGETABLE.

ENDLOOP.

ENDIF.

IF A_WERT IS INITIAL.

LOOP AT CHANGETABLE WHERE FNAME EQ 'KBETR' .

DELETE CHANGETABLE.

ENDLOOP.

ENDIF.

LOOP AT CHANGETABLE WHERE F_OLD EQ ' ' AND F_NEW EQ ' '.

DELETE CHANGETABLE.

ENDLOOP.

ENDFORM.

  • ******************************************************************* *

  • Form FOUND_DATA *

  • ******************************************************************* *

FORM FOUND_DATA.

  • READ DATA

CASE 'X'.

WHEN P_ZIP0.

MOVE 'ZIP0' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Satrts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Satrts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZID1.

MOVE 'ZID1' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZID2.

MOVE 'ZID2' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts KotiReddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends KotiReddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZID3.

MOVE 'ZID3' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

  • Modification Starts Koti Reddy

WHEN P_ZID4.

MOVE 'ZID4' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

IF NOT ( KONDM3 IS INITIAL ) .

PERFORM READ_TABLE_A947.

ENDIF.

IF NOT ( MATNR2 IS INITIAL ) .

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

  • MOdification End Koti Reddy

WHEN P_ZIP3.

MOVE 'ZIP3' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ).

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZID5.

MOVE 'ZID5' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZISC.

MOVE 'ZISC' TO ZCOND.

  • IF NOT ( PLTYP IS INITIAL ) .

IF NOT ( MATNR9 IS INITIAL ) .

PERFORM READ_TABLE_A006.

ENDIF.

IF NOT ( MATNR IS INITIAL ) .

PERFORM READ_TABLE_A946.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KUNNR IS INITIAL ) .

IF NOT ( KONDM3 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A947.

ENDIF.

  • Modification Starts Koti Reddy

  • IF NOT ( KONDA1 IS INITIAL ) .

IF NOT ( MATNR2 IS INITIAL ) .

  • Modification Ends Koti Reddy

PERFORM READ_TABLE_A948.

ENDIF.

IF NOT ( KONDM1 IS INITIAL ) .

PERFORM READ_TABLE_A949.

ENDIF.

IF NOT ( MATNR1 IS INITIAL ) .

PERFORM READ_TABLE_A995.

ENDIF.

IF NOT ( KONDM2 IS INITIAL ) .

PERFORM READ_TABLE_A997.

ENDIF.

IF NOT ( MATNR3 IS INITIAL ) .

PERFORM READ_TABLE_A998.

ENDIF.

WHEN P_ZIPR.

MOVE 'ZIPR' TO ZCOND.

IF NOT ( MATNR6 IS INITIAL ) .

PERFORM READ_TABLE_A918.

ENDIF.

IF NOT ( SPART1 IS INITIAL ) OR NOT ( MATNR7 IS INITIAL ).

PERFORM READ_TABLE_A895.

ENDIF.

IF NOT ( MATNR4 IS INITIAL ) .

PERFORM READ_TABLE_A943.

ENDIF.

IF NOT ( MATNR8 IS INITIAL ) .

PERFORM READ_TABLE_A006_2.

ENDIF.

IF NOT ( KONDA2 IS INITIAL ) .

PERFORM READ_TABLE_A944.

ENDIF.

IF NOT ( MATNR5 IS INITIAL ) .

PERFORM READ_TABLE_A945.

ENDIF.

WHEN P_ZIF%.

MOVE 'ZIF%' TO ZCOND.

IF NOT ( WERKS IS INITIAL ) .

PERFORM READ_TABLE_A913.

ENDIF.

  • WHEN P_ZIFR.

  • MOVE 'ZIFR' TO ZCOND.

  • PERFORM READ_MANUAL_COND.

*

  • WHEN P_ZIPM.

  • MOVE 'ZIPM' TO ZCOND.

  • PERFORM READ_MANUAL_COND.

ENDCASE.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A006 *

  • ******************************************************************* *

FORM READ_TABLE_A006.

SELECT * FROM A006 APPENDING TABLE ZA006 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND MATNR IN MATNR9

  • AND PLTYP IN PLTYP

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB.

LOOP AT ZA006.

MOVE-CORRESPONDING ZA006 TO INTAB.

MOVE 'A006' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A946 *

  • ******************************************************************* *

FORM READ_TABLE_A946.

SELECT * FROM A946 APPENDING TABLE ZA946 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND MATNR IN MATNR.

LOOP AT ZA946.

MOVE-CORRESPONDING ZA946 TO INTAB.

MOVE 'A946' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A947 *

  • ******************************************************************* *

FORM READ_TABLE_A947.

SELECT * FROM A947 APPENDING TABLE ZA947 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

  • AND KUNNR IN KUNNR.

AND KONDM IN KONDM3.

LOOP AT ZA947.

MOVE-CORRESPONDING ZA947 TO INTAB.

MOVE 'A947' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A948 *

  • ******************************************************************* *

FORM READ_TABLE_A948.

SELECT * FROM A948 APPENDING TABLE ZA948 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

  • AND KONDA IN KONDA1.

AND MATNR IN MATNR2.

LOOP AT ZA948.

MOVE-CORRESPONDING ZA948 TO INTAB.

MOVE 'A948' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A949 *

  • ******************************************************************* *

FORM READ_TABLE_A949.

SELECT * FROM A949 APPENDING TABLE ZA949 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND KONDM IN KONDM1.

LOOP AT ZA949.

MOVE-CORRESPONDING ZA949 TO INTAB.

MOVE 'A949' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A995 *

  • ******************************************************************* *

FORM READ_TABLE_A995.

SELECT * FROM A995 APPENDING TABLE ZA995 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND MATNR IN MATNR1.

LOOP AT ZA995.

MOVE-CORRESPONDING ZA995 TO INTAB.

MOVE 'A995' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A997 *

  • ******************************************************************* *

FORM READ_TABLE_A997.

SELECT * FROM A997 APPENDING TABLE ZA997 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND KONDM IN KONDM2.

LOOP AT ZA997.

MOVE-CORRESPONDING ZA997 TO INTAB.

MOVE 'A997' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A998 *

  • ******************************************************************* *

FORM READ_TABLE_A998.

SELECT * FROM A998 APPENDING TABLE ZA998 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND DATAB IN DATAB

AND MATNR IN MATNR3.

LOOP AT ZA998.

MOVE-CORRESPONDING ZA998 TO INTAB.

MOVE 'A998' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A918 *

  • ******************************************************************* *

FORM READ_TABLE_A918.

SELECT * FROM A918 APPENDING TABLE ZA918 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND DATAB IN DATAB

AND MATNR IN MATNR6.

LOOP AT ZA918.

MOVE-CORRESPONDING ZA918 TO INTAB.

MOVE 'A918' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A895 *

  • ******************************************************************* *

FORM READ_TABLE_A895.

SELECT * FROM A895 APPENDING TABLE ZA895 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB

AND SPART IN SPART1

AND MATNR IN MATNR7.

LOOP AT ZA895.

MOVE-CORRESPONDING ZA895 TO INTAB.

MOVE 'A895' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A895_1

*

  • ******************************************************************* *

FORM READ_TABLE_A895_1.

REFRESH ZA895.

SELECT * FROM A895 APPENDING TABLE ZA895 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB

AND MATNR IN MATNR7.

LOOP AT ZA895.

MOVE-CORRESPONDING ZA895 TO INTAB.

MOVE 'A895' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A943 *

  • ******************************************************************* *

FORM READ_TABLE_A943.

SELECT * FROM A943 APPENDING TABLE ZA943 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB

AND MATNR IN MATNR4.

LOOP AT ZA943.

MOVE-CORRESPONDING ZA943 TO INTAB.

MOVE 'A943' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A006_2 *

  • ******************************************************************* *

FORM READ_TABLE_A006_2.

SELECT * FROM A006 APPENDING TABLE ZA006 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

  • AND PLTYP IN PLTYP

AND PLTYP EQ V_PLTYP

AND DATAB IN DATAB

AND MATNR IN MATNR8.

LOOP AT ZA006.

MOVE-CORRESPONDING ZA006 TO INTAB.

MOVE 'A006' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A944 *

  • ******************************************************************* *

FORM READ_TABLE_A944.

SELECT * FROM A944 APPENDING TABLE ZA944 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB.

LOOP AT ZA944.

MOVE-CORRESPONDING ZA944 TO INTAB.

MOVE 'A944' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A945 *

  • ******************************************************************* *

FORM READ_TABLE_A945.

SELECT * FROM A945 APPENDING TABLE ZA945 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND DATAB IN DATAB

AND MATNR IN MATNR5.

LOOP AT ZA945.

MOVE-CORRESPONDING ZA945 TO INTAB.

MOVE 'A945' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A913 *

  • ******************************************************************* *

FORM READ_TABLE_A913.

SELECT * FROM A913 APPENDING TABLE ZA913 WHERE KAPPL IN KAPPL

AND KSCHL EQ ZCOND

AND VKORG EQ VKORG

AND VTWEG EQ VTWEG

AND SPART EQ SPART

AND DATAB IN DATAB

AND WERKS IN WERKS.

LOOP AT ZA913.

MOVE-CORRESPONDING ZA913 TO INTAB.

MOVE 'A913' TO INTAB-KOTAB.

APPEND INTAB.

ENDLOOP.

CLEAR INTAB.

ENDFORM.

  • ******************************************************************* *

  • Form READ_TABLE_A913 *

  • ******************************************************************* *

FORM READ_MANUAL_COND.

REFRESH I_VBAK.

SELECT * FROM VBAK INTO TABLE I_VBAK WHERE VKORG = VKORG AND

VTWEG = VTWEG AND

ERDAT IN DATAB.

REFRESH I_KONV.

SORT I_VBAK BY KNUMV.

  • LOOP AT I_VBAK.

SELECT * FROM KONV INTO CORRESPONDING

FIELDS OF TABLE I_KONV FOR ALL ENTRIES IN I_VBAK

WHERE KNUMV = I_VBAK-KNUMV AND

KAPPL IN KAPPL AND

KSCHL = ZCOND.

  • ENDLOOP.

REFRESH I_RESULTS_MAN.

SORT I_KONV BY KDATU ASCENDING.

LOOP AT I_KONV.

CLEAR V_KONV1.

MOVE I_KONV TO V_KONV1.

AT NEW KBETR.

IF SY-TABIX NE 1.

CLEAR I_RESULTS_MAN.

MOVE ZCOND TO I_RESULTS_MAN-KSCHL.

MOVE V_KONV-KBETR TO I_RESULTS_MAN-KBETR.

MOVE V_KONV_PRE-KDATU TO I_RESULTS_MAN-DATFR.

I_RESULTS_MAN-DATTO = V_KONV-KDATU - 1.

APPEND I_RESULTS_MAN.

ENDIF.

CLEAR V_KONV_PRE.

MOVE V_KONV1 TO V_KONV_PRE.

ENDAT.

CLEAR V_KONV.

MOVE I_KONV TO V_KONV.

ENDLOOP.

ENDFORM.

  • ******* EXCEL DOWNLOAD ******* *

  • ******************************************************************* *

  • Form CLEAR_DATA *

  • ******************************************************************* *

FORM CHARGEMENT_EXCEL.

  • OPEN THE EXCEL FILE

PERFORM OPEN_EXCEL_FILE USING P_XL.

IF Z_SUBRC EQ '1'.

EXIT.

ENDIF.

  • CREATE THE LINES OF THE EXCEL FILE

PERFORM CHARGEMENT_EXCEL_DATA.

  • CLOSE THE EXCEL FILE

PERFORM CLOSE_EXCEL.

ENDFORM.

FORM CHARGEMENT_EXCEL1.

  • OPEN THE EXCEL FILE

PERFORM OPEN_EXCEL_FILE USING P_XL.

IF Z_SUBRC EQ '1'.

EXIT.

ENDIF.

  • CREATE THE LINES OF THE EXCEL FILE

PERFORM CHARGEMENT_EXCEL_DATA1.

  • CLOSE THE EXCEL FILE

PERFORM CLOSE_EXCEL.

ENDFORM.

  • ******************************************************************* *

  • Form CLEAR_DATA *

  • ******************************************************************* *

FORM CHARGEMENT_EXCEL_DATA.

ADD 1 TO LINE.

PERFORM TITLE_COLUMNS.

LOOP AT EXCEL_OUTAB.

PERFORM CREATE_LINE_X.

ENDLOOP.

ENDFORM.

FORM CHARGEMENT_EXCEL_DATA1.

ADD 1 TO LINE.

PERFORM TITLE_COLUMNS1.

LOOP AT EXCEL_OUTAB3.

PERFORM CREATE_LINE_X_1.

ENDLOOP.

ENDFORM.

  • ******************************************************************* *

  • Form TITLE_COLUMNS *

  • ******************************************************************* *

FORM TITLE_COLUMNS.

XL_COLOR = 7.

PERFORM CELL_UPDATE USING 1 TEXT-023 1 1 1 1.

PERFORM CELL_UPDATE USING 2 TEXT-001 1 1 1 1.

PERFORM CELL_UPDATE USING 3 TEXT-024 1 1 1 1.

PERFORM CELL_UPDATE USING 4 TEXT-002 1 1 1 1.

  • Begin of Changes AKUMAR

  • PERFORM CELL_UPDATE USING 5 TEXT-025 1 1 1 1.

  • PERFORM CELL_UPDATE USING 6 TEXT-028 1 1 1 1.

  • PERFORM CELL_UPDATE USING 7 TEXT-026 1 1 1 1.

  • PERFORM CELL_UPDATE USING 8 TEXT-027 1 1 1 1.

  • PERFORM CELL_UPDATE USING 9 TEXT-003 1 1 1 1.

  • PERFORM CELL_UPDATE USING 10 TEXT-004 1 1 1 1.

  • PERFORM CELL_UPDATE USING 11 TEXT-005 1 1 1 1.

  • PERFORM CELL_UPDATE USING 12 TEXT-006 1 1 1 1.

  • PERFORM CELL_UPDATE USING 13 TEXT-007 1 1 1 1.

  • PERFORM CELL_UPDATE USING 14 TEXT-008 1 1 1 1.

  • PERFORM CELL_UPDATE USING 15 TEXT-009 1 1 1 1.

  • PERFORM CELL_UPDATE USING 16 TEXT-010 1 1 1 1.

  • PERFORM CELL_UPDATE USING 17 TEXT-011 1 1 1 1.

  • PERFORM CELL_UPDATE USING 18 TEXT-012 1 1 1 1.

  • PERFORM CELL_UPDATE USING 19 TEXT-013 1 1 1 1.

  • PERFORM CELL_UPDATE USING 20 TEXT-014 1 1 1 1.

  • PERFORM CELL_UPDATE USING 21 TEXT-015 1 1 1 1.

  • PERFORM CELL_UPDATE USING 22 TEXT-016 1 1 1 1.

  • PERFORM CELL_UPDATE USING 23 TEXT-017 1 1 1 1.

  • PERFORM CELL_UPDATE USING 24 TEXT-018 1 1 1 1.

  • PERFORM CELL_UPDATE USING 25 TEXT-019 1 1 1 1.

PERFORM CELL_UPDATE USING 5 TEXT-028 1 1 1 1.

PERFORM CELL_UPDATE USING 6 TEXT-026 1 1 1 1.

PERFORM CELL_UPDATE USING 7 TEXT-027 1 1 1 1.

PERFORM CELL_UPDATE USING 8 TEXT-003 1 1 1 1.

PERFORM CELL_UPDATE USING 9 TEXT-004 1 1 1 1.

PERFORM CELL_UPDATE USING 10 TEXT-005 1 1 1 1.

PERFORM CELL_UPDATE USING 11 TEXT-006 1 1 1 1.

PERFORM CELL_UPDATE USING 12 TEXT-007 1 1 1 1.

PERFORM CELL_UPDATE USING 13 TEXT-008 1 1 1 1.

PERFORM CELL_UPDATE USING 14 TEXT-009 1 1 1 1.

PERFORM CELL_UPDATE USING 15 TEXT-010 1 1 1 1.

PERFORM CELL_UPDATE USING 16 TEXT-011 1 1 1 1.

PERFORM CELL_UPDATE USING 17 TEXT-012 1 1 1 1.

PERFORM CELL_UPDATE USING 18 TEXT-013 1 1 1 1.

PERFORM CELL_UPDATE USING 19 TEXT-014 1 1 1 1.

PERFORM CELL_UPDATE USING 20 TEXT-015 1 1 1 1.

PERFORM CELL_UPDATE USING 21 TEXT-016 1 1 1 1.

PERFORM CELL_UPDATE USING 22 TEXT-017 1 1 1 1.

PERFORM CELL_UPDATE USING 23 TEXT-018 1 1 1 1.

PERFORM CELL_UPDATE USING 24 TEXT-019 1 1 1 1.

  • End of Changes AKUMAR

XL_COLOR = 0.

ENDFORM.

  • ******************************************************************* *

  • Form TITLE_COLUMNS1 *

  • ******************************************************************* *

FORM TITLE_COLUMNS1.

XL_COLOR = 7.

PERFORM CELL_UPDATE USING 1 TEXT-251 1 1 1 1.

PERFORM CELL_UPDATE USING 2 TEXT-252 1 1 1 1.

PERFORM CELL_UPDATE USING 3 TEXT-253 1 1 1 1.

PERFORM CELL_UPDATE USING 4 TEXT-254 1 1 1 1.

XL_COLOR = 0.

ENDFORM.

  • ******************************************************************* *

  • Form CELL_UPDATE *

  • ******************************************************************* *

FORM CELL_UPDATE USING INDICE ZTEXT Z1 Z2 Z3 Z4.

MOVE INDICE TO COL.

ASSIGN ZTEXT TO <VALUE>.

ZFONT-FONTSTYLE = 'BOLD'.

PERFORM BORDER_CELL USING Z1 Z2 Z3 Z4.

PERFORM APPEND_TO_CELL.

PERFORM CENTER_CELL.

ENDFORM.

  • ******************************************************************* *

  • Form CREATE_LINE_X *

  • ******************************************************************* *

FORM CREATE_LINE_X.

ADD 1 TO LINE.

MOVE 0 TO COL.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KOTAB.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-MATNR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-HIENR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KUNNR.

*PERFORM ADD_OBJECT USING EXCEL_OUTAB-ZZKATR1.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-PLTYP.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KONDA.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KONDM.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KBETR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KONWA.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KPEINKMEIN.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-DATAB.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-DATBI.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-ERNAM.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-ERDAT.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-VKORG.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-KSCHL.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-VTWEG.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-FNAME.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-FTEXT.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-F_OLD.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-F_NEW.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-USERNAME.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-UDATE.

PERFORM ADD_OBJECT USING EXCEL_OUTAB-UTIME.

ENDFORM.

  • ******************************************************************* *

  • Form CREATE_LINE_X_1 *

  • ******************************************************************* *

FORM CREATE_LINE_X_1.

ADD 1 TO LINE.

MOVE 0 TO COL.

PERFORM ADD_OBJECT USING EXCEL_OUTAB3-KSCHL.

PERFORM ADD_OBJECT USING EXCEL_OUTAB3-KBETR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB3-DATFR.

PERFORM ADD_OBJECT USING EXCEL_OUTAB3-DATTO.

ENDFORM.

  • ******************************************************************* *

  • Form ADD_OBJECT *

  • ******************************************************************* *

FORM ADD_OBJECT USING ZPARAM.

ADD 1 TO COL.

ASSIGN ZPARAM TO <VALUE>.

ZFONT-FONTSTYLE = 'BOLD'.

PERFORM BORDER_CELL USING 1 1 1 1.

PERFORM APPEND_TO_CELL.

ENDFORM.

  • ******* EXCEL DOWNLOAD ******* *

************************************************************************

  • FORM : EXCEL_EXE *

************************************************************************

  • DESCRIPTION : EXECUTE EXCEL *

************************************************************************

FORM EXCEL_EXE.

DATA L_FILENAME LIKE RLGRAP-FILENAME.

IF SY-BATCH IS INITIAL.

  • HEADER

MOVE: TEXT-023 TO EXCEL_OUTAB2-KOTAB ,

TEXT-001 TO EXCEL_OUTAB2-MATNR ,

TEXT-002 TO EXCEL_OUTAB2-KUNNR ,

TEXT-003 TO EXCEL_OUTAB2-KBETR ,

TEXT-004 TO EXCEL_OUTAB2-KONWA ,

TEXT-005 TO EXCEL_OUTAB2-KPEINKMEIN ,

TEXT-006 TO EXCEL_OUTAB2-DATAB ,

TEXT-007 TO EXCEL_OUTAB2-DATBI ,

TEXT-008 TO EXCEL_OUTAB2-ERNAM ,

TEXT-009 TO EXCEL_OUTAB2-ERDAT ,

TEXT-010 TO EXCEL_OUTAB2-VKORG ,

TEXT-011 TO EXCEL_OUTAB2-KSCHL ,

TEXT-012 TO EXCEL_OUTAB2-VTWEG ,

TEXT-013 TO EXCEL_OUTAB2-FNAME ,

TEXT-014 TO EXCEL_OUTAB2-FTEXT ,

TEXT-015 TO EXCEL_OUTAB2-F_OLD ,

TEXT-016 TO EXCEL_OUTAB2-F_NEW ,

TEXT-017 TO EXCEL_OUTAB2-USERNAME ,

TEXT-018 TO EXCEL_OUTAB2-UDATE ,

TEXT-019 TO EXCEL_OUTAB2-UTIME .

APPEND EXCEL_OUTAB2.

LOOP AT EXCEL_OUTAB.

MOVE-CORRESPONDING EXCEL_OUTAB TO EXCEL_OUTAB2.

APPEND EXCEL_OUTAB2.

CPT = CPT + 1.

ENDLOOP.

WRITE : /5 'Number of Record found to Include : ', CPT.

MOVE P_XL TO L_FILENAME.

CALL FUNCTION 'WS_EXCEL'

EXPORTING

FILENAME = L_FILENAME

TABLES

DATA = EXCEL_OUTAB2

EXCEPTIONS

OTHERS = 1.

ENDIF.

ENDFORM.

************************************************************************

  • FORM : f_report_display . *

************************************************************************

  • DESCRIPTION : PAgeno *

************************************************************************

form f_report_display .

IF sy-tcode EQ c_tcode1.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

ULINE.

WRITE: /1 sy-vline,

3 text-201,

50 text-202,

90 text-203,

AT sy-linsz sy-vline.

WRITE: /1 sy-vline,

AT sy-linsz sy-vline.

WRITE: /1 sy-vline,

90 text-208,sy-pagno,c_slash,sy-pagno,

AT sy-linsz sy-vline.

FORMAT COLOR OFF.

ULINE.

ENDIF.

  • ******************************************************************* *

  • END REPORT *

  • ******************************************************************* *

Waiting for reply,

Gautami.

6 REPLIES 6
Read only

Former Member
0 Likes
842

Check out with this code .. will help you out

  • A variable

DATA L_PAGE_COUNT(5) TYPE C.

*Copy in The end of program

WRITE SY-PAGNO TO L_PAGE_COUNT LEFT-JUSTIFIED.

DO SY-PAGNO TIMES.

READ LINE 1 OF PAGE SY-INDEX.

REPLACE '-----' WITH L_PAGE_COUNT INTO SY-LISEL.

MODIFY CURRENT LINE.

ENDDO.

TOP-OF-PAGE.

WRITE: /(70) 'Heading' CENTERED, 70 SY-PAGNO,'of ', '-----'.

Regards,

Jayant Sahu.

*Award Points if helpful

Read only

0 Likes
842

Hi Jayant,

What exactly i have to fill in '----


'.

Thanks in Adavance,

Gautami.

Read only

0 Likes
842

No need to fill anything in '----


'. Keep it as it is.

It will first display '----


' in the output list & then replace it with pageno.

Read only

Former Member
0 Likes
842

Hai Gautami,

Just Write in the script editor where you want to print it as:

/: &page& of &SAPSCRIPT-FORMPAGES& OR

/: &page& of &SAPSCRIPT-JOBPAGES&

Hope this helps you.

Regds,

Rama chary.Pammi

Read only

Former Member
0 Likes
842

Check this:

Read only

Former Member
0 Likes
842

Hi,

Try this.

REPORT zsimple_rep LINE-COUNT 25 .

DATA : BEGIN OF i_mara OCCURS 0,

matnr TYPE matnr,

END OF i_mara.

DATA : line TYPE i,

totpage TYPE i.

START-OF-SELECTION.

SELECT matnr

FROM mara

UP TO 250 ROWS

INTO TABLE i_mara.

DESCRIBE TABLE i_mara LINES line.

totpage = line / ( sy-linct - 2 ).

totpage = totpage + 1.

LOOP AT i_mara.

WRITE 😕 i_mara-matnr.

ENDLOOP.

TOP-OF-PAGE.

WRITE : 50 'page', sy-pagno, 'of', totpage.

Reward if useful.

Regards,

U. Uma