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

CODE TO EXCEL

Former Member
0 Likes
946

Hi,

-


&----


*& Report ZTKALEEM *

*& *

&----


*& *

*& *

&----


REPORT ZTKALEEM no standard page heading line-size 255.

&--


DECLERATION OF TABLE TYPES--

TYPES: BEGIN OF TY_EXL,

AUFNR TYPE AUFNR, "Order Number

PLNBEZ TYPE AFKO-PLNBEZ, "Material Number

PLNNR TYPE PLNNR, "Routing Number

GAMNG TYPE GAMNG, "Total Order Quantity

GLTRS TYPE AFKO-GLTRS, "Scheduled Finish Date

INACT TYPE INACT, "Release Indicator

FTRMS TYPE AFKO-FTRMS, "Date of Release

AUART TYPE AUART, "Order Type

GETRI TYPE AFKO-GETRI, "Confirmed Order Finish Date

WEMNG TYPE WEMNG, "Delivery Quantity

DISPO TYPE DISPO, "MRP Controller

END OF TY_EXL.

TYPES: BEGIN OF TY_EXL1,

AUFNR TYPE AUFNR, "Order Number

PLNBEZ TYPE AFKO-PLNBEZ, "Material Number

PLNNR TYPE PLNNR, "Routing Number

GAMNG TYPE GAMNG, "Total Order Quantity

GLTRS(10) TYPE c, " VALUE 'DD.MM.YY',

"Scheduled Finish Date

INACT TYPE INACT, "Release Indicator

FTRMS(10) TYPE c, " VALUE 'DD.MM.YY',

"Date of Release

AUART TYPE AUART, "Order Type

GETRI(10) TYPE c, " VALUE 'DD.MM.YY',

"Confirmed Order Finish Date

WEMNG TYPE WEMNG, "Delivery Quantity

DISPO TYPE DISPO, "MRP Controller

END OF TY_EXL1.

DATA: IT_EXL TYPE STANDARD TABLE OF TY_EXL,

WA_EXL LIKE LINE OF IT_EXL.

DATA: IT_EXL1 TYPE STANDARD TABLE OF TY_EXL1,

WA_EXL1 LIKE LINE OF IT_EXL1.

&--


Individual Object Status--

TYPES: BEGIN OF TY_JEST,

OBJNR TYPE OBJNR,

INACT TYPE INACT,

END OF TY_JEST.

DATA:IT_JEST TYPE STANDARD TABLE OF TY_JEST,

WA_JEST LIKE LINE OF IT_JEST.

--


Order header data PP orders--

data: it_afko type standard table of afko,

wa_afko like line of it_afko.

--


Order master data--

data: it_aufk type standard table of aufk,

wa_aufk like line of it_aufk.

--


Order item--

data: it_afpo type standard table of afpo,

wa_afpo like line of it_afpo.

&--


Selection-screen parameters--

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.

*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME title text-001.

PARAMETERS: RB1 DEFAULT 'X' RADIOBUTTON GROUP g1,

RB2 RADIOBUTTON GROUP g1.

SELECTION-SCREEN END OF BLOCK b1.

&----


*AT SELECTION-SCREEN EVENT. *

&----


START-OF-SELECTION.

PERFORM p_order. "SELECT FOR OPEN ORDER NUMBERS

PERFORM p_append. "FINAL POPULATION OF TABLES FOR OPEN ORDER NO.

PERFORM p_MODIFy. "MODIFYING DATA AS PER REQUIREMENT FOR.CSV FILE

&----


*END-OF-SELECTION.

IF RB1 = 'X'.

PERFORM TESTRUN.

ELSEIF RB2 = 'X'.

PERFORM download.

ENDIF.

&----


*& Form p_order

&----


  • SELECTING THE OPEN ORDER NUMBERS

----


  • --> p1 text

  • <-- p2 text

----


form p_order .

SELECT * FROM AFKO into table it_afko.

if sy-subrc = 0.

sort it_afko by aufnr.

endif.

