Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member93896
Active Contributor

Update (August 2014):

Version 3 of the how-to guide and solution has been released. Please see the blog at
https://blogs.sap.com/2014/08/13/how-to-load-a-file-into-bw-integrated-planning-version-3/

Note: The old version 2 is not compatible with SAP BW 7.4 or higher. If you are planning to upgrade to 7.4, you will have to install version 3!

 
Hello Friends,

thanks to your great feedback the updated solution is more robust and provides several enhancements. For example, it is now possible to upload a data directly from a BEx Analyzer workbook without promting the user for a file name. I have also implemented a file download application which closes the circle: Download, change file, upload, done!

Version 2.4 is now available. The new features are described below.

Please read How-to... Load a File into SAP NetWeaver BI Integrated Planning (Part 1) first.

Update: Please check the "known issue" section when upgrading to Enhancement Package 1 for SAP NetWeaver 7.0.
Download

There are two parts to download and another to check afterwards:

Enhancements

The first enhancement allows you to upload the file without prompting the user for selection criteria and a file name. This functionality can be used when you are running BEx Analyzer Workbooks. Save the plan data to a file (for example with VBA), then call the planning sequence for the upload by selecting a corresponding button on your workbook. The file upload will then pick up the file direclty from the PC. No further questions asked. Please see section 4.12 of the how-to paper.

The second enhancement is around the variable selections for the upload. The first version was limited to only single value variables. Now full selection options are available! The following types of characteristic variables are supported: single values, multiple values, intervals, and complex selection options.

Together with the selection options I also implemented support for personalization of the variables. The selection screen is therefore prepopulated with the values that are stored in the personalization (DataStore 0PERS_VAR).

The limitation on InfoObjects in the file format was removed. Now all InfoObjects can be used to define the file format. If the InfoObject is not included in the aggregation level, then it will simply be ignored.
File Download Application

Of course when you can upload files, you also want to download files. Right? The new version includes a file download application. It works very similar to the file upload. On the initial screen you enter the variables - in the example "Planning Version" - and pick a file format for the download. You can select "Text (Tab delimited)", "Text (Fixed length)", or "XML".



When you choose "Download" the system will process the plan data with a planning function and provide a link for downloading the file to the PC. In the log you can see how many records where downloaded.


Further Enhancements

Version 2.3:


  • Support for user exit variables. Variable needs to be of type "characteristic value" and not ready-for-input. The exit is called with i_step = 1.


Version 2.4


  • Support for key figure values with thousand separator. The upload uses the setting from the user profile.


Your Feedback

Please keep your feedback coming. Post your requests for enhancements or ideas for additional features as comments to this blog.

Known development requests:

  • Support for hierarchy node variables (no plans)

  • CSV file format (no plans)

  • Preview of data before save (thinking about it)


Bug Fixes

All previously identified program errors have been fixed in version 2.4 of the solution.

Version 2.1:

  • Included missing HTTP service in transport

  • Disabled variable and file browse fields after selecting "Upload"

  • Fixed incorrect data during merge phase when field conversion is turned on

  • Fixed runtime error CALL_FUNCTION_CONFLICT_GEN_TYP when field conversion is turned on

  • Added automatic conversion of URL parameter to upper case

  • Fixed runtime error when using variables on attributes

  • Fixed a locking issue. Now plan data is properly unlocked after a save or undo.


Version 2.3:


  • Fixed error when variable is restricted to single value but field is not included in file


Version 2.4:


  • Fixed error when uploading key figure values with decimal comma


New bugs:


  • None


Known issues:

  • If you get a syntax error in WDDOONCONTEXTMENU, please update to BI ABAP support package 13 (SAPKB70013). As a workaround, go to SE80, select the Web Dynpro Component ZRSPLF_FILE_UPLOAD, navigate to view FILE_UPLOAD_VIEW and delete method WDDOONCONTEXTMENU manually. Then proceed the same way for Web Dynpro ZRSPLF_FILE_DOWNLOAD.

  • If you have no input variables at all and just exit variables, then the upload with display message "No variables defined for planning sequence. All data will be locked!" However, the exit variables still work and will lock the data properly. Here's how to test it:
    - Start the upload web dynpro
    - Pick a file and select "upload"
    - Start GUI and go to RSPLAN > Locks
    - Check the lock entries for your InfoCube. You should see the locks based on your exit variables.If you want to suppress the message go to SE80 > Web Dynpro ZRSPLF_FILE_UPLOAD > View FILE_UPLOAD_VIEW > Method WDDOMODIFYVIEW and change the following line:
    *     No variables defined for planning sequence
    *     add_message( i_msgty   = 'I' i_message = '043' ).  "<<< delete

  • If you upgrade to Enhancement Package 1 for SAP NetWeaver 7.0, please implement SAP note 1315474 "WD ABAP: Message Area is not visible"


