Cl_abap_char_utilities= horizontal_tab
Hi
Can someone explain me the use of class
cl_abap_char_utilities=>horizontal_tab; in programming.
I faced any issue working on upgradation object regarding mutual convertablity of the fields in hexadecimal and character modes.
Thanks in Advance
Rgds
Hi...am assigning a mixed structure (contains both char & int or packed) to a field symbol and then to a variable . But it is throwing dump........can anyone suggest a solution to this...
DATA: BEGIN OF I_DATA OCCURS 0,
V_WA(820) TYPE C,
END OF I_DATA.
DATA: V_COUNT TYPE I.
DATA: BEGIN OF I_JOB OCCURS 0,
LIST LIKE TBTCJOB, "len = 476
V_SEL(01) TYPE C,
END OF I_JOB.
DO.
ADD 1 TO V_COUNT.
ASSIGN COMPONENT V_COUNT OF STRUCTURE I_JOB TO <F>.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
MOVE <F> TO I_DATA-V_WA.
APPEND I_DATA.
ENDDO.
Thanks
Rgds
Similar Messages
-
Hello Experts,
My code in 4.7 system was,
*DATA: gf_tab TYPE x VALUE '9'.
CONCATENATE '[bc^bd128]' gp_user gf_tab gp_pw '[/]'
INTO gf_anmeldung.
WRITE: 30 gf_anmeldung.*
The output will be printed to a barcode printer and we get the barcode. The barcode contains, the user name, tab delimiter and the password.
Now, Using a scanner (handheld device) we scan the barcode. The scanner is connected to the SAP server. So as we give the user name and the password in the SAP easy access screen, the scanner takes the values from the barcode. This means, the user name from the barcode ->to the user name field, tab delimter -> to come to the next field, password from the barcode ->to the password field. This logins the SAP in the handheld device.
Now, in ECC 6 system, the code was changed as below,
DATA: gf_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
After this change, now the scanner is not recognizing and throws the error "fill in all the required fields"
I am not sure, if it is not retrieving the user name or the tab delimiter is creating the problem.
Any suggestion would be appreciated.
Cheers,
Balaji
Edited by: Balaji Dhandapani on Feb 3, 2010 6:34 PMHi ,
I think in the older version u r using the '09' as the end of line , So in the barcode it is consideringthe user id and then thinking that end of line and putting the next string say password in the correct postion.
Try to use the CR_LF( Carriage return and line feed).
Try this.
Regards,
Bharani. -
Regarding Unicode : cl_abap_char_utilities= horizontal_tab
Hi,
i have one doubt,i below mentioned is unicode syntax
can u please explain this.
What is horizotal_tab
data: l_tab(1) type c
value cl_abap_char_utilities=>horizontal_tab.
Regards,
Kalidas.TThis means the the variable l_tab is equal to TAB.
Example:
>data: lv type string,
> l_tab(1) type c value cl_abap_char_utilities=>horizontal_tab.
>CONCATANATE 'a' 'b' 'c' into lv SEPARATED BY l_tab.
the String will have value like
a b c.
the blank spaces between abc will be TABS.
hope this helps.
Amandeep
Edited by: Amandeep Bal on Dec 18, 2007 2:04 PM -
Hi all,
wants to convert this structure for UNICODE ..
DATA: GDF_DAT01(1) TYPE C,
GDF_DAT02(1) TYPE X VALUE '1C',
GDF_WORK(1) TYPE C,
GDF_DAT11(1) TYPE C,
GDF_DAT12(1) TYPE X VALUE '1B'.
thanks.Hi,
Try to declare the variable as shown below:
CLASS cl_abap_char_utilities DEFINITION LOAD.
CLASS cl_abap_char_utilities DEFINITION LOAD. "+C0002
DATA: BEGIN OF g_cell,
menge(12) TYPE c, "Open qty
sep1 TYPE x VALUE '09', "TAB character "-C0002
sep1 TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
fixkz TYPE c, "Firming indicator
sep2 TYPE x VALUE '09', "TAB character "-C0002
sep2 TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
END OF g_cell.
Please reward points if it solves your query. -
How to insert Newline in text file thr CL_ABAP_CHAR_UTILITIES
Hi,
I need to send a mail with TEXT file attachment which has many records in it. It is working fine. But the only problem is, all records are displayed in the 1st line itself. So i need to separate the records by inserting new line.
constants: c_new type c value CL_ABAP_CHAR_UTILITIES=>NEWLINE.
LOOP AT it_final INTO wa_final.
lv_menge = wa_final-menge.
CONCATENATE wa_final-ebeln
wa_final-bukrs
wa_final-lifnr
wa_final-ebelp
wa_final-matnr
wa_final-werks
lv_menge
c_new " Newline
INTO lv_txt SEPARATED BY CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
APPEND lv_txt to text.
CLEAR: lv_txt, lv_menge.
ENDLOOP.
For this code, i'm not getting the new line for each record.
Plz help me out for the same.
Thanks,
RameshHi ,
Sorry i cant get u.. Plz let me know exactly.. Now i replaced the Horizontal tab with CR_LF but even this is not working..
CONSTANTS: c_new type ABAP_CR_LF value CL_ABAP_CHAR_UTILITIES=>CR_LF.
LOOP AT it_final INTO wa_final.
lv_menge = wa_final-menge.
CONCATENATE wa_final-ebeln
wa_final-bukrs
wa_final-lifnr
wa_final-ebelp
wa_final-matnr
wa_final-werks
lv_menge
" c_new
INTO lv_txt SEPARATED BY c_new. "cl_abap_char_utilities=>horizontal_tab.
APPEND lv_txt TO text.
CLEAR: lv_txt, lv_menge.
ENDLOOP.
Correct me if i'm wrong..
Thanks
Ramesh -
Replacement of CL_ABAP_CHAR_UTILITIES in 4.6c
Hi Guys,
Can you please tell me the replacement of CL_ABAP_CHAR_UTILITIES in 4.6c.
Thanks in advance,
Laxmi.Hi,
Do you want to replace this in 4.6C or In ECC 6.0.
Can you please elaborate your requireemnt.
In 4.6C, TYPE X is not allowed. For this, we need to replace respective variables with the static atributes from CL_ABAP_CHAR_UTILITIES.
Here, i am giving the sample code:
chk this.
Error code :
constants: begin of c_tab,
hex(1) type x value '09', "(hex code for Tab)
end of c_tab.
If you use above code in ECC 6.0, you wil get syntax error as type X is not allowed in ECC6.
So you need to replace above code with this :
DATA: C_TAB(1) TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
Regards
Sandeep REddy -
Horizontal_tab showing # in output of Barcode
Hi Experts,
I am printing a barcode label containing multiple fields through smartform.
I want to separate fields to be displayed with TAB space.
i tried with cl_abap_char_utilities=>HORIZONTAL_TAB.
but the output which is getting scanned is showing ' # ' in between the fields and i want tabspace.
Any suggestions friends?
Thanks in advance.thanks for your reply.
i am not getting what u mean by the code
CONCATENATE space space space space space space space space space
INTO text SEPARATED BY space.
following is the code we are using to get tab in between the fields.
class cl_abap_char_utilities definition load.
constants: con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
CLEAR W_AMOUNT.
W_AMOUNT = WA_COND-G_TOTAL.
CONDENSE W_AMOUNT.
CONCATENATE WA_J_1IEXCHDR-EXDAT6(2) '.' WA_J_1IEXCHDR-EXDAT4(2) '.' WA_J_1IEXCHDR-EXDAT+0(4) INTO return_date.
CONCATENATE WA_VBKD_VA-BSTKD con_tab WA_J_1IEXCHDR-EXNUM con_tab
return_date con_tab ' 'con_tab WA_LIKP-TRAID con_tab
W_AMOUNT INTO TEXT.
LOOP AT I_VBRP INTO WA_VBRP.
CFKIMG = WA_VBRP-FKIMG.
CONCATENATE con_tab WA_VBRP-KDMAT con_tab CFKIMG result
INTO result .
ENDLOOP.
CONCATENATE TEXT result INTO TEXT .
But this is not working. It is showing # instead of TAB. -
Hexa decimal replacement using the class cl_abap_char_utilities
Hi,
While upgrading from 4.7 version to ecc 6.0 i am getting the error < itab > must be a character-type data object (data type C, N, D, T or STRING) .So i am using the class cl_abap_char_utilities . I found the replacement for hexadecimal '09' and '0D'
cl_abap_char_utilities=>HORIZONTAL_TAB,
cl_abap_char_utilities=>CR_LF.
I want the replacement for the following hexadecimals also.
'80','81','82',
'83','84','85','86','87','88''89','8A','8B','8C'
'8D','8E','8F','90','91','92','93','94','95',
'96','97','98','99','9A','9B','9C''9D',
'9E','9F'
Regards,
Charumathi.BHere you go
DATA:
BEGIN OF fs,
fs TYPE x VALUE 28,
END OF fs.
DATA:
f1(4) TYPE c VALUE 'xxxx',
f2(4) TYPE c VALUE 'yyyy',
f3(4) TYPE c VALUE 'zzzz',
rslt(20) TYPE c.
START-OF-SELECTION.
CONCATENATE f1 fs f2 fs f3 fs INTO rslt.
BREAK-POINT.
Output in HEX
787878781C797979791C7A7A7A7A1C2020202020
Output in Display
xxxx#yyyy#zzzz#
Edited by: Paul Chapman on Jun 9, 2008 12:33 PM -
Syntax error with CL_ABAP_CHAR_UTILITIES
Hi,
I am facing an error during syntax check of the include program ZXMBCU01.
My code is:
class cl_abap_char_utilities definition load.
CONSTANTS: c_lf TYPE C VALUE CL_ABAP_CHAR_UTILITIES =>CR_LF.
CONSTANTS: c_cr TYPE c value cl_abap_char_utilities=>newline.
CONSTANTS: c_tab TYPE C VALUE CL_ABAP_CHAR_UTILITIES =>HORIZONTAL_TAB.
whats wrong with it?
thanks!
ChikaFound that CR_LF is two characters, right?
Sorry for double...I just hit post once. -
Not Able to Generate Out of the Report by adding the new 2 fields
Hi,
I'm Very new to ABAP. I have created one report. after 2 new fields added they are EKNAM and EKGRP.
The Thing is the remaining fields are displaying in the output. The Newly added fields are not displaying the out. I was able to add this 2 fields in the head of the report. But issue is not able to get the data on these 2 fields.
Please see the below program and any one please help me out to display the data in this report for the fields eknam and ekgrp.
TABLES: eban,
lfa1,
ekko,
t024,
v_username.
DATA: BEGIN OF i_req_items OCCURS 10,
ernam LIKE eban-ernam, "Created by
lifnr LIKE eban-lifnr, "Desired vendor
ebeln LIKE eban-ebeln, "PO Number
ebelp LIKE eban-ebelp, "PO Item
eknam LIKE t024-eknam, "Pur.Grp Name
ekgrp LIKE t024-ekgrp, "Pur.Grp Number
flief LIKE eban-flief, "Fixed vendor
name1 LIKE lfa1-name1, "Vendor name
badat LIKE eban-badat, "Creation date
erdat LIKE eban-erdat, "Change date
banfn LIKE eban-banfn, "Requisition no.
bnfpo LIKE eban-bnfpo, "Req. item no.
bsart LIKE eban-bsart, "Document type
knttp LIKE eban-knttp, "Acct.assgmt category
txz01 LIKE eban-txz01, "PO item description
menge LIKE eban-menge, "Quantity
preis LIKE eban-preis, "Price
peinh LIKE eban-peinh, "Price unit
value(14) TYPE p DECIMALS 2, "Item Value
END OF i_req_items.
DATA: BEGIN OF i_reqs OCCURS 10,
ernam LIKE eban-ernam, "Created by
persn LIKE usr21-persnumber, "Person number
uname LIKE adrp-name_text, "User name
lifnr LIKE eban-lifnr, "Vendor
name1 LIKE lfa1-name1, "Vendor name
badat LIKE eban-badat, "Creation date
banfn LIKE eban-banfn, "Requisition no.
bnfpo LIKE eban-bnfpo, "Req. item no.
bsart LIKE eban-bsart, "Document type
knttp LIKE eban-knttp, "Acct.assgmt category
txz01 LIKE eban-txz01, "PO item description
eknam like t024-eknam, "Purchase Grp Name
ekgrp like t024-ekgrp, "Purchase Grp Number
value(14) TYPE p DECIMALS 2, "Item Value
END OF i_reqs.
DATA: BEGIN OF i_req_keys OCCURS 0,
ernam LIKE eban-ernam, "Created by
lifnr LIKE eban-lifnr, "Desired vendor
erdat LIKE eban-erdat, "Create or Change date
banfn LIKE eban-banfn, "Requisition no.
bnfpo LIKE eban-bnfpo, "Req. item no.
eknam like t024-eknam, "Purchase Grp Name
ekgrp like t024-ekgrp, "Purchase Grp number
END OF i_req_keys.
DATA: BEGIN OF i_req_keeper OCCURS 0,
ernam LIKE eban-ernam, "Created by
lifnr LIKE eban-lifnr, "Desired vendor
banfn LIKE eban-banfn, "Requisition no
END OF i_req_keeper.
DATA: wa_reqitems LIKE i_req_items.
DATA: BEGIN OF i_export OCCURS 10,
record(150) TYPE c,
END OF i_export.
CONSTANTS
CONSTANTS:
c_doccat LIKE eban-bstyp VALUE 'B',
c_creind LIKE eban-estkz VALUE 'R',
c_delflag LIKE eban-loekz VALUE 'L',
c_write(5) TYPE c VALUE 'WRITE',
c_slash(1) TYPE c VALUE '/',
*start ESPZC U8DK900439
c_delimiter TYPE x VALUE '09',
c_delimiter TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
*end ESPZC U8DK900439
c_sc(1) TYPE c VALUE ';',
c_x(1) TYPE c VALUE 'X',
c_usd(1) TYPE c VALUE '2',
c_export LIKE authb-filename VALUE '/BAY2/UBEM_SPLIT_REQS'.
WORKING VARIABLES
DATA: w_report_id LIKE syst-repid,
w_sttime LIKE syst-uzeit,
w_rpt_pagno LIKE syst-pagno,
w_rc LIKE sy-subrc,
w_datelow LIKE eban-badat,
w_datehigh LIKE eban-badat,
w_export LIKE c_export,
w_records TYPE i,
w_message(50) TYPE c.
TYPES number TYPE i.
SELECTION SCREEN / PARAMETERS
SELECTION-SCREEN BEGIN OF BLOCK org WITH FRAME TITLE text-001.
PARAMETERS: p_purorg LIKE eban-ekorg OBLIGATORY DEFAULT 'US02'.
SELECT-OPTIONS: s_doctyp FOR eban-bsart,
s_date FOR eban-badat.
PARAMETERS: p_timper(2) TYPE n.
SELECTION-SCREEN: COMMENT 37(37) text-002.
SELECTION-SCREEN END OF BLOCK org.
SELECTION-SCREEN BEGIN OF BLOCK outp WITH FRAME TITLE text-003.
PARAMETERS: p_onlin RADIOBUTTON GROUP outp DEFAULT 'X',
p_servr RADIOBUTTON GROUP outp.
SELECTION-SCREEN END OF BLOCK outp.
AT SELECTION SCREEN
AT SELECTION-SCREEN.
IF p_servr = c_x.
CLEAR w_rc.
PERFORM authority_check_dataset USING w_export
CHANGING w_rc.
IF w_rc <> 0.
MESSAGE e532 WITH text-006 w_export.
ENDIF.
CLEAR w_rc.
PERFORM verify_unix_path_and_file CHANGING w_rc.
IF w_rc <> 0.
MESSAGE e531 WITH w_message.
ENDIF.
ENDIF.
INITIALIZATION EVENT
INITIALIZATION.
PERFORM get_filename.
MOVE syst-uzeit TO w_sttime.
MOVE syst-repid TO w_report_id.
CLEAR: w_rpt_pagno.
START-OF-SELECTION.
PERFORM get_data.
IF p_onlin = c_x.
IF w_records GT 0.
PERFORM print_report_header.
PERFORM write_report.
ELSE.
MESSAGE i531 WITH text-007.
ENDIF.
ELSEIF p_servr = c_x.
PERFORM write_export.
ENDIF.
END-OF-SELECTION.
---- F O R M R O U T I N E S -
*& FORM get_filename
FORM get_filename.
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
logical_filename = c_export
IMPORTING
file_name = w_export
EXCEPTIONS
file_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " get_filename
FORM authority_check_dataset
FORM authority_check_dataset USING p_filename
CHANGING p_rc.
CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
EXPORTING
activity = c_write
filename = p_filename
EXCEPTIONS
no_authority = 1
activity_unknown = 2
OTHERS = 3.
p_rc = sy-subrc.
ENDFORM. "authority_check_dataset
FORM verify_unix_path_and_file
FORM verify_unix_path_and_file CHANGING p_rc.
*start ESPZC U8DK900439
OPEN DATASET w_export FOR OUTPUT IN TEXT MODE
MESSAGE w_message.
OPEN DATASET w_export FOR OUTPUT IN TEXT MODE ENCODING DEFAULT
MESSAGE w_message.
*end ESPZC U8DK900439
p_rc = sy-subrc.
ENDFORM. "verify_unix_path_and_file
FORM get_data
FORM get_data.
CLEAR w_datelow.
CLEAR w_datehigh.
w_datelow = s_date-low - p_timper.
w_datehigh = s_date-high + p_timper.
w_datehigh = s_date-high.
SELECT ernam lifnr ebeln ebelp flief badat erdat banfn bnfpo bsart
knttp menge preis peinh txz01
FROM eban
INTO CORRESPONDING FIELDS OF TABLE i_req_items
WHERE bstyp = c_doccat
AND estkz = c_creind
AND knttp <> space
AND bsart IN s_doctyp
AND loekz <> c_delflag
AND ekorg EQ p_purorg
AND ( ( badat BETWEEN w_datelow and w_datehigh ) OR
( erdat BETWEEN w_datelow AND w_datehigh ) ).
AND erdat BETWEEN w_datelow AND w_datehigh.
IF sy-subrc = 0.
LOOP AT i_req_items.
IF i_req_items-lifnr IS INITIAL.
IF NOT i_req_items-flief IS INITIAL.
MOVE i_req_items-flief TO i_req_items-lifnr.
MODIFY i_req_items.
ENDIF.
IF NOT i_req_items-ebeln IS INITIAL.
SELECT lifnr FROM ekko
INTO i_req_items-lifnr
WHERE ebeln = i_req_items-ebeln.
ENDSELECT.
MODIFY i_req_items.
ENDIF.
ENDIF.
IF i_req_items-erdat GT i_req_items-badat.
MOVE i_req_items-erdat TO i_req_items-badat.
MODIFY i_req_items.
ENDIF.
ENDLOOP.
PERFORM weed_out_unique_records.
PERFORM apply_time_period.
SORT i_req_items BY ernam lifnr banfn bnfpo.
LOOP AT i_req_items.
i_req_items-value = ( i_req_items-menge *
( i_req_items-preis / i_req_items-peinh ) ).
MODIFY i_req_items.
ENDLOOP.
Getting vendor name from table LFA1 -
CLEAR i_req_items.
LOOP AT i_req_items.
SELECT SINGLE name1 FROM lfa1
INTO i_req_items-name1
WHERE lifnr = i_req_items-lifnr.
MODIFY i_req_items.
ENDLOOP.
LOOP AT i_req_items.
MOVE-CORRESPONDING i_req_items TO i_reqs.
Getting user name from view v_username -
SELECT SINGLE name_text
FROM v_username INTO i_reqs-uname
WHERE bname = i_reqs-ernam.
APPEND i_reqs.
ENDLOOP.
ENDIF.
DESCRIBE TABLE i_reqs LINES w_records.
ENDFORM. "Get_data
FORM print_report_header
FORM print_report_header.
ADD 1 TO w_rpt_pagno.
CALL FUNCTION '/BAY2/UBEXBH_BAYER_HEADR_FUN'
EXPORTING
f_jobname = text-020
f_business_group = text-021
f_report_title = text-022
f_repid = w_report_id
f_sysid = syst-sysid
f_linsz = syst-linsz
f_pagno = w_rpt_pagno
f_mandt = syst-mandt
f_datum = syst-datum
f_uzeit = w_sttime.
FORMAT COLOR COL_HEADING.
WRITE: /1 text-010, "Created by CWID & user name
29 text-011, "Vendor #
38 text-012, "Vendor Name
69 text-013, "Req Number
79 text-014, "/Item
87 text-015, "Created On
98 text-017, "A (AcctAssgmtCat)
100(14) text-019 RIGHT-JUSTIFIED, "Item Value
116(30) text-018, "Item Description
148 text-030, "Pur.Grp Name
170 text-031. "Pur.Grp Number
FORMAT COLOR OFF.
ULINE.
ENDFORM. "print_report_header
*& Form WRITE_REPORT
FORM write_report.
LOOP AT i_reqs.
WRITE: /1 i_reqs-ernam,
9(18) i_reqs-uname,
29 i_reqs-lifnr,
38(30) i_reqs-name1,
69 i_reqs-banfn,
79 c_slash,
80 i_reqs-bnfpo,
87 i_reqs-badat,
98 i_reqs-knttp,
100(14) i_reqs-value CURRENCY c_usd,
116(30) i_reqs-txz01,
145 i_reqs-eknam,
160 i_reqs-ekgrp.
ENDLOOP.
ENDFORM. "write_report
*& Form WRITE_EXPORT
FORM write_export.
DATA: l_value(14) TYPE c,
l_bsart(100) TYPE c,
l_uname(7) TYPE c,
l_records(5) TYPE c,
l_header(150) TYPE c,
l_params(150) TYPE c,
i_char TYPE i.
LOOP AT i_reqs.
CLEAR l_value.
CLEAR l_uname.
l_value = i_reqs-value.
l_uname = sy-uname.
CONCATENATE: i_reqs-uname
i_reqs-ernam
i_reqs-lifnr
i_reqs-name1
i_reqs-banfn
i_reqs-bnfpo
i_reqs-badat
i_reqs-knttp
l_value
i_reqs-txz01 INTO i_export
SEPARATED BY c_delimiter.
APPEND i_export.
ENDLOOP.
CONCATENATE: text-008 "Created By Name
text-009 "CWID
text-011 "Vendor No
text-012 "Vendor Name
text-013 "Req Number
text-023 "Item
text-015 "Created On
text-017 "A
text-019 "Item Value
text-018 "Item Description
text-030 "Purchase Grp name
text-031 "Purchase Grp number
INTO l_header SEPARATED BY c_delimiter.
INSERT l_header INTO i_export INDEX 1.
IF sy-batch IS INITIAL.
MOVE sy-uname TO l_uname.
ELSE.
MOVE text-024 TO l_uname.
ENDIF.
PERFORM collect_bsart CHANGING l_bsart
i_char.
l_records = w_records.
CONCATENATE: sy-sysid
p_purorg
l_bsart(i_char)
s_date-low
s_date-high
p_timper
l_uname
sy-datum
l_records INTO l_params
SEPARATED BY c_delimiter.
INSERT l_params INTO i_export INDEX 1.
LOOP AT i_export.
CONDENSE i_export NO-GAPS.
TRANSFER i_export TO w_export.
ENDLOOP.
CLOSE DATASET w_export.
MESSAGE s533 WITH text-028 w_export text-029.
ENDFORM. "write_export
*& FORM collect_bsart
FORM collect_bsart CHANGING p_bsart
p_char.
CLEAR p_bsart.
LOOP AT s_doctyp.
IF sy-tabix = 1.
p_bsart = s_doctyp-low.
ELSE.
CONCATENATE: p_bsart c_sc s_doctyp-low INTO p_bsart.
ENDIF.
ENDLOOP.
CONDENSE p_bsart NO-GAPS.
p_char = strlen( p_bsart ).
ENDFORM. "collect_bsart
*& Form WEED_OUT_UNIQUE_RECORDS
FORM weed_out_unique_records.
DATA: i_l_req_items LIKE i_req_items OCCURS 0 WITH HEADER LINE.
DATA: i_l_req_final_items LIKE i_req_items OCCURS 0 WITH HEADER LINE.
DATA: l_count TYPE i,
l_sy_tabix LIKE sy-tabix,
l_banfn LIKE eban-banfn.
REFRESH i_l_req_items.
REFRESH i_l_req_final_items.
CLEAR l_banfn.
i_l_req_items[] = i_req_items[].
i_l_req_final_items[] = i_req_items[].
SORT i_req_items BY ernam lifnr.
SORT i_l_req_items BY ernam lifnr.
SORT i_l_req_final_items BY ernam lifnr.
LOOP AT i_l_req_items.
l_banfn = i_l_req_items-banfn.
CLEAR l_count.
LOOP AT i_req_items
WHERE ernam = i_l_req_items-ernam
AND lifnr = i_l_req_items-lifnr.
IF i_req_items-banfn <> l_banfn.
ADD +1 TO l_count.
ENDIF.
ENDLOOP.
IF NOT ( l_count > 0 ).
LOOP AT i_l_req_final_items
WHERE ernam = i_l_req_items-ernam
AND lifnr = i_l_req_items-lifnr.
DELETE i_l_req_final_items.
ENDLOOP.
ENDIF.
ENDLOOP.
REFRESH i_req_items.
i_req_items[] = i_l_req_final_items[].
ENDFORM. " WEED_OUT_UNIQUE_RECORDS
*& Form APPLY_TIME_PERIOD
FORM apply_time_period.
DATA: l_i_req_keys LIKE i_req_keys.
DATA: l_days_diff TYPE p,
l_no_of_key_recs TYPE i,
l_next_item LIKE sy-tabix,
l_finished_with_keys TYPE c VALUE 'N',
l_add_line TYPE c VALUE 'N',
l_count TYPE i,
l_req_ernam LIKE eban-ernam,
l_req_lifnr LIKE lfa1-lifnr,
l_req_banfn LIKE eban-banfn,
l_save_tabix like sy-tabix.
REFRESH: i_req_keys, i_req_keeper.
LOOP AT i_req_items.
MOVE-CORRESPONDING i_req_items TO
i_req_keys.
IF i_req_items-erdat IS INITIAL.
i_req_keys-erdat = i_req_items-badat.
ENDIF.
APPEND i_req_keys.
ENDLOOP.
SORT i_req_keys BY ernam lifnr erdat.
CLEAR l_no_of_key_recs.
DESCRIBE TABLE i_req_keys LINES l_no_of_key_recs.
LOOP AT i_req_keys.
IF l_add_line = 'Y'.
MOVE-CORRESPONDING i_req_keys
TO i_req_keeper.
APPEND i_req_keeper.
l_add_line = 'N'.
ENDIF.
IF l_finished_with_keys = 'Y'.
EXIT.
ENDIF.
CLEAR l_next_item.
l_save_tabix = sy-tabix.
COMPUTE l_next_item = sy-tabix + 1.
IF l_next_item = l_no_of_key_recs.
l_finished_with_keys = 'Y'.
ENDIF.
clear: l_i_req_keys.
READ TABLE i_req_keys INDEX l_next_item
INTO l_i_req_keys.
sy-tabix = l_save_tabix.
CLEAR l_days_diff.
l_days_diff = l_i_req_keys-erdat -
i_req_keys-erdat.
IF l_i_req_keys-ernam =
i_req_keys-ernam AND
l_i_req_keys-lifnr =
i_req_keys-lifnr AND
l_i_req_keys-banfn <>
i_req_keys-banfn AND
l_days_diff <= p_timper.
MOVE-CORRESPONDING i_req_keys
TO i_req_keeper.
APPEND i_req_keeper.
l_add_line = 'Y'.
ENDIF.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM i_req_keeper
COMPARING ALL FIELDS.
SORT i_req_keeper BY ernam lifnr banfn.
LOOP AT i_req_items.
CLEAR l_count.
CLEAR: l_req_ernam,
l_req_lifnr,
l_req_banfn.
l_req_ernam = i_req_items-ernam.
l_req_lifnr = i_req_items-lifnr.
l_req_banfn = i_req_items-banfn.
LOOP AT i_req_keeper
WHERE ernam = i_req_items-ernam
AND lifnr = i_req_items-lifnr
AND banfn = i_req_items-banfn.
ADD +1 TO l_count.
ENDLOOP.
IF NOT ( l_count > 0 ).
LOOP AT i_req_items
WHERE ernam = l_req_ernam
AND lifnr = l_req_lifnr
AND banfn = l_req_banfn.
DELETE i_req_items.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDFORM. " APPLY_TIME_PERIODRajesh,
Put a breakpoint and try to debug the report step by step.
You will findout the reason very easily.
Whenever you have a select and are trying to append into an internal table, keep checking your internal table if it is been populated with the correct records.
This way, you will findout the cause and can correct is accordingly.
Thanks,
Suresh Ganti -
Open data set and close data set
hi all,
i have some doubt in open/read/close data set
how to transfer data from internal table to sequential file, how we find sequential file.
thanks and regards
chaitanyaHi Chaitanya,
Refer Sample Code:
constants: c_split TYPE c
VALUE cl_abap_char_utilities=>horizontal_tab,
c_path TYPE char100
VALUE '/local/data/interface/A28/DM/OUT'.
Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : rb_pc RADIOBUTTON GROUP r1 DEFAULT 'X'
USER-COMMAND ucomm, "For Presentation
p_f1 LIKE rlgrap-filename
MODIF ID rb1, "Input File
rb_srv RADIOBUTTON GROUP r1, "For Application
p_f2 LIKE rlgrap-filename
MODIF ID rb2, "Input File
p_direct TYPE char128 MODIF ID abc DEFAULT c_path.
"File directory
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_f1.
*-- Browse Presentation Server
PERFORM f1000_browse_presentation_file.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_f2.
*-- Browse Application Server
PERFORM f1001_browse_appl_file.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF rb_pc = 'X' AND screen-group1 = 'RB2'.
screen-input = '0'.
MODIFY SCREEN.
ELSEIF rb_srv = 'X' AND screen-group1 = 'RB1'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'ABC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*& Form f1000_browse_presentation_file
Pick up the filepath for the file in the presentation server
FORM f1000_browse_presentation_file .
CONSTANTS: lcl_path TYPE char20 VALUE 'C:'.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = lcl_path
mask = c_mask "',.,..'
mode = c_mode
title = text-006
IMPORTING
filename = p_f1
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
flg_pre = c_x.
ENDIF.
ENDFORM. " f1000_browse_presentation_file
*& Form f1001_browse_appl_file
Pick up the file path for the file in the application server
FORM f1001_browse_appl_file .
DATA: lcl_directory TYPE char128.
lcl_directory = p_direct.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = lcl_directory
filemask = c_mask
IMPORTING
serverfile = p_f2
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e000(zmm) WITH text-039.
flg_app = 'X'.
ENDIF.
ENDFORM. " f1001_browse_appl_file
*& Form f1003_pre_file
Upload the file from the presentation server
FORM f1003_pre_file .
DATA: lcl_filename TYPE string.
lcl_filename = p_f1.
IF p_f1 IS NOT INITIAL.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lcl_filename
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = i_input
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
MESSAGE s000 WITH text-031.
EXIT.
ENDIF.
ELSE.
PERFORM populate_error_log USING space
text-023.
ENDIF.
ENDFORM. " f1003_pre_file
*& Form f1004_app_file
upload the file from the application server
FORM f1004_app_file .
REFRESH: i_input.
OPEN DATASET p_f2 IN TEXT MODE ENCODING DEFAULT FOR INPUT.
IF sy-subrc EQ 0.
DO.
READ DATASET p_f2 INTO wa_input_rec.
IF sy-subrc EQ 0.
*-- Split The CSV record into Work Area
PERFORM f0025_record_split.
*-- Populate internal table.
APPEND wa_input TO i_input.
CLEAR wa_input.
IF sy-subrc <> 0.
MESSAGE s000 WITH text-030.
EXIT.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDIF.
ENDFORM. " f1004_app_file
Move the assembly layer file into the work area
FORM f0025_record_split .
CLEAR wa_input.
SPLIT wa_input_rec AT c_split INTO
wa_input-legacykey
wa_input-bu_partner
wa_input-anlage.
ENDFORM. " f0025_record_split
Reward points if this helps.
Manish -
How to upload a file in application server to an internal table
Hi,
I am asked to upload a file from application server to internal table. Can you please suggest me the ways to do it or the function module which helps to browse the application server file names.
I have done a program. But its giving problem in searching the files from application server. I am pasting my code for ur review. Please tell me which part i have to correct or suggest me some other ways to do it.
*& Report ZUPLOAD1
REPORT ZUPLOAD1.
type-pools: truxs.
parameters: p_upl_ps radiobutton group g1 default 'X', "upload from pres. server
p_path type rlgrap-filename,
p_upl_as radiobutton group g1, "upload from appln server
<b>p_dir LIKE filepath-pathintern DEFAULT 'Y_ABAP',
p_file LIKE filepath-pathintern lower case,</b>
p_test as checkbox.
constants: c_x value 'X',
c_tab type c value cl_abap_char_utilities=>horizontal_tab.
types: ty_data(1000) type c. "structure to hold legacy data
data: i_data type standard table of ty_data. "internal table of ty_data
types: begin of stritab,
land1 type v_t604-land1, "structure of legacy file.
stawn type v_t604-stawn,
bemeh type v_t604-bemeh,
impma type v_t604-impma,
minol type v_t604-minol,
end of stritab.
data: gi_itab type standard table of stritab, "internal table of legacy file
gw_itab type stritab. "work area
data: i_raw type truxs_t_text_data,
v_fullpath type string.
at selection-screen on value-request for p_path.
if p_upl_ps = c_x. "if presentation server is selected
perform get_file.
else. "if application server is selected
perform set_file_path.
perform upload_from_server.
perform split_data.
endif.
form get_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = p_path. "getting the file name of pres server
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_FIELD_SEPERATOR =
I_LINE_HEADER = 'X' "converting excel to sap and filling in
I_TAB_RAW_DATA = i_raw "internal table
I_FILENAME = p_path
TABLES
I_TAB_CONVERTED_DATA = gi_itab
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2
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.
form set_file_path. "Getting the file path of application server
data: lv_file type p_file.
lv_file = p_file.
CALL FUNCTION 'FILE_GET_NAME_USING_PATH'
EXPORTING
CLIENT = SY-MANDT
LOGICAL_PATH = p_dir
OPERATING_SYSTEM = SY-OPSYS
PARAMETER_1 = ' '
PARAMETER_2 = ' '
PARAMETER_3 = ' '
USE_BUFFER = ' '
FILE_NAME = lv_file
USE_PRESENTATION_SERVER = ' '
ELEMINATE_BLANKS = 'X'
IMPORTING
FILE_NAME_WITH_PATH = v_fullpath
EXCEPTIONS
PATH_NOT_FOUND = 1
MISSING_PARAMETER = 2
OPERATING_SYSTEM_NOT_FOUND = 3
FILE_SYSTEM_NOT_FOUND = 4
OTHERS = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endform.
form upload_from_server.
data: lv_msg type string,
lw_data type ty_data.
open dataset v_fullpath for input message lv_msg in text mode encoding default.
if sy-subrc <> 0.
message lv_msg type 'i'.
stop.
endif.
do.
read dataset v_fullpath into lw_data.
if sy-subrc <> 0.
write:/5 'Error in processign data set'.
exit.
endif.
append lw_data to i_data.
enddo.
close dataset v_fullpath.
if sy-subrc <> 0.
write: /5 'Error closing dataset'.
endif.
endform.
form split_data.
data: lw_data type ty_data.
data: lw_itab type stritab.
data: begin of ty_itab,
land1 type v_t604-land1,
stawn type v_t604-stawn,
bemeh type v_t604-bemeh,
impma type v_t604-impma,
minol type v_t604-minol,
end of ty_itab.
loop at i_data into lw_data.
split lw_data at c_tab into
ty_itab-land1
ty_itab-stawn
ty_itab-bemeh
ty_itab-impma
ty_itab-minol.
lw_itab-land1 = ty_itab-land1.
lw_itab-stawn = ty_itab-stawn.
lw_itab-bemeh = ty_itab-bemeh.
lw_itab-impma = ty_itab-impma.
lw_itab-minol = ty_itab-minol.
append lw_itab to gi_itab.
endloop.
endform.
start-of-selection.
loop at gi_itab into gw_itab.
write: /5 'COUNTRY', 'IMPORT CODE', 'SUP UNIT', 'FIRST UOM', 'SECOND UOM',
/5 gw_itab-land1, gw_itab-stawn,gw_itab-bemeh,gw_itab-impma,gw_itab-minol.
endloop.
end-of-selection.
I hope problem must be in p_dir and p_file which are in bold.. Kindly help me out. Thanks in advance.see the following ex:
*& Form SUB_GET_FILEPATH
text
--> p1 text
<-- p2 text
FORM SUB_GET_FILEPATH .
GFILE = 'D:\SAP_INT\INBOUND\INBOX'. "Path
ENDFORM. " SUB_GET_FILEPATH
*& Form SUB_GET_FILE
text
--> p1 text
<-- p2 text
FORM SUB_GET_FILE .
DATA: P_FDIR(200) TYPE C.
DATA: IT_FILEDIR1 TYPE STANDARD TABLE OF TY_FILEDIR WITH HEADER LINE.
P_FDIR = GFILE.
CALL FUNCTION 'RZL_READ_DIR_LOCAL'
EXPORTING
NAME = P_FDIR
TABLES
FILE_TBL = IT_FILEDIR.
REFRESH : IT_FILEDIR1.
LOOP AT IT_FILEDIR.
IF IT_FILEDIR-NAME(4) = 'ZINC' OR IT_FILEDIR-NAME(4) = 'zinc'.
MOVE IT_FILEDIR-NAME TO IT_FILEDIR1-NAME.
APPEND IT_FILEDIR1.
ENDIF.
ENDLOOP.
IF IT_FILEDIR1[] IS INITIAL.
STOP.
ENDIF.
LOOP AT IT_FILEDIR1.
REFRESH: I_TAB.
CLEAR: I_TAB.
NAME = IT_FILEDIR1-NAME.
CONCATENATE: GFILE '\' NAME INTO G_FILE.
OPEN DATASET G_FILE FOR INPUT IN TEXT MODE
ENCODING DEFAULT
IGNORING CONVERSION ERRORS.
IF SY-SUBRC EQ 0.
CONCATENATE 'FILENAME : ' G_FILE INTO I_MSG1.
APPEND I_MSG1.
DO.
READ DATASET G_FILE INTO RECORD.
IF SY-SUBRC = 0.
SPLIT RECORD AT ',' INTO I_TAB-BUKRS I_TAB-EBELN
I_TAB-BLDAT I_TAB-XBLNR I_TAB-LIFNR I_TAB-AMOUNT
I_TAB-CURR I_TAB-BUSAREA
I_TAB-BKTXT I_TAB-DMBTR I_TAB-MENGE I_TAB-SRNO.
MOVE-CORRESPONDING I_TAB TO I_TAB1.
ELSE.
EXIT.
ENDIF.
APPEND I_TAB1.
CLEAR: I_TAB, I_TAB1.
ENDDO.
ENDIF.
CLOSE DATASET G_FILE. -
How to give path at runtime in GUI_DOWNLOAD
Hi experts,
I have a below given parameter on the selection screen:
SELECTION-SCREEN: BEGIN OF BLOCK b5 WITH FRAME TITLE text-005.
PARAMETERS: p_path LIKE RLGRAP-FILENAME modif id ZF1.
SELECTION-SCREEN: END OF BLOCK b5.
I am using the FM GUI_DOWNLOAD in my report.
My requirement is that I need to pass the path given
in p_path in this FM, i.e. I need not hard code the path in the
FM parameter 'filename', but need to pass it at runtime.
How can this functionality be achieved?
Thanks,
Ajay.Hi Ajay,
check the below code i hope it will help you.
SELECTION-SCREEN BEGIN OF BLOCK upfile WITH FRAME TITLE text-009.
PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY. "Source file name
SELECTION-SCREEN END OF BLOCK upfile.
*AT SELECTION-SCREEN
Browse source file name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM f_browse_file CHANGING p_file.
FORM f_browse_file CHANGING p_p_file.
DATA: it_l_filetab TYPE filetable,
wa_l_filetab TYPE file_table,
l_rc TYPE i.
CLEAR it_l_filetab.
Browsing file
CALL METHOD cl_gui_frontend_services=>file_open_dialog
CHANGING
file_table = it_l_filetab
rc = l_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.
IF sy-subrc IS NOT INITIAL.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
READ TABLE it_l_filetab INTO wa_l_filetab INDEX 1.
IF sy-subrc IS INITIAL.
p_p_file = wa_l_filetab-filename.
ENDIF. " sy-subrc Read
ENDIF. " sy-subrc-call method
ENDFORM. " f_browse_file
START-OF-SELECTION.
*Upload File
PERFORM f110_upload_from_pc.
FORM f110_upload_from_pc .
DATA : lv_file TYPE rlgrap-filename.
DATA : l_files TYPE string,
l_ret TYPE abap_bool.
CLEAR it_file_data.
lv_file = p_file.
l_files = p_file.
CONSTANTS: c_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_files
filetype = 'ASC'
has_field_separator = c_tab
codepage = '6300'
READ_BY_LINE = 'X'
replacement = '-'
TABLES
data_tab = i_tab_order
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc <> 0.
MESSAGE 'Error in upload'(008) TYPE 'I' DISPLAY LIKE 'E' .
LEAVE TO LIST-PROCESSING.
ENDIF.
ENDFORM. " f_UPLOAD_FROM_PC
I hopr this will helps you
Regards,
Tarun
Edited by: Devalla T Kumar on Dec 29, 2009 9:54 AM -
error analysis as in ST22 TRANSACTION:
AN EXCEPTION OCCURED THE EXCEPTION ASSIGNED TO CLASS CX_SY_CONVERSION_NO_NUMBER WAS NOT CAUGHT WHICH LED TO AN ERROR. THE REASON FOR THIS EXCEPTION IS :
THE PROGRAM TRIED TO INTERPRET VALUE ':4' AS NUMBER SINCE THE VALUE CONTRAVENES THE CORRECT NUMBER FORMAT THIS WAS NOT POSSIBLE.
ATTACHED IS MY PROGRAM
REPORT ZVXR0303
LINE-COUNT 60(3)
LINE-SIZE 132
MESSAGE-ID VN.
Tables: VBEP, VBAP, NAST.
DATA: BEGIN OF HEADER,
ORDER(15) VALUE 'ORDER',
LINE(5) VALUE 'LINE',
MATERIAL(14) VALUE 'MATERIAL',
DUE(15) VALUE 'DUE (MAD)',
CREATED(10) VALUE 'CREATED',
QTY(10) VALUE 'QUANTITY',
KEY(5) VALUE 'KEY',
TYPE(5) VALUE 'TYPE',
END OF HEADER.
DATA: Begin of IDAT OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
werks LIKE VBAP-WERKS,
cuobj LIKE vbap-CUOBJ,
MBDAT LIKE vbep-mbdat,
ERDAT LIKE VBAP-ERDAT,
MATNR LIKE VBAP-MATNR,
KWMENG LIKE VBAP-KWMENG,
QTY TYPE I,
END of IDAT.
class cl_abap_char_utilities definition load.
constants: tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
DATA: t_record(1000) TYPE C.
DATA: C_KWMENG(20) TYPE C.
data: OUTFILE(50) value '/usr/users/ftpsapfi/locks_540318'.
DATA: BEGIN OF TKOMCON OCCURS 50.
INCLUDE STRUCTURE CONF_OUT.
DATA: END OF TKOMCON.
DATA: iKEY TYPE I,
offset TYPE I,
KeyTypeLOC TYPE I,
KeyNumberLOC TYPE I,
type(15) TYPE C.
select-options: sVBELN FOR VBEP-VBELN obligatory,
sMAD FOR VBEP-MBDAT obligatory,
sERDAT FOR VBAP-ERDAT,
sMATNR FOR VBAP-MATNR,
sWERKS FOR VBAP-WERKS,
sKWMENG FOR VBAP-KWMENG.
SELECT
vbap~vbeln
vbap~POSNR
vbap~werks
vbap~cuobj
VBEP~MBDAT
VBAP~ERDAT
VBAP~MATNR
VBAP~KWMENG
INTO CORRESPONDING FIELDS of IDAT
FROM ( VBEP INNER JOIN VBAP ON vbepvbeln = vbapvbeln
AND vbepposnr = vbapposnr )
WHERE BMENG > 0
AND vbep~MBDAT IN sMAD
AND VBEP~VBELN in sVBELN
AND VBAP~werks IN sWERKS
AND VBAP~ERDAT IN sERDAT
AND VBAP~MATNR IN sMATNR
AND VBAP~KWMENG IN sKWMENG
AND VBAP~ABGRU = SPACE.
APPEND IDAT.
ENDSELECT.
PERFORM TOP-OF-PAGE.
if sy-batch = 'x'.
OPEN DATASET OUTFILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
TRANSFER t_record TO OUTFILE.
endif.
IF SY-SUBRC = 0.
LOOP at IDAT.
write IDAT-KWMENG DECIMALS 0 TO C_KWMENG.
REFRESH TKOMCON.
CALL FUNCTION 'VC_I_GET_CONFIGURATION'
EXPORTING
INSTANCE = idat-cuobj
LANGUAGE = NAST-SPRAS
TABLES
CONFIGURATION = TKOMCON
EXCEPTIONS
OTHERS = 4.
LOOP AT TKOMCON
WHERE ATNAM = 'S_SK_SPEC_KEY' OR ATNAM = 'S_MK_SPEC_KEY'
OR ATNAM = 'S_SK_CONSC_KEY' OR ATNAM = 'S_MK_CONSC_KEY'.
IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
KeyTYPELOC = 0.
keynumberloc = 2.
TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
PERFORM OUT-OF-RANGE-FOUND.
ENDIF.
ENDIF.
Else.
Offset = 0.
DO.
IF offset <= 9.
offset = offset + 1.
If TKOMCON-ATWRT+Offset(1) = ':'.
KeyTypeLOC = Offset + 1.
KeyNumberLOC = Offset + 3.
EXIT.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDDO.
TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
IDAT-KWMENG = TKOMCON-ATWRT(3).
PERFORM OUT-OF-RANGE-FOUND.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
CLOSE DATASET OUTFILE.
FORM OUT-OF-RANGE-FOUND *
FORM OUT-OF-RANGE-FOUND.
WRITE: / IDAT-VBELN.
WRITE: 10 IDAT-POSNR.
WRITE: 20 IDAT-MATNR.
WRITE: 35 IDAT-MBDAT.
WRITE: 50 IDAT-ERDAT.
WRITE: 65(3) IDAT-KWMENG DECIMALS 0.
WRITE: 75 TKOMCON-ATWRT+KeyTypeLOC(6).
IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
WRITE: 85 'Consecutive'.
ELSE.
WRITE: 85 'Specific'.
ENDIF.
IF TKOMCON-ATNAM = 'S_SK_CONSC_KEY'
OR TKOMCON-ATNAM = 'S_MK_CONSC_KEY'.
TYPE = 'Consecutive'.
ELSE.
TYPE = 'Specific'.
ENDIF.
* PREPARING A RECORD TO BE SENT TO FILE
CONCATENATE
IDAT-VBELN
IDAT-POSNR
IDAT-MATNR
IDAT-MBDAT
IDAT-ERDAT
C_KWMENG
TKOMCON-ATWRT+KeyTypeLOC(6)
TYPE
INTO t_record SEPARATED BY tab.
if sy-batch = 'x'.
TRANSFER t_record TO OUTFILE.
endif.
ENDFORM.
FORM TOP-OF-PAGE *
FORM TOP-OF-PAGE.
WRITE: / 'ORDER'.
WRITE: 10 'LINE'.
WRITE: 20 'MATERIAL'.
WRITE: 35 'DUE (MAD)'.
WRITE: 50 'CREATED'.
WRITE: 65 'QTY'.
WRITE: 75 'KEY'.
WRITE: 85 'TYPE'.
PREPARING A RECORD TO BE SENT TO FILE
CONCATENATE
header-ORDER
header-LINE
header-MATERIAL
header-DUE
header-CREATED
header-QTY
header-KEY
header-TYPE
INTO t_record SEPARATED BY tab.
ENDFORM.
THIS IS WORKING FINE WITH DIFFERENT RANGES BUT WHEN I USE RANGE
Sales Order 1250000 TO 2250000
MAD 01/18/2005 TO 03/02/2005
Material LOCK9250FR TO LOCK9250XF
PLANT 4500
IT GIVES THE RUNTIME ERROR I MENTIONED ABOVE
ANY HELP WOULD BE GREATLY APPRECIATED
THANKS.HI ROB YOUR REPLY LOOKS TO BE VERY CLOSE OTHER GUYS SAID IT MIGHT BE PROBLEM WITH VARIABLE C_KWMENG BUT I REMOVED THAT PIECE OF CODE WITH C_KWMENG BUT STILL I WAS GETTING THE ERROR ATTACHED IS THE COMPLETE ERROR DETAILS FROM ST22
Runtime Errors CONVT_NO_NUMBER
Exception CX_SY_CONVERSION_NO_NUMBER
Occurred on 09/29/2005 at 14:33:21
Unable to interpret "04:" as a number.
What happened?
Error in ABAP application program.
The current ABAP program "ZVXR0303" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
Error analysis
An exception occurred. This exception will be dealt with in more detail
below. The exception, assigned to the class 'CX_SY_CONVERSION_NO_NUMBER', was
not caught, which
led to a runtime error. The reason for this exception is:
The program attempted to interpret the value "04:" as a number, but
since the value contravenes the rules for correct number formats,
this was not possible.
How to correct the error
Integers are represented in ABAP using a sequence of digits and, in some
cases, a preceding sign.
The system offers the following options for displaying floating point
numbers:
[mantissa]E[sign][exponent]
[whole number part].[fractional part]
e.g. -12E+34, +12E-34, 12E34, 12.34
If the error occurred in one of your own programs or in an SAP program
that you modified, try to correct it yourself.
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"CONVT_NO_NUMBER" CX_SY_CONVERSION_NO_NUMBERC
"ZVXR0303" or "ZVXR0303"
"START-OF-SELECTION"
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "620"
Application server....... "grrsap54"
Network address.......... "10.80.96.102"
Operating system......... "HP-UX"
Release.................. "B.11.11"
Hardware type............ "9000/800"
Character length......... 8 Bits
Pointer length........... 64 Bits
Work process number...... 3
Short dump setting....... "full"
Database server.......... "grrsap54"
Database type............ "ORACLE"
Database name............ "D01"
Database owner........... "SAPR3"
Character set............ "en_US.iso88591"
SAP kernel............... "640"
Created on............... "Aug 28 2005 20:25:49"
Created in............... "HP-UX B.11.00 A 9000/800"
Database version......... "OCI_920 "
Patch level.............. "88"
Patch text............... " "
Supported environment....
Database................. "ORACLE 8.1.7.., ORACLE 9.2.0.., ORACLE
10.1.0.."
SAP database version..... "640"
Operating system......... "HP-UX B.11"
User, transaction...
Client.............. 050
User................ "NSHAKER"
Language key........ "E"
Transaction......... "SE38 "
Program............. "ZVXR0303"
Screen.............. "SAPMSSY0 1000"
Screen line......... 6
Information on where terminated
The termination occurred in the ABAP program "ZVXR0303" in
"START-OF-SELECTION".
The main program was "ZVXR0303 ".
The termination occurred in line 156 of the source code of the (Include)
program "ZVXR0303"
of the source code of program "ZVXR0303" (when calling the editor 1560).
Source code extract
Caution: Program has changed
Caution: At time of termination, Active source code no longer available
001260 ? TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
001270 ? IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
001280 ? iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
001290 ?
001300 ? IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
001310 ? OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
001320 ? PERFORM OUT-OF-RANGE-FOUND.
001330 ? ENDIF.
001340 ? ENDIF.
001350 ? Else.
001360 ? Offset = 0.
001370 ? DO.
001380 ? IF offset <= 9.
001390 ? offset = offset + 1.
001400 ? If TKOMCON-ATWRT+Offset(1) = ':'.
001410 ? KeyTypeLOC = Offset + 1.
001420 ? KeyNumberLOC = Offset + 3.
001430 ? EXIT.
001440 ? ENDIF.
001450 ? ELSE.
001460 ? EXIT.
001470 ? ENDIF.
001480 ? ENDDO.
001490 ?
001500 ? TRANSLATE TKOMCON-ATWRT+KeyNumberLOC(4) USING ': '.
001510 ?
001520 ? IF TKOMCON-ATWRT+KeyNumberLOC(4) CO '0123456789 '.
001530 ? iKey = TKOMCON-ATWRT+KeyNumberLOC(4).
001540 ? IF ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'FR' AND iKey >= 454 )
001550 ? OR ( TKOMCON-ATWRT+KeyTypeLOC(2) = 'XF' AND iKey >= 1150 ).
? IDAT-KWMENG = TKOMCON-ATWRT(3).
001570 ? PERFORM OUT-OF-RANGE-FOUND.
001580 ? ENDIF.
001590 ? ENDIF.
001600 ? ENDIF.
001610 ? ENDLOOP.
001620 ? ENDLOOP.
001630 ? ENDIF.
001640 ? CLOSE DATASET OUTFILE.
001650 ?
001660 ? *----
001670 ? * FORM OUT-OF-RANGE-FOUND *
001680 ? *----
001690 ? * ........ *
001700 ? *----
001710 ? FORM OUT-OF-RANGE-FOUND.
001720 ?
001730 ? WRITE: / IDAT-VBELN.
001740 ? WRITE: 10 IDAT-POSNR.
001750 ? WRITE: 20 IDAT-MATNR.
Contents of system fields
SY field contents..................... SY field contents.....................
SY-SUBRC 0 SY-INDEX 44
SY-TABIX 7 SY-DBCNT 1
SY-FDPOS 4 SY-LSIND 0
SY-PAGNO 2 SY-LINNO 18
SY-COLNO 94 SY-PFKEY
SY-UCOMM SY-TITLE Out of Range Keys
SY-MSGTY I SY-MSGID SF
SY-MSGNO 616 SY-MSGV1
SY-MSGV2 SY-MSGV3
SY-MSGV4
Active calls / events
No.... Type........ Name..........................
Program
Include Line
Class
1 EVENT START-OF-SELECTION
ZVXR0303
ZVXR0303 156
Chosen variables
1 EVENT START-OF-SELECTION
ZVXR0303
ZVXR0303 156
%_SPACE
2
0
SY-REPID ZVXR0303
5555333322222222222222222222222222222222
A682030300000000000000000000000000000000
TKOMCON-ATWRT 04:XF1260
333543333222222222222222222222
04A861260000000000000000000000
KEYNUMBERLOC 5
0000
0005
SYST-REPID ZVXR0303
5555333322222222222222222222222222222222
A682030300000000000000000000000000000000
SY-LDBPG SAPDB__S
5454455522222222222222222222222222222222
31042FF300000000000000000000000000000000
IKEY 1260
000E
004C
KEYTYPELOC 3
0000
0003
SY ###,####################################
0002000000000001000000000000000000000000
000C00020007000E00000001000A000000000000
... + 40 ###########^###<########################
0000000000050003000100080000000000000009
00010004000E000C000200040000000000000000
... + 80 ########################################
0000000000000000000000000000000000000000
0000000000000000000A00000000000000000000
... + 120 #######################################_
0000000000000000000000000000000000010005
00000000000000000000000000000000000A000F
... + 160 ############ÿÿ¹°XC############# E2 X1
000000000000FFBB540000000000000222432253
0000000A0000FF90830040000C0000C000520081
... + 200 000 ####__S 050
3332222222220000555222222222222222223332
0000000000000000FF3000000000000000000500
... + 240 00
222223322222222
000000000000000
SVBELN IBT00012500000002250000
44533333333333333333333
92400012500000002250000
IDAT-KWMENG ########
00000000
0000000C
TKOMCON-ATWRT+0(3) 04:
333
04A
SYST ###,####################################
0002000000000001000000000000000000000000
000C00020007000E00000001000A000000000000
... + 40 ###########^###<########################
0000000000050003000100080000000000000009
00010004000E000C000200040000000000000000
... + 80 ########################################
0000000000000000000000000000000000000000
0000000000000000000A00000000000000000000
... + 120 #######################################_
0000000000000000000000000000000000010005
00000000000000000000000000000000000A000F
... + 160 ############ÿÿ¹°XC############# E2 X1
000000000000FFBB540000000000000222432253
0000000A0000FF90830040000C0000C000520081
... + 200 000 ####__S 050
3332222222220000555222222222222222223332
0000000000000000FF3000000000000000000500
... + 240 00
222223322222222
000000000000000
OUTFILE /usr/users/ftpsapfi/locks_540318
2777277677267776766266667533333322222222
F532F53523F64031069FCF3B3F54031800000000
... + 40
2222222222
0000000000
Application Calls
No dump information available
Application Information
No dump information available
Internal notes
The termination occurred in the function "ab_Move" of the SAP
Basis System, specifically in line 529 of the module
"//bas/640_REL/src/krn/runt/abmove1.c#6".
The internal operation just processed is "MOVE".
The internal session was started at 20050929142552.
Active calls in SAP kernel
( 0) 0x4000000001751924 CTrcStack2 + 0x2bc dw.sapD01_DVEBMGS00
( 1) 0x4000000001751658 CTrcStack + 0x18 dw.sapD01_DVEBMGS00
( 2) 0x4000000001db7478 rabax_CStackSave__Fv + 0x100 dw.sapD01_DVEBMGS00
( 3) 0x4000000001dc3abc ab_rabax + 0x1e1c dw.sapD01_DVEBMGS00
( 4) 0x4000000001b44cb4 ab_cnverr__FiPcPCvN21T2 + 0x18c dw.sapD01_DVEBMGS00
( 5) 0x40000000016c96f8 ab_Move + 0x1910 dw.sapD01_DVEBMGS00
( 6) 0x40000000016d4434 ab_jmove__Fv + 0x384 dw.sapD01_DVEBMGS00
( 7) 0x4000000001022348 ab_extri__Fv + 0x17a0 dw.sapD01_DVEBMGS00
( 8) 0x4000000001726dc8 ab_xevent__FPCc + 0x38 dw.sapD01_DVEBMGS00
( 9) 0x40000000019f7efc ab_trigg__Fv + 0x94 dw.sapD01_DVEBMGS00
(10) 0x40000000019dc9ec ab_run + 0xc4 dw.sapD01_DVEBMGS00
(11) 0x4000000000f65e0c N_ab_run + 0x14 dw.sapD01_DVEBMGS00
(12) 0x4000000000f5fa88 dynpmcal + 0x198 dw.sapD01_DVEBMGS00
(13) 0x4000000000f5d500 dynppai0 + 0x830 dw.sapD01_DVEBMGS00
(14) 0x4000000000f5b8b4 dynprctl + 0x43c dw.sapD01_DVEBMGS00
(15) 0x4000000000f56728 dynpen00 + 0x2118 dw.sapD01_DVEBMGS00
(16) 0x400000000102f1b4 Thdynpen00 + 0x69c dw.sapD01_DVEBMGS00
(17) 0x400000000102e1e4 TskhLoop + 0x523c dw.sapD01_DVEBMGS00
(18) 0x4000000001022f50 tskhstart + 0x1e0 dw.sapD01_DVEBMGS00
(19) 0x4000000000dce3c4 DpMain + 0x484 dw.sapD01_DVEBMGS00
(20) 0x40000000022784cc nlsui_main + 0x14 dw.sapD01_DVEBMGS00
(21) 0x4000000000a39534 main + 0x14 dw.sapD01_DVEBMGS00
(22) 0xc00000000000a588 $START$ + 0xa0 /usr/lib/pa20_64/dld.sl
List of ABAP programs affected
Type Program Gen. Date Time Load Size
Prg ZVXR0303 09/29/2005 14:25:42 39936
Prg SAPMSSY0 05/01/2005 00:21:19 66560
Prg SAPMSSYD 06/05/2002 17:09:33 16384
Prg SAPFSYSCALLS 02/14/2002 14:22:47 6144
Prg RSDBRUNT 06/13/2004 00:43:20 226304
Typ RSSCR / / : m:15 5120
Prg RSDBSPBL 01/07/2003 18:47:02 59392
Prg SAPDB__S 02/14/2002 14:22:47 15360
Typ VARID 05/12/1997 16:51:30 4096
Prg %_CSYDB0 02/14/2002 14:22:46 28672
Prg RSDBSPVA 09/06/2005 22:54:22 112640
Prg SAPLSVAR 09/06/2005 22:57:28 625664
Typ VARIS 05/12/1997 15:27:21 2048
Typ RSVAMEMKEY 05/07/1997 13:07:49 2048
Prg RSDBSPMC 06/05/2002 17:09:26 66560
Typ DDSHDESCR 09/03/1997 03:05:16 3072
Typ SPPARAMS 05/07/1997 13:10:38 2048
Typ SPPARAMS 05/07/1997 13:10:38 2048
Typ RSSELINT 04/04/1995 16:12:37 2048
Prg SAPLICON 03/12/2004 06:57:52 23552
Prg %_CICON 02/14/2002 14:22:46 65536
Prg SAPLSABE 02/14/2002 14:22:47 11264
Prg SAPLSECU 05/23/2005 14:04:05 64512
Typ RSSUBINFO 10/14/1999 22:01:03 3072
Prg %_CRSDS 02/14/2002 14:22:46 8192
Typ RSDSEXPR 08/20/1998 10:57:18 2048
Prg SAPLDSYA 02/14/2002 14:22:47 39936
Prg SAPFSDS1 01/07/2003 18:32:17 47104
Typ TDCLD 11/02/1998 09:51:35 5120
Prg SAPLSDOD 04/30/2005 22:53:50 39936
Typ DOKIL 05/12/1997 16:46:17 3072
Prg SAPCNVE 02/14/2002 14:22:47 6144
Prg SAPLLANG 02/14/2002 14:22:47 8192
Typ T002 02/14/1998 10:24:58 2048
Typ RSEXFCODE 08/13/1997 12:52:57 1024
Prg SAPFSPOR 03/13/2004 19:20:44 12288
Prg SAPLOMCV 05/01/2005 00:14:10 16384
Prg CL_EXITHANDLER================CP 06/13/2004 00:40:58 26624
Prg SAPLSEXV 09/06/2005 22:55:26 107520
Prg CL_BADI_FLT_DATA_TRANS_AND_DB=CP 05/01/2005 00:21:35 33792
Typ SXS_ATTR 08/20/2001 12:23:27 4096
Typ V_EXT_ACT 11/09/2000 14:27:05 2048
Typ SXC_EXIT 11/09/2000 14:23:43 2048
Prg CL_EX_BADI_MATN1==============CP 05/01/2005 00:14:04 22528
Prg IF_EX_BADI_MATN1==============IP 06/13/2004 00:48:55 4096
Typ TMCNV 02/24/1999 03:33:25 3072
Prg SAPLSCNT 02/14/2002 14:22:47 24576
Typ DYCBOX 08/20/1998 11:16:53 2048
Prg SAPLSVSM 01/07/2003 18:35:45 22528
Prg SAPLSGUI 01/09/2003 17:15:12 31744
Prg SAPLSTTM 05/01/2005 00:24:04 75776
Prg SAPLSBDC 05/23/2005 14:05:19 38912
Prg CL_DATAPROVIDER===============CP 02/14/2002 14:22:46 40960
Prg %_CCNTL 02/14/2002 14:22:46 13312
Typ OBJ_RECORD 02/14/1998 08:30:43 2048
Prg SAPLSTUP 05/23/2005 14:03:46 65536
Prg SAPLCNDP 05/23/2005 14:05:47 167936
Prg SAPFGUICNTL 01/09/2003 17:18:52 20480
Prg SAPLOLEA 05/23/2005 14:03:56 79872
Prg SAPLSFES 09/06/2005 22:53:55 191488
Prg SAPLSPLUGIN 02/14/2002 14:22:48 6144
Typ ARFCRDATA 11/09/2000 14:04:16 6144
Prg SAPLGRFC 02/14/2002 14:22:47 13312
Typ SWCBCONT 11/15/2000 17:55:11 3072
Typ OLE_VERBS 04/04/1995 16:02:20 2048
Typ OLE_PA 04/04/1995 16:02:19 2048
Prg SAPSHDTV 03/12/2004 06:40:27 28672
Typ SSCRTEXTS 09/03/1997 03:12:33 3072
Typ SSCRFIELDS 05/13/1997 12:54:26 4096
Prg CL_GUI_PROPS_CONSUMER=========CP 01/07/2003 18:26:56 26624
Prg SAPLTHFB 09/06/2005 22:52:48 306176
Prg CL_DYNAMIC_GUI_EXTENSIONS=====CP 02/14/2002 14:22:46 33792
Prg CL_GUI_DATAMANAGER============CP 05/01/2005 00:20:36 70656
Prg CL_ABAP_CHAR_UTILITIES========CP 05/01/2005 00:14:49 11264
Prg RSDBSPVD 05/01/2005 00:15:44 73728
Typ RVARI 03/30/1998 09:40:50 4096
Typ RSVARIVDAT 04/04/1995 16:12:54 2048
Typ VBEP 01/27/2003 16:50:17 10240
Typ VBAP 09/15/2005 11:15:36 44032
Prg SAPLCEI0 09/22/2005 14:34:40 936960
Typ API_VALUE 02/20/1998 08:46:47 2048
Prg SAPLCUEV 06/07/2001 18:26:56 10240
Prg SAPLSUNI 06/13/2004 00:42:30 131072
Typ TFDIR 07/29/1998 19:49:08 3072
Prg %_CIBCO2 03/13/2004 14:32:13 12288
Typ IBINCOM 06/01/1999 11:56:27 3072
Typ IBINCONF 06/01/1999 11:56:27 2048
Typ IBSTCONF 06/01/1999 11:56:28 1024
Prg SAPLCUCB 05/23/2005 15:20:17 192512
Typ TCUIBSPECIAL 06/07/2001 17:50:37 1024
Prg %_CIBXX 03/13/2004 14:38:45 49152
Typ BAL_S_MSG 12/04/2000 13:04:01 6144
Prg CX_CBASE_ERROR================CP 01/27/2003 16:58:10 10240
Typ SCX_SRCPOS 11/09/2000 14:12:15 2048
Typ BAL_S_CONT 11/02/1998 09:43:07 2048
Typ BAL_S_PARM 12/04/2000 12:45:14 3072
Typ BAL_S_CLBK 11/02/1998 09:43:07 2048
Prg CX_STATIC_CHECK===============CP 02/14/2002 14:22:47 8192
Prg CX_ROOT=======================CP 02/14/2002 14:22:47 9216
Prg CL_CBASE======================CP 05/23/2005 15:19:44 87040
Typ T371G 04/29/1998 10:42:48 2048
Prg SAPLIBCO 03/13/2004 15:32:40 269312
Prg %_CIBCO 03/13/2004 14:38:45 11264
Prg SAPLIBXX 03/13/2004 14:38:46 11264
Prg SAPLIBIBF 03/13/2004 14:38:46 179200
Prg %_CIBIB 03/13/2004 14:38:45 18432
Prg SAPLIBINF 06/12/2004 22:20:22 415744
Prg %_CIBIN 03/13/2004 15:32:40 48128
Prg CL_IBASE_STRUC================CP 06/07/2001 19:59:10 106496
Prg %_CIBST 03/13/2004 14:38:45 37888
Prg CL_IBASE_STRUC_BUF============CP 06/07/2001 19:59:10 89088
Prg CL_IBASE_STRUC_STAT===========CP 06/07/2001 19:59:10 8192
Prg CL_IBASE_STRUC_BUF_IBSTREF====CP 06/07/2001 19:59:10 35840
Prg %_CIBCO1 03/13/2004 14:38:45 14336
Typ IBINVAL 09/18/2001 10:02:52 2048
Prg SAPLIBCU 03/13/2004 14:38:46 12288
Prg SAPLIBCUT 06/07/2001 18:27:19 12288
Typ T371B 05/14/1998 22:58:43 2048
Typ V_IBINR 03/13/2004 15:32:40 5120
Typ V_IBINR_CM 03/13/2004 15:32:40 5120
Prg CL_IBASE_SERVICE==============CP 06/07/2001 19:59:10 13312
Prg CL_IBASE_T371D_BUF============CP 06/07/2001 19:59:10 12288
Typ T371D 08/27/1999 18:19:44 2048
Prg CL_IBASE_R3_MATERIAL==========CP 05/23/2005 15:08:24 59392
Typ MARA 05/23/2005 15:08:18 22528
Typ MAKT 08/28/1997 08:52:19 2048
Typ ICON 01/03/1996 15:34:02 3072
Prg CL_ABAP_TYPEDESCR=============CP 05/01/2005 00:20:10 21504
Prg CL_ABAP_ELEMDESCR=============CP 05/01/2005 00:20:33 20480
Prg CL_ABAP_DATADESCR=============CP 03/12/2004 07:16:33 14336
Prg CL_ABAP_REFDESCR==============CP 03/12/2004 07:17:23 16384
Prg CL_ABAP_STRUCTDESCR===========CP 05/01/2005 00:20:33 20480
Prg CL_ABAP_COMPLEXDESCR==========CP 03/12/2004 07:16:33 13312
Prg CL_ABAP_TABLEDESCR============CP 03/12/2004 07:17:23 17408
Prg CL_ABAP_CLASSDESCR============CP 03/12/2004 07:17:23 23552
Prg CL_ABAP_OBJECTDESCR===========CP 03/12/2004 07:17:23 25600
Prg CL_ABAP_INTFDESCR=============CP 03/12/2004 07:16:33 19456
Prg CL_ABAP_SOFT_REFERENCE========CP 03/29/2001 16:42:12 7168
Prg CL_ABAP_REFERENCE=============CP 02/14/2002 14:22:46 6144
Prg IF_EX_CM_BADI_VERSION=========IP 01/07/2002 16:09:04 3072
Prg %_CABAP 01/07/2003 18:31:23 23552
Typ SXS_INTER 11/30/1998 15:55:16 2048
Prg CL_EX_CM_BADI_VERSION=========CP 05/01/2005 00:14:04 13312
Prg %_CSXRT 06/13/2004 00:40:55 11264
Prg CL_EXIT_MASTER================CP 06/13/2004 00:40:58 13312
Typ V_EXT_IMP 11/09/2000 14:27:05 2048
Typ V_EXT_IMP 11/09/2000 14:27:05 2048
Typ SXC_IMPSWH 11/09/2000 14:23:44 2048
Prg CL_IM_CM_BADI_VERSION_DEF=====CP 04/17/2002 11:01:00 6144
Prg SAPLASTAT_TRIG 02/14/2002 14:22:47 11264
Typ ASTAT_TYP2 11/10/1998 05:35:18 2048
Prg IF_CM_BASELINE================IP 05/23/2005 15:08:24 9216
Prg IF_IBASE_IBOF_TREE_OBJECT=====IP 05/23/2005 15:08:24 5120
Prg IF_IBASE_INSTALL==============IP 06/07/2001 20:08:54 4096
Prg IF_IBASE_MATERIAL=============IP 06/07/2001 20:08:54 3072
Prg IF_IBASE_OBJECT===============IP 06/07/2001 20:08:54 4096
Prg SAPLBOMA 02/14/2002 14:15:40 10240
Typ IONRA 03/12/2004 02:09:40 23552
Typ IBIBCOM 08/30/2001 17:56:57 4096
Typ IBIB 03/13/2004 14:32:13 5120
Prg CL_IBASE_STRUC_SERVICE========CP 06/07/2001 19:59:10 17408
Prg CL_CU_CBASE_ENQUEUE_CORE======CP 06/07/2001 19:58:59 11264
Prg CL_CU_CBASE_ENQUEUE===========CP 06/07/2001 19:58:59 16384
Typ T371F 06/01/1999 12:00:49 2048
Typ V_IBIN_SYVAL 03/13/2004 15:32:41 4096
Typ IBIN 09/18/2001 10:02:52 6144
Typ IBINOWN 02/01/2000 14:56:07 2048
Prg CL_IBASE_T371F_BUF============CP 06/07/2001 19:59:11 8192
Prg CL_IBASE_STRUC_FILT_02========CP 06/07/2001 19:59:10 11264
Prg CL_IBASE_STRUC_FILT===========CP 06/07/2001 19:59:10 10240
Typ IBST 09/18/2001 10:02:52 4096
Typ IBST 09/18/2001 10:02:52 4096
Typ IBSTREF 04/15/1998 00:20:43 2048
Typ IBSTREF 04/15/1998 00:20:43 2048
Prg IF_CBASE_E====================IP 06/07/2001 20:08:25 3072
Prg %_CCXTAB 02/14/2002 14:22:46 6144
Prg SAPLCUCQ 09/15/2005 11:15:38 79872
Typ CUCO 09/18/2001 10:02:34 18432
Typ CUCO_OBJ 09/18/2001 10:02:34 18432
Prg SAPLCLCA 09/06/2005 23:33:29 68608
Typ TCLA 03/13/2004 14:10:20 5120
Typ TCLAO 08/13/1997 13:57:22 4096
Prg SAPLCUOB 05/23/2005 14:31:35 31744
Typ INOB 09/03/1997 03:20:02 4096
Prg SAPLCLSE 05/23/2005 14:32:26 167936
Prg %_CCC01 05/01/2005 00:34:57 53248
Typ TABLEKEY 07/06/1998 21:01:06 2048
Typ KSSK 09/18/2001 10:02:58 3072
Prg SAPLCLEF -
Hi All,
I can able to display the data through the FM REUSE_ALV_GRID_DISPLAY in the out put screen.When I click on the Microsoft Excel (CtrlShiftF7) at the ALV toolbar to view the same data in excel sheet it does open the excel sheet WITHOUT ANY DATA. Please help me how to make the data visible in the excel sheet.
Can anyone help in this regard.
Thanks & Regards,
Seshadri GHi,
Check whether the tool bar export is disabled in the alv.
check in the alv->set_table_for_first_display FM the toolbar exclude export list.
If that is ok, then try download manually by providing abutton and clicking it. You can download data manually in this way.
refer the code below.
DATA: lv_path TYPE string,
lv_fullpath TYPE string,
lc_c TYPE string,
v_fnam TYPE string,
lc_date(15) TYPE c.
TYPES: BEGIN OF ts_fieldnames,
field_name(1000),
END OF ts_fieldnames.
lc_c = 'C:\'.
WRITE sy-datum TO lc_date.
DATA:lt_fieldnames TYPE STANDARD TABLE OF ts_fieldnames,
ls_fieldnames TYPE ts_fieldnames,
lt_fieldnames1 TYPE STANDARD TABLE OF ts_fieldnames,
ls_fieldnames1 TYPE ts_fieldnames,
lt_fieldnames2 TYPE STANDARD TABLE OF ts_fieldnames,
ls_fieldnames2 TYPE ts_fieldnames,
lt_fieldnames3 TYPE STANDARD TABLE OF ts_fieldnames,
ls_fieldnames3 TYPE ts_fieldnames,
lt_fieldnames5 TYPE STANDARD TABLE OF ts_fieldnames,
ls_fieldnames5 TYPE ts_fieldnames.
CONCATENATE 'ContractAccount'
'DocumentNumber'
'Reference/InvoiceDocumentNumber'
'ClearingDocumentNumber'
INTO ls_fieldnames-field_name SEPARATED BY
cl_abap_char_utilities=>horizontal_tab.
APPEND ls_fieldnames TO lt_fieldnames.
CONCATENATE '' ''
INTO ls_fieldnames5-field_name SEPARATED BY
cl_abap_char_utilities=>newline.
APPEND ls_fieldnames5 TO lt_fieldnames5.
DATA : ls_str1 TYPE string,
ls_str2 TYPE string.
ls_str1 = 'Invoice Clearing Posting'.
ls_str2 = 'Payment On Account Posting'.
CONCATENATE ls_str1 ' :: ' lc_date INTO ls_fieldnames2-field_name.
APPEND ls_fieldnames2 TO lt_fieldnames2.
CONCATENATE ls_str2 ' :: ' lc_date INTO ls_fieldnames3-field_name.
APPEND ls_fieldnames3 TO lt_fieldnames3.
CONCATENATE 'ContractAccount'
'Reference/InvoiceDocumentNumber'
'PostOnAccountDocumentNumber'
INTO ls_fieldnames1-field_name SEPARATED BY
cl_abap_char_utilities=>horizontal_tab.
APPEND ls_fieldnames1 TO lt_fieldnames1.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = 'Select file for download'
default_extension = '.xls'
default_file_name = lv_path
initial_directory = lc_c
CHANGING
filename = lv_path
path = lc_c
fullpath = lv_fullpath
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
v_fnam = lv_fullpath.
ENDIF.
IF v_fnam IS INITIAL.
RETURN.
ENDIF.
IF i_finalclear[] IS NOT INITIAL.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = v_fnam
filetype = 'DAT'
HEADER = header
append = 'X'
write_field_separator = 'X'
CHANGING
data_tab = lt_fieldnames2
EXCEPTIONS
OTHERS = 8.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = v_fnam
filetype = 'DAT'
HEADER = header
append = 'X'
write_field_separator = 'X'
CHANGING
data_tab = lt_fieldnames
EXCEPTIONS
OTHERS = 8.
REgards
sheron
Maybe you are looking for
-
PURCHASE ORDER STATUS :When Deleting ALL ITEMS.
Hi experts, I need to make purchase order status stay " Release Compleated " when deleting all items. Anyone Know How to do it? Or anyone Know how to use BAPI_PO_CHANGE in BAdI : ME_PROCESS_PO_CUST In my project , I use Release Strategy of purchas
-
Hyperlink to a 3gp movie?
In iWeb 08 when I add a hyperlink to a 3gp movie created in QuickTime formated for iPhone. When I share the file the hyperlink has a .mov extension even though in my movie folder on my MobileMe iDisk shows that it is a 3gp file. The movies download a
-
Boris Title 3d after export....
...looks squeezed and distorted - even to the point that it gets clipped at the top and bottom of the frames on the frames that have a bunch of text. All updated software, late 2007 MP, sequence is HDV 1080p, 23.98, no field dominance, and I am tryin
-
Connecting to Catalog & Target Database
I am trying to register a target database with a recovery catalog. RMAN database and the catalog table space were created. When trying to connect to target with the SID set to the instance name and simply connecting as username/password, I am getting
-
How do I make XIPro my default reader
I have done it before, but when my subscription expired, I took the app off. Now I have once again downloaded, but can't get it to be my default