Validation on currency
hiii
i have a field of 18char where i input a currency value.
This field is used to be put in a field of currency 9 and 2DP. if ever a user put more that is expected a dump of overflow will occur . i was thinking of checking the STRLEN to be not more than 12.
If there another way of doing so instead of STRLEN check.
Edited by: Matt on Jan 20, 2009 10:06 AM - don't use "hi" in the subject!
Hi,
Instead of using STRLEN, you can directly use OFFSET to move only 11 character to the decimal value.
REPORT ztest_ram.
DATA: l_char TYPE CHAR18,
l_dec(9) TYPE p DECIMALS 2.
l_char = '1234567890123456'.
l_dec = l_char+0(11).
WRITE: 'DECIMAL VALUE', l_dec.
Best Regards,
Ram.
Similar Messages
-
You must specify a valid, enabled currency. Invoice Currency is invalid
You must specify a valid, enabled currency. Invoice Currency is invalid
Hi.
Error: You must specify a valid, enabled currency. Invoice Currency is invalid
Error While creating the New supplier and creating new site for the existing supplier.
I went through the metalink document ID 1324182.1 . I have checked my functional currency INR is enabled in the GL -> currencies -> define.
and the error is still coming..
Plz Advice a solution
Thanks&Regards
Surendra ReddyHi PS, Thanks for the quick reply.
I am a newbie to this procurement.
I will explain my problem clearly.
I have used INR in my ledger.
and i have successfully created two suppliers( say supp1 and supp2) with two sites each.
and now i am trying to create a Standard Purchase Order. Initiall it is showing the currency in PO is INR and when i entered
the supplier name and site then currency is changing to UAH.(i dont know why it is changing).
thats the reason why , i try to update the invoice currency and payment currency in the supplier creation page Keypayment setup tab.
and this is showing the error: You must specify a valid, enabled currency. Invoice Currency is invalid.
and when i am try to create a new supp, then also it is showing the same error.
and finally i disabled the UAH currency also.
Thanks&Regards
Surendra Reddy. -
Intersection validation report currency
Does anyone know how to /where to change the currency symbol that appears on the intersection validatuion report? Currently showing the pound symbol. I want to change it to show no symbol?
Hello,
The Bitish Pound sign was not 'written' into the software. It is based on the currency/browser settings.
It has been suggested to have all currency symbols removed from the report during the validate fish.
I would contact support to see where the progress of this is.
Thank you, -
Validated the currency field in WEB
Dear all,
I have a develop a new WEB SRM screen, but I'm not managing to validate the Currency field when the user puts letters.
The field is of type CURR and when the user hits "enter" it puts all letters in CAP but doesn't sends any error message.
Anyone had this problem?
Thank you in advanced,
Vasco PiresHi Masa,
The screen works corretly when we run it on SAP Gui, the field has the type CURR, but when we executed on web, with a its web interface:
<input type="text" name="ZDADOS_FACT-PRC_NOVO[`j`]" value="`ZDADOS_FACT-PRC_NOVO[j].value`"
maxlength="17" size="10">
But when the users inputs the price, the system doesn't send the error box with the error message.
Thank you for your support,
Vasco -
Hello,
The problem I have is that I'm unable to validate Swedish Currency from input field.
Knowing that the correct Swedish currency format is (1 234,45) which is equivalent to (1,234.45) in USD.
Assume the following;
String S = "1 234,56";
java.text.NumberFormat currency = java.text.NumberFormat.getCurrencyInstance(new java.util.Locale("sv", "SE" ) );
String S1= (String)currency.format( 1234.56 );
the issue here when I do
System.out.println(S1.compareTo(S));
I always get (128)which means both Strings are not equal, while I'm expecting (0) as indication that both strings are equal.
When I print S , and S1, both shows the correct format of "1 234,56"
Can someone explain why these Strings (S,S1)are not equal, and what is the best way to validate Swedish currency?When I run this class:
import java.text.NumberFormat;
import java.util.Locale;
public class CurrencyLocaleTester
public static void main(String [] args)
String swedish = "1 234,56";
String americanAsStr = "1234.56";
NumberFormat formatter = NumberFormat.getCurrencyInstance(new Locale("sv", "SE"));
double american = new Double(americanAsStr).doubleValue();
String formatted = formatter.format(american);
System.out.println("swedish : " + swedish);
System.out.println("american : " + american);
System.out.println("formatted: " + formatted);
System.out.println("compareTo: " + formatted.compareTo(swedish));
}I get this result:
C:\Edu\Java\Forum>java CurrencyLocaleTester
swedish : 1 234,56
american : 1234.56
formatted: 1�234,56 kr
compareTo: 128I suspect that the difference is in that character between "1" and "2" in the formatted String. Also note the "kr" at the end.
Check your assumptions.
% -
Currency Conversion Error in Report
Hello Forum,
I got an error while executing a report, where
the demo Key Figure NET VAL IN STST CUR(0D_NETVAL_S) IS restricted to the Characteristic value Current Version of the demo object Version(0D_VERSION).
The field is showing no values and the error message is
'NO VALID SOURCE CURRENCY IS SPECIFIED FOR CURRENCY TRANSLATION
0HRFIXCUR'
Could you please help me with step by step solution to resolve this issue?
Thank you,
rajhELLO Parvahi,
Did you check OB08 in backend if maintained properly? also check validity...
also on the SRM side is below report run using SA38?
Update exchange rate tables in component system :BBP_GET_EXRATE
Hope that helps
Arshad
Edited by: arshad ahmed on Feb 9, 2010 12:06 PM -
Would like the currency in the vendor master to always default to USD.
Would like the currency in the vendor master to always default to USD.
Hi,
Currency not available in the vendor master level.
How you want to make default it, if it is not available.
If you want to post particular vendor only with the USD currency, then go for Validation as currency check in header and vendor check in line item and this works only at company code level (that means, only for one company code, if you need it to other then seperate validation you have to write and activate).
VVR -
Currency conversion error by changing the currency
Hi all,
i am facing a problem by refreshing the query with another currency. f.e. i am calling the report in Euro and then i say refresh variables and change the currency in USD. So i get the same values and the currency conversion dont work.
I get the following alert message after i change the currency and run the report.
Diagnosis
You attempted to convert a currency. The system cannot find a valid currency into which to convert the value.
System Response
The OLAP processor cannot convert the currency. The drilldown is not changed.
Procedure
Specify a valid target currency.
Procedure for System Administration
This message can only appear for Web templates in which currency conversion is set manually (using the SAP BW URL). If this message appears following a currency conversion dialog box, an SAP error has occurred; report this error using OSS.
Can someone help me before i open a OSS error. Thanks.Hi,
did you check the setting in BI for source system ?
Else just try it
RSA1 - goto source system
Expand SAP
Context Menu of Source System
There are
Global Settings
Transfer Exchange Rate
Hope it will help you ...
BVR -
Error in CXD1 (EC-CS) during Validation Check
Dear Team,
While checking the Validation for Currency Translation Method QXCR in SAP, I am getting the below error message:
80: Item 0000510001 and item 0000900000 are not the same type
Message no. GZ218
Diagnosis
The item set contains both balance sheet and income statement items.
It should however contain either balance sheet OR income statement items.
System response
Error message
Procedure
Please correct the item set.
==============================================================================================
Further, under QXCR method entries, in sequence 80, under Maintain Sets I want to remove item 900000. When I go to change Set maintenance, the system gives me the below error for Set Name: 0-40R
Objects with leading zero may not be changed
Message no. GU302
Diagnosis
You have tried to change an object whose name starts with a zero. This is not possible because these objects are reserved for SAP (for instance, examples used in training courses).
System response
The changes have not been made.
Procedure
Make the changes to a copy of the object or create a new object.
Please assist on this...
Thanks in Advance !!!Thanks Dan,
I went to CXSC Tcode and given the existing FS item 0-40R and chosen the change option, wherein I am getting the error as below:
Objects with leading zero may not be changed
Message no. GU302
Diagnosis
You have tried to change an object whose name starts with a zero. This is not possible because these objects are reserved for SAP (for instance, examples used in training courses).
System response
The changes have not been made.
Procedure
Make the changes to a copy of the object or create a new object. -
Dear friends ,
In Web Dynpro ABAP there is standard example provided for Curreny .If you know name of example please let me know .
Secondly Please give me inputs regarding validation of currency and in Web Dynpro ABAP do we have some direct mean for curreny validation .
Cheers
ParryProblem solved
-
Error while creating a new site for a supplier associated with an Employee
Hi
We create suppliers for all the employee when we get daily HR feed and create a default site OFFICE for all of them,
Now when from the front end we try creating a new supplier site HOME.
It gives an error
Address and Site Creation - Unable to create address and sites because of the following error when trying to create the site in operating unit [WorldPay US OU]: [oracle.apps.fnd.framework.OAException: Address and Site Creation - Unable to create address and sites because of the following error when trying to create the site in operating unit [WorldPay US OU]: [ MATCH_OPTION is invalid Match option is invalid Invalid Payee context values. Org parameters exist only with party site and supplier site.]. Either resolve this issue and try again or deselect the operating unit with the error and continue. Note: any new address requires at least one site in order to be created.]. Either resolve this issue and try again or deselect the operating unit with the error and continue. Note: any new address requires at least one site in order to be created.
could someone please help me with this
Thanks
Edited by: user592830 on Mar 21, 2012 10:27 AMPlease see these docs.
R12: Unable To Create A New Supplier Site. ORA-1403 Error Arises In AP_VENDOR_PUB_PKG After Patch:8889211 [ID 1053597.1]
R12: Unable to Create Non-Employee Supplier Sites after Creating Employee Suppliers due to error Supplier Site Code is Invalid [ID 1266374.1]
Cannot Create Supplier Site (Address) [ID 1069032.1]
ORA-01403 When Assigning Operating Unit during Supplier Address and Site Creation [ID 1070431.1
Unable To Create Ap Supplier Site [ID 1095616.1]
Creating Supplier Address Gets "ACCTS_PAY_CCID Is Invalid" [ID 763636.1]
Supplier Site Creation Error, Immediately After Creation Of Employee As Supplier [ID 1215016.1]
R12 Supplier Site Creation Error: You must specify a valid, enabled currency. Invoice Currency is invalid [ID 1324182.1]
When Adding a Site, Get Error Message: This Site name already exists for this supplier. Re-enter. Supplier Site Info Is Duplicate [ID 1324498.1]
Address And Site Creation Terms_date_basis Is Invalid Terms Data Basis Is Invalid [ID 1359979.1]
Thanks,
Hussein -
Dear All,
While Im loading data to 0SD_C15 cube,im getting the following error.
Cannot get a valid target currency - currency translation 0MEANTODAY BRAIN 381
Plz help me in this regards,it's urgent issue.
Regards,
Yunushi
have resolve your problem?
best regard
francoise dinatale -
HI,
in material master -foreign trade/exports tab control code is coming
BUt at bottom
Excise data section is not coming
Chapter ID
No. GRs per EI
Valid from
Currency Key
Net dealer price
PL suggesthi
1. Go to IMG Logistics General Material Master Configuring the Material master Define Structure of Data Screen for each Screen Sequence.
2. Select your screen sequence. Usually it would be 21. Select the same and click on Data Screen in the left frame.
3. Once the data screens are exhibited, select data screen no. 12, ie. SSq. 21and Scrn 12, which is u201CForeign Trade: EXport Datau201D. Select the same and click on Subcreens in the left frame.
4. Go to the last sub screen i.e. 21-12-6 - SAPLMGD1- 0001 and select the same. Click on tab view subscreen and ensure that the subscreen is blank.
5. Now in the last sub screen i.e. no.6 you delete SAPLMGD1 u2013 0001 and instead add SAPLJ1I_MATERIAL_MASTER and in the screen no. 2205.
6. Save the setting.
7. Create a Material Master and check whether in Screen Foreign Trade u2013 Export, Excise related subscreen appears -
RFBIBL00 for FB01 - BATCH INPUT ERROR
Hi,
When am trying to post from foreground i found an error
"Field DKACB-XERGO. does not exist in the screen SAPLKACB-0002"
such errors come for only certain GL account, could you provide me a solution?Hi Dear,
Call Rfbibl00 in you program and submit your structure to rfbibl00. Here is the sample code....c how i have submitted in back ground i have given commenting in code it will b easier for you.
Still issues feel free to ask.
Reward for program
DATA :w_t001 LIKE t001,
w_gjahr LIKE bkpf-gjahr,
w_poper LIKE t009b-poper,
BEGIN OF it_input1 OCCURS 0,
data(10000),
END OF it_input1,
separator(1) TYPE c VALUE ';',
input_line(10000),
count TYPE i,
i_lines TYPE i,
BEGIN OF it_input OCCURS 0,
ind(1), " indicator for feild
bldat(8), " DOC DATE
blart(2), " DOC TYPE
bukrs(4), " COMPANY CODE
budat(8), " POSTING DATE
waers(5), " CURRENCY
xblnr(16), " HEADER REF
bktxt(25), " HEADER TXT
newbs(2), " POSTING KEY
newko(17), " ACCOUNT
newum(1), " SPL GL INDICATOR
wrbtr(13), " AMOUNT IN FOR CURRENCY
dmbtr(13), " AMOUNT IN LOCAL CURRENCY
zterm(4), " PAYAMENT TERMS
zfbdt(10), " BASE LINE DATE
wt_wit(2), " WITH TAXCODE
wt_qs(15), " WITH TAXCODE
wt_qb(15), " WITH TAXAMOUNT
mwskz(2), " TAXCODE
bupla(4), " BUSINESS PLACE
newbk(4), " LINE ITEM COMAPNY CODE
kostl(10), " COSTCENTER
aufnr(12), " INTERNAL ORDER
prctr(10), " PROFIT CENTER
pernr(8), " PERSONAL NUMBER
zuonr(18), " ASSIGNMENT
xref1(12), " REF1
xref2(12), " REF2
xref3(20), " REF3
sgtxt(50), " LINE TEXT
END OF it_input,
it_tmp_input LIKE it_input OCCURS 0 WITH HEADER LINE.
DATA : file TYPE string,
file1 TYPE string.
path on which error and complete directories are placed
DATA : w_path_err(100) TYPE c VALUE '\usr\sap\DEV\interfaces\ERROR\',
w_path_comp(100) TYPE c VALUE '\usr\sap\DEV\interfaces\COMPLETE\',
w_path_capinv(200) TYPE c VALUE '\usr\sap\DEV\interfaces\IN\SETDDN\',
w_path_capinv1(200) TYPE c, "contains the path of the file in the its original directory eg SETDDN
w_path_capinv2(200) TYPE c, "contains the path of the error file in the error directory eg ERROR
w_path_capinv3(200) TYPE c. "contains the path of the file in the complete directory eg COMPLETE
type declaration for headerref
TYPES : BEGIN OF ty_input_err,
xblnr(16), " HEADER REF
item_no(4),
err_text(500),
END OF ty_input_err.
DATA : it_input_err TYPE STANDARD TABLE OF ty_input_err,
wa_input_err LIKE LINE OF it_input_err.
variables for validations
DATA : w_post TYPE c,
w_xblnr TYPE bkpf-xblnr,
w_wrbtr TYPE i,
w_wrbtr1 TYPE i,
w_wrbtr2 TYPE i,
w_newko(10) TYPE c,
w_count1 TYPE n.
DATA :
w_path LIKE rlgrap-filename,
w_file LIKE rlgrap-filename,
w_dir LIKE rlgrap-filename,
w_dir1 LIKE epsf-epsdirnam,
w_file1 LIKE epsf-epsfilnam,
w_flag TYPE i,
w_budat TYPE budat,
w_flag_s TYPE c,
w_file_comp LIKE rlgrap-filename.
DATA : BEGIN OF it_file OCCURS 0.
INCLUDE STRUCTURE epsfili.
DATA: END OF it_file.
FIELD-SYMBOLS: <fs>.
DATA: BEGIN OF bdcdata OCCURS 100.
INCLUDE STRUCTURE bdcdata.
DATA: END OF bdcdata.
DATA : BEGIN OF it_data OCCURS 0,
f1(10000),
END OF it_data.
DATA : wa_bgr00 LIKE bgr00,
wa_bbkpf LIKE bbkpf,
wa_bbkpf1 LIKE bbkpf,
wa_bbseg LIKE bbseg,
w_param_1 LIKE filename-fileintern,
x_file(500),
w_move_file LIKE epsf-epsfilnam,
w_from_dir LIKE epsf-epsdirnam.
type declaration for validations
TYPES : BEGIN OF ty_blart,
blart TYPE t003-blart,
END OF ty_blart.
TYPES : BEGIN OF ty_xblnr,
xblnr TYPE bkpf-xblnr,
END OF ty_xblnr.
TYPES : BEGIN OF ty_mwskz,
mwskz TYPE t007a-mwskz,
END OF ty_mwskz.
TYPES : BEGIN OF ty_qsskz,
qsskz TYPE t059q-qsskz,
END OF ty_qsskz.
TYPES : BEGIN OF ty_zterm,
zterm TYPE t052-zterm,
END OF ty_zterm.
TYPES : BEGIN OF ty_bschl,
bschl TYPE tbsl-bschl,
END OF ty_bschl.
TYPES : BEGIN OF ty_umskz,
umskz TYPE t074u-umskz,
END OF ty_umskz.
TYPES : BEGIN OF ty_prctr,
prctr TYPE cepc-prctr,
END OF ty_prctr.
TYPES : BEGIN OF ty_kostl,
kostl TYPE csks-kostl,
END OF ty_kostl.
TYPES : BEGIN OF ty_branch,
branch TYPE j_1bbranch-branch,
END OF ty_branch.
TYPES : BEGIN OF ty_seccode,
seccode TYPE seccode-seccode,
END OF ty_seccode.
TYPES : BEGIN OF ty_tbsl,
bschl TYPE tbsl-bschl,
shkzg TYPE tbsl-shkzg,
END OF ty_tbsl.
TYPES : BEGIN OF ty_aufnr,
aufnr TYPE aufk-aufnr,
END OF ty_aufnr.
TYPES : BEGIN OF ty_pernr,
pernr TYPE pa0001-pernr,
END OF ty_pernr.
TYPES : BEGIN OF ty_ska1,
saknr TYPE ska1-saknr,
END OF ty_ska1.
TYPES : BEGIN OF ty_lfa1,
lifnr TYPE lfb1-lifnr,
bukrs TYPE lfb1-bukrs,
END OF ty_lfa1.
internal table declaration for validation
DATA : it_blart TYPE STANDARD TABLE OF ty_blart,
it_mwskz TYPE STANDARD TABLE OF ty_mwskz,
it_umskz TYPE STANDARD TABLE OF ty_umskz,
it_xblnr TYPE STANDARD TABLE OF ty_xblnr,
it_qsskz TYPE STANDARD TABLE OF ty_qsskz,
it_zterm TYPE STANDARD TABLE OF ty_zterm,
it_bschl TYPE STANDARD TABLE OF ty_bschl,
it_prctr TYPE STANDARD TABLE OF ty_prctr,
it_kostl TYPE STANDARD TABLE OF ty_kostl,
it_branch TYPE STANDARD TABLE OF ty_branch,
it_seccode TYPE STANDARD TABLE OF ty_seccode,
it_tbsl TYPE STANDARD TABLE OF ty_tbsl,
it_aufnr TYPE STANDARD TABLE OF ty_aufnr,
it_pernr TYPE STANDARD TABLE OF ty_pernr,
it_ska1 TYPE STANDARD TABLE OF ty_ska1,
it_lifnr TYPE STANDARD TABLE OF ty_lfa1.
DATA : wa_it_tbsl LIKE LINE OF it_tbsl.
DATA : w_date TYPE sy-datum,
w_check TYPE c ,
w_item_no TYPE i.
CONSTANTS : c_under TYPE c VALUE '_',
c_ext(4) TYPE c VALUE '.txt'.
Input file
SELECTION-SCREEN BEGIN OF BLOCK inp WITH FRAME TITLE text-001.
PARAMETERS :
pr_serv RADIOBUTTON GROUP abc DEFAULT 'X',
pr_sfile TYPE filename-fileintern,
pr_lok RADIOBUTTON GROUP abc,
pr_lfile TYPE filename-fileextern.
SELECTION-SCREEN END OF BLOCK inp.
--- output
SELECTION-SCREEN BEGIN OF BLOCK out WITH FRAME TITLE text-002.
PARAMETERS : pr_group LIKE bgr00-group OBLIGATORY DEFAULT '1000EXPENSE', " batch input structure for sessiondata
pr_xkeep LIKE bgr00-xkeep DEFAULT 'X' NO-DISPLAY,
pr_max(4) TYPE n DEFAULT '8000',
callmode LIKE rfpdo-rfbifunct , " Function for Generating Posting
pr_nodta LIKE bgr00-nodata DEFAULT '/' NO-DISPLAY,
pr_out LIKE rlgrap-filename,
pr_err LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK out.
Company code and currency
SELECTION-SCREEN BEGIN OF BLOCK def WITH FRAME TITLE text-003.
PARAMETERS : pr_bukrs LIKE t001-bukrs,
pr_waers LIKE bkpf-waers.
SELECTION-SCREEN END OF BLOCK def.
Read file from server
PERFORM f001_upload_file.
*& Form create_doc
text
--> p1 text
<-- p2 text
FORM f003_create_doc.
DATA : l_count TYPE i.
DATA : w_session TYPE i.
CLEAR w_flag_s.
CLEAR l_count.
LOOP AT it_input.
IF l_count = 0 AND w_flag_s NE 'X'.
REFRESH it_data.
ENDIF.
*Commented code for background processing
IF it_data[] IS INITIAL.
PERFORM bdc_bgr00.
IF NOT w_session IS INITIAL.
APPEND wa_bbkpf1 TO it_data.
APPEND it_data.
MOVE 'X' TO w_flag_s.
ENDIF.
ENDIF.
IF NOT it_input-ind IS INITIAL.
ADD 1 TO l_count.
PERFORM header_record.
PERFORM item_record.
CLEAR w_flag_s.
ELSE.
PERFORM item_record.
ENDIF.
IF l_count > 18 .
PERFORM save_on_server.
PERFORM post_document.
ADD 1 TO w_session.
l_count = 0.
REFRESH it_data.
ENDIF.
ENDLOOP.
IF NOT it_data[] IS INITIAL.
PERFORM save_on_server.
PERFORM post_document.
ENDIF.
*moving the file name to temporary variable.
CONCATENATE w_path_comp it_file-name INTO w_path_capinv3.
OPEN DATASET w_path_capinv3 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*w_path_capinv2 contains the path of the error file.
*so all of the content of it_input is tranfered to file which is stored in the error.
LOOP AT it_input.
TRANSFER it_input TO w_path_capinv3 .
IF sy-subrc NE 0.
MESSAGE i001(mg) WITH w_path_capinv3 . " error writing to sequential file
MESSAGE a099(mg). " processing terminated
ENDIF.
ENDLOOP.
CLOSE DATASET w_path_capinv3.
CLEAR w_path_capinv3.
*After successful posting of the file that file is deleted form its original directory.
CONCATENATE w_path_capinv it_file-name INTO w_path_capinv1.
DELETE DATASET w_path_capinv1.
CLEAR w_path_capinv1.
-------------- save file on appl. server -----------------
perform save_on_server.
-------------- call RFBIBL00 -----------------------------
perform call_rfbibl00.
ENDFORM. " create_doc
*& Form header_record
text
--> p1 text
<-- p2 text
FORM header_record.
PERFORM fill_in_nodata_character CHANGING wa_bbkpf.
wa_bbkpf-stype = '1'.
wa_bbkpf-tcode = 'FB01'.
Check the file is for the valid company code.
SELECT SINGLE * INTO w_t001 FROM t001
WHERE bukrs EQ pr_bukrs.
IF sy-subrc NE 0.
MESSAGE a899 WITH text-021 pr_bukrs.
ENDIF.
Determine period
CALL FUNCTION 'FI_PERIOD_DETERMINE'
EXPORTING
i_budat = sy-datum
i_bukrs = pr_bukrs
IMPORTING
e_gjahr = w_gjahr
e_poper = w_poper
EXCEPTIONS
fiscal_year = 1
period = 2
period_version = 3
posting_period = 4
special_period = 5
version = 6
posting_date = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
wa_bbkpf-bukrs = pr_bukrs.
Document type
IF NOT it_input-blart IS INITIAL.
wa_bbkpf-blart = it_input-blart.
ENDIF.
Document date and Posting date.
IF NOT it_input-budat IS INITIAL.
wa_bbkpf-budat = it_input-budat.
ENDIF.
*new changes for background.
MOVE it_input-budat TO w_budat.
*end change.
IF NOT it_input-bldat IS INITIAL.
wa_bbkpf-bldat = it_input-bldat.
ENDIF.
Reference document number
IF NOT it_input-xblnr IS INITIAL.
wa_bbkpf-xblnr = it_input-xblnr.
ENDIF.
Currency
wa_bbkpf-waers = pr_waers.
wa_bbkpf-kursf = it_input-kursf.
IF NOT it_input-bktxt IS INITIAL.
wa_bbkpf-bktxt = it_input-bktxt.
ENDIF.
APPEND wa_bbkpf TO it_data.
MOVE wa_bbkpf TO wa_bbkpf1.
ENDFORM. " header_record
*& Form item_record
text
--> p1 text
<-- p2 text
FORM item_record.
Fill BBSEG with no data character .
PERFORM fill_in_nodata_character CHANGING wa_bbseg.
wa_bbseg-stype = '2'.
wa_bbseg-tbnam = 'BBSEG'.
IF NOT it_input-newbs IS INITIAL.
wa_bbseg-newbs = it_input-newbs.
ENDIF.
IF NOT it_input-newko IS INITIAL.
wa_bbseg-newko = it_input-newko.
ENDIF.
IF NOT it_input-newum IS INITIAL.
wa_bbseg-newum = it_input-newum.
ENDIF.
IF NOT it_input-wrbtr IS INITIAL.
wa_bbseg-wrbtr = it_input-wrbtr.
ENDIF.
IF NOT it_input-dmbtr IS INITIAL.
wa_bbseg-dmbtr = it_input-dmbtr.
ENDIF.
IF NOT it_input-zterm IS INITIAL.
wa_bbseg-zterm = it_input-zterm.
ENDIF.
IF NOT it_input-zfbdt IS INITIAL.
wa_bbseg-zfbdt = it_input-zfbdt.
ENDIF.
wa_bbseg-zfbdt = w_budat.
IF NOT it_input-wt_wit IS INITIAL.
wa_bbseg-qsskz = it_input-wt_wit.
ENDIF.
IF NOT it_input-wt_qs IS INITIAL.
wa_bbseg-qsshb = it_input-wt_qs.
ENDIF.
IF NOT it_input-wt_qb IS INITIAL.
wa_bbseg-qsfbt = it_input-wt_qb.
ENDIF.
IF NOT it_input-mwskz IS INITIAL.
wa_bbseg-mwskz = it_input-mwskz.
ENDIF.
IF NOT it_input-bupla IS INITIAL.
wa_bbseg-bupla = it_input-bupla.
ENDIF.
IF it_input-ind IS INITIAL AND NOT it_input-newbk IS INITIAL.
wa_bbseg-newbk = it_input-newbk.
ENDIF.
IF NOT it_input-kostl IS INITIAL.
wa_bbseg-kostl = it_input-kostl.
ENDIF.
IF NOT it_input-aufnr IS INITIAL.
wa_bbseg-aufnr = it_input-aufnr.
ENDIF.
Changes for background processing
IF it_input-newbs NE '34' AND it_input-newbs NE '24'.
IF NOT it_input-prctr IS INITIAL.
wa_bbseg-prctr = it_input-prctr.
ENDIF.
ENDIF.
end of changes.
IF NOT it_input-pernr IS INITIAL.
wa_bbseg-pernr = it_input-pernr.
ENDIF.
IF NOT it_input-zuonr IS INITIAL.
wa_bbseg-zuonr = it_input-zuonr.
ENDIF.
IF NOT it_input-xref1 IS INITIAL.
wa_bbseg-xref1 = it_input-xref1.
ENDIF.
IF NOT it_input-xref2 IS INITIAL.
wa_bbseg-xref2 = it_input-xref2.
ENDIF.
IF NOT it_input-xref3 IS INITIAL.
wa_bbseg-xref3 = it_input-xref3.
ENDIF.
IF NOT it_input-wrbtr IS INITIAL.
wa_bbseg-sgtxt = it_input-sgtxt.
ENDIF.
APPEND wa_bbseg TO it_data.
ENDFORM. " item_record
*& Form post_document
text
--> p1 text
<-- p2 text
FORM post_document.
PERFORM call_rfbibl00.
ENDFORM. " post_document
*& Form upload_file
text
--> p1 text
<-- p2 text
FORM f001_upload_file.
IF pr_serv = 'X'.
MOVE '*' TO w_param_1.
CONCATENATE sy-datum '_' '*' INTO w_param_1.
PERFORM get_file_name USING pr_sfile w_param_1.
CHANGING x_file.
LOOP AT it_file WHERE name CP w_file1.
CLEAR : x_file, w_path,
w_move_file, w_from_dir.
REFRESH : it_input,
it_input_err.
IF w_flag IS INITIAL.
CONCATENATE w_dir it_file-name INTO x_file.
CONDENSE x_file.
TO Move file from sever for backup storing the file name and path
w_path = x_file.
CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
EXPORTING
full_name = x_file
IMPORTING
stripped_name = w_move_file
file_path = w_from_dir
EXCEPTIONS
x_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
PERFORM read_file TABLES it_input
USING x_file.
PERFORM next_steps.
CLEAR it_input_err.
REFRESH it_input.
ENDLOOP.
ELSE.
DATA : w_string TYPE string.
w_string = pr_lfile.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = w_string
filetype = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
data_tab = it_input1
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT it_input1 INTO input_line.
CLEAR: it_input, count.
DO.
ADD 1 TO count.
ASSIGN COMPONENT count OF STRUCTURE it_input TO <fs>.
IF sy-subrc = 0.
SPLIT input_line AT separator INTO <fs> input_line.
ELSE.
EXIT.
ENDIF.
ENDDO.
APPEND it_input.
ENDLOOP.
PERFORM next_steps.
CLEAR it_input_err.
REFRESH it_input.
ENDIF.
ENDFORM. " upload_file
*& Form bdc_header
text
*& Form bdc_dynpro
text
-->P_0956 text
-->P_0957 text
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. " bdc_dynpro
*& Form bdc_field
text
-->P_0961 text
-->P_0962 text
FORM bdc_field USING fnam fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
IF bdcdata-fval NE space.
APPEND bdcdata.
ENDIF.
ENDFORM. " bdc_field
*& Form bdc_items
text
*& Form fill_in_nodata_character
text
<--P_WA_BBKPF text
FORM fill_in_nodata_character CHANGING p_struc.
FIELD-SYMBOLS: <nodata_field>.
DATA: num TYPE i.
DO.
ADD 1 TO num.
ASSIGN COMPONENT num OF STRUCTURE p_struc TO <nodata_field>.
IF sy-subrc = 0.
<nodata_field> = pr_nodta.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDFORM. " fill_in_nodata_character
*& Form bdc_bgr00
text
--> p1 text
<-- p2 text
FORM bdc_bgr00.
PERFORM fill_in_nodata_character CHANGING wa_bgr00.
wa_bgr00-stype = '0'.
wa_bgr00-group = pr_group.
wa_bgr00-mandt = sy-mandt.
wa_bgr00-usnam = sy-uname.
wa_bgr00-start = sy-datum.
wa_bgr00-xkeep = pr_xkeep.
APPEND wa_bgr00 TO it_data.
ENDFORM. " bdc_bgr00
*& Form save_on_server
text
--> p1 text
<-- p2 text
FORM save_on_server.
MOVE sy-datum TO w_date.
CLEAR w_file_comp.
w_file_comp = pr_out.
CONCATENATE w_path_comp pr_out c_under w_date c_ext INTO pr_out.
OPEN DATASET pr_out FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
LOOP AT it_data.
TRANSFER it_data TO pr_out.
IF sy-subrc NE 0.
MESSAGE i001(mg) WITH pr_out. " error writing to sequential file
MESSAGE a099(mg). " processing terminated
ENDIF.
ENDLOOP.
CLOSE DATASET pr_out.
FREE it_data.
ENDFORM. " save_on_server
*& Form call_rfbibl00
text
--> p1 text
<-- p2 text
FORM call_rfbibl00.
Submit file after mapping the data to RFBIBL00
SUBMIT rfbibl00 WITH ds_name = pr_out
WITH callmode = callmode
WITH xlog = 'X'
WITH max_comm = pr_max
WITH pa_xprot = 'X'
AND RETURN.
pr_out = w_file_comp.
ENDFORM. " call_rfbibl00
*& Form get_file_name
text
-->P_P_SFILE text
-->P_W_PARAM_1 text
FORM get_file_name USING p_sfile
w_param_1.
CHANGING x_file.
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
client = sy-mandt
logical_filename = p_sfile
parameter_1 = w_param_1
IMPORTING
file_name = x_file
EXCEPTIONS
file_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
w_path = x_file.
CALL FUNCTION 'TRINT_SPLIT_FILE_AND_PATH'
EXPORTING
full_name = w_path
IMPORTING
stripped_name = w_file
file_path = w_dir
EXCEPTIONS
x_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
w_dir1 = w_dir.
w_file1 = w_file.
CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'
EXPORTING
dir_name = w_dir1
file_mask = w_file1
TABLES
dir_list = it_file
EXCEPTIONS
invalid_eps_subdir = 1
sapgparam_failed = 2
build_directory_failed = 3
no_authorization = 4
read_directory_failed = 5
too_many_read_errors = 6
empty_directory_list = 7
OTHERS = 8.
IF sy-subrc <> 0.
WRITE : / text-022.
ENDIF.
LOOP AT it_file WHERE name CP w_file1.
IF w_flag IS INITIAL.
CONCATENATE w_dir it_file-name INTO x_file.
CONDENSE x_file.
w_flag = 1.
ELSE.
EXIT.
ENDIF.
ENDLOOP.
ENDFORM. " get_file_name
*& Form read_file
text
-->P_X_FILE text
FORM read_file TABLES it_tab
USING x_file.
OPEN DATASET x_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
WRITE : / text-023.
ELSE.
DO.
READ DATASET x_file INTO input_line.
IF sy-subrc = 0.
CLEAR: it_input, count.
DO.
ADD 1 TO count.
ASSIGN COMPONENT count OF STRUCTURE it_tab TO <fs>.
IF sy-subrc = 0.
SPLIT input_line AT separator INTO <fs> input_line.
ELSE.
EXIT.
ENDIF.
ENDDO.
APPEND it_tab.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDIF.
CLOSE DATASET x_file.
ENDFORM. " read_file
*& Form validate
text
--> p1 text
<-- p2 text
FORM f002_validate .
SELECT blart
FROM t003
INTO TABLE it_blart.
IF sy-subrc NE 0.
CLEAR it_blart.
ENDIF.
SELECT saknr
FROM ska1
INTO TABLE it_ska1.
IF sy-subrc NE 0.
CLEAR it_ska1.
ENDIF.
SELECT lifnr
FROM lfa1
INTO TABLE it_lifnr.
IF sy-subrc NE 0.
CLEAR it_lifnr.
ENDIF.
SELECT mwskz
FROM t007a
INTO TABLE it_mwskz.
IF sy-subrc NE 0.
CLEAR it_mwskz.
ENDIF.
SELECT qsskz
FROM t059q
INTO TABLE it_qsskz.
IF sy-subrc NE 0.
CLEAR it_qsskz.
ENDIF.
SELECT zterm
FROM t052
INTO TABLE it_zterm.
IF sy-subrc NE 0.
CLEAR it_zterm.
ENDIF.
SELECT bschl
FROM tbsl
INTO TABLE it_bschl.
IF sy-subrc NE 0.
CLEAR it_bschl.
ENDIF.
SELECT umskz
FROM t074u
INTO TABLE it_umskz.
IF sy-subrc NE 0.
CLEAR it_umskz.
ENDIF.
SELECT DISTINCT xblnr
FROM bkpf
INTO TABLE it_xblnr.
IF sy-subrc NE 0.
CLEAR it_xblnr.
ENDIF.
SELECT prctr
FROM cepc
INTO TABLE it_prctr.
IF sy-subrc NE 0.
CLEAR it_prctr.
ENDIF.
SELECT kostl
FROM csks
INTO TABLE it_kostl.
IF sy-subrc NE 0.
CLEAR it_kostl.
ENDIF.
SELECT branch
FROM j_1bbranch
INTO TABLE it_branch.
IF sy-subrc NE 0.
CLEAR it_branch.
ENDIF.
SELECT seccode
FROM seccode
INTO TABLE it_seccode.
IF sy-subrc NE 0.
CLEAR it_seccode.
ENDIF.
SELECT bschl shkzg
FROM tbsl
INTO TABLE it_tbsl.
IF sy-subrc NE 0.
CLEAR it_tbsl.
ENDIF.
SELECT aufnr
FROM aufk
INTO TABLE it_aufnr.
IF sy-subrc NE 0.
CLEAR it_aufnr.
ENDIF.
SELECT pernr
FROM pa0001
INTO TABLE it_pernr.
IF sy-subrc NE 0.
CLEAR it_pernr.
ENDIF.
LOOP AT it_input.
CLEAR : wa_input_err,w_check.
AT NEW xblnr.
CLEAR w_item_no.
ENDAT.
AT NEW xblnr.
CLEAR w_wrbtr.
ENDAT.
w_wrbtr = w_wrbtr + it_input-wrbtr.
*checking the whether record is a header record or not.
IF NOT it_input-ind IS INITIAL.
CLEAR w_item_no.
*keeping the track of item number for error record.
w_item_no = w_item_no + 1.
*Checking the total amount in line item eq 0 or not.
IF w_wrbtr NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
CONCATENATE wa_input_err-err_text text-019 INTO wa_input_err-err_text SEPARATED BY space.
APPEND wa_input_err TO it_input_err.
ENDIF.
CLEAR : w_xblnr,w_wrbtr.
*Checking whether the record already posted or not.
READ TABLE it_xblnr
WITH KEY xblnr = it_input-xblnr
TRANSPORTING NO FIELDS.
*If record is already posted then al the line items related to that header are moved to
*the error directory saying that record already posted.
IF sy-subrc EQ 0.
MOVE it_input-xblnr TO wa_input_err-xblnr.
MOVE it_input-xblnr TO w_xblnr.
MOVE text-024 TO wa_input_err-err_text.
APPEND wa_input_err TO it_input_err.
*Setting the flag for keeping the track of the posted items.
MOVE 'X' TO w_post.
*Skipping the current record as it is already posted so no validation is done for that record.
CONTINUE.
*If the record is not posted then all the vaidation will be done and depending existanse in check table
*corresponding enrty is moved to the error table.
ELSE.
CLEAR w_post.
MOVE it_input-xblnr TO w_xblnr.
validations for document type
IF NOT it_input-blart IS INITIAL.
READ TABLE it_blart
WITH KEY blart = it_input-blart
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
MOVE text-018 TO wa_input_err-err_text.
ENDIF.
ENDIF.
*validation for company code
IF pr_bukrs NE it_input-bukrs.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
CONCATENATE wa_input_err-err_text text-005 INTO wa_input_err-err_text SEPARATED BY space.
ENDIF.
*validation for currency
IF pr_waers NE it_input-waers.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
CONCATENATE wa_input_err-err_text text-006 INTO wa_input_err-err_text SEPARATED BY space.
ENDIF.
*validation for GL account number
IF NOT it_input-newko IS INITIAL.
MOVE it_input-newko TO w_newko.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_newko
IMPORTING
output = w_newko.
READ TABLE it_ska1
WITH KEY saknr = w_newko
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
READ TABLE it_lifnr
WITH KEY lifnr = w_newko
bukrs = it_input-newbk
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
CONCATENATE wa_input_err-err_text text-029 INTO wa_input_err-err_text.
ENDIF.
ENDIF.
ENDIF.
**validation for vendor account number
IF NOT it_input-newko IS INITIAL.
MOVE it_input-newko TO w_newko.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_newko
IMPORTING
output = w_newko.
READ TABLE it_lifnr
WITH KEY lifnr = w_newko
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
CONCATENATE wa_input_err-err_text text-029 INTO wa_input_err-err_text SEPARATED BY space.
ENDIF.
ENDIF.
*validation for taxcode
IF NOT it_input-mwskz IS INITIAL.
READ TABLE it_mwskz
WITH KEY mwskz = it_input-mwskz
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
MOVE w_xblnr TO wa_input_err-xblnr.
MOVE w_item_no TO wa_input_err-item_no.
-
Error Code :-5002 Error Message :Enter valid currency , '51100000-01-001-0
Hi all,
I have found a error "Error Code :-5002 Error Message :Enter valid currency , '51100000-01-001-01'" while adding the DELIVERY document.
I have made a customer and assign then "EURO" currency and add delivery document then it prompts error.
Could anyone solve this problem. is there any setting which i am missing..??
Regards
SandeshHI Sandesh,
Check Sap note :1252328
and also check below thread of similar issue:
Re: 'Invalid Currency' error when attempting to deliver order
Hope this will solve your issue.
Thanks,
Neetu
Maybe you are looking for
-
Goods Receipt of HU in an Outbound Delivery not updating HUMSEG and Hu Hist
Hi, I have a pecuiliar prob ... I am trying to do GR (MIGO) for an Outbound Dely containing HU (non HU Stor Locn), although I am able to post the article documnet. The Gr article doc doesnt get updated in the table HUMSEG and in the HU History.
-
I am at the end of my rope, I am about ready to uninstall the whole thing and install Corel. With the latest update of Windows, my Photoshop stopped working. I tried to download and place the twain drivers that the directions told me to, but the down
-
I can't import aiff files into itunes as mp3s
I am trying to add some aiff files from an external hard drive to my itunes library. My import settings have mp3 checked under the advanced preferences and I am using the File>add to library command. When the files show up in my itunes library, they
-
Hi, My client wants to implement IPC and connect over PI to other systems. Is there some documentation on how to achieve this? Is there something like default XML messages that we can implement? thx Robert
-
I have been trying to install a purchased copy of Acrobat Standard XI on a Windows XP Pro machine and get an error message that says: " An error occured while extracting some files. Check available disk space on your computer and the write permissio