Best,
Marc Bernard
@marcfbe

323 Comments
sap_cohort
Active Contributor
0 Kudos
Dan, Did you ever find a workaround for this?
could you email response to ken@themurrayfamily.org?
former_member93896
Active Contributor
0 Kudos
Hi Marcel,

I tested it again and it work fine (with or without the ? at the beginning of the parameters). Please check SAP note 1332644.

Regards
Marc
Former Member
0 Kudos
Hi Marc,

When I'm entering the values for amount from the planning layout,let's take if the value for amount entered in the layout is 6000.It will be stored in the cube as 60 because the currency HUF  is maintained in the table TCURX with 0 decimal,for which it's internal conversion will take place as amt = 6000 / 10 raise to the power (2 - 0),so amt will be stored as 60 in the cube.

But when displayed in the layout it will be 6000 which is correct.

The same scenario i want to incorporate with file upload.
Actually what is happening, is when i'm loading the amount value as 6000 through upload ,the same amount 6000 will be stored in the cube .So when it is displayed in the layout ,it will be 600000.
according to the conversion as Amt = 6000 * 10 raise to the power (2-0),which is not the case when we are entering the values from the layout as amount value stored in the cube is 60 after  internal conversion as stated above.


Can you please suggest where can i handle it ,while uploading the data in the cube.


Regards,
Indu
former_member93896
Active Contributor
0 Kudos
Hi Indu,

you have to set the parameter "Amount Conversion" to X. See chapter 4.8 in the how-to guide.

Regards
Marc
sap_cohort
Active Contributor
0 Kudos
Hi, this is a good working solution.  We have planners who plan on materials that do not yet exist in our material master data.
Right now the upload just errors if it runs across a material that doesn't exist in 0MATERIAL.

Is there a way to modify or change the upload process so that it creates the materials on the fly as they are uploaded? 

Ideas and suggestions greatly appreciated
Former Member
0 Kudos
hi Marc,

Thanks now it is working absolutely fine in BI - IP.

We also upload the data using BPS file upload,can you suggest how can i replicate the same scenario over there,as it is also behaving in the similar manner as that was of BI IP before.

Regards,
Indu.
former_member93896
Active Contributor
0 Kudos
Hi Indu,

sorry, the amount conversion does not exist for the BPS file upload. You could implement it yourself in function module z_sem_bps_exit_file_load.

Regards
Marc
sap_cohort
Active Contributor
0 Kudos
Hi, This Application somehow automatically populates other Calendar Time Characteristics like 0CALMONTH2, 0CALYEAR, etc..  I would like the upload to populate the Fiscal Time Characteristics as well.  The same way my ABAP code in the normal Transformation DTP upload does.

How can I get this Web Upload to populate my Fiscal Year Characteristics like I do with a regular file upload through the DTP? 
Thanks for any help
Former Member
0 Kudos
Hi Marc,
Thanks for your help and support.It is working fine in BPS now also but the way data is stored in cube using BI IP is different from the one in BPS.
For Example:-
If i'm uploading 6000 as an amount from file upload,the data stored in the cube will be 60 for the amount as per the conversions,but when we are trying to upload through BPS even after being calculated and stored as 60 in XTH_DATA, it is stored as 6000 only in the cube and the same will be displayed in the layout.

Though it resolves our problem of currency but the way data it is stored in the cube is different.

Just want to confirm is it the normal behavior of BPS function modules, or we are missing some settings.
Can you please let me know if i'm missing something.

Regards,
Indu
former_member93896
Active Contributor
0 Kudos
Hi Indu,

you are not using the right code to convert the amounts to the internal format. If 60.00 is in XTH_DATA, then 60.00 will be stored. Please see the wiki for some example code:
https://wiki.sdn.sap.com/wiki/display/Snippets/BW-BPS+File+Upload+with+Amount+Conversion

Regards
Marc
Former Member
0 Kudos
Hi Marc,
Thanks for your help,I implemented in the similar way as you have suggested.But still the behavior of storing the data in the cube is same.

Actually we have different cube for BPS and IP,when we are storing data in the cube built for IP through the layout the value for 6000 will be stored as 60,But when we are storing data in the cube built for BPS through the layout or file upload in both cases it is stored as 6000,which should not be the case.

It is also displayed as 6000 in the layout,which is right but the way it is stored is wrong.

Can suggest something on this behavior.

Regards,
Indu
former_member93896
Active Contributor
0 Kudos
How does the BPS data show up in a BEx query?