&----SELECTING ORDER NO--


IF NOT IT_AFKO IS INITIAL.

SELECT * FROM AUFK

into table it_aufk

for all entries in it_afko

WHERE AUFNR = it_afko-AUFNR

AND WERKS = '5301'

AND AUART = 'AKGN'.

if sy-subrc = 0.

sort it_aufk by aufnr.

endif.

ENDIF.

&----SELECTING OBJECT NO--


IF NOT IT_AUFK IS INITIAL.

SELECT OBJNR FROM JEST

INTO table IT_JEST

FOR ALL ENTRIES IN IT_AUFK

WHERE OBJNR = IT_AUFK-OBJNR

AND STAT = 'I0045'

AND INACT = 'X'.

if sy-subrc = 0.

sort it_jest by objnr.

endif.

ENDIF.

&----SELECTING ORDER ITEM--


IF NOT IT_AFKO IS INITIAL.

SELECT * FROM AFPO

into table it_afpo

for all entries in it_afko

where aufnr = it_afko-aufnr.

if sy-subrc = 0.

sort it_afpo by aufnr.

endif.

endif.

endform. " ORDNO

&----


*& Form p_append

&----


  • text

----


form p_append.

loop at it_afko into wa_afko.

wa_EXL-AUFNR = wa_afko-aufnr.

wa_EXL-PLNBEZ = wa_afko-plnbez.

wa_EXL-PLNNR = wa_afko-plnnr.

wa_EXL-GAMNG = wa_afko-gamng.

wa_EXL-GLTRS = wa_afko-gltrs.

wa_EXL-DISPO = wa_afko-DISPO.

wa_exl-GETRI = wa_afko-getri.

wa_exl-FTRMS = wa_afko-ftrms.

--


READ TABLE IT_AUFK--

READ TABLE it_aufk INTO wa_aufk

WITH KEY aufnr = wa_Afko-aufnr.

if sy-subrc = 0.

wa_exl-AUART = wa_aufk-auart.

endif.

--


READ TABLE IT_JEST--

READ TABLE it_jest INTO wa_jest

WITH KEY objnr = wa_aUFK-OBJNR.

if sy-subrc = 0.

wa_EXL-INACT = wa_jest-INACT.

endif.

--


READ TABLE IT_AFPO--

READ TABLE it_afpo INTO wa_afpo

WITH KEY aufnr = wa_afko-aufnr.

if sy-subrc = 0.

wa_EXL-WEMNG = wa_afpo-WEMNG.

endif.

append wa_exl to it_exl.

endloop.

endform. "FINSEL

&----


*& Form p_MODIFy

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form p_MODIFy .

LOOP AT IT_EXL INTO WA_EXL.

wa_exl1-aufnr = wa_exl-aufnr+6(6).

wa_EXL1-PLNBEZ = wa_exl-plnbez.

wa_EXL1-PLNNR = wa_exl-plnnr.

wa_EXL1-GAMNG = wa_exl-gamng.

wa_EXL1-DISPO = wa_exl-DISPO.

write wa_exl-getri to wa_exl1-getri using edit mask '__.__.____'.

write wa_exl-GLTRS to wa_exl1-getri using edit mask '__.__.____'.

write wa_exl-FTRMS to wa_exl1-getri using edit mask '__.__.____'.

wa_exl1-AUART = wa_exl-auart.

wa_EXL1-INACT = wa_exl-INACT.

wa_EXL1-WEMNG = wa_exl-WEMNG.

append wa_exl1 to it_exl1.

ENDLOOP.

endform. " MODIF

&----


*& Form TESTRUN

&----


  • TEST RUN FOR DATA CHECK

----


  • --> p1 text

  • <-- p2 text

----


form TESTRUN .

LOOP AT IT_EXL1 INTO WA_EXL1.

WRITE:/ WA_EXL1-AUFNR color 1,

WA_EXL1-PLNBEZ color 2,

WA_EXL1-PLNNR color 3,

WA_EXL1-GAMNG color 4,

