Update field RBKP-RBSTAT on SAVE in MIRO transaction
Hi!
I am using BADI 'INVOICE_UPDATE' to update a flag 'RBSTAT' in header data (Table RBKP) on SAVE in MIRO transaction. but the method 'CHANGE_AT_SAVE' in this BADI only has import parameters. No export parameters. Can anyone advice:
Is there anyother BADI available for this transaction.
Thank you.
Hi,
Invoice update badi cannot be used to change any values while posting MIRO transaction, its used only to perform checks during doc entry.
Refer to OSS Note: 392342 for more info.
badi INVOICE_UPDATE doesn't change any data. But you can use badi MRM_PAYMENT_TERMS for updating ZLSPR.
Check it once.
Similar Messages
-
I can't change the field status of Tax section in MIRO transaction
Hello, I need to change to visible the field status of RTAX1U12-FWBAS, RTAX1U12-HWSTE and RTAX1U12-HWBAS of Tax section in MIRO transaction. In table settings, administrator option of that section I can change them, but when I save the variant the system do not save the settings. There is another transaction where these field status are maintained? I think that in another part these fields have the status "Invisible".
Best regards,
Alfredo Del PortilloHola Alfredo,
The table control for taxes in MIRO cannot be changed by the administrator function like other table controls.
Which columns are displayed or not is decided by the program dependend on several parameters.
The tax base amount is changeable or not is controlled by a setting in FI customizing:
IMG -> Financial Accounting -> F.A. Global Settings -> Tax on Sales/Pur
-> Basic Settings -> Change field control for Tax base amount
I hope the above information answers your inquiry.
Xalu2
Mauro -
MIRO Transaction take lot of time during Save
Dear Sir,
During the Save operation , MIRO transaction is taking lot of time . Kindly guide us as how can we analyze the reason for the excessive time being taken . Is there any trace functionality available .
Kindly guide us the steps to be followed for the analaysis .
With Thanks and Rgds
B MittalNote 750644 - MIRO: Performance delivery costs settlement
967291 - MIRO: Performance problem with access to VFKK and VFKP
766477 - MIRO: PO search via shipment number w/o success
1.Check the statistics are being executed properly
2.Find out the tables and indexes and check statistic is up to date.
3. trace the transcation and find out the tables and execution time for each step and table.
That is the best way to look into performance issues.
Hope it help.
Amit -
Posting of invoice with no reference to a PO from MIRO transaction
Dears,
I'm wokring on a SAP R/3 4.6 release and I would like to know if it is possible to post invoices with no PO from MIRO transaction. If it is so would it be possible for you to let me know which are the customizing steps to undertake and/or the fields to be populated in the MIRO transaction.
I know that this kind of invoices should be processed throught transaction FB60 but in this case the use of MIRO transactino is required.
Thanks in advance for the help.
DavideHi Davide,
You have first to fill in the header the tab basic details and then in the tab Details "Inv.Party"
Now you can go to the tab G/L account.
With a PO the system take the vendor from the PO now you have first to fill the vendor number
Paul -
BADI to check and update field in transaction BP through WEB UI
Hi,
I have this requirement to check certain data from BUT000 and based on this update the Search term field in BUT000.
I am using Badi BUPA_GENERAL_UPDATE.
I am also able to retrieve the current value in BUT000 using function module
CALL FUNCTION 'BUPA_GENERAL_CALLBACK'
TABLES
et_but000_old = t_but000_old
et_but000_new = t_but000_new.
My requirement is to update a field in BUT000 in memory.
If I was to use transaction BP in CRM then simply I can modify the value using
ASSIGN ('(SAPLBUD0)MEM_BUT000[] into <Field_symbol>
But the issue is that when called through the WEB UI I cannot access this memory.
Can any one suggest me a Function Module or some method by which I can change the value of BUT000 in memory while saving.
Awaiting your quick suggestions.
Regards,
TaherHi Sidd,
I figured out another way to do this.
FIELD-SYMBOLS <fs> TYPE ANY TABLE.
DATA : ws_bus000_i TYPE bus000___i.
FIELD-SYMBOLS <fs2> TYPE bus000___i.
IF sy-tcode = 'BP'.
ASSIGN ('(SAPLBUD0)MEM_BUT000[]') TO <fs>.
IF <fs> IS ASSIGNED.
LOOP AT <fs> ASSIGNING <fs2>.
IF <fs2> IS ASSIGNED.
IF <fs2>-partner_guid = ws_but000-partner_guid.
<fs2>-bu_sort1 = 'BP'.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
UNASSIGN : <fs>, <fs2>.
ELSEIF sy-tcode IS INITIAL.
ASSIGN ('(SAPLBUD_MEM)gt_but000_mem[]') TO <fs>.
IF <fs> IS ASSIGNED.
LOOP AT <fs> ASSIGNING <fs2>.
IF <fs2> IS ASSIGNED.
IF <fs2>-partner_guid = ws_but000-partner_guid.
<fs2>-bu_sort1 = 'WEB UI'.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
UNASSIGN : <fs>, <fs2>.
ENDIF.
on debugging I could figure out the program containing the data in the memory.
Before the save I accessed this program and updated the parameter as required.
Also For transaction BP this program is not available but there is another program so there is an if else based on the sy-tcode.
I need to check for other BP transactions as well but as of now this seems good.
Kindly suggest.
Taher. -
Updating field ELIKZ EKPO on a CONTRACT(me33k) - how ?
I am updating field ELIKZ EKPO on a CONTRACT(me33k) using BAPI: BAPI_CONTRACT_CHANGE in my report program.
This BAPi give a message 'Change ELIKZ could not be effected'
MEssage ID of this message is I ME 664.
So, Is there any otherbapi or other solution to update this field.
Your help is highly appreciated.
Thanks in ADV.Basically this is specific to AFS contract.
My requirement is : When I check the 'AFS Contract close' in tcode ME32K and press 'save' button, it updates table fields ekpo-elikz & eket-j_3acci(though ME23K does other things...my requirement is to check ekpo-elikz & eket-j_3acci get updated ).
I need to do the above using my report program.
1). So inorder to achive the above, I am calling a BAPI : BAPI_CONTRACT_CHANGE in which I am setting item-no_more_del = 'X' for the contract number.
However, the field 'AFS Contract close' is specific to AFS, this BAPI_CONTRACT_CHANGE bapi does not work. It only updates ekpo-elikz and but not eket-j_3acci. So my question is BAPI_CONTRACT_CHANGE is the solution for this ?
2). Is there any other way to achieve the above using my program other than BDC ?
Your help will be highly appreciated.
Thanks in advance -
Want to update field from product to asset using JoinFieldValue function
I am trying to write a workflow with JoinField Value Function so that I will get the Field Value=Product Quantity from Product(Content Management) in Asset which is the related information under Account.
In Asset on the basis of Product Name & ProductID, i want to update that field=Product Quantity in Asset.
JoinFieldValue('<product>','<productid>','<product quantity>')
i have tried this workflow under Asset record type with Trigger Event as When Modified record Saved.
I need this to see the product quantity frm product for Available to Promise purpose.
Pls help me out.
Regards
MangeshTnaks Venky for your Reply.
I have written the exact workflow.
I have created the Custom Field as Product Quantity in Product.In Account record type related info I have renamed Asset as Product Purchased & added field Product name & Product Quantity(Custom Field-Number) as read only.I have aslo added the productID Field(renamed from row ID in both product & assest record type).
Product Name=A ProductID=123 Product Quantity=READ ONLY ---PQ & PID are coming from Product record type.Same way i want the Product Quantity field should come from Product Record type.
If i require Product A from Product record Type(Inventory) with 10 Quantity in Required Product Quantity as Custom Field then when i save the Information or as a Modified Information,the Product Quantity field shoul be automatically upadted with the Value provided in Product Quantity field in Product Record Type.
Regards
Mangesh -
To update the BSEG TABLE in MIRO transaction (when saving)
Hi,
When MIRO transaction is saved, an user-exit should be triggered to update the 3 fields like ESRNR,ESRRE & ZLSPR Now what I am looking is , to update the 3 fields in tables BKPF or BSEG. Because when a MIRO is saved , 2 document number is created (1 in Accounting document and the other in Invoice document ).
So is there any user-exit or BADI to update BSEG /BKPF in transaction MIRO.
Kindly help me
It is very urgent.
Thanks in advance
Points will be rewarded.check in se18.
MRM_HEADER_CHECK BAdI for Additional Checks of the Document Header Dat
MRM_HEADER_DEFAULT BAdI for Additional Checks of the Document Header Dat
MRM_MRIS_HDAT_MODIFY BAdI for Changing Document Header Data for Invoicing
MRM_MRIS_IDAT_MODIFY BAdI for Changing Document Lines for Invoicing Plan
MRM_MRKO_HDAT_MODIFY BAdI for Changing Vendor and Document Type for Consig
MRM_PAYMENT_TERMS BAdI for setting the terms of payment
MRM_RELEASE_CHECK BAdI for Additional Checks Before Invoices are Releas
MRM_TOLERANCE_GROUP BAdI for setting the vendor-specific tolerance group
MRM_TRANSACT_DEFAULT BAdI for preassigning various transaction fields
MRM_UDC_DISTRIBUTE BAdI for distributing unplanned delivery costs
MRM_WT_SPLIT_BY_ISO BADI: Country-Dependent Split of Source Control Data
MRM_WT_SPLIT_UPDATE BAdI for Changing Withholding Tax and Amount Split
search terms are MR* in se18.
User exits
Maintain Customer Exits for Invoice Verification
The following SAP enhancements are available for maintaining the customer exits in Invoice Verification:
MM08R001 ERS (conventional Invoice Verification)
MM08R002 Tolerance checks
LMR1M001 Transfer of document header and item data,
account assignment proposal for invoices for blanket
POs
LMR1M002 Account grouping for GR/IR account determination
LMR1M003 Number assignment in Logistics Invoice Verification
LMR1M004 Item text in follow-on documents
LMR1M005 Change criteria for releasing parked documents for
posting
LMR1M006 Change XML data for BAPI call CreateFromData
RMVKON00 Consignment/pipeline settlement
MRMH0001 ERS (Logistics Invoice Verification)
MRMH0002 EDI invoice receipt (Logistics Invoice Verification)
MRMH0003 Revaluation (Logistics Invoice Verification)
MRMN0001 Message output for Invoice Verification
more info check in SPRO.
regards
Prabhu -
Making a field mandatory in MIRO transaction
Hi all,
I have an issue like this
In the MIRO Transaction , for credit memo , I need to make the field INV.REF. as a mandatory field.
Kindly suggest me on this .
thanks,
SumitHi,
1.- in transaction OLMRLIST enter:
Transaction = MIR7
screen variant = ZWHATEVER
Program = SAPLFDCB
screen = 20
2.- click on button create (here you´ll go to transaction MIRO)
3.- Click on button "save" and a popup will appear
4.- Click on button "continue"
5.- Click on "Back" and here you will see the variant details
6.- Look for row of field "Inv.Ref." and check the checbox of column "Required"
7.- Save and activate
8.- Later on you can modify your variant too
Best regards.
Edited by: Pablo Casamayor on Apr 15, 2009 12:02 PM -
Which field from idoc INVOIC01 maps to Item Text field in MIRO transaction?
Hi
Will anybody please tell me which of the field in which segment of IDOC INVOIC01 maps to Item text (INVFO-SGTXT) field in Basic data tab of MIRO transactionThanks Ravi for your response.
But I have tried with all fielsd related to texts in IDOC but it is not being filled in transcation .
If you see the F4 help in text field then Text Id is four character and when I manually assign this in transactin then it is putting = symbol in fron of the id. And then if we save or go to other tab then it is filling text.
I am not able to find the error bcoz document is being posted through idoc but text field is not getting filled. -
PHP Show if hides update fields, but they get overwritten with an empty string
I have an issue with a page where some update fields are displayed depending on who is logged, for example:
<?php if ($row_Users['UserID']=="101"){ ?>
<input <?php if (!(strcmp($row_lodges['101_finalist'],"Yes"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="101_finalist" value="Yes"/>
<input type="text" class="rankfield" name="101_rank" value="<?php echo($row_lodges['101_rank']); ?>" />
<?php } ?>
<?php if ($row_Users['UserID']=="102"){ ?>
<input <?php if (!(strcmp($row_lodges['102_finalist'],"Yes"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="102_finalist" value="Yes"/>
<input type="text" class="rankfield" name="102_rank" value="<?php echo($row_lodges['102_rank']); ?>" />
<?php } ?>
The issue I have is that if User101 is logged in and updates fields 101_finalist and 101_rank, it overwrites 102_finalist and 102_rank with an empty string.
Is it possible to prevent each user from seeing the other fields for other users, and prevent the existing values for those other users not be overwritten?
Hope that makes sense!
Thank you.That would mean multiple nominations when really there only needs to be one nomination per category in any given country.
It would be:
1, 345, 101, Borana Lodge, 7, 2, Yes, 1
1, 345, 102, Borana Lodge, 7, 2, Yes, 3
1, 345, 103, Borana Lodge, 7, 2, No, NULL
Instead of:
1, 345, Borana Lodge, 7, 2, Yes, 1, Yes, 3, No, NULL
Sorry, Lodge isn't in the nominations table, the list above is what is displayed on the site. Lodge gets looked up in the Ldoges table.
At the moment it works like this:
People can visit a website and vote for lodges in different categories, giving them a score out of 10 for each.
If a lodge gets a vote in a particular category an admin person creates a nomination for that lodge, in that category.
And the last bit is where judges login and tag the ones they think should be finalists. -
How to update fields in multiple tables ?
Dear all,
What is the fastest way to update fields in multiple tables... from a single change table...as below is my code to update the fields but it is taking long time to update as i need to keep log file if any one update fails....
CREATE OR REPLACE
package body DO_DC_NAME_UPDATE_OTHER_TAB
as
type rowidArray is table of rowid index by binary_integer;
type custRec is record
n_cust_ref_no dbms_sql.number_table,
v_name dbms_sql.varchar2_table,
v_name_chg dbms_sql.varchar2_table,
rowid rowidArray,
changed dbms_sql.varchar2_table
procedure VALIDATE_CUST_NAME( p_n_cust_ref_no in number,p_v_name_chg in out NOCOPY varchar2, p_changed in out NOCOPY varchar2 )
is
begin
FOR cr_cust IN (SELECT --a.n_cust_ref_no,a.v_name,UPD_V_NAME, a.n_weight,a.V_LASTUPD_INFTIM
from GNMT_CUSTOMER_MASTER_CHG where n_cust_ref_no=p_n_cust_ref_no)
loop
-- v_name
if nvl(trim(cr_cust.v_name),0) != nvl(p_v_name_chg,0)
then
p_v_name_chg := p_v_name_chg;
--p_v_name := p_v_name;
p_changed := 'Y';
end if;
end loop;
end;
procedure DO_NAME_UPDATE_OTHER_TAB
is
l_record custRec;
l_array_size number default 20000;
l_done boolean;
l_cnt number default 1;
cursor c is select a.n_cust_ref_no, a.v_name,a.v_name_chg, a.rowid, 'N'
from GNMT_CUSTOMER_MASTER_CHG a--,GNMT_CUSTOMER_MASTER b
where a.v_name <> trim(a.v_name_chg); --and a.n_cust_ref_no in (1434775,1561181,1601870);
begin
open c;
loop
dbms_application_info.set_client_info
( 'processing ' || l_cnt || ' thru ' || (l_cnt+l_array_size-1) );
fetch c bulk collect into l_record.n_cust_ref_no, l_record.v_name,l_record.v_name_chg,l_record.rowid, l_record.changed
LIMIT l_array_size;
l_done := c%notfound;
--dbms_output.put_line ('message10');
for i in 1 .. l_record.n_cust_ref_no.count
loop
VALIDATE_CUST_NAME(l_record.n_cust_ref_no(i),l_record.v_name_chg(i),l_record.changed(i) );
end loop;
--dbms_output.put_line (l_record.n_cust_ref_no(i)||','||l_record.V_OCCUP_CODE(i)||','||l_record.CHANGED(i));
/*forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_CUSTOMER_MASTER q
set q.v_name = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_name) = l_record.v_name(i)
and l_record.changed(i) = 'Y';*/
-- update v_name in all the related tables
forall i in 1 .. l_record.n_cust_ref_no.count
update ADE_CUSTOMER_MASTER q
set q.v_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_name) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_POLICY_DETAIL q
set q.v_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_name) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_QUOTATION_DETAIL q
set q.v_NAME =l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_name) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update NBDT_BENEFICIARY q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSDT_NOMINATION_TRANSACTION q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSMT_POLICY_BENEFICIARY q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSMT_POLICY_TRUSTEE q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSMT_QUOTATION_BENEFICIARY q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PSMT_QUOTATION_TRUSTEE q
set q.V_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_NAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNDT_BLACKLIST_DETAIL q
set q.v_FNAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_FNAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_FNAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update INDT_LIAM_DETAIL q
set q.v_FNAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.v_FNAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.v_FNAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_POLICY q
set q.V_PAYER_NAME = l_record.v_name_chg(i)
where q.N_PAYER_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_PAYER_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PAYER_NAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_QUOTATION q
set q.V_PAYER_NAME = l_record.v_name_chg(i)
where q.N_PAYER_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_PAYER_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PAYER_NAME is not null;
commit;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_QUOTATION q
set q.V_PROPOSER_NAME = l_record.v_name_chg(i)
where q.N_PROPOSER_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_PROPOSER_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PROPOSER_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update GNMT_POLICY q
set q.V_PROPOSER_NAME = l_record.v_name_chg(i)
where q.N_PROPOSER_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_PROPOSER_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PROPOSER_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update CLMT_CLAIM_MASTER q
set q.V_CLIENT_NAME = l_record.v_name_chg(i)
where q.N_CLIENT_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_CLIENT_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_CLIENT_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update CLMT_CLAIM_MASTER q
set q.V_INTIMATOR_NAME = l_record.v_name_chg(i)
where q.N_CLIENT_REF_NO = l_record.n_cust_ref_no(i)
and trim(q.V_INTIMATOR_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_INTIMATOR_NAME is not null;
forall i in 1 .. l_record.n_cust_ref_no.count
update PYMT_VOU_MASTER q
set q.V_PAYEE_NAME = l_record.v_name_chg(i)
where q.n_cust_ref_no = l_record.n_cust_ref_no(i)
and trim(q.V_PAYEE_NAME) = l_record.v_name(i)
and l_record.changed(i) = 'Y'
and q.V_PAYEE_NAME is not null;
/*forall i in 1 .. l_record.n_cust_ref_no.count
INSERT INTO GNMT_CUSTOMER_MASTER_LOG
(N_CUST_REF_NO, V_TITLE_CODE, V_NAME, D_BIRTH_DATE, V_SEX, V_RELIGION_CODE, V_NATION_CODE, V_OCCUP_CODE, V_ALIVE, V_SMOKER,
N_NO_STICKS, D_DEATH_DATE, V_BUMI_NON_BUMI, V_AGE_ADMITTED, V_SHORT_NAME, V_FIRST_NAME, V_LAST_NAME, V_EMAIL, V_DESIGNATION,
N_HEIGHT,N_WEIGHT,V_TITLE_CODE_CHG, V_NAME_CHG, D_BIRTH_DATE_CHG, V_SEX_CHG,V_RELIGION_CODE_CHG,V_NATION_CODE_CHG, V_OCCUP_CODE_CHG, V_ALIVE_CHG,
V_SMOKER_CHG, N_NO_STICKS_CHG, D_DEATH_DATE_CHG,V_BUMI_NON_BUMI_CHG, V_AGE_ADMITTED_CHG, V_SHORT_NAME_Chg, V_FIRST_NAME_Chg,
V_LAST_NAME_Chg, V_EMAIL_Chg, V_DESIGNATION_Chg,N_HEIGHT_Chg,N_WEIGHT_Chg, V_UPD_STATUS_DC,-- V_LASTUPD_PROG, V_LASTUPD_INFTIM,
V_LASTUPD_USER_DC, V_LASTUPD_PROG_DC,V_LASTUPD_INFTIM_DC
SELECT N_CUST_REF_NO, V_TITLE_CODE, V_NAME, D_BIRTH_DATE, V_SEX, V_RELIGION_CODE, V_NATION_CODE, V_OCCUP_CODE, V_ALIVE, V_SMOKER,
N_NO_STICKS, D_DEATH_DATE, V_BUMI_NON_BUMI, V_AGE_ADMITTED, V_SHORT_NAME, V_FIRST_NAME, V_LAST_NAME, V_EMAIL, V_DESIGNATION,
N_HEIGHT,N_WEIGHT,V_TITLE_CODE_CHG, V_NAME_CHG, d_birth_date_chg, V_SEX_CHG, V_RELIGION_CODE_CHG,V_NATION_CODE_CHG, V_OCCUP_CODE_CHG, V_ALIVE_CHG,
V_SMOKER_CHG, N_NO_STICKS_CHG, D_DEATH_DATE_CHG, V_BUMI_NON_BUMI_CHG, V_AGE_ADMITTED_CHG, V_SHORT_NAME_Chg, V_FIRST_NAME_Chg,
V_LAST_NAME_Chg, V_EMAIL_Chg, V_DESIGNATION_Chg,N_HEIGHT_Chg,N_WEIGHT_Chg--, V_LASTUPD_USER, V_LASTUPD_PROG, V_LASTUPD_INFTIM
,'PROCESSED'
,user,--P_USER,
'DC_PAKAGE',
sysdate--P_DATE
FROM GNMT_CUSTOMER_MASTER_CHG where n_cust_ref_no =l_record.n_cust_ref_no(i)
--and n_cust_ref_no not in (select n_cust_ref_no from GNMT_CUSTOMER_MASTER_LOG);*/
exit when (l_done);
l_cnt := l_cnt + l_array_size;
end loop;
commit;
end;
end;
thank YouDear SeánMacGC thanks for reply,
But "a.changed" is not a field in GNMT_CUSTOMER_MASTER_CHG. what i am doing in this procedure is i am collecting bulck data and validating field by field from GNMT_CUSTOMER_MASTER_CHG with GNMT_CUSTOMER_MASTER table as their structure is same.. if v_name is not same as v_name_chg then i am setting changed flag to "Y" changed is "changed dbms_sql.varchar2_table" and updating GNMT_CUSTOMER_MASTER in bluck where changed flag ='Y'...
type custRec is record
n_cust_ref_no dbms_sql.number_table,
v_name dbms_sql.varchar2_table,
v_name_chg dbms_sql.varchar2_table,
rowid rowidArray,
*changed dbms_sql.varchar2_table*
i cannot use simple SQL as i need to validate field for each records with GNMT_CUSTOMER_MASTER_CHG and insert into log file as well.....
to run this procedure:
execute DO_DC_NAME_UPDATE_OTHER_TAB.DO_NAME_UPDATE_OTHER_TAB;
Thanks... -
Updated field in IC Agent Inbox
Hi Forum,
What is the "Updated" field in agent inbox? Am not able to see any values in that when I search for service requests. Please help me on how to show the updated date in that.
Regards,
ShridharHi Shridhar,
I am afraid the "Updated" field is not managed at all.
If you look at workbench component ICCMP_INBOX, view InboxItems, context > context nodes > tree structure > tree node proxy > double-clic on class CL_ICCMP_IN_INBOXITEMS_CN02, double-clic on method GET_LASTUPDATE. Statement "clear value." indicates no value is returned.
Now you could enhance view ICCMP_INBOX,/InboxItems with custom code, and set your own content into method CL_ICCMP_IN_INBOXITEMS_CN02->GET_LASTUPDATE.
Do not count on reporting framework to provide the value for that field. Although structure CRMT_REPORT_LOCATORLIST foresees it, it is not filled with value by search query: see method CL_CRM_QUERYAUI_RUN_BTIL->GET_RESULT_LIST to get exact list of fields returned. CREATED_AT_DATE field is part of it, but not CHANGED_AT_DATE.
But you may perform the re-read of last change date even in CL_ICCMP_IN_INBOXITEMS_CN02->GET_LASTUPDATE method, because SAP already takes advantage of user-buffering in function CRM_ORDER_READ.
So adding following code to CL_ICCMP_IN_INBOXITEMS_CN02->GET_LASTUPDATE should show you correct last update
data:
lv_header_guid type crmt_object_guid,
lt_guids type crmt_object_guid_tab,
ls_req_obj type crmt_object_name,
lt_req_obj type crmt_object_name_tab,
lt_orderadm_h type crmt_orderadm_h_wrkt,
lv_date type sydatum,
lv_time type syuzeit.
lv_header_guid ?= me->bo->get_property( 'GUID' ).
check lv_header_guid is not initial.
insert lv_header_guid into table lt_guids.
ls_req_obj = 'ORDERADM_H'.
insert ls_req_obj into table lt_req_obj.
call function 'CRM_ORDER_READ'
exporting
it_header_guid = lt_guids
it_requested_objects = lt_req_obj
importing
et_orderadm_h = lt_orderadm_h
exceptions
others = 4.
if sy-subrc is initial.
read table lt_orderadm_h into crmt_orderadm_h_wrk index 1.
if sy-subrc is initial.
CONVERT TIME STAMP crmt_orderadm_h_wrk-changed_at TIME ZONE sy-zonlo
INTO DATE lv_date TIME lv_time.
may need to convert first to strings
concatenate lv_date lv_time into value separated by space.
endif.
endif.
Hope you can use these ideas
Kind regards
Walter -
What are the security settings to lock down a form with fillable fields and yet allow someone with Reader to fill in the fields as will as save the form and print it?
You want to allow someone to open your document and fill out the form (in the fields you have created), but not change or edit the form, right? Here's the answer - assuming you are using Acrobat Pro and someone will be opening the PDF using at least Acrobat Reader 9 and up:
Tools > Protection > Encrypt < Encrypt with Password
Answer YES to change the security.
A new window opens:
Do NOT select Document Open (or that will require a password to open the document.)
Select: Permissions (Check the box next to "Restrict editing and printing of the document.")
Change the following 2 settings from the drop-down box:
Printing Allowed: Select High Resolution
Changes Allowed: Select Commenting, filling in form fields, and signing signature fields
Leave selected: "Enable text access for screen reader devices for the visually impaired"
Change Permissions Password (insert a strong password)
Leave all other settings alone in "Options"
OK - OK
Re-enter the Permissions Password (the one you entered above)
OK - OK
Save the PDF to apply the security [notice that (SECURED0 will appear after the document title] -
How to update field values in a database table using module pool prg?
hi
how to update field values in a database table using module pool prg?
we created a customized table, and we put 2 push buttons in screen painter update and display.
but update is not working?
data is enter into screen fields and to internal table, but it is not updated in database table.
thanks in adv
vidyaHI,
we already used the update statement. but its not working.
plz check this.
*& Module Pool ZCUST_CALL_REC
PROGRAM ZCUST_CALL_REC.
TABLES: ZCUST_CALL_REC,ZREMARKS.
data: v_kun_low like ZCUST_CALL_REC-kunnr ,
v_kun_high like ZCUST_CALL_REC-kunnr,
v_bud_low like ZCUST_CALL_REC-budat,
v_bud_high like ZCUST_CALL_REC-budat.
ranges r_kunnr for ZCUST_CALL_REC-kunnr .
ranges r_budat for zcust_call_rec-budat.
DATA: ITAB TYPE STANDARD TABLE OF ZCUST_CALL_REC WITH HEADER LINE,
JTAB TYPE STANDARD TABLE OF ZREMARKS WITH HEADER LINE.
*data:begin of itab occurs 0,
MANDT LIKE ZCUST_CALL_REC-MANDT,
kunnr like ZCUST_CALL_REC-kunnr,
budat like ZCUST_CALL_REC-budat,
code like ZCUST_CALL_REC-code,
remarks like ZCUST_CALL_REC-remarks,
end of itab.
*data:begin of Jtab occurs 0,
MANDT LIKE ZCUST_CALL_REC-MANDT,
kunnr like ZCUST_CALL_REC-kunnr,
budat like ZCUST_CALL_REC-budat,
code like ZCUST_CALL_REC-code,
remarks like ZCUST_CALL_REC-remarks,
end of Jtab.
CONTROLS:vcontrol TYPE TABLEVIEW USING SCREEN '9001'.
CONTROLS:vcontrol1 TYPE TABLEVIEW USING SCREEN '9002'.
*start-of-selection.
*& Module USER_COMMAND_9000 INPUT
text
MODULE USER_COMMAND_9000 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
SET SCREEN 0.
LEAVE SCREEN.
CLEAR sy-ucomm.
WHEN 'ENQUIRY'.
perform multiple_selection.
perform append_CUSTOMER_code.
PERFORM SELECT_DATA.
call screen '9001'.
WHEN 'UPDATE'.
perform append_CUSTOMER_code.
PERFORM SELECT_DATA.
call screen '9002'.
perform update on commit.
WHEN 'DELETE'.
perform append_CUSTOMER_code.
PERFORM SELECT_DATA.
call screen '9002'.
ENDCASE.
ENDMODULE. " USER_COMMAND_9000 INPUT
*& Module STATUS_9000 OUTPUT
text
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS 'ZCUSTOMER'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_9000 OUTPUT
*& Module USER_COMMAND_9001 INPUT
text
MODULE USER_COMMAND_9001 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
SET SCREEN 0.
LEAVE SCREEN.
CLEAR sy-ucomm.
endcase.
ENDMODULE. " USER_COMMAND_9001 INPUT
*& Module STATUS_9001 OUTPUT
text
MODULE STATUS_9001 OUTPUT.
SET PF-STATUS 'ZCUSTOMER'.
SET TITLEBAR 'xxx'.
move itab-MANDT to zcust_call_rec-MANDT.
move itab-kunnr to zcust_call_rec-kunnr.
move itab-budat to zcust_call_rec-budat.
move itab-code to zcust_call_rec-code.
move itab-remarks to zcust_call_rec-remarks.
vcontrol-lines = sy-dbcnt.
ENDMODULE. " STATUS_9001 OUTPUT
*& Module USER_COMMAND_9002 INPUT
text
module USER_COMMAND_9002 input.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
SET SCREEN 0.
LEAVE SCREEN.
CLEAR sy-ucomm.
WHEN 'UPDATE'.
perform move_data.
UPDATE ZCUST_CALL_REC FROM TABLE ITAB.
IF SY-SUBRC = 0.
MESSAGE I000(0) WITH 'RECORDS ARE UPDATED'.
ELSE.
MESSAGE E001(0) WITH 'RECORDS ARE NOT UPDATED'.
ENDIF.
WHEN 'DELETE'.
perform move_data.
DELETE ZCUST_CALL_REC FROM TABLE ITAB.
IF SY-SUBRC = 0.
MESSAGE I000(0) WITH 'RECORDS ARE DELETED'.
ELSE.
MESSAGE E001(0) WITH 'RECORDS ARE NOT DELETED'.
ENDIF.
endcase.
endmodule. " USER_COMMAND_9002 INPUT
*& Module STATUS_9002 OUTPUT
text
module STATUS_9002 output.
SET PF-STATUS 'ZCUSTOMER1'.
SET TITLEBAR 'xxx'.
endmodule. " STATUS_9002 OUTPUT
*& Module update_table OUTPUT
text
module update_table output.
move itab-MANDT to zcust_call_rec-MANDT.
move itab-kunnr to zcust_call_rec-kunnr.
move itab-budat to zcust_call_rec-budat.
move itab-code to zcust_call_rec-code.
move itab-remarks to zcust_call_rec-remarks.
vcontrol-lines = sy-dbcnt.
endmodule. " update_table OUTPUT
***Selection Data
FORM SELECT_DATA.
SELECT mandt kunnr budat code remarks FROM zcust_call_rec INTO
table itab
WHERE kunnr IN r_kunnr AND BUDAT IN R_BUDAT.
ENDFORM.
****append vendor code
FORM APPEND_CUSTOMER_CODE.
clear r_kunnr.
clear itab.
clear r_budat.
refresh r_kunnr.
refresh itab.
refresh r_kunnr.
IF r_kunnr IS INITIAL
AND NOT v_kun_low IS INITIAL
AND NOT v_kun_high IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kun_low
IMPORTING
OUTPUT = r_kunnr-low.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kun_high
IMPORTING
OUTPUT = r_kunnr-high.
r_kunnr-option = 'BT'.
r_kunnr-sign = 'I'.
append r_kunnr.
PERFORM V_BUDAT.
ELSEIF r_kunnr IS INITIAL
AND NOT v_kun_low IS INITIAL
AND v_kun_high IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kun_low
IMPORTING
OUTPUT = r_kunnr-low.
r_kunnr-SIGN = 'I'.
r_kunnr-OPTION = 'EQ'.
APPEND r_kunnr.
PERFORM V_BUDAT.
ELSEIF r_kunnr IS INITIAL
AND v_kun_low IS INITIAL
AND NOT v_kun_high IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_kun_low
IMPORTING
OUTPUT = r_kunnr-low.
r_kunnr-SIGN = 'I'.
r_kunnr-OPTION = 'EQ'.
APPEND r_kunnr.
PERFORM V_BUDAT.
ELSEIF r_kunnr IS INITIAL
AND v_kun_low IS INITIAL
AND v_kun_high IS INITIAL.
IF SY-SUBRC = 0.
MESSAGE I003(0) WITH 'ENTER CUSTOMER NUMBER'.
CALL SCREEN '9000'.
ENDIF.
PERFORM V_BUDAT.
ENDIF.
ENDFORM.
FORM V_BUDAT.
IF R_BUDAT IS INITIAL
AND NOT v_BUD_low IS INITIAL
AND NOT v_BUD_high IS INITIAL.
r_budat-low = v_bud_low.
r_budat-high = v_bud_high.
r_budat-option = 'BT'.
r_budat-sign = 'I'.
append r_budat.
ELSEIF R_BUDAT IS INITIAL
AND NOT v_BUD_low IS INITIAL
AND v_BUD_high IS INITIAL.
r_budat-low = v_bud_low.
r_budat-high = v_bud_high.
r_budat-option = 'EQ'.
r_budat-sign = 'I'.
append r_budat.
ELSEIF R_BUDAT IS INITIAL
AND v_BUD_low IS INITIAL
AND NOT v_BUD_high IS INITIAL.
r_budat-HIGH = v_bud_HIGH.
r_budat-option = 'EQ'.
r_budat-sign = 'I'.
append r_budat.
ELSEIF R_BUDAT IS INITIAL
AND v_BUD_low IS INITIAL
AND v_BUD_high IS INITIAL.
IF SY-SUBRC = 0.
MESSAGE I002(0) WITH 'ENTER POSTING DATE'.
CALL SCREEN '9000'.
r_budat-low = ''.
r_budat-option = ''.
r_budat-sign = ''.
ENDIF.
ENDIF.
ENDFORM.
*& Form update
text
--> p1 text
<-- p2 text
form update .
commit work.
endform. " update
*& Form move_data
text
--> p1 text
<-- p2 text
form move_data .
clear itab.
refresh itab.
move-corresponding zcust_call_rec to itab.
MOVE ZCUST_CALL_REC-MANDT TO ITAB-MANDT.
MOVE ZCUST_CALL_REC-KUNNR TO ITAB-KUNNR.
MOVE ZCUST_CALL_REC-BUDAT TO ITAB-BUDAT.
MOVE ZCUST_CALL_REC-CODE TO ITAB-CODE.
MOVE ZCUST_CALL_REC-REMARKS TO ITAB-REMARKS.
APPEND ITAB.
delete itab where kunnr is initial.
endform. " move_data
thanks in adv
vidya
Maybe you are looking for
-
Greetings my fellow blackberry users. I have a question pertaining to sending pics taken from my curve 8330. I know that I can send pics via email, but can I send a pic as a text from my phone to another phone? Thanks
-
Where can I find the app upgrade feature in genius???
Please see the screen shot above. This was from an article dated 2010 when genius first came out. It stated that genius had a feature that would let you know what apps that you had installed on an iphone could be upgraded to the app made for ipad. Ha
-
How to edit email account in blackberry 8900
Dear all, I have installed my yahoo email address on my BB 8900, before some of a days I changed the password of my yahoo email address from PC, now I can not receive or send emails form BB, I tried to update the new password in BB but I have no idea
-
Oracle 9i and Linux 7.2 Suse
Hi: Please let me know if i,m right... I,m newie and i would like to install Oracle 9i Database over Linux 7.2.Do i have to download the linux vesion of the database? Somebody knows if there is an installation guide for this? Where can i get the data
-
Asynchronous function module - why RFC ?
Hi, I am using CALL FUNCTION ... STARTING NEW TASK ... DESTINATION 'NONE' to start an asynchronous process. For this to work, the called function module must be unfortunately RFC enabled. Actually I do not want that anybody external can call this. Ca