Your BPS does not work properly if it stores 6000. Please open a customer message so SAP support can take a look.

Marc
former_member93896
Active Contributor
0 Kudos
Hi Kenneth,

I might have a solution and will contact you via email.

Regards
Marc
Former Member
0 Kudos
it's showing 6000 only in the layout. Thanks for all your help.I'll open a message foe SAP Support.
Regards,
Indu
chris_hamman
Explorer
0 Kudos
Hey Marc, is this solution available as an OSS note?  We would rather apply these updates via the standard OSS note process.

Thanks!!
former_member93896
Active Contributor
0 Kudos
Hello Chris,

this is a quite substantial development that can not be shipped via an SAP Note. Also all objects are in the customer namespace which is not covered by the Notes Assistant. Importing a single transport is therefore the easiest and quickest method to install it.

Regards
Marc
Former Member
0 Kudos
I have infoobjects in my flatfile that are not in my aggregate level but they are not ignored.  For example, the first column in my flatfile is ZCHANNEL but ZCHANNEL is not in my Aggregate Level.  I get the error 'Invalid InfoObject in file format: ZCHANNEL'.
Thanks.
Ryan
former_member93896
Active Contributor
0 Kudos
Ryan,

the message points to the fact that the system can not read the meta data for this InfoObject. Please check that ZCHANNEL is active in transaction RSD1 (You could also run function RSD_IOBJ_GET in transaction SE37 for ZCHANNEL to see if the meta data read works properly).

Regards
Marc
Former Member
0 Kudos
Dear Marc,

Your tool is so useful on ours projects. Thank you.
We wanted to replace URL iview with Webdynpro iview in order to avoid manual changes on server URL during transports.
Looking at this blog, we found how but after looking at notes recommendation we still have Missing planning sequence as URL parameter as error message.
We are in BI 7 EhP1 SP4. Do you have any other requirement to make it works? many thanks.

former_member93896
Active Contributor
0 Kudos
Hi Olivier,

did you check note 1332644? Application parameter should be "planning_sequence=xxx".

Marc
Former Member
0 Kudos
Hi Marc,

Yes we did, after changing iviews parameters, we clicked on invalidate button within SHMM transaction. We still have message "Missing planning sequence as URL parameter (PLANNING_SEQUENCE)".
What I found is that when running iview, within URL text there is no planning_sequence parameter but something like "...templates.iViews.BIIP_Upload?sap-config-mode=true"

I also found on your blog that upload is in version 2.4, is there any way to check we are on correct version?

Any other idea?

Kindest regards
Olivier
former_member93896
Active Contributor
0 Kudos
That url does not look right. Create a new "SAP WebDynpro iView" for ABAP (I just tested it again on 7.01 SP 5 and it works):

iView Name: zrsplf_file_upload
iView ID: zrsplf_file_upload
Master Language: English
System: YOUR_BI_SYSTEM
WebDynproNamespace: sap
WebDynproApplication: zrsplf_file_upload
ClientType: HTML
ApplicationParameter: planning_sequence=YOUR_SEQUENCE
DefinitionType: ABAP

If this does not work , please open a customer message.

Regards
Marc
Former Member
0 Kudos
Hi,

I got the same issue now. Deleted and recreated almost all Ojects again. Nothing helps. When executing the Planning Squence, the system returns wich an error
Planning function File Upload Planning Function ( FILE_UPL ) ended with errors
File Upload: Turn on "Log on with Attached SAPGUI" setting

I'm lost.
Former Member
0 Kudos
I found out myself. Now it is working. Sorry for this spam.

Hint for all others. Check your Filter. Don't just create your own Variables!
dieterzenger
Participant
0 Kudos
Dear Marc,


