DataSource Update mode field
I need to export data from BW (7.0) to another non-SAP Oracle based DB table. This external DB system has a text file interface that BW must export to that requires an update method field in order to use a delta method. The values required are "I" for input, "U" for update and "D" for delete.
I was thinking of using a DSO with the 0RECORDMODE field to indicate the delta method. Research tells me that to populate the 0RECORDMODE field I need to add it to the "Record Mode Field" (INVFIELD) in the ROOSFIELD table. How do I do that without editing ROOSFIELD table directly, i.e. is there a transaction to edit like RSA2 Extraction tab, Record Mode Field?
On a sidenote, has anyone else exported to a non-SAP Oracle DB from BW using a delta update?
Al
Hello,
Not sure why you are going for ROOSFIELD tables.
Since its a text file interface then you may want to use open hub to store the file imported from DSO to a text file and then use it as source for the oracle system.
If you use the delta option from the DSO to update to the files then the recordmode field is automatically populated based on kind of change to the records.
Since the delta will be loaded from the change log of the DSO therefore you need not maintain it manually in a table.You may not get the values which you are looking for like I and U but it will contain before and after image which you can try to use ...may be only after image is required.
As far as I know nothing needs to be maintained for the table ROOSFIELD.
Thanks
Ajeet
Similar Messages
-
Adding a row in matrix[Update Mode]
Hi All,
I am using a document type table, which has a matrix and i have created the UDO for dis. in Add mode its working properly. In update mode also its working properly but when i add a new row in the matrix its displaying the previous rows data n if i empty the fields and i tried to update then its showing the error like "This entry already exists in the following tables (ODBC -2035) [Message 131-183]" .pls provide a solution for this.
Regards,
Vijay Kumar.Hi Vijay,
You Can try this Code:
oDBDataSource.Clear();
oMatrix.AddRow(1, oMatrix.RowCount);
Here I am assuming that the matrix is bind with the DBDatasource.
The whole point is that you have to Clear the Datasource before adding the new row, otherwise it will pickup the last supplied value from the Datasource.
HTH
Prashant Bansal -
How can I get the Tables in my report to update their field lists?
I am working with Crystal Reports 2008, and I have a ReportDocument loaded in a .NET project.
I want to update the field lists of the tables (stored procedures) used in the report. I am calling "VerifyDatabase()", but this does not update the field lists. Through the designer, I accomplish this by going to the Database -> Set Datasource Location..., then clicking on the stored procedure (i.e. table) in the report, clicking on the stored procedure under the database in the bottom pane, and then clicking "Update".
How can I accomplish this in code?
Thanks for any help.Hello,
You have to use RAS and the replace connection method. The Report Engine does not have the ability.
Search forums for "ReplaceConnection_Click" and you'll find sample code that should work for you.
Thank you
Don -
How to use a single page for create and update mode.
Hi,
I need to develop a single page to be used for both create and update modes.
I am going to use a variable MODE
and i will set this in the emp summary page.
Based on the button clicked by the user i have to render the JSF page.
For tis if the user selects a perticular and cliks on update thn i will pass the empno to the next.
so there in the next i will appy a ViewCreiteria on my View Obj to fetch only that row so that only that emp will be displayed ion update mode.
This is working fione for me.
So now the issue is
when the user clicks on CreatEmp button.
i need to enable my VO for insert operations.
for this i wrote the code like this in the beforePhase event
FacesContext ctx = FacesContext.getCurrentInstance();
ValueBinding valBinding = ctx.getApplication().createValueBinding("#{data}");
BindingContext bContext = (BindingContext) valBinding.getValue(ctx);
DCDataControl dcControl = bContext.findDataControl("DataControl");
Application app = ctx.getApplication();
ApplicationModule am = (ApplicationModule) dcControl.getDataProvider();
System.out.println("After Appmodule initiation");
// get the VO reference and initiate the query
System.out.println("Before Page VO initiation");
PrismDmPageSectionViewImpl vo = (ViewImpl)am.findViewObject("View");
//ViewRowImpl row = (ViewRowImpl) vo.createRow();
/* TO CREATE AN EMPTY ROW*/
Row row=vo.createRow();
System.out.println("New Row is created");
//vo.createKey(row);
vo.insertRow(row);
vo.setCurrentRow(row);
By doing this a new empty page is rendered.
But when i fill up the values and click on ok.. i am getting the error like this..
JBO-27023: Failed to validate all rows in a transaction.
JBO-27027: Missing mandatory attributes for a row with key null of type View3
JBO-27014: Attribute Id in View3 is required
JBO-27014: Attribute PageeId in View3 is required
Please point me out where i am missing.
ThanksHi,
In my opinion you are over complicating things.
This is what I do for using the sme page as both create and update without all this code.
1) Create a browse page containing a an adf table with a select one component bound to your view object.
2) Create an additional edit page containing only an edit form containing fields of your view object that your users must enter in order to add or edit rows.
3) Link the pages in the JSF diagram with an "edit" navigation case from browse to edit page and a "return" navigation case from edit to browse (make sure that redirect option is NOT set on both cases)
4) Remove the submit button from the edit page and add two application module bindings for the commit and rollback operations as command buttons in the form footer facet. Make sure that both buttons has an action of return and that their disabled property is set to false. You will probably change their labels to ok and cancel respectively.
5) Drop a create action for your view object from the data control palette inside your page as a command button and set the action property to edit also.
3) Set the action property of the view button to edit
This should basically work without any code from your part. -- at least it does so for me -- if you like to make it a bit more funcy you may add am action listener inside your buttons and set a requeScope variable for example #{requestScope.editing} to true or false depending on the button clicked. Then add a title to your page with a value like #{requestScope.editing == true ? 'Editing record' : 'Adding a new record'}..
Hope that helps.
Thanassis -
How to update information fields of a profile in Oracle UCM using RIDC
Hi All
I have a requirement in which i need to modify/update the metadata/information fields of a Profile in Oracle Webcenter Content(UCM).
I found out that this can be achieved using RIDC api, but i have little knowledge about the same.
If someone could suggest about how to retrieve and update the fields in UCM using RIDC or some other approach would be of great help.
It's really important.Kindly help
Regards
ACMuser13069455 wrote:
Hi Jiri
Even i have thought about the same as one of the approaches, but i was a bit apprehensive about using this one.
I have few stupid queries regarding this:
1)Will it expose the production database(connection details) to the environment?Yes. If you don't like the idea of giving connection to the database to a "third-party" program, you could go from the other side - create a UCM component (some kind of scheduled job), which will be a part of UCM, but do the same. It will be a bit more complicated, but might be considered more secure.
2)Will it have any performance impact?I don't think there will be much impact - most of time, tables will be accessed in read-only mode (pulling the data out), so except few per cent of CPU and some memory it should not consume anything. Besides, you should be able to schedule upload to "quiet hours", if there are some
3)Will it still be an integration with the UCM?Well, yes. It will be integration at the database level. But honestly, as long as it works, do you care how is it called?
>
Thanks
ACM -
Alright, I have been through the entire board and found bit and pieces here and there on how to do this, but I am not satisfied with the results. Answers to these questions will dictate whether we use this product or not.
1) The QBE solution is great for the above EXCEPT I am unable (it seems) to make updates to the form portion of the Report/Form combination. I need to be able to lock off certain fields and disallow certain functions. Other's have asked whether this can be done. No answers issued forth.
Is there some way short of hacking into the PL/SQL code of updating the form on a wizard created QBE?
2) I was able to create my own report, link (via link object) to a custom form (update the form as I needed). Now I would like my users not to have to hit the query button (which is absurd in this case because they already have the proper record displayed). So I need to open the form in "update" mode. I have seen some different approaches to this on the board, and all kinds of code, but is there a simple way to do this (preferably from the tool, not hacking code)?
I see the code in the various posting (including the FAQ), the question is where I put in in the context of my link from report to form (if it is in the native pl/sql, this is not an answer because we will not go that route; having code blown away by the tool and have to be reentered. It goes in in the context of the tool or we don't use the tool).
Also, is there a way to utilize the "close" button from the QBE that so nicely takes you back to the report and does a refresh?
This is the simplest app I could dream up to test this product and it looks like it falls short.
In summation:
1) Generate a report. (yes)
2) Link to form (yes)
2a) Link direct to record (no query click) (no, without hacking)
3) update the form (yes, if after query click)
4) Jump back to report at spot where you left, do automatic refresh (just like QBE) (No, without hacking)
Again, this is the simplest and most common of apps, I cannot understand why it would be so hard to accomplish. What am I missing? Anybody on the board, please advise.
nullIf your report is created using ‘Reports From SQL Query’ then you can modify it using the following to achieve this:
1. Remove the link from ‘Column Formatting’ section of the report object.
2. In the SQL of the report , use custom link to the column where you want to provide link using the syntax
select a.empno,’‘||a.ename||’‘ ename_link,a.deptno
from scott.emp a
Order by a.empno
and the form will always open in ‘INSERT’ mode with passed values filled in.
Thanks
Krishnamurthy -
Data collection task in Update mode is not posible with Original list
Hi Friends,
When I try to Execute the Task for data collection in sa38.I am getting the Error with in 9 sec.
UPDATE MODE IS NO POSSIBLE WITH ORIGINAL LIST
Message No. UCS0111
Diagnosis :
If you select the indicator"original list"the current task status is ignored.In this case,the system simulates a task run in with all of the organisational units are not yet blocked.Thus,setting this indicator is meaningful and valid only if the task is executed in test mode at tthe same time.
procedure : select the original list & Test run together.
My problem is I can not select the Test run in production server.
Can any one please help me to solve the Issue.I Thank you all for Responding to me.
Hi Dan,
SA38 provides all the needed parameters- Con.Group,Company,Version,Fis.Year,Period,Group currency.
Iam trying to run the task with SA38 for Data Collection.
Hi Lucio,
When I Check the Fields Both the Log & Original list . The programe gives an error message "UPDATE MODE IS NOT POSSIBLE WITH ORIGINAL LIST"
Even when I tried with Log,Test Run & Original List Iam getting the Same error Message "UPDATE MODE IS NOT POSSIBLE WITH ORIGINAL LIST"
I can run the task Successfully with selecting the Log option only. But my Client need to Use both Log & Original list ( as they used to run in BIW 3.5 ) Now it we are using BI 7.
Hi Christopher,
We are running the programe UCBATCH01,with the T code SA38.
Hi Eugene,
I will look in to the link and i will Discuss with the Basis team.
Once again Thank you all for responding
Suraj. -
GRPO Document Opening in Update Mode
Hi All
When i saved the GRPO Document and again i try to navigate to the saved document it is opening in update mode and if i update then it become 'ok' mode and again if i try to navigate the posted document it is opening in update mode again
how can i overcome this issue
iam using PL10 and iam also using User Defined fields in the Title Level Document
Thanks in AdvanceHi Madhu......
I think you have applied FMS on any one of the field and kept it refresh regularly on some other field. So either you should remove the FMS or you should keep it on display saved values. This will fix your problem.....
Regards,
Rahul -
Want to change an update mode from Delta to Full for 2LIS-11-VAHDR
We went live recently and since that moment, we are having problem with this DataSource. We've been able to complete the Init and the Delta ran 1 time (the day after). Since then, it's scheduled to run every night but the data package are always empty.
2LIS-11-VASCL and 2LIS-11-VAITM are running in Full and are executing with success every night which gives us the idea to turn 2LIS-11-VAHDR in Full too. We are not very concerned by the volume of transactions in Sales Order. That's not what triggered the Init/Delta choice.
I'm now looking for the steps to follow to turn VAHDR in Full. I know that I have to adjust the Process Chain too. Any recommendations are welcome too. Here's a snapshot of the PC:
Thank you all for your help!In my eyes i think the better idea is to check and identify the issue related to delta.I understand today you have less data so you are able to do the full load daily but for sure after some time the data will be huge.During that time running full will consume all the system resources and it will lead to huge loading time.
I feel the cons i mentioned above are enough to look for the solution that why delta records are not getting updated.
Check the update mode for application 11 if it is queued delta then check in LBWQ whether you get records there or not.Then check if V3 job is scheduled or not to push the data from LBWQ to RSA7.
Hope this helps.
Regards,
AL -
V1, V2, V3 update modes
Hi,
Can anyone tell me what are V1, V2, V3 update modes. Please tell me the difference between all the three. Are there any other update modes? How are the above different from - Direct Delta , Queued delta and unserialized v3 update methods?
Am actually very confused with the above topics.
It would be great if someone could explain in details.
Thanks in advance,
maddyHi Maddy.
V1 denotes time-critical updates used for updating the
actual transaction tables.
V2 denotes non-time-critical updates used for updating
statistics tables related to the transaction tables.
For instance, after a sales order entry transaction
is completed, the corresponding sales order tables would be
updated in V1 mode, and the corresponding statistics tables
would be updated in V2 mode.
V3 update mode(Uses delta queue technology) is similar
to the V2 update mode. The main difference is that V2
updates are always triggered by applications, while V3
updates may be scheduled independently. Many extraction
programs available for mySAP.com applications today use the
delta queue technology to identify deltas.
and also check this
hi
V1,V2,V3 updates
v1, v2,and v3 updates
V1, V2 and V3 updates in LO
LO Cockpit contains a set of extract structures and enable extraction of logistics data to your SAP BI system via logistics DataSources.
Check the following links
/people/sap.user72/blog/2004/12/16/logistic-cockpit-delta-mechanism--episode-one-v3-update-the-145serializer146
LOGISTIC COCKPIT DELTA MECHANISM - Episode two: V3 Update, when some problems can occur...
LOGISTIC COCKPIT DELTA MECHANISM - Episode three: the new update methods
LOGISTIC COCKPIT - WHEN YOU NEED MORE - First option: enhance it !
LOGISTIC COCKPIT: a new deal overshadowed by the old-fashioned LIS ?
Also check the step by step guide below.
http://www.sap-img.com/business/lo-cockpit-step-by-step.htm
thanks
sreeni -
URGENT: Updating FISTL field using BAPI_PO_CHANGE
HI Friends,
I am about to update the field FISTL and GEBER in EKKN .
I am using BAPI_PO_CHANGE to update those fields . I have tried passing the fields to the table
POITEM and POACCOUNT in BAPI.
i have also given the values to POITEMX and POACCOUNTX tables .
I have given the BAPI_COMMIT_TRANSACTION also . i have given wait time also . Even then the value is not updated in EKKN table .
What could be reason for value not getting updated .
Is the table to which i am passing in BAPI is ok?
Please help me in this issue , its urgent.
Reward is sureHi Gokul,
Try 'BAPI_PO_CREATE1' and see if you can achieve the result.
*& Report YDM_PO_CREATE *
REPORT ydm_po_create.
*-- Input File Declaration
TYPES: BEGIN OF ty_input_file,
column1 TYPE char50,
column2 TYPE char50,
column3 TYPE char50,
column4 TYPE char50,
column5 TYPE char50,
column6 TYPE char50,
column7 TYPE char50,
column8 TYPE char50,
column9 TYPE char50,
column10 TYPE char50,
column11 TYPE char50,
column12 TYPE char50,
column13 TYPE char50,
column14 TYPE char50,
column15 TYPE char50,
column16 TYPE char50,
column17 TYPE char50,
column18 TYPE char50,
END OF ty_input_file.
DATA: i_input_file TYPE STANDARD TABLE OF ty_input_file,
wa_input_file TYPE ty_input_file.
CONSTANTS: c_path TYPE char20 VALUE 'C:\',
c_mask TYPE char9 VALUE ',*.*,*.*.',
c_mode TYPE char1 VALUE 'O',
c_filetype TYPE char10 VALUE 'ASC',
c_x TYPE char01 VALUE 'X'.
PARAMETERS : p_fname LIKE rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
*-- Browse Presentation Server
PERFORM f4_presentation_file.
START-OF-SELECTION..
*-- Read presentation server file
PERFORM f1003_upload_file.
IF NOT i_input_file[] IS INITIAL.
PERFORM split_data.
ENDIF.
*& Form f4_presentation_file
*& F4 Help for presentation server
FORM f4_presentation_file .
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = c_path
mask = c_mask
mode = c_mode
title = text-001
IMPORTING
filename = p_fname
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.
ENDFORM. " f4_presentation_file
*& Form f1003_upload_file
*& Upload File
FORM f1003_upload_file .
DATA: lcl_filename TYPE string.
lcl_filename = p_fname.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lcl_filename
filetype = c_filetype
has_field_separator = c_x
TABLES
data_tab = i_input_file
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.
EXIT.
ENDIF.
ENDFORM. " f1003_upload_file
*& Form split_data
Collect data for creating Purchase Order
FORM split_data .
DATA: i_poitem TYPE STANDARD TABLE OF bapimepoitem,
i_poitemx TYPE STANDARD TABLE OF bapimepoitemx,
i_poitem_sch TYPE STANDARD TABLE OF bapimeposchedule,
i_poitem_schx TYPE STANDARD TABLE OF bapimeposchedulx,
i_acct_*** TYPE STANDARD TABLE OF bapimepoaccount,
i_acct_assx TYPE STANDARD TABLE OF bapimepoaccountx,
i_services TYPE STANDARD TABLE OF bapiesllc ,
i_srvacc TYPE STANDARD TABLE OF bapiesklc,
i_return TYPE STANDARD TABLE OF bapiret2,
wa_header TYPE bapimepoheader,
wa_headerx TYPE bapimepoheaderx,
wa_poitem TYPE bapimepoitem,
wa_poitemx TYPE bapimepoitemx,
wa_poitem_sch TYPE bapimeposchedule,
wa_poitem_schx TYPE bapimeposchedulx,
wa_acct_*** TYPE bapimepoaccount,
wa_acct_assx TYPE bapimepoaccountx,
wa_services TYPE bapiesllc,
wa_srvacc TYPE bapiesklc,
wa_return TYPE bapiret2,
ws_po TYPE bapimepoheader-po_number.
break gbpra8.
wa_services-pckg_no = 10.
wa_services-line_no = 1.
wa_services-outl_no = '0'.
wa_services-outl_ind = c_x.
wa_services-subpckg_no = 20.
APPEND wa_services TO i_services.
wa_srvacc-pckg_no = 10.
wa_srvacc-line_no = 1.
wa_srvacc-serno_line = 01.
wa_srvacc-serial_no = 01.
wa_srvacc-percentage = 100.
APPEND wa_srvacc TO i_srvacc.
LOOP AT i_input_file INTO wa_input_file.
IF wa_input_file-column2 EQ 'HD'.
wa_header-doc_type = wa_input_file-column3.
wa_header-creat_date = sy-datum.
wa_header-created_by = sy-uname.
wa_header-vendor = wa_input_file-column4.
PERFORM conversion_output USING wa_header-vendor
CHANGING wa_header-vendor.
wa_header-comp_code = 'DE03'.
wa_header-purch_org = 'DE03'.
wa_header-pur_group = 'DE1'.
wa_header-vper_start = wa_input_file-column9.
wa_header-vper_end = wa_input_file-column10.
wa_headerx-comp_code = c_x.
wa_headerx-doc_type = c_x.
wa_headerx-creat_date = c_x.
wa_headerx-created_by = c_x.
wa_headerx-vendor = c_x.
wa_headerx-purch_org = c_x.
wa_headerx-pur_group = c_x.
wa_headerx-vper_start = c_x.
wa_headerx-vper_end = c_x.
ENDIF.
IF wa_input_file-column2 EQ 'IT'.
wa_poitem-po_item = wa_input_file-column3.
wa_poitem-short_text = wa_input_file-column6.
wa_poitem-plant = wa_input_file-column8.
wa_poitem-quantity = '1'.
wa_poitem-tax_code = 'V0'.
wa_poitem-item_cat = 'D'.
wa_poitem-acctasscat = 'K'.
wa_poitem-matl_group = wa_input_file-column7.
wa_poitem-pckg_no = '10'.
APPEND wa_poitem TO i_poitem .
wa_poitemx-po_item = wa_input_file-column3.
wa_poitemx-po_itemx = c_x.
wa_poitemx-short_text = c_x.
wa_poitemx-plant = c_x.
wa_poitemx-quantity = c_x.
wa_poitemx-tax_code = c_x.
wa_poitemx-item_cat = c_x.
wa_poitemx-acctasscat = c_x.
wa_poitemx-matl_group = c_x.
wa_poitemx-pckg_no = c_x.
APPEND wa_poitemx TO i_poitemx.
wa_poitem_sch-po_item = wa_input_file-column3.
wa_poitem_sch-delivery_date = sy-datum.
APPEND wa_poitem_sch TO i_poitem_sch.
wa_poitem_schx-po_item = wa_input_file-column3.
wa_poitem_schx-po_itemx = c_x.
wa_poitem_schx-delivery_date = c_x.
APPEND wa_poitem_schx TO i_poitem_schx.
wa_acct_***-po_item = 10.
wa_acct_***-serial_no = 01.
wa_acct_***-gl_account = '0006360100'.
wa_acct_***-co_area = '1000'.
wa_acct_***-costcenter = 'KC010000'.
APPEND wa_acct_*** TO i_acct_***.
wa_acct_***-po_item = 10.
wa_acct_***-serial_no = 02.
wa_acct_***-gl_account = '0006360100'.
wa_acct_***-co_area = '1000'.
wa_acct_***-costcenter = 'KC010000'.
APPEND wa_acct_*** TO i_acct_***.
wa_acct_assx-po_item = 10.
wa_acct_assx-serial_no = 01.
wa_acct_assx-po_itemx = c_x.
wa_acct_assx-serial_nox = c_x.
wa_acct_assx-gl_account = c_x.
wa_acct_assx-co_area = c_x.
wa_acct_assx-costcenter = c_x.
APPEND wa_acct_assx TO i_acct_assx.
wa_acct_assx-po_item = 10.
wa_acct_assx-serial_no = 02.
wa_acct_assx-po_itemx = c_x.
wa_acct_assx-serial_nox = c_x.
wa_acct_assx-gl_account = c_x.
wa_acct_assx-co_area = c_x.
wa_acct_assx-costcenter = c_x.
APPEND wa_acct_assx TO i_acct_assx.
wa_services-pckg_no = 20.
wa_services-line_no = 2.
wa_services-service = wa_input_file-column9.
wa_services-quantity = '100'.
wa_services-gr_price = '100'.
wa_services-userf1_txt = wa_input_file-column13.
APPEND wa_services TO i_services.
wa_srvacc-pckg_no = 20.
wa_srvacc-line_no = 1.
wa_srvacc-serno_line = 02.
wa_srvacc-serial_no = 02.
wa_srvacc-percentage = 100.
APPEND wa_srvacc TO i_srvacc.
ENDIF.
ENDLOOP.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = wa_header
poheaderx = wa_headerx
POADDRVENDOR =
TESTRUN =
MEMORY_UNCOMPLETE =
MEMORY_COMPLETE =
POEXPIMPHEADER =
POEXPIMPHEADERX =
VERSIONS =
NO_MESSAGING =
NO_MESSAGE_REQ =
NO_AUTHORITY =
NO_PRICE_FROM_PO =
IMPORTING
exppurchaseorder = ws_po
EXPHEADER =
EXPPOEXPIMPHEADER =
TABLES
return = i_return
poitem = i_poitem
poitemx = i_poitemx
POADDRDELIVERY =
poschedule = i_poitem_sch
poschedulex = i_poitem_schx
poaccount = i_acct_***
POACCOUNTPROFITSEGMENT =
poaccountx = i_acct_assx
POCONDHEADER =
POCONDHEADERX =
POCOND =
POCONDX =
POLIMITS =
POCONTRACTLIMITS =
poservices = i_services
posrvaccessvalues = i_srvacc
POSERVICESTEXT =
EXTENSIONIN =
EXTENSIONOUT =
POEXPIMPITEM =
POEXPIMPITEMX =
POTEXTHEADER =
POTEXTITEM =
ALLVERSIONS =
POPARTNER =
break gbpra8.
LOOP AT i_return INTO wa_return.
ENDLOOP.
ENDFORM. " split_data
*& Form conversion_output
Conversion exit input
FORM conversion_output USING p_ip
CHANGING p_op.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = p_ip
IMPORTING
output = p_op.
ENDFORM. " conversion_output
<b>Reward points if this helps.
Manish</b> -
Adobe Interactive - Problem Updating Form Fields within tables
I am working with Interactive forms. My scenario is I download the form, update, upload to the Web and then submit to the backend, I am basically use a blend of the tutorials available. From a Web Dynpro perspective all is working well.
The problem I am having is in the Form itself.
I have 10 fields which I want the user to update. Fields which are bound at Page Level, work fine. e.g.
<CONTEXT>.<PAGE>.<FIELD>::Change
Data_Source.Page1.Langu::Change
However Fields in a table do not seemed to work properly. e.g.
<CONTEXT>.<PAGE>.<TABLE>.<ROW[x]>.<CELL[y]>.<FIELD>::Change
Data_Source.Page1.tblCusDetails.Row[0].Cell[1].Name
If I perform an update in the form Langu works well, Name does not.
e.g. Page1.Langu.rawValue = "EN" This works OK
Page1.tblCusDetails.Row[0].Cell[1].Name = "Andrew " This does not work.
I got round this issue by searching for the attribute at runtime.
Now (Based on my scenario) I am trying to update my form;
I download the form to the front end. Update and save. When I open the form again only Langu has saved, Name reverts back to <Emtpy>.
My workaround would be to remove all the tables, which I will start now, but I am wondering if I am doing something wrong or if its a bug in the form,?
Can anyone help?
AndrewHello Bhavik:
Thank you, for your quick response. To be honest, I went through the tutorial from SAP TechEd, "Creating Interactive Forms in Web Dynpro for JAVA, and it is drving me crazy.
I did create under the Contect actually Value Node:
DataSource and within that two Value Node for PersonalData and TravelData. For PersonalData, the following Value Attribute: CostCenter, Department, Name etc etc........
The properties is already set for the value attributes to string, I tried to change it to init it will not take it?
Please call me Amr. Thank you, -
Hello all, I am trying to update a field in KNA1. As ou know the user exits for the customer master do not have access to update this table. I tried several BTE's also with no luck. They do not have access to KNA1 fields either.
I need to do this in an online mode for transaction VD02. I tried setting up a call transaction in BTE 00001321, but the call transaction locks becuase I am already have the customer locked.
I also tried a trick to assign the value using a field symbol as suggested in a previous forum, but this dumped becuase I was trying to update a protected field.
Any ideas would be greatly appreciated.
TroyHi,
Did you try in update task mode?
Also please try transaction MASS with object type KNA1.
Regards,
Ferry Lianto -
To Activate the Approval Process when document is in update mode
Dear Expert,
I have applied the Approval Process for UDF using the query "Select Distinct 'True' From ORDR T0
Where IsNull($[ORDR.U_Rebate.number],0)>0 and $[ORDR.DocType]='I' ".
Now as the field is UDF user is able to modify even after approval procedure.
Please help me to apply the above query for the Approval process even when the document is in update mode.
regards,
PankajKDear Pankaj,
Current B1 design only support approval for adding document. Update will not trigger approval.
You may use SP_TN instead to block user updating it. If you are not familiar with the SP, search the forum first.
Thanks,
Gordon -
Updating LIFSK field of VBAK table
Hi,
I have a workarea of type VBAK.
The workarea has field VBELN and LIFSK populated.
I want to Update the field LIFSK of database table VBAK.
I assume, using statement "UPDATE" would have some implications while changing master table VBAK.
Hence i want to know if there any function module or BAPI is available to do this?
Regards
Nishant
Message was edited by: Nishant Guptahi,
check this sample...
REPORT Z_SALES_ORDER_CHANGE
NO STANDARD PAGE HEADING
LINE-SIZE 132
LINE-COUNT 65(0)
MESSAGE-ID ZZ.
TABLES: VBAP.
DATA:
V_FILEIN(90) TYPE C,
V_RECIN TYPE I,
V_RECVBAP TYPE I,
V_RECORDER TYPE I,
V_VBELN LIKE VBAP-VBELN,
ORDERHEADERINX LIKE BAPISDH1X.
DATA: BEGIN OF I_ORDERS OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
BRGEW(18) TYPE C,
VOLUM(18) TYPE C,
END OF I_ORDERS.
DATA: BEGIN OF I_OUTPUT OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
* GEWEI LIKE VBAP-GEWEI,
BRGEW LIKE VBAP-BRGEW,
VOLUM LIKE VBAP-VOLUM,
CKWGT TYPE C,
CKVOL TYPE C,
END OF I_OUTPUT.
DATA: BEGIN OF ORDERITEMIN OCCURS 0.
INCLUDE STRUCTURE BAPISDITM.
DATA: END OF ORDERITEMIN.
DATA: BEGIN OF ORDERITEMINX OCCURS 0.
INCLUDE STRUCTURE BAPISDITMX.
DATA: END OF ORDERITEMINX.
DATA: BEGIN OF RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF RETURN.
DATA: BEGIN OF BAPIRETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA: END OF BAPIRETURN.
PARAMETERS:
P_PATH(45) TYPE C DEFAULT '/usr/users/ftpsapom/' LOWER CASE,
P_FNAME(32) TYPE C DEFAULT '/sweetjo.txt' LOWER CASE.
START-OF-SELECTION.
* CONCATENATE PATH AND FILE NAME INTO ONE VARIABLE
CONCATENATE P_PATH P_FNAME INTO V_FILEIN.
* OPEN DATASET
IF V_FILEIN IS INITIAL.
MESSAGE E002 WITH 'FILE' V_FILEIN 'DOES NOT CONTAIN ANY DATA!'.
ELSE.
OPEN DATASET V_FILEIN
FOR INPUT
IN TEXT MODE.
IF SY-SUBRC = 0.
* READ DATASET
DO.
READ DATASET V_FILEIN INTO I_ORDERS.
IF SY-SUBRC = 0.
APPEND I_ORDERS.
ELSE.
EXIT.
ENDIF.
ENDDO.
* CLOSE DATASET
CLOSE DATASET V_FILEIN.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'ERROR - CLOSING' V_FILEIN.
ENDIF.
ELSE.
MESSAGE E002 WITH 'ERROR - COULD NOT OPEN' V_FILEIN.
ENDIF.
ENDIF.
* SORT AND REMOVE DUPLICATES FROM I_ORDERS
SORT I_ORDERS BY VBELN POSNR.
DELETE ADJACENT DUPLICATES FROM I_ORDERS.
* POPULATE I_OUTPUT
LOOP AT I_ORDERS.
SHIFT I_ORDERS-POSNR LEFT DELETING LEADING SPACE.
CONCATENATE '0' I_ORDERS-POSNR INTO I_ORDERS-POSNR.
SELECT SINGLE BRGEW VOLUM
FROM VBAP
INTO (VBAP-BRGEW, VBAP-VOLUM)
WHERE VBELN = I_ORDERS-VBELN
AND POSNR = I_ORDERS-POSNR.
IF SY-SUBRC = 0.
IF VBAP-BRGEW = 0.
I_OUTPUT-CKWGT = 'X'.
ENDIF.
IF VBAP-VOLUM = 0.
I_OUTPUT-CKVOL = 'X'.
ENDIF.
I_OUTPUT-VBELN = I_ORDERS-VBELN.
I_OUTPUT-POSNR = I_ORDERS-POSNR.
* I_OUTPUT-GEWEI = 'ST'.
I_OUTPUT-BRGEW = I_ORDERS-BRGEW.
I_OUTPUT-VOLUM = I_ORDERS-VOLUM.
APPEND I_OUTPUT.
CLEAR: I_OUTPUT.
ENDIF.
V_RECIN = V_RECIN + 1.
ENDLOOP.
* POPULATE BAPI DATA AND RUN BAPI
CLEAR: ORDERHEADERINX, ORDERITEMIN, ORDERITEMINX,
RETURN, BAPIRETURN.
REFRESH: ORDERITEMIN, ORDERITEMINX, RETURN, BAPIRETURN.
ORDERHEADERINX-UPDATEFLAG = 'U'.
LOOP AT I_OUTPUT WHERE CKWGT = 'X' OR CKVOL = 'X'.
V_RECVBAP = V_RECVBAP + 1.
IF I_OUTPUT-VBELN <> V_VBELN AND SY-TABIX <> 1.
V_RECORDER = V_RECORDER + 1.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = V_VBELN
ORDER_HEADER_INX = ORDERHEADERINX
TABLES
RETURN = RETURN
ORDER_ITEM_IN = ORDERITEMIN
ORDER_ITEM_INX = ORDERITEMINX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = BAPIRETURN.
* WRITE OUT RETURN
LOOP AT RETURN.
WRITE: / RETURN.
ENDLOOP.
WRITE: / BAPIRETURN.
SKIP.
CLEAR: ORDERITEMIN, ORDERITEMINX,
RETURN, BAPIRETURN.
REFRESH: ORDERITEMIN, ORDERITEMINX, RETURN, BAPIRETURN.
ENDIF.
ORDERITEMIN-ITM_NUMBER = I_OUTPUT-POSNR.
* ORDERITEMIN-UNTOF_WGHT = I_OUTPUT-GEWEI.
IF NOT I_OUTPUT-CKWGT IS INITIAL.
ORDERITEMIN-GROSS_WGHT = I_OUTPUT-BRGEW.
ORDERITEMINX-GROSS_WGHT = 'X'.
ENDIF.
IF NOT I_OUTPUT-CKVOL IS INITIAL.
ORDERITEMIN-VOLUME = I_OUTPUT-VOLUM.
ORDERITEMINX-VOLUME = 'X'.
ENDIF.
APPEND ORDERITEMIN.
ORDERITEMINX-ITM_NUMBER = I_OUTPUT-POSNR.
* ORDERITEMINX-UNTOF_WGHT = 'X'.
ORDERITEMINX-UPDATEFLAG = 'U'.
APPEND ORDERITEMINX.
V_VBELN = I_OUTPUT-VBELN.
ENDLOOP.
* RUN BAPI ON LAST ORDER
IF NOT ORDERITEMIN IS INITIAL.
V_RECORDER = V_RECORDER + 1.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = V_VBELN
ORDER_HEADER_INX = ORDERHEADERINX
TABLES
RETURN = RETURN
ORDER_ITEM_IN = ORDERITEMIN
ORDER_ITEM_INX = ORDERITEMINX.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = BAPIRETURN.
* WRITE OUT RETURN
LOOP AT RETURN.
WRITE: / RETURN.
ENDLOOP.
WRITE: / BAPIRETURN.
SKIP.
ENDIF.
* WRITE OUT RECORD COUNT FROM FILE
WRITE: / 'RECORD COUNT FROM FILE ', V_RECIN.
SKIP.
* WRITE OUT RECORD COUNT FROM FILE
WRITE: / 'RECORD COUNT OF LINES TO CHANGE ', V_RECVBAP.
SKIP.
* WRITE OUT RECORD COUNT FROM FILE
WRITE: / 'RECORD COUNT OF ORDERS TO CHANGE ', V_RECORDER.
SKIP.
* TOP OF PAGE
TOP-OF-PAGE.
WRITE:/1(5) TEXT-H01, 6(8) SY-DATUM MM/DD/YY,
100(8) TEXT-H02, 126(8) SY-PAGNO.
WRITE:/1(5) TEXT-H03, 6(8) SY-UZEIT USING EDIT MASK '__:__:__',
20(77) TEXT-H04,
100(8) TEXT-H05, 108(25) SY-REPID.
WRITE:/1(6) TEXT-H06, 8(12) SY-UNAME,
20(4) TEXT-H07, 25(32) SY-HOST,
100(13) TEXT-H08, 121(8) SY-SYSID,
129 '/', 130(3) SY-MANDT.
ULINE.
SKIP.
here i am changing the items, but in your case it is simple.
only thing you need to pass is
VALUE(SALESDOCUMENT) LIKE BAPIVBELN-VBELN
*" VALUE(ORDER_HEADER_IN) LIKE BAPISDH1 STRUCTURE BAPISDH1
*" OPTIONAL
*" VALUE(ORDER_HEADER_INX) LIKE BAPISDH1X STRUCTURE BAPISDH1X
first one is sales order, sencond is ORDER_HEADER_IN-del_block , and third one is ORDER_HEADER_INX -updflag = 'U' and relevant field for lifsk = 'X' .
try this and get back if you have any doubts.
Regards
vijay
Maybe you are looking for
-
Video playback on flash plugin is very bad
This is double post from safari forum. I am not shure if this is a macbook, grapic card, safari or flash10 plugin isue. My guess is the grapich card. When I try to play a video made by Norwegian Broadcasting, it doesent play. It only shows purple noi
-
Still looking for answers about wifi problems
Hi there since the last update, i couldn't get connected to the net using wifi, i talked with my provider, and the best solution they gave was to unlock the secuity in my modem or router, whatever, i did, i was aware of the consequences, and i've bee
-
Apps not synching after 2.1 update...
i searched the foru for my question but didnt find one that applied... i did the update by downloading the update only, then doing a restore... then uploading the update.. i also restored with my back up, then synched my phone.... but the apps , none
-
Inbound IDOC for Payroll results
Hi, does anybody know the import IDOC for payroll results? Anybody? Or other method to import payroll results? Thanks, Juzio Edited by: Juzio Kowlaski on Nov 16, 2010 9:43 AM
-
LayeredPane in a JApplet?
Hi, my problem is that the LayeredPane in my applet doesn't seem to appear. Basically my code starts with this: JLayeredPane layeredPane = getLayeredPane();Then when a certain button is pressed, I want the layered pane to display a component, a JList