Can split sapscripts into 2 spools?

Hi experts,
I have this requirement to printout cheque using sapscripts. However, I can only print a certain number of invoice details in page 1 before the extra invoice details will be overflowed to the next page. The overflowed details page will affect the next cheque number if no extra paper is inserted after the overflowed page and before the next vendor form.
I would like to ask is there any way that I can code so that the first spool will contains all the 1st page vendor form and the second spool will only contains all the overflowing invoice details.
In addition, what might be some of the possible ways for cheque printout?? It is because the design will be bad if restrict the user to a certain number of invoice details per vendor per cheque number, or have to purposely insert extra page for the overflowing invoice details.

Click here.
(63413)

Similar Messages

  • How can split data into multiple sheets using an excel template

    Hi all,
    I'm using BIP 10.1.3.4.1 upgrated with the latest rollup patch, 9546699.
    I followed the example inside the article "Real Excel Templates 1.5" (on the Tim Dexter's blog)
    http://blogs.oracle.com/xmlpublisher/2010/05/real_excel_templates_i.html
    and I built my report directly from an excel template containing only one sheet (plus the XDO_METADATA sheet), and for one sheet it worked fine !!!
    Now I need to add more sheets to the template.... and I have two big questions:
    1. if I need to create a second sheet which contains almost the same data (with a different layout), I saw that it is not possible to map a value to more than 1 cell....so if I map a value in the first sheet, I can't map it in the second sheet (because it's already used in the first one).
    How can I map same values into two or different execll
    2. if I need to create a second sheet which contains another dataset (completely different from the dataset in the first sheet), I can I do, considering that every BIP report is based on ONLY a data source.
    Tim wrote: The most impressive, for me at least, is the sheet 'bursting'. You can split your hierarchical data across multiple sheets and dynamically name those sheets
    but I didn't yet understand how this bursting it's possible.....considering what I said above.....
    Surely I've a lack of knowledge.....but anybody can help me to understanding the "multiple excel sheets" black hole ?
    I'll appreciate any kind of help
    Thanks in advance
    Alex

    You can find working solution here http://xlspe.com

  • To split channel into pieces(cycle)

    hi
    i dont know how i can split channel into pieces. in attachmeents i have piece of my data, i have there data which are use to axis X and axisY on my graph. In my data i have many cells where i have "novalue"(it is result from many calculation) and on graph it isnt curve but only many points, it look like curve but isnt, but it is not big problem. data from channel "axis X" show when new cycle is strated (one cycle= 0,25...as long as 719,75). I must in some way separate cycle(split channel into cycles) and calculation (receive) one average cycle. How i can do it ??
    Attachments:
    pieceaxelXY.xls ‏765 KB

    Hi Elwis_85!
    I am not sure what you want to accomplish but it seems you operate on channels and do some looping. For creating such applications you can use scripting.
    I have prepared an example that for every value (not NOVALUE) from Channel3 (from 0.25 to 719.75) stores value from Channel2 in separate channel. I used VBS scripting to accomplish that.
    Please remember to check channel names before running the script. I hope it will be useful!
    Script:
    'requirements:
    ' Channel3: values from 0.25 to719.75
    ' Channel2: if Channel3 is not NOVALUE, read from channel2 data
    ' ChannelOut: channel that will store values from channel2, set length to length of Channel2
    Option Explicit 'Forces the explicit declaration of all the variables in a script.
    dim ind
    dim v
    ind = 4 ' start indexing from 4th row
    dim newind 'here we store index of newly created channel where we store values
    newind = 1 'start indexing new channel from 1
    v = 1 'init value
    while (v <> 719.75) 'read as long as you don't reach maximum value
    v = ChV(ind,"pieceaxelXY/Channel 3") 'read value
    if IsNull(v) then 'compare it to NOVALE
    v = 0.0 'if it is NOVALUE set to to 0, to work on Double data type
    end if
    if v<>0 then 'v<>0 means that we read some value, now we can read value from Channel 2 and store it in ChannelOut
    CHV(newind,"pieceaxelXY/ChannelOut") = ChV(ind,"pieceaxelXY/Channel 2") 'read from Channel 2 and store it in ChannelOut
    newind = newind + 1 'increase index in ChannelOut
    end if
    ind = ind + 1
    wend
    Best regards,
    Koza

  • Convert SAPSCRIPT into SMARTFORMS

    Hi,
    How to Convert SAPSCRIPT into SMARTFORMS
    Thanks,
    Rathul.

    Hi,
    There are two way through which you can convert sapscript into smartforms.
    (1)
    This is basically a function module, called FB_MIGRATE_FORM.
    You can start this function module by hand (via SE37), or create a small ABAP which migrates all SAPscript forms automatically.
    (2)
    You can also do this one-by-one in transaction SMARTFORMS, under
    Utilities -> Migrate SAPscript form.
    You could also write a small batch program calling transaction SMARTFORMS and running the migration tool.
    Note :
    While Converting sapscript into smartforms,only layout has passed.But you have do all logic coding in your smartforms.
    Steps :
    (1) Understand logic of sapscript program.
    (2) Understand SAP script windows data.
    Now make your technical Design Accordingly,and now do code accordingly for your smartforms
    Reward points if found helpfull...
    Cheers,
    Chandra Sekhar.

  • How can we split video into frames

    in jmf, can we split video into frames, how can we do that?
    thank you very much.

    hi!
    i'm also working on a system that requires the extraction of video frames.
    is this the example you were refering? http://java.sun.com/products/java-media/jmf/2.1.1/solutions/FrameAccess.html
    i tried the code and it always gives me a noProcessorException
    i run it as: java FrameAccess c:\1.mpg
    it says that "cannot find processor for c:\1.mpg"
    is it because it doesn't support mpg files? then what media files can it accept?
    or is it because my syntax for URL (c:\1.mpg) is wrong?

  • Convert SapScripts into PDF

    I need to convert a few QM custom sapscript into PDF.
    I need to accomplish this and make the usability easier for the users
    I know we can do these 2 things
    1. I know we can use the standard sap program RSTXPDFT4 to convert the spool to PDF.
    2. Change the Print Program "Open Form" FM to get the OTF and converting the OTF to PDF.
    If I take the "changing the print program" route, i need to change all print programs. Which will be more effort.
    So i want to build a custom program, which take the inspection lot and file location as input, the program needs to generate the output programatically, get the spool, and run the program RSTXPDFT4.
    I need to figure out 1. how to issue the output from a program 2. how to get the spool number.
    Any help appreciated.
    Thanks,
    Gopi.

    Hi Gopi,
    Please go through this program,this is for smartform but you can use this in your script driver program.
    *& Report  YMSL_ORDER_ACCEPTANCE
    REPORT  YMSL_ORDER_ACCEPTANCE.
    *********Variable Declarations *****************************
    DATA: GV_FORM_NAME TYPE RS38L_FNAM, " Used to store the function module generated by Smartform
          GV_BIN_FILESIZE TYPE I, " Store the file size
          GV_POS TYPE I,
          GV_LEN TYPE I,
          GV_TAB_LINES TYPE I,
          gv_desc_lines type i.
    ********Constants *******************************************
    DATA : GC_TEXT(11) TYPE C VALUE 'Form Output',
           GC_TST(3) TYPE C VALUE 'TST',
           GC_TESTING(20) TYPE C VALUE 'Order Acceptance'.
    *********Work Area Declarations *****************************
    DATA: GS_DOCDATA TYPE SODOCCHGI1, " Data of an object which can be changed
          GS_CTRLOP TYPE SSFCTRLOP, " Smart Forms: Control structure
          GS_OUTOPT TYPE SSFCOMPOP, " SAP Smart Forms: Smart Composer (transfer) options
          GS_OTFDATA TYPE SSFCRESCL, " Smart Forms: Return value at end of form printing
          GS_RECLIST TYPE SOMLRECI1, " SAPoffice: Structure of the API Recipient List
          GS_PDF_TAB TYPE TLINE, " Workarea for SAP Script Text Lines
          GS_OBJBIN TYPE SOLISTI1, " SAPoffice: Single List with Column Length 255
          GS_OBJPACK TYPE SOPCKLSTI1. " SAPoffice: Description of Imported Object Components
    DATA : w_doc_chng typE sodocchgi1.
    *********Internal tables Declarations *****************************
    DATA : I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE.
    DATA: GT_RECLIST TYPE TABLE OF SOMLRECI1, " SAPoffice: Structure of the API Recipient List
          GT_PDF_TAB TYPE TABLE OF TLINE, " SAPscript: Text Lines
          GT_OTF TYPE TABLE OF ITCOO, " OTF Structure
          GT_OBJBIN TYPE TABLE OF SOLISTI1, " SAPoffice: Single List with Column Length 255
          GT_OBJPACK TYPE TABLE OF SOPCKLSTI1. " SAPoffice: Description of Imported Object Components
    DATA : BEGIN OF IT_ADR6 OCCURS 0,
              SMTP_ADDR TYPE ADR6-SMTP_ADDR,
            END OF IT_ADR6.
    DATA : W_FILE_NAME TYPE STRING,
          W_FILE_PATH TYPE STRING,
          W_FULL_PATH TYPE STRING.
    CLEAR : GV_FORM_NAME,
            GS_CTRLOP,
            GS_OUTOPT,
            GS_OTFDATA,
            GV_BIN_FILESIZE,
            GV_POS,
            GV_LEN,
            GV_TAB_LINES.
    SELECTION-SCREEN:  BEGIN OF SCREEN 1001 AS WINDOW  TITLE scr_ttl .
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TXT_B1 NO INTERVALS.
    SELECTION-SCREEN BEGIN OF LINE .
    SELECTION-SCREEN COMMENT 1(15) TX_VBELN.
    PARAMETER : P_VBELN TYPE VBAK-VBELN .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B1.
    *SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TXT_B2 .
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: R_OUT RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND RAD11 .
    SELECTION-SCREEN COMMENT 5(20) TXT_OUT.  "  roles by t-code
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETER R_PDF RADIOBUTTON GROUP R1 .
    SELECTION-SCREEN COMMENT 5(20) TXT_PDF.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETER R_MAIL RADIOBUTTON GROUP R1 .
    SELECTION-SCREEN COMMENT 5(15) TXT_MAIL.
    *SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 20(7) TXT_MAL1.
    PARAMETER : P_MAIL TYPE ADR6-SMTP_ADDR MODIF ID M1.
    SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN: END OF SCREEN 1001 .
    CALL SELECTION-SCREEN 1001 STARTING AT 20 5 ENDING AT 105 10.
    *SET PF-STATUS 'STATUS'.
    INITIALIZATION.
      TX_VBELN = 'Order'.
      TXT_B1 = 'Selection Criteria '.
    TXT_B2 = 'Output Criteria '.
      scr_ttl = 'Order Acceptance'.
      TXT_OUT = 'Print Output'.
      TXT_PDF = 'Save To PDF'.
      TXT_MAIL = 'Mail the Output'.
      TXT_MAL1 = 'E-mail'.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF R_MAIL <> 'X'.
          IF SCREEN-GROUP1 = 'M1'.
           SCREEN-INVISIBLE =  1.
            SCREEN-INPUT = 0. " Disable for input.
            MODIFY SCREEN.
          ENDIF.
        ENDIF.
      ENDLOOP.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MAIL.
      PERFORM TABLE_HELP.
    START-OF-SELECTION..
    IF P_VBELN IS NOT INITIAL.
        PERFORM GET_SF.
        IF R_PDF = 'X' .
          PERFORM CONVERT_OTF.
          PERFORM SAVE_DIALOG.
          PERFORM DOWNLOAD.
        ELSEIF R_MAIL = 'X'.
          IF P_MAIL IS NOT INITIAL.
           PERFORM CONVERT_OTF.
           PERFORM SEND_MAIL.
          ELSE.
            MESSAGE 'Please Enter Email Address' TYPE 'S'.
            CALL TRANSACTION 'YMSL20'.
            LEAVE LIST-PROCESSING.
          ENDIF.
        ENDIF.
    ELSE.
       MESSAGE 'Please Enter Order No' TYPE 'S'.
         CALL TRANSACTION 'YMSL20'.
         LEAVE LIST-PROCESSING.
    *ENDIF.
    END-OF-SELECTION.
    *&      Form  TABLE_HELP
    FORM TABLE_HELP .
      IF R_MAIL = 'X'.
        SELECT SMTP_ADDR FROM ADR6 INTO TABLE IT_ADR6.
        SORT IT_ADR6.
        DELETE ADJACENT DUPLICATES FROM IT_ADR6 COMPARING ALL FIELDS.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
          EXPORTING
        DDIC_STRUCTURE         = ' '
            RETFIELD               = 'IT_ADR6-SMTP_ADDR'
        PVALKEY                = ' '
           DYNPPROG               = SY-REPID
           DYNPNR                 = SY-DYNNR
           DYNPROFIELD            = 'EMAIL'
        STEPL                  = 0
           WINDOW_TITLE           = 'SELECT MAIL ADDRESS'
        VALUE                  = ' '
           VALUE_ORG              = 'S'
        MULTIPLE_CHOICE        = ' '
        DISPLAY                = ' '
        CALLBACK_PROGRAM       = ' '
        CALLBACK_FORM          = ' '
        MARK_TAB               =
      IMPORTING
        USER_RESET             =
          TABLES
            VALUE_TAB              = IT_ADR6
        FIELD_TAB              =
        RETURN_TAB             =
        DYNPFLD_MAPPING        =
      EXCEPTIONS
        PARAMETER_ERROR        = 1
        NO_VALUES_FOUND        = 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.
      ENDIF.
    ENDFORM.                    " TABLE_HELP
    *&      Form  GET_SF
    FORM GET_SF .
    *u2022 Generate Function Module name
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME           = 'Z_CHK'
        IMPORTING
          FM_NAME            = GV_FORM_NAME
        EXCEPTIONS
          NO_FORM            = 1
          NO_FUNCTION_MODULE = 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.
    *u2022 Assigning values to Form Control Structure and Form Composer
      IF R_OUT <> 'X'.
        GS_CTRLOP-GETOTF = 'X'.
        GS_CTRLOP-NO_DIALOG = 'X'.
        GS_OUTOPT-TDNOPREV = 'X'.
      ENDIF.
    */1BCDWB/SF00000368
    CALL FUNCTION  GV_FORM_NAME "'/1BCDWB/SF00000368'
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
       CONTROL_PARAMETERS         = GS_CTRLOP
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
       OUTPUT_OPTIONS             = GS_OUTOPT
       USER_SETTINGS              = 'X'
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
       JOB_OUTPUT_INFO            = GS_OTFDATA
      JOB_OUTPUT_OPTIONS         =
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION GV_FORM_NAME
       EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
         CONTROL_PARAMETERS         = GS_CTRLOP
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
         OUTPUT_OPTIONS             = GS_OUTOPT
         USER_SETTINGS              = 'X'
         TEMP_VBELN                 =  P_VBELN
      IMPORTING
      DOCUMENT_OUTPUT_INFO       =
         JOB_OUTPUT_INFO            = GS_OTFDATA
      JOB_OUTPUT_OPTIONS         =
      EXCEPTIONS
        FORMATTING_ERROR           = 1
        INTERNAL_ERROR             = 2
        SEND_ERROR                 = 3
        USER_CANCELED              = 4
        OTHERS                     = 5
    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.                    " GET_SF
    *&      Form  CONVERT_OTF
    FORM CONVERT_OTF .
    *u2022 Assigning the OTFDATA to OTF Structure table
      CLEAR GT_OTF.
      GT_OTF[] = GS_OTFDATA-OTFDATA[].
    *u2022 Convert the OTF DATA to SAP Script Text lines
      CLEAR GT_PDF_TAB.
      CALL FUNCTION 'CONVERT_OTF'
       EXPORTING
         FORMAT                      = 'PDF'
         MAX_LINEWIDTH               = 132
      ARCHIVE_INDEX               = ' '
      COPYNUMBER                  = 0
      ASCII_BIDI_VIS2LOG          = ' '
      PDF_DELETE_OTFTAB           = ' '
       IMPORTING
         BIN_FILESIZE                = GV_BIN_FILESIZE
      BIN_FILE                    =
        TABLES
          OTF                         = GT_OTF
          LINES                       = GT_PDF_TAB
       EXCEPTIONS
         ERR_MAX_LINEWIDTH           = 1
         ERR_FORMAT                  = 2
         ERR_CONV_NOT_POSSIBLE       = 3
         ERR_BAD_OTF                 = 4
         OTHERS                      = 5
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *t_otf[] = t_otf_from_fm-otfdata[].
    Function Module CONVERT_OTF is used to convert the OTF format to PDF
    *CALL FUNCTION 'CONVERT_OTF'
    *EXPORTING
    *FORMAT = 'PDF'
    *MAX_LINEWIDTH = 132
    ARCHIVE_INDEX = ' '
    COPYNUMBER = 0
    ASCII_BIDI_VIS2LOG = ' '
    PDF_DELETE_OTFTAB = ' '
    *IMPORTING
    *BIN_FILESIZE = W_bin_filesize
    BIN_FILE =
    *TABLES
    *otf = T_OTF
    *lines = T_pdf_tab
    *EXCEPTIONS
    *ERR_MAX_LINEWIDTH = 1
    *ERR_FORMAT = 2
    *ERR_CONV_NOT_POSSIBLE = 3
    *ERR_BAD_OTF = 4
    *OTHERS = 5
    *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.                    " CONVERT_OTF
    *&      Form  SAVE_DIALOG
    FORM SAVE_DIALOG .
    To display File SAVE dialog window
      CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
       EXPORTING
       WINDOW_TITLE = 'Download to PDF '
    DEFAULT_EXTENSION = '(*.PDF)'
       DEFAULT_FILE_NAME = 'file.pdf'
       FILE_FILTER = 'PDF Format(*.PDF)'
       INITIAL_DIRECTORY = 'C:\Documents and Settings\Administrator\Desktop'
    WITH_ENCODING =
       PROMPT_ON_OVERWRITE = 'X'
      CHANGING
      FILENAME = W_FILE_NAME
      PATH = W_FILE_PATH
      FULLPATH = W_FULL_PATH
    USER_ACTION =
    FILE_ENCODING =
      EXCEPTIONS
      CNTL_ERROR = 1
      ERROR_NO_GUI = 2
      NOT_SUPPORTED_BY_GUI = 3
      OTHERS = 4
      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.                    " SAVE_DIALOG
    *&      Form  DOWNLOAD
    FORM DOWNLOAD .
    Use the FM GUI_DOWNLOAD to download the generated PDF file onto the
    presentation server
      CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
      BIN_FILESIZE = GV_BIN_FILESIZE
      FILENAME = W_FULL_PATH
      FILETYPE = 'BIN'
    APPEND = ' '
    WRITE_FIELD_SEPARATOR = ' '
    HEADER = '00'
    TRUNC_TRAILING_BLANKS = ' '
    WRITE_LF = 'X'
    COL_SELECT = ' '
    COL_SELECT_MASK = ' '
    DAT_MODE = ' '
    CONFIRM_OVERWRITE = ' '
    NO_AUTH_CHECK = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    WRITE_BOM = ' '
    TRUNC_TRAILING_BLANKS_EOL = 'X'
    WK1_N_FORMAT = ' '
    WK1_N_SIZE = ' '
    WK1_T_FORMAT = ' '
    WK1_T_SIZE = ' '
    IMPORTING
    FILELENGTH =
      TABLES
      DATA_TAB = GT_PDF_TAB
    FIELDNAMES =
    EXCEPTIONS
    FILE_WRITE_ERROR = 1
    NO_BATCH = 2
    GUI_REFUSE_FILETRANSFER = 3
    INVALID_TYPE = 4
    NO_AUTHORITY = 5
    UNKNOWN_ERROR = 6
    HEADER_NOT_ALLOWED = 7
    SEPARATOR_NOT_ALLOWED = 8
    FILESIZE_NOT_ALLOWED = 9
    HEADER_TOO_LONG = 10
    DP_ERROR_CREATE = 11
    DP_ERROR_SEND = 12
    DP_ERROR_WRITE = 13
    UNKNOWN_DP_ERROR = 14
    ACCESS_DENIED = 15
    DP_OUT_OF_MEMORY = 16
    DISK_FULL = 17
    DP_TIMEOUT = 18
    FILE_NOT_FOUND = 19
    DATAPROVIDER_EXCEPTION = 20
    CONTROL_FLUSH_ERROR = 21
    OTHERS = 22
      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.                    " DOWNLOAD
    *&      Form  SEND_MAIL
    FORM SEND_MAIL .
    ***changes by rajan
    *DATA : v_first TYPE USER_ADDR-NAME_FIRST,
         V_LAST   TYPE USER_ADDR-NAME_LAST.
    DATA : detail TYPE STRING.
    *SELECT SINGLE NAME_FIRST NAME_LAST FROM
    USER_ADDR INTO (V_FIRST,V_LAST)
    WHERE BNAME = syst-UNAME.
    CONCATENATE v_first V_LAST INTO detail SEPARATED BY space.
    data : v_po_no TYPE vbkd-bstkd,
          v_po_date TYPE vbkd-bstdk.
    data : day TYPE STRING,
           month type STRING,
           year  TYPE STRING.
    data : date TYPE STRING.
    SELECT SINGLE BSTKD BSTDK
      FROM VBKD
      INTO (v_po_no,v_po_date)
      WHERE VBELN = P_VBELN.
    day = v_po_date+6(2).
    month = v_po_date+4(2).
    year = v_po_date+0(4).
    CONCATENATE day '/' month '/' year INTO date.
      CONCATENATE 'Please Find attached Order Acceptance against your P.O.No.' v_po_no 'dated' date  '.' INTO detail SEPARATED BY space.
    **u2022 Assigning the Description of the object sent in the mail
    CLEAR GS_DOCDATA.
    GS_DOCDATA-OBJ_NAME = GC_TST.
    GS_DOCDATA-OBJ_DESCR = GC_TESTING.
    *u2022 Assigning the email id to Structure of the API Recipient List table
      CLEAR : GT_RECLIST, GS_RECLIST.
      GS_RECLIST-RECEIVER =  P_MAIL.       "
      GS_RECLIST-REC_TYPE = 'U'."'G' ."'O'. "'B'. "'U'.
      APPEND GS_RECLIST TO GT_RECLIST.
    mail body rajan
      I_OBJTXT = 'Dear Sir/Madam.'.
      APPEND I_OBJTXT.
      I_OBJTXT = detail.
      APPEND I_OBJTXT.
      I_OBJTXT = ''.
      APPEND I_OBJTXT.
      I_OBJTXT = 'Thanks.'.
      APPEND I_OBJTXT.
      I_OBJTXT = 'Best Regards,'.
      APPEND I_OBJTXT.
      I_OBJTXT = 'For Bilcare Ltd.'.
      APPEND I_OBJTXT.
      DESCRIBE TABLE i_objtxt LINES gv_desc_lines.
    *DESCRIBE TABLE i_objtxt LINES v_lines_txt.
      CLEAR I_OBJTXT.
      READ TABLE I_OBJTXT INDEX gv_desc_lines.
      if sy-subrc = 0.
    Document information.
    GS_DOCDATA-obj_name = 'ord_accept'.
    GS_DOCDATA-expiry_dat = sy-datum + 10.
    GS_DOCDATA-obj_descr = 'Order Acceptance'.
    GS_DOCDATA-sensitivty = 'F'. "Functional object
    GS_DOCDATA-doc_size = gv_desc_lines * 255.
    CLEAR Gs_OBJPACK-transf_bin.
    Start line of object header in transport packet
       GS_OBJPACK-TRANSF_BIN = 'X'.
        GS_OBJPACK-doc_size = gv_desc_lines * 255.
        GS_OBJPACK-HEAD_START = 1.
        GS_OBJPACK-HEAD_NUM = 0.
        GS_OBJPACK-BODY_START = 1.
        GS_OBJPACK-BODY_NUM = gv_desc_lines.
        GS_OBJPACK-DOC_TYPE = 'RAW'.
       GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.
       GS_OBJPACK-OBJ_DESCR = 'ORDER_ACCEPTANCE.PDF'.
        APPEND GS_OBJPACK TO GT_OBJPACK.
    GS_OBJPACK-HEAD_START = 1.
       GS_OBJPACK-HEAD_NUM = 0.
       GS_OBJPACK-BODY_START = 1.
    GS_OBJPACK-doc_type = 'RAW'.
    *APPEND GS_OBJPACK TO GT_OBJPACK.
      ENDIF.
    *u2022 Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table
      CLEAR : GS_OBJBIN, GS_PDF_TAB.
      LOOP AT GT_PDF_TAB INTO GS_PDF_TAB.
        GV_POS = 255 - GV_LEN.
        IF GV_POS > 134. "length of pdf_table
          GV_POS = 134.
        ENDIF.
        GS_OBJBIN+GV_LEN = GS_PDF_TAB(GV_POS).
        GV_LEN = GV_LEN + GV_POS.
        IF GV_LEN = 255. "length of out (contents_bin)
          APPEND GS_OBJBIN TO GT_OBJBIN.
          CLEAR: GS_OBJBIN, GV_LEN.
          IF GV_POS < 134.
            GS_OBJBIN = GS_PDF_TAB+GV_POS.
            GV_LEN = 134 - GV_POS.
          ENDIF.
        ENDIF.
      ENDLOOP.
      IF GV_LEN > 0.
        APPEND GS_OBJBIN TO GT_OBJBIN.
      ENDIF.
    *u2022 Filling the details in SAPoffice: Description of Imported Object Components table
      DESCRIBE TABLE GT_OBJBIN LINES GV_TAB_LINES.
      CLEAR GS_OBJBIN.
      READ TABLE GT_OBJBIN INTO GS_OBJBIN INDEX GV_TAB_LINES.
        IF SY-SUBRC = 0.
        GS_OBJPACK-DOC_SIZE = ( GV_TAB_LINES - 1 ) * 255 + STRLEN( GS_OBJBIN ).
        GS_OBJPACK-TRANSF_BIN = 'X'.
        GS_OBJPACK-HEAD_START = 1.
        GS_OBJPACK-HEAD_NUM = 0.
        GS_OBJPACK-BODY_START = 1.
        GS_OBJPACK-BODY_NUM = GV_TAB_LINES.
        GS_OBJPACK-DOC_TYPE = 'PDF'.
        GS_OBJPACK-OBJ_NAME = 'ORDER_ACCEPTANCE'.
        GS_OBJPACK-OBJ_DESCR = 'Order Acceptance'.
        APPEND GS_OBJPACK TO GT_OBJPACK.
      ENDIF.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          DOCUMENT_DATA                    = GS_DOCDATA
         PUT_IN_OUTBOX                    = 'X'
         COMMIT_WORK                      = 'X'
    IMPORTING
      SENT_TO_ALL                      =
      NEW_OBJECT_ID                    =
        TABLES
          PACKING_LIST                     = GT_OBJPACK
      OBJECT_HEADER                    =  I_OBJTXT
         CONTENTS_BIN                     = GT_OBJBIN
         CONTENTS_TXT                     = I_OBJTXT
      CONTENTS_HEX                     =
      OBJECT_PARA                      =
      OBJECT_PARB                      =
          RECEIVERS                        = GT_RECLIST
       EXCEPTIONS
         TOO_MANY_RECEIVERS               = 1
         DOCUMENT_NOT_SENT                = 2
         DOCUMENT_TYPE_NOT_EXIST          = 3
         OPERATION_NO_AUTHORIZATION       = 4
         PARAMETER_ERROR                  = 5
         X_ERROR                          = 6
         ENQUEUE_ERROR                    = 7
         OTHERS                           = 8
      IF SY-SUBRC <> 0.
       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
       WRITE 'Sent Successfully'.
        MESSAGE 'Sent Successfully' TYPE 'I'.
         CALL TRANSACTION 'YMSL20'.
         LEAVE LIST-PROCESSING.
      ENDIF.
      SUBMIT RSCONN01
      WITH MODE EQ 'INT'
      AND RETURN.
    ENDFORM.                    " SEND_MAIL
    Thanks
    Ankur Sharma

  • How To UPLOAD a DATA (.DAT) fiel from PC to internal table and then split it into the data different columns

    Hi all,
    I am new to ABAP Development. I need to upload a .DAT file (the file doesn#t have any proper structure-- Please find the .DAT file in the attachment). After uploading the DATA (.DAT) fiel I need to split in into different columns. Refering the attached .DAT fiel the fields in bracets like:
    [Arbeitstag],  [Pecunia], [Mita], [Kunde], [Auftrag] and  [Position] are different fields that need to be arranged in columns in an internal table. this .DAT fiel which I want to upload and then SPLIT it into various fields will will treated as MASTER DATA table for further programming. The program that I had written is as below. Also please refer the attached .DAT table.
    Please if any one could help me. i searched a lot in different forums but couldn't find me  a solution. Also note that the attached fiel is in text (.txt) format here but in real situation the same fiel is in DATA (.DAT) format.
    *& Report  ZDEMO_ZEITERFASSUNG9
    REPORT  ZDEMO_ZEITERFASSUNG9.
    Types: Begin of ttab,
            Rec(1000) type c,
           End of ttab.
    DATA: itab  type table of ttab.
    DATA: wa_tab type ttab.
    DATA: file_str type string.
    Parameters: p_file type localfile.
    At selection-screen on value-request for p_file.
                                           CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
                                            EXPORTING
    *                                          PROGRAM_NAME        = SYST-REPID
    *                                          DYNPRO_NUMBER       = SYST-DYNNR
    *                                          FIELD_NAME          = ' '
                                               STATIC              = 'X'
    *                                          MASK                = ' '
                                             CHANGING
                                               file_name           = p_file.
    *                                        EXCEPTIONS
    *                                          MASK_TOO_LONG       = 1
    *                                          OTHERS              = 2
    Start-of-Selection.
      file_str = P_file.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = '\\10.10.1.92\Volume_1\_projekte\Zeiterfassung-SAP\BUP_ZEIT.DAT'   " This the file  source address
          FILETYPE                      = 'DAT'
          HAS_FIELD_SEPARATOR           = ';'
    *     HEADER_LENGTH                 = 0
    *     READ_BY_LINE                  = 'X'
    *     DAT_MODE                      = ' '
    *     CODEPAGE                      = ' '
    *     IGNORE_CERR                   = ABAP_TRUE
    *     REPLACEMENT                   = '#'
    *     CHECK_BOM                     = ' '
    *     VIRUS_SCAN_PROFILE            =
    *     NO_AUTH_CHECK                 = ' '
    *   IMPORTING
    *     FILELENGTH                    =
    *     HEADER                        =
        tables
          data_tab                      = itab
       EXCEPTIONS
         FILE_OPEN_ERROR               = 1
         FILE_READ_ERROR               = 2
         NO_BATCH                      = 3
         GUI_REFUSE_FILETRANSFER       = 4
         INVALID_TYPE                  = 5
         NO_AUTHORITY                  = 6
         UNKNOWN_ERROR                 = 7
         BAD_DATA_FORMAT               = 8
         HEADER_NOT_ALLOWED            = 9
         SEPARATOR_NOT_ALLOWED         = 10
         HEADER_TOO_LONG               = 11
         UNKNOWN_DP_ERROR              = 12
         ACCESS_DENIED                 = 13
         DP_OUT_OF_MEMORY              = 14
         DISK_FULL                     = 15
         DP_TIMEOUT                    = 16
         OTHERS                        = 17
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      LOOP at itab into wa_tab.
            WRITE: / wa_tab.
      ENDLOOP.
    I will be grateful to all you experts for ur inputs
    regards
    Chandan Singh

    For every Auftrag, there are multiple Position entries.
    Rest of the blocks don't seems to have any relation.
    So you can check this code to see how internal table lt_str is built whose first 3 fields have data contained in Auftrag, and next 3 fields have Position data. The structure is flat, assuming that every Position record is related to preceding Auftrag.
    Try out this snippet.
    DATA lt_data TYPE TABLE OF string.
    DATA lv_data TYPE string.
    CALL METHOD cl_gui_frontend_services=>gui_upload
      EXPORTING
        filename = 'C:\temp\test.txt'
      CHANGING
        data_tab = lt_data
      EXCEPTIONS
        OTHERS   = 19.
    CHECK sy-subrc EQ 0.
    TYPES:
    BEGIN OF ty_str,
      a1 TYPE string,
      a2 TYPE string,
      a3 TYPE string,
      p1 TYPE string,
      p2 TYPE string,
      p3 TYPE string,
    END OF ty_str.
    DATA: lt_str TYPE TABLE OF ty_str,
          ls_str TYPE ty_str,
          lv_block TYPE string,
          lv_flag TYPE boolean.
    LOOP AT lt_data INTO lv_data.
      CASE lv_data.
        WHEN '[Version]' OR '[StdSatz]' OR '[Arbeitstag]' OR '[Pecunia]'
             OR '[Mita]' OR '[Kunde]' OR '[Auftrag]' OR '[Position]'.
          lv_block = lv_data.
          lv_flag = abap_false.
        WHEN OTHERS.
          lv_flag = abap_true.
      ENDCASE.
      CHECK lv_flag EQ abap_true.
      CASE lv_block.
        WHEN '[Auftrag]'.
          SPLIT lv_data AT ';' INTO ls_str-a1 ls_str-a2 ls_str-a3.
        WHEN '[Position]'.
          SPLIT lv_data AT ';' INTO ls_str-p1 ls_str-p2 ls_str-p3.
          APPEND ls_str TO lt_str.
      ENDCASE.
    ENDLOOP.

  • Reading fixed length flatfile & splitting it into header and lineitem data

    Hi Friends,
    I am reading a fixed length flat file from application server into an Internal table.
    But problem is, data in flat file is in the below format with fixed start and end positions.
    1 - 78 -  control header
    1 - 581 - Invoice header data
    1 - 411 - Invoice Line item data
    1 - 45 -   trailer record
    There will be one control header and one trailer record per file and number of invoice headers and its line items can vary.
    There is unique identifiers to identify as below.
    Control header - starts with 'CHR'
    Invoice Header starts with - '000'
    Invoice Lineitem stats with - '001'
    trailer record - starts with 'TRL'
    So its like
    CHR.......control  data..(79)000.....header data...(660)001....lineitem1...(1481)001...lineitem2....multiples of 411 and 581 and ends with... TRL...trailer record..
    (position)
    I am first reading the data set and store in internal table with a field of 255char.
    by looping on above ITAB i have to split it into Header records and line item records.
    Did anyone face this kind of scenario before. If yes appreciate if you can throw some ideas on logic to split this data.
    Any help in splitting up the data is highly appreciated.
    Regards,
    Simha
    ITAB declaration
    DATA: BEGIN OF ITAB OCCURS 0,
                   FIELD(255),
               END OF ITAB,
                lt_header type table of ZTHDR,
                lt_lineitem type table of ZTLINITM.

    Hi,
    i am sending sample code which resembles your requiremeant.
    data: BEGIN OF it_input OCCURS 0, "used for store all the data in one line.
          line type string ,
          END OF it_input,
          it_header type TABLE OF string WITH HEADER LINE,"use to store all header with corresponding items
          it_item   type TABLE OF string WITH HEADER LINE.."used to store all item data
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = 'd:\test.txt'
      FILETYPE                      = 'ASC'
      HAS_FIELD_SEPARATOR           = ' '
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
      VIRUS_SCAN_PROFILE            =
      NO_AUTH_CHECK                 = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
      tables
        data_tab                      = it_input
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_READ_ERROR               = 2
      NO_BATCH                      = 3
      GUI_REFUSE_FILETRANSFER       = 4
      INVALID_TYPE                  = 5
      NO_AUTHORITY                  = 6
      UNKNOWN_ERROR                 = 7
      BAD_DATA_FORMAT               = 8
      HEADER_NOT_ALLOWED            = 9
      SEPARATOR_NOT_ALLOWED         = 10
      HEADER_TOO_LONG               = 11
      UNKNOWN_DP_ERROR              = 12
      ACCESS_DENIED                 = 13
      DP_OUT_OF_MEMORY              = 14
      DISK_FULL                     = 15
      DP_TIMEOUT                    = 16
      OTHERS                        = 17
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT  it_input.
       write : it_input-line.
    ENDLOOP.
    before doing the below steps just takethe controle record and trail record cutt of from the table input based up on the length
      split it_input-line AT '000' INTO TABLE it_header IN CHARACTER MODE.
      LOOP AT  it_header.
        split it_header AT '0001' INTO TABLE it_item IN CHARACTER MODE.
        write :/ it_header.
      ENDLOOP.
    after this you need to cut the records in tocorresponding  fields in to respective tables by putting loop on item and header table as i decleared above.
    i think this may solve your problem you need to keep some minnor effort.
    Regaurds,
    Sree..

  • Split data into different fields in TR

    I have a flat file with space (multiple spaces between different fields) as a delimiter. The problem is, file is coming from 3rd party and they don't want to change the separator as comma or tab delimited CSV file. I have to load data in ODS (BW 3x).
    Now I am thinking to load line by line and then split data into different objects in Transfer rules.
    The Records looks like:
    *009785499 ssss BC sssss 2988 ssss 244 sss 772 sss  200
    *000000033 ssss AB ssss        0  ssss   0 ssss 0 ssss 0
    *000004533 ssss EE ssss        8  ssss   3 ssss 2 ssss 4
    s = space
    Now I want data to split like:
    Field1 = 009785499
    Field2 = BC
    Field3 = 2988
    Field4 = 244
    Field5 = 772
    Field6 = 200
    After 1st line load, go to 2nd line and split the data as above and so on. Could you help me with the code pleaseu2026?
    Is it a good design to load data? Any other idea?
    I appreciate your helps..

    Hi,
    Not sure how efficient this is, but you can try an approach on the lines of this link /people/sap.user72/blog/2006/05/27/long-texts-in-sap-bw-modeling
    Make your transfer structure in this format. Say the length of each line is 200 characters. Make the first field of the structure of length 200. That is, the length of Field1 in the Trans Struc will be 200.
    The second field can be the length of Field2 as you need in your ODS, and similarly for Field3 to Field6. Load it as a CSV file. Since there are no commas, the entire line will enter into the first field of the Trans Structure. This can be broken up into individual fields in the Transfer Rules.
    Now, in your Start Routine of transfer rules, write code like this (similar to the ex in the blog):
    Field-symbols <fs> type transfer-structure.
    Loop at Datapak assigning <fs>.
        split <fs>-Field1 at 'ssss' into <fs>-field1 <fs>-field2 <fs>-field3....
        modify datapak from <fs>
    endloop.
    Now you can assign Field1 of Trans Struc to Field1 of Comm Struc, Field2 of Trans Struc to Field2 of Comm Struc and so on.
    Hope it helps!
    Edited by: Suhas Karnik on Jun 17, 2008 10:28 PM

  • Split signal into XY components

    Hi,
    I am new to LabVIEW but have spend a huge amount of time (mainly going round in circles not getting anywhere) trying to get my VI design working.  All very frustrating since I know what I want the VI to do but cannot figure out how to implement it in LabVIEW (despite hours of searching in this LabVIEW forum and in the help files).
    I need to....
    Take a signal from DAQ Assistant, when the signal is at a particular threshold (user configurable via Front Panel) log the data to Measurement File and stop logging when the signal reaches a higher threshold (I tried using the 'Trigger and Gate' VI in Express but it doesn't allow user configurable values for thresholds (only integers)). 
    Then I need to read back the Measurement File and split it into its XY parts to display on an XY Graph (and keep it displayed on the front panel for user observation).
    Any help would be greatly appreciated but please explain in detail as I've already played with LabVIEW for hours and hours and haven't got anywhere.
    Regards,

    Hi bunnykins,
    I think you can try using normal greater than /less than comparison functions and log the data using the Write to measurement file with append to file option enable.I have attached the screenshot of the block diagram.Please have a look. Thanks and regards, srikrishnaNF
    Attachments:
    first.png.zip ‏21 KB

  • Split records into two files based on lookup table

    Hi,
    I'm new to ODI and want to know on how I could split records into two files based on a value in one of the columns in the table.
    Example:
    Table:
    my columns are
    account name country
    100 USA
    200 USA
    300 UK
    200 AUS
    So from the 4 records I maintain list of countries in a lookup file and split the records into 2 different files based on values in the file...
    Say I have records AUS and UK in my lookup file...
    So my ODI routine should send all records with country into file1 and rest to file2.
    So from above records
    File1:
    300 UK
    200 AUS
    File2:
    100 USA
    200 USA
    Can you help me how to achieve this?
    Thanks,
    Sam

    1. where and how do i create filter to restrict countries? In source or target? Should I include some kind of filter operator in interface.
    You need to have the Filter on the Source side so that we can filter records accordingly the capture the same in the File. To have a Filter . In the source data store click and drag the column outside the data store and you will have Cone shaped icon and now you can click and type the Filter.
    Please look into this link for ODI Documentation -http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html
    Also look into this Getting started guide - http://download.oracle.com/docs/cd/E15985_01/doc.10136/getstart/GSETL.pdf . You can find information as how to create Filter in this guide.
    2. If I have include multipe countries like (USA,CANADA,UK) to go to one file and rest to another file; Can I use some kind of lookup file...? Instead of modifying filter inside interface...Can i Update entries in the file?
    there are two ways of handling your situation.
    Solution 1.
    1. Create Variable Country_Variable
    2. Create a Filter in the Source datastore in the First Interface ( SOURCE.COLUMN = #Country_Variable)
    3. Create a new Package Country File Unload
    4. Call the Variable in Country_Variable in Set Mode and provide the Country (USA )
    5. Next call the First Interface
    6. Next call the Second Interface where the Filter condition will be ( SOURCE.COLUMN ! = #Country_Variable )
    7. Now run the package .
    Solution 2.
    If you need a solution to handle through Filer.
    1. Use this Method (http://odiexperts.com/how-to-refresh-odi-variables-from-file-%E2%80%93-part-1-%E2%80%93-just-one-value ) to call the File where you wish to create store the country name into the variable Country_Variable
    2. Pretty much the same Create a Filter in the Source datastore in the First Interface ( SOURCE.COLUMN = #Country_Variable)
    3.Create a new Package Country File Unload
    4.Next call the Second Interface where the Filter condition will be ( SOURCE.COLUMN ! = #Country_Variable )
    5. Now run the package .
    Now through this way using File you can control the File.
    Please try and let us know , if you need any other help.

  • How to Split field  into multiple fields in  Import Manager without  delem

    Hi
      Is there any method to Split a record in MDM without using delimitter?
    I dont want to use any delemitter  My field content in Source is  PRODLABELPACK and I want to split it into 3 fields in destination  Field1= PROD
    Field2=LABEL   Field3=PACK
    I know how to split it if the content is PROD_LABEL_PACK .But we dont want to use delimiter in the firld and want to use some substring function
    Regards
    Prashant

    You Can use below FM  SWA_STRING_SPLIT -
    First Use READ_TEXT FM.
    then loop into
    loop at tline.
    Here use 'SWA_STRING_SPLIT' -> Pass tdline and append the text into other internal table.
    endloop
    Thank you
    Seshu

  • Splitting Application into separate projects

    I'd tried to split my domain layer (annotated EJB3) into separate project, from my service layer (EJB3 session beans) - that used to run together happily but I got the following error against each entity.
    Exception [TOPLINK-198] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DescriptorException
    Exception Description: In order to use ObjectChangeTrackingPolicy or AttributeChangeTrackingPolicy, class com.davinci.capital.domain.tran.Tran has to implement ChangeTracker interface.
    Descriptor: RelationalDescriptor(com.davinci.capital.domain.tran.Tran --> [DatabaseTable(TRAN)])
    When I put the projects back together I still got the problem. I think it might be related to the enhancement process and somehow picking the un-enhanced code.
    Is there someway to 'reset' a project/application? I tried removing the project (and leaving the source) and then creating a new one with the source still in place, but the error remains.
    Any ideas?
    Thanks
    Michael
    Message was edited by:
    mmcgovern

    Somewhat answered this myself.
    Appears that I had some unenhanced domain class files lying around in the DAO layer - these where getting picked up instead of the enhanced ones.
    However it appears I there is a problem having EJBs spread around different projects within the application. The above problem appears to be related to having two-way dependencies so I get two copies of classes file created - and it picks up the unenhanced one.
    The real problem is that I can't have EJB's in multiple projects - its appears to only create an ejb-jar.xml for EJBs in the "target" project (embedded OC4J) - the EJB's in the related projects are ignored.
    If could split EJBs into projects then I would not have two-way dependencies and the original problem goes away.
    Any ideas?
    null

  • [svn] 1384: Splitting DefineFont into the various DefineFont 1, 2, 3, etc SWF tag formats but retaining a common base DefineFont class so that embedded fonts are still retained as symbols for the SWF dictionary no matter what version of the SWF tag is us

    Revision: 1384
    Author: [email protected]
    Date: 2008-04-24 07:54:58 -0700 (Thu, 24 Apr 2008)
    Log Message:
    Splitting DefineFont into the various DefineFont 1, 2, 3, etc SWF tag formats but retaining a common base DefineFont class so that embedded fonts are still retained as symbols for the SWF dictionary no matter what version of the SWF tag is used.
    Also improving [Embed] so that it can recognize .TTC files as assets (previously these were only recognized through CSS @font-face rules).
    QE: Yes, please add a test case for using [Embed] to embed fonts from a TTC file in addition to our tests for @font-face. Note that the AFEFontManager must be configured for this scenario.
    Doc: No
    Checkintests: Pass
    Mxunit: AtEmbed Font suite: Pass
    Modified Paths:
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/media/AbstractTranscoder.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/media/FontTranscoder.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/MimeMappings.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/fonts/CachedFontManager.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/Dictionary.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/MovieEncoder.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/TagDecoder.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/TagEncoder.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/TagHandler.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/TagValues.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/builder/tags/FontBuilder.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineFont.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineFontAlignZones.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineFontInfo.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tools/SwfxPrinter.java
    Added Paths:
    flex/sdk/trunk/modules/swfutils/src/java/flash/fonts/DefineFont3Face.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineFont1.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineFont2.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineFont3.java
    flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tags/DefineFont4.java
    Removed Paths:
    flex/sdk/trunk/modules/swfutils/src/java/flash/fonts/DefineFontFace.java

    Running the script by python2 solves it for me:
    su - mythtv -c "nice -n 19 python2 /usr/bin/tv_grab_nl_py --output ~/listings.xml"
    Best regards,
    Cedric

  • Splitting video into clips

    video downloaded from DVD will not split into clips for editing how can I split into clips. The DVD is from an old camerea not compatable with windows 7 so have to download from DVD . jules

    juliej44
    It sounds like whatever was put on disc was put on a DVD-R Intenso brand disc.
    Probably the tape content was put on that DVD-R disc in DVD-VIDEO format. It gets more complicated if it gets put on the DVD-RAM type disc (which does not seem to be the case).
    To verify the format of the material on your DVD disc, put the disc in the burn tray, go to computer, and Open the drive. You should see at least two folders, OpenDVD, VIDEO_TS, and maybe AUDIO_TS. Those folders are indicative of a DVD-VIDEO format.
    http://www.fileinfo.com/help/video_ts_folder
    Now back to Premiere Elements and the Video Importer. The video editor is not going to rip off clips from the DVD-VIDEO format. It is going to rip off VOB video files which contain a fixed number of files before it generates additional of its kind for additional video content.
    Once you have the video VOB files (typically starting with VTS_01_1.VOB...spot the larger file size ones), in the Video Importer, you bring them into the project where you split them into clips that you want. You can do that in the Preview Window with the Set In Set Out point.
    http://help.adobe.com/en_US/premiereelements/using/WSA27F29AF-97BB-4bdc-AF98-65113182EDF6. html
    http://www.atr935.blogspot.com/2013/06/pe11-project-assets-organization-for.html
    Please review the above and then let us know if any of it helped for the task that you want to perform with Premiere Elements.
    Thanks.
    ATR

Maybe you are looking for

  • Implicit enhancement for report painter (CJE2 & GRR3 reports)

    Hi, We have a client requirement to add 5 fields (In selection screen) to report painter reports ( Reports of CJE3 and GRR3 ).We created Z reports as a copy of standard reports, added required 5 fields by implementing SAP notes and other settings.We

  • The index link does not appear in italic. What do I do wrong?

    The primary definition of the glossary term does appear in bold, but the secondary (index link) term does not appear in italic.  I also can not format the word in another color or typeface. Any ideas on how to fix this?

  • How to use EJB in JSP...urgent!!!

    hello, i am novice programmer in EJB. i am using weblogic 6.1 ... my problem is how to use EJB in jsp page. my code is as follow..but its not displaying any result. <%@ page import="javax.naming.InitialContext, javax.naming.Context, java.util.Propert

  • Css background-position problem

    Hello, I get a problem with this style: <style type="text/css" media="screen"> html { margin: 0px; padding: 0px; height: 100%; width: 100%; body { background-color:#ffffff; background-image:url(images/myimage.jpg); background-position: center bottom;

  • Laserwriter 320 driver

    Does anyone know where I can get the driver software for my Personal Laserwriter 320 to run on Mac OS 8.5.1? I have a StarMax 4200. Thanks!