i have to validate the entered Value of variables. I'm doing this in method "ONACTIONON_UPLOAD". There i want to add an own message using the add_message method, but i do not find the message class you are using here.
e.g. (  add_message( i_msgty   = 'E' i_message = '003' )


Thanks for your help
Dieter
Former Member
0 Kudos
Hi Marc, good morning / evening.

I just implemented two planning functions that run by planning sequence into a WAD template. One for download the Planning content and another one for UPLOAD into Planning. Both files used are CSV format, so I don’t see any problem with that. The issue here is that in both cases it is working fine, but in some cases I get the attached error message (SP15) when uploading the file. We are using BI-IP 7.0.

By what could it be caused?. Thanks in advance!!.

Detailed code sequence:

The following error text was processed in the system HCD : Message incomplete (seriousness, area, number, or exception missing)
The termination type was: ERROR_MESSAGE_STATE
The ABAP call stack was:
Function: BAL_LOG_MSG_ADD of program SAPLSBAL
Function: RSPLFR_SERVICE_LOG_ADD of program SAPLRSPLFR_LOG
Method: LOG_ERRORS of program CL_RSPLFR_CONTROLLER==========CP
Method: EXECUTE_SERVICE of program CL_RSPLFR_CONTROLLER==========CP
Method: EXECUTE_PLSQ of program CL_RSPLFR_CONTROLLER==========CP
Function: RSPLSSE_PLSEQ_EXECUTE of program SAPLRSPLSSE
Method: ONACTIONON_UPLOAD of program /1BCWDY/3SSD22CILSA35Z1SEDBP==CP
Method: IF_WDR_VIEW_DELEGATE~WD_INVOKE_EVENT_HANDLER of program /1BCWDY/3SSD22CILSA35Z1SEDBP==CP
Method: INVOKE_EVENTHANDLER of program CL_WDR_DELEGATING_VIEW========CP
Method: IF_WDR_ACTION~FIRE of program CL_WDR_ACTION=================CP
Former Member
0 Kudos
We raised message but we found a workaround:
using BSP iview instead of SAP WebDynpro iView.

It works very well.

PS: About enhancements, what do you think about adding a button to open web template? this button is hidden in case of parameter is empty, greyed if there isn't any uploaded data and highlighted if file data are successfully uploaded.
Former Member
0 Kudos
Hi Marc
We use this solution to upload files (with ca. 15000 records). The solutions works perfectly if there are no errors.
But if there are errors it takes a long time (several minutes) untile the error messages will appear on the screen. How can we solve the problem. Is it possible that the programm exits after the first error?
Thanks a lot for your help
Sascha
former_member93896
Active Contributor
0 Kudos
Hello Dieter,

sorry for the late reply, I was on my honeymoon. There's no message class. The texts are maintained as text elements of class ZCL_RSPLF_FILE_UPLOAD (in SE24).

Regards
Marc
former_member93896
Active Contributor
0 Kudos
Hello Gerardo,

sorry for the late reply, I was on my honeymoon. The error is caused by the planning function. Please open a customer message and have it forwarded to me so I can debug the problem.

Regards
Marc
former_member93896
Active Contributor
0 Kudos
Hello Sascha,

if there are many messages, the display takes a long time. There's no way to exit after the first error since these are raised by the planning function which runs in one piece.

You can implement a few lines of code to reduce the number of messages but in general it's a problem with the upload file so one (or several) messages are raised per record. So check the file format, etc.

Regards,
Marc
SAP NetWeaver RIG
Former Member
0 Kudos
I have two filters for Company Code and Version

1. If I enter '30' for Company Code and '50' for Version, I get this error message
'You have to enter variables before you execute'.

2. If I enter '0030' for Company Code and '50' for Version, I get this error message
'Errors while executing sequence. Inconsistent input parameter (parameter I_KHANDLE, value 0000).

3. If I enter '0030' for Company Code and '050' for Version, it works.

Can you explain why I get the first two errors? Also, do the filter values have to be zero-filled if the underlying InfoObject have an Alpha Conversion??
Thanks.
Ryan
former_member93896
Active Contributor
0 Kudos
Hi Ryan,

this issue is resolved with a newer version. Please send me an email to get it.

Regards
Marc
Former Member
0 Kudos
If the user enters an incorrect variable value, they get the "You have to enter variables before you execute" error message instead of a clearer message such as "Value xx for variable xxx is invalid".  I am also on v3 of the File Upload.

I have implemented Note 1149504 but I still get the error.

We are on SP17 and I have implemented to following OSS Notes trying to resolve this issue:
1152186
1250076
1121202
1133674
1140808
1146094
1149504
1222910
1264213

Any ideas?
Thanks.
Ryan
Former Member
0 Kudos
Hi Marc,
Can you share any solution you might have to create Master Data on the fly?
Thanks.
Ryan
former_member93896
Active Contributor
0 Kudos
This has nothing to do with the blog. Please post questions like this to the forum.

Check "How to Flexibly Change Characteristic Values and Comments in BI Integrated Planning" http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10d2b273-0e12-2c10-fab3-a34bde559...

Regards
Marc
Former Member
0 Kudos
Hi Marc,

We Implemented the loading of flat file through BEx using the "How to
Load a Flat File in SAP BI Integrated Planning Using BEx" and now,
after the go-live we are experiencing some problems.

During the development phase, we did the following tasks:
- Instead of changing the standard class ZRSPL_FILE_UPLOAD, we created
a new one ZZRSPL_FILE_UPLOAD, deleted the code beneath,
IF_RSPLFA_SRVTYPE_IMP_EXEC~EXECUTE method and placed the code supplied
by the "How to".

After that we created a new function type and associated the class
previously created. We made everything in planning modeller and created
a button to call the planning sequence.

We executed the testing phase in our computers, as we are external
consultants.

The problem now is that our final user isn’t being able to use the
developed solution in their computers.

After pressing the button to upload the file in Workbook we have the following error After pressing that button the following error
"Exception condition "NOT_SUPPORTED_BY_GUI" raised.

Can you help us?

many thanks
former_member93896
Active Contributor
0 Kudos
Hi João,

I'm not sure if you copied the code to your own class correctly. Why was it necessary to make your own copy anyway? You also have to make sure that the class is linked to the Web Dynpro application for example. I suggest to test the upload with the standard code, first (on your and the user's computer).

