Query filter selection list flat file
I know that when using a "multiple single value" variable a user can paste or upload a text file of values BUT...
is it possible to use a text file to create a query FILTER value list?
(I mean in the query designer not at query run-time or in a workbook)
thanks
oh i just now see that with BI 7.0 you can right click on the right side of a filter selection and choose "Upload Selection"
Similar Messages
-
Query extraction to a flat file
We have a requirement to extract the query result and send it as a flat file to a different system. The query is created on a multi provider and the key figures have lot of restrictions. We currently use RSCRM_BAPI for this. Would like to know if there is a better options, if any one has used it.
Thanks,
VJ SudharsanHi,
It might help you:
Program to run query and save to flat file
Best regards,
Eugene -
Impact of selecting "Removing Query from Selection List" in 2 channels.
HI All ,
I have customized a query in one channel (My Agreements and Contract Documents query in Master Agreements List channel) and have removed the standard query from the channel by checking the "Remove Query from Selection List" and introduced my custom query in that query group .
But it resulted in break in chain for "Master Agreements" link in "Contracts To Do List" channel as the link was pointing to standard "My Agreements and Contract Documents" query and is displaying "The query can not be executed. Contact your system administrator" when ever I click on that.
Any pointers on how to overcome above scenario wud be gr8!
Regards,
UdayHi Uday,
In order for To Do List channel to work, the query definition should be in the Master Agreement List query group. Do you still want the standard query in the To Do List? If so, you would have to leave it on the Query Group as To Do list is pointing to it. May be change the display name of the query so you can differentiate between the 2 queries. The other option is change the To Do channel to point to the custom query.
Regards,
Vikram -
Saving query results to a flat file
Hello Experts!
We have a very specific issue on our current project and I would like to know if any of you have ever done something similar. We are taking query results from BW (after complex calculations, some based on SY-DATE) and saving them to flat files to transfer to a SQL database structure on the Enterprise Portal. From here, the portal team renders the information into more "static" dashboards that include mouse over features and even limited drilldown (i.e. no matter where a user clicks the report always drills down on profit center)
There are many reasons why the model is set up as such (mostly training of executive level end users), and even though it doesn't mesh with the idea that BW could do this work on its own, we have to work with what we have.
We have come up with 3 possible ways to save this data to flat files and hopefully someone can tell us which might be the most effective.
1.) Information Broadcasting. If we broadcast XML files to the portal, will the portals team be able to read that data into a SQL database? Is there another way to use broadcasting to create and send a flat file to specific location?
2.) RSCRM_BAPI. This transaction seems to not support texts.
3.) Open Hub. In order to get the open hub to work, we first have to save all of our query results to direct write data store objects using APD. (calculations based on current date, for example, would require daily full loads to the underlying data providers otherwise.)
What is the best way to accomplish this? Is information broadcasting capable of doing this?
Thanks!Hi Adam,
Do you have to use flat files to load the information to a SQL database? (if so maybe someone else has a suggestion on which way would be the best).
I try to stay away from flat file uploads as there is a lot of manual work involved. May I suggest setting up a connection to your SQL table in the DBCON table and then writing a small abap program to push data into the SQL database (which you can automate).
1) Use APD to push data into a table within BW.
2) Go to transaction SM30 > table DBCON and setup a new entry specifying the conncection parameters to your SQL database.
3) In SE38 Write an ABAP program along the folloing lines (assuming the connection you set in DBCON is named conn1:
data: con_name like dbcon-con_name
con_name = 'conn1'.
exec sql.
set connection :con_name
endexec.
****have a select statement which reads data from your table which the data is saved from the APD into an internal table**********
****loop on the internal table and have a SQL insert statement to insert the records into the SQL table as below******
exec sql.
insert into <SQL TABLE> (column names seperated by ,)
values (column names of the internal table seperated by ,) if the internal table is named itab the columns have to be specified as :itab-column1
If you decide to take this approach you may find more info on DBCON and the process in sdn. Good Luck!
endexec. -
Apex 4.2
Two Tables
SITES
Site_id (pk)
Site_name
Date
ACTIVATION
Activation_id (pk)
Activation_date
Deactivation_date
Site_id (fk)
* I have a report based on the ACTIVATION table. Upon clicking an edit link on any row of the report, it takes you to a form to edit the information. The form allows you to edit the Site_id. The Site_id is represented as a select list with the following LOV query:
SELECT SITE_NAME, SITE_ID
FROM SITES
* This select list gives me all of the site_names, however, I want to filter this select list by only showing those sites that are not in the report. All of the site names are as follows:
Maryland
Los Angeles
Natchez
Bakersfield
Austin
The report has rows:
Activation ID Site Name Activation Date Deactivation Date
1 Natchez 3/11/2013
2 Los Angeles 5/27/2020
I would like for the list to only display the ones that are not in the report, i.e. Austin, Bakersfield, Maryland.
I have tried to write a NOT IN query. When I click an edit link from the report to navigate to the form, the select list shows the list of entries that I desire, however, the row that I clicked shows the id of the Site Name instead of the actual name. I'm not sure where my error is. I hope all this makes sense. Thanks for your help in advance. Oh, and my query that I wrote is as follows:
SELECT SITE_NAME, SITE_ID
FROM SITES
WHERE SITE_ID NOT IN (SELECT SITE_ID
FROM ACTIVATION
WHERE this = that)Hi,
This is because the query is excluding the current site you are trying to modify since it is actually in the report.
You can include in your query:
or site_id = :Pxx_SITE_ID
Where Pxx_SITE_ID is the item holding the site_id value and xx is your page number.
Thank you,
Erick -
I have a search form with multiple search list. When the user selects an option from the search list I want my other select list to filter based on the first dropdown option selected.
Web App name "Listings"
First Dropdown list is "Animal" - option 1 "Elk", option 2 "Deer", Option 3 "Bear".
Second Dropdown list is "City" - option 1 "Steamboat", option 2 "Brush", Option 3 "Strasburg".
From the first dropdown list the user would choose animal. I'm trying to accomplish the second dropdownlist to refresh and only display what City the animal would reside in. Can this be done? How would one do this?then v_where_clause := v_where_clause || c_isnull;If the parameter is not supplied then are you sure you want to match to null?
Why not something like:
if in_customer_id is not null then
c_where_clause := c_where_clause||' WHERE customer_id = :customer_id';
else
c_where_clause := c_where_clause||' WHERE 1=1 or :customer_id is null';
end if;
if in_account_no is not null then
c_where_clause := c_where_clause||' AND account_no = :account_no'
else
c_where_clause := c_where_clause||' AND 1=1 or :account_no is null';
end if;Then your list of values in the using clause is always constant.
This does get complicated if your in parameters are used multiple times in different ways throughout the query you are building up.
Ben -
How to create Dynamic Selection List containg file names of a directory?
Hi,
I need a Selection List with a Dynamic List of Values containing all file names of a particular directory (can change through the time).
Basically, I need an Iterator over all file names in a directory, which could be used for Selection List in a JSF form.
This iterator has nothing to do with a database, but should get the names directly from the file system (java.io.File).
Can anybody tell me how to create such an iterator/selection list?
I am working with JDeveloper 10.1.3.2, JSF and Business Services.
Thank you,
IgorCreate a class like this:
package list;
import java.io.File;
public class fileList {
public fileList() {
public String[] listFiles(){
File dir = new File("c:/temp");
String[] files = dir.list();
for (int i = 0; i < files.length; i++) {
System.out.println(files);
return files;
Right click to create a data control from it.
Then you can drag the return value of the listFiles method to a page and drop as a table for example.
Also note that the Content Repository data control in 10.1.3.2 has the file system as a possible data source. -
Tricky SQL query to DUMP to flat file
Hi All,
I have used UTL file utility before to dump table data into a comma seperated file but this time I have a tricky problem.
I have a table called customers with the following fields
work_order_no, customer_no, contract_start_date, title, Name, first_name, street, street_no, bank_code, name, liason_name
and have a products table with following fields
work_order_number, material_type, material_number, qty
1. I need to write the customer details + product details of the customer into a comma seperated file as below
A
1001,
1234,
12.01.2004,
Mr. Dr.,
Alphs,
Thomas,
my street,
12,
1112,
Barclays,
Mr. Dr. Alphs Thomas,
<EOH> - is a fixed
1001,
M,
12,
1,
<EOL> is fixed
1001,
M,
12,
1,
<EOL> is fixed
1001,
M,
12,
1,
<EOF> is fixed
4 - total number of records
1 - total number of A type of records(in the first position
How do i write a Pl/Sql code which can be called from command prompt.
Thanks in advanceYou can try this out and see if it works :
CURSOR to fetch the customers data
Loop
- Use a string to concatenate the cursor variables
- Use chr(10) to print the columns in seperate lines
i.e. lResult := x.work_order_no || ',' || chr(10)
|| x.customer_no || ',' || chr(10)
|| x.contract_start_date || ',' || chr(10)
|| x.liason_name || ',' || chr(10)
- Use Utl_File to write the formatted string to
the output file
- Use Utl_File to write constant '<EOH>' to the
output file
- Get all product details
- For each product details
Loop
lResult := x1.material_type || ',' || chr(10)
|| x1.material_number || ',' || chr(10)
|| x1.Qty || ',' || chr(10)
- Use Utl_File to write the formatted
string to the output file
- Use Utl_File to write constant '<EOL>' to
the output file
End Loop
End Loop
- Use Utl_File to write constant '<EOF>' to the output
file
- Use Utl_File to write counters to the output file
You can write the code in a PL/SQL script file called a.sql and save it on the server directory 'c:\a.sql'.
To run from the command prompt type:
c:\> sqlplus userid/pwd@connectstring @c:\a.sql
Hope this helps.
-- Shailender Mehta -- -
Select list filter in a tabular form problem
Hello everyone:
I need to filter a list in a tabular form, depend on another column value in the same row of the Tabular Form
Try using the syntax *#COLUMN#* in the query of select list but did not work.
This is my query
SELECT nombre_respuesta, cod_respuesta
FROM enc_respuesta
WHERE cod_pregunta = #COD_PREGUNTA#There is another way I can refer to the value of a column in the same row?
regards
GerardThank you so much for the quick response saved my life!.
For future reference let examples of the use of APEX_UTIL.SAVEKEY_VC2 and APEX_UTIL.KEYVAL_VC2
This is the query of the Tabular Form
SELECT den.cod_encuesta,
den.cod_det_encuesta,
den.cod_pregunta,
pre.nombre_pregunta,
den.respuesta,
den.observaciones,
APEX_UTIL.SAVEKEY_VC2(den.cod_pregunta) codpreg
FROM enc_det_encuesta den, enc_pregunta pre
WHERE den.cod_pregunta = pre.cod_pregunta
AND den.cod_encuesta = :P6_COD_ENCUESTAThis is the query "Select list"
SELECT nombre_respuesta, cod_respuesta
FROM enc_respuesta
WHERE cod_pregunta = APEX_UTIL.KEYVAL_VC2regards
Gerard -
Select flat file name using routine
Hi experts!
I am trying to write a routine in the infopackage for flat file extraction, which will select the flat file automatically according to the date. I need to load always the file of the previous week. Please help me correcting the code. The file name is: DatAuftragsbestandSeiten_W(number of week).fix
For example: DatAuftragsbestandSeiten_W16.fix
Thank you for your help!
program filename_routine.
Global code
$$ begin of global - insert your declaration only below this line -
Enter here global variables and type declarations
as well as additional form routines, which you may call from the
main routine COMPUTE_FLAT_FILE_FILENAME below
*TABLES: ...
DATA: ...
DATA: Str1 value '/strans/appl/anzeigen_bw/DatAuftragsbestandSeiten_W',
Str3 value '.fix'.
DATA: iweek(2).
call function 'WEEKNR_GET'
EXPORTING
DATE = sy-datum
IMPORTING
WEEK+4(2) = iweek.
iweek = iweek - 1.
$$ end of global - insert your declaration only before this line -
form compute_flat_file_filename
using p_infopackage type rslogdpid
p_datasource type rsoltpsourcer
p_logsys type rsslogsys
changing p_filename type RSFILENM
p_subrc like sy-subrc.
$$ begin of routine - insert your code only below this line -
This routine will be called by the adapter,
when the infopackage is executed.
p_filename =
*....Concatenate str1 iweek str3 into p_filename.
p_subrc = 0.
$$ end of routine - insert your code only before this line -
endform.hi Doris,
try
in global routine
data : l_week type SCAL-WEEK,
i_week(2).
in form compute_...
data : Str1 type string,
Str3 type string.
str1 = '/strans/appl/anzeigen_bw/DatAuftragsbestandSeiten_W'.
str3 = '.fix'.
call function 'DATE_GET_WEEK'
exporting
date = sy-datum
importing
week = l_week.
i_week = l_week+4(2).
i_week = i_week - 1.
if strlen( i_week ) = 1.
concatenate str1 '0' i_week str3 into p_filename.
else.
concatenate str1 i_week str3 into p_filename.
endif.
hope this helps. -
Re-arrange the flat file out put in APD
Hi Guys,
I am loading data in APD,soruce is Query and target is Flat file.i want to re-arrange the out put file.
Let me know what are the possible ways to re-arrange the columns in the out put flat file.
Regards,
JayapalThere are three ways to do this:
1. Use Hide or Rename Columns (Projections) under Transformations in between the query and the flat file (recommended method)
Under the field selection tab..transfer the fields to the right pane in the order you wish to view thwm in.
2.Drag and drop a routine
Go to source fields tab
Move the entries in the right to the bottom left 'Source Fields' pane.
Then go to the Target field tab.
Right Click on the row and click unfreeze columns
Now you can drag & Drap and re-arrange the fields.
Insert the routine in between query and Flat file
3. Change the order of the fields in the Query Definition( Not Recommended)
Cheers! -
Hi I have Oracle table as source which has about 150 Columns and i have to load the data into flat file. Is there any way we can get the column names instead of
manually entering all the column names.
ThanksHi!
You can do this query for get the columns name and make a flat file with the "Append" option and later you can do your query for populate the flat file
select column_name from user_col_comments where table_name like 'YOUR_TABLE_NAME' -
Select list null value issue - for filtering the tabular form report
hello,
I have a tabular form created on emp table and in the table their are entries for the employees who don't have a location, like it is null for some of the employees.
Now I have created a select list item - for filtering the results based on location.
my select query for select list item is
select distinct location_name d,location_id r from emp order by 1
-- so my select list contains all the distinct location_name including the null on my tabular form.
so based on the selelcted value(in the select list), I am able to filter the results in my tabular form.
but the thing is that when i try to select an null value from my select list - i am not able to filter my report - like its displaying all the records, its not filtering.
can anyone help me out with this.
thanks.Hi
Try below select for LOV
select distinct nvl(location_name,'No Location') d,nvl(location_name,'No Location') r from emp order by 1 And then change tabular from select where clause also use nvl(location_name,'No Location') like
SELECT *
FROM emp
WHERE nvl(location_name,'No Location') = :Px_YOUR_ITEMBr, Jari -
Not able to display flat file's error line in output
The below Source Code is BDC for XD01 (update Customer Master Record) in CALL TRANSACTION method. This program is written in call transaction method cause as per users requirement, user wants error log to be printed as soon as the BDC process finished in the background mode.
When you execute this below program it will show a selection screen from where you can select your flat file from system.
After executing this code show output like below as soon as it finished processing the FLAT file.
1. Customer Update Summary
2. Successful record with customer number and name.
3. Error Records with 'record number' and 'reason for error'
(For testing you just have to copy-paste-save-active the source code)
And I have encountered an issue over here in 3rd section-Record Number of Error Records.
The Record Number is for display the line number of that flat file line which in which error has occurred.
The Record Number Entries showing only 0 instead of showing line number of error entry .
I have used Function Module FORMAT_MESSAGE to capture the errors. But not able to display line number of that flat file which is containing error.
So please suggest me what changes I should make in below source code to get proper output.
Flat file for your R&D
1000 1000 10 10 0001 Company Chobey & Group1N Choubey Amit Choubey New Alipore Road Habijabi Apartment Rastar Dhra 777777 kolkata 777777 kolikata howrah 777777 IN WB 1111111111 2222222222 3333333333 4444444444 5555555555 6666666666 0700 EAST 02 01 1060003 A1 Z1 ZZ13 CALS 1 A 10 1
1000 1000 10 10 0001 Company Chobey & Group2N Choubey Amit Choubey New Alipore Road Habijabi Apartment Rastar Dhra 777777 kolkata 777777 kolikata howrah 777777 IN WB 1111111111 2222222222 3333333333 4444444444 5555555555 6666666666 0700 EAST 02 01 1060003 A1 Z1 ZZ13 CALS 1 A 10 1
1000 1000 10 10 0001 Company Chobey & Group3N Choubey Amit Choubey New Alipore Road Habijabi Apartment Rastar Dhra 777777 kolkata 777777 kolikata howrah 777777 IN WB 1111111111 2222222222 3333333333 4444444444 5555555555 6666666666 0700 EAST 02 01 1060003 A1 Z1 ZZ13 CALS . A 10 1
1000 1000 10 10 0001 Company Chobey & Group4N Choubey Amit Choubey New Alipore Road Habijabi Apartment Rastar Dhra 777777 kolkata 777777 kolikata howrah 777777 IN WB 1111111111 2222222222 3333333333 4444444444 5555555555 6666666666 0700 EAST 02 01 1060003 A1 Z1 ZZ13 CALS 1 A .. 1
1000 1000 10 10 0001 Company Chobey & Group5N Choubey Amit Choubey New Alipore Road Habijabi Apartment Rastar Dhra 777777 kolkata 777777 kolikata howrah 777777 IN WB 1111111111 2222222222 3333333333 4444444444 5555555555 6666666666 0700 EAST 02 01 1060003 A1 Z1 ZZ13 CALS 1 A 10 1
And Source Code
*& Report Z_TEST_SAI *
REPORT Z_TEST_SAI no standard page heading line-size 255.
TYPES: BEGIN OF t_cust,
bukrs like rf02d-bukrs,
vkorg like rf02d-vkorg,
vtweg like rf02d-vtweg,
spart like rf02d-spart,
ktokd like rf02d-ktokd,
anred like kna1-anred,
name1 like kna1-name1,
sortl like kna1-sortl,
name2 like kna1-name2,
name3 like kna1-name3,
name4 like kna1-name4,
stras like kna1-stras,
pfach like kna1-pfach,
ort01 like kna1-ort01,
pstlz like kna1-pstlz,
ort02 like kna1-ort02,
pfort like kna1-pfort,
pstl2 like kna1-pstl2,
land1 like kna1-land1,
regio like kna1-regio,
telx1 like kna1-telx1,
telf1 like kna1-telf1,
telfx like kna1-telfx,
telf2 like kna1-telf2,
teltx like kna1-teltx,
stceg like kna1-stceg,
cityc like kna1-cityc,
lzone like kna1-lzone,
niels like kna1-niels,
kukla like kna1-kukla,
akont like knb1-akont,
fdgrv like knb1-fdgrv,
vzskz like knb1-vzskz,
zterm like knb1-zterm,
vkbur like knvv-vkbur,
versg like knvv-versg,
vsbed like knvv-vsbed,
ktgrd like knvv-ktgrd,
taxkd like knvi-taxkd,
END OF t_cust.
TYPES: BEGIN OF t_sucrec,
cnum TYPE kna1-kunnr, "Customer Number
cnam TYPE kna1-name1, "Customer Name
END OF t_sucrec.
TYPES: BEGIN OF t_errrec,
* lineno TYPE i, "Line Number
lineno TYPE string,
message TYPE string, "Error Message
END OF t_errrec.
DATA: v_file TYPE string, "Variable for storing flat file
it_cust TYPE STANDARD TABLE OF t_cust, "Internal table of Customer
wa_cust LIKE LINE OF it_cust, "Workarea of Internal table it_cust
it_sucrec TYPE STANDARD TABLE OF t_sucrec, "Internal table of Success records
wa_sucrec LIKE LINE OF it_sucrec, "Workarea of Internal table it_sucrec
it_errrec TYPE STANDARD TABLE OF t_errrec,
wa_errrec LIKE LINE OF it_errrec,
it_bdctab LIKE bdcdata OCCURS 0 WITH HEADER LINE, "Internal table structure of BDCDATA
it_messagetab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE, "Tracing Error Messages
v_date LIKE sy-datum, "Controlling of session date
v_index LIKE sy-index, "Index Number
v_totrec TYPE i, "Total Records
v_errrec TYPE i, "Error Records
v_sucrec TYPE i, "Success Records
v_sesschk TYPE c. "Session maintenance
*& SELECTION-SCREEN
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001 NO INTERVALS.
PARAMETERS: p_file TYPE rlgrap-filename. "rlgrap-filename is a predefined structure
SELECTION-SCREEN: END OF BLOCK blk1.
SELECTION-SCREEN: BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002 NO INTERVALS.
PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'N',
p_update LIKE ctu_params-updmode DEFAULT 'A'.
SELECTION-SCREEN END OF BLOCK blk2.
*& INITIALIZATION
INITIALIZATION.
v_date = sy-datum - 1.
*& AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
FIELD_NAME = ' '
IMPORTING
file_name = p_file.
*& START-OF-SELECTION
START-OF-SELECTION.
v_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = it_cust
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 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.
v_index = sy-index.
LOOP AT it_cust INTO wa_cust.
perform bdc_dynpro using 'SAPMF02D' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KTOKD'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02D-BUKRS'
wa_cust-bukrs.
perform bdc_field using 'RF02D-VKORG'
wa_cust-vkorg.
perform bdc_field using 'RF02D-VTWEG'
wa_cust-vtweg.
perform bdc_field using 'RF02D-SPART'
wa_cust-spart.
perform bdc_field using 'RF02D-KTOKD'
wa_cust-ktokd.
perform bdc_dynpro using 'SAPMF02D' '0110'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-TELTX'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-ANRED'
wa_cust-anred.
perform bdc_field using 'KNA1-NAME1'
wa_cust-name1.
perform bdc_field using 'KNA1-SORTL'
wa_cust-sortl.
perform bdc_field using 'KNA1-NAME2'
wa_cust-name2.
perform bdc_field using 'KNA1-NAME3'
wa_cust-name3.
perform bdc_field using 'KNA1-NAME4'
wa_cust-name4.
perform bdc_field using 'KNA1-STRAS'
wa_cust-stras.
perform bdc_field using 'KNA1-PFACH'
wa_cust-pfach.
perform bdc_field using 'KNA1-ORT01'
wa_cust-ort01.
perform bdc_field using 'KNA1-PSTLZ'
wa_cust-pstlz.
perform bdc_field using 'KNA1-ORT02'
wa_cust-ort02.
perform bdc_field using 'KNA1-PFORT'
wa_cust-pfort.
perform bdc_field using 'KNA1-PSTL2'
wa_cust-pstl2.
perform bdc_field using 'KNA1-LAND1'
wa_cust-land1.
perform bdc_field using 'KNA1-REGIO'
wa_cust-regio.
perform bdc_field using 'KNA1-SPRAS'
'EN'.
perform bdc_field using 'KNA1-TELX1'
wa_cust-telx1.
perform bdc_field using 'KNA1-TELF1'
wa_cust-telf1.
perform bdc_field using 'KNA1-TELFX'
wa_cust-telfx.
perform bdc_field using 'KNA1-TELF2'
wa_cust-telf2.
perform bdc_field using 'KNA1-TELTX'
wa_cust-teltx.
perform bdc_dynpro using 'SAPMF02D' '0120'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-CITYC'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-STCEG'
wa_cust-stceg.
perform bdc_field using 'KNA1-CITYC'
wa_cust-cityc.
perform bdc_field using 'KNA1-LZONE'
wa_cust-lzone.
perform bdc_dynpro using 'SAPMF02D' '0125'.
perform bdc_field using 'BDC_CURSOR'
'KNA1-KUKLA'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNA1-NIELS'
wa_cust-niels.
perform bdc_field using 'KNA1-KUKLA'
wa_cust-kukla.
perform bdc_dynpro using 'SAPMF02D' '0130'.
perform bdc_field using 'BDC_CURSOR'
'KNBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0340'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0360'.
perform bdc_field using 'BDC_CURSOR'
'KNVK-NAMEV(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0210'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-VZSKZ'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNB1-AKONT'
wa_cust-akont.
perform bdc_field using 'KNB1-FDGRV'
wa_cust-fdgrv.
perform bdc_field using 'KNB1-VZSKZ'
wa_cust-vzskz.
perform bdc_dynpro using 'SAPMF02D' '0215'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNB1-ZTERM'
wa_cust-zterm.
perform bdc_dynpro using 'SAPMF02D' '0220'.
perform bdc_field using 'BDC_CURSOR'
'KNB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0230'.
perform bdc_field using 'BDC_CURSOR'
'KNB1-VRSNR'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_dynpro using 'SAPMF02D' '0610'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'BDC_CURSOR'
'RF02D-KUNNR'.
perform bdc_dynpro using 'SAPMF02D' '0310'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-VERSG'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-AWAHR'
'100'.
perform bdc_field using 'KNVV-VKBUR'
wa_cust-vkbur.
perform bdc_field using 'KNVV-WAERS'
'INR'.
perform bdc_field using 'KNVV-KALKS'
'1'.
perform bdc_field using 'KNVV-VERSG'
wa_cust-versg.
perform bdc_dynpro using 'SAPMF02D' '0315'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-VSBED'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-LPRIO'
perform bdc_field using 'KNVV-KZAZU'
'X'.
perform bdc_field using 'KNVV-VSBED'
wa_cust-vsbed.
perform bdc_field using 'KNVV-ANTLF'
'9'.
perform bdc_dynpro using 'SAPMF02D' '0320'.
perform bdc_field using 'BDC_CURSOR'
'KNVV-KTGRD'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVV-BOKRE'
'X'.
perform bdc_field using 'KNVV-KTGRD'
wa_cust-ktgrd.
perform bdc_dynpro using 'SAPMF02D' '1350'.
perform bdc_field using 'BDC_CURSOR'
'KNVI-TAXKD(01)'.
perform bdc_field using 'BDC_OKCODE'
'=VW'.
perform bdc_field using 'KNVI-TAXKD(01)'
wa_cust-taxkd.
perform bdc_dynpro using 'SAPMF02D' '0324'.
perform bdc_field using 'BDC_CURSOR'
'KNVP-PARVW(01)'.
perform bdc_field using 'BDC_OKCODE'
'=UPDA'.
CALL TRANSACTION 'XD01' USING it_bdctab
MODE p_mode
UPDATE p_update
MESSAGES INTO it_messagetab.
IF sy-subrc = 0.
*& reading success records to corresponding internal table
READ TABLE it_messagetab WITH KEY msgtyp = 'S'.
IF sy-subrc = 0.
wa_sucrec-cnum = it_messagetab-msgv1.
wa_sucrec-cnam = wa_cust-name1.
APPEND wa_sucrec TO it_sucrec.
CLEAR wa_sucrec.
ENDIF.
ELSE.
*& reading error records to corresponding internal table
READ TABLE it_messagetab WITH KEY msgtyp = 'E'.
IF sy-subrc = 0.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
id = sy-msgid
no = it_messagetab-msgnr
v1 = it_messagetab-msgv1
v2 = it_messagetab-msgv2
v3 = it_messagetab-msgv3
v4 = it_messagetab-msgv4
IMPORTING
msg = wa_errrec-message.
wa_errrec-lineno = v_index.
*******wa_errrec-lineno = v_index.
*******wa_errrec-message = it_messagetab-msgv1.
APPEND wa_errrec TO it_errrec.
CLEAR wa_errrec.
ENDIF.
ENDIF.
CLEAR : it_bdctab, it_messagetab.
REFRESH: it_bdctab, it_messagetab.
ENDLOOP.
DESCRIBE TABLE it_cust LINES v_totrec.
DESCRIBE TABLE it_errrec LINES v_errrec.
DESCRIBE TABLE it_sucrec LINES v_sucrec.
PERFORM disp_data.
SKIP 2.
IF v_sucrec > 0.
PERFORM disp_success_data.
ENDIF.
SKIP 2.
IF v_errrec > 0.
PERFORM disp_error_data.
ENDIF.
*& Form bdc_dynpro
*# text
*# -->P_0104 text
*# -->P_0105 text
FORM bdc_dynpro USING program
dynpro.
CLEAR it_bdctab.
it_bdctab-program = program.
it_bdctab-dynpro = dynpro.
it_bdctab-dynbegin = 'X'.
APPEND it_bdctab.
ENDFORM. " bdc_dynpro
*& Form bdc_field
*# text
*# -->P_0109 text
*# -->P_IT_cust_LIFNR text
FORM bdc_field USING fnam
fval.
CLEAR it_bdctab.
it_bdctab-fnam = fnam.
it_bdctab-fval = fval.
APPEND it_bdctab.
ENDFORM. " bdc_field
*& Form disp_data
*# text
*# --> p1 text
*# <-- p2 text
FORM disp_data .
ULINE (45).
WRITE : / sy-vline,
12 'FAMD CUSTOMER UPDATE SUMMARY'(004) COLOR 1,
45 sy-vline.
ULINE /(45).
WRITE : / sy-vline,
'Total Records Processed'(007),
28 '=',
30 v_totrec,
45 sy-vline,
/ sy-vline,
'Error Records'(005),
28 '=',
30 v_errrec,
45 sy-vline,
/ sy-vline,
'Successful Records'(006),
28 '=',
30 v_sucrec,
45 sy-vline.
ULINE /(45).
ENDFORM. " disp_data
*& Form disp_success_data
*# text
*# --> p1 text
*# <-- p2 text
FORM disp_success_data .
ULINE (45).
WRITE : / sy-vline,
14 'Successful Records'(012) COLOR 1,
45 sy-vline.
ULINE /(45).
WRITE : / sy-vline ,
'Customer Number'(010) COLOR 2,
17 sy-vline,
25 'Customer Name'(011) COLOR 2,
45 sy-vline.
ULINE /(45).
LOOP AT it_sucrec INTO wa_sucrec.
WRITE: / sy-vline ,
wa_sucrec-cnum,
17 sy-vline,
19 wa_sucrec-cnam,
45 sy-vline.
ENDLOOP.
ULINE /(45).
ENDFORM. " disp_success_data
*& Form disp_error_data
*# text
*# --> p1 text
*# <-- p2 text
FORM disp_error_data .
ULINE (85).
WRITE : / sy-vline,
35 'Error Records'(013) COLOR 1,
85 sy-vline.
ULINE /(85).
WRITE : / sy-vline,
'Record Number'(008) COLOR 2,
sy-vline,
37 'Reason for error'(009) COLOR 2,
85 sy-vline.
ULINE /(85).
LOOP AT it_errrec INTO wa_errrec.
WRITE : / sy-vline,
wa_errrec-lineno,
17 sy-vline,
wa_errrec-message,
85 sy-vline.
ENDLOOP.
ULINE /(85).
ENDFORM. " disp_error_dataWorked out n found the solution
-
Does any one know how to resolve the error while flat file upload
Hey guys, I am so struck with this problem, please do let me know if anyone has any suggestions and ideas.
1. I created three InfoObjects, Material Number, Name and Price,which is a keyfigure and has data type DEC and fixed currency USD.
Material Number is "With Master Data ", "With Text" and i added Name and Price as attributes to that.
2.
After that i created an Application component, and therafter a data source for Master data Attibutes.
Now i select my flat file which is .csv file, in this data source. When I click "Load Example Data", i get all the fields from flat file, but the data type for PRICE changes to FLTP with length 16 instead of remaining DEC.
Does anyone have any idea why on earth is this change of Data type taking place ?
Please do me a favour by answering if you know about this problem. Thanks, appreciate it . Byee. And yeah, m just starting off in SAP so I am a total amateur unlike most of the people here.Am workin on BI 7.0.
Let me put it in another way :
Created Infoobjects: 1) Material No , 2) Material Name 3 ) Price which is the Key Figure
Material No -
has attributes Material Name and Price and " WIth Master Data", With ' Text"
Price: -
data type DEC, fixed currency - USD
After doing things.
Created Application Component:
then, Right Click - Create Data Source,
Selected -- Master Data Attributes
After that from "EXTRACTIO' tab , selected the flat file, which is *.csv
and then in DATA FORMAT - " SEPERATED WITH SEPERATOR"
Then from "PROPOSAL" tab, when i click Load example data, the data from flat file shows up here, but the field PRICE now has Data Type -- " FLTP" and lenght "16"
I hope i was clear enough. thanks
Maybe you are looking for
-
How to create internal table dynamically?
hi all I have a particular internal table in memory area( thru EXPORT TO MEMORY ID ....) how can i create an internal table of this type in another program at runtime ? this internal table need not be a data dictionary type. i.e., i need to create a
-
This is really annoying. The email initially started with me sending to one person. Which we then conversed several times without any issues. I then sent a separate email completely unrelated to someone on a completely different email address, but wh
-
Using CSS I am attempting my first tableless page layout and I am bumping up against a problem I cannot figure out. I am posting this hoping that kind soul out there will take a drive by and tell me what I'm doing wrong. Testing with Firefox and IE6&
-
White screen/page shown after logon to Internet Sales
Hi! We have installed Internet Sales R/3 Edition for B2B and have configured it with XCM according to the documents "CRM Web Application Installation Guide 4.0, SP0" and "Internet Sales R/3 Edition", the latter found on SAP Best Practices. Both Shopa
-
How to create a timer in forms with out using pjc
Any body help me rgarding this matter.. plez..