Data signatures

I'm in troubles. I've a pdf form, made with livecycle, where I've put a submit by email button with data signature. The reicever can verify the signature visually by signature tab. There is a way to verify data signatures automatically, by javascript or Formcalc? The result of the verify is given back in a object or in anything else?

Hi Cory,
Here's how you can write signatures to detect Credit Card numbers and Social Security Numbers sent in clear text over email/web. There is a chance of false positives as mentioned below but you may be able to customize this to suit your needs.
1. Corporate credit card being sent over clear in email/ web:
If we are looking at Visa/Mastercard format, which is 1234 5678 1234 5678
To add some granularity, Visa numbers begin with 4 and Mastercard with 5, and can have dashes instead of spaces in between...
so the format will be
[45]234[\x20\x2d]5678[\x20\x2d]1234[\x20\x2d]5678
where \x20 is the hexadecimal number for space and \x2d for a dash (-)
If you consider Amex format, which is 1234 123456 12345 but the numbers begin with 3...
so the format is [3]234[\x20\x2d]123456[\x20\x2d]12345
Considering the above formats, the regex will be
[45][0-9][0-9][0-9][\x20\x2d][0-9][0-9][0-9][0-9][\x20\x2d][0-9][0-9][0-9][0-9][\x20\x2d][0-9][0-9][0-9][0-9]
or
[3][0-9][0-9][0-9][\x20\x2d][0-9][0-9][0-9][0-9][0-9][0-9][\x20\x2d][0-9][0-9][0-9][0-9][0-9]
in engine string-tcp to ports 25 and #WEBPORTS. The issue with this is...if there's something that matches the string, and it's not a credit card number, the signature will still fire.
The same note applies to social security numbers.
2. Social Security Numbers being sent in clear.
The regex will be [0-9][0-9][0-9][-][0-9][0-9][-][0-9][0-9][0-9][0-9]
in string-tcp to ports 25 and webports.
Any traffic that matches this pattern will fire the sig, hence there is a chance of false positives.

