Best design practices
Which is preferable in design? I want your opinion so I can design better apps. The jsp below shows the amount of interest in an already instantiated class with the proper data loaded. I just want to show the interest to the user via jsp, but whats the best way to provide the flexibility in coding? providing more methods that do the same thing basically seems redundant and harder to maintain. Whats your opinion on which of the 5 below should I use?
creditSummer.jsp
<td><%=credit.getCurrentBalance()*credit.getApr()/100/365%></td>
<td><%=credit.getCurrentBalance()*credit.getApr()/100/365*7%></td>
<td><%=credit.getCurrentBalance()*credit.getApr()/100/365*14%></td>
<td><%=credit.getCurrentBalance()*credit.getApr()/100/12%></td>
or
<td><%=credit.getInterestPerDay()%></td>
<td><%=credit.getInterestPerWeek()%></td>
<td><%=credit.getInterestPerTwoWeeks()%></td>
<td><%=credit.getInterestPerMonth()%></td>
or
<td><%=credit.getInterest(Credit.PERDAY)%></td>
<td><%=credit.getInterest(Credit.PERWEEK)%></td>
or
<td><%=credit.getInterest("Per Day")%></td>
<td><%=credit.getInterest("Per Week")%></td>
or
<%// method signature: Credit.getInterest(int days)%>
<td><%=credit.getInterest(1)%></td>
<td><%=credit.getInterest(7)%></td>
<td><%=credit.getInterest(14)%></td> --Gregory
<td><%=credit.getInterest(1)%></td>
<td><%=credit.getInterest(7)%></td>
<td><%=credit.getInterest(14)%></td>
I prefer to use the above siginature in the JSP. Instead of doing all calculation in the view page, we can put the calculation logic in the Beans,
just use jsp to display data to the user
baiju
Similar Messages
-
Best Design practices of SAN with the MDS 9513,MDS 9509 and Brocade 8510
Hi
Am searching best design to implement CISCO MDS 9513,9509, Brocade 8510,Storage and UCS all clubbed in the topology. And please suggest me any tool to compare MDS and Brocade 8510 performance.Boomi,
Both MDS and Brocade will serve basic features of Storage networking. Both can be mix and match to achieve redundancy, which you already have. However, if you are looking for any tool or perfmon then there isn't much to compare. You can use IOmeter or Akkori. I see that you have enterprise level hardware in your setup. Not sure what other line cards you have installed and what application are running through, and if you have remote sites (SAN islands) then the real difference of features and best practices can be discussed. For example, IVR, FCIP, ISCSI, FCoE, etc.
Thanks,
Nisar
Sent from Cisco Technical Support iPad App -
Architecture Question regarding RPD (Best design practice)
Hello, I need some design help regarding the best way to build a RPD for a Bank. Your help / guidance is greatly appreciated as always:
Following is data (example)
Revenue ALL (1 million record)
Revenue by filter A ONLY (250k)
Revenue by filter B ONLY (50k)
Revenue by filter C ONLY (150k)
Revenue by filter D ONLY (25k)
Requirement:
Report Revenue ALL
Report Revenue % A of ALL = (250k / 1 million) * 100
Report Revenue % B of ALL = (50k / 1 million) * 100
Report Revenue % C of ALL = (150k / 1 million) * 100
Report Revenue % D of ALL = (25k / 1 million) * 100
Should i build this from a single FACT source or should i have something like the following:
Source one: Revenue ALL
Source two: Revenue by filter A ONLY (250k)
Source three: Revenue by filter B ONLY (50k)
Source four: Revenue by filter C ONLY (150k)
Source five: Revenue by filter D ONLY (25k)
All of these will have ONE common Bank dimension allowing me to join across if needed.
Essentially, the question is, should i use a single source table containing ALL data or have multiple sources each providing me exactly what i am looking for?
Thanks,
JesI would use single source data at ALL level and then filter it as needed.
user
100.00 * count (column filterd by ..) / count (column)
to get your percentages. -
Good resources for Best OOP Practices?
As my coworkers and I dip our toes into OOP, we're looking for best practices/guidelines to follow.
We already took the basic OOP course from NI and watched a few intro presentations.
What are some other guides, documents, or books people can recommend for solid OOP design practices? LabVIEW-specific guides are especially appreciated, as none of us have a strong CS background. But anything will help.
Thanks.
http://linkd.in/mikeleUnfortunately there is a simple check list you can employ. OO programming is somewhat an art and there are many ways to solve the same problem. Some are obviously better than others but you can find multiple ways of doing the same thing. A few things to consider is that when using inheritance your child classes should always be more specific than it's predecessor. Avoid adding methods or class data to a parent which is only used by some of the children. Generally everything in the parent should apply equally to all children. Don't be scared off of using inheritance. It is quite powerful when used correctly. Prior to coding use something like UML to define your classes. It is generally easy to see if you are heading in the wrong direction when the classes are placed on paper and you see the relationships between objects and how they are used.If you find yourself repeating some functionality inside multiple classes you may want to consider creating a new class and create a HAS-A relationship between the classes. It is perfectly acceptable to have classes contain other classes. Speaking of HAS-A think about the relationship between classes. Identify the distinction between a HAS-A relationship and an IS-A relationship. IS-A will drvie your inheritance. HAS-A will build your library of reuseable code.
Mark Yedinak
"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot -
Best design running multiple instances of desktop based java applications b
Hi,
I am not sure if this is the right forum...
Please suggest on what should be the best design for running 10 instances of same desktop based java applications (No Enterprise or Webcomponents) on different machines BUT still using the same database.
Summary:
a) Each application will do writes/updates to same database but will run from different locations.
b) These applications will reside at different locations (example country, city) but same domain, so it will use separate JVM.
c) How to tell application where it resides and what should be the best way to determine location automatically from the network? (we would like to avoid any property setting as update will require to change this file also), if database is good approach, what should be the best design.
d) Best way to handle transaction...
for example, if one component that writes to an Oracle table, then a downstream component reads the new insert from the table. In this case what should be the best practice in the code for transaction awareness, to avoid issues.
Thanks
ValOracle runs a transaction control model on a thread--each login. All other threads will not be able to see the data that is updated or inserted until a commit is done. The same thread can, however, see the updated or inserted information as soon as the update or insert takes place a transaction commit is not needed for that to happen and it is not an error--you must do a commit to make the changes to the data visible to other users and persistent. If you do not commit the changes they will rollback once your session is terminated.
If you turn autocommit on, then each update or insert will automatically commit and be available to all users, but each statement becomes a transaction and you loose the ability to rollback any changes. -
Best deployment practices?
I've been working with LiveCycle about 4 weeks and now I'm so wondering what the best practices for deployment are.
Normally, in any software development efforts, there are three different environments (Dev - Test - Production) or two (Dev - Production) at least. And each environment has configurations so the software runs smoothly within the environment it runs on.
For example, communications between other machines (web services, database connections, etc...) are highly configurable because each environment has its own set of copies to isolate one environment from another. Unfortunately, I haven't found a way to achieve this with LiveCycle.
Say I have a process that's fully tested under development environment and want to promote it to test environment. How can I change the database connections or web services connections for test environment? And say, I have a fully functioning PDF (including web services calls in development environment) in development environment and want to promote it to test environment. How can I promote it to the next environment easily (not by modifying the PDF to interact with test environment web services)? The only way I've learned is to modify the PDF to talk to the other machines in test environment which is not feasible if you have to handle a few hundreds of PDF files and each one has tens of web services calls - Well, even if it's only one file, it shouldn't have to be this way.
I think this is very very common scenario but I haven't found any documents or help about this. And it seems that LiveCycle is not designed to cover this common development scenario.
Maybe I'm struggling because I do not know LiveCycle very well. But still it shouldn't be hard to figure this out.
So, what is the best deployment practices in LiveCycle?
Any comments or workarounds are highly appreciated.Look into using Configuration Parameters - essentially variables that can be set when you import an LCA from one system to another.
http://livedocs.adobe.com/livecycle/8.2/wb_help/001237.html -
What is the best design pattern for this problem?
No code to go with the question. I am trying to settle on the best design pattern for the problem before I code. I want to use an Object Oriented approach.
I have included a basic UML diagram of what I was thinking so far.
Stated simply, I have three devices; Module, Wired Modem, and Wireless Modem.
In the Device Under Test parent class, I have put the attributes that are variable from device to device, but common to all of them.
In the child classes, I have put the attributes that are not variable to each copy of that device. The attributes are common across device types. I was planning to use controls in the class definition that have the data set to a default value, since it doesn't change for each serial number of that device. For example, a Module will always have a Device Type ID of 1. These values are used to query the database.
An example query would be [DHR].[GetDeviceActiveVersions] '39288', 1, '4/26/2012 12:18:52 PM'
The '1' is the device type ID, the 39288 is the serial number, and the return would be "A000" or "S002", for example.
So, I would be pulling the Serial Number and Device Type ID from the Device Under Test parent and child, and passing them to the Database using a SQL string stored in the control of the Active Versions child class of Database.
The overall idea is that the same data is used to send multiple queries to the database and receiving back various data that I then evaluate for pass of fail, and for date order.
What I can't settle on is the approach. Should it be a Strategy pattern, A Chain of Command pattern, a Decorator pattern or something else.
Ideas?elrathia wrote:
Hi Ben,
I haven't much idea of how override works and when you would use it and why. I'm the newest of the new here.
Good. At least you will not be smaking with a OPPer dOOPer hammer if I make some gramatical mistake.
You may want to look at this thread in the BreakPoint where i trie to help Cory get a handle on Dynamic Dispatching with an example of two classes that inherit from a common parent and invoke Over-ride VIs to do the same thing but with wildly varying results.
The example uses a Class of "Numeric" and a sibling class "Text" and the both implement an Add method.
It is dirt simple and Cory did a decent job of explaining it.
It just be the motivation you are looking for.
have fun!
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction -
Best Design : for a SOAP -XI - BAPI ( Multiple )
Hi all,
Need your suggestion on best design to implement a SOAP -XI - BAPI ( Multiple calls ) scenario.
NON SAP Application will make a SOAP service call to XI. This service need to call 2 BAPI's ( 1st call to get some reqd params for second BAPI call ). Also secon call need a commit.
Whats the best design :
1. ABAP server proxy
2. BPM ( to handle multiple calls )
Thanks and cheers,
Anisha.<b>>>>>>( 1st call to get some reqd params for second BAPI call ). Also secon call need a commit.</b>
<i><u>1. ABAP server proxy</u></i>
Here u can have explicit coding and have better control over the process interms u will call the first bapi and the result of it will be passed to exporting parameter of the second bapi as required.
<u><i>2. BPM ( to handle multiple calls )</i></u>
performance hinders as pointed out. -
What are the best security practices for your forms and databases
What are some of the best security practices to follow to
ensure your database isn't attacked with injections, forms abused
with snippets of code, and mass spam DB inserts on your
forms?On Sat, 29 Mar 2008 17:17:01 +0000 (UTC), "jsteinmann"
<[email protected]> wrote:
>What are some of the best security practices to follow to
ensure your database isn't attacked with injections, forms abused
with snippets of code, and mass spam DB inserts on your forms?
David Powers books on php for Dw give detailed advice on how
to do
forms, first with html, and then validate them with secure
php
scripts.
http://foundationphp.com/
~Malcolm N....
~ -
Design practices from the CLD Exam Prep Guide
I have a question about design practices as stated in the CLD Exam Prep Guide found at http://ftp.ni.com/evaluation/certification/cld/cld_exam_prep_guide_english.pdf
Please refer to statements
2.e.1. Set the value or attributes of a control, statically using the property dialog box of an object, or dynamically using Property Nodes.
2.e.2. Initialize or set control values at application, load, start, and stop.
4.a.4. Use local variables to update controls.
Because the words initialize and set and update all mean to change the value and two different methods are suggested to do so, I first saw this as contradictory. Assuming there is no contradiction, it should be very clear when, where, and why each method is used.
From section 2.e I understand this to mean you should change (set) a control value at application, load, start, and stop by using Property Nodes. Thus, application, load, start, and stop shall be clearly identified within your block diagram to avoid misunderstanding.
From section 4.a I understand this to mean you should change (update - as you might do repeatedly within a while loop) a control value by using local variables everywhere else in your block diagram. If I understand this correctly, there is no contradiction. Otherwise....
Please advise! Scott Pierskalla
Certified LabVIEW Associate Developerspiersk wrote:
I have a question about design practices as stated in the CLD Exam Prep Guide found at http://ftp.ni.com/evaluation/certification/cld/cld_exam_prep_guide_english.pdf
Please refer to statements
2.e.1. Set the value or attributes of a control, statically using the property dialog box of an object, or dynamically using Property Nodes.
2.e.2. Initialize or set control values at application, load, start, and stop.
4.a.4. Use local variables to update controls.
Because the words initialize and set and update all mean to change the value and two different methods are suggested to do so, I first saw this as contradictory. Assuming there is no contradiction, it should be very clear when, where, and why each method is used.
From section 2.e I understand this to mean you should change (set) a control value at application, load, start, and stop by using Property Nodes. Thus, application, load, start, and stop shall be clearly identified within your block diagram to avoid misunderstanding.
From section 4.a I understand this to mean you should change (update - as you might do repeatedly within a while loop) a control value by using local variables everywhere else in your block diagram. If I understand this correctly, there is no contradiction. Otherwise....
Please advise! Scott Pierskalla
Certified LabVIEW Associate Developer
Scott,
Thank you for drawing my attention to this thread. I understand your confussion but, there is no contradiction. I will attempt to clairify the statements.
Section 2 addresses design of the GUI or, how to set up the user experience. Several questions any developer needs to ask are:
Is the data represented correctly? (what data type is needed?)
How will the user change this data? (Enum / Ring / Combo box pull-down, maybe the increment / decrement buttons, Perhaps direct text entry from the keyboard? If so do we wish to update value while typing or end text entry with "Enter"?)
How can I make it "Pretty?" (What colors are approachable, how can I present logical groupings of the data the user needs....?)
Section 2 is all about the user. Your application will be used by users and, they need to interact with your product. Design the interface correctly and they will never notice, design it poorly and they will wish to break you nose because the software just does not "FEEL" right.
Section 4 addresses Programing practices.
Avoid Localitis
Avoid sequenceitis
don't ABUSE Globals
use common design patterns
Basically "Write Software" not "Functional spaghetti code"
Writting "Good Software" in LabVIEW is one of the things that CAN BE DONE with LabVIEW. Unfortunatly, because LabVIEW is often approached by people with no understanding of Software Engineering principals, many LabVIEW applications fall into the "Functional Code" bucket and are poor "Software".
The CLD exam will require you to domenstrate that you can apply software engineering principals in the LabVIEW IDE.
Good Luck- Sling some wires!
Jeff -
How to follow best coding practices and make this code runable.
How to change this code to make it work and follow best coding practices.
This code is to add fields to internal table LIST which already exist.
In the loop are all the selections which are to be made.
But i am new to ABAP and not sure how to make this work.
please help me.
DATA: wa_list LIKE LINE OF list,
l_v_index TYPE i.
DATA: t_price_result1 TYPE STANDARD TABLE OF komv WITH HEADER LINE INITIAL SIZE 0.
DATA: wa_result LIKE LINE OF t_price_result1.
LOOP AT list INTO wa_list.
l_v_index = sy-tabix.
*GET MATERIAL DOCUMENT(MBLNR) AND DELIVERY NUMBER(XBLNR)
SELECT mkpf~mblnr
mkpf~xblnr
into (wa_list-mblnr, wa_list-xblnr )
* INTO i_list
from mkpf inner join mseg
* up to 1 rows
on mkpf~mandt = mseg~mandt
and mkpf~mblnr = mseg~mblnr
and mkpf~mjahr = mseg~mjahr
where mseg~matnr = wa_list-matnr
and mseg~charg = wa_list-charg
and mseg~kunnr = wa_list-kunnr
and mseg~sobkz = wa_list-sobkz
and mseg~werks = wa_list-werks
and mkpf~budat in budat.
"RFC3762
ENDSELECT.
wa_list-mblnr = list-mblnr.
wa_list-xblnr = list-xblnr.
* GET POSNR FROM TABLE LIPS
SELECT posnr
FROM lips
INTO list-posnr
up to 1 rows
WHERE vbeln = wa_list-xblnr AND
matnr = wa_list-matnr.
ENDSELECT.
wa_list-posnr = list-posnr.
* GET SALES ORDER #
SELECT vbelv
FROM vbfa
INTO list-vbelv
up to 1 rows
* INTO wa_list
WHERE vbeln = wa_list-xblnr.
ENDSELECT.
wa_list-vbelv = list-vbelv.
*GET PO
SELECT bstkd
FROM vbkd
INTO list-bstkd
up to 1 rows
WHERE vbeln = wa_list-vbelv
AND posnr = 0.
ENDSELECT.
wa_list-bstkd = list-bstkd.
*get serial number
SELECT SINGLE obknr
FROM ser01
INTO list-obknr
WHERE lief_nr = wa_list-xblnr
AND posnr = wa_list-posnr.
wa_list-obknr = list-obknr.
SELECT sernr
FROM objk
INTO list-sernr
up to 1 rows
WHERE obknr = wa_list-obknr.
ENDSELECT.
wa_list-sernr = wa_list-sernr.
*get date
SELECT budat FROM mkpf
INTO list-budat
up to 1 rows
where mblnr = wa_list-mblnr.
ENDSELECT.
wa_list-budat = list-budat.
*get CLP
SELECT vkorg vtweg spart
INTO (list-vkorg, list-vtweg, list-spart)
up to 1 rows
FROM vbak WHERE vbeln = wa_list-vbelv.
ENDSELECT.
wa_list-vkorg = list-vkorg.
wa_list-vtweg = list-vtweg.
wa_list-spart = list-spart.
SELECT pstyv
INTO list-pstyv
FROM vbap
up to 1 rows
WHERE vbeln = wa_list-vbelv AND posnr = wa_list-posnr.
ENDSELECT.
wa_list-pstyv = list-pstyv.
CALL FUNCTION 'Z_SD_PRICING_CONDITION'
EXPORTING
i_organization = wa_list-vkorg
i_dist_channel = wa_list-vtweg
i_division = wa_list-spart
i_customer = wa_list-kunnr
i_plant = wa_list-werks
* i_pricng_date = sy-datum
i_material = wa_list-matnr
* I_SALES_UNIT = 'EA'
* I_QUANTITY = '1.000'
i_stor_loc = '0001'
i_item_cat = 'TAN'
* I_AUART =
* I_REFRESH = 'X'
* I_KOMP =
* I_KOMK =
* IMPORTING
* E_MES_TYPE =
* E_MES_NUMBER
* E_MESSAGE =
TABLES
t_price_result = t_price_result1
* EXCEPTIONS
* CUSTOMER_NOT_FOUND = 1
* PLANT_NOT_FOUND = 2
* MATERIAL_NOT_FOUND = 3
** PLANT_MATERIAL_NOT_FOUND = 4
* SALES_DATA_NOT_FOUND = 5
* ORG_UNIT_NOT_FOUND = 6
* UNABLE_TO_CALCULATE_PRICE = 7
* UNABLE_TO_FORMAT_PRICE = 8
* MANDATORY_INFOR_MISSING = 9
* OTHERS = 10
LOOP AT t_price_result1.
IF t_price_result1-kschl = 'ZPR2'.
wa_list-kbetr = t_price_result1-kbetr.
ELSE.
wa_list-kbetr = 0.
ENDIF.
ENDLOOP.
MODIFY list FROM wa_list INDEX l_v_index.
ENDLOOP.Hi,
Lets first start from your Select Statement.....Replace your SELECT ....ENDSELECT by SELECT Into Internal Table
Your program is having a SELECT...ENDSELECT within LOOP...ENDLOOP........One should avoid doing this as far as possible.
SELECT mkpf~mblnr
mkpf~xblnr
INTO itab
for all entires i_list
from mkpf inner join mseg
on mkpfmandt = msegmandt
and mkpfmblnr = msegmblnr
and mkpfmjahr = msegmjahr
where mseg~matnr = i_list-matnr
and mseg~charg = i_list-charg
and mseg~kunnr = i_list-kunnr
and mseg~sobkz = i_list-sobkz
and mseg~werks = i_list-werks
and mkpf~budat in budat.
Restructure youe complete code with this approach and Share your Finding's.
You can also think of using a SAP Standard FM.
Anyway..What is the objective/Output of this report? -
Best Business practice document for FI.
Hi All,
where i can get the Best Business practice documents for FI. please give me Link.
Regards
Manoharhi
pls go through this link
http://help.sap.com/bp_bblibrary/600/BBlibrary_start.htm
Thanks & Regards
phaneendra -
So another in my long line of questions in trying to change the implementation of the help systems at my new employer.
So, the pressure is to convince the existing guard to toss out the old method and go with a new method... One of the issues has come up for CSH Webhelp (via RH10)...
Apparently, in the old method (where every help topic was it's own CHM - no, I'm not kidding). They kept it that way so that any time a help file was updated, they could just send out that one chm to update that one topic.
Now they are worried that if we switch to webhelp using topics in one single big project that we can't just send out a single updated file any more...
So I'm trying to get ammunition as to how updates to the help can be distributed without it being a big hassle...
We do have small updates that go out about every week, and they are afraid that going to the webhelp (1 project with lots of topics) method will require more time and effort for the techs because they will have to complete the update of a huge help system every time.
One solution we have suggested is that we only update help files on major releases and add any changes to help procedures in the Release Notes or in a separate PDF and also include a note that the help files "will be updated to reflect this change in the XX/2015 XYZ Release).
Does ANYONE have any other ideas of how distribution could be done efficiently so that we don't have to continue this "project per topic" fiasco?
HELP!!! PLEASE!!!!Amebr - you hit the nail on the head... i want to apologize to everyone for all this mass hysteria...but this has been a freaking rollercoaster... one day they are happy with the plan, the next day they decided they want to complicate it more... So now my job is to find out how viable and how tricky and perhaps how dangerous it will be to send out JUST the files that have been changed. Especially for CSH!
Anyone have any experience with this or have any advice? Peter? I suspect you might know how this might work... are they any pitfalls to watch out for.. I just have this fear of sending out a few files from an entire project... Altho, it appears when I publish, ONLY the files that have been edited in some way show a new date.. that includes non-topic files - so i'm assuming sending all those will keep the TOC, Index, and Search features working properly... as well as incoming and outgoing links from an edited topic?
Another question would be how to handle new images in a project... as the image folder tends to be the largest, i don't want to have to send the entire image folder... Thoughts...???? Advice? Jeff? Peter? Amebr? Bueller? Bueller? Bueller....?
THANKS!Best/Easiest Practice for Distribution of Webhelp files for Fat(ish) Client Application
OH... and Jeff... my apologies for the misnomer of using the term "Fat-ish" client in reference to this... I totally misspoke and should have said Mobile App... but in my mind, any time you have to download something to use it, it's a fat client... sorry! :-/ -
Orcle inventory-is it integrated and does it capture best busness practics
Hello all,
I have a basic but imp qn , for which I have tried to find a comprehensive answer but in vain
I would like to know what features in oracle apps make you say that it is integrated and captures best business practices..
provide your views or help me to find resources that will clear my query....
Thanks a lot
AnandAnand,
Your question is not clear for me to provide an answer. Basically, the shared entities like item, SOB etc provides the integration of various models and Security, Validation Rules provide the security for the data.
Make your question clear, I will try to answer.
Thanks,
Saravanan -
Oracle inventory-does it capture best business practices
Hello all,
I have a basic but imp qn , for which I have tried to find a comprehensive answer but in vain
I would like to know what features in oracle apps make you say that it is integrated and captures best business practices..
provide your views or help me to find resources that will clear my query....
Thanks a lot
AnandAnand,
Your question is not clear for me to provide an answer. Basically, the shared entities like item, SOB etc provides the integration of various models and Security, Validation Rules provide the security for the data.
Make your question clear, I will try to answer.
Thanks,
Saravanan
Maybe you are looking for
-
I have recently got an iPad two and I love it, one problem however is that when I try to download books they don't appear on the bookshelf. When I go to purchases to download them, a message pops up that says I have already purchased this item, pleas
-
How to call a action on page load in jsf
Hi all, i am having a JSF page where i want to display the records from the datatable. I have a method in bean which call database and gets the list of records. If i call this method from a link (action on this link) present on this page i can displa
-
Got AVG warning and files deleted on update of Acrobat 9. Screen shots of dialogues.
-
SEEKING SERIOUS HELP! iweb files overide content in another folder
I recently published a folder to my desktop from iweb to later upload to an FTP site and then onto my website. When it created this file, it was inserted into another folder already on my desktop and erased all those files. They are nowhere to be fou
-
I want to use to pay software,But have no ID the United States,But I have American rechargeable card,Help....