How to Upload Budget in KP06 ?
Hi All,
I want to Upload Budget from Excel to KP06.
The Budget is Suppose to be Uploaded both Cost Center and Cost Element wise.
As m doing it for the 1st time Pls help.
Question : -
How Can i Upload Budget Directly From my Excel File to SAP though KP06 or any other T-code ?
Thks & Regards,
Vishal Shah
The procedure to upload datas is simple on condition you made appropriate settings before:
- first define a specific layout by copying a standard one via KP65 Tcode
- second, assign the new layout to the planning profile via Controlling > Cost Center Accounting > Planning > Manual Planning > Define User-Defined Planner Profiles
In the assignment of the layout you define the layout with the box "integrated excel" marked. You just have to navigate to layouts for controlling.
-thirdly you define default parameters of the layout: there you have to select a generic name for the files you will import. As an example if you define the file name like " planning* ", the future files will be named " "planning2008", or "planning2009"....
save : the structure of the xls file on your desk, save the settings
- then you make your planning in your excel sheet. Save it in a ".txt" format and don't forget to suppress the last line of the file: the line "total" can't be readen by the system.
- return to KP06 Tcode, choose the right layout : go to extra > excel planning > upload, select the "planning.txt" file and execute.
I think you have the elements to succeed.
thanks for reawarding points
Pascal Cuenin
Similar Messages
-
Amount auto add 100 amount in report painter when I upload budget from KP06
Hi expert,
Would like to seek help, I wonder why the report painter (GRR1) display the amount by all cost element adding 100 for the budget when I upload budget KP06?
Please help.
Thank you.
Regards,
KarenHi,
Thank you for the prmpt reply.
However the link is not working, between would like to seek for your help to advice query as below:
Hi,
Thank you for the promt reply.
1) How I include the variable in the column header to display fiscal year which I have selected from the selection screen?
which variable should i use?
2) Where can i find more information about the characteristic and which variable to be use base on the characteristic?
For example: I would like to display the fiscal year from the selection screen/input screen when execute the report which also will reflected to the element definition and will display the fiscal year also in the column text?
3) Kindly advise base on question 2, the variable that i use in element definition it will also display in selection screen?
4) When execute the report the first selection screen input parameter it obtain from where it is from element definition?
5) Please advice how to be done when report execute with first screen input selection will also reflect the element definition of column and rom with the selection of the fiscal year?
Please help.
many thanks -
How to upload Budget in cost centers?
How can I upload budget in cost centers? What are steps involved?
Thanks,<a href="https://wiki.sdn.sap.com/wiki/download/attachments/52006/Costcenterexcelupload1.jpg?version=1">Refer to my wiki posting 1 of 5 !</a>
<a href="https://wiki.sdn.sap.com/wiki/download/attachments/52006/Costcenterexcelupload2.jpg?version=1">Refer to my wiki posting 2 of 5!</a>
<a href="https://wiki.sdn.sap.com/wiki/download/attachments/52006/Costcenterexcelupload3.jpg?version=1">Refer to my wiki posting 3 of 5 !</a>
<a href="https://wiki.sdn.sap.com/wiki/download/attachments/52006/Costcenterexcelupload4.jpg?version=1">Refer to my wiki posting 4 of 5 !</a>
[url=https://wiki.sdn.sap.com/wiki/download/attachments/52006/Costcenterexcelupload5.jpg?version=1]Refer to my wiki posting 5 of 5 ![/url] -
How to load budgeted sales dollars into SAP.
hello experts
we are using ecc 5.0
pl advise how how to load budgeted sales dollars into SAP
thnks
vinodHello,
Budgets are like threshold figures where your actuals cannot exceed your budgets.
Whereas, planned data is for variance analysis with your actuals.
You can configure the cost center planning so that the user can upload the data through KP06 or KP26
This is controlled by planning are in your planning profile. You need to use "Cost ctrs: Cost element/activity inputs" planning area for this purpose.
Hope you are conversant with Integrated excel upload.
To do integrated excel upload of cost center plan data.
IMG ==> Controlling ==> Cost Center Accounting ==> Planning ==> Manual Planning User Defined Layouts - Create your own layout or copy from standard layout and change it.
IMG ==> Controlling ==> Cost Center Accounting ==> Planning ==> Define User Defined Planner Profiles
Copy the SAPALL to ZSAPALL. You cannot change SAPALL as it is standard.
In ZSAPALL planner profile, select proper planning area and enter your layout.
Tick Integrate Excel.
Once the popup for KP06 comes, you need enter the data and save it. It would generate the file name.
With the same file name you need upload the plan data by using KP06.
In KP06
Extras ==> Excel Planning ==> Upload
Select the file as prepared in accordance with format at the time of generating the file name.
Hope this solves your problem.
Please let me know if you need futher help.
Regards,
Ravi -
HOW TO ROLLBACK BUDGET BALANCE
제품 : FIN_GL
작성날짜 : 2005-05-10
HOW TO ROLLBACK BUDGET BALANCE
==============================
PURPOSE
GL Budget Balance 의 Period 설정이 잘 못 되었거나 Budget Balance 가 잘 못 지정되었을 경우에 아래와 같은 step으로 Budget Balance 를 Roll back 한다.
Problem Description
고객이 Budget 화면에서 End Date 설정을 잘 못 하여 Period 가 잘못 지정되었는데 Budget Journal이 생성된 후에 End Date 설정을 강제로 변경 하고자 할 경우나 Budget Balance 자체에 문제가 있을 때 아래와 같은 Step 으로 Rollback 한다.
Solution Description
Step 1. 관련 데이타는 미리 Back up 받아 놓는다.
Step 2. Delete 할 Period를 결정한다.
Step 3. GL_BALANCES table에서 해당 period 의 budget balance 를 Delete 한다.
DELETE from GL_BALANCES
where set_of_books_id = <set of books id which has the corruption >
and actual_flag = 'B'
and budget_version_id = <Budget version id of the corrupt budget >
and period_year >= <Fiscal year which has the corruption >
Step 4. Journal Statuses 를 Update 한다.
UPDATE GL_JE_BATCHES set status = 'U', status_verified = 'N'
where default_period_name in <List of periods in the
corrupt fiscal year starting with the first period in that year
up to the latest open for that budget>
and actual_flag = 'B'
and set_of_books_id = <set of books id which has the corruption>
and je_batch_id in
(SELECT je_batch_id
from GL_JE_HEADERS
where budget_version_id = <Corrupt budget version id>
and actual_flag = 'B'
and set_of_books_id = <Corrupt Set of books Id>
and period_name in <List of corrupt periods starting
with the first period in the corrupt fiscal year
up to the latest open for that budget>
UPDATE GL_JE_HEADERS set status = 'U'
where period_name IN <List of periods in the corrupt fiscal year
starting with the first period in that year up to the latest
open for that budget>
and actual_flag = 'B'
and budget_version_id = <Corrupt budget version id>
and set_of_books_id = <Corrupt set of books id>;
update GL_JE_LINES set status = 'U'
where period_name IN <<List of periods in the corrupt fiscal year
starting with the first period in that year up to the latest
open for that budget>
and set_of_books_id = <Corrupt set of books id>
and je_header_id IN
(select je_header_id
from GL_JE_HEADERS
where period_name in <List of periods in the corrupt fiscal
starting with the first period in that year up to the latest
open for that budget>
and actual_flag = 'B'
and budget_version_id = <Corrupt budget version Id>
and set_of_books_id = <Corrupt Set of Books Id>
Step 5. Latest Open Budget Period 를 update 한다.
UPDATE GL_BUDGETS
set latest_opened_year = <Year prior to the corrupt fiscal year>,
last_valid_period_name = <last period for the year prior to the
corrupt fiscal year>
where budget_name = <Budget name of the corrupt budget>
and budget_type = 'standard'
and set_of_books_id = <Corrupt set of books id>;
DELETE from GL_BUDGET_PERIOD_RANGES
where budget_version_id = <Corrupt budget version id>
and period_year = <Corrupt budget fiscal year >;
Step 6. Budget Year 를 Reopen한다.
GL Responsibility 로 Applications에 접속하여 Budget Year를 Open
Step 7. Budget Journals 을 Repost 한다.
해당 Budget Journals 를 Repost 처리 한다.If you want to load balances at the time of go live.
Create a clearing account like data take over A/c
MM will upload material balances using tcode MB1C and movement type 561
it will generate the following accounting entry
Finished goods stock a/c Debit
Semi-Finished goods stock a/c Debit
Raw Material stock a/c Debit
Packing Material stock a/c Debit
Stores and spares a/c Debit
Data take over Credit
Customer a/c (not recon G/l) Debit
Data takeover a/c Credit
Data takeover a/c Debit
Vendor a/c (not recon GL) Credit
For Asset - tcode OASV
Plant and Machinery a/c Dr
Accumulated depreciation a/c Credit
Data takeover a/c Credit
Cash balance through FBCJ
G/L Tcode F-02,
Data takeover a/c Debit (Balancing figure)
Bank a/c Debit
Advances Debit
Share capital a/c Credit
Short term Loan a/c Credit
Long term loan a/c Credit -
Steps to upload budgeted excel through KPF6
Hi
Can any one please tell me step by step process to upload budgeted values through Tcode KPF6.
Do we need to create any template before executing this or we can do with standard templates?
Format we are trying to upload is
<b>Internal order number- cost element-- periods
XXXX XXXX 1 to 12</b>
Is there any difference between planned upaload or budgeted upload procedure?
regards
HinfiHi
I am thinking of trying standard template it self similar to KP06.There is step by step document for KP06 where it takes directly to macro enables excel where we fill the values and upload.
I am trying to find that procedure if works for KPF6.Our data is simple format and not complex.
Can I please get detailed steps in case if I want to try with standard.
regards
Hinfi -
Upload Budget From ADI to EBS Problem
Hello,
when I upload budget from adi to Ebs 11i (11.5.8), three account combinaitions are missing.
How Can I troubleshoot ?
Urgent !!!
Tank you.I found solution for issue.
-
How to maintain budget in 2006 when user in 2008 & vice versa? frame 1 y
Problem:
User could not save changes in original budget in 2006 & in 2008 also.
Description
When user tried to change original budget (FR04) in 2006 year,
then getting a Message on screen
Payment for yearly budget 2008 samller than distrubuted budget
with fund center commitment item list &
Payment for the annual budget 2006 are less than annual release
with fund center commitment item list.
User add & release fund in specific fund center-commitment item which was showing in error list.
After the check-
then getting error Payment for yearly budget 2008 samller than distrubuted budget
with fund center commitment item list
Time frame only shown 2006.
Here how to maintain budget in 2008 when user in 2006?
In Next step
When user tried to change original budget (FR04) in 2008 year,
then getting a Message on screen
Payment for yearly budget 2008 samller than distrubuted budget
with fund center commitment item list &
Payment for the annual budget 2006 are less than annual release
with fund center commitment item list.
User add & release fund in specific fund center-commitment item which as showing in error list.
After the check-
then getting error
Payment for the annual budget 2006 are less than annual release
with fund center commitment item list
Time frame only shown 2007 2008 2009.
here how to maintain budget in 2006 when user in 2008?
Means user can only change budget in 2007 to 2009 when more years coming in timeframe.
Current year :2008
Closed year: 2006
In Fund Management, need change original budget payments in 2006 which is already closed.
Purpose:
Maintain the positive budget in fund center -Commitment item in 2006 & in 2008 which is shwoing in error.
Can we see past-current timeframe at the same time ?1. copy the frames of your looping animation.
2. create a new movieclip and paste those copied frames onto
this movieclip's timeline
3. from your library drag a copy of the above movieclip to
frame 1 of your main timeline and attach a stop() to that frame.
4. place your login textfield and ok button on frame 1 of
your main timeline.
5. when ok is pressed (and login) passes some condition
direct your main timeline to frame 20. -
How to upload file from desktop or C drive and send as attachments
Hello Experts,
Please tell me
How to upload jpg or gif or drawing files from desktop or any drive and store into R/3 by the same time I have to send mail as a attachment.
I heard that FM
SO_NEW_DOCUMENT_ATT_SEND_API1 is only to send as a attachment what ever the data is present in the internal table only.
please help me on that.I m using this code its having attachment but I m not able to open the file. Please help me
I m using gui_upload to upload the file
PROGRAM ZTEST
no standard page heading line-size 255.
DATA: xfile TYPE string.
data : t_IW51 LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.
DATA: OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
DATA: OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
DATA: DOC_CHNG LIKE SODOCCHGI1.
DATA: TAB_LINES LIKE SY-TABIX.
data : email type table of BAPIADSMTP.
PARAMETERS : file LIKE rlgrap-filename OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR file.
CLEAR file.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = file.
xfile = file.
START-OF-SELECTION.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = xfile
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = t_IW51.
Creation of the document to be sent
File Name
DOC_CHNG-OBJ_NAME = 'SENDFILE'.
Mail Subject
DOC_CHNG-OBJ_DESCR = 'Send External Mail'.
Mail Contents
OBJTXT = 'Minimum bid : $250000'.
APPEND OBJTXT.
OBJTXT = 'A representation of the pictures up for auction'.
APPEND OBJTXT.
OBJTXT = 'was included as attachment.'.
APPEND OBJTXT.
DESCRIBE TABLE OBJTXT LINES TAB_LINES.
READ TABLE OBJTXT INDEX TAB_LINES.
DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).
Creation of the entry for the compressed document
CLEAR OBJPACK-TRANSF_BIN.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'RAW'.
APPEND OBJPACK.
Creation of the document attachment
(Assume that the data in OBJBIN is in BMP format)
*OBJBIN = ' \O/ '. APPEND OBJBIN.
*OBJBIN = ' | '. APPEND OBJBIN.
*OBJBIN = ' / \ '. APPEND OBJBIN.
OBJBIN[] = t_IW51[].
DESCRIBE TABLE OBJBIN LINES TAB_LINES.
OBJHEAD = 'PICTURE.PDF'.
APPEND OBJHEAD.
OBJBIN[] = t_IW51[].
Creation of the entry for the compressed attachment
OBJPACK-TRANSF_BIN = 'X'.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 1.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'PDF'.
OBJPACK-OBJ_NAME = 'PICTURE'.
OBJPACK-OBJ_DESCR = 'Representation of object 138'.
OBJPACK-DOC_SIZE = TAB_LINES * 255.
APPEND OBJPACK.
Completing the recipient list
RECLIST-RECEIVER = 'email_id have to enter here'.
RECLIST-REC_TYPE = 'U'.
APPEND RECLIST.
RECLIST-RECEIVER = 'ENTEG01'.
RECLIST-REC_TYPE = 'P'.
APPEND RECLIST.
Sending the document
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
PUT_IN_OUTBOX = 'X'
commit_work = 'X'
TABLES
PACKING_LIST = OBJPACK
OBJECT_HEADER = OBJHEAD
CONTENTS_BIN = OBJBIN
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
*EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
OPERATION_NO_AUTHORIZATION = 4
*OTHERS = 99.
CASE SY-SUBRC.
WHEN 0.
WRITE: / 'Result of the send process:'.
LOOP AT RECLIST.
WRITE: / RECLIST-RECEIVER(48), ':'.
IF RECLIST-RETRN_CODE = 0.
WRITE 'The document was sent'.
ELSE.
WRITE 'The document could not be sent'.
ENDIF.
ENDLOOP.
WHEN 1.
WRITE: / 'No authorization for sending to the specified number',
'of recipients'.
WHEN 2.
WRITE: / 'Document could not be sent to any recipient'.
WHEN 4.
WRITE: / 'No send authorization'.
WHEN OTHERS.
WRITE: / 'Error occurred while sending'.
ENDCASE. -
HOW TO UPLOAD DATA FROM EXCEL TO INTERNALTABLE
HI,
HOW TO UPLOAD DATA FROM EXCEL TO INTERNALTABLE? & WITH EXAMPLE.hi,
chk this, put the data into an excel file.
fields inside it are name and age.
sample excel sheet.
coloumn 1 is name and column 2 is age
name age
A 8
C 13
D 55
DATA : int_excel LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE.
data : record like db_name_age occurs 0 with header line.
DATA : v_start_col TYPE i VALUE '1', "starting col
v_start_row TYPE i VALUE '1', " starting row
v_end_col TYPE i VALUE '2', " total columns
v_end_row TYPE i VALUE '10'. "total no of record
FORM f_upload .
CLEAR : int_excel, int_excel[].
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = wf_filename
i_begin_col = v_start_col
i_begin_row = v_start_row
i_end_col = v_end_col
i_end_row = v_end_row
TABLES
intern = int_excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
*Message is 'Unable to upload data from ' wf_filename.
MESSAGE e169(zm050) WITH wf_filename.
ELSE.
SORT int_excel BY row col.
REFRESH : record.
CLEAR : record.
LOOP AT int_excel.
CASE int_excel-col. "go thru each column.
WHEN 1.
record-name = int_excel-value.
WHEN 2.
record-age = int_excel-value.
ENDCASE.
AT END OF row.
APPEND record.
CLEAR record.
ENDAT.
ENDLOOP.
*inserting into table
modfiy db_name_age from table record.
ENDIF.
<i><b>ANOTHER EXAMPLE</b></i>
TYPE-POOLS truxs.
types: begin of t_tab,
col1(5) type c,
col2(5) type c,
col3(5) type c,
end of t_tab.
data : itab type standard table of t_tab,
wa type t_tab.
data it_type type truxs_t_text_data.
parameter p_file type rlgrap-filename.
data ttab type tabname.
at selection-screen on value-request for p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = p_file
start-of-selection.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_FIELD_SEPERATOR =
I_LINE_HEADER = 'X'
i_tab_raw_data = it_type
i_filename = p_file
tables
i_tab_converted_data = 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.
end-of-selection.
loop at itab into wa.
write : wa-col1,
wa-col2,
wa-col3.
endloop.
rgds,
anver
<i>if hlped pls mark points</i> -
How to upload data from excel to SAP and options to be used
How to upload data from excel to SAP and options to be used
thank you,
Regards,
Jagrut Bharatkumar shuklaHi Jagrut,
You can use gui_upload.
chk the sample program mentioned below.
REPORT ZFTP .
DATA: BEGIN OF I_FILE OCCURS 0,
DATA(2000) TYPE C,
END OF I_FILE.
DATA: BEGIN OF I_FILE2 OCCURS 0,
DATA(2000) TYPE C,
END OF I_FILE2.
DATA: W_COUNT TYPE I.
PARAMETERS: P_FILEN TYPE STRING,
P_FILE2 TYPE STRING,
P_NUM(4) TYPE N..
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILEN.
PERFORM F_FILE_GET USING P_FILEN TEXT-G01.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE2.
PERFORM F_FILE_GET USING P_FILE2 TEXT-G01.
START-OF-SELECTION.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = P_FILEN
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
tables
data_tab = I_FILE
IF SY-SUBRC <> 0.
MESSAGE E024(Z1).
ENDIF.
LOOP AT I_FILE.
W_COUNT = W_COUNT + 1.
IF NOT W_COUNT > P_NUM.
MOVE I_FILE TO I_FILE2.
APPEND I_FILE2.
ENDIF.
ENDLOOP.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = P_FILE2
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
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'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
tables
data_tab = I_FILE2
FIELDNAMES =
*& Form F_FILE_GET
text
-->P_P_FILEN text
-->P_TEXT_G01 text
FORM F_FILE_GET USING L_FILENA L_TEXT.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = ' '
DEF_PATH = ' '
MASK = ',.,*.TXT.'
MODE = 'O'
TITLE = L_TEXT
IMPORTING
FILENAME = L_FILENA
rc =
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.
ENDIF.
Reward if helpful.
Regards,
Harini.S -
How to upload excel file in application server??
Hi,
How to upload an excel file into internal table in background mode from application server?
ThanksHi vipin,
check this it may help you...
hope below links helps you
Export the report list to Excel Sheet
http://www.sapdevelopment.co.uk/file/file_updown.htm
or below is a sample programme which helps you upload and download
REPORT ytest5 LINE-SIZE 80
LINE-COUNT 65
NO STANDARD PAGE HEADING.
TABLES: dd02l, dd03l.
* selection screen
SELECTION-SCREEN BEGIN OF BLOCK b00 WITH FRAME TITLE text-b00.
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
PARAMETERS: tabname LIKE dd02l-tabname OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b01.
SELECTION-SCREEN BEGIN OF BLOCK b03 WITH FRAME TITLE text-b03.
PARAMETERS: path(30) TYPE c DEFAULT 'C:SAPWorkdir'.
SELECTION-SCREEN END OF BLOCK b03.
SELECTION-SCREEN BEGIN OF BLOCK b04 WITH FRAME TITLE text-b04.
PARAMETERS: p_exp RADIOBUTTON GROUP radi,
p_imp RADIOBUTTON GROUP radi,
p_clear AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b04.
SELECTION-SCREEN END OF BLOCK b00.
* data
DATA: q_return LIKE syst-subrc,
err_flag(1) TYPE c,
answer(1) TYPE c,
w_text1(62) TYPE c,
w_text2(40) TYPE c,
winfile(128) TYPE c,
w_system(40) TYPE c,
winsys(7) TYPE c,
zname(8) TYPE c,
w_line(80) TYPE c.
* internal tables
DATA : BEGIN OF textpool_tab OCCURS 0.
INCLUDE STRUCTURE textpool.
DATA : END OF textpool_tab.
* table for subroutine pool
DATA : itab(80) OCCURS 0.
* events
INITIALIZATION.
PERFORM check_system.
AT SELECTION-SCREEN ON tabname.
PERFORM check_table_exists.
START-OF-SELECTION.
PERFORM init_report_texts.
PERFORM request_confirmation.
END-OF-SELECTION.
IF answer = 'J'.
PERFORM execute_program_function.
ENDIF.
TOP-OF-PAGE.
PERFORM process_top_of_page.
* forms
* FORM CHECK_TABLE_EXISTS *
FORM check_table_exists.
SELECT SINGLE * FROM dd02l
INTO CORRESPONDING FIELDS OF dd02l
WHERE tabname = tabname.
CHECK syst-subrc NE 0.
MESSAGE e402(mo) WITH tabname.
ENDFORM.
* FORM INIT_REPORT_TEXTS *
FORM init_report_texts.
READ TEXTPOOL syst-repid
INTO textpool_tab LANGUAGE syst-langu.
LOOP AT textpool_tab
WHERE id EQ 'R' OR id EQ 'T'.
REPLACE '&1............................'
WITH tabname INTO textpool_tab-entry.
MODIFY textpool_tab.
ENDLOOP.
ENDFORM.
* FORM REQUEST_CONFIRMATION *
FORM request_confirmation.
* import selected, confirm action
IF p_imp = 'X'.
* build message text for popup
CONCATENATE 'Data for table'
tabname
'will be imported' INTO w_text1 SEPARATED BY space.
* check if delete existing selected, and change message text
IF p_clear = ' '.
w_text2 = 'and appended to the end of existing data'.
ELSE.
w_text2 = 'Existing Data will be deleted'.
ENDIF.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = 'N'
textline1 = w_text1
textline2 = w_text2
titel = 'Confirm Import of Data'
cancel_display = ' '
IMPORTING
answer = answer
EXCEPTIONS
OTHERS = 1.
ELSE.
* export selected, set answer to yes so export can continue
answer = 'J'.
ENDIF.
ENDFORM.
* FORM EXECUTE_PROGRAM_FUNCTION *
FORM execute_program_function.
PERFORM build_file_name.
CLEAR: q_return,err_flag.
IF p_imp = 'X'.
PERFORM check_file_exists.
CHECK err_flag = ' '.
PERFORM func_import.
ELSE.
PERFORM func_export.
ENDIF.
ENDFORM.
* FORM BUILD_FILE_NAME *
FORM build_file_name.
MOVE path TO winfile.
WRITE '' TO winfile+30.
WRITE tabname TO winfile+31.
WRITE '.TAB' TO winfile+61(4).
CONDENSE winfile NO-GAPS.
ENDFORM.
* FORM CHECK_FILE_EXISTS *
FORM check_file_exists.
CALL FUNCTION 'WS_QUERY'
EXPORTING
filename = winfile
query = 'FE'
IMPORTING
return = q_return
EXCEPTIONS
OTHERS = 1.
IF syst-subrc NE 0 OR q_return NE 1.
err_flag = 'X'.
ENDIF.
ENDFORM.
* FORM func_export *
FORM func_export.
CLEAR itab. REFRESH itab.
APPEND 'PROGRAM SUBPOOL.' TO itab.
APPEND 'FORM DOWNLOAD.' TO itab.
APPEND 'DATA: BEGIN OF IT_TAB OCCURS 0.' TO itab.
CONCATENATE 'INCLUDE STRUCTURE'
tabname
'.' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'DATA: END OF IT_TAB.' TO itab.
CONCATENATE 'SELECT * FROM'
tabname
'INTO TABLE IT_TAB.' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'CALL FUNCTION ''WS_DOWNLOAD''' TO itab.
APPEND 'EXPORTING' TO itab.
CONCATENATE 'filename = ' ''''
winfile '''' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'filetype = ''DAT''' TO itab.
APPEND 'TABLES' TO itab.
APPEND 'DATA_TAB = IT_TAB.' TO itab.
APPEND 'DESCRIBE TABLE IT_TAB LINES sy-index.' TO itab.
APPEND 'FORMAT COLOR COL_NORMAL INTENSIFIED OFF.' TO itab.
APPEND 'WRITE: /1 syst-vline,' TO itab.
APPEND '''EXPORT'',' TO itab.
APPEND '15 ''data line(s) have been exported'',' TO itab.
APPEND '68 syst-index,' TO itab.
APPEND '80 syst-vline.' TO itab.
APPEND 'ULINE.' TO itab.
APPEND 'ENDFORM.' TO itab.
GENERATE SUBROUTINE POOL itab NAME zname.
PERFORM download IN PROGRAM (zname).
ENDFORM.
* FORM func_import *
FORM func_import.
CLEAR itab. REFRESH itab.
APPEND 'PROGRAM SUBPOOL.' TO itab.
APPEND 'FORM UPLOAD.' TO itab.
APPEND 'DATA: BEGIN OF IT_TAB OCCURS 0.' TO itab.
CONCATENATE 'INCLUDE STRUCTURE'
tabname
'.' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'DATA: END OF IT_TAB.' TO itab.
APPEND 'DATA: BEGIN OF IT_TAB2 OCCURS 0.' TO itab.
CONCATENATE 'INCLUDE STRUCTURE'
tabname
'.' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'DATA: END OF IT_TAB2.' TO itab.
APPEND 'CALL FUNCTION ''WS_UPLOAD''' TO itab.
APPEND 'EXPORTING' TO itab.
CONCATENATE 'filename = ' ''''
winfile '''' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'filetype = ''DAT''' TO itab.
APPEND 'TABLES' TO itab.
APPEND 'DATA_TAB = IT_TAB.' TO itab.
IF p_clear = 'X'.
CONCATENATE 'SELECT * FROM'
tabname
'INTO TABLE IT_TAB2.' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'LOOP AT IT_TAB2.' TO itab.
CONCATENATE 'DELETE'
tabname
'FROM IT_TAB2.' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'ENDLOOP.' TO itab.
APPEND 'COMMIT WORK.' TO itab.
ENDIF.
APPEND 'LOOP AT IT_TAB.' TO itab.
CONCATENATE 'MODIFY'
tabname
'FROM IT_TAB.' INTO w_line SEPARATED BY space.
APPEND w_line TO itab.
APPEND 'ENDLOOP.' TO itab.
APPEND 'DESCRIBE TABLE IT_TAB LINES sy-index.' TO itab.
APPEND 'FORMAT COLOR COL_NORMAL INTENSIFIED OFF.' TO itab.
APPEND 'WRITE: /1 syst-vline,' TO itab.
APPEND '''IMPORT'',' TO itab.
APPEND '15 ''data line(s) have been imported'',' TO itab.
APPEND '68 syst-index,' TO itab.
APPEND '80 syst-vline.' TO itab.
APPEND 'ULINE.' TO itab.
APPEND 'ENDFORM.' TO itab.
GENERATE SUBROUTINE POOL itab NAME zname.
PERFORM upload IN PROGRAM (zname).
ENDFORM.
* Form CHECK_SYSTEM
* Check users workstation is running
* WINDOWS 95, or WINDOWS NT.
* OS/2 uses 8.3 file names which are no good for
* this application as filenames created are 30 char
* same as table name.
* You could change the logic to only use the first 8 chars
* of the table name for the filename, but you could possibly
* get problems if users had exported already with a table
* with the same first 8 chars.
* As an alternate method you could request the user to input
* the full path including filename and remove the logic to
* build the path using the table name.
FORM check_system.
CALL FUNCTION 'WS_QUERY'
EXPORTING
query = 'WS'
IMPORTING
return = winsys.
IF winsys NE 'WN32_95'.
WRITE: 'Windows NT or Windows 95/98 is required'.
EXIT.
ENDIF.
ENDFORM. " CHECK_SYSTEM
* FORM PROCESS_TOP_OF_PAGE *
FORM process_top_of_page.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
ULINE.
CONCATENATE syst-sysid
syst-saprl
syst-host INTO w_system SEPARATED BY space.
WRITE : AT /1(syst-linsz) w_system CENTERED.
WRITE : AT 1 syst-vline, syst-uname.
syst-linsz = syst-linsz - 11.
WRITE : AT syst-linsz syst-repid(008).
syst-linsz = syst-linsz + 11.
WRITE : AT syst-linsz syst-vline.
LOOP AT textpool_tab WHERE id EQ 'R'.
WRITE : AT /1(syst-linsz) textpool_tab-entry CENTERED.
ENDLOOP.
WRITE : AT 1 syst-vline, syst-datum.
syst-linsz = syst-linsz - 11.
WRITE : AT syst-linsz syst-tcode(004).
syst-linsz = syst-linsz + 11.
WRITE : AT syst-linsz syst-vline.
LOOP AT textpool_tab WHERE id EQ 'T'.
WRITE : AT /1(syst-linsz) textpool_tab-entry CENTERED.
ENDLOOP.
WRITE : AT 1 syst-vline, syst-uzeit.
syst-linsz = syst-linsz - 11.
WRITE : AT syst-linsz 'Page', syst-pagno.
syst-linsz = syst-linsz + 11.
WRITE : AT syst-linsz syst-vline.
ULINE.
FORMAT COLOR COL_HEADING INTENSIFIED OFF.
LOOP AT textpool_tab WHERE id EQ 'H'.
WRITE : AT /1(syst-linsz) textpool_tab-entry.
ENDLOOP.
ULINE.
ENDFORM.
if it helps you reward with points.
regards,
venu
regards,
venu. -
How to upload Excel data in Ztables fastly & easily.
Dear ALL,
I want to compare material codes in 2 different excel sheets.
I have downloaded output from 2 different SQVI into 2 different excel sheets.
Now I want to compare these 2 sheets to get matching codes or unmatching codes.
I can use VLOOKUP in excel also. But How can I make use of ABAP by downloading these excel data in 2 different Ztables and compare these 2 tables with some user defined TC (transaction code) ?
For this activity How to upload Excel data(2 sheets) in 2 Ztables fastly & easily ?
Is there any method other than SCAT , BDC and LSMW ???
Or which is best method in above ?
Pl' reply.
Thanks.Have a look at the program
*: Description :
*: This is a simple example program to get data from an excel :
*: file and store it in an internal table. :
*: Author : www.sapdev.co.uk, based on code from Jayanta :
*: SAP Version : 4.7 :
REPORT zupload_excel_to_itab.
TYPE-POOLS: truxs.
PARAMETERS: p_file TYPE rlgrap-filename.
TYPES: BEGIN OF t_datatab,
col1(30) TYPE c,
col2(30) TYPE c,
col3(30) TYPE c,
END OF t_datatab.
DATA: it_datatab type standard table of t_datatab,
wa_datatab type t_datatab.
DATA: it_raw TYPE truxs_t_text_data.
At selection screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
*START-OF-SELECTION.
START-OF-SELECTION.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_FIELD_SEPERATOR =
i_line_header = 'X'
i_tab_raw_data = it_raw " WORK TABLE
i_filename = p_file
TABLES
i_tab_converted_data = it_datatab[] "ACTUAL DATA
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.
END-OF-SELECTION.
END-OF-SELECTION.
LOOP AT it_datatab INTO wa_datatab.
WRITE:/ wa_datatab-col1,
wa_datatab-col2,
wa_datatab-col3.
ENDLOOP.
Message was edited by:
K N REDDY -
How to upload Excel file in BI using function module in abap program
How to upload Excel file in BI using function module in abap program?
Hi Anuj,
To upload the file , you can try a standard program "RSEPSFTP" .
while you execute the program , a selection screen appears in which the inputs should be give as
RFC destination - The target server name
FTP command- PUT
local file - your file name
local directory - path of your local file
remote file - your target file name
remote directory - where it has to be stored
Hope this is useful for you
Thanks & regards
Anju -
How to upload the file from website into R/3
Dear Experts,
I want to post the data in r/3 using bdc.but flat file is available in some website for eg.'www.sap.com'.how to retrieve the flat file from the website and how to upload the data from website to r/3.
It is very urgent please help me.
Thanks & Regards,
Ashok.Hi Ashok,
We cannot directly pulled data from website. we need to activate webservices and rfcs. Better you could asked to your Basis guy that he knows or not. If not then do sdn you will get the appropriate answer. I can only say that its possible and we can download from website.
Regds,
Rakesh
Maybe you are looking for
-
With dynamic CreateViewObject How To "Navigate N rows at a time using DataTags" fails
I have worked with the example on this link: http://otn.oracle.com/docs/products/jdev/howtos/jsp/traverse_n.ht ml It works fine in case I am using the View Object created in the Package as the example is using. However, this sample does not navigate;
-
I think there is a bug in my BB 9650
I have a Blackberry 9650 which I have been using from quite a long time now, but suddenly have started facing challneges. I phone is auto typing nmnmnmmmnnnnn continuously. It is not letting me access anything. Do not know what to do, can somebody he
-
Hi! How do I desencrypt using the dbms_obfuscation_toolkit with the MD5 algorithm? This is my test of encryptation: ora817 >> DECLARE 2 -- 3 l_String VARCHAR2(255) ; 4 -- 5 BEGIN 6 -- 7 dbms_obfuscation_toolkit.MD5 (
-
I've tried to launch iPhoto '09 and it shows as open in the top menu bar, the light is under the icon on the dock, but the program doesn't open?
-
Bezigon tool (or function)
A frequent function in vector tools is to draw a straight line and, while holding the mouse, drag the point to the desired position before dropping and fixing it. (unlike the dragging of the pen tool that modifies the handles of the point) Freehand's