WA_EXL1-GLTRS color 5,

WA_EXL1-INACT color 6,

WA_EXL1-FTRMS color 7,

WA_EXL1-AUART color 1,

WA_EXL1-GETRI color 2,

WA_EXL1-WEMNG color 3,

WA_EXL1-DISPO color 4.

ENDLOOP.

endform. " TESTRUN

&----


*& Form download

&----


  • TO GENERATE $ DELIMIT FILE

----


  • --> p1 text

  • <-- p2 text

----


form download .

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

  • BIN_FILESIZE =

filename = 'C:\ORDNO.XLS'

  • FILETYPE = 'ASC'

  • APPEND = ' '

WRITE_FIELD_SEPARATOR = '|'

  • HEADER = '00'

  • TRUNC_TRAILING_BLANKS = ' '

  • WRITE_LF = 'X'

  • COL_SELECT = ' '

  • COL_SELECT_MASK = ' '

  • DAT_MODE = ' '

  • CONFIRM_OVERWRITE = ' '

  • NO_AUTH_CHECK = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • WRITE_BOM = ' '

  • TRUNC_TRAILING_BLANKS_EOL = 'X'

  • IMPORTING

  • FILELENGTH =

tables

data_tab = IT_EXL1

  • EXCEPTIONS

  • FILE_WRITE_ERROR = 1

  • NO_BATCH = 2

  • GUI_REFUSE_FILETRANSFER = 3

  • INVALID_TYPE = 4

  • NO_AUTHORITY = 5

  • UNKNOWN_ERROR = 6

  • HEADER_NOT_ALLOWED = 7

  • SEPARATOR_NOT_ALLOWED = 8

  • FILESIZE_NOT_ALLOWED = 9

  • HEADER_TOO_LONG = 10

  • DP_ERROR_CREATE = 11

  • DP_ERROR_SEND = 12

  • DP_ERROR_WRITE = 13

  • UNKNOWN_DP_ERROR = 14

  • ACCESS_DENIED = 15

  • DP_OUT_OF_MEMORY = 16

  • DISK_FULL = 17

  • DP_TIMEOUT = 18

  • FILE_NOT_FOUND = 19

  • DATAPROVIDER_EXCEPTION = 20

  • CONTROL_FLUSH_ERROR = 21

  • OTHERS = 22

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

endform. " UPDATE

-


3 REPLIES 3
Read only

Former Member
0 Likes
903

hi ubedulla,

Wht is this? have u solved r do u have an prbm with this code?

Read only

Former Member
0 Likes
903

Hi Ubedulla,

What exactly you want to ask/tell through this mail. Can you clarify your query?

There are few statements you can change in ur code

As per your prg

&----SELECTING ORDER NO--


IF NOT IT_AFKO IS INITIAL.

SELECT * FROM AUFK

into table it_aufk

for all entries in it_afko

WHERE AUFNR = it_afko-AUFNR

AND WERKS = '5301'

AND AUART = 'AKGN'.

if sy-subrc = 0.

sort it_aufk by aufnr.

endif.

You are checking the header data instead u need to check the internal table body like

IF NOT IT_AFKO[] IS INITIAL.

Same at all the places like

&----SELECTING OBJECT NO--


IF NOT IT_AUFK IS INITIAL.

&----SELECTING ORDER ITEM--


IF NOT IT_AFKO IS INITIAL.

ALSO you can change in form p_append.

You are reading internal tables it_aufk, it_jest and it_afpo but not using the BINARY SEARCH. BINARY SEARCH will improve the performance of the program.

Clear wa_exl once you have used append wa_exl to it_exl, otherwise you may have wrong data in situations, ur above read statement fails.

Read only

0 Likes
903

Hi Amit/Sony,

This is a report program I send to my friend through SDN forums. Because he is not having access to any of his personal mails, even he is not having office id. So I am very sorry if I made you any dilemma.

Thnak you very much Amit for doing some corrections in the program.

Best Regards,

Ubedulla.