Similar Messages

  • HT2480 My e-mail, exchange account, on iphone, displays an out of date signature.  My Outlook displays the correct signature but this does not appear to have replicated to my iphone.

    My e-mail, exchange account, on iphone, displays an out of date signature.  My Outlook displays the correct signature but this does not appear to have replicated to my iphone.  The standard signature still says "sent from my iphone" which is fine but I need desperately to change the exchange signature as the office address is incorrect.

    I have already tried that and this doesn't work.  The signature is pulling incorrectly from exchange but I don't know how.

  • Failure in signing Data

    Hi all,
    I have a problem in a scenario where I have to generate a signature for a part of the xml data of a message. This signature has to be moved to a special tag within the document. Therefore I created a Java Mapping where I access the keystore of the J2EE Engine and generate the signature.
    Part of the Implementation:
    InitialContext context = new InitialContext(env);
    manager = (KeystoreManager) context.lookup("keystore");
    KeyStore keyStore = null;
    keyStore = manager.getKeystore("DEFAULT");
    SsfProfileKeyStore profile = null;
    profile = new SsfProfileKeyStore(keyStore, alias, null);
    PrivateKey key = profile.getPrivateKey();
    Signature sig = Signature.getInstance("RSA"); 
    sig.initSign(key);
    sig.update(data);
    signature = sig.sign();
    When I create the InitialContext over remote and run it within the Developer Studio for example with file streams it works fine. But after import to the Integration Builder integration into an interface mapping, I get an Exception with this error:
    javax.crypto.BadPaddingException: PKCS#1 requires data at least 11 bytes shorter than the modulus!
    When I write the format of the key to the trace it is PKCS#8, as it should be.
    Do someone has an idea where the runtime thinks it should handle the signature with PKCS#1?
    Thanks
    Regards
    Olli

    Hi Oliver,
    Did you get solution to this problem. Please let me know if you have the solution. Thx

  • Mail 6 DID NOT save my rules and signatures: how do I get the RULES back?

    When I had the UNFORTUNATE idea to switch (that is to DOWNGRADE imho) from 10.6.8, the new Mail, among the MANY PROBLEMS IT CREATED TO ME (see my other posts about blocked plug-in messages, etc.), DID NOT care at all about saving my signatures and rules.
    I found the signatures as webarchives in user/library/mail/v2/mail data/signatures, and just clicked on each one and did LOTS of TIME CONSUMING copy-paste to CREATE new signatures from within mail preferences.
    I wasn't able to do the same for the MANY rules I had.
    Also, in the previous Mail, it was possible to simply do a command-f inside the To or Bcc fields to check if I had forgotten someone. Now it is NOT POSSIBLE any longer. Anyone knows ho to re-establish that possibility?
    Any help would be appreciated.

    I went back to the MUCH BETTER Snow Leopard and I have NONE of the problems I encountered with the windoz-like "lions", I have my fast and perfectly functioning computer and system with 10.6.8

  • Signature Validation SLOW

    Even though the identity is in my trusted identities the validation of signature is taking a long time. Im not sure why I need to validate at all since the identity is trusted.
    Process:
    The form contains a submit via email button which is set to sign the submission (entire submission as there may be attachments). When I import the data to a copy of the form on another machine I see in the signatures tab that the Data Signature has a question mark. Opting to validate the sig takes a long time and when the window opens the summary states "Data has been altered or corrupted" (where and how?) "The signers identity is valid" but overall diagnosis is "signature INVALID"
    what am I missing here?
    Thanks

    I've found the solution. I had several "page X of Y" fields in my form and had the signature block set to lock them after signature. Once I excluded those fields from being locked, the problem resolved itself.

  • How to sign the data with DHPrivateKey

    I am testing DH key exchange protocol. When I run the following code, it works.
    import java.io.*;
    import java.math.BigInteger;
    public class DH2 {
        private DH2() {}
        public static void main(String argv[]) {
            try {
                String mode = "USE_SKIP_DH_PARAMS";
                DH2 keyAgree = new DH2();
                if (argv.length > 1) {
                    keyAgree.usage();
                    throw new Exception("Wrong number of command options");
                } else if (argv.length == 1) {
                    if (!(argv[0].equals("-gen"))) {
                        keyAgree.usage();
                        throw new Exception("Unrecognized flag: " + argv[0]);
                    mode = "GENERATE_DH_PARAMS";
                keyAgree.run(mode);
            } catch (Exception e) {
                System.err.println("Error: " + e);
                System.exit(1);
        private void run(String mode) throws Exception {
            DHParameterSpec dhSkipParamSpec;
            if (mode.equals("GENERATE_DH_PARAMS")) {
                // Some central authority creates new DH parameters
                System.out.println
                    ("Creating Diffie-Hellman parameters (takes VERY long) ...");
                AlgorithmParameterGenerator paramGen
                    = AlgorithmParameterGenerator.getInstance("DH");
                paramGen.init(512);
                AlgorithmParameters params = paramGen.generateParameters();
                dhSkipParamSpec = (DHParameterSpec)params.getParameterSpec
                    (DHParameterSpec.class);
            } else {
                // use some pre-generated, default DH parameters
                System.out.println("Using SKIP Diffie-Hellman parameters");
                dhSkipParamSpec = new DHParameterSpec(skip1024Modulus,
                                                      skip1024Base);
            System.out.println("ALICE: Generate DH keypair ...");
            KeyPairGenerator aliceKpairGen = KeyPairGenerator.getInstance("DH");
            aliceKpairGen.initialize(dhSkipParamSpec);
            KeyPair aliceKpair = aliceKpairGen.generateKeyPair();
            System.out.println("ALICE: Initialization ...");
            KeyAgreement aliceKeyAgree = KeyAgreement.getInstance("DH");
            aliceKeyAgree.init(aliceKpair.getPrivate());
            byte[] alicePubKeyEnc = aliceKpair.getPublic().getEncoded();
            KeyFactory bobKeyFac = KeyFactory.getInstance("DH");
            X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec
                (alicePubKeyEnc);
            PublicKey alicePubKey = bobKeyFac.generatePublic(x509KeySpec);
            DHParameterSpec dhParamSpec = ((DHPublicKey)alicePubKey).getParams();
            System.out.println("BOB: Generate DH keypair ...");
            KeyPairGenerator bobKpairGen = KeyPairGenerator.getInstance("DH");
            bobKpairGen.initialize(dhParamSpec);
            KeyPair bobKpair = bobKpairGen.generateKeyPair();
            System.out.println("BOB: Initialization ...");
            KeyAgreement bobKeyAgree = KeyAgreement.getInstance("DH");
            bobKeyAgree.init(bobKpair.getPrivate());
            byte[] bobPubKeyEnc = bobKpair.getPublic().getEncoded();
            KeyFactory aliceKeyFac = KeyFactory.getInstance("DH");
            x509KeySpec = new X509EncodedKeySpec(bobPubKeyEnc);
            PublicKey bobPubKey = aliceKeyFac.generatePublic(x509KeySpec);
            System.out.println("ALICE: Execute PHASE1 ...");
            aliceKeyAgree.doPhase(bobPubKey, true);
            System.out.println("BOB: Execute PHASE1 ...");
            bobKeyAgree.doPhase(alicePubKey, true);
            byte[] aliceSharedSecret = aliceKeyAgree.generateSecret();
            int aliceLen = aliceSharedSecret.length;
            byte[] bobSharedSecret = new byte[aliceLen];
            int bobLen;
            try {
                bobLen = bobKeyAgree.generateSecret(bobSharedSecret, 1);
            } catch (ShortBufferException e) {
                System.out.println(e.getMessage());
            bobLen = bobKeyAgree.generateSecret(bobSharedSecret, 0);
            System.out.println("Alice secret: " +
              toHexString(aliceSharedSecret));
            System.out.println("Bob secret: " +
              toHexString(bobSharedSecret));
            if (!java.util.Arrays.equals(aliceSharedSecret, bobSharedSecret))
                throw new Exception("Shared secrets differ");
            System.out.println("Shared secrets are the same");
            System.out.println("Return shared secret as SecretKey object ...");
            bobKeyAgree.doPhase(alicePubKey, true);
            SecretKey bobDesKey = bobKeyAgree.generateSecret("DES");
            aliceKeyAgree.doPhase(bobPubKey, true);
            SecretKey aliceDesKey = aliceKeyAgree.generateSecret("DES");
            Cipher bobCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
            bobCipher.init(Cipher.ENCRYPT_MODE, bobDesKey);
            byte[] cleartext = "This is just an example".getBytes();
    //        Signature signature = Signature.getInstance("SHA1withDSA");
    //        signature.initSign(bobKpair.getPrivate());
    //        signature.update(cleartext);
    //        byte[] data = signature.sign();
            byte[] ciphertext = bobCipher.doFinal(cleartext);
            Cipher aliceCipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
            aliceCipher.init(Cipher.DECRYPT_MODE, aliceDesKey);
            byte[] recovered = aliceCipher.doFinal(ciphertext);
            if (!java.util.Arrays.equals(cleartext, recovered))
                throw new Exception("DES in CBC mode recovered text is " +
                  "different from cleartext");
            System.out.println("DES in ECB mode recovered text is " +
                "same as cleartext");
            bobCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
            bobCipher.init(Cipher.ENCRYPT_MODE, bobDesKey);
            cleartext = "This is just an example".getBytes();
            ciphertext = bobCipher.doFinal(cleartext);
            byte[] encodedParams = bobCipher.getParameters().getEncoded();
            AlgorithmParameters params = AlgorithmParameters.getInstance("DES");
            params.init(encodedParams);
            aliceCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
            aliceCipher.init(Cipher.DECRYPT_MODE, aliceDesKey, params);
            recovered = aliceCipher.doFinal(ciphertext);
            if (!java.util.Arrays.equals(cleartext, recovered))
                throw new Exception("DES in CBC mode recovered text is " +
                  "different from cleartext");
            System.out.println("DES in CBC mode recovered text is " +
                "same as cleartext");
    }I want to sign the data with Signature,So i add the following code to the sample.
            byte[] cleartext = "This is just an example".getBytes();
         Signature signature = Signature.getInstance("SHA1withDSA");
            signature.initSign(bobKpair.getPrivate());
            signature.update(cleartext);
            byte[] data = signature.sign();
            byte[] ciphertext = bobCipher.doFinal(cleartext);Run the code again, the output is
    Error: java.security.InvalidKeyException: No installed provider supports this key: com.sun.crypto.provider.DHPrivateKey
    What's wrong with the code, It seems that the bob's private key is not instance of DSAPrivateKey but DHPrivateKey.
    what's your comment? thanks a lot.

    slamdunkming wrote:
    thank sabre150 for your reply. But the key pair is generated when I use DH to exchange the secret key. Yes! It is a DH key pair and cannot be used for signing. The DH key pair can only be used for secret sharing.
    If I can not use this private key to sign the data, what can i do?Do I have to generate another key pair for signature? In that way, I will have two key pair. Yep. You can generate a DSA or an RSA key pair to be used for signing.
    Because I use http protocol to exchange the key to get the shared secret key, Yep.
    If I generate another key pair, how can i send the public key to server? Since public keys are 'public' then you can send them in the open to anyone you like. In fact, if you don't publish your public keys then they are pretty much a waste of time. The biggest problem one has with public key is proving 'ownership' - if someone sends me a public key how do I know that the sender is actually who they say they are?.
    I am confused.Some reading might help. A pretty good starting point is "Beginning Cryptography with Java" by David Hook published by Wrox.

  • Problem veryfing document with more than one signature element ...

    hello everyone,
    Sorry for my english. I've got a short question (but interesting).
    I know how to write simple application which correctly sign and verify xml document (dsig and xades).
    When I sign the same xml document for a few times it looks like this:
    <data>
    <Signature 1 />
    <Signature 2 />
    <Signature 3 />
    </data>
    But only last signature element I can verify correctly. I use Transform.ENVELOPED, and haven't got any ideas what I do wrong. Maybe I have to remove all signature elements before sign next ? Maybe I have to remove other signature elements before verify right ?
    Best regards, kk

    Take a look at business area and groupings in they payment program settings...
    I am not sure what version you are on but the following link for 4.7 should provide some valuable information...
    http://help.sap.com/saphelp_47x200/helpdata/en/01/a9be64455711d182b40000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/01/a9be64455711d182b40000e829fbfe/frameset.htm
    Grouping Open Items and Individual Payments
    Wherever possible, the payment program will always group items together for payment.
    The payment program can only group together open items for payment if the open items in an account have the same:
    1. Currency
    2. Payment method in the item
    3. Bank in the item
    4. Contents of the grouping fields (if a grouping key is specified in the customer or vendor master record)
    You can also pay open items from different company codes together, as well as customer and vendor line items.
    Items in an account are not grouped together if you:
    1. Make payments separately per business area. This procedure entails separate payments being created per business area.
    2. Want to make individual payments
    Items in which a payment method is specified are not grouped with items in which no payment method is specified.
    You define the required grouping key in the IMG for Financial Accounting under Accounts Receivable and Accounts Payable -> Business Transactions -> Outgoing Payments -> Automatic Outgoing Payments -> Payment Method/Bank Selection for Payment Program -> Define Payment Groupings.
    In our system, if the business area is the same, there will be one ZP document with one line with a posting key of 25. Otherwise there will be many individual 25 posting key lines with.

  • How do I get Message Digest from Signature?

    When signing some data, first one computes the message digest, then encrypts the message digest with his private key to get the signature. So, if I have the public key, I should be able to take the signature and decrypt it, yielding the original message digest. Correct?
    However, there doesn't seem to be any way to do this using standard JDK functionality (JDK1.3.1). The java.security.Signature object encapsulates the message digest computation and encryption into one operation, and encapsulates the signature verification into an operation; there doesn't seem to be a way to get at the message digest.
    I downloaded the Cryptix library and used the Cipher class to try to decrypt the signature, but kept getting errors. The code and error are as follows. Thanks for any ideas on how to get this to work.
    package misc;
    import java.util.*;
    import java.security.*;
    import xjava.security.*;
    import cryptix.provider.*;
    public class SignatureTest {
    public static void main(String[] args) {
    try {
    Security.addProvider(new Cryptix());
    // create data to sign
    byte[] data = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
    // get message digest
    MessageDigest md = MessageDigest.getInstance("SHA1");
    byte[] digest = md.digest(data);
    // generate keys
    KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
    KeyPair keyPair = kpg.generateKeyPair();
    PublicKey publicKey = keyPair.getPublic();
    PrivateKey privateKey = keyPair.getPrivate();
    // sign data
    Signature s = Signature.getInstance("SHA1withRSA");
    s.initSign(privateKey);
    s.update(data);
    byte[] signature = s.sign();
    // decrypt the signature to get the message digest
    Cipher c = Cipher.getInstance("RSA");
    c.initDecrypt(publicKey);
    byte[] decryptedSignature = c.crypt(signature);
    // message digest obtained earlier should be the same as the decrypted signature
    if (Arrays.equals(digest, decryptedSignature)) {
    System.out.println("successful");
    } else {
    System.out.println("unsuccessful");
    } catch (Exception ex) {
    ex.printStackTrace();
    java.security.InvalidKeyException: RSA: Not an RSA private key
         at cryptix.provider.rsa.RawRSACipher.engineInitDecrypt(RawRSACipher.java:233)
         at xjava.security.Cipher.initDecrypt(Cipher.java:839)
         at misc.SignatureTest.main(SignatureTest.java:35)

    I learned from someone how to do the decryption myself using BigInteger. The output shows that the decrypted signature is actually the message digest with some padding and other information prepended. See (quick and dirty) code and output below:
    package misc;
    import java.util.*;
    import java.security.*;
    import java.security.interfaces.*;
    import java.security.spec.*;
    import java.math.*;
    public class SignatureTest {
        public static void main(String[] args) {
            try {
                // create data to sign
                byte[] data = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
                // get message digest
                MessageDigest md = MessageDigest.getInstance("SHA1");
                byte[] digest = md.digest(data);
                System.out.println("Computed digest:");
                System.out.println(getHexString(digest));
                System.out.println();
                // generate keys
                KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
                KeyPair keyPair = kpg.generateKeyPair();
                PublicKey publicKey = keyPair.getPublic();
                PrivateKey privateKey = keyPair.getPrivate();
                // sign data
                Signature s = Signature.getInstance("SHA1withRSA");
                s.initSign(privateKey);
                s.update(data);
                byte[] signature = s.sign();
                System.out.println("Signature:");
                System.out.println(getHexString(signature));
                System.out.println();
                // decrypt the signature to get the message digest
                BigInteger sig = new BigInteger(signature);
                RSAPublicKey rsaPublicKey = (RSAPublicKey)publicKey;
                BigInteger result = sig.modPow(rsaPublicKey.getPublicExponent(), rsaPublicKey.getModulus());
                byte[] resultBytes = result.toByteArray();
                System.out.println("Result of decryption:");
                System.out.println(getHexString(resultBytes));
                System.out.println();
            } catch (Exception ex) {
                ex.printStackTrace();
        public static String getHexString(byte[] bytes) {
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < bytes.length; i++) {
                sb.append(Integer.toHexString(new Byte(bytes).intValue()));
    sb.append(" ");
    return sb.toString();
    Output:
    Computed digest:
    ffffffe8 ffffff9a ffffffd5 ffffffa9 63 1c 3e fffffffd ffffffde ffffffd7 ffffffe3 ffffffec ffffffce 79 ffffffb4 ffffffd0 fffffffe ffffffdc ffffffe1 ffffffbf
    Signature:
    60 75 13 7c ffffffaf 77 6e ffffffc1 ffffffd2 4a 42 ffffffe8 45 47 20 4f ffffffbf 46 4 12 47 ffffffa9 1 ffffffe7 ffffffae 58 fffffff2 fffffffe 28 ffffffd1 25 32 49 ffffff9f ffffffe3 4 ffffffbf ffffffce 5d ffffffd9 67 70 ffffff99 ffffffbf ffffffdb 2f d ffffffb8 ffffffa4 6e ffffff9f 28 24 7d 71 50 38 ffffffe4 5f ffffffab fffffff5 ffffff93 54 4c ffffffe4 ffffff9a 11 23 66 49 ffffff8c ffffffc3 49 68 c ffffffa4 36 ffffff8f ffffffb3 57 a 58 ffffffb2 ffffffac 3e 55 ffffffe4 ffffff91 16 5e 7b ffffffe9 ffffffa6 50 ffffff9a fffffff5 22 7b ffffffd4 60 ffffffe2 fffffffe 24 ffffffa9 ffffff92 69 4b ffffffd9 44 ffffffb2 57 ffffff91 53 ffffffb9 7 fffffff7 ffffffa3 ffffffd5 61 ffffff81 ffffffb7 ffffff95 5 5b 30 7f 55 71
    Result of decryption:
    1 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 0 30 21 30 9 6 5 2b e 3 2 1a 5 0 4 14 ffffffe8 ffffff9a ffffffd5 ffffffa9 63 1c 3e fffffffd ffffffde ffffffd7 ffffffe3 ffffffec ffffffce 79 ffffffb4 ffffffd0 fffffffe ffffffdc ffffffe1 ffffffbf

  • Unable to display employee image in pdf forms from webdynpro?

    hi friends,
    i am using webdynpro application and ADOBE forms. i designed adobe form with 3 fields. IM_VORNA, IM_NACHN, IM_PHOTO.
    I created one interface of adobe form also with the 3 fields of which specified above.
    And i am using webdynpro application to get the details of emplyee by passing pernr.
    i created a view. in this, and i attached every thing interface context. And in methos tab, wddoinit method i wrote code like this...
    DATA pernrid TYPE PERNR-PERNR.  "tdobname.
      DATA temp TYPE c.
      DATA: p_connect_info TYPE TOAV0,
            wa_p_connect_info TYPE TOAV0,
            p_document_type TYPE TOAV0-RESERVE,
            exists TYPE c.
      DATA: url TYPE char255,
            turl TYPE string,
            turl1 TYPE xstring.
      DATA lo_nd_z_if_test_cv TYPE REF TO if_wd_context_node.
      DATA lo_el_z_if_test_cv TYPE REF TO if_wd_context_element.
      DATA ls_z_if_test_cv TYPE wd_this->element_z_if_test_cv.
    * navigate from <CONTEXT> to <Z_IF_TEST_CV> via lead selection
      lo_nd_z_if_test_cv = wd_context->get_child_node( name = wd_this->wdctx_z_if_test_cv ).
    * get element via lead selection
      lo_el_z_if_test_cv = lo_nd_z_if_test_cv->get_element(  ).
    * get all declared attributes
      lo_el_z_if_test_cv->get_static_attributes(
        IMPORTING
          static_attributes = ls_z_if_test_cv ).
    * *** Vorna and Nachn.
    ls_z_if_test_cv-im_vorna = 'shankar'.
    ls_z_if_test_cv-im_nachn = 'chamala'.
    ***pernr
      pernrid = '00000003'.
    CALL FUNCTION 'HR_IMAGE_EXISTS'
      EXPORTING
        P_PERNR                     = PERNRID
    *   P_TCLAS                     = 'A'
    *   P_BEGDA                     = '18000101'
    *   P_ENDDA                     = '99991231'
    IMPORTING
       P_EXISTS                    = exists
       P_CONNECT_INFO              = P_CONNECT_INFO
    EXCEPTIONS
       ERROR_CONNECTIONTABLE       = 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.
    P_DOCUMENT_TYPE = P_CONNECT_INFO-RESERVE.
    CALL FUNCTION 'SCMS_DOC_URL_READ'
      EXPORTING
    *   MANDT                      = SY-MANDT
        STOR_CAT                   = SPACE
        CREP_ID                    = P_CONNECT_INFO-ARCHIV_ID
        DOC_ID                     = P_CONNECT_INFO-ARC_DOC_ID
    *   PHIO_ID                    =
       COMP_ID                    = 'DATA'
    *   SIGNATURE                  = 'X'
    *   SECURITY                   = ' '
    *   USE_LOCATION               = 'A'
    *   LOCATION                   = ' '
    *   HTTP_URL_ONLY              = ' '
       DP_URL_ONLY                = 'X'
    *   LIFETIME                   = ' '
    *   NO_CACHE                   = ' '
    *   EXPIRATION                 =
    *   PDF_MODE                   = ' '
    *   URL_EXTENTION              = ' '
    *   FORCE_GET                  = ' '
    IMPORTING
       URL                        = URL
    EXCEPTIONS
       ERROR_CONFIG               = 1
       ERROR_PARAMETER            = 2
       ERROR_SIGNATURE            = 3
       HTTP_NOT_SUPPORTED         = 4
       DOCGET_NOT_SUPPORTED       = 5
       NOT_ACCESSABLE             = 6
       DATA_PROVIDER_ERROR        = 7
       TREE_NOT_SUPPORTED         = 8
       NOT_SUPPORTED              = 9
       OTHERS                     = 10
    IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    turl = url.
    CALL FUNCTION 'HR_KR_STRING_TO_XSTRING'
      EXPORTING
    *   CODEPAGE_TO            = '8500'
        UNICODE_STRING         = turl
    *   OUT_LEN                =
    IMPORTING
       XSTRING_STREAM         = turl1
    EXCEPTIONS
       INVALID_CODEPAGE       = 1
       INVALID_STRING         = 2
       OTHERS                 = 3
    IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ls_z_if_test_cv-im_photo = turl1.
    *** Get the Photographs 
    *CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
    *  EXPORTING
    *    p_object       = 'GRAPHICS'
    *    p_name         = pernrid
    *    p_id           = 'BMAP'
    *    p_btype        = 'BCOL'
    *  receiving
    *    p_bmp          = ls_z_if_test_cv-im_photo
    *  EXCEPTIONS
    *    not_found      = 1
    *    internal_error = 2
    *    others         = 3
    *IF sy-subrc EQ 0.
    **  MOVE 'y' TO temp.
    ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    **            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    *** Send the values back to the node
      lo_el_z_if_test_cv->set_static_attributes(
        EXPORTING
          static_attributes = ls_z_if_test_cv ).
    But here the problem is when i executed this application i am able to see the VORNA and NACHN fields in ADOBE Form. But the employee photo is not appearing in adobe form.
    Here employee photo i amretreving from archive link.
    Even i set the Imagefield property URL in Adobe forms.  i.e $record.IM_PHOTO.
    Any solutions regarding this...
    Regards,
    Shankar.

    Hi Shankar,
    according to the sap documentation (inserting a graphic), I could imagine the following problems
    1.) image file type is not supported (-> "see the online help in Adobe LiveCycle Designer under Defining Object Properties ® Image Fields ® About Image Fields" )
    when you use "Graphic Reference"
    2.) url could not be accessed.(-> "This means that you may have to configure appropriate access rights for Adobe Document Services (ADS)" ).
    Maybe this will help you finding the problem.
    Regards,
    Andreas

  • How to clear the picture from custom container

    Hi All
    I am uploading the employee image into custom container . for that i have used the below fn modules
    CALL FUNCTION 'HR_IMAGE_EXISTS'
    EXPORTING
    p_pernr = pernr
    * P_TCLAS = 'A'
    * P_BEGDA = '18000101'
    * P_ENDDA = '99991231'
    IMPORTING
    * P_EXISTS =
    p_connect_info = g_connect_info
    EXCEPTIONS
    error_connectiontable = 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.
    else.
    CALL FUNCTION 'SCMS_DOC_URL_READ'
    EXPORTING
    * MANDT = SY-MANDT
    stor_cat = space
    crep_id = g_connect_info-archiv_id
    doc_id = g_connect_info-arc_doc_id
    * PHIO_ID =
    comp_id = 'DATA'
    * SIGNATURE = 'X'
    * SECURITY = ' '
    * USE_LOCATION = 'A'
    * LOCATION = ' '
    * HTTP_URL_ONLY = ' '
    dp_url_only = 'X'
    * LIFETIME = ' '
    * NO_CACHE = ' '
    * EXPIRATION =
    * PDF_MODE = ' '
    * URL_EXTENTION = ' '
    * FORCE_GET = ' '
    IMPORTING
    url = g_url
    EXCEPTIONS
    error_config = 1
    error_parameter = 2
    error_signature = 3
    http_not_supported = 4
    docget_not_supported = 5
    not_accessable = 6
    data_provider_error = 7
    tree_not_supported = 8
    not_supported = 9
    OTHERS = 10
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    after getting the url for uploading the picture
    I used load_picture_from_url
    the image is uploaded, but when i try to clear the image from control using picture->clear_picture
    it is not clearing the image
    Please help me how to clear the image.
    Thanks
    Rama

    Hi,
    " Request an URL from the data provider by exporting the pic_data.
    CLEAR url.
    PERFORM load_pic_from_db CHANGING url.
    " load picture
    CALL METHOD cl_gui_picture_1->load_picture_from_url
      EXPORTING
        url = url.
    CLEAR url.
    url = 'file://C:\sap-logo.gif'.
    CALL METHOD cl_gui_picture_2->load_picture_from_url
      EXPORTING
        url = url.
    CLEAR url.
    url = 'http://www.sap-press.com/images/logo_books_online_162_50.gif'.
    CALL METHOD cl_gui_picture_3->load_picture_from_url
      EXPORTING
        url = url.
    init = 'X'.
    CALL METHOD cl_gui_cfw=>flush
      EXCEPTIONS
        cntl_system_error = 1
        cntl_error = 2.
    ENDIF.
    Its helpful.
    Regards,
    Raj.

  • Finding Headers

    Hi All,
    I have an issue where i need to change the header name of the fields. I cannot find the header names such as planned start time, planned end time, planned group. But when i execute the program it appears. Kindly help me find the same in the below program.
    REPORT YHRPAREP26 NO STANDARD PAGE HEADING MESSAGE-ID zfec
                                       LINE-SIZE 250
                                       LINE-COUNT 65.
    TABLES : zroster ,
             sscrfields ,
             dd03l,
             bhdgd ,
             iflo,
             pa0001.
       Type Pools
    TYPE-POOLS  slis.
       Internal Tables
    itab for ZROSTER Table
    DATA : BEGIN OF i_roster OCCURS 100.
            INCLUDE STRUCTURE zroster.
    DATA: vbeln1 LIKE vbak-vbeln.
    DATA: dutypost LIKE iflo-pltxt.
    DATA : stell_txt(40).
    DATA: report LIKE  P2001-BEGUZ.
    DATA: remarks(50).
    DATA: signature(50).
    DATA: ename LIKE pa0001-ename.
    DATA: del_stat.
    DATA: END OF i_roster.
    itab for Events
    DATA:   i_events   TYPE slis_alv_event OCCURS 0 WITH HEADER LINE.
    DATA    f_var LIKE disvariant OCCURS 1 WITH HEADER LINE.  "M3
    DATA: i_vbak LIKE vbak OCCURS 100 WITH HEADER LINE.
      Global Variables
    DATA : BEGIN OF w ,
            repid LIKE sy-repid ,
            variant TYPE disvariant ,
           END OF w .
    DATA  g_repid LIKE sy-repid.
    DATA: w_field(72) OCCURS 100 WITH HEADER LINE.
      Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    PARAMETERS :  p_vkorg LIKE zroster-vkorg NO-DISPLAY .
    PARAMETERS : p_werks LIKE zroster-werks DEFAULT '1110' NO-DISPLAY.
    "OBLIGATORY .
    SELECT-OPTIONS : s_jdate FOR zroster-jdate ."OBLIGATORY .
    SELECT-OPTIONS : s_vbeln FOR zroster-vbeln NO INTERVALS .
    SELECT-OPTIONS : s_tplnr FOR zroster-tplnr NO INTERVALS .
    SELECT-OPTIONS : s_route FOR zroster-route NO INTERVALS .
    SELECT-OPTIONS : s_ingrp FOR zroster-ingrp  NO INTERVALS .
    SELECT-OPTIONS : s_pernr FOR zroster-pernr NO INTERVALS . "NO-EXTENSION
    SELECT-OPTIONS : s_pernr2 FOR zroster-alt_pernr1 NO INTERVALS .
    SELECT-OPTIONS : s_stat FOR zroster-status  NO INTERVALS .
    SELECT-OPTIONS : s_spjob FOR zroster-spljob  NO INTERVALS .
    SELECT-OPTIONS : s_shtyp FOR zroster-shtyp  NO INTERVALS .
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE text-ch2 .
    PARAMETERS: p_var LIKE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK bl2.
      Initialization Event
    INITIALIZATION .
      w-repid = sy-repid .
      At-Selection-Screen Event
    AT SELECTION-SCREEN .
      PERFORM f_authority_check .
      IF sscrfields-ucomm = 'ONLI' .
    Get Data .
        PERFORM f_get_data .
      ENDIF .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
      PERFORM f_get_f4_help.
      Start-of-Selection Event
    START-OF-SELECTION .
    Display the Entries
      PERFORM f_display_alv.
    End-of-Selection Event
    END-OF-SELECTION .
      BEGIN OF SUBROUTINES
    *&      Form  f_get_data
        Get the Data from ZROSTER based on Selection Parameters
    FORM f_get_data.
      DATA : BEGIN OF i_iflo OCCURS 0,
                  tplnr LIKE iflo-tplnr,
                  pltxt LIKE iflo-pltxt,
               END OF i_iflo.
      DATA: BEGIN OF i0001 OCCURS 0.
              INCLUDE STRUCTURE p0001.
      DATA: END OF i0001.
      DATA :   short LIKE objec-short,
               stext LIKE objec-stext,
               subrc LIKE sy-subrc.
      DATA :ZR_IDATE LIKE  P2006-BEGDA,
              ZR_ITIME LIKE  P2006-BEGUZ,
              ZR_STDAZ LIKE  P2012-ANZHL,
              ZR_EDATE LIKE  P2006-BEGDA,
              ZR_ETIME LIKE  P2001-BEGUZ.
      CLEAR w_field.
      REFRESH w_field.
      SELECT * FROM dd03l  WHERE tabname = 'ZROSTER'.
        w_field = dd03l-fieldname.
        APPEND w_field.
      ENDSELECT.
    CONCATENATE 'B' '~' 'VBELN' INTO w_field.
    APPEND w_field.
      SELECT (w_field) FROM zroster
               INTO TABLE i_roster
               WHERE werks = p_werks
                 AND vbeln IN s_vbeln
                 AND tplnr IN s_tplnr
                 AND route IN s_route
                 AND jdate IN s_jdate
                 AND ingrp IN s_ingrp
                 AND pernr IN s_pernr
                 AND alt_pernr1 IN s_pernr2
                 AND status IN s_stat
                 AND spljob IN s_spjob
                 AND shtyp IN s_shtyp .
      IF sy-subrc <> 0 .
        MESSAGE e999 WITH 'No Entries for Selected Criteria.' .
      ELSE.
        SELECT * FROM vbak INTO TABLE i_vbak FOR ALL ENTRIES IN i_roster
                                      WHERE aufnr = i_roster-aufnr
                                        AND aufnr NE space.
      ENDIF .
    To get Duty Post Text
      SELECT tplnr pltxt FROM iflo
             INTO TABLE i_iflo
             FOR ALL ENTRIES IN i_roster
             WHERE spras = sy-langu       AND
                   tplnr = i_roster-tplnr.
      LOOP AT i_roster.
        CLEAR i_vbak.
        READ TABLE i_vbak WITH KEY aufnr = i_roster-aufnr.
        IF sy-subrc EQ 0.
          i_roster-vbeln1 = i_vbak-vbeln.
        ENDIF.
      Duty Post Text
        CLEAR i_iflo.
        READ TABLE i_iflo WITH KEY tplnr = i_roster-tplnr.
        IF sy-subrc = 0.
          i_roster-dutypost = i_iflo-pltxt.       " Duty Post Name
          TRANSLATE i_roster-dutypost TO UPPER CASE.
        ENDIF.
      Get rank.
        CLEAR i0001.
        REFRESH i0001.
        CALL FUNCTION 'HR_READ_INFOTYPE'
             EXPORTING
                  pernr           = i_roster-pernr
                  infty           = '0001'
                  begda           = i_roster-jdate
                  endda           = i_roster-jdate
             IMPORTING
                  subrc           = subrc
             TABLES
                  infty_tab       = i0001
             EXCEPTIONS
                  infty_not_found = 1
                  OTHERS          = 2.
        IF sy-subrc <> 0.
          RAISE person_not_found.
        ELSE.
          SORT i0001 DESCENDING BY begda endda .
          READ TABLE i0001 INDEX 1.
          IF sy-subrc EQ 0.
            IF i0001-werks = '1600' AND " Ciscopol
               i0001-btrtl = '1630' AND " Jurong division
               i0001-persk = '21'.      " Non-Management Uniform
            ELSE.
              i_roster-del_stat = 'D'.
            ENDIF.
            i_roster-ename = i0001-ename.
            CALL FUNCTION 'RH_READ_OBJECT'
                 EXPORTING
                      begda     = i_roster-jdate
                      endda     = i_roster-jdate
                      istat     = '1'
                      langu     = sy-langu
                      objid     = i0001-stell
                      ointerval = 'X'
                      otype     = 'C'
                      plvar     = '01'
                 IMPORTING
                      short     = short
                      stext     = stext
                 EXCEPTIONS
                      not_found = 01.
            IF sy-subrc = 0.
              IF stext <> space.
                i_roster-stell_txt = stext.
              ELSE.
                i_roster-stell_txt = short.
              ENDIF.
            ELSE.
              CLEAR i_roster-stell_txt.
            ENDIF.
          ENDIF.
        ENDIF.
      Reporting Time
        CLEAR : ZR_IDATE, ZR_ITIME,ZR_STDAZ ,ZR_EDATE,ZR_ETIME.
        zr_idate = i_roster-jdate.
        zr_itime = i_roster-pbegtm.
        zr_stdaz = '- 0.50'.
        CALL FUNCTION 'CATT_ADD_TO_TIME'
             EXPORTING
                  IDATE = zr_idate
                  ITIME = zr_itime
                  STDAZ = zr_stdaz
             IMPORTING
                  EDATE = zr_edate
                  ETIME = zr_etime.
        i_roster-report = zr_etime.
        MODIFY i_roster.
      ENDLOOP.
      DELETE i_roster WHERE del_stat = 'D'.
    ENDFORM.                    " f_get_data
    SUBROUTINE NAME : f_get_f4_help
    AUTHOR      : SAIRAM                     DATE :  18th Mar.2003
    DESCRIPTION : To set the starting and end financial periods
                   for the entered month and year ranges.
    FORM f_get_f4_help.
      f_var-report = sy-repid.
      f_var-variant = p_var.
      APPEND f_var.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                is_variant    = f_var
           IMPORTING
                es_variant    = f_var
           EXCEPTIONS
                not_found     = 1
                program_error = 2
                OTHERS        = 3.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      p_var = f_var-variant.
    ENDFORM.                    " f_get_f4_help
    *&      Form  f_display_alv
        Display the Roster Entries
    FORM f_display_alv.
    DATA: ls_fieldcat TYPE slis_fieldcat_alv .
      DATA:  alv_fieldcat TYPE slis_t_fieldcat_alv,
             GT_SORT TYPE SLIS_T_SORTINFO_ALV.
      DATA wa_ficat TYPE slis_fieldcat_alv.
      DATA l_tabix LIKE sy-tabix.
    Top-of-Page Event
      i_events-name = slis_ev_top_of_page.
      i_events-form = 'F_ALV_TOP_OF_PAGE'.
      APPEND i_events.
      g_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
                i_program_name         = g_repid
                i_structure_name       = 'ZROSTER'
                i_inclname             = g_repid
           CHANGING
                ct_fieldcat            = alv_fieldcat[]
           EXCEPTIONS
                inconsistent_interface = 1
                program_error          = 2
                OTHERS                 = 3.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      DESCRIBE TABLE alv_fieldcat LINES l_tabix.
      READ TABLE alv_fieldcat INTO wa_ficat WITH KEY fieldname = 'VBELN'.
      wa_ficat-fieldname     = 'VBELN1'.
      wa_ficat-col_pos       = l_tabix + 1.
      wa_ficat-seltext_l     = 'Service Order Bill Request'.
      wa_ficat-seltext_m     = 'Sr.Ord. Bill Req.'.
      wa_ficat-seltext_s     = 'Sr.Ord. Bill Req.'.
      wa_ficat-reptext_ddic  = 'Sr.Ord. Bill Req.'.
      APPEND wa_ficat TO alv_fieldcat.
    Duty Post
      CLEAR wa_ficat.
      wa_ficat-fieldname     = 'DUTYPOST'.
      wa_ficat-col_pos       = l_tabix + 2.
      wa_ficat-seltext_l     = 'Duty Post '.
      wa_ficat-seltext_m     = 'Duty Post '.
      wa_ficat-seltext_s     = 'Duty Post '.
      wa_ficat-reptext_ddic  = 'Duty Post '.
      wa_ficat-KEY           = 'X'.
      wa_ficat-KEY_SEL       = 'X'.
      APPEND wa_ficat TO alv_fieldcat.
    Rank
      CLEAR wa_ficat.
      wa_ficat-fieldname     = 'STELL_TXT'.
      wa_ficat-col_pos       = l_tabix + 3.
      wa_ficat-seltext_l     = 'Rank'.
      wa_ficat-seltext_m     = 'Rank'.
      wa_ficat-seltext_s     = 'Rank'.
      wa_ficat-reptext_ddic  = 'Rank'.
      APPEND wa_ficat TO alv_fieldcat.
    Report
      CLEAR wa_ficat.
      wa_ficat-fieldname     = 'REPORT'.
      wa_ficat-col_pos       = l_tabix + 4.
      wa_ficat-seltext_l     = 'Reporting Time'.
      wa_ficat-seltext_m     = 'Reporting Time'.
      wa_ficat-seltext_s     = 'Reporting Time'.
      wa_ficat-reptext_ddic  = 'Reporting Time'.
      APPEND wa_ficat TO alv_fieldcat.
    Remarks
      CLEAR wa_ficat.
      wa_ficat-fieldname     = 'REMARKS'.
      wa_ficat-col_pos       = l_tabix + 5.
      wa_ficat-seltext_l     = 'Remarks'.
      wa_ficat-seltext_m     = 'Remarks'.
      wa_ficat-seltext_s     = 'Remarks'.
      wa_ficat-reptext_ddic  = 'Remarks'.
      APPEND wa_ficat TO alv_fieldcat.
    Signature
      CLEAR wa_ficat.
      wa_ficat-fieldname     = 'SIGNATURE'.
      wa_ficat-col_pos       = l_tabix + 6.
      wa_ficat-seltext_l     = 'Signature'.
      wa_ficat-seltext_m     = 'Signature'.
      wa_ficat-seltext_s     = 'Signature'.
      wa_ficat-reptext_ddic  = 'Signature'.
      APPEND wa_ficat TO alv_fieldcat.
    Name
      CLEAR wa_ficat.
      wa_ficat-fieldname     = 'ENAME'.
      wa_ficat-col_pos       = l_tabix + 7.
      wa_ficat-seltext_l     = 'Emp.Name'.
      wa_ficat-seltext_m     = 'Emp.Name'.
      wa_ficat-seltext_s     = 'Emp.Name'.
      wa_ficat-reptext_ddic  = 'Emp.Name'.
      APPEND wa_ficat TO alv_fieldcat.
    Display the List now.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program = w-repid
                i_default          = 'X'
                i_save             = 'X'
                is_variant         = f_var
                it_fieldcat        = alv_fieldcat[]
                it_events          = i_events[]
                IT_SORT            = GT_SORT[]
           TABLES
                t_outtab           = i_roster[].
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " f_display_alv
    *&      Form  f_alv_top_of_page
        Top-of-Page Event of ALV
    FORM f_alv_top_of_page.
      DATA: header TYPE slis_listheader OCCURS 0 WITH HEADER LINE.
      REFRESH header.
      bhdgd-repid = sy-repid.            "Rep Prog Name
      bhdgd-uname = sy-uname.            "USERID
      bhdgd-zeit  = sy-uzeit.            "Time of report
      bhdgd-datum = sy-datum.            "Date of report
      bhdgd-line1 = text-002.            "Header line 1
      bhdgd-mandt = sy-mandt.
      header-typ = 'S'.
      header-info = bhdgd-line1.
      header-key  = 'Report Title:'.
      APPEND header.
      header-typ = 'S'.
      IF NOT w-variant-variant IS INITIAL .
        header-info = w-variant-variant .
      ELSE .
        header-info = 'None'.
      ENDIF .
      header-key  = 'Layout Selected'.
      APPEND header.
    header-info = l_endda.
    header-key  = 'Period To:'.
    APPEND header.
    header-info = l_rundt.
    header-key  = 'Run date:'.
    APPEND header.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary = header[].
    ENDFORM.                    " alv_top_of_page
    *&      Form  f_authority_check
      Authority Check
    FORM f_authority_check .
      AUTHORITY-CHECK OBJECT 'ZDEPLOY'
               ID 'VKORG' DUMMY
               ID 'WERKS' FIELD p_werks
               ID 'INGRP' DUMMY .
      IF sy-subrc <> 0 .
        MESSAGE e999 WITH text-e01 .
      ENDIF .
    ENDFORM.                    " f_authority_check
    Regards,
    Karthik

    Hi,
    check this code to change header text in alv.
    <b>
    DATA: wa type line of slis_t_fieldcat_alv.
    LOOP AT it_fieldcat INTO wa WHERE fieldname = 'BUKRS'.
    wa-seltext_l = 'ab'.
    wa-seltext_m = 'ab'.
    wa-seltext_s = 'ab'.
    wa-REPTEXT_DDIC = 'ab'.
    MODIFY it_fieldcat from wa index sy-tabix.
    ENDLOOP.
    </b>
    REgards,
    Wasim Ahmed

  • IPhone cannot sync address book, "too many flushes" in console

    Hello, ran into this recently and its driving me nuts. I've restored the phone twice, without restoring a backup, setting it up as a new phone each time.
    It'll sync everything else fine but not this. I have reset the sync history in isync, deleted my address book completely (I have a backup of it) yet iTunes still shows the old groups under the info tab. I've double checked that I am the owner on the permissions page of the mail/ical/itunes/etc.... folders in %users/Library. Repaired permissions. I'm running out of things to check.
    Whenever I try to sync this is the information that can be found in the Console. I've deleted preferences, i'm almost ready to completely blow itunes away and re-import/re-rate my itunes library from scratch!
    2/27/10 1:19:44 PM AddressBookSync[804] [111520] |Miscellaneous|Error| SyncServices assertion failure (_flushCount > 0) in [ISDClientState enableFlush], /SourceCache/SyncServices2/SyncServices2-578/SyncServices/ISDClientState.m:181 too many enableFlushes
    2/27/10 1:19:44 PM com.apple.syncservices.SyncServer[799] 2010-02-27 13:19:44.891 AddressBookSync[804:903] [111520] |Miscellaneous|Error| SyncServices assertion failure (_flushCount > 0) in [ISDClientState enableFlush], /SourceCache/SyncServices2/SyncServices2-578/SyncServices/ISDClientState.m:181 too many enableFlushes
    2/27/10 1:19:44 PM AddressBookSync[804] AddressBookSync (client id: com.apple.AddressBook) error: Exception running AddressBookSync: [ISDClientState enableFlush]: too many enableFlushes
    2/27/10 1:19:44 PM com.apple.syncservices.SyncServer[799] 2010-02-27 13:19:44.891 AddressBookSync[804:903] AddressBookSync (client id: com.apple.AddressBook) error: Exception running AddressBookSync: [ISDClientState enableFlush]: too many enableFlushes
    I also cannot sync anything from the Info tab, contacts, calendars, can't replace the data either. If I enable iCal syncing it just hangs on the sync and doesn't error out. it'll stay syncing contacts for over 12 hours so far with no change.
    Message was edited by: thirdgen89gta

    Now isn't this interesting. I decided on a whim to have console open when I reset the sync preferences. And this is what it reported. Definitely some permissions errors. I've already run
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Warning| Resetting Sync Data - Including Clients and Schemas=NO
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |Server|Warning| Admin database corrupted. Resetting data directory.
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.Bookmarks/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x1001a5320 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.Calendars/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x1001b1860 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.Contacts/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x1001a8ac0 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.dashboard.widgets/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x10019e0a0 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.dock.items/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x1001a8210 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.Keychain/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x1001a9b60 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.MailAccounts/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x100505d60 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.MailConfiguration/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x10051a990 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.Notes/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x100525f70 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.apple.Preferences/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x100511a90 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Error| Unable to remove /Users/rr152510/Library/Application Support/SyncServices/Local/TFSM/com.microsoft.entourage.Notes/data.syncdb, error was Error Domain=NSCocoaErrorDomain Code=513 UserInfo=0x10051b3d0 "“data.syncdb” couldn’t be removed because you don’t have permission to access it."
    2/27/10 3:26:06 PM SyncServer[769] [124bf0] |DataManager|Warning| resetSyncData: could not delete data reference directory: /Users/rr152510/Library/Application Support/SyncServices/Local/DataReferences
    2/27/10 3:26:09 PM AddressBookSync[787] [111540] |ISDRecordStore|Error| Unable to delete data reference <ISDDataWrapper[7621EBDE-367B-474C-9511-6635DA1605B9.com.apple.AddressBook.data ] signature=<23c511c0 58a95e02 5f839cb7 3e5a070a 104d4f50>>, error was Error Domain=ISyncDataWrapperError Code=2 "The operation couldn’t be completed. (ISyncDataWrapperError error 2.)"
    2/27/10 3:26:09 PM com.apple.syncservices.SyncServer[786] 2010-02-27 15:26:09.404 AddressBookSync[787:903] [111540] |ISDRecordStore|Error| Unable to delete data reference <ISDDataWrapper[7621EBDE-367B-474C-9511-6635DA1605B9.com.apple.AddressBook.data ] signature=<23c511c0 58a95e02 5f839cb7 3e5a070a 104d4f50>>, error was Error Domain=ISyncDataWrapperError Code=2 "The operation couldn’t be completed. (ISyncDataWrapperError error 2.)"
    2/27/10 3:26:10 PM AddressBookSync[787] [111540] |Miscellaneous|Error| SyncServices assertion failure (_flushCount > 0) in [ISDClientState enableFlush], /SourceCache/SyncServices2/SyncServices2-578/SyncServices/ISDClientState.m:181 too many enableFlushes
    2/27/10 3:26:10 PM AddressBookSync[787] AddressBookSync (client id: com.apple.AddressBook) error: Exception running AddressBookSync: [ISDClientState enableFlush]: too many enableFlushes
    2/27/10 3:26:10 PM com.apple.syncservices.SyncServer[786] 2010-02-27 15:26:10.964 AddressBookSync[787:903] [111540] |Miscellaneous|Error| SyncServices assertion failure (_flushCount > 0) in [ISDClientState enableFlush], /SourceCache/SyncServices2/SyncServices2-578/SyncServices/ISDClientState.m:181 too many enableFlushes
    2/27/10 3:26:10 PM com.apple.syncservices.SyncServer[786] 2010-02-27 15:26:10.976 AddressBookSync[787:903] AddressBookSync (client id: com.apple.AddressBook) error: Exception running AddressBookSync: [ISDClientState enableFlush]: too many enableFlushes
    After running sudo chown -R rr152510 SyncServices/ from terminal I received the same errors. So either its not following through the sub-directories and changing the owner, or its something else. Gonna try it from the root user, though sudo should have given me permissions to do anything I wanted.

  • Unable to digitally sign form

    I created a form from a Word doc using Live Cycle Designer. I extended rights to Reader in Acrobat. I have a signature field set up, but when i click on the field and the digital signature selection pops open and i select sign, it does nothing. I do not get any error messages.
    I tried to do a submit button, but that did not work either. It did give an error that "XML data signature creation failed".
    What i want to do is have multiple people sign with visible signatures.
    Thanks,
    Brian

    Steven.Madwin wrote:
      All you need to do is reply to this message and use the Attach Files tool at the bottom of the reply window. 
    Steve
    Steven.
    You guys (and by you guys, I mean the folks in charge of the forums) got rid of that option a long time ago.
    You can only attach images now.

  • OA Work flow page customization

    Hi ,
    I have a requriement where D2K form is submitted for approval. After submission it is going to approver. On click of "Respond" button in D2K form, it is opening OA framework page using the following url.
    http://<address>:<port>/OA_HTML/RF.jsp?function_id=1015109&resp_id=21707&resp_appl_id=510&security_group_id=0&lang_code=US&params=1niOHUcsslBEWlU6hlRtmC8iLDVcZd7wtK3oSTMtHRZjVNwZFi.xL2W8yVEg1mUf&oas=snES4CCzDQz24XgDrpn3jA..
    I would like to customize the button approve. I don't know in which page xml this button is available .
    From the function Id, I can get the the following url
    OA.jsp?akRegionCode=WFNTFDETAILSFNPAGE&akRegionApplicationId=601&OAFunc=FND_WFNTF_DETAILS.
    Then I query the ak_region table and find that the controller is
    oracle.apps.fnd.framework.custom.webui.CustomPageLayoutCO
    But I don't know where is the corresping Page XML to alter the action.
    Can anyone please help me to resolve this issue.
    Thanks
    Suresh

    Hi,
    Let me explain the business requirement.
    On Approval of some transactions , approver has to digitally sign the data.
    We have a third party Digital Signature Component.
    We are trying to integrate that. In Normal OA framework pages , I am able to
    integrate Digital Signature Component. In normal pages , how I am doing is,
    on click of save button , i will open a JSP page in popup window where user has
    to digitally sign. After signing the data , Signature data will be stored and OA
    framework page will be submitted and form data will be stored in the database.
    In similar way, in workflow on click of approval button , I want to open the JSP
    page where use has to digitally sign and after that form has to be submitted and
    work item has to move to next approver.
    As I explained before , user is entering the data in D2K form. it is going to
    approver. When approver is clicking respond button , it is opening OA framework
    workflow page. In this page on click of approval button , I want to do the signature
    part.
    Can any one suggest the solution for this.
    Thanks in advance
    S.Suresh

  • Print problem of TO form

    Hi All,
    I hit a problem for the printout of Transfer order form,
    for the TO printout settings, i have set the print code and form(LVSTAEINZEL) for the warehouse in OMLV, the settings were fine,
    but the TO printout was an abap list instead of Script form format when materials were transfered in LT10,
    i check the spool request type in SP02, i found the type was abap list, not SAPscript, what's the reason for that?
    below was the TO output,
    could you help me how to slove this problem, thanks in advance,
    Kind reagrds
    TO output, not a Form----
    JOB:
    : 300
    : ~
    : 2010-07-21
    : ~
    : 022358
    : ~
    : B00.DR40.1
    : ~
    : ZTEST12
    .INVD:
    : Material:
    : ~
    : Src. bin:
    : ~
    : Dstn. bin:
    : ~
    : TO-No/itm:
    : ~
    : Target qty.:
    : ~
    : Transport qty.
    : ~
    : Variance:
    : ~
    : Date/Signature:
    : ~
    : ~
    : ~
    : ~
    : hours
    : ~
    .BCD:
    : C128
    : ~
    : Code128
    : ~
    : R01/2
    : ~
    : 0.0
    : Movement Type:
    : ~
    : 999
    : ~
    : 0000000565 0001
    : ~
    .SRC:
    : TYP
    : ~
    : Bin Type:
    : ~
    : ~
    : Remaining:
    : ~
    : 0
    : ~
    : R03
    : ~
    : /1
    : ~
    .DSTN:
    : SEC
    : ~
    : Bin Type:
    : ~
    : ~
    : ~
    : ~
    : ~
    : ~
    : R01
    : ~
    : /2
    : ~
    : Batch:
    : ~
    : 0000000001
    : ~
    : 500
    : ~
    : APOC
    : ~
    .BCDTA:
    : C128
    : ~
    : Code128
    : ~
    : 00000004830001
    : ~
    : 0.0
    : ~
    : 0.0
    : ~
    : ~
    : ~
    : ~
    : 0
    : ~
    : ~
    : S
    : ~
    : 0.00
    : ~
    : 0.0
    : ~
    .SORT:
    : 020R01/2
    : ~

    Hi ,
    Everything is fine. Then it should have hit the form which is configured. Can you check the same by putting break point the print program.
    Thanks
    Kamath

Maybe you are looking for

  • Two Users on one computer

    I have an IPod Mini and a new shuffle, and have my iTunes set up with my own Library. My daughter just go a new IPod, 30Gig and needs to set it up, but I don't wont to have her music mixed with mine. Is there a way to set up two different libraries o

  • Same problem here-Apple TV not in iTunes -7 error ??

    I have the same problem as numerous others, last week neither of my Apple TVs show up on the iTunes device list. So today I unpaired one of them and of course that deletes all content. I unplugged, rebooted, repaired permissions, etc., etc.... Howeve

  • Thumbnail Captions for Flash Web Galleries

    Oh I do love Lightroom! However... :) My clients occasionally are going to be wanting to refer to a certain image number and I would love to have a Lightroom Flash Web Template that included the file name near the thumbnails for reference. Anyone kno

  • How can I significantly speed up my iPad

    PLEASE ANSWER

  • Updating not working; full uninstall including delete of data;

    Running windows 7 trying to update to latest version once setup.exe downloaded, after selecting Run, NOTHING happens. I have already uninstalled Mozilla, as well as the old Mozilla folder (after saving my data elsewhere) All other browsers suck, but