Reg: Generating  custom number instead of system generated no in ME21n

Hi Experts,
                  I need to know user exits or Badi to generate custom number instead of system generated number while saving p.o ME21n transaction.
Regards,
Vikram.S

Vikram,
Instead of doing it programatically , ypu can satisfy your requirement in configuration settings.
check SPRO with the help of functional consultant.

Similar Messages

  • 7 character field to purchase order ,customer number

    please help
    1)
    data : kunnr1(7) type c.
    data : kunnr like kna1-kunnr.
    kunnr1 has only field length 7 and it is of type character.
    kunnr is a sap field.
    everytime i need to fill the data from the field kunnr1 to sap kunnr and pass to bdc .
    suppose kunnr1 = 1930903 ie 7 characters .
    and in sap shall i simply copy like this
    kunnr = kunnr1. " will this work
    or
    concatnate '000' kunnr1 to kunnr.
    or
    any other one .
    2)same with the purchase order number.
    data : po(7) type c.
    dat : bstdk type vbak-bstdk.
    po = asdefgr
    bsdtk = po
    or
    concatenate '' po to bsdtk.
    if i assign value from po to bsdtk will at end command will work on bstdk?
    example
    loop at itab into workarea.
    at last bsdtk." i need this to work so tell me how to assign the value from po to bsdtk
    endloop.

    i checked the customer number in sap system,
    in the sales order it is stored as 1277494
    i checked in vbak table and it is stored as 1277494and rest blank spaces.
    i checked in kna1 table , the same kunnr is stored as 0001277494.
    why is this difference?
    so i need to use the 'CONVERSION_EXIT_ALPHA_INPUT' for kunnr?
    I checked for po but that is stored as a charater format and no need to add the leading zeros, is that right?
    I used CONVERSION_EXIT_MATN1_INPUT for material do i need to use CONVERSION_EXIT_ALPHA_INPUT for material also?
    thank you for the solutions given.

  • Generate WP_PLUXX to a logical system(LS) instead of store customer(KU)

    Hi Guys,
    Is is possible to generate an WP_PLUXX idoc to a partner profile of logical system without having store created as a partner profile?
    We have a situation wherein the messages(new articles, price changes etc) belonging to different stores (from SAP) are received in a central hub and then transmitted to the individual stores from the central hub.
    Regards,
    Selvakumar

    Hi Venu, Thanks for your reply but still the problem exists.
    1) Are you saying that the partner profile of type KU is to be created for Reference store(R110) that is assigned in the client level configuration "Logistics General - Basic data retail - General control, retail master data"?
    I tried with this option, but it is still not recognizing the partner profile of ref store (R110) as it used to recognize the individual store as partner profile. So as a result I getting the error as "29 - Error in ALE service" with message as "Entry in outbound table not found".
    I did couple of analysis in the programs associated with WPMA and WPMU and understood that the system picks up the customer number from the T001W table and it is looking for existence of partner profile for the same customer number in EDP13 table (which is not in our case). Can someone correct me if I'm wrong.
    Also is there any standard option to trigger the idocs WP_PLUXX or WBBDLDXX to a logical system partner type without having to create the individual partner profile for each stores?
    Let me know if you need any further clarifications.
    Regards,
    Selvakumar
    +91 96770 73827

  • How to generate a Ref-number automatically ( System Generated) in ABAP

    Hi,
         I have created a z-table where ref_number is the key field. I want to fill this table automatically by system so that whenever a new record by customer is entererd, this ref_number will be given to them with response.
    So Could any one help me out,
    Gud points will be rewar5ded for useful answers.
    Thanks in advance,
    Sunil

    Hi Sonali,
                       Thanks for you kind reply, but I am not able to get the System generated REQ_NUM and fill the table with the same. The program is as follows,
    Could you help me out,
    INCLUDE MZFIRSTPAGETOP                          .    " global Data
    TABLES: ZCHP_CUST_INFO.
    *DATA: OKCODE LIKE SY-UCOMM.
    DATA:   CNAME LIKE ZCHP_CUST_INFO-CREATED_BY,
            REQTYP LIKE ZCHP_CUST_INFO-REQUEST_TYPE,
            DESC LIKE ZCHP_CUST_INFO-SHORT_TEXT,
            PRIO_TYPE LIKE ZCHP_CUST_INFO-PRIORITY_TYPE,
            EFFECTIVE_DATE like ZCHP_CUST_INFO-REQUIRED_STR_DAT,
            COMM_TYP like ZCHP_CUST_INFO-MODE_OF_COMM,
            COMM like ZCHP_CUST_INFO-ADDRESS,
            REF_NUM LIKE ZCHP_CUST_INFO-REQ_NUM.
    *&      Module  STATUS_0100  OUTPUT
          text
    MODULE STATUS_0100 OUTPUT.
      SET PF-STATUS 'FOR1000'.
      SET TITLEBAR '1000'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    INCLUDE MZFIRSTPAGEO01                          .  " PBO-Modules     *
    INCLUDE MZFIRSTPAGEI01                          .  " PAI-Modules     *
    INCLUDE MZFIRSTPAGEF01                          .  " FORM-Routines   *
    *&      Module  USER_COMMAND_1000  INPUT
          text
    MODULE USER_COMMAND_1000 INPUT.
    CASE SY-UCOMM.
      WHEN 'SUBMIT'.
            ZCHP_CUST_INFO-CREATED_BY = CNAME.
            ZCHP_CUST_INFO-REQUEST_TYPE = REQTYP.
            ZCHP_CUST_INFO-PRIORITY_TYPE = PRIO_TYPE.
            ZCHP_CUST_INFO-SHORT_TEXT = DESC.
            ZCHP_CUST_INFO-CREATED_ON = EFFECTIVE_DATE.
            ZCHP_CUST_INFO-MODE_OF_COMM = COMM_TYP.
            ZCHP_CUST_INFO-ADDRESS = COMM.
    INSERT ZCHP_CUST_INFO.
    COMMIT WORK.
    *GENERATING A REF_NUMBER.
    CALL FUNCTION 'NUMBER_GET_NEXT'
    EXPORTING
    nr_range_nr = '01'
    object = 'ZCHP_CUST_INFO'
    QUANTITY = '1'
    SUBOBJECT = ' '
    TOYEAR = '0000'
    IGNORE_BUFFER = ' '
    IMPORTING
    number = ZCHP_CUST_INFO-REQ_NUM " specify ur wa field
    QUANTITY =
    RETURNCODE =
    EXCEPTIONS
    interval_not_found = 1
    number_range_not_intern = 2
    object_not_found = 3
    quantity_is_0 = 4
    quantity_is_not_1 = 5
    interval_overflow = 6
    buffer_overflow = 7
    OTHERS = 8.
    WHEN 'RESET'.
           CLEAR: CNAME,REQTYP,PRIO_TYPE,
    DESC,EFFECTIVE_DATE,COMM_TYP,COMM.
      WHEN 'CANCEL'.
            LEAVE PROGRAM.
    ENDCASE.
    ENDMODULE.                 " USER_COMMAND_1000  INPUT
    Thanks in advance,
    Sunil K Shetty

  • System generated tickets and customer generated tickets

    what are system generated tickets and customer generated tickets.
    Edited by: jyothys9 on Mar 15, 2010 6:56 AM

    Hi,
    I hope you are asking about Support project scenarioes.It depends on project and Client. Beased in tools in Customer help desk you will get this kind of tickets. i.e. we can manually assifn the calles to BW Consultans, else once use will raise one request then it will automatically come to you mail box like that they will define/configure the hlpdesk tools.
    Thanks
    Reddy

  • System generated number

    Hi all,
    I m developing a module pool with z table 1 Header & 1 Item table. Now I would like  to ask how I can get system generated number for the pk filed supose gate pass number and my filed type is char 10.
    When user enter a new entry then system will auto generqte the gpass number .
    so pls let me know if any one can help me to do this job.
    Thanks in advance.
    manju

    Hey Manju,
    first pre determine what range your number should be having , like  starting from 0000000001 like that or 1000000001 etc, after that  :
    Scenario 1 ( if you have to show the number as a field  on the screen)
    write a select query in the PBO of the screen as below
    let the field name be gateno.
    select max(gateno)
              from <dbtab>
              into < var1>.
    this will fetch the last number and then you can increase it.
    if syst-subrc is initial.
    var1 = var1 + 1.
    endif.
    move the value of var1 to the screen field name.
    Scenario 2 ( If you just need to update in the database table)
    write the above select query in the PAI module of the screen when the user performs some action like SAVE.
    Hope this helps,
    reward if useful,
    Regards ,
    RK

  • Reg - sap generated document number

    hi all,
          In fv60 transaction code,if u save a document,sap will generate a documnet number,how to find to which table the generated document number is saved???????
    plz help me with this regard,
                          very very urgent....
    regards,
    balaji.s

    hi madhavi,
                    thx,it worked,thanks a lot.....
    regards,
    balaji.s

  • System generated column names

    Version - Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    I see some system generated column names(like SYS_C00009_13061211:44:57$,SYS_C00033_13061211:44:57$) in ALL_TAB_COLS view for a partitioned table, not sure how they got created in the first place and tabledoesn't have any virtual columns. Is it something if we drop a column from table and oracle trying to keep them in the dictionary? when i describe the table these "SYS_C00" columns are not showing.
    I am trying to exchange the partition with staging (similar structure) table, but i end up with this error "
    14097. 00000 -  "column type or size mismatch in ALTER TABLE EXCHANGE PARTITION"
    *Cause:    The corresponding columns in the tables specified in the
               ALTER TABLE EXCHANGE PARTITION are of different type or size
    *Action:   Ensure that the two tables have the same number of columns
               with the same type and size."
    Any suggestions would be appreciated.
    Thanks,
    sg

    I have found my solution to this problem.
    My table is compressed table and when i try to drop some of the columns oracle marking them as unused(SYS_CO with timestamp) instead of dropping them. For partition exchange i have created same number of columns as original table in the same order and marked the "dropped" columns as unused on a temporary table. Now i can able to exchange the partition with out any issues
    Thanks to Jonathan and Connor.
    EXCHANGE PARTITION those pesky columns | Learning is not a spectator sport

  • BAPI_ACC_DOCUMENT_POST & generated document number

    Hi,
    I am using BAPI function BAPI_ACC_DOCUMENT_POST to post financial documents in the system. My question is, how properly retrieve generated document number (BKPF-BELNR). We are using internal document number generation so the function generates document number. But, function itself, does not return generated document number. Currently, after commit I try to locate a record of generated document using reference key ... Isn't there any better way how to get generated document number?
    Tkank you.

    Yes, I found this code ... as I wrote, there is not problem if I set curtp = '10'. BUT, there is another problem, with different currencies. Then, when I try to post document in different currency that the currency of company code is, function raises error "Inconsistent currency information" ...
    here is an example, how I fill tax information, as requested:
    DATA:   docHeader     TYPE BAPIACHE09,
            accGL         LIKE BAPIACGL09 OCCURS 0 WITH HEADER LINE,
            accReceivable LIKE BAPIACAR09 OCCURS 0 WITH HEADER LINE,
            accAmnt       LIKE BAPIACCR09 OCCURS 0 WITH HEADER LINE,
            accTax        LIKE BAPIACTX09 OCCURS 0 WITH HEADER LINE,
            extension     LIKE BAPIACEXTC OCCURS 0 WITH HEADER LINE,
            tax_account   TYPE STRING,
            tax_code      TYPE STRING,
            tax_trans     TYPE STRING,
            tax_spec      LIKE ZIFPRMS-VALUE,
            itemno        TYPE N LENGTH 10.
    * initialize document header
      docHeader-bus_act    = 'RFBU'.
      docHeader-username   = sy-uname.
      docHeader-header_txt = fin_data-text.
      docHeader-comp_code  = header-company_code.
      docHeader-doc_date   = header-document_date.
      docHeader-pstng_date = fin_data-posting_date.
      docHeader-ref_doc_no = header-id_sale.
      docHeader-doc_type = params-doc_type.
    * process document items, in loop
      LOOP AT fin_items INTO fin_item.
    * initialize AR (line 1)
         accReceivable-itemno_acc = itemno.
         accReceivable-customer   = cus_data-id_contact.
         accReceivable-comp_code = header-company_code.
         CONCATENATE fin_item-text ' (receivable)' INTO accReceivable-item_text.
         accReceivable-pmnttrms = params-payment_term.
         accReceivable-pmnt_block = params-payment_block.
         IF doc_type = 'APR'.
            accReceivable-sp_gl_ind = 'F'.
         ENDIF.
         APPEND accReceivable.
    * initialize receivable amount
         accAmnt-itemno_acc = itemno.
         accAmnt-currency = fin_data-currency.
         accAmnt-curr_type = '10'.
         accAmnt-amt_doccur = fin_item-vat_base + fin_item-vat.
         IF doc_type(2) = 'CR'.
            accAmnt-amt_doccur = accAmnt-amt_doccur * ( -1 ).
         ENDIF.
         APPEND accAmnt.
         itemno = itemno + 1.
    * do not continue when posting a down payment request
         CHECK doc_type < > 'APR'.
    * initialize GL account line item
         accGL-itemno_acc = itemno.
         accGL-gl_account = params-doc_gl_account.
         CONCATENATE fin_item-text ' (revenue)' INTO accGL-item_text.
         accGL-pstng_date = fin_data-posting_date.
         accGL-tax_code = tax_code.
         accGL-doc_type = params-doc_type.
         accGL-costcenter = fin_item-cost_centre.
         APPEND accGL.
    * initialize GL amount
         accAmnt-itemno_acc = itemno.
         accAmnt-currency = fin_data-currency.
         accAmnt-curr_type = '10'.
         accAmnt-amt_doccur = - ( fin_item-vat_base ).
         IF doc_type(2) = 'CR'.
            accAmnt-amt_doccur = accAmnt-amt_doccur * ( -1 ).
         ENDIF.
         APPEND accAmnt.
         itemno = itemno + 1.
    * initialize TAX account line item
         IF STRLEN( tax_code ) > 0.
            accTax-itemno_acc = itemno.
            accTax-gl_account = tax_account.
            accTax-tax_code   = tax_code.
            accTax-cond_key   = 'MWAS'.
            APPEND accTax.
    * initialize tax amount
            accAmnt-itemno_acc = itemno.
            accAmnt-currency = fin_data-currency.
            accAmnt-curr_type = '10'.
            accAmnt-amt_doccur = - ( fin_item-vat ).
            accAmnt-amt_base = - ( fin_item-vat_base ).
            IF doc_type(2) = 'CR'.
               accAmnt-amt_doccur = accAmnt-amt_doccur * ( -1 ).
               accAmnt-amt_base = accAmnt-amt_base * ( -1 ).
            ENDIF.
            APPEND accAmnt.
            itemno = itemno + 1.
         ENDIF.
      ENDLOOP.
    * translate customer field to BAPI format
      CALL FUNCTION 'MAP2E_BAPICOBL_CI_TO_BAPIEXTC'
         TABLES    INTERNAL_CI_COBL      = cust_ext
                   EXTENSION_CODINGBLOCK = extension.
    * call BAPI function to create customer invoice
      CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
         EXPORTING DOCUMENTHEADER = docHeader
         IMPORTING OBJ_TYPE = obj_type
                   OBJ_KEY  = obj_key
                   OBJ_SYS  = obj_sys
         TABLES    ACCOUNTGL = accGL
                   ACCOUNTRECEIVABLE = accReceivable
                   ACCOUNTTAX = accTax
                   CURRENCYAMOUNT = accAmnt
                   EXTENSION1 = extension
                   RETURN = returnTab.
    Edited by: Rastislav Mojzis on Jul 9, 2008 7:18 AM

  • Generating Symbolic Number at the time of Syndication

    Hi! All
    I have the following user requirement:
    The Material number in one of the client system is in the following format-
    70000-00001, which is a symbolic number. There are already 54000 records in that particular system. These records needs to be cleaned by MDM and then syndicated back to the respective system with the number being generated in the same format ie. symbolic number and also if any record is added further, it should  generate the number in the ascending order. For Eg. 70000-00001, 70000-00002, 70000-003, etc.
    Please suggest me the best possible solution. Thanks in advance for the same.
    With Best Regards,
    Devendra Pandey

    hi,
    if you have AUTO ID field in the main table. It will generate number for each record in the ascending order only.
    for example:
    700000-00001 for this record the auto id is  001 .
    when ever you are syndicating, you can use Cust Items property in the syndicator ( concatenation of two fields).
    you can set custom delimiter for custom items.
    EX:
    1.create a custom item( ex: custom number ), in that custom tab, you can create the formula, click on that formula,
    2.select the fields, you want to concatinate, ( in our example: material number and auto ID,), this custom filed you find in the source items.
    3.map this Concatinated field to Destination item.
    4.and you can synicate
    hope this may help you,
    Regards,
    Srinivas

  • Is there any way to customise the system generated packing slip?

    Hi All,
    My customer would like to be able to add a few field to the system generated packing slip. I can see where to update things on the invoice in system emails, but couldn't see anywhere for the packing slip?
    Also there's a few random bits that get printed on the invoice that aren't part of the system invoice. Any idea how to remove? My client is printing from Chrome. See below:

    Thanks for replying @thetrickster888,
    Tried all 4 tags but none showed the phone or email on the packing slip
    {tag_addressbilling}
    {tag_addressshipping}
    {tag_recipientaddress}
    {tag_emailaddress}
    We use a pretty standard Registration-buy form and have the phone line as:
    <td><label for="HomePhone">Phone Number </label><br />
                    <input type="text" maxlength="255" class="cat_textbox" id="HomePhone" name="HomePhone" /></td>
    But still doesn't show on the packing slip. I don't know what else to do.
    I can get them all to show on the invoice but not the packing slip. The only thing I can think of is to give the factory the invoice - but then it's not set up well enough for them to mark off the checks when it's made and packed (we have special boxes on the packing slip for this) plus then they can see pricing which we try to avoid.

  • Generating the Number

    Hi
    I want to generate a number for Vendor such that it is conactenation of the Region and a SequenceNumber.
    Ex: For North & range 1-1000-----> N0001,N002....N0999
          For South & range 1-1000-----> S0001,S0002....S0999
    Similarly for East and West E0001 & W0001.
    Can anyone help me in this issue.
    Regards
    Nagalakshmi.

    The short answer is you can technically achieve this by means of an assignment.  You would have an Auto ID field and a table that stores the different ranges.  You then sum the values of the auto ID field to the range (or concat, based on what field type you define). 
    However, this may not be the best approach because then your number ranges are going to have gaps in them.  For example, if you have three ranges:
    1000-1999
    2000-2999
    3000-3999
    And you have one Auto ID field that increments every time you create a new record.  Your assignment will add the value of the auto id field to the range when you create a new record.  However, there is a problem that I will demonstrate below.
    1.  You create the first record and it's supposed to use range number 1.  The number looks like this: 1001.
    2.  You create a second record and it uses range number 2.  The number looks like this: 2002.
    3.  You create a third record and it uses range number 3.  The number looks like this: 3003.
    4.  You now create a fourth record using range number 1.  The number looks like this: 1004. 
    As you can see there is a gap of three numbers between 1001 and 1004.  This is because the Auto ID field will increment regardless of what range you are using.  This is a problem if you design your ranges to be small, because you may run out of numbers.  If you are going to use this approach, then you should design your ranges to be very large.
    Otherwise you need another approach.  At one of my clients we solved this problem by building a custom iView in the portals which used the Java API to generate the number.  We have three tables (account group, number range, number range map).  The range was dependant upon the account group that was selected.  Number range table stored all of the ranges.  And number range map allowed you to select an account group and the corresponding number range.  So when the user created a new record in the iView, our java api program would first lookup the number range mapping table and find out based on the account group which range to select from the range table (by using a key).  It would then go into the range table, increment the range value and then assign that value to the number field.
    That's one way of doing it.  But honestly, I would recommend having your remote systems generate the number when MDM pushes the record out, and then interface the number back to MDM and store it in the key mappings.

  • Generate Turing Number for form submission to prevent automated registraton

    Hi,
    How I want to have a script to generate and check a turing number. A turing number is a number the user has to read and copy in order to be able to validate a form. This avoids automated submissions. Just like when you register for yahoo mail etc it asks for this number to prevent automated registrations. Any help is appreciated.
    Thanks

    Just so happens 3 days ago, I took a few hours to research and write a few methods that generate a "turing" sequence of characters and numbers or custom and write an image, I call them viverification (vivo = life , verify = proof) images. Very simple, I have different methods for different needs in my client application code. Here are the methods:
         * Returns a random character chosen from the input charset. If the charset is an empty string returns a char
         * from the set:
         *"1AaBb2CcDdEe3FfGgHh4IiJjKk5LlMmNn6OoPp7QqRr8SsTt9UuVvWw0XxYyZz"
         * Implicit use of the java.util.Random() provides the pseudo random selection algorithm. Iteration of provided set
         * means that efficiency decreases with char set length, so use of very long charsets will incur a performance penalty.
         * If you desire simply to have a random roman letter provided , the getRandomRomanLetter(boolean)  allows returning upper case
         * or mixed case chars.
         *@param String charset -- The set of characters to use as random selection items. If you provide "eaAVB456" the output will be randomized
         * about those 8 characters returning. "e" or "B" or "4" ...in a random fashion.
         *@returns char -- A randomly selected char from the string provided as charset.
        public static char getRandomCharFromString(String charset) {
            if(charset.trim().equals("")) charset = "1AaBb2CcDdEe3FfGgHh4IiJjKk5LlMmNn6OoPp7QqRr8SsTt9UuVvWw0XxYyZz";
            java.util.Random ur = new java.util.Random();
            java.text.StringCharacterIterator sci = new StringCharacterIterator("");
            sci.setText(charset);
            sci.setIndex(ur.nextInt(charset.length()));
            return sci.current();
         * Returns a random character chosen from a character set as defined by the boolean mixed case.
         * Implicit use of the java.util.Random() provides the pseudorandom selection algorithm. Iteration of provided set
         * means that efficiency decreases with char set length, so use of very long charsets will incur a performance penalty.
         * If you desire simply to have a random letter from an arbitrary string of characters, the getRandomCharFromString(String)
          *a char from a user provided set.
         * @param boolean mixed case -- If false, returns only chars from the set [A...Z] if true returns char from set. [aAbB...zZ]
          *@returns char -- A randomly selected char from the string provided as charset.
        public static char getRandomRomanLetter(boolean mixedcase) {
            String set = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            if(mixedcase)  set = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";
            return Utilities.getRandomCharFromString(set);
         * Generates a 7 character Viverification Image used to confirm that only in vivo agents are filling out forms presented with the image.
         * The generated characters have forced capital roman letters at start and ends with 5 numerals in the center like: <p>
         * S35872F or R87356H
         * In conjunction with a confirmation field, the characters generated in the image can be matched against the returned string
         * value of those characters returned by this method to ensure a human agent filled out the form. An obfuscation diagonal line is
         *  drawn across the embedded sequence to obfuscate the image from OCR discovery techniques. This prevents bots from
         * being programmed to fill out forms or create accounts on systems built using the framework.
         * @param String path -- The fully qualified file path on the system to write the generated jpeg image file along with the file name.
         * @param int width -- The width of the generated image.  Must be long enough to accommodate the 7 characters as rendered on the generating platform to avoid truncation.
         * @param int height -- The height of the generated image.
         * @returns String -- If the Image generation succeeded, the string of the randomly generated character embedded in the generated image, empty string otherwise.
        public static String createViverificationImageAtPath(String path,int width, int height) throws IOException {
            String out = "";
            java.awt.image.BufferedImage bi = new java.awt.image.BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
            String viver = (int)((float)Math.random() * 100000) + "";
            viver = Utilities.getRandomRomanLetter(false) + viver + Utilities.getRandomRomanLetter(false);
            Graphics2D g2d =  bi.createGraphics();
           // g2d.setBackground(new Color(200,200,200));
            g2d.drawString(viver,3,height - 5);
            g2d.drawLine(0,height,width,0);
            ImageIO.write(bi,"jpeg",new File(path));
            return viver;
         * Generates a n character Viverification Image used to confirm that only in vivo agents are filling out forms presented with the image.
         * Where n is the length of the input message string.
         * In conjunction with a confirmation field, the characters generated in the image are matched against the returned string
         * value of those characters returned by this method to ensure a human agent filled out the form. This prevents bots from
         * being programmed to fill out forms or create accounts on systems built using the framework. Provides a boolean to enable
         * or disable character obfuscation using a line drawn diagonally across the image text. This prevents OCR automated tools
         * from being used to divine the characters. Accepts a custom desired string rather
         * than generating a random string as is done in createViverificationImageAtPath().
         * @param String path -- The fully qualified file path on the system to write the generated jpeg image file along with the file name.
         * @param String messg -- The desired message string to insert into the image, input image width must be long enough to accomodate the text or it will be truncated.
         * @param int width -- The width of the generated image.messg character string must be less than this width otherwise it will be truncated.
         * @param int height -- The height of the generated image.
         * @returns String -- If the Image generation succeeded, the string of the randomly generated character embedded in the generated image, empty string otherwise.
        public static String createViverificationImageAtPathWithString(String path,String messg,int width, int height,boolean obfuse) throws IOException {
            String out = "";
            java.awt.image.BufferedImage bi = new java.awt.image.BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
            String viver = messg;
            Graphics2D g2d =  bi.createGraphics();
            g2d.drawString(viver,3,height - 5);
            if(obfuse) g2d.drawLine(0,height,width,0);
            ImageIO.write(bi,"jpeg",new File(path));
            return viver;
        }You'll just need to import the requisite java packages used and you are good to go. If you want to make more complex images you can investigate the image API's further to get a more fancy (though it really is pointless to do so) minimally visually obfuscated images are all you need to thwart even the best subversive OCR (optical character recognition) algorithms that might be used by nefarious agents to spoof viverification.
    Use:
    Ideally you'd call the method as part of generating a page for an authentication or form in a dynamic fashion. (jsp /servlet) The returned string will allow the method to verify the sequence generated against the value returned by the vivo agent viewing the form. As part of validation you would write simple code to check if the string returned during the image generation doesn't match the form field for agent entry. If so you can deny the action, otherwise you can authorize it.
    Enjoy!
    Regards,
    David

  • Am getting message from MacPro that my start up disc is full - but I can't find it and can't figure out what to do to help situation. I've been making a number of imovies, which generates junk files. help?

    I am getting message from MacPro that my start up disc is full - but I can't find this "start up disc" and can't figure out what to do to help situation. I've been making a number of imovies, which generates junk files and material that I should toss in the trash, but it is not clear to me  what items I can toss and which items I can't toss. Can you help? Using the imovie "help" support the system showed me under the menu item "go" where the "start up disc" should be - but that wasn't actually available on my menu!  Thanks for your help!

    Disk Utility 
    Get Info on the icon on Desktop
    Try to move this to the MacBook Pro forum
    Your boot drive should be 30% free to really perform properly. 10% minimum
    Backup, clone, use TimeMachine, use another drive for your projects and movies, replace and upgrade the internal drive even.

  • How to find out the number of fields in generated proxy structure?

    Hi All,
    Can anybody help me to find out the number of fields in generated proxy structure in back end system along with controller fields.
    i know how to get number of fields in XI system but i want the number of fields in back end system when we generate proxy including automatically generated controller fields.
    Thanks in advance.
    Regards,
    Ujwalkumar

    U mean u want to know at runtime?
    Get the output from ur proxy as a string, count the number of "<" characters and divide it by 2. :-P
    Of course, you'll have to treat the header fields separately.
    Regards,
    Henrique.

Maybe you are looking for