Also check which GUI is installed on the user's computer. It has to be SAP GUI for Windows (not SAP GUI for HTML, see note 314568) since this is the only one that supports upload/download of local files.

Regards
Marc
Former Member
0 Kudos
Hi Marc,

I have a question to the BI IP File Upload solution.
I get the following error when I try to upload a flat file via BI IP.
Errors while executing sequence Planning Sequence Key Fin Upload

Planning function File Upload ended with errors

If I use a the filter with a variable I get this error. If the filter has a fixed value, the upload works fine. This error occurs only if the cube has no data. If the cube have any data it works also with a variable in the filter.
Do you have a idea what's the problem?

You also write in the blog, that you have a solution to creat master data during the Uplaod via BI IP. Is it possible that you send me this solution per email? My email is cherbst@csc.com.

Thank You
Best regards
Constantin
Former Member
0 Kudos
Looks like your download functionality dumps the technical names of the column headers. Our Clients are asking for the Description of the column name instead of the Tehcnical Name.

Would appreciate if you can give us a quick fix if that's possible...
former_member93896
Active Contributor
0 Kudos
Hello Kiran,

you have to change the code:
Class ZCL_RSPLF_FILE_DOWNLOAD
Method _CONVERT_TAB_TO_STRING
After CONCATENATE l_iobjnm l_length INTO l_field insert the following line:
l_field = l_s_cob_pro-txtlg.

Regards
Marc
zlatko_radisic
Explorer
0 Kudos
Hi Marc,

can your upload/download functionality be modified to work the same way as the old BPS APIs, such as API_SEMBPS_GETDATA, API_SEMBPS_SETDATA?   I.E. call your download functionality to retrieve planning data into 3rd party software program. User works with the data and when ready to save, we call your upload functionality to save the data to real time cube?  But you would need to also add locking during the download, I guess.

We are just trying to find a way of re-creating the BPS APIs in the BI IP environment, where they are not currently available, but we hope SAP will make them available in a future release???? any idea?
former_member93896
Active Contributor
0 Kudos
Hello Zlatko,

locking is not the same as offline planning. Locks are set online and will eventually timeout. Using locks for offline planning is therefore not feasible.

You could add an exit functions into the download planning sequence, where you same the selection criteria into a custom table (=locked). Then you do the same with the upload planning function where you check the criteria in another exit function. If they exist already, the data is locked and you raise an error message.

Regards,
Marc

Note: You can use the BPS APIs together with BW-IP on the same InfoCube.
Former Member
0 Kudos
Hi mark,
I already implemented your BI Upload function to cube, everything is superb. But my problem is, i attached the url link in my wad button and right now i just hardcode the url based on the webdynpro application url. So if i transported it over to Testing, Production box, i need to change the url so that the source system follows the current box. How do i make the url become dynamic?
Former Member
0 Kudos
Hi Mark,
I created a wad planning layout, in this layout there is a button to launch the upload file webdynpro. Before user get into the wad planning layout, they will have to input some variables on the variable screen. Once they get in, they would want to launch the upload program by clicking the button i mentioned above.

My question is:
1) Can we link the variable from the wad screen with the variable in the upload webdynpro program which is use for locking the cube when during upload? How do we do this? They are in difffrent session right?
former_member93896
Active Contributor
0 Kudos
Hello Alfonso,

it's not possible in the current version of the file upload. Next version will include support for the report-report-interface. Then it's very easy to do what you want. Send me an email if you want the beta for this version.

Regards,
Marc
former_member93896
Active Contributor
Former Member
0 Kudos
Hi Marc,
Thanks a lot for your valuable efforts! Please send me to my email izdyhar82@gmail.com. Thanks!
Former Member
0 Kudos
Thanks a lot Marc!!
Former Member
0 Kudos
Thanks a lot Marc!!