Regarding CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'

Hi Friends,
I want to know, Can this module update the Class information?
I can retrive class information using this function module, but i am not able to update the class information.
If all of you know any other way to update class information. Please let me Know.
Thanks
Amit

Hi Amit,
I know about these .
CLAF_CLASSIFICATION_OF_OBJECTS - reads all classifications for an object
BAPI_OBJCL_GETDETAIL - returns detailed information on a classification
BAPI_OBJCL_CHANGE - changes an existing classification, or creates the classification if it does not yet exist.
This one can be checked but if there are some more inputs on this, it would be helpful.
regards
Nishant Malhotra

Similar Messages

  • CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'

    I am newbie to ABAP.
    To get the characteristic values I am using following FM inside a BADI called Batch_Master.
    When I test this FM in se37 I get the desired values in t_class with one entry and t_objectdata with 4 entries.
    I know what to fill in for class, classtype, object.
    <b>Now when I call this FM in BADI how do I read my data from t_class and t_objectdata ??</b>
    CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
    EXPORTING
    class = i_class
    classtype = i_classtype
    object = i_objek
    TABLES
    t_class =
    t_objectdata =
    *EXCEPTIONS
    *no_classification = 1
    *no_classtypes = 2
    *invalid_class_type = 3
    *OTHERS = 4

    This is the sample code
    FORM voorraden_in_output TABLES xmchb STRUCTURE wa_xmchb
                            CHANGING wa_vart04_charg
                                     STRUCTURE wa_vart04_charg.
       SORT xmchb BY werks lgort matnr.
    * charge tabel lezen
       LOOP AT xmchb INTO wa_xmchb WHERE matnr = wa_vart04_charg-matnr.
         l_wa_mchb = wa_xmchb.
         wa_vart04_charg-werks   = l_wa_mchb-werks.
    * magazijn
         wa_vart04_charg-lgort   = l_wa_mchb-lgort.
    * charge
         wa_vart04_charg-charge  = wa_xmchb-charg.          "LCMG PD 20070712
    * bepaal batchclassificatie
         PERFORM clear_class_fields CHANGING wa_vart04_charg.
         IF NOT wa_xmchb-charg IS INITIAL.                  "LCMG PD 20070712
           PERFORM get_classificatie_batch TABLES ta_object_data
                                            USING wa_vart04_charg-matnr
                                                  wa_vart04_charg-charge.
    *  vul wa_vart04_charg met gegevens uit ta_object_data
           PERFORM kenmerken_in_output TABLES ta_object_data
                                              ta_class
                                       USING  wa_vart04_charg
                                              wa_xmchb.     "LCMG PD 20070712
         ENDIF.
         PERFORM check_kenmerken USING wa_vart04_charg
                              CHANGING sy-subrc.
         IF sy-subrc <> 0.
           CHECK 1 = 2.
         ENDIF.
    *  gereserveerde voorraad bepalen
         PERFORM gereserveerde_voorraad  CHANGING l_wa_mchb
                                                  wa_vart04_charg.
    *  voorraden charge regel bepalen
         PERFORM charge_voorraden           USING l_wa_mchb
                                                  wa_vart04_charg.
    * charge regel is volledig bepaald
         APPEND wa_vart04_charg TO ta_vart04_charg.
       ENDLOOP.
    ENDFORM. 
    * lokale data vullen
       l_object(18)    = artikel.
       l_object+18(10) = charg.
       l_classtype     = c_023.
       l_obtab         = 'MCH1'.
    FORM get_classificatie_batch TABLES  ta_object_data STRUCTURE clobjdat
                                   USING  artikel TYPE mara-matnr
                                          charg   TYPE mchb-charg.
       DATA: l_object TYPE ausp-objek,
             l_classtype  TYPE  klah-klart,
             l_obtab TYPE  tcla-obtab.
    * lokale data vullen
       l_object(18)    = artikel.
       l_object+18(10) = charg.
       l_classtype     = c_023.
       l_obtab         = 'MCH1'.
    * schonen interne classificatie tabellen
    *  REFRESH: ta_class, ta_object_data.                  "LCMG PD 20070712
       CLEAR  : ta_class, ta_object_data.
       CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
         EXPORTING
           classtype          = l_classtype
           language           = sy-langu
           object             = l_object
           objecttable        = l_obtab
           key_date           = sy-datum
           no_value_descript  = 'X'                              " 467394GVE
           initial_charact    = ' '
         TABLES
           t_class            = ta_class
           t_objectdata       = ta_object_data
         EXCEPTIONS
           no_classification  = 1
           no_classtypes      = 2
           invalid_class_type = 3
           OTHERS             = 4.
    ENDFORM. 

  • URGENT: Regarding CALL FUNCTION 'GET_FIELDNAME_TEXT_1

    hi,
    i have made a report in which i am displaying changes to material and it is giving runtime error and it is saying :-
    A RAISE statement in the program "SAPLMASS_GENERAL_UTILITIES" raised the
    exception
    condition "NOT_FOUND".
    Since the exception was not intercepted by a superior
    program, processing was terminated..
    as i am using FUNCTION 'GET_FIELDNAME_TEXT_1.
    plzz help me out by providing solution of it as help will be definately rewarded.

    hi venkat,
    i had tried what u said but it is still giving runtime error.
    here is code which i had developed and letme know is dere any problem ? It is displaying the changes made to material ina month.
    *& Report  ZNEW02
    REPORT  ZNEW02 no standard page heading LINE-SIZE 200.
    TABLES:   MARA,CDHDR,CDPOS.
    DATA: BEGIN OF ITSTPO OCCURS 0,
         MATNR   LIKE STPO-STLNR,
         WERKS LIKE MAST-WERKS,
          MATNR LIKE MARA-MATNR,
          MAKTX LIKE MAKT-MAKTX,
          WERKS LIKE MARC-WERKS,
          objectid like cdhdr-objectid,
          changenr like cdhdr-changenr,
          udate like cdhdr-udate,
          TCODE LIKE CDHDR-TCODE,
          USERNAME LIKE CDHDR-USERNAME,
          NEW_VALUE LIKE CDPOS-VALUE_NEW,
          OLD_VALUE LIKE CDPOS-VALUE_OLD,
          FNAME LIKE CDPOS-FNAME,
          DDTEXT LIKE DD04V-DDTEXT,
          TABNAME LIKE CDPOS-TABNAME,
          END OF ITSTPO.
    DATA: E_DD04V LIKE DD04V OCCURS 0 WITH HEADER LINE.
    DATA: E_DD03L LIKE DD03L OCCURS 0 WITH HEADER LINE.
    data: begin of itcdhdr occurs 0,
          objectid like cdhdr-objectid,
          changenr like cdhdr-changenr,
          udate like cdhdr-udate,
          TCODE LIKE CDHDR-TCODE,
          USERNAME LIKE CDHDR-USERNAME,
          end of itcdhdr.
    DATA: BEGIN OF ITCDPOS OCCURS 0,
          OBJECTID LIKE CDPOS-OBJECTID,
          CHANGENR LIKE CDPOS-CHANGENR,
          NEW_VALUE LIKE CDPOS-VALUE_NEW,
          OLD_VALUE LIKE CDPOS-VALUE_OLD,
          FNAME LIKE CDPOS-FNAME,
          TABNAME LIKE CDPOS-TABNAME,
          END OF ITCDPOS.
    ****************end of all internal table declarations************************************************
    parameters: werks like MARC-werks obligatory.
    select-options: date for cdhdr-udate obligatory.
    select objectid changenr udate TCODE USERNAME into table itcdhdr from cdhdr
          where objectclas = 'MATERIAL'AND UDATE IN DATE and ( tcode = 'MM02').
         or tcode = 'MM01' ).
    if sy-subrc <> 0.
      message 'No record exist' type 'E'.
    endif.
    DELETE ADJACENT DUPLICATES FROM ITCDHDR COMPARING CHANGENR.
    SELECT OBJECTID CHANGENR VALUE_NEW VALUE_OLD FNAME TABNAME FROM CDPOS INTO TABLE ITCDPOS
      FOR ALL ENTRIES IN ITCDHDR WHERE OBJECTID = ITCDHDR-OBJECTID AND CHANGENR = ITCDHDR-CHANGENR  AND FNAME NOT IN ('AENDERER', 'AEDAT', 'AEUZEIT','AENDERDAT').
    WRITE: / 'ITEMID                   DESCRIPTION                    CHG.PERSON          CHG.DATE     TCODE                   NEW VALUE                                 OLD VALUE             CHANGE MADE TO'.
    ULINE.
    DATA V_STLNR LIKE MARA-MATNR.
      LOOP AT ITCDPOS.
      CLEAR V_STLNR.
      V_STLNR = ITCDPOS-OBJECTID+4(11).
      READ TABLE ITCDHDR WITH KEY OBJECTID = ITCDPOS-OBJECTID CHANGENR = ITCDPOS-CHANGENR.
      SELECT SINGLE AMATNR BMAKTX C~WERKS FROM MARA AS A
         INNER JOIN MAST AS B ON BSTLNR = ASTLNR
                INNER JOIN MAKT AS B ON BMATNR = AMATNR
                  INNER JOIN MARC AS C ON CMATNR = AMATNR
        INTO ITSTPO
        WHERE A~MATNR = V_STLNR.
      ITSTPO-OBJECTID = ITCDPOS-OBJECTID.
      ITSTPO-CHANGENR = ITCDPOS-CHANGENR.
      ITSTPO-NEW_VALUE = ITCDPOS-NEW_VALUE.
      ITSTPO-OLD_VALUE = ITCDPOS-OLD_VALUE.
      ITSTPO-UDATE = ITCDHDR-UDATE.
      ITSTPO-TCODE = ITCDHDR-TCODE.
      ITSTPO-USERNAME = ITCDHDR-USERNAME.
      ITSTPO-FNAME = ITCDPOS-FNAME.
      ITSTPO-TABNAME = ITCDPOS-TABNAME.
        IF ITCDPOS-FNAME <> 'KEY'.
    clear e_dd04v.
        CALL FUNCTION 'GET_FIELDNAME_TEXT_1'
          EXPORTING
           I_AS4LOCAL                = 'A'
          I_AS4VERS                 = '0000'
           I_FIELDNAME               = ITCDPOS-FNAME
           I_TABNAME                 = ITCDPOS-TABNAME
          TABLES
           E_DD03L                   = E_DD03L
           E_DD04V                   = E_DD04V
        EXCEPTIONS
        ERROR_IN_PARAMETERS       = 1
        NOT_FOUND                 = 2
        OTHERS                    = 3
      ENDIF.
      IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      CLEAR E_DD04V-DDTEXT.
    ENDIF.
      IF ITCDPOS-FNAME = 'KEY'.
        ITSTPO-DDTEXT = 'New Entry Made'.
      ELSE.
        ITSTPO-DDTEXT = E_DD04V-DDTEXT.
      ENDIF.
      CLEAR E_DD04V.
      APPEND ITSTPO.
    SORT ITSTPO BY MATNR OBJECTID CHANGENR FNAME.
    DELETE ADJACENT DUPLICATES FROM ITSTPO COMPARING MATNR OBJECTID CHANGENR FNAME.
    *DELETE ITSTPO WHERE MATNR EQ SPACE.
    WRITE : /  ITSTPO-OBJECTID+11(11),16 ITSTPO-MAKTX,66 ITSTPO-USERNAME,83 ITSTPO-UDATE,97 ITSTPO-TCODE,110 ITSTPO-OLD_VALUE,164 ITSTPO-NEW_VALUE,184 ITSTPO-DDTEXT.
    ENDLOOP.

  • Hey my iphone 4 has a problem regarding carrier. Its always showing searching mode and wifi-address N/A and Bluetooth address 00:00:00:00:00 and call function is disable

    hey my iphone 4 has a problem regarding carrier. Its always showing searching mode and wifi-address N/A and Bluetooth address 00:00:00:00:00 and call function is disable. Please help me. I have tried every thing ..like restore from DFU mode with out sucess.

    Refer to  Note 98458 - SAPMSSY1, CALL_FUNCTION_NOT_FOUND

  • Regarding Shortdump "CALL FUNCTION 'RSAU_READ_FILE"

    hey..
    I am trying to use this below functional module.
    It goest to shortdump <b>"CALL FUNCTION CONFLICT _LENG"</b>
    even i cant check whether sy-subrc is <> 0 or not.
    How to stop this SHORTDUMP.
    could somebody help me here..
    (Situation used is : When auditfile is not found in directory it gives short dump or else it works fine.)
    CALL FUNCTION 'RSAU_READ_FILE'
               EXPORTING
                 SELECTION       = TA
                 SELECTION_AUDIT = AUDIT_SELECT
                 FILE_NO_OLD     = FILE_NO
               TABLES
                 SYSLOG_IN_TABLE = ENTRIESTAB
                 AUDIT_FILE_STAT = AUDIT_FILE_STAT.
    if sy-subrc <> 0.
    write: 'no file here at RSAUREADFILE'.
    exit.
    endif.
    Message was edited by: ambi chan

    Hey,
    sorry i closed this thread before solving completely.
    i have still problem with this FM.
    In 4.6B it works, but in 620 it generates SHORTDUMP.
    i declared TA as
    DATA: BEGIN OF TA.
            INCLUDE STRUCTURE RSLGSEL.
    DATA: END OF TA.
    and
    DATA: FILE_NO LIKE RSLGETAB-FILE_NO.
    DATA : BEGIN OF ENTRIESTAB OCCURS 500.
            INCLUDE STRUCTURE RSLGETAB.
    DATA:  END OF ENTRIESTAB.
    DATA: BEGIN OF AUDIT_FILE_STAT OCCURS 100.
            INCLUDE STRUCTURE RSAUFINFO.
    DATA: END OF AUDIT_FILE_STAT.
    CALL FUNCTION 'RSAU_SELINFO_INIT'
    CHANGING
    AUDIT_SELECTION = AUDIT_SELECT.
    TA-WHICHLOG = 'L'.
    FILE_NO = 1.
    CALL FUNCTION RSAU READ_FILE
    EXPORTING
    SELECTION = TA
    SELECTION_AUDIT = AUDIT_SELECT
    FILE_NO_OLD = FILE_NO
    TABLES
    SYSLOG_IN_TABLE = ENTRIESTAB
    AUDIT_FILE_STAT = AUDIT_FILE_STAT.
    But above SHort dump exists and shows error in FM.
    If my parameter declaration is wrong pls correct me..
    ambichan
    Message was edited by: ambi chan
    Message was edited by: ambi chan

  • Uncatchable exception: BSP calling Function Module

    Hi all,
    currently i'm facing a very weird problem. My application class calls function module
    HR_INFOTYPE_OPERATION. Normally, in case of an error, the function module gives you back a return parameter. But if i call it from my BSP, the processing doesn't leave the function module. It directly throws an exception ERROR_MESSAGE_STATE instead of writing the message into parameter return.
    If i call the function module with the same parameters from a report, it works fine and the error message is written to return parameter without throwing an exception.
    What am i doing wrong? I don't want that exception and need to go on with filled parameter result.
    Regards
    Mark-André

    Hi MA,
    try using ERROR_MESSAGE in the exceptions list, like this.
    CALL FUNCTION 'func_name'
         EXPORTING
              string            = text
              pos               = position
         IMPORTING
              string1           = text1
              string2           = text2
         EXCEPTIONS
              string1_too_small = 1
              string2_too_small = 2
              ERROR_MESSAGE     = 3
              OTHERS            = 4.
    Cheers
    Graham Robbo

  • A query regarding synchronised functions, using shared object

    Hi all.
    I have this little query, regarding the functions that are synchronised, based on accessing the lock to the object, which is being used for synchronizing.
    Ok, I will clear myself with the following example :
    class First
    int a;
    static int b;
    public void func_one()
    synchronized((Integer) a)
    { // function logic
    } // End of func_one
    public void func_two()
    synchronized((Integer) b)
    { / function logic
    } // End of func_two
    public static void func_three()
    synchronized((Integer) a)
    { // function logic
    } // End of func_three, WHICH IS ACTUALLY NOT ALLOWED,
    // just written here for completeness.
    public static void func_four()
    synchronized((Integer) b)
    { / function logic
    } // End of func_four
    First obj1 = new First();
    First obj2 = new First();
    Note that the four functions are different on the following criteria :
    a) Whether the function is static or non-static.
    b) Whether the object on which synchronization is based is a static, or a non-static member of the class.
    Now, first my-thoughts; kindly correct me if I am wrong :
    a) In case 1, we have a non-static function, synchronized on a non-static object. Thus, effectively, there is no-synchronisation, since in case obj1 and obj2 happen to call the func_one at the same time, obj1 will obtain lock for obj1.a; and obj2 will obtain lock to obj2.a; and both can go inside the supposed-to-be-synchronized-function-but-actually-is-not merrily.
    Kindly correct me I am wrong anywhere in the above.
    b) In case 2, we have a non-static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a. However, since obj1.a and obj2.a are the same, thus we will indeed obtain sychronisation.
    Kindly correct me I am wrong anywhere in the above.
    c) In case 3, we have a static function , synchronized on a non-static object. However, Java does not allow functions of this type, so we may safely move forward.
    d) In case 4, we have a static function, synchronized on a static object.
    Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a. However, since obj1.a and obj2.a are the same, thus we will indeed obtain sychronisation. But we are only partly done for this case.
    First, Kindly correct me I am wrong anywhere in the above.
    Now, I have a query : what happens if the call is made in a classically static manner, i.e. using the statement "First.func_four;".
    Another query : so far we have been assuming that the only objects contending for the synchronized function are obj1, and obj2, in a single thread. Now, consider this, suppose we have the same reference obj1, in two threads, and the call "obj1.func_four;" happens to occur at the same time from each of these threads. Thus, we have obj1 rying to obtain lock for obj1.a; and again obj1 trying to obtain lock for obj1.a, which are the same locks. So, if obj1.a of the first thread obtains the lock, then it will enter the function no-doubt, but the call from the second thread will also succeed. Thus, effectively, our synchronisation is broken.
    Or am I being dumb ?
    Looking forward to replies..
    Ashutosh

    a) In case 1, we have a non-static function, synchronized on a non-static object. Thus, effectively, there is no-synchronisationThere is no synchronization between distinct First objects, but that's what you specified. Apart from the coding bug noted below, there would be synchronization between different threads using the same instance of First.
    b) In case 2, we have a non-static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a.obj1/2 don't call methods or try to obtain locks. The two different threads do that. And you mean First.b, not obj1.b and obj2.b, but see also below.
    d) In case 4, we have a static function, synchronized on a static object. Here, again if obj1, and obj2 happen to call the function at the same time, obj1 will try to obtain lock for obj1.a; while obj2 will try to obtain lock for obj2.a.Again, obj1/2 don't call methods or try to obtain locks. The two different threads do that. And again, you mean First.b. obj1.b and obj2.b are the same as First.b. Does that make it clearer?
    Now, I have a query : what happens if the call is made in a classically static manner, i.e. using the statement "First.func_four;".That's what happens in any case whether you write obj1.func_four(), obj2.func)four(), or First.func_four(). All these are identical when func_four(0 is static.
    Now, consider this, suppose we have the same reference obj1, in two threads, and the call "obj1.func_four;" happens to occur at the same time from each of these threads. Thus, we have obj1 rying to obtain lock for obj1.aNo we don't, we have a thread trying to obtain the lock on First.b.
    and again obj1 trying to obtain lock for obj1.aYou mean obj2 and First.b, but obj2 doesn't obtain the lock, the thread does.
    which are the same locks. So, if obj1.a of the first thread obtains the lock, then it will enter the function no-doubt, but the call from the second thread will also succeed.Of course it won't. Your reasoning here makes zero sense..Once First.b is locked it is locked. End of story.
    Thus, effectively, our synchronisation is broken.No it isn't. The second thread will wait on the same First.b object that the first thread has locked.
    However in any case you have a much bigger problem here. You're autoboxing your local 'int' variable to a possibly brand-new Integer object every call, so there may be no synchronization at all.
    You need:
    Object a = new Object();
    static Object b = new Object();

  • Function Module CALL FUNCTION 'SO_SPLIT_FILE_AND_PATH'

    Hello All,
    While using CALL FUNCTION 'SO_SPLIT_FILE_AND_PATH' to download to Unix file in GLD (Version 4.5b) the F.M is working fine, but in KLD(Version ECC 6.0)  CALL FUNCTION 'SO_SPLIT_FILE_AND_PATH' is not working & the error message is displayed saying incomplete filename.
    Could you let me know any alternate Function Module/ Method in this regard.
    Thanks

    Hi,
    In ECC6 also Its Working fine only.
    1. Go to SE37 -> Enter FM Name  -> Test(F8).
    2.  Give any file path and test it.
    Thanks,
    Reward If Helpful.

  • Call function 'gui_download'

    Hallo Friends,
    I am using the above fuction in my program. I want the header of my internal table to be writen als header in the text file. So, I created another Itab (Itab-col_1) and appended all the headers in this, which I later use as below.
    Problem:
    1.
    I am not satisfied with the downloaded output in file.txt  I want the header to be excactly over the column content. Please see my output:
    MANDT     LIFNR     LAND1     NAME1     NAME2     NAME3
    010§§§§§§0000010000§§§§§§§§§§§§§§§§§§DE§§§§§§Test
    010§§§§§§0000100000§§§§§§§§§§§§§§§§§§US§§§§§§TEST
    § § means Space
    It is Obvious LAND1 should be over DE / US, NAME1 should be over Test / TEST etc etc     
    2.
    I would like filed seperator to be ( ; ) not space. The flag 'X' gives space.
    CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                  = str
          filetype                    = 'ASC'
          write_field_separator = 'X'
          dat_mode                = 'X'
        TABLES
          data_tab                   = itab_kreditor
          fieldnames                = itab_datei_col_header
        EXCEPTIONS
          file_write_error           = 1
          file_not_found            = 19
          OTHERS                   = 22.
    So, how can I solve these two problems.
    Blacky.

    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
      BIN_FILESIZE                    = BIN_FILESIZE
        filename                        = filename
      FILETYPE                        = 'ASC'
      APPEND                          = ' '
    <b> WRITE_FIELD_SEPARATOR           = ';'</b>
      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                      = FILELENGTH
      TABLES
        data_tab                        = data_tab
      FIELDNAMES                      = 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.
    Regards
    Vasu

  • Call function RFC in a loop and kill old session

    Hi,
    we have a problem with a program.
    here's a part of the code:
    DO.
        CALL FUNCTION 'YC_REFRESH_GPT_START_CM25' STARTING NEW TASK 'TEST'
          EXPORTING
            i_profile       = p_prfl
            i_werks         = p_werks
            i_arbpl_low     = s_arbpl-low
            i_arbpl_high    = s_arbpl-high
          TABLES                                              
            t_arbpl =  it_arbpl.                                
        PERFORM wait_for_refresh.
        PERFORM terminate_session.
      ENDDO.
    So the program does a call function, waits a while, then terminates the session and recalls the function.
    Apparently, like this the data should be updated.
    But in the terminate session, the session is terminated using:
    CALL 'ThUsrInfo' ID 'OPCODE'  FIELD opcode_delete_mode
                       ID 'MODE'    FIELD l_mode.
    And it works the first time, but the second time there is a dump.
    So, is there another way to achieve what this program is trying to do?
    Or is there another way to kill the session?
    Thanks!!

    Hi,
    the DLL will stay in memory as long as there is a program running which has not closed (unloaded) the DLL.
    Doing repetitive calls to the DLL is irrelevant in this context. LV opens the DLL as soon as needed and will only unload it when there is no VI in memory which has a CLN to that DLL...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Approximate operator and recursive call function in abap

    Dear expert,
    Please give me an example about Approximate operator and recursive call function in abap
    thanks so much

    Hi
    About Approximate operator, you can go to tcode 'ABAPDOCU', searching CO,CN,CA etc...each of them have example there.
    And recursive function,
    Say here is a FM,
    FUNCTION recursive_get_number.
    *import im_num type i.
    *export ex_num type i.
    ex_num = im_num + 1.
    IF ex_num GE 100.
       EXIT.
    ELSE.
       CALL FUNCTION recursive_get_number
            EXPORTING
               im_num = ex_num
            IMPORTING
               ex_num = ex_num.
    ENDIF.
    ENDFUNCTION.
    When you call this function from outside with importing parameter '1',  then will return you 100.
    regards,
    Archer.

  • Call Function in Update task

    I have written the FM Call function 'COMMITROUTINE' in update task.
    but this FM is not getting triggered when some commit happens. In all, this FM is not commiting tha data in the table.
    CALL FUNCTION 'COMMITROUTINE' IN UPDATE TASK
      EXPORTING
        lt_dfkkbrlevyrec       = lt_dfkkbrlevyrec
    and the
    What is missing in it?
    Regards,
    Seema Dadhwal.

    Hi,
    if you want to call your FM when a commit happens you should write a routine which is called upon commit and this routine will call your fm.
    e.g
    form call_my_fm .
    CALL FUNCTION 'COMMITROUTINE' IN UPDATE TASK
    EXPORTING
    lt_dfkkbrlevyrec = lt_dfkkbrlevyrec
    endform.
    perform call_my_fm on commit.
    commit work. " now your routine will be called
    Kostas

  • How to use CALL FUNCTION '/1BCDWB/SF00000014' in smartform

    hiiiiiiiii
    Iam doing classical report n i want my output to be printed in smartform.
    So my output is in IT_FINAL table.In smartform in Form Interface Table column i had declare :::
    Parameter Name: IT_FINAL
    Type Assignment:LIKE
    Associated Type:ZSD_FINAL ( Its a structure of IT_FINAL)
    And in SE38..iam using...............
    data: FM_NAME1 type RS38L_FNAM.
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME              = 'ZCSF_SDPRSR03_PR'
        importing
           FM_NAME              = FM_NAME1.
      CALL FUNCTION FM_NAME1
        EXPORTING
          IT_FINAL = IT_FINAL.
    So while running its giving dump..
    I DONT KNOW HOW TO USE THE ABOVE FUNCTION MODULE.
    CALL FUNCTION '/1BCDWB/SF00000014'
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
      CONTROL_PARAMETERS         =
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
      OUTPUT_OPTIONS             =
      USER_SETTINGS              = 'X'
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      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.
    Please suggest me with example if possible......URGENT.
    (Rewards if solved)
    Regards.

    Hi Hemant
    Before running u r program agai  run ur smartfor the it will release fm take that one and place ur program and change that name to FM_NAME1 and check once

  • How to use CALL FUNCTION '/1BCDWB/SF00000014' in smartform urgent

    hiiiiiiiii
    Iam doing classical report n i want my output to be printed in smartform.
    So my output is in IT_FINAL table.In smartform in Form Interface Table column i had declare :::
    Parameter Name: IT_FINAL
    Type Assignment:LIKE
    Associated Type:ZSD_FINAL ( Its a structure of IT_FINAL)
    And in SE38..iam using...............
    data: FM_NAME1 type RS38L_FNAM.
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    FORMNAME = 'ZCSF_SDPRSR03_PR'
    importing
    FM_NAME = FM_NAME1.
    CALL FUNCTION FM_NAME1
    EXPORTING
    IT_FINAL = IT_FINAL.
    So while running its giving dump..
    I DONT KNOW HOW TO USE THE ABOVE FUNCTION MODULE.
    CALL FUNCTION '/1BCDWB/SF00000014'
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    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.
    Please suggest me with example if possible......URGENT.
    (Rewards if solved)
    Regards.

    Hi
    see the below doc and do accordingly
    How to create a New smartfrom, it is having step by step procedure
    http://sap.niraj.tripod.com/id67.html
    step by step good ex link is....
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    Here is the procedure
    1. Create a new smartforms
    Transaction code SMARTFORMS
    Create new smartforms call ZSMART
    2. Define looping process for internal table
    Pages and windows
    First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
    Here, you can specify your title and page numbering
    &SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
    Main windows -> TABLE -> DATA
    In the Loop section, tick Internal table and fill in
    ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
    3. Define table in smartforms
    Global settings :
    Form interface
    Variable name Type assignment Reference type
    ITAB1 TYPE Table Structure
    Global definitions
    Variable name Type assignment Reference type
    ITAB2 TYPE Table Structure
    4. To display the data in the form
    Make used of the Table Painter and declare the Line Type in Tabstrips Table
    e.g. HD_GEN for printing header details,
    IT_GEN for printing data details.
    You have to specify the Line Type in your Text elements in the Tabstrips Output options.
    Tick the New Line and specify the Line Type for outputting the data.
    Declare your output fields in Text elements
    Tabstrips - Output Options
    For different fonts use this Style : IDWTCERTSTYLE
    For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
    5. Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    <b>call function 'SSF_FUNCTION_MODULE_NAME'</b>
    exporting
    formname = 'ZSMARTFORM'
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    <b>call function FM_NAME</b>
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    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.
    Smartform
    you can check this link here you can see the steps and you can do it the same by looking at it..
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    SMARTFORMS STEPS.
    1. In Tcode se11 Create a structure(struct) same like the Internal table that you are going to use in your report.
    2. Create Table type(t_struct) of stracture in se11.
    3. In your program declare Internal table(Itab) type table of structure(struct).
    4. Define work area(wa) like line of internal table.
    5. Open Tcode Smartforms
    6. In form Global setting , forminterface Import parameter define Internal table(Itab) like table type of stracture(t_struct).
    7. In form Global setting , Global definitions , in Global data define Work area(wa) like type stracture(struct).
    8. In form pages and window, create Page node by default Page1 is available.
    9. In page node you can create numbers of secondary window. But in form there is only one Main window.
    10. By right click on page you can create windows or Go to Edit, Node, Create.
    11. After creating the window right click on window create table for displaying the data that you are passing through internal table.
    12. In the table Data parameter, loop internal internal table (Itab) into work area(wa).
    13. In table there are three areas Header, Main Area, Footer.
    14. Right click on the Main area create table line by default line type1 is there select it.
    15. Divide line into cells according to your need then for each cell create Text node.
    16. In text node general attribute. Write down fields of your work area(wa) or write any thing you want to display.
    17. Save form and activate it.
    18. Then go to Environment, function module name, there you get the name of function module copy it.
    19. In your program call the function module that you have copied from your form.
    20. In your program in exporting parameter of function pass the internal table(itab).
    SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.
    SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can
    configure forms with data from an SAP System for the relevant business processes.
    To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime, the system processes this function module.
    You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
    You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.
    SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired.
    SAP Smart Forms also support postage optimizing.
    Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
    What Transaction to start SAP Smart Forms?
    Execute transaction SMARTFORMS to start SAP Smart Forms.
    Key Benefits of SAP Smart Forms:
    SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in minimum time.
    You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
    To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
    These actions do not include writing of coding lines or using a Script language.
    Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one.
    For Web publishing, the system provides a generated XML output of the processed form.
    Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.
    SmartForms System Fields
    Within a form you can use the field string SFSY with its system fields. During form processing the system replaces these fields with the corresponding values. The field values come from the SAP System or are results of the processing.
    System fields of Smart Forms
    &SFSY-DATE&
    Displays the date. You determine the display format in the user master record.
    &SFSY-TIME&
    Displays the time of day in the form HH:MM:SS.
    &SFSY-PAGE&
    Inserts the number of the current print page into the text. You determine the format of the page number (for example, Arabic, numeric) in the page node.
    &SFSY-FORMPAGES&
    Displays the total number of pages for the currently processed form. This allows you to include texts such as'Page x of y' into your output.
    &SFSY-JOBPAGES&
    Contains the total page number of all forms in the currently processed print request.
    &SFSY-WINDOWNAME&
    Contains the name of the current window (string in the Window field)
    &SFSY-PAGENAME&
    Contains the name of the current page (string in the Page field)
    &SFSY-PAGEBREAK&
    Is set to 'X' after a page break (either automatic [Page 7] or command-controlled [Page 46])
    &SFSY-MAINEND&
    Is set as soon as processing of the main window on the current page ends
    &SFSY-EXCEPTION&
    Contains the name of the raised exception. You must trigger your own exceptions, which you defined in the form interface, using the user_exception macro (syntax: user_exception <exception name >).
    Example Forms Available in Standard SAP R/3
    SF_EXAMPLE_01
    Simple example; invoice with table output of flight booking for one customer
    SF_EXAMPLE_02
    Similar to SF_EXAMPLE_01 but with subtotals
    SF_EXAMPLE_03
    Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the form is called for each customer and all form outputs are included in an output request
    Advantages of SAP Smart Forms
    SAP Smart Forms have the following advantages:
    1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.
    2. Displaying table structures (dynamic framing of texts)
    3. Output of background graphics, for form design in particular the use of templates which were scanned.
    4. Colored output of texts
    5. User-friendly and integrated Form Painter for the graphical design of forms
    6. Graphical Table Painter for drawing tables
    7. Reusing Font and paragraph formats in forms (Smart Styles)
    8. Data interface in XML format (XML for Smart Forms, in short XSF)
    9. Form translation is supported by standard translation tools
    10. Flexible reuse of text modules
    11. HTML output of forms (Basis release 6.10)
    12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)
    Regards
    Anji

  • CALL FUNCTIONS

    HI ALL
    WHERE CAN I FIND ALL THE FUNCTION MODULES USED IN ABAP AND I ALSO NEED EXPLANATIONS ....CAN ANYONE HELP
    WITH REGARDS
    VIJAY

    Hi,
    You can use the table TFDIR  to see all the fun modules in ABAP.
    see the doc  and links for further details
    Function Modules;
    Check this matter.
    Function Modules are Glopbal ABAP programs created by SAP for reusable purpose.they have IMPORT,EXPORT and TABLE parameters, and EXCEPTIONS to through when error occurs.
    You can create them from TCode SE37.
    Go through the following doc:
    Function modules are cross-program, reusable procedures that are organized into function groups, and whose functions are implemented between the statements FUNCTION and ENDFUNCTION. Function modules and their interfaces are created in the Function Builder.
    Function Module Interfaces
    The parameter interface of a function module is defined in the Function Builder. It includes the definition of interface parameters and the specification of exceptions that can be triggered by a function module. The Function Builder automatically generates comment lines below the FUNCTION statement in the source code of the function module, which represent the interface of the function module with the following syntax:
    Syntax
    ... [IMPORTING parameters]
    [EXPORTING parameters]
    [CHANGING parameters]
    [TABLES table_parameters]
    [{RAISING|EXCEPTIONS} exc1 exc2 ...]
    The syntax and semantics of IMPORTING, EXPORTING, CHANGING, RAISING, and EXCEPTIONS mainly correspond to the definition of method interfaces with [CLASS-]METHODS. The additional option of defining table parameters using TABLES is obsolete.
    Interface parameters
    The interface parameters are defined on the relevant tab pages in the Function Builder.
    IMPORTING parameters are input parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input parameter. The content of the actual parameter is passed to the input parameter when the call is made. The content of an input parameter for which 'pass by reference' is defined cannot be changed in the function module.
    EXPORTING parameters are output parameters. When the function module is called, a suitable actual parameter can be specified for every output parameter. The content of an output parameter that is defined for 'pass by value' is transferred to the actual parameter if the function module is completed without errors. An output parameter that is defined for pass by reference is not initialized when the function module is called.
    CHANGING parameters are input and output parameters. When the function module is called, a suitable actual parameter must be specified for every non-optional input or output parameter. When the function module is called, the content of the actual parameter is passed to the input/output parameter, and when the function module is completed, the content of the input/output parameter is passed to the actual parameter.
    TABLES parameters are table parameters. Table parameters are obsolete CHANGING parameters that are typed as standard tables with a header line. If an internal table without a header line or a table body is passed as an actual parameter to a formal parameter of this type, an empty local header line is generated in the function module. If an internal table with a header line is used as an actual parameter, both the table body and the header line are passed to the function module. Pass by value is not possible in formal parameters defined using TABLES. Formal parameters defined with TABLES can be replaced by formal parameters defined with CHANGING. A local work area can be created for the internal table in the function module by using the addition LIKE LINE OF itab of the DATA statement.
    Exceptions
    The exception of a function module are defined on the Exceptions tab page in the Function Builder. Here you can select exception classes to define whether class-based exceptions are declared or non-class-based exception are defined. Class-based exceptions are represented in the above syntax by RAISING, and non-class-based exceptions are represented by EXCEPTIONS.
    The addition RAISING is used to declare class-based exceptions that can be propagated from the function module to the caller. Exceptions in the categories CX_STATIC_CHECK and CX_DYNAMIC_CHECK must be explicitly declared, otherwise a propagation can lead to an interface violation. A violation of the interface leads to the treatable exception CX_SY_NO_HANDLER. Exceptions of the category CX_NO_CHECK are implicitly always declared. The declaration of exceptions of the category CX_STATIC_CHECK is statically checked in the syntax check. For exceptions of the category CX_DYNAMIC_CHECK, the check is not performed until runtime. In a function module in which class-based exceptions are declared with the RAISING addition, the statement CATCH SYSTEM-EXCEPTIONS cannot be used. Instead, the relevant treatable exceptions should be handled in a TRY control structure.
    The addition EXCEPTIONS is used to define a list of non-class-based exceptions that can be triggered in the function module using the statements RAISE or MESSAGE RAISING. Exceptions defined in this way - as with formal parameters - are bound to the function module and cannot be propagated. If an exception of this type is triggered in a function module, and no return value has been assigned to it with the homonymous addition EXCEPTIONS of the CALL FUNCTION statement when the call was made, this leads to a runtime error.
    Note
    For new developments after release 6.10, SAP recommends that you work with class-based exceptions that are independent of the function module.
    RFC is a technology which is used to access a functions (Modules) from
    the remote systems.
    If a function module is set as remote enabled which can be access from
    the remote system via RFC.Eg: U can access the Remote enabled function modules in ur VB,Webdynpro,Java,Visual composer program.
    A function module can be set as remote enabled by SE37->Go to ur FM->click the option Button "remote enabled".
    But Normal function modules can not accessd from the remote system.
    Good Example for RFC enabled function module is : BAPI(Business Application Programming Interface)
    Note: All BAPIs are Remote enabled but not all remote enabled function modules are BAPI.
    CALLING A FUNCTION MODULE:
    1)In U ABAP Editor --> Click "Patter" ---> Selection Option Button "Call Function"
    --> Write the Corresponding FM name --> Hit Enter
    2)The appropriate import ,export Parameters will be displayed in ur editor
    3)Pass the Values Here.
    Also check these links.
    Check this link:
    http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
    Check this link:
    http://help.sap.com/saphelp_erp2004/helpdata/en/9f/db988735c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ef/d94b78ebf811d295b100a0c94260a5/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
    See the following links:
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/9f/db970e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
    reward if useful
    regards,
    Anji

Maybe you are looking for