WRITTING AN UPLOAD ROUTINE

I have oracle portal but wish to write an upload routine in pl/sql and run as a link component (url link).
My procedure will do the following :-
I want the user to browse the their file system and choose a file and then upload to the portal30.wwdoc_document table. I then want to call a procedure passing the name of the file uploaded to it.
Does anybody have examples of how to do this.
I know how to upload a file using content area in portal but want a stored procedure which will be called from my poprtal app menu.
Any comments will be really helpfull.

I can retrieve info regarding a file that exists, that part of the code works fine, but if I execute the procedure I get the following error message:-
ORA-06550: line 2, column 1:
PLS-00306: wrong number or types of arguments in call to 'TEST_UPLOAD'
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored (WWV-11230)
Failed to parse as PORTAL30 - begin
"PORTAL30"."TEST_UPLOAD";
end; (WWV-08300)
my code
p_file IN VARCHAR2)
as
begin
if p_file is null then
htp.formOpen(
curl => 'http://halifax.wira.explor.co.uk/pls/test1/test_upload',
cattributes => 'enctype="multipart/form-data"');
htp.p('<INPUT TYPE="FILE" NAME="p_file">');
htp.formSubmit;
htp.formClose;
else
htp.p('Uploaded File Information');
htp.hr;
htp.p('Name:' &#0124; &#0124; p_file);
for i in (
select *
from portal30.wwdoc_document
where name = p_file
) loop
htp.p('File Name:' &#0124; &#0124; i.filename);
htp.br;
htp.p('Size: ' &#0124; &#0124; i.doc_size);
htp.br;
htp.p('Mime Type: ' &#0124; &#0124; i.mime_type);
end loop;
end if;
end;
Question - How do I get the browse button part to work so I can upload ?
Thanks in anticipation.

Similar Messages

  • How to write a start routine in the trasnformations ?

    Hi Experts,
    I am working on BI 7, As I want to write a start routine in transformations of 0FIGL_O02 DSO, to allow the GL accounts with cost center data. Already there is a delete statement please find.
    *DELETE SOURCE_PACKAGE where BAL_FLAG = 'X'. I had made comment to allow the G/L accounts. since I have some GL Accounts which does'nt have the cost center data, so in this case I have to write a ABAP code to allow this G/L accounts with cost center data.
    So Let me know if anyone can help me how to write the ABAP code in the start routine.
    Thanks
    sekhar

    Hi,
                Yopu can write the below lines of code adn try
        SORT source_package BY Receive nr  Type ASCENDING.
        DELETE ADJACENT DUPLICATES FROM source_package COMPARING Receive nr  Type.
    But you should make sure which record of the either rows need to deleted
    i.e in
    F9001;LU;J001;662;
    F9001;LU;J002;662
    You need to decide to eliminate 1st or 2nd one.(depends on your requirement)

  • How to write the start routine in the transformations ?

    Hi Experts,
    I am working on BI 7, As I want to write a start routine in transformations of 0FIGL_O02 DSO, to allow the GL accounts with cost center data. Already there is a delete statement please find.
    *DELETE SOURCE_PACKAGE where BAL_FLAG = 'X'. I had made comment to allow the G/L accounts. since I have some GL Accounts which does'nt have the cost center data, so in this case I have to write a ABAP code to allow this G/L accounts with cost center data.
    So Let me know if anyone can help me how to write the ABAP code in the start routine.
    Thanks
    sekhar

    Hi Experts,
    I am working on BI 7, As I want to write a start routine in transformations of 0FIGL_O02 DSO, to allow the GL accounts with cost center data. Already there is a delete statement please find.
    *DELETE SOURCE_PACKAGE where BAL_FLAG = 'X'. I had made comment to allow the G/L accounts. since I have some GL Accounts which does'nt have the cost center data, so in this case I have to write a ABAP code to allow this G/L accounts with cost center data.
    So Let me know if anyone can help me how to write the ABAP code in the start routine.
    Thanks
    sekhar

  • How to write a Globla Routine for Transfer Rules

    Hi Experts,
    How to write a Global Routine for Tranfer Rules ? Where all the infoobjects need to be grouped? Effect need to be shown on group of fields that are available in a single structure.
    Thanks in Advance
    Vara

    Hi,
    Are you aware of Start Routine available?.. This helps to write a routine on all the infoObjects available in Transfer Structure
    http://help.sap.com/saphelp_nw04/helpdata/en/b3/0ef3e8396111d5b2e80050da4c74dc/frameset.htm
    regards
    Happy Tony

  • How do we write the sub routines in smart forms?

    1) How do we write the sub routines in smart forms?
    2) What is the’ form interface’ in smart forms?
    3) Write down the path for writing for select queries in smart forms?
    4) How do we put dynamic page break in smart forms?
    5) in which system field contain the total page number of all forms in the currently processed print request in smart forms?
    6) What is the name of function module used to calling smart forms?
    1)     What is the functionality of function module ‘controal_form’?
    2)     How do we print the system date in this format ’15th Jan 2008’ on scripts?
    3)     What r the various print modes available in scripts?
    4)     What is the tcode for text element?
    5)     How do we draw horizontal line in scripts?
    6)     How can we suppress the leading zeros for a field in scripts?
    7)     In which system field is used to print current no page in scripts?
    Which f.m is used to reads text in sap scripts

    1) How do we write the sub routines in smart forms?
    after opening form see global definitions
    click on that there one tab called form routines inthat you can write subroutines logic.
    You can call in program lines .
    2) What is the’ form interface’ in smart forms?
    It is an interface between program and form .
    like function module we provide import,export,tables,exceptions
    Based on import and export parameters form will display for us.
    3) Write down the path for writing for select queries in smart forms?
    On window give right click in that command->programlines
    you can write all select  statements.
    4) How do we put dynamic page break in smart forms?
    you can define break point using break-point<>. syntax.
    5) in which system field contain the total page number of all forms in the currently processed print request in smart forms?
    SFSY-PAGE
    SFSY-JOBPAGES
    6) What is the name of function module used to calling smart forms?
    SSF_FUNCTION_MODULE_NAME
    =================
    1) What is the functionality of function module ‘control_form’?
    This function module is used to insert SAPScript control commands like NEW-PAGE etc from whithin the ABAP program.
    CALL FUNCTION 'CONTROL_FORM'
    EXPORTING
      COMMAND    =
    EXCEPTIONS
      UNOPENED   = 1
      OTHERS        = 3
    IF SY-SUBRC NE 0.
    MESSAGE ...
    ENDIF.
    2) How do we print the system date in this format ’15th Jan 2008’ on scripts?
    Use SET DATE MASK to change format of date display.
    3) What r the various print modes available in scripts?
    4) What is the tcode for text element?
    se91
    5) How do we draw horizontal line in scripts?
    &ULINE&
    6) How can we suppress the leading zeros for a field in scripts?
    &it_vbak-vbeln(Z)&
    7) In which system field is used to print current no page in scripts?
    &SYST-PAGE& of &SYST-FORMPAGES&
    Which f.m is used to reads text in sap scripts
    READ_TEXT functiomodule.
    Reward points

  • How to write an inverse routine for an info object at field level.

    Hi All,
    Our requirement is as follows:
    Need to populate 0MAT_PLANT in a virtual provider. But during query performance it is like -
    If someone were to add a filter to the BW query on 0MAT_PLANT, it would take the system awhile to search the APO database for that 18 CHAR material number because the data in APO is stored differently (40 CHARs).  The point of the  inverse routine is to convert the 18 CHAR to be 40 CHAR for those times when someone selects on 0MAT_PLANT.  That way, the field types match and finding the data in APO is much quicker.
    Hence if we need selection on the selection scree of the query for 0MAT_PLANT, we are trying for inverse routine which will convert 18 chars to 40 chars in the query level and the performance will be quicker.
    See, 0MAT_PLANT is of 18 Char length. We are mapping it from ZMATNR in source which is of 40 chars. Thus initially in the field routine we will write a code to convert 0MAT_PLANT to 18 from 40.
    Below is the code and the place we now we also need to write inverse routine to convert it to 40 from 18 chars.
    *****Code to convert from 40 chars to 18******
    *In APO if the material contains all integers values the material will
    * come over as a 40 byte field.  It needs to be shortened.
      IF SOURCE_FIELDS-/BIC/ZMATNR CO '0123456789'.
        short_material = SOURCE_FIELDS-/BIC/ZMATNR+22(18).
    *In APO if the material contains any character fields the material will
    * not be zero filled and will be left alligned. Take the 1st 18 bytes.
      ELSE.
        short_material = SOURCE_FIELDS-/BIC/ZMATNR(18).
      ENDIF.
    *add leading zeros to numeric only value
      IF short_material CO '0123456789 '.
         w_num18 = short_material.
         short_material = w_num18.
      ENDIF.
      RESULT = short_material.
    *$*$ end of routine -
    ***********here the iverse routine need to write************
    *       Method invert_0MATERIAL
    *       This subroutine needs to be implemented only for direct access
    *       (for better performance) and for the Report/Report Interface
    *       (drill through).
    *       The inverse routine should transform a projection and
    *       a selection for the target to a projection and a selection
    *       for the source, respectively.
    *       If the implementation remains empty all fields are filled and
    *       all values are selected.
      METHOD invert_0MATERIAL.
    *$*$ begin of inverse routine - insert your code only below this line*-*... "insert your code here
    Here you would write logic in 0MAT_PLANT to do the opposite of the above,
    convert 18 back to 40 characters.
    *$*$ end of inverse routine - insert your code only before this line *-*
      The articulated form above in RED says that the subroutine i.e. the inverse routine is implemented for direct access and report to report interface.
    Could anybody please help me or let me know any idea related to this.

    Hi All,
    Our requirement is as follows:
    Need to populate 0MAT_PLANT in a virtual provider. But during query performance it is like -
    If someone were to add a filter to the BW query on 0MAT_PLANT, it would take the system awhile to search the APO database for that 18 CHAR material number because the data in APO is stored differently (40 CHARs).  The point of the  inverse routine is to convert the 18 CHAR to be 40 CHAR for those times when someone selects on 0MAT_PLANT.  That way, the field types match and finding the data in APO is much quicker.
    Hence if we need selection on the selection scree of the query for 0MAT_PLANT, we are trying for inverse routine which will convert 18 chars to 40 chars in the query level and the performance will be quicker.
    See, 0MAT_PLANT is of 18 Char length. We are mapping it from ZMATNR in source which is of 40 chars. Thus initially in the field routine we will write a code to convert 0MAT_PLANT to 18 from 40.
    Below is the code and the place we now we also need to write inverse routine to convert it to 40 from 18 chars.
    *****Code to convert from 40 chars to 18******
    *In APO if the material contains all integers values the material will
    * come over as a 40 byte field.  It needs to be shortened.
      IF SOURCE_FIELDS-/BIC/ZMATNR CO '0123456789'.
        short_material = SOURCE_FIELDS-/BIC/ZMATNR+22(18).
    *In APO if the material contains any character fields the material will
    * not be zero filled and will be left alligned. Take the 1st 18 bytes.
      ELSE.
        short_material = SOURCE_FIELDS-/BIC/ZMATNR(18).
      ENDIF.
    *add leading zeros to numeric only value
      IF short_material CO '0123456789 '.
         w_num18 = short_material.
         short_material = w_num18.
      ENDIF.
      RESULT = short_material.
    *$*$ end of routine -
    ***********here the iverse routine need to write************
    *       Method invert_0MATERIAL
    *       This subroutine needs to be implemented only for direct access
    *       (for better performance) and for the Report/Report Interface
    *       (drill through).
    *       The inverse routine should transform a projection and
    *       a selection for the target to a projection and a selection
    *       for the source, respectively.
    *       If the implementation remains empty all fields are filled and
    *       all values are selected.
      METHOD invert_0MATERIAL.
    *$*$ begin of inverse routine - insert your code only below this line*-*... "insert your code here
    Here you would write logic in 0MAT_PLANT to do the opposite of the above,
    convert 18 back to 40 characters.
    *$*$ end of inverse routine - insert your code only before this line *-*
      The articulated form above in RED says that the subroutine i.e. the inverse routine is implemented for direct access and report to report interface.
    Could anybody please help me or let me know any idea related to this.

  • Write Update Rule routine

    Hi experts,
        I am not confident about how to write the code for this routine.
    A Custom key figures is calculatted following way:
    If field xyz is populated, add subtotal_A and subtotal_b.
    otherwise
             add subtotal_A and subtotal_C.
    I see Result = . in update routine and am not sure wht to put there.

    if source_fields-xyz = ' ' .
    result = source_fields-subtotal_a + source_fields-subtotal_c.
    else.
    result = source_fields-subtotal_a + source_fields-subtotal_b.
    endif.
    Edited by: Ranjit Rout on Apr 1, 2008 12:00 AM

  • Infopackage upload routine flat file

    Hi,
    I'm uploading a flat .csv file with an infopackage routine (called by a process chain).
    First it checks the existence and if the file exists running it's ok, but if not (no file found) I want to stop the upload and do nothing (now the infopackage load stays in red like an error load) but I don't know the way to do it...
    (maybe with sy-subrc??)
         v_file = '/usr/sap/.../ZZ.CSV'.
            CALL FUNCTION 'DX_FILE_EXISTENCE_CHECK'
            EXPORTING
            FILENAME = v_file
            PC = ''
            SERVER = ''
            IMPORTING
            FILE_EXISTS = v_file_exists.
            if v_file_exists ='X'.
            p_filename ='/usr/sap/.../ZZ.CSV'.
            else.
         ???????????????????????????  What to do?????
            endif.
    Thanks for your help!

    Hi Marcel,
    Since you are already executing the info package it will always turn red if there is no file found to be uploaded.
    In that case you can upload a blank file onto the server, if the file is not found then update the infopackage path by the path of the blank file. This will ensure that the info package is always completed causing no impact on the data.
    Another way of doing the same will be using a program, where in you can check the existence of the file. If file is found then update the package and trigger the load, else do nothing. This will also help in stopping the infopackage from turning red. Here in you can use BAPI BAPI_IPAK_CHANGE to update info package and function RSPC_API_CHAIN_START to trigger process chain.
    regards,
    Shyam.

  • Info package Routine - How to write

    Hi ,
    Can any body give me the step step by process on how to write Info package routine. Actually my requirement is to load the current month Data automatically through infopackge . I can write the ABAP code , but i am told to write in Infopackage level.
    Thanks in advance..

    Hi,
    In our case we had a requirement to load the data for the transactions occuring in the last 15 days only, so we have write the routine on the last modified date feild  in the infopackage.so as to select only records modified or created in the last 15 days..
    attached is the sample code....
    data: l_idx like sy-tabix.
      read table l_t_range with key
           fieldname = 'LAST_MODIFIED_DA'.
      l_idx = sy-tabix.
      data : w_cdate type d .
      l_idx = sy-tabix.
      w_cdate = sy-datum.
      w_cdate = w_cdate - 15 .
      L_t_RANGE-LOW  = w_cdate .
      L_t_RANGE-HIGH = sy-datum .
      L_t_RANGE-SIGN = 'I'.
      L_t_RANGE-OPTION = 'BT'.
      append l_t_range.
      modify l_t_range index l_idx.
      p_subrc = 0.
    Hope it helps...
    Regards,
    Umesh.

  • How to write a routine in infopack to restrict a date range !!!!

    Hi
    I want to load the data for a speicific date range ,i.e , i want to load the data between created on some date range which is not in between the same range for changed on...so i want to restrict that date range for changed on....Please le tme know the routine logic to restrict a date range....
    regards...

    How to ... Write Infopackage selection Routine
    1.Create an Infopackage 2. Go to selections tab and choose Type: 6 u2013 ABAP Routine.You can see following available options(F4 Help).
    3. Give disruption, and hit enter, now you will move to following screen. 4. Write Code between begin of Routine and End of Routine.
    5. See below sample code to select date range from Previous 6 days to Current date.
    6. L_T_Range table is of Type structure RSSDLRANGE.
    a. RSSDLRANGE contains SIGN, OPTION, LOW, HIGH
    We need to populate these fields to pass range dynamically.
    Sample Code:
    ***$$ begin of routine - insert your code only below this line -
    Data: l_idx like sy-tabix.
    Data: date_low like sy-datum.
    Date_low = sy-datum u2013 6.u201D(To get 6 days back).
    read table l_t_range with key
    fieldname = 'CRDAT'.
    l_idx = sy-tabix.
    Pass Range values to L_T_Range Table.
    Move date_low to L_T_Range -Low.
    Move sy-datum to L_T_Range -High.
    L_T_Range -Sign = u2018Iu2019. *****(Here: I u2013 Include, E u2013 Exclude)
    L_T_Range -Option = u2018BTu2019.****( Here: BT u2013 Between )
    modify l_t_range index l_idx.
    p_subrc = 0.
    **$$ end of routine - insert your code only before this line -
    7. Syntax check and Save.
    Hope it Helps
    Srini

  • Guide me write Start Routine

    Dear One's -
    I have a scenario to be implements in my ODS update rules,
    The code has to check if all available LEAD PROGRAM DEFINITION of particular LEAD NUMBER (as available in ODS) are also present in the corresponding data_package or not.
    If it does not find particular LEAD PROGRAM DEFINITION  in the data_package (but it is there is ODS) then it has to creat one record in data_package for that LEAD NUMBER and LEAD PROGRAM DEFINITION making all Key figures as "zero". It then overwrite existing value in ODs with zero value.
    This start routine has to written because the deleted record in source system is not transfered to BW system.
    Can any one kindly take a moment in writing the code.
    Thank you so much in advance,
    Raj

    Dear Edwin,
    We are using Generic Data Source and the situation is we must write the start routine because there was already a routine written under other Invoice Moment ODS that is happening successfully. But this is new requirement for Resource ODS.
    I have written a similar routine to Resource ODS like Invoice Moment ODS but this not giving expected result.
    So, can you kindly write a routine in your own logic?
    We have given with Lead Number, Lead Program definition as characteristics and key fingure as Lead Estimated Resources that's all only 3 infoobjects were used.
    Thanks for your concern and extend the same in writing the code.

  • Uploading CSV File into Web Dynpro Java Table and Write back to a Database

    Hi Gurus!
    I would like to upload a csv file and read the content into an UI table element.
    Then, I need to write the uploaded file back to a database. I'm using NetWeaver 2004s.
    could you please provide advice for both, uploading and wirting to databse (e.g. maxDB or oracle), since I'm quite new in WDJ.
    thanks in advance.
    farid
    ps. helpfull answers will be rewarded with points!

    Hi ,
    have look at this blog
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/6603. [original link is broken] [original link is broken] [original link is broken]
    Have a look at this links.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/00062266-3aa9-2910-d485-f1088c3a4d71.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0d9336b-b4cf-2910-bdbf-b00d89bd2929.
    Re: Popup Internal Window - data type IWDWindow not available
    Regards,
    krishna.

  • BI : Write BW 3.5 Transfer/Update routine to BI 7.0 Transformation routine

    Hi Gurus,
    I have 3.5 tranfer/ update routines. can anybody please tell me how to write the same routines in BI 7.0. I guess there are some syntax changes. For example below is the 3.5 update routine. Kindly advise me the steps or way of  how to write the same routine in BI 7.0.
    FORM compute_data_field
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
      USING    COMM_STRUCTURE LIKE /BIC/CS2LIS_02_ITM
               RECORD_NO LIKE SY-TABIX
               RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING RESULT LIKE /BI0/APUR_O0100-NETPRICE
               RETURNCODE LIKE SY-SUBRC "Do not use!
               ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    Thanks & regards ,
    M.S
    Edited by: M.S on Oct 26, 2009 12:10 PM

    Hi ,
    solved on my own. Thankyou very much..
    thanks & regards,
    M.S
    Edited by: M.S on Oct 27, 2009 6:57 AM
    Edited by: M.S on Oct 27, 2009 6:59 AM

  • " HOW TO WRITE FORM ROUTINES"

    Hi all ,
    I have a Query ..  I have Developed a Smart form ( Delivery Challan ) .. My Functional Consultant asked me , If he Execute the T-code ( VL02N ). He should get the Print Preview of the Layout ...
    I know it can be done through Form routines ..
    Can one Explain me how to write the form routines ...

    Hi ,
    Copy the print program to custom program . Remove the routine " entry " . Write a selction screen with document number . put the read number to nast-OBJKY , V2 to NAST-KAPPL , sy-langu to nast-SPRAS in start of selection .Copy paste the code under the Entry routine .
    hope it helps ...

  • End routine to fill 0PROFIT_CTR

    Hi experts,
    i am uploading data from DSO TO INFO CUBE. where some of the customers are assigned to PROFIT CENTER in ECC which is coming to DSO and INFO CUBE perfectly, but most of the customers are not assigned to PROFIT CENTER but assigned to SALES DISTRICT.
    so whenever the PROFIT CENTER is blank I need to fill the SALES DISTRICT values for the PROFIT CENTER.
    from DSO to CUBE profit center is direct mapping, so i want to write a end routine to fill the values of PROFIT CENTER where PROFIT CENTER is Blank.
    here is the default code in the end routine
    TYPES:
          BEGIN OF _ty_s_TG_1,
    *      InfoObject: 0FISCPER Fiscal year / period.
            FISCPER           TYPE /BI0/OIFISCPER,
    *      InfoObject: 0FISCVARNT Fiscal year variant.
            FISCVARNT           TYPE /BI0/OIFISCVARNT,
    *      InfoObject: 0LOC_CURRCY Local currency.
            LOC_CURRCY           TYPE /BI0/OILOC_CURRCY,
    *      InfoObject: 0DOC_CURRCY Document currency.
            DOC_CURRCY           TYPE /BI0/OIDOC_CURRCY,
    *      InfoObject: 0CLEAR_DATE Clearing date.
            CLEAR_DATE           TYPE /BI0/OICLEAR_DATE,
    *      InfoObject: 0AC_DOC_TYP Document type.
            AC_DOC_TYP           TYPE /BI0/OIAC_DOC_TYP,
    *      InfoObject: 0DOC_DATE Document Date.
            DOC_DATE           TYPE /BI0/OIDOC_DATE,
    *      InfoObject: 0POST_KEY Posting key.
            POST_KEY           TYPE /BI0/OIPOST_KEY,
    *      InfoObject: 0COMP_CODE Company code.
            COMP_CODE           TYPE /BI0/OICOMP_CODE,
    *      InfoObject: 0GL_ACCOUNT G/L Account.
            GL_ACCOUNT           TYPE /BI0/OIGL_ACCOUNT,
    *      InfoObject: 0C_CTR_AREA Credit Control Area.
            C_CTR_AREA           TYPE /BI0/OIC_CTR_AREA,
    *      InfoObject: 0DUNN_AREA Dunning Area.
            DUNN_AREA           TYPE /BI0/OIDUNN_AREA,
    *      InfoObject: 0LAST_DUNN Date of last dunning notice.
            LAST_DUNN           TYPE /BI0/OILAST_DUNN,
    *      InfoObject: 0DUNN_BLOCK Dunning block.
            DUNN_BLOCK           TYPE /BI0/OIDUNN_BLOCK,
    *      InfoObject: 0DUNN_LEVEL Dunning level.
            DUNN_LEVEL           TYPE /BI0/OIDUNN_LEVEL,
    *      InfoObject: 0DUNN_KEY Dunning key.
            DUNN_KEY           TYPE /BI0/OIDUNN_KEY,
    *      InfoObject: 0NETDUEDATE Due date for net payment.
            NETDUEDATE           TYPE /BI0/OINETDUEDATE,
    *      InfoObject: 0REASON_CDE Difference Reason for Payments.
            REASON_CDE           TYPE /BI0/OIREASON_CDE,
    *      InfoObject: 0DSCT_DATE1 Due date for cash discount 1.
            DSCT_DATE1           TYPE /BI0/OIDSCT_DATE1,
    *      InfoObject: 0DSCT_DATE2 Due date for cash discount 2.
            DSCT_DATE2           TYPE /BI0/OIDSCT_DATE2,
    *      InfoObject: 0SP_GL_IND Special General Ledger Indicator.
            SP_GL_IND           TYPE /BI0/OISP_GL_IND,
    *      InfoObject: 0BLINE_DATE Baseline Date For Due Date Calculation.
            BLINE_DATE           TYPE /BI0/OIBLINE_DATE,
    *      InfoObject: 0PYMT_METH Payment method.
            PYMT_METH           TYPE /BI0/OIPYMT_METH,
    *      InfoObject: 0PMNT_BLOCK Payment block key.
            PMNT_BLOCK           TYPE /BI0/OIPMNT_BLOCK,
    *      InfoObject: 0PMNTTRMS Terms of Payment Key.
            PMNTTRMS           TYPE /BI0/OIPMNTTRMS,
    *      InfoObject: 0CHRT_ACCTS Chart of accounts.
            CHRT_ACCTS           TYPE /BI0/OICHRT_ACCTS,
    *      InfoObject: 0ACCT_TYPE Account type.
            ACCT_TYPE           TYPE /BI0/OIACCT_TYPE,
    *      InfoObject: 0COUNTRY Country Key.
            COUNTRY           TYPE /BI0/OICOUNTRY,
    *      InfoObject: 0DEBITOR Customer Number.
            DEBITOR           TYPE /BI0/OIDEBITOR,
    *      InfoObject: 0FI_DOCSTAT Item Status.
            FI_DOCSTAT           TYPE /BI0/OIFI_DOCSTAT,
    *      InfoObject: 0FI_SUBSID Account Number of the Branch.
            FI_SUBSID           TYPE /BI0/OIFI_SUBSID,
    *      InfoObject: 0PSTNG_DATE Posting date in the document.
            PSTNG_DATE           TYPE /BI0/OIPSTNG_DATE,
    *      InfoObject: 0DEB_CRE_LC Amount in Local Currency with +/- Signs.
            DEB_CRE_LC           TYPE /BI0/OIDEB_CRE_LC,
    *      InfoObject: 0DISC_BASE Amount eligible for cash discount in docum
    *ent currency.
            DISC_BASE           TYPE /BI0/OIDISC_BASE,
    *      InfoObject: 0DSC_AMT_LC Cash discount amount in local currency.
            DSC_AMT_LC           TYPE /BI0/OIDSC_AMT_LC,
    *      InfoObject: 0DEB_CRE_DC Foreign currency amount with signs (+/-).
            DEB_CRE_DC           TYPE /BI0/OIDEB_CRE_DC,
    *      InfoObject: 0DSC_AMT_DC Cash discount amount in document currency
            DSC_AMT_DC           TYPE /BI0/OIDSC_AMT_DC,
    *      InfoObject: 0CREDIT_DC Credit amount in foreign currency.
            CREDIT_DC           TYPE /BI0/OICREDIT_DC,
    *      InfoObject: 0CREDIT_LC Credit amount in local currency.
            CREDIT_LC           TYPE /BI0/OICREDIT_LC,
    *      InfoObject: 0DEBIT_DC Debit amount in foreign currency.
            DEBIT_DC           TYPE /BI0/OIDEBIT_DC,
    *      InfoObject: 0DEBIT_LC Debit amount in local currency.
            DEBIT_LC           TYPE /BI0/OIDEBIT_LC,
    *      InfoObject: 0NETTAKEN Net period used.
            NETTAKEN           TYPE /BI0/OINETTAKEN,
    *      InfoObject: 0INT_CALC_1 Interest Calculation Numerator Days 1 (Ag
    *reed).
            INT_CALC_1           TYPE /BI0/OIINT_CALC_1,
    *      InfoObject: 0INT_CALC_2 Interest calculation numerator days 2 (ag
    *reed).
            INT_CALC_2           TYPE /BI0/OIINT_CALC_2,
    *      InfoObject: 0INT_CALC_N Interest Calculation Numerator Net (Agree
    *d).
            INT_CALC_N           TYPE /BI0/OIINT_CALC_N,
    *      InfoObject: 0INT_CALCT1 Interest Calculation Numerator Days 1 (Re
    *alized).
            INT_CALCT1           TYPE /BI0/OIINT_CALCT1,
    *      InfoObject: 0INT_CALCT2 Interest Calculation Numerator Days 2 (Re
    *alized).
            INT_CALCT2           TYPE /BI0/OIINT_CALCT2,
    *      InfoObject: 0INT_CALCTN Interest Calculation Numerator Net (Reali
    *zed).
            INT_CALCTN           TYPE /BI0/OIINT_CALCTN,
    *      InfoObject: ZPART_FUN Partner Function.
            /BIC/ZPART_FUN           TYPE /BIC/OIZPART_FUN,
    *      InfoObject: ZAC_CLERK Accounting Clerk.
            /BIC/ZAC_CLERK           TYPE /BIC/OIZAC_CLERK,
    *      InfoObject: 0PROFIT_CTR Profit Center.
            PROFIT_CTR           TYPE /BI0/OIPROFIT_CTR,
    *      InfoObject: 0SALES_DIST Sales District.
            SALES_DIST           TYPE /BI0/OISALES_DIST,
    *      InfoObject: 0SALES_OFF Sales Office.
            SALES_OFF           TYPE /BI0/OISALES_OFF,
    *      InfoObject: 0SALES_GRP Sales group.
            SALES_GRP           TYPE /BI0/OISALES_GRP,
    *      InfoObject: 0RATING Rating.
            RATING           TYPE /BI0/OIRATING,
    *      InfoObject: 0CO_AREA Controlling area.
            CO_AREA           TYPE /BI0/OICO_AREA,
    *      InfoObject: ZAM_INSUR Amount Insured.
            /BIC/ZAM_INSUR           TYPE /BIC/OIZAM_INSUR,
    *      InfoObject: 0CURRENCY Currency key.
            CURRENCY           TYPE /BI0/OICURRENCY,
    *      InfoObject: 0CRED_LIMIT Customer's Credit Limit.
            CRED_LIMIT           TYPE /BI0/OICRED_LIMIT,
    *      InfoObject: 0RISK_CATEG Credit Management: Risk Class for New Cus
    *tomer.
            RISK_CATEG           TYPE /BI0/OIRISK_CATEG,
    *      InfoObject: 0CLR_DOC_NO Clearing Document Number.
            CLR_DOC_NO           TYPE /BI0/OICLR_DOC_NO,
    *      InfoObject: 0REF_DOC_NO Reference document number.
            REF_DOC_NO           TYPE /BI0/OIREF_DOC_NO,
    *      InfoObject: 0INV_DOC_NO Invoice Number.
            INV_DOC_NO           TYPE /BI0/OIINV_DOC_NO,
    *      InfoObject: 0DOC_NUMBER Sales document.
            DOC_NUMBER           TYPE /BI0/OIDOC_NUMBER,
    *      Field: RECORD.
            RECORD           TYPE RSARECORD,
          END   OF _ty_s_TG_1.
        TYPES:
          _ty_t_TG_1        TYPE STANDARD TABLE OF _ty_s_TG_1
                            WITH NON-UNIQUE DEFAULT KEY.
    *$*$ begin of global - insert your declaration only below this line  *-*
    ... "insert your code here
    *$*$ end of global - insert your declaration only before this line   *-*
        METHODS
          new_record__end_routine
            IMPORTING
              source_segid             type rstran_segid
              source_record            type sytabix
            EXPORTING
              record_new               type sytabix.
        METHODS
          end_routine
            IMPORTING
              request                  type rsrequest
              datapackid               type rsdatapid
            EXPORTING
              monitor                  type rstr_ty_t_monitors
            CHANGING
              RESULT_PACKAGE              type _ty_t_TG_1
            RAISING
              cx_rsrout_abort.
        METHODS
          inverse_end_routine
            IMPORTING
              i_th_fields_outbound         TYPE rstran_t_field_inv
              i_r_selset_outbound          TYPE REF TO cl_rsmds_set
              i_is_main_selection          TYPE rs_bool
              i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
              i_r_universe_inbound         TYPE REF TO cl_rsmds_universe
            CHANGING
              c_th_fields_inbound          TYPE rstran_t_field_inv
              c_r_selset_inbound           TYPE REF TO cl_rsmds_set
              c_exact                      TYPE rs_bool.
    ENDCLASS.                    "routine DEFINITION
    Pleae provide me the end routine code.
    regards
    venuscm
    Edited by: venugopal vadlamudi on Sep 7, 2010 1:14 PM
    Edited by: venugopal vadlamudi on Sep 7, 2010 1:15 PM

    hi experts,
    i have written the end routine
    if not RESULT_PACKAGE is INITIAL.
      LOOP AT RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>.
        IF <RESULT_FIELDS>-PROFIT_CTR IS INITIAL .
          <RESULT_FIELDS>-PROFIT_CTR = <RESULT_FIELDS>-SALES_DIST.
          MODIFY RESULT_PACKAGE FROM <RESULT_FIELDS>.
        ENDIF.
      ENDLOOP.
    endif.
    but while doing DTP from DSO to CUBE it is giving following error.
    Characteristic value '1000 ' of characteristic 0PROFIT_CTR is not ALPHA -converted.
    0PROFIT_CTR info object is ALPHA Converted while 0SALES_DISTRICT is not.
    pl provide me the solution
    regards
    venuscm
    Edited by: venugopal vadlamudi on Sep 7, 2010 2:55 PM

Maybe you are looking for

  • DVD Footage for FCP Edit - how to tell if NTSC or PAL?!

    Hi all, apologies if this seems like a stupid request but I have a job at the moment calling for me to extract footage from a DVD, edit in FCP, add a few bits from Motion etc., but I can't work out if the DVD is NTSC or PAL! I intend to extract the v

  • Outlook 2010 authentication pop up box won't go away

    After we applied the latest round of Windows Updates to our guinea pig workstations, we discovered that one of them caused something to break in Outlook 2010.  We are set to use AD auto detect authentication on a local Exchange 2007 server. The pop u

  • Nokia Car Kit compatibility

    I have just updated from a 6610i to a 6230i and was told by my service provider that the new phone was comatible with my 12 month old car kit. When I received the new phone I had the error message "enhancement not supported" when I phoned my service

  • Development team

    Dear sir, Plz i need ur service to clear my doubts.. plz take attention and help me and recover from this problem... with regards chandra

  • Access clipboard content's icc-profile in javascript

    Good day to all of You! Does any one know if/how one can get information on the clipboard content's measurements and most importantly icc-profile via JavaScript? Thanks pfaffenbichler