‎2006 Oct 17 6:32 PM
Hi,
-
&----
*& Report ZTKALEEM *
*& *
&----
*& *
*& *
&----
REPORT ZTKALEEM no standard page heading line-size 255.
&--
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.
&--
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.
--
data: it_afko type standard table of afko,
wa_afko like line of it_afko.
--
data: it_aufk type standard table of aufk,
wa_aufk like line of it_aufk.
--
data: it_afpo type standard table of afpo,
wa_afpo like line of it_afpo.
&--
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 INTO wa_aufk
WITH KEY aufnr = wa_Afko-aufnr.
if sy-subrc = 0.
wa_exl-AUART = wa_aufk-auart.
endif.
--
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 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
-
‎2006 Oct 17 7:42 PM
hi ubedulla,
Wht is this? have u solved r do u have an prbm with this code?
‎2006 Oct 17 8:59 PM
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.
‎2006 Oct 18 6:32 AM
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.